unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* help with a bug in/using advice and/or documentation strings
       [not found] <BAAEB4AB-13E3-4F5B-AABF-5673521C2AA4@bellarmine.edu>
@ 2006-06-13 19:11 ` David Reitter
  2006-06-14 13:46   ` David Reitter
  0 siblings, 1 reply; 2+ messages in thread
From: David Reitter @ 2006-06-13 19:11 UTC (permalink / raw)


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 <wrising@bellarmine.edu>
> Date: 13 June 2006 16:48:49 BDT
> To: David Reitter <david.reitter@gmail.com>
> 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("\x18^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("\x18
> f" 1 nil)
>   call-interactively(describe-key)

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: help with a bug in/using advice and/or documentation strings
  2006-06-13 19:11 ` help with a bug in/using advice and/or documentation strings David Reitter
@ 2006-06-14 13:46   ` David Reitter
  0 siblings, 0 replies; 2+ messages in thread
From: David Reitter @ 2006-06-14 13:46 UTC (permalink / raw)


I can add to my earlier e-mail that this...

On 13 Jun 2006, at 20:11, David Reitter wrote:
>
> 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 " ... ") )

... doesn't seem to influence the infinite recursion that people are  
getting in `ad-Orig-documentation'.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-06-14 13:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <BAAEB4AB-13E3-4F5B-AABF-5673521C2AA4@bellarmine.edu>
2006-06-13 19:11 ` help with a bug in/using advice and/or documentation strings David Reitter
2006-06-14 13:46   ` David Reitter

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).