portability of *.elc
Shuhei KOBAYASHI
shuhei @ aqua.ocn.ne.jp
1999年 11月 10日 (水) 16:46:13 JST
>>>>> In <htx4seu52k3.fsf @ mulelab3.etl.go.jp>,
>>>>> tomo @ etl.go.jp (守岡 知彦 / MORIOKA Tomohiko) wrote:
> > 真面目な話, 何らかの方法でこの macro が利用できれば, default で
> > は一切展開しない状態にしておいて, APEL を使用する application の
> > 都合によっては展開を指示する事もできるので理想的なのですが.
> > ;; この macro の定義と inline 宣言だけを含んだ apel-inline.el で
> > ;; も提供しますか? (require 'apel-inline) すると関数が展開され
> > ;; る, と.
> むしろ install の仕方によって展開を指示できた方が良いと思います。
APEL の install 時に展開する・しないを決めてしまうわけですか?
常に展開しても良い場合(単一の emacs で使用する場合など)はそれでも良い
と思いますが, そうではない場合には APEL を利用する application の側で,
あるいは user の側で個別に指示できないと困ると思います.
APEL のどこかに
(eval-and-comile
(defvar apel-enable-inline nil))
(static-if apel-enable-inline
;; function inlining is enabled by default.
(require 'apel-inline)
;; function inlining is enabled if `apel-enable-inline' is non-nil,
;; before loading this file.
(when apel-enable-inline
(require 'apel-inline)))
みたいなのを入れておいて, APEL の install 時に `apel-enable-inline' を
APEL-CFG の中で設定するような方式であれば, どちらの要望にも対応できるの
ではないでしょうか?
;; proclaim-inline の定義を切り替えるというのも一瞬考えたけど, ちょっと
;; 邪悪だな(^^;;;
> GNU Emacs 20.2 を持っている人は 20.2 で compile すれば良い訳ですが、
といった判断は version 間の差異に関する知識が必要なわけですが, それが
普及するとは思えないです.
> それでもだめですか? loop の中で使うことが多いので、結構悲しいと思い
> ますが。
char-next-index だけなら実はそれほど効率に影響するとは思っていないので
すが, そうでないものがあるかもしれないので, Elib のように macro 版と関
数版を用意して, `apel-inline' のような option で APEL の install 時に,
あるいは APEL を利用する application で切り替えるというのならいいと思い
ます.
;; *.elc の共有の道を閉ざす事に反対なので, 方法が user option のような
;; 目に見える形で用意されていれば default で展開されるようになっても構
;; わないです.
--
Shuhei KOBAYASHI
More information about the APEL-ja
mailing list