save-match-data (Re: Daredevil SKK on Nemacs (??))

Shuhei KOBAYASHI shuhei @ aqua.ocn.ne.jp
2000年 1月 25日 (火) 07:57:10 JST


>>>>> In <sa6ln5f5e2m.wl @ osaka.email.ne.jp>,
>>>>> Mikio Nakajima <minakaji @ osaka.email.ne.jp> wrote:
> このうち、(1), (2) に関しては、APEL にフィードバックしたら喜ばれると思
> います。特に save-match-data は poe-18.el では定義されていないのに
> poe.el では file-name-sans-extension の定義のために用いられていますし。

save-match-data がないのは私の勘違いが原因です(^^;
poe-18.el に

;; (defalias 'save-match-data 'store-match-data)

という行がありますが, これは

(defalias 'set-match-data 'store-match-data)

の誤りで, この他に

(defvar save-match-data-internal)

;; We use save-match-data-internal as the local variable because
;; that works ok in practice (people should not use that variable elsewhere).
;; We used to use an uninterned symbol; the compiler handles that properly
;; now, but it generates slower code.
(defmacro save-match-data (&rest body)
  "Execute the BODY forms, restoring the global value of the match data."
  (` (let ((save-match-data-internal (match-data)))
       (unwind-protect (progn (,@ body))
         (set-match-data save-match-data-internal)))))

を定義する必要がありますね.

-- 
Shuhei KOBAYASHI




More information about the APEL-ja mailing list