我最近搬了电脑和昨天升级到 Emacs 24.3(从 24.2 开始)。从那时起,我一直收到本质上是堆栈溢出错误的信息:
Debugger entered--Lisp error: (error "Lisp nesting exceeds `max-lisp-eval-depth'")
position(...)
apply(position ...)
position(...)
apply(position ...)
position(nil (#<buffer ssa.org> #<buffer *Minibuf-1*> #<buffer *Minibuf-0*> #<buffer *code-conversion-work*> #<buffer *Echo Area 0*> #<buffer *Echo Area 1*> #<buffer *doc-view conversion output*> #<buffer *autoload*> #<buffer *canonical address*> #<buffer *extract address components*> #<buffer *Messages*>) :if #[(buf) "rq\210 \203\n =\2051\306!\f\232\2051\307\310\311
!\"\312 \313\314\315#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4])
apply(position nil (#<buffer ssa.org> #<buffer *Minibuf-1*> #<buffer *Minibuf-0*> #<buffer *code-conversion-work*> #<buffer *Echo Area 0*> #<buffer *Echo Area 1*> #<buffer *doc-view conversion output*> #<buffer *autoload*> #<buffer *canonical address*> #<buffer *extract address components*> #<buffer *Messages*>) (:if #[(buf) "rq\210 \203\n =\2051\306!\f\232\2051\307\310\311
!\"\312 \313\314\315#,)\207" [buf mode major-mode default-directory topdir name expand-file-name format "^%s\\(?:<[0-9]+>\\)?$" regexp-quote buffer-name nil t string-match start string regexp inhibit-changing-match-data] 4]))
...
...
...
position(...)
apply(position ...)
position(...)
apply(position ...)
cl-position(...)
apply(cl-position ...)
cl-find(...)
apply(cl-find ...)
cl-find-if(...)
magit-mode-get-buffer("*magit: %t*" magit-status-mode nil t)
magit-mode-get-buffer-create("*magit: %t*" magit-status-mode)
magit-mode-display-buffer("*magit: %t*" magit-status-mode pop-to-buffer)
magit-status("/Users/sean/Dropbox/smp/")
call-interactively(magit-status)
(lambda nil (interactive) (call-interactively (quote magit-status)))()
call-interactively((lambda nil (interactive) (call-interactively (quote magit-status))) nil nil)
我怀疑这是 24.3 中的捆绑包的问题,cl
因为我最近在另一个包中看到过这个问题(虽然我不记得是哪一个了)。
- 这是升级时常见的问题吗?
- 我该如何解决这个问题?
完整日志文件(有点大)可用这里对于任何想要检查它的人来说,但我希望我已经在这篇文章中提供了必要的细节。
答案1
这看起来像是一个循环定义的问题。
我认为问题在于您使用以前版本的 emacs 编译了 magit;您应该使用新的 emacs 重新编译 magit,问题就会消失。
答案2
我认为这是 cl-lib 的问题。如果您已经通过 package.el 安装了 cl-lib,则应卸载 cl-lib 并重试。Emacs 24.3 捆绑了 cl-lib.el。cl-lib 包适用于较旧的 Emacs(< 24.3)。