sref in filename.el
Hiroya Murata
lapis-lazuli @ pop06.odn.ne.jp
2005年 6月 6日 (月) 11:14:57 JST
先ず前提として, ユーザに (defalias 'sref 'aref) させるのは, なしっ
て事にしたいです.
In the message [apel-ja : No.01292]
on Mon, 06 Jun 2005 09:34:38 +0900, Katsumi Yamaoka wrote:
> Emacs 20.2 以下における非 ascii 文字の扱いは、それ以降のものとは
> まったく異なるので、filename.el に古い Emacs もサポートさせるな
> らば aref で置き換えることはできません。以下は Mule 2.3 @ 19.34 の
> 場合です。
[...]
> 一方、最近まで sref が aref への alias だったように、きちんと書
> かれた sref を使うコードを、上位の Emacs では aref に置き換えて
> しまうことは可能です。
古い Emacs では, sref と aref に互換性はないので, 単純に置き換えは
出来ないと言うのは理解しました. ただ, CVS head で sref の定義がな
くなった以上,
1. このまま sref を使い, (defalias 'sref 'aref) も提供する
2. aref で置き換え, (aref と sref に互換性のない) 古い Emacs 用に
aref を再定義する
のどちらかが必要だと思います. (そもそも 2が可能かどうかと言う問題
もありますが)
1 の方が簡単で影響も少ないのでしょうが, これから書かれる APEL を使っ
て互換性を維持しようとするプログラムで, 文字列から文字を取り出す目
的で sref を使えって言うのもどうかと言う気がします.
> > 逆に, 古い emacs 用に aref を emulate する必要がありますか?
(fset 'aref-original (symbol-function 'aref))
(defun aref (array index)
(if (stringp array)
(sref array index)
(aref-original array index)))
この程度で済むのであれば, 上記の 2の方が良い様に思えます.
どうでしょうか?
--
Hiroya Murata (村田 浩也) <lapis-lazuli @ pop06.odn.ne.jp>
PGP fingerprint: 53B6 1B4A 8193 A2D4 1526 BC9E 9AEF 2F6D 249D 5F17
More information about the APEL-ja
mailing list