find-coding-system() in pces-e20.el

守岡 知彦 / MORIOKA Tomohiko tomo @ kanji.zinbun.kyoto-u.ac.jp
2000年 9月 28日 (木) 13:04:30 JST


>>>>> In [apel-ja : No.00409] 
>>>>>	"守岡" = tomo @ kanji.zinbun.kyoto-u.ac.jp (守岡 知彦 / MORIOKA
	Tomohiko) wrote:

守岡> ところで、APEL に頼らず自前で check & 切替えをする場合において、

白井> (if (fboundp 'find-coding-system)
白井>     (fset 'hoge-coding-system-p (symbol-function 'find-coding-system))
白井>   (fset 'hoge-coding-system-p (symbol-function 'coding-system-p)))

守岡> はやや慎重さが足りないと思います。多分、

守岡> (and (fboundp 'find-coding-system)
守岡>      (subrp (symbol-function 'find-coding-system)))

守岡> とか、あるいは

守岡> (and (featurep 'xemacs)
守岡>      (or (featurep 'file-coding)
守岡> 	 (featurep 'mule)))

守岡> とかの方が良いかも知れません。そういう訳で、『使い方が悪い』とい
守岡> う気もします。

ふと思ったんですが、ここでの目的は多分 Emacs における coding-system-p
と同様に coding-system の名前を与えた時もに non-nil を返す関数を作るこ
とだと思うので、

(cond ((coding-system-p 'binary)
       (defalias 'hoge-coding-system-p 'coding-system-p))
      ((fboundp 'find-coding-system)
       (defalias 'hoge-coding-system-p 'find-coding-system))
      (t (defun hoge-coding-system-p (coding-system))))

みたいな定義の方が良いかも知れません。

;; 特定の mule 実装の集合を仮定しない場合、coding-system-p の挙動と 
;; find-coding-system の挙動は別問題なので、一方の挙動が決まった時に他
;; 方の挙動も決まるとは言えないと思います。

;; また、『本物』の存在の有無を優先して探索した方がはまりにくいと思い
;; ます。
-- 
┯━…‥・懐かしい未来の記憶をふと思い出しかけた・‥…━━┯━━━┯━
││ ─ │  ─  /    ─   ┼─     ┬                ─   ─┼ ┬┴─
┼┼─┼|〓━─┼ 守岡 知彦 (MORIOKA Tomohiko) <tomo @ m17n.org> ─ ─┬
┻┻━┻━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




More information about the APEL-ja mailing list