Why `defvar-maybe' is necessary?

NAKAJIMA Mikio minakaji @ osaka.email.ne.jp
2000年 12月 15日 (金) 08:23:55 JST


At 13 Dec 2000 17:18:31 +0900,
Katsumi Yamaoka wrote:
 
> すぐに思い付くのは、既存の変数の doc-string を変えないことですが...。
 
(defvar foo 'foo "foo")
=> foo
(documentation-property 'foo 'variable-documentation)
=> "foo"
(defvar foo 'bar)
=> foo
(documentation-property 'foo 'variable-documentation)
=> "foo"

  doc-string を指定しないときは、doc-string が nil になるんじゃなくて、
元の doc-string が保存されるんですね。

doc-string が与えられたら既に変数が bind されていても doc-string だけ
変更し、doc-string が与えられなかったら nil に bind せずに元の
doc-string を保存する... 不思議な仕様だ...。
-- 
中島幹夫 <minakaji @ osaka.email.ne.jp>
http://www.asahi-net.or.jp/~gy2m-nkjm/




More information about the APEL-ja mailing list