[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:05963] Re: How do I make Emacsen understand "Environment" ?



西本@早大理工情報です.

> Emacsで環境変数によって場合分けさせるにはどうしたらよいでしょうか?
> 
> 具体的には
>  $Displayによってフォントを変えたい
> のです.
> 
> おそらくは
> (if (equal ???? MyDisplay)
> (setq default-frame-alist        
>       (append
>        '(
> ;	 (line-space . "0") 
> 	 (width . 50)
> 	 (height . 30)
> 	 (font . "fontset-small")
>        default-frame-alist...
> 
> 見たいな事を.emacsに書けばいいのではないかと邪推してますが,???の部分
> がどうするのかがよく分かりません.

環境変数操作関数として
 -- Function: getenv VAR
 -- Command: setenv VARIABLE VALUE
がありますよ。

(getenv "SHELL")
"/usr/bin/tcsh"

% printenv SHELL
/usr/bin/tcsh

となると、
(if (equal (getenv "Display") MyDisplay) ....
となるのかな。
この書き方なら、Displayは環境変数で、 MyDisplay はLisp変数です。
もし、MyDisplayが環境変数の値ならば、"MyDisplay"とする必要があります。