w3m その5

このエントリーをはてなブックマークに追加
http://www.intaa.net/
にアクセスするとgzip圧縮されたコンテンツが展開されないで表示される。
↓そのときのレスポンスヘッダ
HTTP/1.1 200 OK
Date: Fri, 03 Sep 2004 22:20:27 GMT
Server: Apache
X-Powered-By: PHP/4.3.8
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Fri, 03 Sep 2004 22:20:27 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Connection: close
Content-Type: text/html

Accept-Encodingからgzip削れば解決するが…何が原因やねんヽ(`Д´)ノ
ちなみにcurl --compressedでも同様の結果だし。
そのデータzcatにかけるとちゃんと展開するし。
納得いかねーヽ(`Д´)ノ
ほんとだ・・・・(0.5.1)
>>280
どうも、2回gzipにかけられたデータが送られてくるようですね。
ブラウザが悪いわけではないかと思いますが、、、
283280:04/09/04 14:49
>>282
今、
% curl -H 'Accept-Encoding: gzip' http://www.intaa.net/
で試しますた。
確かにgzip二重がけ…気づかなかったorz
>>274
今きづいたけど何か ime.nu 消えてる
285284:04/09/04 16:55
link からね
286284:04/09/04 16:57
あ、勘違いっぽい
287284:04/09/04 17:18
>>264 とか
>>280,283 とか
http://pc5.2ch.net/test/read.cgi/unix/1080002786/2 の最初の link とかから
ime.nu が抜けてたから勘違いしたよ。
なんで上のから抜けてるのかはしらないけど。
つーか http://www.google.co.jp/#.2ch.net/ とかなら抜けるってしらんかった。
w3mcache13921-0 とかを入れるディレクトリって指定したくない?
いや別に
それよりダウンロードしたものを保存するディレクトリを指定してほしい。
それはいい
賛同してるのか却下してるのか分からぬ
日本語って難しいねえぇ
M-c でコマンド名補完したい
あと、COMMAND で括ったコンビネーションに命名して、
それも使いたい。
>>288
以前は、異常終了したときに残るのか、
気づくと ~/.w3m の下が w3mcache* でいっぱいになってたので指定したかったが、
最近はそうでもないな。
>>294
激しく同意。ratpoisonではaliasができていい感じなのに。
>>288
ちょっとソースいじれば楽勝な気がする。
>>288
したいので3分間ハッキングで指定できるようにした。
設定ファイルを置くところに汚物(笑)を蒔き散らすのは気分悪い。
バックアップの観点からもrc_dirはクリーンでありたいものだ。
ファイル保存の置き場所のことかと思ったら、一時ファイルの置き場所のことだったのか
'a' とかで保存する時、ファイル一個一個パスを指定するのって面倒だよな。
ああ。だからダウンロード先ディレクトリを指定できるように改造してる。
>>301
configで指定 or functionを新設?
0.4.x 系から 0.5.x にしたら、w3mimgdisplay が太りやすくなったような気がする
そっかぁ? 画像いっぱい貼り付けてるサイトで実験してみたけどうちの環境ではそんなに太らないよ。
バージョン0.5.1。
>>303-304 具体的に数値比較できるような話のもっていきかたをしないと。
ちょっと聞きたいのだけど、皆さんターミナルは何x何で使ってます?
>>306
1600x1200
一日の作業が2,3行で済みそうだな
>>307
桁×行だったらすごいな
3101024x768:04/09/10 12:06
>>306
高解像度いいなー・・・・。ディスプレイの限界でそんな大きさは無理。
Half-VGAで、80x24
MS、Tabキーでリンクを見つける手法の特許取得
http://www.itmedia.co.jp/news/articles/0409/11/news013.html

Lynxとかw3mとかの立場は…
クリックの仕方とかM$はなんでも特許とりたがるんだな。
デフォルトのキーバインド変わったりして
>>312
Lynx とか w3m どころか既存のウェブブラウザほとんどアウトじゃん。ありえねー。
誰も抗告しなかったのか?
またブラウザ独占戦略が始まったか。
もっとも我らがw3mのような少数派民族など相手にしないでしょうね。
非営利目的の場合は特許侵害になりませんので悪しからず。
>>318
どこでそんな電波を受信したんだ?
NetBSD 2.0_BETAで ./configure --enable-japanese=E --with-migemo="/usr/local/bin/migemo -t
egrep /usr/local/share/migemo/migemo-dict" --with-imagelib=imlib2 として makeしたら w3mが
起動したとたんに segmentation faultで落ちてしまいます。w3mは CVS先端です。
なにが原因でしょうか。

(gdb) run
Starting program: /usr/local/bin/w3m

Program received signal SIGSEGV, Segmentation fault.
0x480f47c9 in GC_find_limit (p=0x815e73c "倖真", up=0) at os_dep.c:812
812 GC_noop1((word)(*result));
(gdb) bt
#0 0x480f47c9 in GC_find_limit (p=0x815e73c "倖真", up=0) at os_dep.c:812
#1 0x480f45e0 in GC_init_netbsd_elf () at os_dep.c:398
#2 0x480f37d6 in GC_init_inner () at misc.c:663
#3 0x480f3552 in GC_init () at misc.c:492
#4 0x0804b8ae in main (argc=1, argv=0xbfbff6c0, envp=0xbfbff6c8) at main.c:386
#5 0x0804b032 in ___start ()
321名無しさん@お腹いっぱい。:04/09/12 22:54:23
繝?繧ケ繝

322321:04/09/12 22:57:37
w3mから書き込むと>>321のようになるのですがなぜでしょうか?
$LANGはja_JP.eucJPでvimもset encoding=euc-jp
にしてあります
よろしくお願いします
>>322
書いた文字列は?
>>322
とりあえず、configから文字コード関連のものを抜き出してくれ
325321:04/09/12 23:16:59
>>323
ありがとうございます
テスト
と書きました
あたりまえですが アルファベットだと化けたりはしません
上で書き忘れていましたが
w3mで本文入力欄に入りリターンしvimを起動して vim内での書き込みは化けないで見れるのですが
入力が終わりvimで:wqをしてw3mにもどると その時点で化けています

すいませんが よろしくお願いします
326321:04/09/12 23:20:32
.vimrc
set encoding=euc-jp
set termencoding=euc-jp
set fileencoding=euc-jp
set fileencodings=iso-20220jp,utf-8,cp932,euc-jp

.w3m
system_charset EUC-JP
document_charset EUC-JP
display_charset EUC-JP

327941:04/09/12 23:26:14
>>324
これでよろしいでしょうか?
NetBSD上からコピーして書いたため 別々に書いてしまうことになってしまいすいません
328320:04/09/13 00:24:08
すみません。gcの問題ですた。解決しました。
libexec/w3m/cgi-bin/ 下に置いてオモロイ cgi or php を紹介して下さいな
>>321
w3mで charsetを utf-8にしたら、
'テス 'と表示された。
331321:04/09/13 00:42:50
>>330
ありがとうございます
本当ですね 今IEから見て見たのですがそうなりました
ということは vimからw3mへの受け渡しがうまくいっていないということでしょうか?
一応 私なりには上記の設定が適当だと思っていたのですが
付け加えや修正などありますでしょうか? 
すいませんが よろしくお願いします
>>329
cvsweb.cgi
>>331
:se fileencoding? とすると?
334321:04/09/13 17:39:23
>>333
ありがとうございます
:se fileencoding?
fileencoding=cp932

あれ?
euc-jpになってないです
w3mでエディタをvimで指定しているのですが そのvimの設定は.vimrcではいけないんですか?
でも iabとか使えるので読み込まれてるとは思うんですけど
これは w3mでエディタを呼び出したときに
set fileencoding=euc-jp
を してから書き込みました うまくいくかな?
335321:04/09/13 17:46:34
お うまく書き込めたみたいですね
でも もう一度w3mを立ち上げ直して見たら
今度は
fileencoding=utf-8
に なってました
これは どのようにしたら 固定できるものなのでしょうか?
vimを普通に単体で起動したらもちろん
fileencoding=euc-jp
になっています
vimの質問になってしまうかも知れませんが 教えて頂けると幸いです
すいませんが 宜しくお願いします

なんでうつらないのかな
337321:04/09/13 19:22:21
自己解決しました。
338321:04/09/13 21:00:43
>>337は 私ではありません
.vimrcを書き換えたりしているのですが なかなかうまくいきません
.vimrcを読んだ後にほかのファイルを読んだりしていないかなど思ったりするんですが
なかなか 対策が思いつきません
何かわかることなどあればすいませんがよろしくお願いします
>>338
よくわかりませんが w3m で見てるときに = を押してみなさいな
340321:04/09/13 22:01:19
>>339
これは 今のページの詳細を見るってことですよね?
2chはshift-jis cp932になっています
もちろん ここをEUCにして表示しなおしたら化けました

私はあまりよく分からないのですが
2chにはshift-jisで書き込めってことですかね?
でもEUCでも書き込めてるし・・・。

vimで編集してるファイルは、
~/.w3m/w3mtmp* なファイル名になると思うのだが、
このエンコーディングは本当に euc-jpになってんの?
あと、ちゃんと適切な場所を判断する能力も必要ですよ。
>>321
>>326
set fileencodings=iso-20220jp,utf-8,cp932,euc-jp
としてるから iso-2022-jp になるのなら解るんだけど、と思ったら
よく見ると iso-20220jp とかなってるじゃないですか。
ということで以下が理由かも。
vim は特に設定しないと fileencodings の先頭から順に
iconv が成功するか試していって、成功したらそれを fileencoding に
するらしい。空の状態だとどれでも成功するので、 euc-jp の前に成功したのでは。
でもそれなら utf-8 になるはずか。なんか勘違いかも。まあ参考までに。
混乱したらごめん。
> あと、ちゃんと適切な場所を判断する能力も必要ですよ。
むしろ、>>342みたいにたらたら答えるvim厨が問題。
>>343
いつも簡潔を志してるの?ここで?
簡潔に書けない奴は往々にして頭ん中が煮え繰り返ってるからな
つまり正確に事象を把握していない
いいからnavi2ch使っとけって
vim派ならchaliceとやらでいいんじゃないの?
>>345
いらん指摘だな
いつも簡潔に書いてるんでしょ。で、他人の散文的なのが我慢ならないと。
何か情報があっても状況を完璧に把握しないなら出してくんなってこった。
おいおい、そんなこと言うな。情報があれば手がかりがつかめるかもしれんだろ。
かという俺はemacs厨だから力になれんが。
kcc -c ~/.w3m/w3mtmp*
このごろ活発さがなくなったけど、w3mは円熟期に到達したのか。
倦怠期
でも、テキストブラウザとして必要な機能はほぼ全てそろってるような。
遣唐使です
Can't touch this
javascript まだー?
JavaScriptはw3m的にどう実装すべきなのだ?
まあjavascriptURL.cgiでガマンしとけってこった
>>358
DOM 構造じゃないから実装は無理。
やるならイチから書きなおし。
google使うのに、alias google="w3m http://www.google.co.jp"してるんだが、検索ワード入れるのめんどい。google ほげほげだけで開ける様にしたいんだが、何から手を付ければよかろう?正直、俺にスキルは無い。時間はあるけど。
362361:04/09/16 18:51:35
改行コードがおかしいか。
これでどうだ。
>>361
google.cgi
>>361
↓こんなシェルスクリプトでどう?
exec w3m 'http://www.google.co.jp/search?q='$1'&ie=EUC-JP&oe=EUC-JP&hl=ja&lr=lang_ja'
おーちゃんと動くね
>>364
おお良かった。でも複数語指定できないのでこうした方がいいか。
exec w3m 'http://www.google.co.jp/search?q='"$*"'&ie=EUC-JP&oe=EUC-JP&hl=ja&lr=la\ng_ja'

真面目にやるとすると URL エスケープとか文字コードとかを
ごにょごにょしなきゃいけないんだろうけど、
こんなんでもとりあえず動いちゃいますね。
google検索スクリプト作成はいい課題だよ。
Local CGI使わないの?
当然のように使っているけど何か?
実は Local CGI 使ったことない(´Д`)ノ
使えよ、無理すんな。
前に p2 が動くとか何とかありましたけど
ふつーに PHP も cgi-bin に置くんですか?
cgiである以上言語は関係ない
念のために言っておくとPHPとperlなんかを使ったCGIは仕組みが微妙に違うから
PHPをcgiとして動かす必要があるよ。
375361:04/09/17 16:45:56
>>366
ありがとうございました。
うちはShift-jis(cygwin)だったんで、そこだけ
変えて無事動いてます。
で、作った.shにln -sして、まさに
google ほげ
出来るようになりました。
やはり 0.5.x にしてから w3mimgdisplay の膨らみ方が速すぎだ。しょっちゅう kill している。
本体のメモリ消費が気になることはあっても、w3mimgdisplay を気にしたことはなかったんだが。
でも w3mimgdisplay 自体に手はほとんど入ってないんだよな。ライブラリ周りの不具合だろうか。
そもそもBoehm-GCってちゃんとメモリ回収してんの?
リロード中に C-c するとたまに固まるってのは知られてるけど、
検索中に migemo の反応待ちで(?) C-c しても、運が悪いと固まるね。
>>366
ごにょごにょしてるおいらの。

% cat urlencode
#!/usr/bin/env perl
for ($i=0; $i <= $#ARGV; $i++) {
$str = $ARGV[$i];
$str =~ s/(\W)/'%'.unpack("H2", $1)/ego;
push (@result, $str);
}
print join("+", @result)."\n";

% cat google
#!/bin/sh
google_opt=""
if [ "x$1" != x ] ; then
google_opt="search?hl=ja&ie=euc-jp&oe=euc-jp&lr=lang_ja&q=`urlencode $*`"
fi
w3m "http://www.google.co.jp/${google_opt}"
なんか、shell 上で日本語使うのに心理的抵抗があるのかよくわからんが、
とりあえず w3m を立ち上げてから g:hoge とかしてしまう。
>>380
それは emacs-w3m だろ
urimethodmap
ウリメソマンセー
-S オプションってブラウザのときは意味ないの?
HTMLの場合は意味がない。ソースを見ればわかること。
ソースを見ればわかること。
ソースを見ればわかること。
ソースを見ればわかること。
ソースを見ればわかること。
ソースを見ればわかること。
CVS版を使っているのですが度々 core吐いて落ちます。
今回は file.cの6587行目のようです。開発者の方、よろしくお願いします。
388名無しさん@Vim%Chalice:04/09/23 20:03:33
>>387
せめて、自分の環境と、何やったら落ちたかぐらい
書いたらいかがかと。
おとなしく0.5.1使ってなさいってこった
自分で問題解決できないならCVS版なんか使うな
>>388
そうでしたね。NetBSD 2.0_BETAです。
何して落ちたかよく覚えてませんが、URLを開いたり前のページに戻ったり
バッファを切りかえた時に落ちたと思います。
前FreeBSD使ってた時は大丈夫だったので(それは5/11までのやつですけど)
環境依存の問題かもしれません。
あと w3mimgdisplayが core吐くパターンもあります。
こちらはデバッグオプションついてないのでどこで落ちたのか分かりませんけど。
また落ちました。googleで検索したらなにもない画面になって
その後戻ったら segmentation faultが起きました。file.cの6587行目です。
configureオプションは
./configure --enable-japanese=E
--with-migemo=/usr/local/bin/migemo -t egrep /usr/local/share/migemo/migemo-dict
--with-imagelib=imlib2 --with-gc=/usr/pkg/
です。
MLに報告しなよ。
394Solaris 9:04/09/24 12:27:47
CPPFLAGS=-I/usr/local/include LDFLAGS="-L/usr/local/lib -R/usr/local/lib" \
./configure --with-ssl=/usr/local --with-termlib=curses
で作った Makefile なんですが、w3m に -lX11 をリンクしてくれないようです。
395名無しさん@お腹いっぱい。:04/09/24 14:26:31
>>394
何が問題なのかさっぱり判らないんではっきり書いてくださいな
>>395
s/w3m/w3mimgdisplay/ でした。link に失敗します。
----BEGIN BASE64----(a.gz)
H4sIAAayU0ECA8VWS2/iMBA+l18x4lDaSiQbdk9IPbApbZFQ6faxW6mtqHGGrBfH
jhynwGV/+45JUkG3pZyaSI4yr88fM2MzBzwCKSZzDvv7ECdshhCGx62Y8xaMLm+u
j1utw8ZKfx88dqGvLBqhYoiEQW61WcKTP9dm5s+/Jv4KqLXmfqHtb+dtNUwQIq0Q
ptrAE5Oy5a35DZE9f4R6QExJFEm8QbVJVJsF1WZzd6oFUqtBoIsgeB+xBOzsCOgT
WGstZpcEdD5KwP/QwW4h5M45QHvgFSuG9qjjPoucOoufZ8aXmjPpC8VlHqGvU1RZ
Jt80vqM8Oe/97I/D0cXp4Gx8TnLv9u774GJ8Mrg6fmiuRWDCeOZ2xwVyx/KhSd7h
2WA3b5/Hoj0RahV13h9evheT/WYGX/D7N+F7jmh5QYG4b/F5gbqqkP76XqUbjsLe
sL+VyUqDzluXTRyJLJVsuSl5lbUsoMegPVyDpFRA++q1YkillUJFmMKmyS2hrPQy
/ZaFa/XsTG3J30CVCfWHzDSfoaUP5TpCRu4Vc/eKZuNULCb5dLwg/3bH++K0dtam
Pq2kaF1iZAsqfRlbmhJaKVOxXpQeK6Hy1pM/1OEVZqKjXGIpFXyq/QEat5SGqVAY
7e3tTYXJLBicokHFMWpAtkwmWgKQkZxBKJgKiY27M7S/KIF63rPWiEluMYNXz6u6
HNDvGpeCPgQ4KKEnKLWKM3fgRZJKwYUFKgwSLcWXRRXcAZsLVdXhLgioCt63w8bd
9VJx2P58Co8RWU7KBq2TB9VloNLcnmqeZzXyuEaiYDA2OldRjTxCnS57Blnd/RES
B4uXYpGwtE4ep0LKK7ob6LaQWHs+zsK669KTdIFfsASjUEuaM2qri8Ht3fFZdZHI
zPYD82n3WMJirLs/fuRoljdUnJp5uP7Yelo+h4eMujBllskuXBdw1bDgBms0RpvM
oxkedG7pXwjmRliLym22MbY1uJaSrqFOF2REGDY3NIFAALggOpllNs+Kyb0LR0dH
cL8R/Qh9txMEjX+qskPzjQ0AAA==
----END BASE64----
こんな情報性皆無なログを見せてどうしてもらいたいんだよ。
>>397
configure を直してほしいの。はーと
CPPFLAGSとLDFLAGSにXのヘッダ・ライブラリのパスを書き足せばいいんじゃネーノ
>>399
いや、Solaris は /usr/include/X11 や /usr/lib/libX11.so といったシンボ
リックリンクが存在するのでパスの問題ではない。-lX11 がなんて付加されな
いのかな〜と。環境変数に LIBS=-lX11 加えればいいんだけど、w3m に不要な
ライブラリがリンクされるのが気持ち悪い。
>>251,253
パッチがでてるぜ
マジか
フラッシュが埋め込まれてるページでの TABの飛び方、分かりにくね。
あゝ、タブ切り替えにもcountが使えるのか。3)とか便利ー。
何で今の今まで気が付かなかったんだろ。。。
3) ?
2)
1)
マジレスだけどただの数引数だろ。
>>405
オプションで「vi風の数値プレフィクス」を有効にしないといけないとかそういう話?
'3)'が打鍵だと気付かなかったのは俺だけではあるまい。
411387:04/10/05 23:10:11
毎日何回も落ちます。落ちるのはほとんど Googleのページです。
しばらく使っていてある時 Googleの検索ページ、検索結果ページ、キャッシュなどを開くと
何もないバッファが表示されます。こうなると次に Google関連のページを開いた時に落ちる
のは確定です。Google関連以外のページでもこの現象が起こることがあります。どれもそこそこ大きいページです。
w3m-0.5.1とCVS版で確認しています。

#0 0x08065e7b in loadHTMLstream (f=0xbfbff320, newBuf=0x8558dd0, src=0x89730bc, internal=0) at file.c:6587
#1 0x08065146 in loadHTMLBuffer (f=0xbfbff320, newBuf=0x8558dd0) at file.c:6194
#2 0x08057036 in loadSomething (f=0xbfbff320, path=0x85b6060 "test.html", loadproc=0x80650d8 <loadHTMLBuffer>, defaultbuf=0x8558dd0)
at file.c:223
#3 0x0805a8a4 in loadGeneralFile (path=0x8387b40 "http://hoge.org/test.html", current=0x0,
referer=0xffffffff <Address 0xffffffff out of bounds>, flag=0, request=0x0) at file.c:2076
#4 0x08050239 in loadLink (url=0x8387b40 "http://hoge.org/test.html", target=0x0,
referer=0xffffffff <Address 0xffffffff out of bounds>, request=0x0) at main.c:2758
#5 0x08050712 in followA () at main.c:2968
#6 0x0804d644 in keyPressEventProc (c=10) at main.c:1137
#7 0x0804c17d in main (argc=2, argv=0xbfbff51c, envp=0xbfbff528) at main.c:1123
#8 0x0804b022 in ___start ()
ML
4130.5.1ユーザ:04/10/06 01:05:00
毎日バリバリgoogle使っているけど、私のところでは全然落ちませんよ。
configの設定との兼ね合いも関係あると思われ。
うちはproxyを使っています。
うちはproxy使ってないけど落ちないよ
環境とかconfigとか書かないとどうにもならんのじゃない?
何もないバッファってことは base_stream が NULL とか。
((f->stream)->base.type) の (f->stream) がね。
416387:04/10/06 13:27:37
環境は >>391 >>392辺りに書いてます。
configのどこら辺が怪しいですかね。

>>415
でしょうね。ちょうどその位置ですからね。
417387:04/10/06 14:11:46
あと、Google で何もないバッファが表示された後、全てのページが Can't reloadになるパターンもあります。
ブックマークなどのローカルファイルも Can't loadで開けないです。
昔ならともかく、今はMLに投げないと進展しないと思うんだがなあ。
来週からの構想

libexec/w3m/cgi-bin に feed aggregator 機能を入れる

実装は未定

# ただのいち w3m ユーザです
ソレナニ?
4210.5.1ユーザ:04/10/06 23:50:04
0.5.1はかつてないほど安定してると思うが、環境によってはbuggyなんだな。
もしかして、熱暴走だったというオチはないよね?
ためしに1度電源を落として、コンピュータに扇風機をガンガンかけた状態で試してみることだな。
ちなみに俺はLinux使いだ。カーネル2.6.8.1。
熱暴走で w3m が core を吐くと
>>420
いわゆるRSSリーダをそういうふうにも呼ぶらすぃ
>>416
「でしょうね」とかいってないで、せめて
(gdb) fr 0
(gdb) print *f
してみるとかさ。
425387:04/10/08 23:39:30
print *f は
$1 = {scheme = 0 '\0', is_cgi = 0 '\0', encoding = 0 '\0', stream = 0x0, ext = 0x80a62c0 "",
compression = 0, guess_type = 0x0, ssl_certificate = 0x0, url = 0x84dcbb0 "http://hoge.com/test.html", modtime = -1}

みたいな感じです。streamは0ですね。
426424:04/10/09 00:11:33
>>425
urlは本当に?????から始まってる?
なんでf.schemeが0なんだろう。
427387:04/10/09 00:22:26
>>426
> urlは本当に?????から始まってる?
読めませんが urlは http://から始まってます。その後は変えてますが。
428387:04/10/09 10:30:50
> なんでf.schemeが0なんだろう。
開放したメモリにアクセスしてるって可能性はありますかね?
関係あるか分かりませんが pkgsrcから入れた boehm-gc-6.3nb1を使ってます。
0 は SCM_HTTP だからいいんでないの
430名無しさん@お腹いっぱい。:04/10/17 07:46:37
UTFは表示できないの?
utf8.cgi とかを使うとできる
432430:04/10/17 08:20:56
CGIの使い方分かんないや‥
マニュアルはUTFなことが多いんだよな‥
見れないや‥
Option Setting PanelのDisplay charset等で"Unicode (UTF-7)"や
"Unicode (UTF-8)"って選択肢は見当たらないかい?
434430:04/10/17 08:42:03
ないですよ?
0.5.1なんですけど
今のはみれるんですか!!?
0.5.1でもわざわざconfigureのときに機能を無効にしてなければ大丈夫なはず。
えぇーーー
--enable-unicode
にしたよぉーー
ほかは?
438430:04/10/17 12:46:11
使わないのも保険にいれといたけど 多分こんな感じだったと思います
--enable-m17n
--enable-unicode
--enable-keymap=lynx
--enable-image=x11
--with-termlib=curses
--with-charset=US-ASCII
--disable-messagel10n
--disable-help_cgi
--enable-color--enable-cookie
--enable-mouse
--with-browser=
--with-editor=vi
--with-gc=${BUILDLINK_PREFIX.boehm-gc}
--with-mailer=Mail
--with-ssl=${SSLBASE}
ちょっと
strings /path/to/w3m |grep -i unicode
してみて。あんまり意味ないけど
strings: /path/to/w3m: No such file or directory
441430:04/10/17 13:48:44
なにもでません‥
/path/to/w3m は w3m の path ね
/usr/local/bin/w3m とか
>>432
端末がUTF非対応だというオチは勘弁してくれよ・・・
strings `which w3m`
と書かないと出来ないのか。
郵便貯金の申込書に「郵便太郎」って記入して窓口に出す人みたいだな。
$ w3m -version

の出力に"m17n"が含まれてるかどうかも確認してみよう
釣り臭い
447430:04/10/18 00:56:17
いや やり方は分かってますよ‥
>>440は私じゃないですよ‥
えと‥ 端末も行けるはずです

m17nはオプションでもいれてるのでもちろんはいってます
>>444
釣りだということがわからないのか
configure 後の config.h をみたらどうでしょ。
#undef USE_UNICODE とかあります?
450430:04/10/18 03:24:44
>>449
えと‥ なんて言うか‥
makeしたら
* W3M_USE_UNICODE = NO
が 流れました・‥
私の 意志と違うところで反転されたてたみたいです
すいませんでした
pkgsrc すか?環境をきいた方がはやかったという例?
pkgsrc何ですけど違います
何と言うか依存だけとって来て こっちでmakeしてます
んで 私がenableにutfを書き込んだ上にまた上書きされてました
要するに configureして自動でdisableにされるから
私がそれに上書きしてenableにしたんだけど 書き換えられたことに気づかれたので
また上書きされたって感じです‥

分かりづらいか‥
わたしが 自分でパッケージシステムを作った悪い例でした‥
ごめんなさい
453名無しさん@お腹いっぱい。:04/10/23 11:00:35
2ch を読むための local cgi を作ってみたので
ちょっと見てもらえませんか?

http://2ch-up.x0.com/cgi/up/img/img2615.zip

gz がアップロード出来なかったので zip にリネームしました
mv img2615.zip img2615.tar.gz として展開してください
今も 2ch.cgi を板によっては使ってるけど、
スレリストの作成が必要だったからちょっと期待。
後で試してみるよ。
455453:04/10/23 12:44:42
ttp://2ch-up.x0.com/cgi/up/img/img2619.zip

まずいところがあったので修正しました。あと少し改良も。
456453:04/10/23 14:26:51
たびたび申し訳ありません。逝ってきます

ttp://2ch-up.x0.com/cgi/up/img/img2630.zip
w3m-2ch-0.0.3 をちょっと触ってみた
- Bookmark でスレタイが表示されない
- Bookmark で DelDat して bookmark が消えないのは気持悪い

あとは知らん
458名無しさん@Vim%Chalice:04/10/24 00:00:28
>>453
なかなかオモシロイかも。ガンガレ
459453:04/10/24 09:57:46
>>457-458
ありがとうございます
これから書き込みが出来るようにしていきたいと思います
>>453
いいですね。
file:///cgi-bin/w3m-2ch.cgi?PrintURL=http://pc5.2ch.net/test/read.cgi/unix/1087225153/
などとも起動できるとなお嬉しい。
461453:04/10/24 12:19:33
>>457
>- Bookmark でスレタイが表示されない
これは subject.txt にエントリがないスレを登録しようとすると
スレタイが表示されなくなっていたので、そのようなスレは
dat ファイルからスレタイを得るようにしました

>- Bookmark で DelDat して bookmark が消えないのは気持悪い
dat ファイルと登録してあるスレを両方削除するようにしました


>>460
対応しました
file:///cgi-bin/w3m-2ch.cgi?GotoURL=http://pc5.2ch.net/test/read.cgi/unix/1087225153/
として下さい


ttp://2ch-up.x0.com/cgi/up/img/img2811.zip
zip を tar.gz にして展開して下さい
>>453
wgetでrefererを送ったりPOSTができたりします。(wget -h参照)
perlやrubyやpythonじゃなくてshで書いてるのがすごいです。
改めてshell scriptがいかに強力かを思い知らされました。

さらに、過去ログも読めてしまえばもう最高です。
~/.wgetrc をどかすんじゃなくて、環境変数 WGETRC を指定する方が良さげ。
>>462
あれ? wget で POST できる?
>>464
$ wget -h | grep post
--post-data=STRING use the POST method; send STRING as the data.
--post-file=FILE use the POST method; send contents of FILE.
$ wget --version
GNU Wget 1.9.1

Copyright (C) 2003 Free Software Foundation, Inc.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

Originally written by Hrvoje Niksic <[email protected]>.
>>465
最近のはできるようになってるんですかね。

% wget --help | grep -i post
% wget --version | head -1
GNU Wget 1.8.2
wgetのかわりにcurlを使うテもある
>>465
ほう、新しいのはできるのか。
でも navi2ch を超えないと使う気はしないけどなー

/bin/sh でできてるってのがなかなかいいな。
スレで追加された部分(と参照している部分)のみを書き出すモードが欲しいかも
472453:04/10/25 18:45:12
現在はブックマークを登録する時に、
セクションごとに登録できるように改良中です。
(w3m のブックマーク登録方法と同じようにしています)

来週までには >>462>>471 ができるようにしたいと思います。
474453:04/10/26 12:00:50
PrintThread.sed に重大な欠陥があったので修正しました。
それと、ブックマークの登録方法を変更してみたのですが
どうでしょうか。(bookmark.txt を書き換えなくては
ならなくなってしまいました。ごめんなさい)

ttp://2ch-up.x0.com/cgi/up/img/img3105.zip
がんばってくださいね。
w3m-2ch.cgi FreeBSD 5.3 だと sed で固まる。
477463:04/10/26 13:22:55
>>474
w3m-2ch 専用の .wgetrc (例えば ~/.wgetrc.w3m-2ch みたいなの) を用意して、
WGETRC にそれの path を設定すればいいのでは?という話でした。
Pentium4マシンでw3m使ってて思うけど、レンダリング遅いよね。
過去ログ逝きになってるとき、makimo.toに投げるといい。

例:screenってどうよ
http://makimo.to/2ch/cocoa_unix/1001/1001966406.html
>>479
ここもあるよ。
http://mimizun.com:81/
>>453
ある程度完成したらMLに投げてくれない?
ソースにはBonus/2ch.cgiというperlのスクリプトが入っているけど
それより便利になるんならCVSに取り込まれたほうがみんな幸せかも。
それより Local CGI アーカイブみたいのが欲しい。
sf.jp あたりで誰かやらないかなあ。
feed つくってますよ…
>>482
うむ、切に願ってる。
w3mで標準入力からhtmlソースを与えて、テキストにフォーマットして
標準出力に出すってことできますか?
>>485
標準入力からっては無理かもしれないけど、
w3m -dump foo.html > bar.txt
cat foo.html | w3m -T text/html
>>487
-dump もつけてくれ。

テーブルがwrapされまくったりするから、
適当に -cols width も併用すべし。
490453:04/10/27 15:58:13
>>463
やっと理解できました。

>>471
その処理は結構難しい上に、処理に時間がかかってしまうと思われます。
追加された部分を書き出すのではなく、追加された部分にジャンプする
のなら簡単にできます。下のURLのを試してみて下さい。

ttp://2ch-up.x0.com/cgi/up/img/img3226.zip
mv img3226.zip img3226.tar.gz してください
491453:04/10/27 16:11:20
>>476
どの関数の sed で固まりますか?
492453:04/10/27 17:37:01
言い忘れていました。
>>490 のジャンプするのは更新チェック画面での話です。


へんなレス(vim で dat を開くと、 ^@ がたくさん並んで表示される)
があった場合はうまく表示されなかったり
更新できなかったりするようですが、
どうすればよいのか分かりません
Navi2ch で見てもおかしな表示になります(更新はできるようです)
問題の dat をUPしておきました。どなたかアドバイス下さい。

483 行目のレスがおかしい
ttp://2ch-up.x0.com/cgi/up/img/img3232.zip
382 行目のレスがおかしい
ttp://2ch-up.x0.com/cgi/up/img/img3233.zip
(ファイルは zip となっていますがテキストファイルです)
>>486-489
ありがとうございます
ファイル名を指定せずに起動するとエラーになるのでてっきり
できないのかと思ってました。ttyかどうか判別してるんですかね。
>>493
だね。 man w3m に書いてるけど。
>>329
info2www
>>483
公開しる!つーか欲すぃ。
w3mを長年使ってきて、書いたLocal CGIは百以上にのぼる。
が、ファイルの依存関係がいろいろあって公開しづらいのだ。
そんなにあるのに……
>>497
CVS につっこんでみんなでよってたかって修正しようぜ!
500453:04/10/29 12:56:13
ブックマーク表示画面で、同じスレが異なる板名で
複数表示されるバグを修正。
更新チェック画面で、チェックしているセクションに
所属していないスレが表示されるバグを修正。

ttp://2ch-up.x0.com/cgi/up/img/img3418.zip

>>500
おまえUzeeeeeeeeeeeeeeeeeeeeeeeeeee
>>497 めざせライブラリ化
>>500 gj
自演乙w
>>501
今糞?
>>500
自分のオナニーサイトで公開してくれよ…
506476:04/10/29 14:21:30
>>453

PrintBoardList() の

's|<A HREF=http://..*/\(..*\)/>\(..*\)</A>|<A HREF="file://'${CGI}'?PrintThreadList=\1">\2</A>|'

ここで止まってたっぽいけど、ports から japanese/sed 入れてそっちを使うように
したら無事に解決いたしました。ありがとう。すごく良いです。
>>501>>505のような荒らしにめげずに開発がんばってください。
更新をたのしみにしています。
つか、他にする事ないしな……
今更ながらだが、w3mはpagerとしてもすごい使いやすいよね。wwwを見るのと
同じ操作方法でlocal fileも見られるし。設定次第では.rdも.infoも.texiも
読める。ほんと、万能ナイフのようなツールだ。
PAGERはqで終了したい。webブラウズはqで確認して欲しい。
ページャのつもりで起動して、そのままブラウジングに移行する時も多い。
使い方は人次第だが。
alias more='w3m -o confirm_qq=0'
w3mを使ってるとページャーもブラウザも同じような感覚になってきた。
ファイラ機能をFDくらいまで充実させると
恐ろしく汎用性の高いツールに生まれ変わる鴨
任天堂の人がUNIXに移植したfdってあるけど、シェルのほうが使いやすいから使わなくなった。
春Mを移植&改善してほしい。ソース公開されてないけど。。。
>>514
FDとはなつかしいw
でもUnixではシェルの方が使いやすいからファイラとか使わなくなった。
ユーザからの入力を受け付けるコマンドとmajor-mode定義があれば可能鴨。
urimethodmapって恐しく便利だなー
w3m man:cp
とか
w3m g:query
とか
w3m cvs:myprog
とか開けるんだもん。
man: file:/$LIB/w3mman2html.cgi?%s
って書いて、man:cpを開くと
No manual entry for man:cp
となってしまう。man:を取ってくれる%sの代わりのものはないのかな。
俺も同じこと考えてたw
しょうがないのでurimethodmapを管理するwrapper cgiを書いて対処。
しかし、%sの代わりっていわれてもSprintfを使ってるから単純にはいかないよ。
俺のurimethodmapには
foo: file:/cgi-bin/urimethodmap.cgi?%s
のような行がたくさんある。
man: file:/cgi-bin/my-man.cgi?%s
で、my-man.cgi は
#!/bin/sh
echo "w3m-control: GOTO file:/cgi-bin/w3mman2html.cgi?$`echo $QUERY_STRING | cut -d: -f2`"
とか。
522名無しさん@お腹いっぱい。:04/10/31 20:21:00
manに限らず汎用的にしている。
523519:04/10/31 20:25:22
>>520-521
サンクス。ラッパ書きました。
urimethodmap、どう考えてもschemeを取ったものを%sに渡したほうがいいよな。
明らかな仕様ミスでしょう。
ttp: h%s みたいな例を最初に考えたからでしょうね
%sをschemeなしに変更したとすれば
>>525
ttp: http:%s
と書けるわな。schemeは左の項に明記されているから今からでもそのように仕様変更すべき。
変換は機械的にできるし。
>>526
パッチきぼんぬ
526 じゃないが url.c の 2 箇所ある
return Sprintf(ump->item2, url_quote(url->ptr));

return Sprintf(ump->item2, url_quote(p + 1));
にすればとりあえず動きそうではある
529528:04/11/01 10:22:49
ttp: http:%s
man: file:///$LIB/w3mman2html.cgi?%s
g: http://www.google.com/search?q=%s&hl=ja&lr=lang_ja&ie=EUC-JP

こんな感じで試してみたが望みどおり動いているようだ
local-cgiを呼ぶ場合、なんらかの環境変数でschemeを示せるといい場合もあるかも?
でもscheme無しのほうが、いくつかの場合はlocal-cgi無しで
.urlmethodmapだけで処理できてイイ!
531453:04/11/01 13:31:28
>>462 過去ログ読めるようになりました
ttp://ccfa.info/cgi-bin/up/src/up7620.tar
>>531
なかなか良いな。
cygwinでw3mを使っているのですがブックマークに追加しようとすると/home//.w3m/bookmark.htmlに保存してしまいます。
読み込むときは/home/hogehoge/.w3m/bookmark.htmlを開こうとしてくれるのですが・・・
w3mのバージョンは0.5,1です。
>>506
5.3-RELEASEのsedは正しくlocaleを設定してやればjapanese/sedと
同等のことができるはずです(できなければバグ)。大胆に想像すると
LC_ALL=Cで起動するとどうでしょう。
w3m自身でもPOSTが使えるぜ。
そういやなんで w3m じゃなくて wget を?
537名無しさん@お腹いっぱい。:04/11/01 23:25:53
Bonus/2ch.cgiでもwget利用してたね
>>535
さすがw3mだ。
記憶が正しければ、emacs-w3mのためにPOST機能が実装されたはずだ。
今やすっかりネットワーク便利ツールになっている。
バイナリも肥大化していつのまにか1MBを越してるしw
ああ、数百KB時代が懐しい。
懐古主義者がなぜ昔のバージョンを使って満足しないのかは
永遠の謎である
つーか、もうw3mは「完成」されてるよね。
テキストブラウザとしてもページャーとしても・・・。
検索とかでたまに固まるよ
自分は履歴を表示しようとするときに固まることがある
どっちもない。
cgi-bin コレクションが充実しない限りは完成には至らない
>>545
心強いお言葉。期待しております。
>>541
そうなのか
>>242- あたりとか、>>294- あたりは弄れる人には簡単に実装できそうなのにな。。。
549453:04/11/04 16:26:56
w3m-2ch.cgiのブックマークを追加する関数のバグを修正しました
ttp://ccfa.info/cgi-bin/up/src/up7760.tar
wってなんで英語にしか移動できないんですか?
日本語は単語の区切りがわかりづらいからしかたないのよ。
TABみたいなので、画像イメージへ飛ぶのがあると嬉しかったり。
ALTが日本語で書かれてる場合とか、
いつも <num>hjklみたいな感じで飛んでるけども。
エロサイトマニア?
>552
LISTやmigemoを活用するのだ
>>553
そーいうサイトは、素直にインラインで表示するなりfirefoxのほうが楽だろうな。
>>550
日本語と決め打ちして対応するのは簡単なんだけど、
ちゃんと多言語対応した実装にしようとすると面倒なのよ
>>550
その点日本語は不便な言語だ。相性が悪すぎる(涙)。
>>552
俺も昔、その機能が欲しいと思った。やはり考えることは一緒なのね。
559名無しさん@お腹いっぱい。:04/11/06 11:32:22
FreeBSD 4.10 で gcc 2.95です。
w3m 0.5.1 の configure で
>checking size of long long... configure: error: cannot compute sizeof (long long), 77
と出て失敗するのですが、解決方法はあるでしょうか。
>>559
ports のでもダメ?
>>551
nvi-m17n なんかだと、
文字種 (漢字・ひらがな・カタカナ、など) の変わるとこの境界に飛ぶようになってて、
そんなんでも全然使いやすさが違うと思う。
Emacsでもそうなっているよね
563453:04/11/06 17:05:03
書き込みできるようになりました
http://ccfa.info/cgi-bin/up/src/up7818.tar
test
、ロ、ィ。チ
POST の encode はナニ?
566w3m-2ch:04/11/06 17:47:28
・ニ・ケ・ネスュケ�、゚。」
567w3m-2ch:04/11/06 17:47:57
、「。「、ヲ、゙、ッ、、、テ、ソ。」
568w3m-2ch:04/11/06 17:49:30
げ、navi2chだと化けてる.
569名無しさん@お腹いっぱい。:04/11/06 19:05:10
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< くっちゃらはぴはぴ!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< くっちゃらはぴはぴ!
Py厨〜〜〜〜!    >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /
>>560
gcを入れた場所がおかしかったみたいです。
ちゃんと/usr以下に入れ直したら上手くいきました。
571ちんとんしゃん:04/11/07 08:51:09
>>570
CPPFLAGS=-I/usr/local/include LDFLAGS="-L/usr/local/lib -R/usr/local/lib" ./configure を覚えておくといいよ。
572453:04/11/07 12:05:47
こんにちは。書き込みが文字化けしてしまっていたので直しました。
form タグの要素に accept-charset="shift-jis" をいれて
POST するメッセージのエンコードを Shift-JIS にしました。
>>563のは EUC-JP でエンコードしていたため化けました)

ttp://ccfa.info/cgi-bin/up/src/up7826.tar
>>571
-R って何?
>>573
LD_RUN_PATH
linuxの場合は
LDFLAGS="-L/usr/local/lib -Wl,-rpath,/usr/local/lib"
>>574
ぐぐったら、 Solaris にはそういうオプションがあるんですね。
FreeBSD で man 調べても見つかんなかった。
>>575
$ man ld | less +/"-R option"
>>576
lessのその使い方初めて知った
お前らターミナルエミュはどれ使ってますか。

mlterm使ってるがw3mの横スクロールが遅くて我慢ならん。
半角カナが表示できる奴で良い奴教えれ。
use_jisx0201kは端末を考慮してくれると有難いなあ。
ラッパー書きゃいいという話ではあるが。
>>578
dtterm 最強
>>578
mjpterm 最強
最強厨氏ね
w3mって半角カナを全角にしちゃうみたいだけど半角のまま表示することはできませんか?
>>584
オプション設定で「JIS X 0201-Katakana を使う」を「YES」かな。
586584:04/11/12 15:35:49
>>585
Thx
全角カナに変換して表示するようにしてる場合、
2chに半角カナ含んだ文を投稿しようとして、
cookieのセットを求められて一度戻ると、
半角カナが全角になってしまい悲しい。
588mlterm:04/11/12 21:58:27
w3mで画像を表示している状態で、画像の中にカーソルを置くと、その行が空洞になってしまいます。
それは仮想端末側の問題なので当該仮想端末のスレへ
仮想端末スレに行くとw3mスレに行けって言われるけどな。
>>589
でも画像の上にカーソルを置いて空洞にならないターミナルってあるの?
どんどん追加してね

カーソル一個分の跡が残る
xterm
kterm
rxvt

一行消える
mlterm
>>592
mlterm使ってるけど、何も消えないぞ。
ctrl+l で無問題じゃねぇ?
>>594
それをもって「無問題」とするのはどうかと。あくまで対処療法でしょう。
×対処療法
○対症療法
>>596
サンクスコ。素で勘違いしてた。
俺も勘違いしてたが、ぐぐったら
対処療法の方が多かったw
うおっ、対処療法と入れたら「対症療法?」とかツッコまれたw
よそでやれ。
最近MLでvalueの改行の話が出てたね。
2chに書き込む時に改行が消えることがあるのはこのせいか。
w3m-2chの再うpをたのむ
どっか無料ページ借りるとかして置き場所用意した方が良くね?> w3m-2ch
日本全国津々浦々の公共図書館に、同じOPACシステムの見た目だけ変えて
納入しまくってる業者があるらすぃ。

それは別にいいんだが、問題はそいつが明らかにGETで済むものを
javascriptでやってることなんだな。
こいつのせいでw3m使いは恐ろしく鬱なことになった orz
>>604
まあ回避する方法は見つけられるんじゃないでしょか。
で、それはたとえばどこでしょうか?
>>603
まだβ版だし作者もやる気ないんだろうよ。

>>604
たしか w3m-js ってあるけど去年から放置されてるみたいだね。
過去ログに JavaSDK を直接渡すとかなんとかいってた人いたけど
1.5.0 でやった人いるんだろうか(私は試していない)。
いづれにしてもあくまでページャなのだからそういう機能はデフォで
取り込まれるのではなくて cgi でオプションやモジュール様な扱にして貰いたい。
>>602
http://ccfa.info/cgi-bin/up/src/up8132.tar

もう自分以外に使う人は誰もいないだろうと思い、
自分が使いやすいように少し機能を削ってしまいました。
過去ログを読めたりは出来ませんが
それでも良ければどうぞ。
609608:04/11/19 14:06:01
すみません。URLは
http://ccfa.info/cgi-bin/up/src/up8133.tar
でした
602じゃないが貰ったよ
ありがとう
てか、cgi 置き場あったら便利くね?

とか言ってみる試験
だってヘンタイだもの
Uでurlを編集したりしているときに
DeleteキーやHomeキー等を働かせるようにするには
どう設定すればいいのでしょうか?

今の状態だと~が入力されてしまいます。
TERMの値が間違ってるんじゃない?
あとsttyで変なことしてるとか。
googleのこのページを訳す BETAを開いて
翻訳中...を開くと文字化けする。
翻訳中...を別のタブで開くと文字化けしない。
なぜ?
化けない
ぶくまくのせくしょんが増えてくると捜しにくいので
各せくしょん冒頭に<a name="unix">とか入れて
ぶくまく冒頭に<a href="#unix">なリンクを作ると
便利かなとヲモタんだけど、どうだろ?
>>617
bm2menu を使うのはなしかえ?
そういう人こそ超整理法を使うべし
bookmark を捨てて、Google に頼ろう!
ブックマークのセクションいらん(編集でなんとでもなる。hrだけいれとけばいいし)。
代わりにスレのage/sage機能みたいにできると便利だと思う
(既にブックマークにあるサイトを登録/飛んでしてしまったらageとか)。
登録画面無しにして自動的にタイムスタンプとサイトタイトル/URLだけを追加していって欲しいのさ。
>>621
おーそれできるとそそるかも。
複数のw3mを同時に立ち上げてると
hageになっちまう悪寒
「飛んでしてしまったら」??
なんのタイプミスだろうかと考えてみたけど想像付かんかったよ。
625w3m-2ch:04/11/27 15:55:02
URL抽出ができるようにしました。それと細かな修正と。
下のホームページに置いておくので、よかったらどうぞ。
http://www.geocities.jp/smug5680/
>>625
乙!
彼!
女!
欲!
し!
く!
な!
っ!
た?
わ!
636名無しさん@お腹いっぱい。:04/11/28 20:19:14
け1
な!
い!
こ!
誰が埋めろっといった?
く!
さ!
っ!
bookmarkをFRAMEで表示するcgiを...え、要らない?やっぱり?
わし、frameキライ
>>648
好き嫌いするんじゃありません。
origin of frame
w3mでのframe表示した時の`B'の挙動に馴染めないでいる者としては
好き嫌いするなって意見は辛いかも。
ほめぱげ開設記念にcgi置き場も併設なんていかが?
と勃ってるものは親でも使ってみるテスト
近親相(ry…
置き場作るほどCGIが集まるだろか?
心配しなくても、るびきち☆さんが山ほど提供してくれますよ。
んで中学生女子のホームページへ行ってw3mいいよ〜とかやるんだろーか

658625:04/12/01 13:48:46
>>652のHPにcgi置場を作るとすると
(1) cgiを送ってもらう
(2) それを私がうpして公開する
というような感じになると思います。
これでよければ作ってみますがどうでしょう?
>>658
uploaderとかwikiとか作るというのはどうでしょうか?
>>658
pukiwiki でいいんじゃない?
geocities みたいだから Perl や PHP はダメだよね?
どっかそういう鯖持ってるひとに手を挙げてもらえると良さそうなんだけどなあ。
まずは wiki の w3m-cgi だな。
w3mに処理させるのかよ。
'Eat your own dog food' だな
うえーん、httpsなサイトにはローカル串作戦が効かないよほ
>>665
何の話?
>>604-607
keymap C-m SUBMIT

とかで幸せになれるかもしれんぞ。
暴発もするかもしれんが。
w3mで2chの過去ログをにくちゃんねるで見ようとすると、
大抵転送を途中で打ち切ってしまうな。
follow_redirection増やしてみたら
リダイレクトは関係無いのでは??
w3m-cgi でいろいろやっていると
・w3m を C++ とかで書き直したほうがよいかも
・そもそも w3m-cgi の適している言語はなんだろうか?
に誰か答えを下さいな
↑翻訳してくだちい
[日→英]
if many things are done by w3 m-cgi -w3m or [ being C++ or that it is better to come out and rewrite ] - primarily -- Is it in the language for which w3 m-cgi is suitable? Be alike and someone should not give me an answer.
[英→日]
多くのものがw3 m-cgi―w3mによって行われる場合、あるいは[C++またはそれであること、現われて書き直すほうがよい]第1に――それは、w3 m-cgiが適切な言語でありますか。似ていてください。そうすれば、誰かが私に答えてはなりません。
返事しちゃダメなのか…
>>667
幸せになりますた
えぇと、w3mでモジュールについて考えると
w3mそのものをOOP化すると終わりだから。
拡張を考えないと今のままでいいんだけどね(除くメモリ管理)
digest認証のページに入れたり入れなかったり。どうしませうか。
Firefoxでは入れたのに。
ぐぐっても過去の問題らしいし。

蹴られて401なときのerror_logはこんなの。
[DATE] [error] [client REMOTE] Client is using a nonce which was not issued by this server for this context: /tdiary/update.rb

$ w3m -V
w3m version w3m/0.5.1, options lang=en,m17n,image,color,ansi-color,mouse,gpm,menu,cookie,ssl,ssl-verify,external-uri-loader,w3mmailer,nntp,ipv6,alarm,mark,migemo

ちなみにPlamo Linux4.0す。
>>676 C++化することとOOP化することは同義ではない。
とりあえず
・レンダリング洗錬(dilloと勝負しろ)
・ライブラリ要再考(gc捨てて最適化せんとあかん)
・CGIローカルサーバのプラグイン化(UI込みで)
> ・CGIローカルサーバのプラグイン化(UI込みで)
現状のどこに不満があって、これによってどー素晴しい状態に移行できるのか、
よく分からんのですけど。
>>678
なんでGC捨てなあかんの?
メモリ喰いだからじゃん?
どれくらいメモリ喰うかしらんけど、いまどきそんなに問題に
なるほどか?
作者が、
「GCなしでは,w3mにtableやformを実装する根性が私にあったかどうか疑わしい」
っていってるのに。
>>683
> いまどきそんなに問題になるほどか?

1G積むのが常識な時代ならともかく、問題になるほどです。
>>684
どういう環境でどのくらいメモリ食ってるの?
684ではないが
256Mな環境で150Mくらい喰われるとしんどくなってくる。
tableのあるページをぽんぽんと開いてて気が付いたら大スワップ合戦、みたいな。

再起動すりゃいい話ではあるけどね。
個人的にはなんでそんなに長期間起動し続けるのかわからないけど、
そういう人はタブセッションを保存できれば再起動しやすくなりそうだね。
せめてメモリ喰ってそうなページに対応するバッファを消した時、
メモリが解法されればいいんだが。
>>688
がんがれ
screen上で立ち上げっぱなしにして
外部からも呼出してタブ表示、とかやんない?
>>690
> 外部からも呼出してタブ表示

これどうやんの?
>>690
やります。現在5日起動していて、30Mです。
>>691
screen -X eval "select w3m" "stuff ^[xTAB_GOTO^M" "stuff $1^M" other
こんな感じで使ってるよ
自分もそんな感じで emacs から渡したりしている。
しかし、起動しっぱなしだと w3m 本体より w3mimgdisplay がぶくぶく太る。
以前はそんなことはなかったんだが
貧弱マシンな自分は w3m は結構マメに終了させてるなぁ。
その変わり外部から呼んだ時に w3m が居なかったら立ち上げる前処理を入れ
てる。
696名無しさん@お腹いっぱい。:04/12/06 23:43:50
気付いたらscreen上でw3mを12個立ち上げていました。
再来年には1GBが常識なんでしょう。
メモリ喰うのでさっと立ち上げてすぐ終了しています。
>>696
「本当にGarbage Collectされてんの?」という気はするね。
何が残っているんだろう。

あとみんなw3mやboehm-gcのバージョンは? うちはFreeBSD portsから入れた
w3m-0.5.1とboehm-gc-6.2_2。
asyncパッチってあったよね?
あったね。
あったかい?
↑寒杉

>>77-79が不便だなあ。昔はなかったんだけど。
いつ頃から発生したかわかるしといる?
702696:04/12/07 13:12:02
以前は>>693,694のような手法でEmacsから渡して>>692のように長時間起動していた。
だけどこのごろページを開いた直後に固まることがたまにあるので長時間w3mを動かさなくなった。
数で勝負!
とりえあず TAB_CLOSE の UNDO が欲しくなったのでいじろうと思ったが、
空のタブが作れないと結構面倒なことに気付いた。
なんか最近 w3m の将来が見えなくなってるんですが、
大丈夫でしょうか。
将来っていうかw3mはもう「WWWが見られるページャー」として完成してるんじゃないかと。
検索とかしてどうにも重すぐて中止したくても、
全然キーに反応してくれない事とかあるし、
ページャとしても完成はしてないと思う。
そうなの?こっちはならないよ。
まあ >>706 が ML にきちんと不具合報告せずに
こんなところでうだうだ言ってるうちはいつまでたっても「完成」はしない罠。
ごめん、703に書いたのは勘違いだった。一回こっきりのUNDOならすぐできた。
元のタブの位置まで戻すことはしないが。これだけでも個人的には便利だ。

しかし、タブセッションの保存・読込なんかをしようとすると考えるべきことが多くなるな。
誰か既にやってないのかな。
> しかし、タブセッションの保存・読込なんかをしようとすると考えるべきことが多くなるな。
前スレあたりにtabload.cgiつーのがあったような。
Boehm GCが役立たずだとしか思えん。
Rキー押すたびにメモリの使用量が際限なく増えるなんてどうかしてる。

いっそのことGCをrubyのやつに入れ替えるか?w
ちゃんと解放したメモリは回収されてるぞ。
712697:04/12/08 01:05:16
>>711
ふつうGCライブラリってのは何かのタイミングでガサガサっと
使っていない領域を解放するものなんですよね。それがうまく
動いていない、ということ?
GCのソース読みませう。
>>713 またお前かヒロシ……
参照されてたら当然回収されないので、どっかに消してないポインタが残ってるとかいうことはないの?
あとBoehm GCはファイナライザを使うとかなり回収効率が悪くなる(使い方が悪いと最悪回収できなくなる)のでそのへんかも。

と、w3mのソースは一行も読まずに書いてみる。
>>711
> いっそのことGCをrubyのやつに入れ替えるか?w

あなたのような方をお待ちしておりました。
よろしくお願いいたします。
>>710
カレントバッファだけを記憶するだけなら loca CGI だけで済みそうだ。
それで十分の場合も多いし。再うpきぼんぬ。あるいは誰か同様の物を
作ってるなら上げてくださいな。
718712:04/12/08 21:45:32
>>715
w3m-0.5.1のソースを読んでみると、w3mimgdisplayはGCを使っていない
ですね。imageBufはw3mimgdisplayに新しい画像を読み込ませる度に
太ることはあってもやせることはない(けどそんなに大きくもならないか)。

だからw3m本体とw3mimgdisplayとは別で考える必要がありますね。
>>718
> w3mimgdisplayはGCを使っていないですね。
該当行晒して
w3mimgdisplayが太ると書いてる人は、本体自体はどうなん?
721718:04/12/08 23:22:12
>>719 「何かを使っている」場合なら該当行を何行か示せるけど
722721:04/12/08 23:24:47
ちなみにlddでlibgc.soが表示されるけど、これは単にLIBSに
-lgcが入っているからですね。
>>720
本体自体はここで書かれているような感じだと思う。
ときおり w3mimgdisplay を kill しておけば本体自体はまあ何日かは持つ。
724722:04/12/09 01:33:03
w3mimgdisplayは画像専用のcacheサーバだから、画像データをexpireする
仕組みがないと太る一方だよね。今パッチを書いている時間がないんだけど
誰か書いてみる?

1. w3mimgdisplayのimageBufに画像を取得した時のUNIX timestampを持ち、
ある程度以上古いのは消すようにする。imageBufは配列でなくhashにすれば
timestampで増えた分のスペースを節約できるかも。

2. w3mimgdisplay protocolに「discard image」を追加し、必要なくなった
画像をw3mから通知(ヒント)してやる。
いや、いっそのことcacheサーバを書いて、w3mimgdisplayは読み込んだら捨てる仕様でもいいかも。
それなら普通のバッファにも応用できる。
>>717
アップローダを用意してくださればうpします。
>>728


やはり、local CGI で各タブのURLを取得するには、本体に手を加える
必要があったんだね。どうせ本体に手を入れるなら全部まかないたくなるが、
それをやるにはちょっと時間を取りそうだな
lua みたいな感じで script 使えればな〜
javascript 使えるようになれば、できるんかな
キーボードで文字列の選択コピーをやるにはどうしたらいいんでしょ?
Use GNU Screen.
screen を使う。というのが一般的な回答。
>>711
GC_free で肝を押さえる
>>711
> Rキー押すたびにメモリの使用量が際限なく増えるなんてどうかしてる。
ああ、本当だ……
大きいページをリロードすると覿面だ。

見終わったバッファを片っ端から消しても無駄な抵抗だったのね orz
マウスで文字列の選択コピーをやるにはどうしたらいいんでしょ?
マウスカーソルが移動するだけでドラッグできない・・・
シフト押しながらじゃない?
適当にやってて見つけたと思ったから正しいやり方は違うかも知れないけど
>>737
しらんかった・・・・・
ありがとう。すげー助かった。
ドラッグとは?
麻薬です
ダメ、ゼッタイ。
ドラッグアンドドランク
いまいち。
ドラッグストアでクラック
>>711
でも、次々にけしていった方がメモリの消費率が抑えられるのも確か。
テーブルやフレーム多用してるページだと、
w や TAB でどこに飛ばされるか予想できなくてドキドキなのは私だけでしょうか?
そういうページならmigemo検索でカーソルを飛ばす
wは英数字な画像リンクに飛ぶときにしか使わないなあ。
>>736
MOUSE_TOGGLE つこてる
Shiftおしながらでいいじゃん
なんか不満があったんだよね
昔、若頭の女に手を出して
おまいら、今何個w3m立ち上げてる?
漏れはただいま14個。昨日は22個だったかな。
もちろんGNU Screen上でだ。
複数同時に使ってると、未読既読の扱い (~/.w3m/history ?) が変になりませんか?
変というか、最後に終了した奴のに上書きされるだけでしょ?
しかたないけど、ヒストリの事我慢して1プロセスだけで使う事のほうが不便だと思う。
ちなみに俺は現在4プロセス。
瞬間最高数(いわゆる瞬間最大風速)は10超える時もあるけど、
たいていは6〜8プロセス常駐かな。
756753:04/12/16 22:59:59
URLヒストリはproxyで管理しています。
>>755
そうそう、そういうことです。>最後に終了した奴のに上書き
私は複数同時に開いても頭が追い付かないので 1つしか開かないで十分ですけど。

>>756
それだと既読リンクの色が変わらないですよね。
いつも開くページをガーッと-Nで開いたのが1つと
screen外部から呼び出してタブで開く用のが1つの計2つ。
横スクロールがうっとうしいときがある。
「表の見栄えよりも端末の横幅に収めることを優先する」モードが
あるといいかなあと。
あー、いいね。
761753:04/12/17 08:49:14
>>757
これがしょうがないでしょw たいしたことではない。
ad-hocなら修正できるだろうけど。

>>759
漏れも昔からそう思ってます。
トップページがフラッシュでできているサイトは w3m ではどうしようもないね。
SET_OPTION view_unseenobject=1
javascript:nextwindow() は w3m ではどうしようもないね。
とりあえずフラッシュを落として、stringsでurlを割り出す事はあるけれど、
圧縮(?)されてるとひかからないんだよな。
これって展開できるの?
そこで mailcap ですよ・・
gflashplayerあたりから、新規w3mでなく元プロセスでリンクを辿れるなら。
エディタも2,3種類指定したいな
>>755
だいぶ前のMLにそういうパッチがありましたが、反応は今一つでした。
あとその時、cookieの同期を複数のw3m間で取れるようになったらなあ、と
さかもっちゃんがいっていました。
w3mimgdisplayなんてあるくらいなんだから、
いっそw3mdでも立てちまうとか。
771名無しさん@お腹いっぱい。:04/12/17 15:44:46
>>769
外部ブラウザを立ち上げるときにもcookieが渡ってほしい。

>>768
X限定ではあるけどratmenuなどを使えばいいだろう。
探せばTTYベースのメニューもあるだろう。
772名無しさん@お腹いっぱい。:04/12/17 15:45:09
>>770
そしてそのw3mdがぶくぶく太るw
メニュー経由でエディタ選ぶのは、3番目ぐらいのエディタにしたいね。
いつもいつもqueryされるのは面倒。
cookie, history, config, bookmark の同期くらいしかしないから
太ってもタカが知れてんじゃにゃーの

configは下手に同期させるとマズーそうな気もするが
>>765
多分コレでできる。いや多分ていうかできる。

% cat cws2fws.pl
#!/usr/bin/perl

use Compress::Zlib;

$in = STDIN;

read $in,$header,8;

die 'not CWS' if $header !~ /^CWS/;

undef $/; # enable slurp mode
$buffer = <$in>;

#$buffer = compress($buffer) ;
$buffer = uncompress($buffer) ;
$header =~ s/^C/F/;

$out = STDOUT;
print $out $header;
print $out $buffer;
776775:04/12/18 02:11:59
使用法忘れた。stdin から stdout ね。
ほう、そんな単純なものだったのか。tnx.
#!/usr/bin/env python

# convert from CWS to FWS.
# usage: swf-uncompress.py in.swf out.swf

import sys
import zlib

argc = len(sys.argv)

if argc < 2 or sys.argv[1] == '-':
  infile = sys.stdin
else:
  infile = open(sys.argv[1])

header = infile.read(8)
if header[:3] != 'CWS':
  sys.stderr.write('not compressed.\n')
  sys.exit(1)

header = header.replace('CWS', 'FWS', 1)

if argc < 3 or sys.argv[2] == '-':
  outfile = sys.stdout
else:
  outfile = open(sys.argv[2], 'w')

outfile.write(header)
outfile.write(zlib.decompress(infile.read()))
779あげ:04/12/24 13:51:09
あげ
782あげ:05/01/06 02:01:28
過疎ってるね
w3m はメモリ管理を全く新しく創り替えて軽量高速表示化しなければならない
行き詰ってるような感じはする。
テーブルの組み方を直して async に表示するようにすれば
結構インパクトも変わるような気はしてるけど。
>>783
今のマシンは高速だから、表示速度は問題ない気がする。
10年前のマシンでも問題なく使えてた。
メモリの使い方は富豪的だが、今時メモリ256MBくらい積んでるだろ?
そんなにケチケチしなくてもいいのでは。
>>784
ページャーにasyncを求めるのは酷だよ。asyncパッチを使うと不具合いろいろ起こる。
テーブルのレンダリングは問題ありだね。はみ出すぎ。
w3mだけのために100MB以上充てられるんなら構いやしないだろうけど。
それに、w3mの太りかたの挙動は、富豪的というより管理が変という部類だし。
Boehm GCが データをポインタと判断してマークして回収しそこねてるってことない?
w3mはインタラクティブなんなんだから確実に回収するGCをこまめに動かすってポリシーでも
問題ない気がする。
gc は使いものにならない。
メモリ使用量が増大する一方で不要なデータの回収がなされていない。
ハードウェアにメモリを沢山積んでるから問題なしとするのは詭弁でしかない。
メモリは w3m だけのためにあるのではない。他のアプリケーションの動作にも影響を与えかねない。

表示形式が時代遅れである。
一旦ページの全てのデータを読み込んでテーブル整形してそして表示するという方法では
画像満載のページをレンダリングする際には表示に待ち時間が認められる。
これに対してもハードウェア的に処理速度が(ry)というのは解決になっていないばかりか
それを表明することは逆にソフトウェアに欠陥があるということを認めていることにもなろう。
>>788
だから何?
>>789
それを >>788 が全部直してやろう、って話だろ。
>>787
RubyでいうGC.startはBoehmには存在しないっけ?

>>788
画像満載のページでレンダリングに時間かかるのはHTTP/1.0だからでは?
ひとつひとつの画像にたいしてconnection張ってるんだから。

文句言うなら使わなければいいじゃん。テキストブラウザなら他にもlynxとかあるんだから。
メモリ管理が気になるなら、w3mプロセスの一生を短くすればいいだけのこと。
重いブラウザと違ってさっと起動/終了ができるんだから見終わったらすぐ終了すればいい。
>>793
それでは何のためのタブ機能だか・・・
まあ使い方は十人十色。
私はタブも使いますがw3mプロセスの一生は短いです。
>>794
タブ機能なんて飾りです。偉い人にはそれがわからんのです。
漏れは w3m と uptime が同じぐらい w3m の中で生活しているので
メモリがぶくぶく太るだけの事態は好ましくないんだな。
firefox の拡張とかにあるけど、
起動前後のタブセッションを保存できるような
ことができればかなりいいかもね。
元fmとしては、ここらへんでいいんじゃない?
>>788
不要なデータというのは、具体的には何?
>798
それすでにスクリプトでやっている人が居たような。
>>800
例えばR連打で再描写すると前のデータが抱えている状態。実際には使われて
いないデータ。だから太るし。これを吐き出すようにするだけで快適になるの
だがメモリ管理はGC丸投げだからはよ役にたたんGC捨てて実装しろと(ry
そうやって自分で実装しようとせず丸投げで役にたたん >>802
だって漏れ開発者じゃねーし。只のいちユーザ。
今は w3m のソースを読んでる最中。今は未だ知識不足で何も書けない。
全部分かっていないとね。駄目なんだ。漏れ自身が納得できない。
でもテコ入れする個所は大体見当がついている。
gcに文句つけるんなら最低でも uname -srmv くらいは晒してほしいよな。
boehm GCはポータブルじゃないんだし。

>>791
collection の開始なら、GC_gcollect
806791:05/01/07 13:20:07
>>805
じゃあ、その GC_gcollect をいろいろな場所に散りばめればメモリ肥大化は抑えられるのかな?
807名無しさん@お腹いっぱい。:05/01/08 01:03:33
LANG=C で、w3m 使ってる香具師いる?
>>793
禿同。ソロバンのご破算のごとくささっと再起動できるからね。
たしかにw3mはソロバンだw
emacs-w3mの描画エンジンとして使うだけなら最近話されてるメモリの問題はないのかな?
自分は、そういう風にしか使ってないんだが。
そのときはw3mの一生は一瞬だからね。w3mのメモリ問題とは無縁のはず。
確かにブラウジングしているとtextだけなのに20Mとか肥大化していくな。
なんでgc使ってるのに自動的にメモリー掃除してくれないの?
newとかmalloc何か変な使い方してんの?
場当たり的だがキーコマンド作ってGC_gcollect()呼び出すという方法は?
CLOSE_TABと同時に呼び出すのもいいかも。
Rubyスクリプトでも適当にGC.startを入れたら肥大化するのを抑えられるしね
emacs でしょっちゅう
M-x ga<TAB><RETURN>
するのが癖。
んじゃとりあえず<TAB>を省け。
ga-ん!
>>816
メモリ少ないの?
いや、暇があると sync するタイプ。
M-x ga
複数回やると使用consセルの数が増えていったりするんだよね。
w3mでもコマンドをTABで補完させてくれ。
M-x nurupo<RETURN>
ぅゎNIRVANAのremix(・∀・)イイネ!
誤爆?
ブラウジングは、リンクでたどって来たページやフォームの値を
保存していくから、使用メモリが増えることはあっても減ることは少ないよ。

『boehm-gc を使う上での注意点』ってのは、まだ有効なんだろうか。
現在気になっていること
・flow-type bookmark management
・resource alocation
ページってメモリ上に置いてるの?
HDDに置くようにしたらいいんじゃないの?
フォームの値って保存しとく必要あるの?
同感。現在のw3mはメモリに置いてるね。
config.hでCLEAR_BUFを有効にして、オプション設定の
「表示されていないバッファのメモリを解放する 」を有効にして
メモリ使用量を見てみれば?
さっきgrepしてみたけどCLEAR_BUFは使われてない希ガス。
>>830,831
もっと詳しく。ソースコード交えて解説しれ
833831:05/01/12 03:22:30
$ grep CLEAR_BUF *.[ch]
config.h:/* #undef CLEAR_BUF */
rc.c:#define CMT_CLEAR_BUF N_("Free memory of undisplayed buffers")
rc.c: {"clear_buffer", P_INT, PI_ONOFF, (void *)&clear_buffer, CMT_CLEAR_BUF,
解決する意思はあるということかしらん
それとも盲腸コード?
単純に処理スピードの問題だろ。
テキストブラウザがサクサク動かないじゃ身も蓋もない。
いくつ以上の履歴は解放する、みたいになってるとありがたいんだが
速度ではなくてキャッシュの問題だと思います。
身も蓋(ふた)もな・い
言葉が露骨すぎて、潤いも含みもない。にべもない。「そう言っては―・い」
(大辞泉)
test
#include <err.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <gc.h>
#if 1
#define malloc(s) GC_malloc(s)
#define free(p) GC_free(p)
#endif
int
main()
{
        void *p;
        const size_t size = 1 << 20;

        for (;;) {
                if ((p = malloc(size)) == NULL)
                        err(1, "malloc");
                fprintf(stderr, "malloc'ed\n");
                sleep(3);
                free(p);
                fprintf(stderr, "free'ed\n");
                sleep(3);
        }
        return 0;
}
840839:05/01/12 22:50:23
このプログラムをコンパイルしたものと、「#if 1」のところを「#if 0」に
変更したバージョンをそれぞれ実行しながら、みんなが使っている方法で
「メモリ量」を調べてみて。
まず自分でテスト結果出せよ
時間経過とメモリ量のグラフがほしいの?
843840:05/01/12 23:56:55
>>841-842
いいから見てごらんよ。なんだったらsizeを大きくするとか乱数に
するとかしてみてもいいけど。
GCを使ったアプリケーションのメモリ使用量を語るには、何らかの
測定方法があるわけだよね。その測定方法が、アプリケーション内部で
(陽に)行っているメモリ確保・メモリ解放動作と対応していないのであれば、
その測定結果は信頼できないということ。
もっと大まかにいうと、いまあなたが使っている測定方法は、GCライブラリが
内部で確保したメモリをプールして再利用にあてるとかいうテクニックを使って
いるのか、本当に回収されないでいるのかを見わけられますか、ということ。
そんなこといいから早くプレゼンしてれないかね?
845843:05/01/13 00:49:33
>>844
どこからプレゼンが出てくるんだ? 脳ミソにウジ虫わいてんちゃうの?
結果をプレゼントしてくれ
尤も、私にとってw3mはソロバンみたいなものですから、あまり関係ないですね
848845:05/01/13 08:16:08
>>846 結果は使っている測定方法によって違うんじゃない?
>>843
w3mがメモリを食うという話がそもそも幻想だと言いたいの?
それともGC側とそれを使っているw3mのソースとどちらに問題があるのか
切り分けるのは難しいという話?
結局何を主張したいのかよくわからない。
>>839
最近の大抵のOSはmallocが呼ばれたときにメモリを確保するんじゃなく
実際に使われる段になって確保するんだと思うがどうよ?
OSはそうだけどmallocは関係ないしmallocの挙動によっては関係なくなる。
BoehmのGC_mallocは特に0かなにかポインタとして無効な値でfillすると
推測するのが自然と思う。コードを読んだことはないが。
幻想でスワップは発生せんぞ
GCの挙動を調べたいなら、>>839じゃ役に立たないと思うんだが…
自動回収がうまく行っているかどうかが肝なんだから、
GC_freeしてたら意味がないんじゃないの。
そもそも明示的な解放が面倒だからガベージコレクタを使ってるわけで。
>>851
manによると

Unlike the standard implementations of malloc, GC_malloc clears
the newly allocated storage. GC_malloc_atomic does not.

俺の環境だと、メモリの食い方も確かにそれっぽい違いが出る。
w3mでは両方使ってるみたい。
855848:05/01/13 22:15:08
>>850
そうだね。たとえばLinuxだと「memset(p, 0, size);」を入れないと
実験にならないね。

>>849
|w3mがメモリを食うという話がそもそも幻想だと言いたいの?
|それともGC側とそれを使っているw3mのソースとどちらに問題があるのか
|切り分けるのは難しいという話?

まず、徐々にメモリのサイズが増えて決して減らないという事実を前にして
「幻想」というのはありえないでしょ。でそれ以降の話だけど、

>>853
|GCの挙動を調べたいなら、>>839じゃ役に立たないと思うんだが…
|自動回収がうまく行っているかどうかが肝なんだから、
|GC_freeしてたら意味がないんじゃないの。
|そもそも明示的な解放が面倒だからガベージコレクタを使ってるわけで。

GCの挙動を調べたいんじゃなく、メモリ使用量の測定方法に君らが使っている
方法が期待どおりの結果を返すかどうかについていってるんだって最初(>>839)
から言ってんじゃん。

その「自動回収がうまく行っているかどうか」をどうやって検証するの?
ってのはひとりひとり違うだろうから、ひとりひとり方法を上げていったら
次スレにいっても終わらないでしょ?

別に
#define free(p) p = NULL, GC_collect()
でもいいけど、「自動回収がうまく行っているかどうか」を調べる方法が
正しい結果を返せなければ検証結果も正しくないでしょ?
>>855
だから早く評価結果晒せ
結果発表せずに理屈だけぐちぐち言ってるから、
実際は言うだけ言って自分は実験してないってことがわかったよ。
>>857
ま、ここにいるみんながそうだろ。
何を測れば原因が判明するのか現状誰もわかってないのに
いきなり測定方法が妥当かとか言われてもなあ、と思った。
やるなら問題の再現条件やソース上のあやしい部分を特定するのが先でしょ。
emacs-w3mを使えばあっさり解決。
w3m の C-t に相当する操作って emacs-w3m でどうやるの?
>>861
Shift+RETや 2 RET かな
>>861
tab の切り替えは C-c C-n / C-c C-p
tab を閉じるには、C-c C-w
URL を新しい tab で開くには、G
864861:05/01/14 01:16:25
ありがとうございます。
「カーソルが乗っているリンクを別のタブで開く」が望みの動作だったので、
>>862でできました。
これって、info にのってますか? shift で検索しても見つかりませんでした。
emacs-w3m-1.4.3
>>864
のってないみたいですね。
よろしければ、C-c C-b で bug report してくれませんか?
私は、? (describe-mode) で知りました。
<S-kp-enter>Display the page of the link in a new session.
If the region is active, visit all the links within the region.
<S-mouse-2>Display the page of the link in a new session by mouse.
866855:05/01/14 01:37:46
>>859
|やるなら問題の再現条件やソース上のあやしい部分を特定するのが先でしょ。

「問題の再現条件を特定」というのは、問題とそれが起きるタイミングが
はっきりしている場合にのみ可能です。「w3mを使っているとなんとなく
psやらtopやらのメモリサイズが増えている、いつのまにかswapしだした」
だと特定するのは非常に難しいです。

これが、例えばGCライブラリが「ここは使用中」と認識しているメモリのうち
○○MBはヒストリに使っていて、○○MBはバッファの内容を保持するのに
使っている、なんてのをstderrに吐くようにできるとしたら、それでやっと
「はっきり見える」ようになるわけです。

「いつのまにか増えている」のが問題なんだったら、「大きくなりすぎる前に
終了させたら」という指摘が妥当ですよね。解決すべき問題が存在しないわけ
だから。
>>866
早く対照実験の結果晒せ
>>855
ただいちゃもんつけてるだけじゃん。いいから自分の結果を出せよ。
>>868
test.c:1:17: err.h: No such file or directory
Solaris ね
( ゚д゚).....baka?
(゚Д゚)ハァ?
>>866
>「問題の再現条件を特定」というのは、問題とそれが起きるタイミングが
>はっきりしている場合にのみ可能です。

普通「問題とそれが起きるタイミングをはっきりさせること」を
「問題の再現条件を特定」と呼ぶんだけど。

>「いつのまにか増えている」のが問題なんだったら、「大きくなりすぎる前に
>終了させたら」という指摘が妥当ですよね。解決すべき問題が存在しないわけ
>だから。

解決方法が存在しない、の間違いでしょ?
解決すべき問題は厳然として存在するわけだから。

>これが、例えばGCライブラリが「ここは使用中」と認識しているメモリのうち
>○○MBはヒストリに使っていて、○○MBはバッファの内容を保持するのに
>使っている、なんてのをstderrに吐くようにできるとしたら、それでやっと
>「はっきり見える」ようになるわけです。

要するに、メモリの使用状況を吐くようにw3mを改造しよう、というのが
>>839-840を貼った意図だったってことなの?だったら最初からそう書きゃいいのに。
874866:05/01/14 14:16:40
>>873
|>>866
|>「問題の再現条件を特定」というのは、問題とそれが起きるタイミングが
|>はっきりしている場合にのみ可能です。
|
|普通「問題とそれが起きるタイミングをはっきりさせること」を
|「問題の再現条件を特定」と呼ぶんだけど。

それができないでしょ? メモリの使用量が増えるのはすぐにわかることだけど
GCで回収されたとしてもOS側へ戻るわけではないから回収されずにいるのか
次に使う時のためにGCライブラリ側で持っておいているのかが区別できない。
つまり「この部屋のどこかにはいるんだけど、はっきりどこかは分からない」
状態なんですよ。そういう状態では「特定」するのは無理です。

|>「はっきり見える」ようになるわけです。
これは測定方法の例ですが、実現可能かどうかは疑問があります。

|要するに、メモリの使用状況を吐くようにw3mを改造しよう、というのが
|>>839-840を貼った意図だったってことなの?だったら最初からそう書きゃいいのに
>>839のコードは最初からいっているように観測方法が妥当かどうかを
調べるものです。ちっとも「要するに」じゃないでしょう。

もしかして俺が君に「○○しろ」というふうに指示を出すのを待っている
ということですか?
>>874
> >>839のコードは最初からいっているように観測方法が妥当かどうかを調べるものです。
厨房が書いたようなコードでできると?そうおっしゃるのですね?

> もしかして俺が君に「○○しろ」というふうに指示を出すのを待っているということですか?
違う。俺がおまえに「テスト結果を出せ」と命令している。
>>>839のコードは最初からいっているように観測方法が妥当かどうかを
>調べるものです。

それはもう何度も聞いてるからわかってる。「だから何?」って聞いてるの。
誰かが観測した数値を示したわけでもないのに、いきなり観測方法の妥当性を
論じ始めた意図が何かというのを聞いてるんだけど。
特に意図はないというならもういいです。
くだらねー議論でスレが伸びてるな。
議論する暇あったらとっととテストプログラムを書けよ。
このコマンド群を実行したら自動的にテストされるようにしとくのが礼儀だろうが。
礼儀正しい>>877君のテストプログラム待ち(・∀・)ニヤニヤ
要は>>839-840はメモリ確保に関する単なる雑談だったってことか。
わざわざプログラムなんか貼るから、実行結果を収集することで
メモリ問題に関する手がかりが何か掴めるのかと思ったがそうじゃないのね。
boehm-gc にはデバッグ用の機能が用意されているよ。
boehm-gc でぐぐってみたらわかる。
古いタブをまめに殺すようにしとくとあまりメモリを太らさずに済む
定量評価マダァ〜
なんか話が途切れてしまったが

826
リンクでたどって来たページやフォームの値を保存していくから、
使用メモリが増えることはあっても減ることは少ない
828
ページってメモリ上に置いてるの?HDDに置くようにしたらいいんじゃないの?
835
(HDDに置いてないのは)処理スピードの問題だろ。
いくつ以上の履歴は解放する、みたいになってるとありがたい

この辺の続きどうぞ
メモリに置かれてもスワップされても結局は同じことだな。
使わないもんがメモリにあっても邪魔なだけ。
使わないならDELETE_PREVBUFしとくと吉。
結局のところ、こまめに起動終了を繰り返したほうがいいってことだな。
Screenと併用すればいくつ立ち上がってもすぐに切り換えられる。
ちなみに私のところでは現在12個のw3mが立ち上がっていて総メモリ量は118MBだ。
これをひとつのw3mでやっていたらゆうに倍以上は喰ってただろうね。
すぐ終了させるのもあるけど、
ほぼuptimeと同じぐらいなのが、用途に応じて2つほどある。
あと、1つのプロセスで全て賄うと固まった時のダメージ大きいし。
889874:05/01/14 19:47:11
>>875
|> >>839のコードは最初からいっているように観測方法が妥当かどうかを
|> 調べるものです。
|厨房が書いたようなコードでできると?そうおっしゃるのですね?

Cが読めないの?
>>839がいやならGC_gcollect()を適当な場所に撒くようなパッチを書くのも
手かもしれないけど、どうせお前ビビって実行できないんじゃない?
実行してくれたところでその効果はどうやって評価するの? 「なんとなく
メモリ消費量が少なくなったような気がします」とか言いだすんじゃねえだろうな。

そんなツマンネー奴につきあうぐらいだったら最初からリーク検出機能つきの
mallocライブラリに置き換えてGCの総入れ替えとかやってるって。

|> もしかして俺が君に「○○しろ」というふうに指示を出すのを待っているという
|ことですか?
|違う。俺がおまえに「テスト結果を出せ」と命令している。
ああ、そこここに「テスト出せ」って書き続けている池沼は君だったのか。
もううざいから不毛な言い争いはやめろ。
見てるだけで気分悪くなるんだよ。
メモリ問題はたしかにあるけど、別にどーでもいいし。
>>889
> どうせお前ビビって実行できないんじゃない?
> 実行してくれたところでその効果はどうやって評価するの?
> 「なんとなくメモリ消費量が少なくなったような気がします」とか言いだすんじゃねえだろうな。

 な ん で 自 己 言 及 し て る の ?(w

つーか、いらないバッファやタブをちょくちょく消していけば、そんなにメモリ使用量は増大しないよ。
やるとやらないとでは大違い。
それでも気になるなら再起動すればいいだけ。
それが嫌なら改良する。
それもできないで文句たれてばかりならw3mを使うなということだ。以上。
一度太ってしまうと、消しまくっても手遅れだけどね。
まあmallocてのは普通そういうものらしいから
w3mは>>808の例えどおり所詮ソロバンだ。
ソロバンは簡単に再起動できるし持っていればすぐ計算できる。
だが、大きな計算をしたり計算結果をしばらく保持するためにはソロバンは使わないだろ?
w3mについても同様だ。

ソロバンをはじいていて「変数がつかえないよ」と嘆くようなものだw
算盤だって・・詭弁もここまで酷いとはね・・
javaとかflashサイトでどうしようもないのを嘆きはしないけどさ。
算盤は腕が上がると変数が使えるようになる。
いくつかの構造体に特化したGCなら簡単に作れるだろ。
cursesや正規表現ライブラリ自作するよりはるかに簡単だろ。
めちゃくちゃ遅いかもしんないけど、所詮 w3mなんだから大した問題じゃない。
確実に開放する方が重要でしょ。俺はそんなことやる暇ないけどね。
はい、簡単ですよね。で、できましたよね?簡単なんでしょ?
暇だからできねーっつーの

2ちゃんにレスつける程忙しいようだね
902895:05/01/14 23:30:02
IT全盛時代でも算盤を愛し使いつづける人がいる。
同様にIE全盛時代でもw3mを愛し使いつづける人がいる。
算盤もw3mも今となっては原始的なツールだ。
でも、シンプルで軽いという利点がある。
メモリ肥大化という欠点を差し引いても漏れはw3mを愛してるよ。
>>899
だから要らないタブやバッファはまめに殺しなって。
GCのせいじゃないだろたぶん。
904889:05/01/15 00:00:46
>>891
はは、スペースまで空けて必死だな。
そろそろ週末だから俺もw3mのコードをいじろうと思ってるんだけど、
まだ相手して欲しいかい、いけぬま君?
>>904
俺はおまえの方がより必死だと思うぞ。
>>905
必死ですね
>906
こんな必死な奴見たことない
池沼って何よ
以上、算盤塾に通う子の戯れ合いでした(・∀・)
>>908
池も沼も水の溜っている場所。
つまり池沼とはあっぷあっぷの状態にある人の事なんだよ。
放置でお願いします。
誰かGC使わないw3m書いてちょ
それは苦行だ
GCがうまく動かない人の環境ってどんななの?
OSとバージョン教えてよ。
915904:05/01/15 14:28:13
>>905
君よく「おまえの方が○○」とか言いだすよね。小学生かよ :)

で、君はw3mのプロセスサイズが際限なく増えるという問題は抱えてる?
もしそうで、時間あるんなら、とりあえずこのスレの前の方で出てた
GC_malloc()とGC_malloc_atomic()の問題を探ってみなよ。GC_malloc_atomic()
で確保したメモリにはポインタを置かないことがわかっているのでboehm-gc
はその領域をスキャンしない。

やることは、
- ソースを展開
- GC_malloc_atomic()をGC_malloc()に置き換え
- GC_MALLOC_ATOMIC()をGC_MALLOC()に置き換え
- 普段使っているのと同じ方法でconfigure
- make && make install

あと普段使っているw3mがportsとかrpmとかDebianパッケージとかだったら、
比較のために素のw3mソースコードからコンパイルしたもので「再現」するか
どうかも調べないといけないだろうね。

ね、書くのは簡単だけど無駄っぽいだろ? それに「再現」するのには時間が
かかるし。ま、どうせいろいろ言い訳して逃げるんだろうけどな。
916915:05/01/15 14:32:53
あ、あと誰でもいいけど、w3mのプロセスサイズを効率よく
大きくできるエロサイトを知ってたらそれも教えてよ。
ここは>839の戯言スレになりましたね
寂しいんだろうねw
919916:05/01/15 15:50:49
>>880 doc/README.environmentに書いてあるやつね。
環境変数でon/offできるみたいだからCを読めない人にもやってもらえそう
と思ったけど、標準出力に吐いちゃうんでw3mで画面表示をすると消えちゃうよね。
ソースからコンパイルする場合はmisc.cの
int GC_stdout = 1;

int GC_stdout = 2;
に変えるだけでいいけど、これは人によってやりかたが違うかも。
FreeBSD portsだと
# cd /usr/ports/devel/boehm-gc
# make configure
# cd `make -V WRKSRC`
# sed -i.bak '/^ int GC_stdout = 1;/s/1/2/' misc.c
# cd -
# make && make install

あとGCを使わないバージョンを作るという勇者には、
GC_FIND_LEAK=1 ./w3m -v
とかしてGCをleak detectorとして使うのが楽でいいかも。

>>917 みんなw3mと格闘しているからなんじゃない? お前はどうなの?
920917:05/01/15 16:07:18
私はメモリ1GB積んでるから気にしてないですw
それに私のw3mの一生は短いから太りはじめる頃には死んでいます。
921919:05/01/15 16:10:03
>>920 俺のノートPCはメモリ256Mだよ。プレゼントしてくれるの?
922917:05/01/15 16:11:00
つぅか、メモリ64MBの時代からw3m使ってたのですぐ終了する癖が抜けきれないよ。
簡単に増えてく状態作れたのであぷろだにうpした。

wget -O - http://venus.aez.jp/uploda/data/dat4/upload13116.gz | gzip -dc > unix.html

で、w3m unix.html としてリターン押しまくると("reload"のリンク辿ると)メモリが増えていく。
最初数メガだったのがすぐに数十メガになるよ。

この場合メモリ量とはtopのRESの値を言っている。

環境: cvs HEAD。NetBSD/i386。
Free memory of undisplayed buffers は YES にしてる。
他にすることある?
>>923
GJ!
調べてみる
925921:05/01/15 16:47:53
>>923
それは実際にはreloadしていなくて、同じHTMLを別ページとして
持っているからだよ。sでバッファリストを出すとたくさん出るでしょ。
それをDで削除してから適当な操作(たとえばR)すると、バッファは解放
されるはず。ただ、boehm-gcはOSにメモリを返すわけじゃない(し、たぶん
libcのfree()でもtopのRESに反映しないことがある)から、解放されたって
ことが「目にみえる」形ではあらわれないんだよ。
RETだとどんどん太って、Rじゃ太らないね。
>>923
試したよ。

つか、当たり前だろ。
リターン押しまくるってことはバッファが際限なく増えていくってことなんだから。

ちなみにRを連打したら12MBまで増えたけど、それからずーっと12MBのままだね。
あまりに変化があらわれないから疲れたんでそれでやめた。
おそらく多少太るだろうけど微々たるものだね。
928927:05/01/15 16:52:06
ちなみに、試したコマンドはこれ。OSはLinuxだ。
watch 'ps axuw|grep unix.html'
929925:05/01/15 16:58:30
>>923 で、w3mのmain.cというファイルに下のような場所があると思うけど、

/* reload */
DEFUN(reload, RELOAD, "Reload buffer")
{
    Buffer *buf, *fbuf = NULL, sbuf;
#ifdef USE_M17N
    wc_ces old_charset;
#endif
    Str url;
    FormList *request;
    int multipart;

    GC_dump();/* <== ここ */
    if (Currentbuf->bufferprop & BP_INTERNAL) {

ここらへんにGC_dump()を入れて、>>921のような変更をしたboehm-gcとリンクしたw3mを
sh -c 'GC_PRINT_STATS=1 GC_DUMP_REGULARLY=1 ./w3m $HOME/unix.html 2>aaa'
のように起動すると、aaaというファイルに統計情報が出るようになる。
このファイルを
tail -f aaa | grep -e^blocks -e ^Total -e ^Free
とかして別のターミナルに表示させると、w3mでRを押した時にboehm-gcの統計情報が
見れるはず。かわりにGC_gcollect()を入れればリロードの直前にガベジコレクト
してくれるよ。
930929:05/01/15 17:05:41
何度もゴミレスするけど、reload()の先頭よりはdisplayBuffer()の
先頭に入れたほうが便利だな。
931930:05/01/15 18:40:54
>>835
| いくつ以上の履歴は解放する、みたいになってるとありがたいんだが
こんな感じでどう? w3mの履歴はただの単方向リストだから、あまり使いやすい
消え方じゃないかもしれないけど。

begin-base64 644 w3m-max_buffer_count.diff.gz
H4sICJbj6EECA3czbS5kaWZmAI1VaW/aShT9jH/FLZFSiG1ih8UJEVUI2C0SsSMWvXzz83JdRvWC
vOQFRf3vb8YLMQTUjiyGGd977nLOjF3ieSBm8F83EKVOvyNfe0Fn87EUg8glHkE33+dEUTwybdxI
Uk+kj6yA1B32lKF815GqAbx0J0kcz/PnIJl/X5RkUe6DrAx7vWF38Mn/4QFEWZYUYQB8Pivw8MAB
Bz/9yLZ8IGEKJDFjdEmy9a0d3SBpSxvPl2r7/sDK8dGKTTvzPIwLq9VizYz4mlFgvZUmphNlDJsZ
SjUoN8psH2FL3tA3t8xuY5V4U1Ubr+cr83n2os7NZ3VhTn6MF0dpJJiap5z3KV8Qz0UP1kvVnD2N
v6uc+4mowCJhxznV1+LNEVnF5p4uqQ+SzOi6kf6Wrg+EPWG3w648lM4Q1u3f5YSxuSBsmyWbx7yx
rWKCK9rnNgfvHLCx36R8sDVrVXjPiP7Uj9zeRR9TnAXWT2xNsjjGMGV492V8hQmFxlduBXmQJ1CD
eVxrM10zCqDEesUi+Cz0olbOAIa0bk4sMrm+Ap8EJIV0gxBmgU3TjDwoVJLAL9ymcHVdZu1B65OE
voHUpmXyjRBGINH6Gl4UQ8umK43ECcv7Hmz4MgJ9PZ+zvyOwxW8hvqVFYm3qUqHzfEgBj2Mwi4Yd
o/VrD1+DhMvLYlEPNypbWJJSvRLAbtfjUcMR1BrMAn0s6yUUHfjNsYeDJLVS4sBrRNwTAo6d0/Jl
+0fiZVt76d50mXS7vaF0+7fSrfwPb5re3WnhKsVFo1T3zAXVDAkRJk8rU6PHemr+80Olh3s5WRjz
uTkx1voKdLPVbD1CFPq79tKJI98HewcXVDYhJs12JagGHVRMTIFPBv1lqjkIMJmr4wVTZy5MhqrF
iBBgEMU7prksLG85dCv9UXi+jvE0fmEIGrt89slRuZAgC86oN8+wBqEbS1WfLlSKoS5y/2W23caY
JPDvAqkbxsOvsEHLxfjYd/ZdNxaqORnT8nJPeuc6G3CsBEUSJhgmJCWv6O+OHVlX5upyaTyreu65
ThCqDWrM2OkNBoyd3kARbgt2zveVjfdm/c5vCvBszvQVnWamoRuaJkCL6ROu2pd1Q+GQDKEAy0/S
b6FQ+Xvz+AQeoK/Ul1UN/Ni2BDnJl1DFKStw0YlcNJ0U8wjsg3KuhmluOlmpRQFTdWJMKRV0fVhB
icwYxfgVzZQESI9rsP1jhOfSZVV5CNz/ikelIEYIAAA=
====

あとぐだぐだ抜かしていた他の連中も試してみてよ。
改造してみたんで書き込もうと思ったら似たようなことやってる人が。
俺はバッファ列の両端のうち現在位置から遠い側を消すようにしてみたよ。
本家に投げる程のネタでもないな
まぁ暇潰しには適しているが
本家に投げる程のネタでもないな
まぁ暇潰しには適しているが
>>933
なんで二回いうねん
なんで二回いうねん
片方はガベージコレクト汁
気付いたらいつのまにか900超えとる
そろそろ新スレか?
あんまり早く立てるのもイクナイと思われ
どこぞのチャット的なスレで感覚麻痺してるんだろう。きっと。
タブ状態とか、今のステート保存しといて再起動した方がハナシが早くない?
セッションとか関係してると駄目だけど、
大抵はそうでない用途が占めるから、それでも妥協案としてはいいな。
ただ、2chを対象としてる時は、再起動すると落ちてて見れない事がある。
>>939

 -・-  -・-
KK? わわ?
944931:05/01/17 22:56:26
おい糞ガキども、俺を煽ってたときにはずいぶん威勢がよかったのに
パッチを投げたとたんダンマリかよ。検証する手段も書いてやったんだし
topとかpsの表示だけ見て「w3mが肥え太りまする」とかいい続けてないで
ちょっとは自分の目でみてみたのかよ。おじさん寂しいぞ。

それはどうでもいいけど、boehm-gc(6.4)ってLinux上だと
CFLAGS='-DUSE_MMAP -DUSE_MUNMAP' ./configure ...
ってやれば、ガベジコレクトした時にOS側にメモリを戻してくれるみたいね。
他のOSでも使えるようになればw3mやboehm-gcが不当な扱いを受けずに
済むってもんだよな。
あっそo
NetBSD2.0で w3m使ってる人いますか?
前にも報告しましたが、しばらくすると落ちるのは僕だけでしょうか?
>>946
こんなNetBSDユーザーもいるんだね。
みんなスーパーハッカーだと思ってた。。
スーパーハッカーってのは945みたいなのを指すんじゃないのか?
× 945みたいなの
○ 946みたいなの

orz
スワップが大きくなる人って OS は何使ってるの?
WinXP
952946:05/01/18 01:48:37
gdbで attachして調べると、落ちる前に現われる空のバッファは次にようになってます。
{filename = 0x823d630 "/", buffername = 0x823d610 "", firstLine = 0x0, topLine = 0x0, currentLine = 0x0, lastLine = 0x0, nextBuffer = 0x8278110, linkBuffer = {0x0,
0x0, 0x0, 0x0, 0x0}, width = 169, height = 57, type = 0x80a642f "text/html", real_type = 0x829c280 "text/html", allLine = 0, bufferprop = 0, currentColumn = 0,
cursorX = 0, cursorY = 0, pos = 0, visualpos = 0, rootX = 0, rootY = 0, COLS = 170, LINES = 56, pagerSource = 0x0, href = 0x0, name = 0x0, img = 0x0, formitem = 0x0,
linklist = 0x0, formlist = 0x0, maplist = 0x0, hmarklist = 0x0, imarklist = 0x0, currentURL = {scheme = 0, user = 0x0, pass = 0x0,
host = 0x82a1ee8 "www.google.co.jp", port = 80, file = 0x823d608 "/", real_file = 0x0, query = 0x0, label = 0x0, is_nocache = 1}, baseURL = 0x0, baseTarget = 0x0,
real_scheme = 0, sourcefile = 0x8290bd0 "/home/user/.w3m/w3mtmp1252-78.gz", frameset = 0x0, frameQ = 0x0, clone = 0x8326be0, trbyte = 0, check_url = 0 '\0',
document_charset = 256, auto_detect = 2 '\002', document_header = 0x81f5f40, form_submit = 0x0, savecache = 0x0, edit = 0x0, mailcap = 0x0, mailcap_source = 0x0,
header_source = 0x0, search_header = 0 '\0', ssl_certificate = 0x0, image_flag = 2 '\002', image_loaded = 0 '\0', need_reshape = 0 '\0', submit = 0x0, undo = 0x0,
event = 0x0}
>>952
自分もw3mのソースいじっていた時に、落ちる直前Buffer構造体のメンバーが全部空になることがあった。
ステップで実行していくと突然変化するんだけど、なんでだろ。
その時の落ちる原因はfwriteの使い方の間違いだったんだけど。
954名無しさん@お腹いっぱい。:05/01/18 16:56:23
w3mでjavascript対応してくれないかなぁ…。
w3m-jsって、どの位使えるんでしょ?

最近、フォームのボタンが動かないなぁって思ってみてみたら、
Javascriptを使ってた。↓

<input type="button" value="hoge" class="bt" onClick="javascript: goEntry();">

こういうのはw3m-jsでも大丈夫なのかなぁ。
そういう場合はSUBMITを使えば桶
<input type="button" ...> の様な push button は
<input type="submit" ...> や <input type="image" ...> 等の
submit button では代替出来ないです。
同一form中の他の要素(textareaなど)ならSUBMITコマンドできたよ。
keymap M-SPC SUBMIT
NEXT_DOWN, NEXT_UP ってテーブルの罫線が左に無い場所から発動すると
左に罫線があるリンクが罫線の幅の総計だけ右にずれた場所にあるように振る舞うんだすね。
逆の場合は左にずれた場所にあるように振る舞う。
https://iw.nifty.ne.jp/iw/nifty/fengc/lib/2/ にアクセスすると core
dump します。
>>959 アクセスできません。
$ host -t a iw.nifty.ne.jp
Host iw.nifty.ne.jp not found: 3(NXDOMAIN)

他に適当な存在しないホストにhttp/httpsでアクセスしてもcore dumpする?
OSは? w3mやboehm-gcやopensslのバージョンは?
>>960
あれ、今確認したら、nxdomain になってました。
>>960
あ、存在しないホストにアクセスすると core dump するみたいです。
Solaris 9, w3m/0.5.1+cvs-1.943, gc-6.3, openssl-0.9.7e です。

#0 0x00068708 in openSocket (hostname=0x1bfdc0 "a", remoteport_name=0x1a <Address 0x1a out of bounds>, remoteport_num=443)
at url.c:504
504 if (error) {
(gdb) where
#0 0x00068708 in openSocket (hostname=0x1bfdc0 "a", remoteport_name=0x1a <Address 0x1a out of bounds>, remoteport_num=443)
at url.c:504
#1 0x0006b690 in openURL (url=0xffbffb08 "https://a/", pu=0xffbff8b8, current=0x0, option=0xffbff880, request=0x0,
extra_header=0x1be7b0, ouf=0x0, hr=0xffbff868, status=0xffbff747 "") at url.c:1670
#2 0x0003f454 in loadGeneralFile (path=0xffbffb08 "https://a/", current=0x0,
referer=0xffffffff <Address 0xffffffff out of bounds>, flag=0, request=0x0) at file.c:1711
#3 0x00029844 in main (argc=588800, argv=0x156000, envp=0x0) at main.c:914
一度見たページのURLはtabで保管できるとすごく便利だと思わないか?
>>963 == 神

>>963 頼んだ。
>>963
別に思わないけど。
URLを瞬時に丸暗記できるほど記憶力よくないので。
漏れはHISTORY→C-sで十分だ。
967960:05/01/21 20:51:36
>>962
/* try default port */
error = getaddrinfo(hname, remoteport_name, &hints, &res0);



/* try default port */
memset(&hints, 0, sizeof(hints));
hints.ai_family = *af;
hints.ai_socktype = SOCK_STREAM;
error = getaddrinfo(hname, remoteport_name, &hints, &res0);
にしたらどうなる(つまり最初の検索に失敗したあとデフォルトのポートで
もう一度検索する時にhintsを初期化しなおす)?
>>963 具体的にどんな機能なのか想像できない。
>>967
ありがとうございます。変更してみましたがまだ dumps core です。

#0 0x00068708 in openSocket (hostname=0x1bdf78 "a",
remoteport_name=0x1a <Address 0x1a out of bounds>, remoteport_num=443)
at url.c:507
507 if (error) {
(gdb) where
#0 0x00068708 in openSocket (hostname=0x1bdf78 "a",
remoteport_name=0x1a <Address 0x1a out of bounds>, remoteport_num=443)
at url.c:507
#1 0x0006b6a8 in openURL (url=0xffbffb10 "https://a/", pu=0xffbff8c0,
current=0x0, option=0xffbff888, request=0x0, extra_header=0x1bb7b0,
ouf=0x0, hr=0xffbff870, status=0xffbff74f "") at url.c:1673
#2 0x0003f454 in loadGeneralFile (path=0xffbffb10 "https://a/", current=0x0,
referer=0xffffffff <Address 0xffffffff out of bounds>, flag=0, request=0x0)
at file.c:1711
#3 0x00029844 in main (argc=588800, argv=0x156000, envp=0x0) at main.c:914
970967:05/01/21 21:53:32
>>969
ごめん、関係ないや。openURL()からopenSocket()を呼ぶ時に、既に
2番目の引数が変よね。(0x14ということはNULL + 構造体メンバのオフセット?)
(gdb) fr 1
(gdb) info locals
>>970
(gdb) fr 1
#1 0x0006b6a8 in openURL (url=0xffbffb10 "https://a/", pu=0xffbff8c0, current=0x0, option=0xffbff888, request=0x0,
extra_header=0x1bb7b0, ouf=0x0, hr=0xffbff870, status=0xffbff74f "") at url.c:1673
1673 sock = openSocket(pu->host,
(gdb) info locals
tmp = 0x5400
sock = 0
scheme = 13
p = 0x0
q = 0x5400 <Address 0x5400 out of bounds>
u = 0xffbffb10 "https://a/"
uf = {scheme = 13 '\r', is_cgi = 0 '\0', encoding = 0 '\0', stream = 0x0, ext = 0x96e90 "", compression = 0,
guess_type = 0x0, ssl_certificate = 0x0, url = 0x16def0 "https://a/", modtime = -1}
hr0 = {command = 0 '\0', flag = 0 '\0', referer = 0x1 <Address 0x1 out of bounds>, request = 0x2102}
sslh = (SSL *) 0x0
です。よろしくおねがいします。
質問です.
w3m version w3m/0.5.1 と VIM - Vi IMproved 6.3 で 2ch に書き込もうとすると,
改行を入れても,それが消えてしまいます.どうしたら良いでしょうか?
OS は Debian の woody です.
973972:05/01/22 00:52:31
あれ?
WEB製作板では
駄目だったのに??
974972:05/01/22 00:53:29
何かの
手違い
だった
みたい
です.

すみません.
いやいや偶に消えるよ。どういう条件でそうなるのかよく判らんが
976970:05/01/22 01:28:42
>>971 SUTOさんがMLにパッチを投げてくれたみたい。ごめん、役立たずで。
>>972

>>7かな。
普通にリンク辿る場合と、U<C-p><RET>とでは、違いありますか?
refererとかで。
refererが付かないのでは?
ENVチェッカなサイトで調べる
981972:05/01/22 20:18:50
>>975, >>977
すみません,FAQ だったのですね.きちんとスレを読まずに質問して
申し訳ありませんでした.
w3m も screen も今週使い始めたばかりなのですが,大変気に入って
おります.もうMozilla には戻れない...
>>958
バグだね。
>>958>>983
おれもNEXT_UP, NEXT_DOWNでリンクを飛ばすことがあったのが気に
なってた。