product.el (Re: DEL and SPC in RMAIL-summary buffer)
Keiichi Suzuki
keiichi @ nanap.org
2000年 12月 28日 (木) 12:21:01 JST
>>>>> apel-ja の No. 00509
>>>>> Message-Id: <htxr92ugkpb.fsf_-_ @ urania.kanji.zinbun.kyoto-u.ac.jp> で、
>>>>> "守岡" == tomo @ kanji.zinbun.kyoto-u.ac.jp (守岡 知彦 / MORIOKA Tomohiko)さま曰く...
守岡> この方向性で鈴木圭一さんが code を書きはじめてくださったそうなんですが、
守岡> 互換性の問題がありそうだとのことです。
現在考えている範囲で、変更になる点をあげておきます。
以下、 `product object' という表記は新形式(`product' property を
持つ、 symbol)の product object を表します。
1. product-define - 変更
この関数が返す値が、 vector から、 `product object' になります。
NAME は、シンボルを基本としますが、互換性のために、 string も
受け付けるようにします。これは FAMILY も同様です。
NAME がシンボルとなりますので、 vector 内には保持しません。そ
のため、 vector 長は、現在の 8 から 7 に変更します。
また、第5引数として、 DOC-STRING を追加します。この文字列は、
プロパティ `product-documentation' として、シンボルに付加しま
す。
2. 引数 - 共通変更
各関数の引数として、旧形式の product object (vector) であった
ものは、すべて(新形式の) `product object' になります。
`product object' 以外のものを渡された場合には、
`wrong-type-argument' error を発生するようになります。
3. productp - 新設
オブジェクトが `product object' で有る場合には、 t 、そうでな
ければ nil を返します。
4. product-set-name - 廃止
5. product-find-by-name, product-find-by-feature, product-find - 変更
返り値が vector から `product object' になります。
6. product-provide - 変更
現在、 feature の symbol に vector を値として持つ `product'
property を付加していますが、 (`product object' symbol
version) という形式の、 list を値として持つ、
`product-of-feature' という property を付加するようになります。
この `symbol' 及び `version' はそれぞれコンパイル時の
`prodect object' の symbol および version になります。
守岡> (b) API となる関数の明確化
私としては、以下の関数群を API として定義し、これらから外れてお
り、なおかつ内部でも使用していない関数は、削除することを提案しま
す。
product-ignore-checkers
Variable: (not documented)
product-define
Function: Define a product as a set of NAME, FAMILY, VERSION, and CODE-NAME.
product-provide
Macro: Declare a feature as a part of product.
Plist: lisp-indent-function
product-add-checkers
Function: Add checker function(s) to a product.
product-remove-checkers
Function: Remove checker function(s) from a product.
product-run-checkers
Function: Run checker functions of product.
product-name
Function: Return the name of PRODUCT, a string.
product-checkers
Function: Return the checkers of PRODUCT, a list of functions.
product-code-name
Function: Return the code-name of PRODUCT, a string.
product-family
Function: Return the family name of PRODUCT, a string.
product-family-products
Function: Return the family products of PRODUCT, a list of strings.
product-features
Function: Return the features of PRODUCT, a list of feature.
product-version
Function: Return the version of PRODUCT, a list of numbers.
product-version-string
Function: Return the version string of PRODUCT, a string.
product-find
Function: Find product information.
product-find-by-feature
Function: Get a product structure of a feature's product.
product-find-by-name
Function: Find product by name and return a product structure.
product-for-each
Function: Apply a function to a product and the product's family with args.
product-list-products
Function: List all products information.
product-set-code-name
Function: Set code-name of PRODUCT to CODE-NAME.
product-set-version-string
Function: Set version string of PRODUCT to VERSION-STRING.
product-string
Function: Return information of product as a string of "NAME/VERSION".
product-string-1
Function: Return information of product as a string of "NAME/VERSION".
product-string-verbose
Function: Return information of product as a string of "NAME/VERSION (CODE-NAME)".
product-version-as-string
Function: Return version number of product as a string.
product-version-compare
Function: Compare two versions.
product-version>=
Function: Compare product version with required version.
product-parse-version-string
Function: Parse version string ".*v1.v2... (CODE-NAME)".
以下のものは API からはずしたいと思います。
product-set-checkers
Function: Set ckecker functions of PRODUCT to CHECKERS.
product-set-family-products
Function: Set family products of PRODUCT to PRODUCTS.
product-set-features
Function: Set features of PRODUCT to FEATURES.
さらに、以下のものは削除したいと思います。
product-set-name
Function: Set name of PRODUCT to NAME.
product-set-version
Function: Set version of PRODUCT to VERSION.
product-add-feature
Function: Add a feature to the features list of a product.
product-add-to-family
Function: Add a product to a family.
product-obarray
Variable: (not documented)
product-remove-feature
Function: Remove a feature from the features list of a product.
product-remove-from-family
Function: Remove a product from a family.
product-set-family
Function: Set family name of PRODUCT to FAMILY.
>>>>> apel-ja の No. 00511
>>>>> Message-Id: <200012280152.KAA11892 @ etlken.etl.go.jp> で、
>>>>> "Kenichi" == Kenichi Handa <handa @ etl.go.jp>さま曰く...
Kenichi> internal なものは全部
Kenichi> "For internal use only.
Kenichi> ...."
Kenichi> という形にするのも良いかもしれません。
Kenichi> M-x apropos RET ^product- RET
Kenichi> で何が internal で何が API かすぐに分かるので。
賛成します。
;; もうすぐ大掃除、その後、納会が始まりますので、今日は反応でき
;; ないかもしれません。 ^^;;;
--
鈴木圭一 / keiichi @ nanap.org
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4 4089 7AAF 2B03 ECBD 614B
More information about the APEL-ja
mailing list