[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: dot.emacs sample fixed was Re: japanese configuration
- To: bep@argv.org
- Subject: Re: dot.emacs sample fixed was Re: japanese configuration
- From: Naoto Takahashi <ntakahas@m17n.org>
- Date: Fri, 30 Mar 2001 21:16:51 +0900 (JST)
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
- User-Agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.0.97 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI)
> 井上です。
> おそらくここはdefvarでなくsetqでよい気がしますが。
たしか井上さんか渡辺さんが以前説明なさっていたと思いますが、defvar と
setq の基本的な使い分けは以下のとおりです。
1. 新たに広域変数を宣言するときは defvar でデフォルト値を与える。
すでに存在する広域変数を defvar しても、その値を変えることはできな
い。
2. すでに存在する変数の値を変更するときは setq を使う。このときの変数
は広域変数でも局所変数でもよい。
3. まだ宣言されていない変数に対していきなり setq を使うこともできる。
この場合その変数はsetq で指定された値を持つ広域変数となる。いちいち
defvar で宣言しなくてもいいのでテストする分には便利だが、こういう使
い方は行儀が悪いとされる。特にデバッグするときに困ることになるので、
自分以外の人も使うプログラムではまず defvar してから必要に応じて
setq すべき。
ということになります。
--
TAKAHASHI Naoto
ntakahas@...
http://www.m17n.org/ntakahas/