[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: w3m-exec-filter
From: TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> さん曰く
Subject: [emacs-w3m:00104] w3m-exec-filter (was: Some change.)
Message-ID: <mpar90az78w.fsf_-_@azalea.kuee.kyoto-u.ac.jp>
Date: 07 Mar 2001 10:40:31 +0900
>> On 07 Mar 2001 09:25:52 +0900
>> 「土」== tsuchiya@pine.kuee.kyoto-u.ac.jp (TSUCHIYA Masatoshi) said as follows:
白井> (2) w3m で "Username:" と "Password:" を聞いてくるのは、絶対に一
白井> 番最初で聞いてくる(ような ^_^;)ので、filter で "Username:"
白井> "Password:" の処理をするときに、process の出力の (point-min) か
白井> ら (match-end 0) までを delete-region するようにした。
土> 残念ながら、これはうまく動きません。なぜなら、本文中にプロンプトに一致
土> する文字列が含まれていることを考慮していないからです。
土> なんとか誤魔化す方法を発見しました。
丁度似たようなことをやっていたところです。土屋さんの方がきれい。
土> ## て言うか、自分で問題を出して、自分で解いてりゃ世話ないよなあ…。
## 世の中そんなもんですって。
土> 要点は、process-send-string が成功するかしないかを、実際にプロンプトの
土> 文字列なのか否かの判断に利用する、ということです。更に、上記のプロンプ
土> トが現れるのは *必ず* 先頭であることを強く仮定すれば、かなり安全にプロ
土> ンプトを取り除けそうです。
これの判定って、
((and (looking-at
"\\(\nWrong username or password\n\\)?Username: Password: ")
(= (match-beginning 0) (point-min)))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
でいいんじゃないですか?その方が安全でしょう。
# 納得されたら変更しておいていただけませんか > 土屋さん
土> # やっぱり、バックエンドとして利用されることを考慮していないプログラム
土> # をバックエンドとして使うのは、どうしても無理があるなあ…。
### もともと、elisp から動かすことを考慮していないコマンドを動か
### すのって、こういう作業の繰り返しだと思う。無理といえば無理な
### んだけど。
--
白井秀行@絶対、寺西さんが絵を出してくださると思っていました :-)