Ошибка при включении хуков для flyspell в файл .emacs

Я пытаюсь автоматически включить flyspell в emacs. В частности, меня интересует проверка орфографии в комментариях к моему коду. Я следовал документации в 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

Я также пробовал другие способы добавления хуков, такие как этот запись в блоге, но все они приводят к одной и той же проблеме.

Примечание. Я использую emacs 24, установленный с macports в OSX 10.8.

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

person fons    schedule 05.03.2013    source источник


Ответы (1)


Похоже, ваша проблема связана с другой формой в вашем файле .emacs. Судя по этой обратной трассе, это, вероятно, выглядит так:

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

Проблема в том, что add-hook принимает два аргумента, хук и функцию, которую нужно добавить к хуку, поэтому один аргумент отсутствует. Исправьте этот add-hook вызов или закомментируйте его, и он должен работать лучше.

(Мусор, который вы видите в обратной трассировке, — это байт-компилированный код Emacs Lisp. Когда в интерпретируемом коде возникает ошибка, фактический код рассматриваемой функции появляется там, но для байт-компилированного случая просмотр кода обычно менее чем полезен. , Было бы неплохо, если бы Emacs мог это подавить...)

person legoscia    schedule 06.03.2013