[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: void-variable bookmark-bmenu-mode-map



>>>>> In [meadow-users-jp : No.7082] 
>>>>> “村田” = Hiroya Murata wrote:

村田> > grep bookmark-bmenu-mode-map w3m/*.el
村田> > してもヒットしないのだけどどこでエラーになってるのかもわかん
村田> > ないんです。

村田> > do-after-load-evaluation() って何やってんの?

村田> eval-after-load の実行ですね.
村田> 何処かで, (eval-after-load "bookmark" ...) としていませんか?

(eval-after-load "bookmark"
  '(define-key bookmark-bmenu-mode-map "\C-m" 'bookmark-bmenu-select))

と .emacs に書いてました。

村田> どうやら, 上記の様にすると,

村田>   (load-history-regexp "bookmark")
村田>     => "\\<bookmark\\(\\.elc\\|\\.el\\)?\\(\\.gz\\)?\\'"

村田> と展開された状態で, after-load-alist のキーとして登録されるみたい
村田> で, この正規表現が,

村田>   (string-match "\\<bookmark\\(\\.elc\\|\\.el\\)?\\(\\.gz\\)?\\'"
村田>                 "/path/to/w3m-bookmark.el")
村田>     => 13

村田> の様に `-' の位置にマッチしてしまうみたいです. と言う訳で本体のバ
村田> グっぽいです.

村田> 因みに, eval-after-load の doc-string を読む限り (eval-after-load
村田> 'bookmark ...) の様にシンボルにするか絶対パスにすれば, 取り違えは
村田> なくなる様に見えます.

(eval-after-load 'bookmark ...) と書けるのですね。
これならエラーにはならず意図通りの動作になりました。

最近気がついたので最近の変更だと思うのですが誰かご存知ありま
せんか? (emacs.develで話題になったとか、仕様変えたよとか)

ChangeLog や ML はこれから眺めようと思います。
-- 
こせき kose (a) meadowy.org