Bug 2334 - Lisp nesting exeeds max-lisp-eval-depth
: Lisp nesting exeeds max-lisp-eval-depth
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/emacs-common)
: unstable
: all Linux
: P4 major
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2003-03-06 16:44 by
Modified: 2005-09-04 21:43 (History)


Attachments
0002334-out.gz (985 bytes, application/gzip)
2003-03-06 16:44, Anton V. Boyarshinov
no flags Details
0002334-emacs-21.3-alt2-vc-cvs-registered-changes.diff (33.76 KB, application/octet-stream)
2003-04-04 01:12, Anton V. Boyarshinov
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2003-03-06 16:44:11
При попытке сохранения файла (наблюдалось и в других ситуациях) выводится
сообщение \"Lisp nesting exeeds max-lisp-eval-depth\" и операция не
выполняется. Отладочная информация присоденена.

---

---
------- Comment #1 From 2003-03-26 21:49:24 -------
Скорее всего, ситуация такая:

в переменной features есть \'vc-vcs

последнее загруженное определение функции vc-cvs-registered происходит из loaddefs.el (можно посмотреть C-h f vc-cvs-registered RET).

В такой ситуации она зацикливается. Но это не совсем нормальная ситуация -- авторами ожидалось одно из двух: либо используетс определение из loaddefs.el (которое, возможно, загружает vc-vcs), либо загружен vc-cvs, в котором есть своё определение этой ф-ии, которое при таком порядке загрузки перекроет начальное из loaddefs.el.

Вообще такой хитрый код плох, потому что, как видно на Вашем случае, неустойчиво работает. Его нужно переделать.

Чтобы себе помочь, Вам нужно понять, почему у Вас loaddefs.el загружается ещё раз когда-то после загрузки vc-cvs, или почему vc-cvs, попав в список features, не занрузился по-настоящему и не переопределил функцию vc-cvs-registered.

edited on: 26-03 21:51
------- Comment #2 From 2003-03-26 21:49:24 -------
Скорее всего, ситуация такая:

в переменной features есть \'vc-vcs

последнее загруженное определение функции vc-cvs-registered происходит из loaddefs.el (можно посмотреть C-h f vc-cvs-registered RET).

В такой ситуации она зацикливается. Но это не совсем нормальная ситуация -- авторами ожидалось одно из двух: либо используетс определение из loaddefs.el (которое, возможно, загружает vc-vcs), либо загружен vc-cvs, в котором есть своё определение этой ф-ии, которое при таком порядке загрузки перекроет начальное из loaddefs.el.

Вообще такой хитрый код плох, потому что, как видно на Вашем случае, неустойчиво работает. Его нужно переделать.

Чтобы себе помочь, Вам нужно понять, почему у Вас loaddefs.el загружается ещё раз когда-то после загрузки vc-cvs, или почему vc-cvs, попав в список features, не занрузился по-настоящему и не переопределил функцию vc-cvs-registered.

edited on: 26-03 21:51
------- Comment #3 From 2003-04-04 01:19:16 -------
Определение `vc-cvs-registered\' переделано в emacs-21.3-alt2. Теперь больше не
должно быть таких циклов. Пожалуйста, сообщите, если это не так.

Чтобы протестировать, можно использовать приложенный патч для / (нужно расжать
/usr/share/emacs/21.3/lisp/vc-cvs.el.bz2 и пропатчить,
/usr/share/emacs/21.3/lisp/vc-cvs.elc перекомпилировать или удалить).

* Tue Apr 01 2003 Ivan Zakharyaschev &lt;<a href="mailto:imz@altlinux.ru&gt"
target="_new">imz@altlinux.ru&gt</a>; 21.3-alt2
&lt;...&gt;
- lisp: 
  + `vc-cvs-registered\' function: split into parts for autoloading
    without any loops (patch13);
&lt;...&gt;
------- Comment #4 From 2003-04-04 01:19:16 -------
Определение `vc-cvs-registered\' переделано в emacs-21.3-alt2. Теперь больше не
должно быть таких циклов. Пожалуйста, сообщите, если это не так.

Чтобы протестировать, можно использовать приложенный патч для / (нужно расжать
/usr/share/emacs/21.3/lisp/vc-cvs.el.bz2 и пропатчить,
/usr/share/emacs/21.3/lisp/vc-cvs.elc перекомпилировать или удалить).

* Tue Apr 01 2003 Ivan Zakharyaschev &lt;<a href="mailto:imz@altlinux.ru&gt"
target="_new">imz@altlinux.ru&gt</a>; 21.3-alt2
&lt;...&gt;
- lisp: 
  + `vc-cvs-registered\' function: split into parts for autoloading
    without any loops (patch13);
&lt;...&gt;