0

emacs で flyspell を自動的に有効にしようとしています。特に、コードのコメントのスペルチェックに興味があります。EmacsWikiのドキュメントに従い、次のコードを .emacs に追加しました。

  (add-hook 'c++-mode-hook
          (lambda ()
            (flyspell-prog-mode)
            ; ...
          ))

しかし、私は理解できない次のエラーを受け取ります.emacsがエラーとして提供するガベージに率直に圧倒されています(得られたemacs -debuginit):

Debugger entered--Lisp error: (wrong-number-of-arguments #[(hook function &optional append local) "\305$
^@^H\306L\210\307^H!\204^U^@\310^H\306\"\210    \203)^@\311^H!\2048^@\312^H!\313CL\210\2028^@^HJ:\2036^$
@\315=\203T^@
C^R^K
\235\204s^@^K;\203c^@\316^K!^S^L\203o^@\304
^KC\"\202r^@^K
B^R     \203\224^@^K9\203\216^@^K\317N\203\216^@^H\320N\204\216^@\321^H\320\317#\210^H
L\202\230^@\310^H
\")\207" [hook local hook-value function append boundp nil default-boundp set-default local-variable-if$
  add-hook(google-make-newline-indent)
  eval-buffer(#<buffer  *load*> nil "/Users/fons/.emacs" nil t)  ; Reading at buffer position 2136

このブログ投稿など、フックを追加する他の方法も試しましたが、すべて同じ問題につながります。

:OSX 10.8にmacportsでインストールされたemacs 24を実行しています

$ emacs --version | head -n 1
GNU Emacs 24.2.1
4

1 に答える 1

3

あなたの問題は、.emacsファイル内の無関係なフォームのようです。そのバックトレースから、おそらく次のようになります。

(add-hook 'google-make-newline-indent)

問題はadd-hook、フックとフックに追加する関数の 2 つの引数を取るため、1 つの引数が欠落していることです。この呼び出しを修正するadd-hookかコメントアウトすると、よりうまく機能するはずです。

(バックトレースに表示されるガベージは、バイト コンパイルされた Emacs Lisp コードです。解釈されたコードでエラーが発生すると、問題の関数の実際のコードがそこに表示されますが、バイト コンパイルされた場合、コードを見ることは通常あまり役に立ちません。 . Emacs がそれを抑制できればいいのですが...)

于 2013-03-06T00:30:31.430 に答える