help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: How to debug "Debugger entered--Lisp error: (void-function nil)"


From: newsspam5REMOVETHIS
Subject: Re: How to debug "Debugger entered--Lisp error: (void-function nil)"
Date: Sun, 01 Apr 2007 01:51:27 +0200
User-agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.4.19 (linux)

Tim X <timx@nospam.dev.null> writes:
> newsspam5REMOVETHIS@robf.de writes:
>
>> Hi,
>>
>> I am using "GNU Emacs 22.0.92.1 (i686-pc-linux-gnu, X toolkit)"
>> and run VM (view mail) in it, but the error comes also with
>> 21.4.1. 
>>
>> Whenever I enable debug-on-error I get a backtrace with the
>> following content:
>>
>> ,------------------------------------------
>> | Debugger entered--Lisp error: (void-function nil)
>> |  (nil)
>> `------------------------------------------
>>
>> How can I debug this to find the source of this problem?
>>
>> It also happens most of the time when I single step in edebug
>> mode which makes edebug practically useless.  When running with
>> debug-on-error set to nil I do not see the error.
>>
>> Also it seems to be there already for some time as I found other
>> references when googling for <<<emacs debugger entered--Lisp error:
>> "(void-function nil)">>>, e.g. http://tinyurl.com/yv6t2j!
>>
>> Thanks,
>> Robert
>
> Normally you will see this error when emacs is trying to execute a symbol 
> which
> it believes is a function (i.e. because it is the first element in a list). A
> common cause is some config setting where you have a list and have forgotten 
> to
> quote it. For example,
>
> (setq x (nil "fred" 1))
>
> where the intention is to set x to the value of the list (nil "fred" 1).
> However, the list is not quoted, so emacs tries to execute the function 'nil'
> with the arguements "fred" and 1. The correct way to do this is
>
> (setq x '(nil "fred" 1))
>
> or 
>
> (setq x (list nil "fred" 1)
>
> What you need to do is track down the init error in your .vm file. Normally,
> the backtrace will show the call stack, but what you have copied appears to
> just be the last (top) element in the stack. With the rest of the call stack
> you can usually narrow down the search as it will show you what emacs was 
> doing
> prior to trying to call the void function. 

This is exactly my problem, GNU Emacs does NOT give anything more,
i.e. those two lines are all I get in my backtrace buffer.

> I'd suggest going through your VM config and comment out everything and then
> try adding each value back, one at a time until you get the error again. 

It is not in the config, it is in (my) VM sources and it does not
happen for XEmacs with the same sources and configuration.

> To give you confidence it will work, I'm running VM under emacs 22. I've not
> had any problems except a couple of weeks ago when a change to emacs 22 caused
> problems with compiling vm (an issue with new emacs approach to printing data
> structures and fixed easily once I was pointed to the solution).

Could you also point me to the solution?

... maybe I should try to get a more recent Emacs.  

> You should also note that you can get some unexpecttd/odd
> behavior/errors if you have some emacs code compiled with emacs
> 21 and you try to run it under emacs 22 (though code compiled
> with emacs 22 is more likely to cause issues for emacs 21). I
> run different source trees for emacs 21 and emacs 22 for this
> reason.

I did not knew that there are problems between 21 and 22, so far
I was only beaten by those between X and GNU Emacs, but this is
also not the source of my problem ;-/

Thanks,
Robert


reply via email to

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