elcs 23和24之间的差异,或其他东西

时间:2012-11-05 08:40:49

标签: emacs elisp

我之前在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返回ok:

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)

2 个答案:

答案 0 :(得分:0)

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

另一个麻烦的原因是矢量符号 用于键序列表示法:代替[(control,)]和[(control')], 你应该写[(control?,)]和[(control?')],这将是有用的 年长的Emacsen也是。

答案 1 :(得分:0)

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