简体   繁体   English

Emacs 23和24或其他之间的差异

[英]elisp difference between emacs 23 and 24, or something else

my previous fine key binding for cscope on emacs 23: 我以前在emacs 23上为cscope进行的精细键绑定:

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

now got an error on emacs 24 现在在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

I try to evaluate in in *scratch*, then the following error, but emacs 23 returned ok: 我尝试在* 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)

So let's fill in the relevant part of the comment pointed at by tripleee: 因此,让我们填写三人指出的评论的相关部分:

Another cause of trouble is vector notation for key sequence notation: instead of [(control ,)] and [(control ')], you should write [(control ?,)] and [(control ?')], which will work in older Emacsen too. 造成麻烦的另一个原因是键序列符号的矢量符号:代替[[control,)]和[(control')],您应该写[[control?,)]和[(control?')],这将起作用在旧的Emacsen中也是如此。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM