[mew-dist 21600] Re: add no Messege-ID: by Mew

SAKAI Kiyotaka ksakai at example.com
2002年 9月 3日 (火) 11:30:52 JST


>> In article <20020902.233229.01048059.gotoh at example.com>, Shun-ichi GOTO <gotoh at example.com> writes:

kazu> Q2) Emacs の time-zone を設定するのは、setenv() を使うべきなのでしょう
kazu> か? set-time-zone-rule() という関数があるようですが。

> set-time-zone-rule<f>の存在をすっかり忘れていました。
> きっとそちらを使うべきなのだろうと思います。

> ただ、環境変数TZとの関連は調べとかないと、、、ということで、本来はsouce
> を追うべきですが、Meadow 1.15 にて*scratch*で軽く試す限りは、以下の結果
> が得られました。

> 1. (format-time-string "%z (%Z)" (current-time)) の値は(setenv "TZ" ...) 
>    と (set-time-zone-rule ...)のうち、あとに実行した方の内容が効いて来ま
>    す。

> 2. (set-time-zone-rule ...)しても(getenv "TZ")の内容は変わらない。

> 3. (set-time-zone-rule nil)した場合、(getenv "TZ")の内容によらず、
>    TZが設定されていないときと同じ振る舞い。

ソースを確認したところ、set-time-zone-rule() は main の第3引数の 
**environ を直接操作して、TZ=... をセットしていました。

一方、setenv() は変数 process-environment にその環境変数と値を追加する
だけですが、TZ をセットしようとしたときに限り set-time-zone-rule() も
呼び出していました。

ですから、set-time-zone-rule() を使うのも setenv() を使うのも同じと考
えていいと思います。
-- 
酒井 清隆 (E-mail: ksakai at example.com)



Mew-dist メーリングリストの案内