2011-01-22

anything-config.elで定義されている、anything-c-find-files-icons-directoryでコケる

世間の流れから3周ぐらい遅れて、ちょっとした思いつきでanythingを使い始めることにした。

導入はauto-install.elを入れて、auto-install-batchでanythingを指定して、(require 'anything-startup)をemacsの設定ファイルに書けばよいだけ。簡単ですね。

で、さっくり導入を終わらせていざemacsを立ち上げてみると、エラーで止まってしまう。emacsで吐かせたエラーは下記のとおり。
Debugger entered--Lisp error: (wrong-type-argument sequencep mew-icon-directory)
concat(mew-icon-directory "tree-widget/default")
(and (window-system) (concat (car image-load-path) "tree-widget/default"))
eval((and (window-system) (concat (car image-load-path) "tree-widget/default")))
custom-initialize-reset(anything-c-find-files-icons-directory (and (window-system) (concat (car image-load-path) "tree-widget/default")))
custom-declare-variable(anything-c-find-files-icons-directory (and (window-system) (concat (car image-load-path) "tree-widget/default")) ("/home/nabeo/site-lisp/auto-install/anything-config.elc" . -7216) :type string :group anything-config)
require(anything-config)
eval-buffer(# nil "/home/nabeo/site-lisp/auto-install/anything-startup.el" nil t) ; Reading at buffer position 376
load-with-code-conversion("/home/nabeo/site-lisp/auto-install/anything-startup.el" "/home/nabeo/site-lisp/auto-install/anything-startup.el" nil t)
require(anything-startup)
eval((require (quote anything-startup)))
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp nil nil)
どうやら、anything-config.elの中で定義されているanything-c-find-files-icons-directoryの部分でコケているらしい。で、肝心の定義部分は下記のとおり。
(defcustom anything-c-find-files-icons-directory
(and (window-system)
(concat (car image-load-path) "tree-widget/default"))
"*Default path where to find files and directory icons."
:type 'string
:group 'anything-config)
僕の環境ではemacsが起動直後の時にimage-load-pathdescribe-variableで調べると、下記のように定義されていた。
(mew-icon-directory "/usr/share/emacs/site-lisp/ess/etc/icons" "/usr/share/emacs/23.2/etc/images/" data-directory load-path)

mew-icon-directoryはemacs-mew-6.3.2-2.fc14.x86_64 に含まれる /usr/share/emacs/site-lisp/site-start.d/mew-init.el でimage-load-pathに下記のように追加されていた。
;; Bug#606772
(add-to-list 'image-load-path 'mew-icon-directory)
元々、mewはthunderbirdからwanderlustに移行する時に incm が必要だったからいれているだけで、特に使っていないからアンインストールしても問題はないんだけど、できるならanything-config.elを修正したいなぁ。

というか、concatて変数をきちんと展開してくれないのか?

0 件のコメント: