APEL version
守岡 知彦 / MORIOKA Tomohiko
tomo @ etl.go.jp
1999年 11月 9日 (火) 20:09:18 JST
>>>>> [apel-ja : No.00064] にて
>>>>> “修平”= Shuhei KOBAYASHI <shuhei @ aqua.ocn.ne.jp> さま曰く:
修平> > 「product-version XX以上の feature が provide されているか判定」-p
修平> > みたいなのが general に用意されてると便利かもしれないと思います。
修平> > ;; どうやって実現するかは?ですが..。
修平> こんなものでいいんでしょうか?
修平> ;; (product-find-by-name "APEL") => ["APEL" (9 23) "Nippori"]
修平> ;; (product>= (product-find-by-name "APEL") '(9 22)) => t
修平> ;; (product>= (product-find-by-name "APEL") '(9 22 1)) => t
修平> ;; (product>= (product-find-by-name "APEL") '(9 23)) => t
修平> ;; (product>= (product-find-by-name "APEL") '(9 23 1)) => nil
修平> ;; (product>= (product-find-by-name "APEL") '(9 24)) => nil
(略)
XEmacs の `emacs-version>=' に合わせて、`product-version>=' にするのを
希望します。
;; ふと SEMI と WEMI のことが頭をよぎって、product-type とか
;; product-type-version なんてのもあった方が良いかなと思いましたが、際
;; 限ないからやめといた方が良いかな?
修平> ;; (product-find-by-feature 'poe) => ["APEL" (9 23) "Nippori"]
修平> ;; (product-require 'poe '(9 22)) => t
修平> ;; (product-require 'poe '(9 23)) => t
修平> ;; (product-require 'poe '(9 24)) => nil
修平> (defun product-require (feature version)
修平> (when (require feature nil t)
修平> (let ((product (product-find-by-feature feature)))
修平> (when product
修平> (product>= product version)))))
修平> ただし, `require' は byte-compiler で特別扱いされているはずなの
修平> で, `require' を `product-require' で代用するのでなく, (require
修平> FEATURE)した後で (product-require FEATURE VERSION) で判定する方
修平> が無難だと思います.
product-feature-p とかの方が良いんじゃないでしょうか?
あと、product-name も check できた方が良いかも知れません。
;; 例えば、APEL の alist か XEmacs 附属の alist かを調べたい時とか?
--
┯━…‥・懐かしい未来の記憶をふと思い出しかけた・‥…━━┯━━━┯━
││ ─ │ ─ / ─ ┼─ ┬ ─ ─┼ ┬┴─
┼┼─┼|〓━─┼ 守岡 知彦 (MORIOKA Tomohiko) <tomo @ etl.go.jp>─ ─┬
┻┻━┻━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
More information about the APEL-ja
mailing list