format-time-string

Katsumi Yamaoka yamaoka @ jpl.org
2001年 10月 11日 (木) 18:11:12 JST


>>>>> In [apel-ja : No.00663]
>>>>>	TSUCHIYA Masatoshi <tsuchiya @ pine.kuee.kyoto-u.ac.jp> wrote:

土屋さん> そういうわけで、現在の poe.el にある関数定義を %z に対応する
土屋さん> ように改良すると同時に、

土>    (or (fboundp 'format-time-string)
山> この部分のために関数の置き換えが行なわれない問題があります。

再確認のため、この辺りの static-unless から始まるロジックの意味
を直訳してみました。

  poe.el を byte-compile するときすでに poe.el 以外を起源とする
  format-time-string が存在していたら、format-time-string の再定
  義を行なう byte-code を poe.elc を生成しない。

  poe.elc が load されるときすでに format-time-string が存在して
  いたら再定義を行なわない。

これをさらに意訳すると

  format-time-string が無い Emacs、すなわち v19.29 未満のための
  関数定義である。

となると思います。すると、

土屋さん> この問題の対策として defadvice を併用する、という修正案を作っ
土屋さん> てみました。どうでしょうか?

土屋さんの対応は理に適っていそうですね。Emacs 18 には advice が
ありませんが、この場合はたぶん問題無い、と。

;; advice が勝手に bytecomp を呼ぶこと、それに describe-function
;; すると poe.elc で定義された関数になってしまうのを嫌う人がいる
;; かもしれない、という心配はありますが。

;;; 最初に拝見したとき、defadvice は APEL とは別の場所で行なうの
;;; だと思っていました。^^;;

;;;; current-time-zone がうるう秒を引いた (32385 "JST") のような
;;;; 値を返すシステムが希にありますが、放っておきましょう。:-p
-- 
Katsumi Yamaoka <yamaoka @ jpl.org>




More information about the APEL-ja mailing list