unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Icarus Sparry <usenet@icarus.freeuk.com>
To: help-gnu-emacs@gnu.org
Subject: Re: An instructive example of trace-function and some example of  debugging
Date: 14 Jun 2010 07:14:46 GMT	[thread overview]
Message-ID: <4c15d6e6$0$22144$742ec2ed@news.sonic.net> (raw)
In-Reply-To: 00ec1b14-44ee-4e36-9aae-94fe9b7d9244@i28g2000yqa.googlegroups.com

On Sun, 13 Jun 2010 13:31:32 -0700, bolega wrote:

> On Jun 13, 8:07 am, Icarus Sparry <use...@icarus.freeuk.com> wrote:
>> On Sat, 12 Jun 2010 10:43:46 -0700, bolega wrote:
>> > On Jun 10, 1:27 pm, bolega <gnuist...@gmail.com> wrote:
[snip]
>> > 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.

>> 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).
> 
> thx. I searched google ,
> 
> http://groups.google.com/group/gnu.emacs.help/search?
num=100&group=gnu.emacs.help&q=recursive+edit&qt_g=Search+this+group
> 
> but found very sketchy info on how to utilize this FEATURE. Just one
> seemed helpful,
> 
> http://groups.google.com/group/gnu.emacs.help/browse_thread/
thread/8dc303a526356794/96c264702c0a4443?lnk=gst&q=recursive
+edit#96c264702c0a4443
> 
> otherwise people were complaining how to get out of this strangeness,
> even a "high IQ" guy from some big name company.
> 
> Can anyone add useful ideas how to get out of it incrementally and
> really get benefit from it. Is there somewhere a more complete info on
> it ?

As I said, the most common way I use it is when I am doing a query-
replace (or query-replace-regex) and I am stepping through the buffer 
typing space or n to make a change or not. If I notice something that 
needs fixing, then I can type control-r and this suspends the query-
replace and lets me do whatever it takes to fix the problem. Once I have 
done this then I type C-M-c to resume the query-replace.

The emacs info has a section on it.

This also states that if you enter the emacs debugger then this also can 
start a recursive edit, and you can use 'c' to continue from the debugger 
window. There are several ways in which you can enter the debugger, in 
particular evaluating the form

   (debug a)

will print the value of a to the backtrace buffer and enter the debugger.


      reply	other threads:[~2010-06-14  7:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-10 20:27 [REQ] An instructive example of trace-function and some example of debugging bolega
2010-06-12 17:42 ` bolega
     [not found] ` <d48c2b9e-0853-448e-9992-d71e87fcccd0@j4g2000yqh.googlegroups.com>
2010-06-13 15:07   ` Icarus Sparry
2010-06-13 20:31     ` bolega
2010-06-14  7:14       ` Icarus Sparry [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='4c15d6e6$0$22144$742ec2ed@news.sonic.net' \
    --to=usenet@icarus.freeuk.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).