APEL version

Shuhei KOBAYASHI shuhei @ aqua.ocn.ne.jp
1999年 11月 9日 (火) 18:27:03 JST


>>>>> In <uwvrsdqbi.fsf @ kei.nanap.org>,
>>>>> Keiichi Suzuki <keiichi @ nanap.org> wrote:
> 私もあまりうれしくないのですが、 gnus の一部に固有のバージョン情報を
> 持つものが一部ありますので、こういう需要もあるかな? というつもりです。

なるほど.

> ふと思ったのですが、 &optional doc-string というのはどうでしょうか?

とりあえず 1 つ汎用の slot を設けておくというのはどうでしょう?

(defun product-define (name &optional version code-name &rest properties)
  "Define a product as a set of NAME, VERSION, and CODE-NAME.
NAME is a string. Optional 2nd argument VERSION is a list of integers.
Optional 3rd argument CODE-NAME is a string.
Remaining args are arbitrary keyword-value pairs."
  (set (intern name product-obarray)
       (vector name version code-name properties)))

> code-name を除く product-name と vertion だけは、 *.elc に埋め込むと
> いうのもダメでしょうか?

この部分はもう一方の thread とリンクさせていた話ですが, 今ではちょっと
穏健になりました(^^; *.elc に version を埋め込んでおくと何が嬉しいのか
わかっていませんが, 有効な用途があるならば構わないと思います.
;; code-name も, non-ASCII な文字を選択した時点で *.elc の互換性はほぼ
;; 放棄したようなものなので, この部分でこだわっても仕方ないかも.

> ;; 先日 FLIM の ChangeLog を書くのに苦労しました。 ctext でもダメ
> ;; だったので、結局 raw-text で。 ^^;;;;

;; 私なら vi かな.  multibyte character を含む source を mule で編集
;; するのが危険というのは何か間違っている気がするけど(^^;

> > ;; The following two macros are defined just for completeness.
> > (defmacro product-set-name (product name)
> >   "Set name of PRODUCT to NAME."
> >   (` (aset (, product) 0 (, name))))
> > (defmacro product-set-version (product version)
> >   "Set version of PRODUCT to VERSION."
> >   (` (aset (, product) 1 (, version))))
> ;; これは削りたいな...

対称性が失なわれるのが嫌なので, せめて comment out ということで(^^;

> それと、昨日のメイルに書き忘れたのですが、 emacs に関する情報をこのファ
> イルの中で product-define してしまいませんか?

あ, これは私も思いました. User-Agent field を作る時には emacs 等の情報
も使うので, これらも統一して扱いたいですよね.
;; ただ, 場所は product.el の中かなぁ?
;; やっぱり product.el で (require 'poe) する必要が出てくるか...

-- 
Shuhei KOBAYASHI




More information about the APEL-ja mailing list