1

我之前在 emacs 23 上对 cscope 的精细键绑定:

(define-key global-map [(control ,)]  'cscope-pop-mark)

现在在 emacs 24 上出现错误

Debugger entered--Lisp error: (invalid-read-syntax ")")
eval-buffer(#<buffer  *load*<3>> nil "/home/ted/.emacs.d/ted.el" nil t)  ; Reading at      buffer position 12743

我尝试在 *scratch* 中进行评估,然后出现以下错误,但 emacs 23 返回正常:

Debugger entered--Lisp error: (invalid-read-syntax ")")
  read(#<buffer *scratch*>)
  preceding-sexp()
  eval-last-sexp-1(t)
  eval-last-sexp(t)
  eval-print-last-sexp()
  call-interactively(eval-print-last-sexp nil nil)
4

2 回答 2

0

所以让我们填写tripleee指出的评论的相关部分:

另一个麻烦的原因是键序列符号的矢量符号:而不是 [(control ,)] 和 [(control ')],你应该写 [(control ?,)] 和 [(control ?')],这样可以在旧的 Emacsen 中也是如此。

于 2012-11-05T17:09:49.663 回答
0

[(control ,)]是 Emacs 24 中的无效语法。将其拼写为[(control \,)],错误将消失,但不会改变含义,也不会失去与旧版 Emacsen 的兼容性。

于 2012-11-05T18:06:12.320 回答