[Mew-dist 114] Re: Mew-1.52 がコンパイルできない

Mikio Nakajima gy2m-nkjm at example.com
1996年 11月 22日 (金) 21:44:22 JST


  中島です。

From: SAKAI Kiyotaka <ksakai at example.com>
Subject: [Mew-dist 104] Re: Mew-1.52 がコンパイルできない
Date: Fri, 22 Nov 1996 11:24:02 +0900
Message-ID: <19961122112402G/ksakai at example.com>

ksakai> これですが、わざわざ mew-delq を使う必要はあるのでしょうか?
ksakai> 
ksakai>   (cond (mew-emacs19p (...)))
ksakai> 
ksakai> の内部で実行していますので、小林さんのコードにあったように delete を使っ
ksakai> ても問題ないと思うのですが。
ksakai> 
ksakai> Emacs 19 では、delete() は C で書かれていますので、Emacs Lisp のコード
ksakai> を使うよりも速いと思いますし。

ご存じかとは思いますが、rassq の検索結果を直接参照して元の alist の
要素を消すのならば、delete でなくとも delq で OK です。eq で済む比
較であれば equal を使うよりも高速であるのは言うまでもありません。

ちなみにこれは assoc, rassoc や assq で検索結果を直接参照して元の
alist の要素を消す場合でも同様です。assoc や rassoc が equal を使う
ことは問題がありません。その検索結果を直接 (検索結果を変数に取って
も直接参照ですね) 参照するのであれば、常に eq で比較が可能であるか
らです。

でもまあ auto-mode-alist の中の要素を消すだけなら、こんなミニマリズ
ムを論じる意味が多いにあるとは思えませんが、自分でコードを書くなら
delq を使いますね。

念のため申し上げますが、Emacs Lisp 以外では違うかもしれません。私は
Lisp と言えばこの変態言語 (のくせに世界一ユーザーが多いと思われる言
語) しか知らないからです :-)。

# すみません、まだ忙がしくて Mew-1.5x にアップデートしてません。

中島幹夫 <gy2m-nkjm at example.com>




Mew-dist メーリングリストの案内