w3m おぼえがき(2002年12月)

 
 2002年12月28日(土)11時28分 hsaka
H.O.D. 2002/12/27 w3m (2)。 w3m のどの面を開発するかについては、 楽しいからやっているだけなので責任持てません。 簡単な便利な方に流れますとも:) 行き過ぎたら止めてください。(w3m-0.3.2 以降は、意図的にその方向でやってるかも)

HTML パーサ部分の根本的な改良は数年来の課題ですが、 現在の体制の開発だと数年かかるでしょう。 それに見合うだけのメリット(楽しさ含む)があれば考えます。

 2002年12月28日(土)01時27分 hsaka
IE/NN などの独自拡張と重なるというのは心外というか、 『標準』の存在意義を誤解していませんか? RFC や W3C はネットワーク上の情報交換においてみんなが幸せになりましょう、 という目的で存在しているわけで、ローカルな(自分の世界で閉じた)動作を 制限するものではありません。
UA がやってはいけないのは、独自拡張をネットワーク上で標準的に ユーザに使わせることです(IE や NN の問題はここにある)。
w3m の urimethodmap や mailcap, local-CGI といったものは、 基本的にユーザのローカルの動作の補助のためにあるのです。 tel:110 を使った文書は HTML 文書じゃないかもしれませんし、 それを解析する w3m は WWW ブラウザじゃないかもしれませんが、 それらを(自分だけの世界で)使って何の問題があるのでしょうか。 (tel: を記述した標準の urimethodmap を同梱して、使用を奨励するなら 話が違いますが、そんなことはしない。)
この辺りは気にして作っているので、理解してもらえないとちょっと悲しい。
 2002年12月27日(金)19時59分 hsaka
news:<newsgroup> 対応 patch
 2002年12月27日(金)11時26分 yoikeda
はじめまして。yoikedaといいます。
いつも w3m は、便利に使わせてもらっています。
そこで、たまには貢献しようと思い、バグ報告をさせていただきます。

w3m-dev 03580で、

>> しかし、起動直後のタブのところがおかしくないですか?
>> w3m -B で起動すると、私のところでは、
>> ]B >> @ #
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> のようになり、C-l すると、
>> << >> @ # [ Bookmarks
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> と正しく表示されます。
>
>と指摘がありましたので、さらに修正。

とありましたが、open_tab_blank が 1 のときに、新しいタブが開く時にも同様の現象が発生します。
以下のパッチで直ると思いますがどうでしょうか?
--- main.c.orig	Thu Dec 26 08:38:10 2002
+++ main.c	Fri Dec 27 11:01:46 2002
@@ -2893,7 +2893,7 @@
 	    delBuffer(buf);
 	else
 	    deleteTab(CurrentTab);
-	displayBuffer(Currentbuf, B_NORMAL);
+	displayBuffer(Currentbuf, B_FORCE_REDRAW);
 	return;
     }
     loadLink(url, a->target, a->referer, NULL);
 2002年12月26日(木)01時35分 hsaka
FreeBSD で gc で落ちる件。gc の FreeBSD 対応が甘いのが原因か。 nm -n した時に、例えば
08048ffa A etext
0804a000 D __progname
の様に、etext の後の実際にアクセスできるアドレスが 0xXXXX000 の場合に問題が発生している。 (gc 内部で 0x8049000 〜 08049fff にアクセスすると落ちる) さて、どうしたものか。
(参考) 再現スクリプト
#/usr/bin/perl
open(F, ">tmp.c");
print F <<EOF;
#include <gc.h>
int main() {
char *a = "a";
a = (char *)GC_malloc(1);
EOF
print F "a = NULL;\n" x 391, "}\n";
close(F);
system <<EOF;
set -x
cc -g -I/usr/local/include tmp.c -L/usr/local/lib -lgc
nm -n ./a.out | egrep -1 etext
./a.out
EOF
 2002年12月26日(木)00時46分 hsaka
ブラウザかビューワか、というより同じ事をするなら簡単な方が、 ほとんどの場合において正解に近いと思っているからです。
コード整理もやりたいけど、全体に関わる修正は何度かやった経験上、 安定するまでが本当に大変なので、そうしないとバグが取れない 状況になるまではやりたくないです。
# バグだらけでも許してくれるのならいいのですけどねぇ:)

とはいえ、コードを読める方が増えるのは大歓迎なので弄ってみてください。

 2002年12月25日(水)20時42分 hsaka
application/xhtml+xml 対応って、mailcap で
application/xhtml+xml; cat %s; x-htmloutput
ではダメなのかな?いいと思った(w3m-dev 02939, 02940)ので、特別対応はしていないのだけど。
ハードコードの "text/html" は Content-Type そのものではなくて、 基本的に text/html と text/plain しか扱えないために、 どちらかにして処理しているだけです。(Content-Type そのものは real_type)
# マクロで TYPE_TEXT_HTML なんてすべきなんだろうな。きっと。
 2002年12月22日(日)18時31分 hsaka
w3m-0.3.2.2+cvs-1.640-m17n-20021222 を公開。
 2002年12月21日(土)14時15分 hsaka
plain text の時に fold する patch。 一応出来たので公開。 取り込みたいので、テストしてくださいな。
 2002年12月21日(土)14時03分 hsaka
title の前に img が来ると落ちるなんて。 古い実装のままだったので、これを機会にちゃんと 修正
 2002年12月19日(木)14時40分 hsaka
w3m-0.3.2.2+cvs-1.635-m17n-20021219 を公開。
 2002年12月17日(火)10時13分 hsaka
plain text の時に fold する機能を追加したいのだけど、 少なくとも折り曲げた行内でのカーソル移動や検索が出来ないと いけないので、ちょっと大変。 年末年始の宿題かな。
 2002年12月13日(金)14時49分 hsaka
マクロ .vs. 関数。
最近、肥大化しているので少しダイエットしたい。 例えば Strcat_char() をマクロから関数にすると 8KB 以上小さくなる のだけど、どっちがいいのだろ。
あと、
flushline(h_env, obuf, envs[h_env->envc].indent, 0, h_env->limit);
do_blankline(h_env, obuf, envs[h_env->envc].indent, 0, h_env->limit)
を flushline0(h_env); do_blankline0(h_env); にしてしまうとか。
 2002年12月12日(木)10時22分 hsaka
w3m だとこう見える。 とりあえず 2ch の w3m その2
 2002年12月11日(水)14時43分 hsaka
w3m-dev 03557。画像をロードする時に signal を使うのを止めてみる。 問題なければこっちがいいかな。

# 感想でもいいから反応が欲しい今日この頃。

 2002年12月11日(水)00時13分 hsaka
およよ。cvs-1.606 が FreeBSD でコアを吐く。 最初の gc 呼び出しで落ちているし、gc/gc.a を使ったり、 適当に数行追加したり削ったら動くってことは gc の動的リンクが怪しい? (そーいえば、EWS4800 でも gc の動的リンクは NG だった。)
う〜む。見なかったことにするか(^^;
 2002年12月06日(金)02時51分 hsaka
w3m-0.3.2.2 (security fix) リリース。 w3m-0.3.2.1 との 差分(重要部分のみ)。
 2002年12月05日(木)01時56分 hsaka
>>255 進化っていわれても…
1999/2/18 の時点で『今後の予定 ...ない.』なんだし(^^)

>>259 禿同。 申し訳ないとは思っているが…
1999/2/18 の時点から『ドキュメントは今後の課題だ.』なのだ。
でも、doc*/* 以下にある程度はあるよ。(整理されてないけど)

 2002年12月04日(水)00時03分 hsaka
w3m-dev 03515。2 ストロークキーバインド。

w3m-0.3.2 以降、何でもありだな。(w3m-0.3 = w3m-img が元凶という話もあるが) それまでは、STORY の最後にある 『今後の予定 ...ない.w3mは軽快さが売りなので,あまり機能を 満載してしまうとw3m独自の良さが失われるからだ.』 というのと、「伽藍とバザール」の『13. 「完成」(デザイン上の)とは、 付け加えるものが何もなくなったときではなく、 むしろなにも取り去るものがなくなったとき。』 というのを気にしていたのだけど・・・ 考えるのが面倒になった。 というわけなので、新しい機能が欲しい人は今の内に patch を書くか、 きちんと意見表明すること。

ちなみに、「伽藍とバザール」に関しては(aito さんも)最初から意識的に 適用していた。 aito さん = Linus だった頃はかなりいい感じだったのだけど、今はどうかなぁ。 ちょっと僕が出過ぎだよな。(と思って 0.3 以降、しばらく放っておいたのだけど…)。

 2002年12月03日(火)12時43分 hsaka
w3m-dev 03509。 やっと書き直した。テストしてね(お願い;_;)。

ホームページへ 新着情報 コンピュータ コラム ダウンロード
用語集(索引) 用語集 プロフィール リンク 掲示板

このページへのお問い合わせは hsaka@mth.biglobe.ne.jp まで御願いします。