[mew-dist 28196] Re: Mew 5.2.54 fails to byte-compile with Emacs 21.4
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2008年 3月 19日 (水) 10:32:54 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 28195] Re: Mew 5.2.54 fails to byte-compile with Emacs 21.4
Message-ID: <20080319.101939.143660279.kazu at example.com>
Date: Wed, 19 Mar 2008 10:19:39 +0900 (JST)
> > | While compiling toplevel forms in file /home/tats/wk/deb/mew/mew/mew-decode.el:
> > | !! Symbol's function definition is void ((declare))
> >
> > declareを使っているmew-edit.el, mew-mule3.el, mew-pick.elに
> > (eval-when-compile (require 'cl))を加えると治まりました。
>
> ああ、また Emacs 21 の問題ですねぇ。
# Meadow2 (Emacs 21 ベース)向けに、set-file-times() の代わりに
# "touch" 動かすコードを入れてもらおうと思ったんだけど ^^;;;
> 調べたところ、declare は、Emacs 21 では cl 群で、Emacs 22 では subr.el
> で定義されていました。
>
> (require 'cl) は、絶対にしないことに決めています。
auxiliary.el に
(eval-when-compile (require 'cl))
もだめ?
> 1) declare をコメントアウトする
> 2) ひらきなおる。(ワーニングが嫌なら、Emacs 22 へキャンペーン)
>
> でしょうか?
コード書くときに indent を指定してあると気持ちいいので 1) はいや
だなぁ。
別解で、indent のためだけなら、
(defmacro mew-piolet (read write &rest body)
`(let ((coding-system-for-read ,read)
(coding-system-for-write ,write))
, at example.com))
(put 'mew-piolet 'lisp-indent-function 2)
はどうでしょうか?
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内