From: bolega on
On Jun 10, 1:27 pm, bolega <gnuist...(a)gmail.com> wrote:
> An instructive example of trace-function and some example of
> debugging, for example, some of the error that pops up in lower window
> of emacs and how to read/interpret it. Alternatively, a link to some
> page or elisp manual but I am sure an expert here would have a
> superior instruction as many replies here have shown.
>
> Thanks
> Bolega
>
> trace-function is an interactive autoloaded Lisp function in `trace'.
> [Arg list not available until function definition is loaded.]
>
> Traces FUNCTION with trace output going to BUFFER.
> For every call of FUNCTION Lisp-style trace messages that display
> argument
> and return values will be inserted into BUFFER. This function
> generates the
> trace advice for FUNCTION and activates it together with any other
> advice
> there might be!! The trace BUFFER will popup whenever FUNCTION is
> called.
> Do not use this to trace functions that switch buffers or do any other
> display oriented stuff, use `trace-function-background' instead.

let me widen the newsgroups as there was no reply to this one in the
first one.

Sometimes, in emacs, error takes places and the mode gets nested
inside many brackets.

[(((.lisp...)))]

above line recalling from memory

what does it mean ? C-g does not get out of it.

What to do ?

From: Icarus Sparry on
On Sat, 12 Jun 2010 10:43:46 -0700, bolega wrote:

> On Jun 10, 1:27 pm, bolega <gnuist...(a)gmail.com> wrote:
>> An instructive example of trace-function and some example of debugging,
>> for example, some of the error that pops up in lower window of emacs
>> and how to read/interpret it. Alternatively, a link to some page or
>> elisp manual but I am sure an expert here would have a superior
>> instruction as many replies here have shown.
>>
>> Thanks
>> Bolega
>>
>> trace-function is an interactive autoloaded Lisp function in `trace'.
>> [Arg list not available until function definition is loaded.]
>>
>> Traces FUNCTION with trace output going to BUFFER. For every call of
>> FUNCTION Lisp-style trace messages that display argument
>> and return values will be inserted into BUFFER. This function generates
>> the
>> trace advice for FUNCTION and activates it together with any other
>> advice
>> there might be!! The trace BUFFER will popup whenever FUNCTION is
>> called.
>> Do not use this to trace functions that switch buffers or do any other
>> display oriented stuff, use `trace-function-background' instead.
>
> let me widen the newsgroups as there was no reply to this one in the
> first one.
>
> Sometimes, in emacs, error takes places and the mode gets nested inside
> many brackets.
>
> [(((.lisp...)))]
>
> above line recalling from memory
>
> what does it mean ? C-g does not get out of it.
>
> What to do ?

If you are seeing [[[lisp]]] then you are in a "recursive edit".

This is not an error, it is a feature! The most common way to get into it
is if you are doing a query-replace (M-% with standard bindings), and
type control-r. This allows you to make some edits and then continue the
query-replace.

The standard key binding to abort out of recursive edit is C-] (the [..]
in the mode line is supposed to help you remember this key sequence).