emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Lisp nesting exceeds `max-lisp-eval-depth'"


From: brian powell
Subject: Re: [O] Lisp nesting exceeds `max-lisp-eval-depth'"
Date: Thu, 15 Sep 2011 09:30:04 -0400

*"Variable: max-lisp-eval-depth
This variable defines the maximum depth allowed in calls to eval,
apply, and funcall before an error is signaled (with error message
"Lisp nesting exceeds max-lisp-eval-depth"). This limit, with the
associated error when it is exceeded, is one way that Lisp avoids
infinite recursion on an ill-defined function.
The depth limit counts internal uses of eval, apply, and funcall, such
as for calling the functions mentioned in Lisp expressions, and
recursive evaluation of function call arguments and function body
forms, as well as explicit calls in Lisp code.

The default value of this variable is 300. If you set it to a value
less than 100, Lisp will reset it to 100 if the given value is
reached. Entry to the Lisp debugger increases the value, if there is
little room left, to make sure the debugger itself has room to
execute.

max-specpdl-size provides another limit on nesting. See section 11.3
Local Variables."

**I think this is one weakness of ELISP vs. CommonLISP--but this is
"by design"; EMACS has always been focused on editing, so some
trade-offs are used, objects such as "buffers, windows, etc." are a
paramount part of the language--and recursion is handled slightly
differently, I believe this is done on purpose.

**Maybe try to set the max-lisp-eval-depth variable higher?

***Maybe something like (setq max-lisp-eval-depth 3000)

**Maybe load the common lisp module; which is always a good idea--but
this probably won't help, just an idea.


On Thu, Sep 15, 2011 at 4:48 AM, Martin Butz <address@hidden> wrote:
> Hello all,
>
> I get the following error message while using org-mode during the last weeks
> quite frequently (unfortunately I am not able to link it to an update of the
> installation of some lisp file); I can reproduce the behaviour by opening
> the agenda buffer (C-c a a) and trying to quit with "q"; this will open a
> new frame with the backtrace buffer and leave the agenda buffer in the other
> frame open.
>
> There are loads of other events, which trigger the same behaviour; can
> anybody give a hint how I can solve this rather annoying problem?
>
> Thanks in advance
> Martin
>
> ---- Backtrace --8<----------------------------------------------------
>
> Debugger entered--Lisp error: (error "Lisp nesting exceeds
> `max-lisp-eval-depth'")
>  (- (nth 2 edges) (nth 0 edges))
>  (let ((edges ...)) (- (nth 2 edges) (nth 0 edges)))
>  sr-speedbar-current-window-take-width()
>  (let ((win-width ...)) (if (and ... ... ...) (setq sr-speedbar-width
> win-width)))
>  sr-speedbar-remember-window-width()
>  old-delete-window(#<window 20 on *Org Agenda*>)
>
> ---- following lines are repeated several times--8<--------------------
>
>  (if (one-window-p t) (delete-frame) (old-delete-window (selected-window)))
>  (save-current-buffer (setq window (or window ...)) (select-window window)
> (if (one-window-p t) (delete-frame) (old-delete-window ...)))
>  ad-Orig-delete-window(#<window 20 on *Org Agenda*>)
>  old-delete-window(#<window 20 on *Org Agenda*>)
>
> ---- /following lines are repeated several times--8<-------------------
>
>  (if (one-window-p t) (delete-frame) (old-delete-window (selected-window)))
>  (save-current-buffer (setq window (or window ...)) (select-window window)
> (if (one-window-p t) (delete-frame) (old-delete-window ...)))
>  ad-Orig-delete-window(nil)
>  delete-window()
>  (and (not (eq org-agenda-window-setup ...)) (not (one-window-p))
> (delete-window))
>  (if (eq org-agenda-window-setup (quote other-frame)) (progn (kill-buffer
> buf) (org-agenda-reset-markers) (org-columns-remove-overlays) (setq
> org-agenda-archives-mode nil) (delete-frame)) (and (not ...) (not ...)
> (delete-window)) (kill-buffer buf) (org-agenda-reset-markers)
> (org-columns-remove-overlays) (setq org-agenda-archives-mode nil))
>  (let ((buf ...)) (if (eq org-agenda-window-setup ...) (progn ... ... ...
> ... ...) (and ... ... ...) (kill-buffer buf) (org-agenda-reset-markers)
> (org-columns-remove-overlays) (setq org-agenda-archives-mode nil)))
>  (if org-agenda-columns-active (org-columns-quit) (let (...) (if ... ... ...
> ... ... ... ...)) (and org-agenda-restore-windows-after-quit (not ...)
> org-pre-agenda-window-conf (set-window-configuration
> org-pre-agenda-window-conf)))
>  org-agenda-quit()
>  call-interactively(org-agenda-quit nil nil)
>
> ---- /Backtrace --8<---------------------------------------------------
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> sym.net  ||  butz & siefer gbr  ||  50670 koeln  ||  hansaring 78
> phone +49(0)221/3762591 -  twitter.com/symnet  - mail address@hidden
> ~~~~~~~~~~~~~~~~~~ www.sym.net | www.moodalis.de ~~~~~~~~~~~~~~~~
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]