[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: debugging Emacs LISP functions
From: |
John Valente |
Subject: |
Re: debugging Emacs LISP functions |
Date: |
Wed, 1 Mar 2017 17:33:31 +0000 (UTC) |
The blurring between "user" and "developer", in this case, has nothing to do
with free software. Emacs is many things, including an elisp complier and
interpreter. So the problem you're having is absolutely appropriate for a
user-level mailing list.
As far as Lisp goes, it's very common and canonical to have a function that can
return either a string or a list of strings.
I see someone else has already responded with some help about using the
debugger, and about evaluating source-code functions. One other thing you
might try is quit emacs, and move or delete all the .elc files, and start it up
again. I don't know how much that will work, because there might be code
around that notices the lack of .elc files and recompiles the source. But I
don't think the core files do that. As far as I recall, emacs is more than
happy to work with interpreted code. It's just a little bit slower.
- John
From: hector <hectorlahoz@gmail.com>
To: help-gnu-emacs@gnu.org
Sent: Wednesday, March 1, 2017 4:14 AM
Subject: debugging Emacs LISP functions
I have a problem with Emacs. Basically it doesn't do what I want it to do :-)
Or put it another way, it doesn't behave as I expect it to behave.
I tried debugging the offending function (dir-locals-find-file)
and then I found another problem.
Perhaps I just don't get acquainted to the LISP typing system.
This function can return a string or a list. Is this good coding style?
But that's another question. Perhaps this mail should go to the
emacs-devel mailing list. I don't know. With free software you just
loose the difference between a "user" and a "developer". Anyway I see
some developers read this list every now and then.
When I try to debug LISP code that is part of Emacs I see with some functions
I get the source code and with others I just get "byte-code". In the latter
case I can't debug it because the debugger just skips the whole function.
How can I know what functions appear as "byte-code" in the debugger?
And how can I debug them?