From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: bolega Newsgroups: gmane.emacs.help Subject: Re: An instructive example of trace-function and some example of debugging Date: Sun, 13 Jun 2010 13:31:32 -0700 (PDT) Organization: http://groups.google.com Message-ID: <00ec1b14-44ee-4e36-9aae-94fe9b7d9244@i28g2000yqa.googlegroups.com> References: <1af7c938-1f8d-414c-8970-f82961c8b0cd@y11g2000yqm.googlegroups.com> <4c14f43d$0$22172$742ec2ed@news.sonic.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1291834295 24480 80.91.229.12 (8 Dec 2010 18:51:35 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 8 Dec 2010 18:51:35 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Dec 08 19:51:30 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PQP6s-0007F7-VC for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 19:51:27 +0100 Original-Received: from localhost ([127.0.0.1]:44404 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PQP6s-0005g6-5M for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 13:51:26 -0500 Original-Path: usenet.stanford.edu!postnews.google.com!i28g2000yqa.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help,comp.unix.shell Original-Lines: 69 Original-NNTP-Posting-Host: 75.28.100.234 Original-X-Trace: posting.google.com 1276461092 1201 127.0.0.1 (13 Jun 2010 20:31:32 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Sun, 13 Jun 2010 20:31:32 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: i28g2000yqa.googlegroups.com; posting-host=75.28.100.234; posting-account=REkl4woAAABFXaU7nL79XtGpnmNCQ415 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6,gzip(gfe) Original-Xref: usenet.stanford.edu gnu.emacs.help:178906 comp.unix.shell:245317 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:75825 Archived-At: On Jun 13, 8:07=A0am, Icarus Sparry wrote: > On Sat, 12 Jun 2010 10:43:46 -0700, bolega wrote: > > On Jun 10, 1:27=A0pm, bolega 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 generate= s > >> 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). thx. I searched google , http://groups.google.com/group/gnu.emacs.help/search?num=3D100&group=3Dgnu.= emacs.help&q=3Drecursive+edit&qt_g=3DSearch+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/8dc303a5= 26356794/96c264702c0a4443?lnk=3Dgst&q=3Drecursive+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 ?