【问题标题】:Error when including hooks for flyspell in .emacs file在 .emacs 文件中包含 flyspell 的钩子时出错
【发布时间】:2013-03-05 23:18:50
【问题描述】:

我正在尝试在 emacs 中自动启用 flyspell。特别是,我对我的代码的 cmets 进行拼写检查很感兴趣。我遵循documentation in 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

我也尝试过其他方法来添加诸如 blog post 这样的钩子,但它们都会导致相同的问题。

注意:我正在运行 emacs 24,在 OSX 10.8 中安装了 macports

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

【问题讨论】:

    标签: emacs elisp flyspell


    【解决方案1】:

    您的问题似乎是您的 .emacs 文件中的一个不相关的表单。从那个回溯来看,它可能看起来像这样:

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

    问题是add-hook 有两个参数,钩子和要添加到钩子的函数,所以缺少一个参数。修复此add-hook 调用或将其注释掉,它应该会更好地工作。

    (你在回溯中看到的垃圾是字节编译的 Emacs Lisp 代码。当解释代码中发生错误时,有问题的函数的实际代码出现在那里,但是对于字节编译的情况,看到代码通常是用处不大。如果 Emacs 能抑制它就好了……)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-03
      • 2013-02-16
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      相关资源
      最近更新 更多