議論/w3m


Top / 議論 / w3m

w3m

経緯

twitterでひげぽんさんが「w3m移植しようとしたけどくじけた」みたいな事を言っているのを見て手伝おうかなぁ、と思ったのがきっかけです。
自分側にも久しぶりに.NET以外の環境に触る必要が出てきたという事情があり、その目的の為のリハビリがてらMonaを触ってみようか、という考えもありました。

さしあたってgit cloneしてそちらで作業をしています。

目的

現状のMonaのポテンシャルを引き出せるくらいに真面目にw3mを移植する。
ただし、ポテンシャルを超える所までは頑張らない(といいつつ一部Mona側もいじってしまいましたが…)。

あくまでMonaの評価用、という位置づけで、いつか時が来たら捨てるつもりで移植。
w3m自体への機能追加などはしないつもり。

概要

  1. ローカル、ネットワークのファイルの表示
  2. 日本語表示
  3. テキスト入力(input, textarea共)

が一通り動いています。

コマンドはSPC, b, TAB, ENTER, g, Gあたりは動いています。

このツリーの特徴

  1. contrib/w3mがある
  2. 私の環境で動かす為のquick hackがうっかり入ってしまっている(mkimg.plをmkimg.pyにしていたり)
  3. RamDiskの実装が入っていて、FileServer.cppではそのinitializeをしている
  4. libcの幾つかのバグを直している
    1. fread, fwrite, fflushのサイズ回りのバグ(テストにfailするケースも追加)
      1. http://github.com/mumurik/mona/commit/e6cd86e6ad28ef31d4182d6487ede0eac59893a0 取り込み済→Commit 89cc4065c295473dc6dadcf9964204b3e8ba461d to higepon's mona - GitHub
      2. http://github.com/mumurik/mona/commit/2288157fc70fdb9b991d2e7e2666e5f262bf418b 取り込み済→Commit 91934f5ffd0dc27f0c29406870d1f237d8c9bc22 to higepon's mona - GitHub
    2. bsearchで落ちるバグ(テストにクラッシュするケースを追加)
      1. http://github.com/mumurik/mona/commit/022f11ba0ac5af60f6be9f298c3c2b52b0e43f98 取り込み済→Commit e9cef61f50318adc60ccd7b56f437e5fc6228cef to higepon's mona - GitHub
  5. gnote.ex5に保存をつけた(手抜き実装)
    1. text areaの編集にgnote.ex5をキックしている為。
    2. http://github.com/mumurik/mona/commit/dad11568bb132697a439e7112dd4419d482d5c33
      1. 何故か全行変更になっちゃってますね。改行コードかしら?保存回りだけ手作業で持っていってください…
      2. 手作業する余裕がなかったのでそのまま取り込みました。取り込み済→Commit 6a2e9bb99627ef5c37bf9e136b14096ff016eb37 to higepon's mona - GitHub

アクション

  1. ひげぽんさんのツリーに取り込み

未解決な問題

  1. 未実装なコマンドたくさん(ESCとかoとか押すと残念な感じに)
  2. カーソルが表示されない

関連ページ

http://github.com/mumurik/mona

コメント

最新の1000件を表示しています。 コメントページを参照

お名前:
  • RamDisk以外はこのページにリンクを貼りました。RamDiskはfile_server/FileServer.cppとfile_server/RamDisk.hとmona/test/monapi/ram_disk、それとmona/Makefileをもっていってください。 -- mumurik? 2010-05-05 (水) 14:36:39
  • process が死んだときに kernel panic せず処理が戻るようにしました。上流にコミットされています。http://github.com/higepon/mona -- ひげぽん 2010-05-03 (月) 17:38:18
    • processが死なない版、mergeしてみました。いい感じです。gui使用時にカーネルの出力があるとコンソールが表に出てしまうのがあれですが、かっこわるいだけで実用上は問題無しです。 -- mumurik? 2010-05-05 (水) 16:19:08
      • ありがとうございます。GUI時はかっこわるいですね。Monaに信頼できる(どんなときでもなんとかうまく動く)エラー出力の仕組みができたら改善します。 -- ひげぽん 2010-05-05 (水) 18:48:51
  • w3m-merge ブランチを作りました。このブランチに徐々に merge していく予定です。ご協力をお願いします。m(__)m -- ひげぽん 2010-05-01 (土) 17:40:56
  • libc のバグ修正、RamDisk, gnote など意味のある単位毎に master へのマージを考えています。それぞれの機能に関して該当コミット(orコミット範囲)を教えていただけますか。 -- ひげぽん 2010-05-01 (土) 17:21:33
    • 本家へのマージは了解です。なるべく協力していきたいと思います。 -- mumurik? 2010-05-03 (月) 20:21:17
    • 該当チェンジも了解です。時間がある時にここに転載します。 -- mumurik? 2010-05-03 (月) 20:29:10
    • ご提示いただいた w3m 以外の commit を取り込みました。 -- ひげぽん 2010-05-05 (水) 18:44:19
  • master へのマージの前にディレクトリ構造を変更したいのでメモ。contrib/w3m -> contrib/Net/w3m 。 mona/bin/APPS/W3M/W3M.APP -> mona/bin/APPS/W3M.APP -- ひげぽん 2010-05-01 (土) 17:15:46
  • Hostヘッダが付加されない件は、ync_with_option(); が呼ばれていなくて、AcceptEncoding AcceptLang が NULL なのが原因っぽいです。sync_with_option(); はどこで呼び出すのが適切でしょうか。 -- ひげぽん 2010-05-01 (土) 17:13:08
    • 上記に関連して main.c では呼ばれているが mona_main.c では呼ばれていない初期化手続きがありそうなのですが大丈夫でしょうか。initCookie とか。 -- ひげぽん 2010-05-01 (土) 17:14:03
      • ご指摘のように初期化はいろいろ足りないですね。他の要因を叩いてからじゃないと切り分けが面倒になると思って持ってきてないのですが、そろそろ持ってきてもいいかもしれません。 -- mumurik? 2010-05-03 (月) 20:33:34
    • sync_with_optionを呼んだらgoogleなどが見れました。解析サンクスです。 -- mumurik? 2010-05-05 (水) 15:28:36
    • お。ググレカスと言えますね。 -- ひげぽん 2010-05-05 (水) 18:49:50

MENU

now: 3

リンク


最新の20件
2018-10-07 2018-09-20 2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-05-29 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 1582, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2010-05-05 (水) 18:49:50 (3091d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.050 sec.