[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: follow anchors that point shimbun articles



>> On Mon, 24 Sep 2007 23:51:49 +0900
>> tsuchiya@xxxxxxxxxx (TSUCHIYA Masatoshi) said as follows:

>>とすることを提案し、これを defcustom で定義するように変更、かつこの変数
>>に設定した関数の戻り値が何でも良いことにしました。

‥‥ああそうか,「何でも良い」を達成するために,非局所脱出を使うようにし
たのですね?

>>一方、本来の目的である `gnus-summary-refer-shimbun-article' という関数
>>(nnshimbun.el にあります) が、その url を Xref として持つ新聞記事がロー
>>カルシステムに無い場合に nil を返したら、通常の方法でその取得を再度試み
>>るという従来の仕様は変えていません。

>>ただし`gnus-summary-refer-shimbun-article' を単独で (catch 無しで) 使う
>>とエラーになりますが、問題無いですよね?

>問題ありと思います.

>斜めにコードを読んだだけですが,非局所脱出を使わなければならない必然性が
>分かりません.非局所脱出を使って,外部プログラムとインターフェースを取ろ
>うとすると,非局所脱出のためのシンボルと返り値という2つの要素が必要にな
>ります.つまり,emacs-w3m と外部プログラム(この場合,browse-url)の両方で
>同一のシンボルを使うと同時に,同じ semantics の返り値を使う必要があり,
>互換性問題を複雑にします.

>また,非局所脱出用のシンボルとして,success という非常にありがちなシンボ
>ルを使っていますが,これも疑問です.このようなありがちなシンボル名は,外
>部プログラムの内部でも使われる可能性が高いですから,少なくとも,外部プロ
>グラムとの間の通信で使うべき名前ではないと思います.

しかし,上記2点の問題点は変わりませんから,やっぱり筋の悪い解決策だという
印象はあります.

browse-url() の返り値は,browse-url-browser-function の値に左右されるので
すが,Emacs22 で最初から用意されている20関数の内,常に nil を返す関数は
browse-url-cci() のみで,残りの関数は常に non-nil を返しそうです.

単純には,「失敗した場合には t を返す」というような関数に制限してやれば,
browse-url 由来の関数でも大抵は無改造で済ませられるのですが.
‥‥‥しかし,「失敗した場合には t を返す」ってのはなあ.なんだかなあ.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )