emacs-devel
[Top][All Lists]
Advanced

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

help with a bug in/using advice and/or documentation strings


From: David Reitter
Subject: help with a bug in/using advice and/or documentation strings
Date: Tue, 13 Jun 2006 20:11:47 +0100

I was wondering if somebody here could give me a hint about a strange bug that has been mentioned to me by two people - I'm not sure if the bug is in my packages or if it's in Emacs directly.

It involves an infinite recursion calling ad-Orig-documentation (symbol nil) whenever the users call something that uses `documentation', i.e. apropos or set-variable, etc.) Some stack traces are below. This seems to occur with up-to-date CVS versions, but only within binaries I've produced, that is, with a number of advices and precompiled stuff in place.

I don't know if it's got to do with it, but I am extending some variable documentation strings at one point like this:

(put symbol 'variable-documentation
                       (concat
                        old-doc
                        (format " ... ") )

And some of this happens before dumping (i.e. in site-load.el), some of it afterwards. I'm not sure if I'm polluting pure space with this.

The bug is not reproducible (by me), yet it seems to be very persistent for the two users, and I can't figure out what should be different about their systems. That's why I suspected a dumping issue. [I might be able to add more to this tomorrow.]

Any hints where to look for would be appreciated - I'm trying to nail this down so I can fix it or at least compile a decent error report.
Thanks.



Begin forwarded message:

From: Bill Rising <address@hidden>
Date: 13 June 2006 16:48:49 BDT
To: David Reitter <address@hidden>
Subject: Re: [Aquamacs-bugs] (no subject)

On Jun 13, 2006, at 10:20, David Reitter wrote:

Hi Bill,

can you please send me a stack trace for this, obtainable via Options -> Enter Debugger on Error?
(Then carry out your C-h f ... action).

It might be helpful if you show me stack traces for different kinds of actions that display this error.

It looks like the documentation is the culprit, as you suspected. Here are several edited backtraces.

Bill
---------------------------- cut here ----------------------------

Test: getting info about a key sequence
Input: C-h k C-x RET f
Backtrace:
Debugger entered--Lisp error: (error "Variable binding depth exceeds max-specpdl-size")
  ad-Orig-documentation(set-buffer-file-coding-system nil)
... [a total of 442 times, including above and below]
  ad-Orig-documentation(set-buffer-file-coding-system nil)
  documentation(set-buffer-file-coding-system)
  describe-function-1(set-buffer-file-coding-system)
  describe-key("^X^Mf" 1 nil)
  call-interactively(describe-key)

Test: working with apropos
Input: C-h a longline RET
Backtrace:
Debugger entered--Lisp error: (error "Variable binding depth exceeds max-specpdl-size")
  ad-Orig-documentation(longlines-auto-wrap t)
... [a total of 491 times, including above and below]
  ad-Orig-documentation(longlines-auto-wrap t)
  documentation(longlines-auto-wrap t)
  apropos-command(("longline") nil)
  call-interactively(apropos-command)

Test: accessing documentation via links in the gnu help system
Input: C-h v buffer-file-coding-system RET, then click on link to write-region
Backtrace:
Debugger entered--Lisp error: (error "Variable binding depth exceeds max-specpdl-size")
  ad-Orig-documentation(write-region nil)
... [a total of 519 times, including above and below]
  ad-Orig-documentation(write-region nil)
  documentation(write-region)
  describe-function-1(write-region)
  describe-function(write-region)
  apply(describe-function write-region)
  help-do-xref(289 describe-function (write-region))
help-button-action(#<marker (moves after insertion) at 70 in *Help*>)
  push-button(295 t)
push-button((mouse-2 (#<window 23 on *Help*> 295 (508 . 131) 31539866 nil 295 (63 . 7) nil (4 . 12) (8 . 17))))
  call-interactively(push-button)

Test: raising the max-specpdl-size to get nesting error
Input: M-x set-variable RET max-specpdl-size RET 10000 RET C-h k C- x RET f
Backtrace:
Debugger entered--Lisp error: (error "Lisp nesting exceeds `max- lisp-eval-depth'")
  ad-Orig-documentation(set-buffer-file-coding-system nil)
... [a total of 597 times, including above and below]
  ad-Orig-documentation(set-buffer-file-coding-system nil)
  documentation(set-buffer-file-coding-system)
  describe-function-1(set-buffer-file-coding-system)
  describe-key("
f" 1 nil)
  call-interactively(describe-key)





reply via email to

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