[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: Meadow3: build-mail命令が動かない:mailaliases.el と flyspell-mode のせい?
- X-ml-count: 7159
- Subject: Re: Meadow3: build-mail命令が動かない:mailaliases.el と flyspell-mode のせい?
- From: Masahiro MIYAKAWA <mamiyaka@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 31 Aug 2006 21:59:43 +0900
- User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (windows-nt)
宮川です。2006/8/31 21:20:42
しつこい,自己フォロー(遅れました)とお礼です。
> On 8/28/06, Masahiro MIYAKAWA <mamiyaka@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > ところで,現在の設定では,M-x locate-library で調べると,mailalias.el がロードされているので,
> 上の書き方を見てちょっと心配になったので念のため書きます。
> locate-library は shell での which のように、load-pathにしたがって、
...
> ロードするかを返すものであり、すでにロード済みであるかどうかを
> 知るためのものではありません。
> 言い方を変えると、mailalias.elが未ロードであっても、
> M-x locate-library<RET>mailalias.el<RET> は値を返します。
はい。見事誤解していました。
> ちなみにロード済みかどうかを調べるには (featurep 'xxxx) で調べるのが
> よいでしょう。 xxxx はそのファイルで (provide 'xxxx) として与えられた
> シンボルです。
featurep の使い方はこれなんですね,
以下,再質問をお許しください。
> > ;;alias補完時にmail-aliases 変数の値が t (デフォルト値)ならば
> > ;;build-mail-aliasesが呼び出される。
はい。こういうしくみから出発します。
build-mail-aliases<f>が呼び出される可能性があるわけだから,
すでに,build-mail-aliases<f>がロードされていないといけない,わ
けですね(ここに誤解がある? build-mail-aliases<f> は
mailaliases.el というファイルに含まれている関数だから,
この時点で,(require 'mailaliases)(*)とプログラムに書けばよ
い,あるいは,多分プログラムはこうなっているということでしょうか。(**)
上の(**) は正しいでしょうか。require されるのは関数名だった?
> > に,mailalias.el がロード されたのは,何時どのようにしてだっ
> > たのでしょうか。
上の(**) が正しければ,この質問は取り消します。
あ。ここに,関連したことが書かれているようです。
> 繰返しになりますが、(require 'mailalias) 等でロードを行わずに
----------
やはり,ファイル名でいいのですね。正しくは 'mailaliases です。
> build-mail-aliases<f> を呼び出していたこと自体がそもそも間違いです。
そうですね。
> なので、上に書いたようにbuild-mail-aliases<f>を呼び出す前にrequireするという、
> 正しい呼び出し方をすべきだとしか言いようが無いかと思います。
あ。ここに書かれています。alias を処理するプログラムに
(require 'buildaliase) ですね。(**)は正しいようです。
> > > > > compose-mailを置き換える(adviceする)というアプローチを
> > > しているのが普通じゃないわけです。
> > > >
> > > ただ、compose-mailにadviceがかかっているのはたしかですので、
> > > そのadvice処理でやっていることが必要なことかどうかはご確認
> > ---------------------------------------
> > > を。
> > > > わかりました。(難しいです)。ありがとうございました。
> > ちょっと,力が足りません(コードが追えませんでした)。せっか
> > くのご忠告ですが,今回は,ここのところまでで,いいということ
> > にさせてくださいますようお願いします。
以下は,理解できていません。また,後ほど。
後藤様,ありがとうございました。
----
> 標準以外の、例えば自分の .emacsやそこからloadされているelisp ファイルで
> defadvice という文字列を探せばよいでしょう。
> おおまか、以下のようになってるだろうと思います。
> (defadvice compose-mail (around activate)
> ;; some code
> ad-do-it
> ;; some code
> )
> そしてそれに心当たりがあるかどうか、です。
> 自分が意図したものなのか、他の人の設定を持ってきたものなのか、
------------------------
これです。
> はたまた探してもdefadviceが見当たらないか。
-----
> --
> Shun-ichi GOTO
--
宮川正弘