Ошибка Lisp: (ошибка "Вложение Lisp превышает` max-lisp-eval-глубина '") при использовании cl-функций

886
Sean Allred

Я недавно переместил компьютеры и обновился до 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) 

Я подозреваю, что это проблема с clпакетом в 24.3, поскольку я видел это недавно в другом пакете (хотя я не могу вспомнить, какой именно).

  • Это общая проблема при обновлении?
  • Что я могу сделать, чтобы решить эту проблему?

Полный файл журнала (вид огромного) доступен здесь для всех, кто хочет его просмотреть, но я надеюсь, что я указал необходимые детали в этом посте.

1

2 ответа на вопрос

3
syohex

I suppose this is cl-lib problem. If you already installed cl-lib via package.el, you should uninstall cl-lib and try again. Emacs 24.3 bundles cl-lib.el. cl-lib package is for older Emacs(< 24.3).

Я просто хотел поблагодарить вас за этот ответ - он все еще очень помог в решении :) Я принял другой ответ только потому, что он дал причину (и потому что я никогда бы не подумал, что мне нужно переустановить `magit` для этого ). Я сожалею, что у меня есть только одно преимущество, чтобы дать! Sean Allred 10 лет назад 1
1
sds

This looks like a problem with a circular definition.

I think the problem is that you compiled magit with the previous version of emacs; you should recompile magit with the new emacs and the problem will disappear.

Удаление обоих `cl-lib` и` magit`, закрытие emacs, повторное открытие и переустановка (только) magit сделали свое дело. Спасибо! Sean Allred 10 лет назад 0

Похожие вопросы