[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: debug-on-call
From: |
Kevin Rodgers |
Subject: |
Re: debug-on-call |
Date: |
Tue, 18 Feb 2003 11:15:22 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:0.9.4.1) Gecko/20020406 Netscape6/6.2.2 |
Dan Jacobson wrote:
"K" == Kevin Rodgers <kevin.rodgers@ihs.com> writes:
K> Dan Jacobson wrote:
I wanted to have emacs stop if it ever called a function, but no:
debug-on-entry: Function base64-encode-region is a primitive
I don't need to debug inside that function. All I wanted was to see a
backtrace so I can tell the layers of stuff calling that function.
K> (defadvice base64-encode-region (before debug activate)
K> "Debug (when called from an Emacs Lisp function)."
K> (debug))
OK, maybe this could be the guts of the new debug-on-call function, or
at least documented as what to do when debug-on-entry isn't usable...
Please find attached a tentative user (i.e. non-integrated) implementation.
Of course an antidote should also be provided to turn it off.
Yep, but I haven't gotten that far yet.
P.S. Kev, your References:
<mailman.1280.1044050572.21513.bug-gnu-emacs@gnu.org> does not give my
original post the fame and glory of its original Message-ID causing
its thread to be broken 'in many newsreaders'.
That's odd, google finds it under that Message-ID. I used
http://www.google.com/advanced_group_search?hl=en
to find
From: Dan Jacobson <jidanni@dman.ddts.net>
Newsgroups: gnu.emacs.bug
Subject: debug-on-call
Date: 01 Feb 2003 03:03:22 +0800
Lines: 23
Sender: news <news@main.gmane.org>
Approved: bug-gnu-emacs@gnu.org
Message-ID: <mailman.1280.1044050572.21513.bug-gnu-emacs@gnu.org>
Reply-To: Dan Jacobson <jidanni@dman.ddts.net>
NNTP-Posting-Host: monty-python.gnu.org
Did you try reading
this group via NNTP of gmane.org for maximal comfort?
I primarily read gnu.emacs.bug and only check gmane.emacs.bug (both via
NNTPSERVER=news.cis.dfn.de) to make sure I don't miss any articles.
--
<a href="mailto:<kevin.rodgers@ihs.com>">Kevin Rodgers</a>
(defadvice debug-on-entry (around advise-primitive activate)
"If an error is signalled because FUNCTION is a primitive, query the user
whether to debug Lisp calls via `defadvice'."
(condition-case condition-data
ad-do-it
(error (let ((error-message (format "Function %s is a primitive"
(ad-get-arg 0))))
(if (and (equal (car (cdr condition-data)) error-message)
(interactive-p)
(yes-or-no-p
(concat error-message
"; debug Lisp calls via defadvice? ")))
(eval `(defadvice ,(ad-get-arg 0) (before debug activate)
"Debug (when called from an Emacs Lisp function)."
(debug)))
(signal 'error (cdr condition-data)))))))
;; (defadvice cancel-debug-on-entry (around advise-primitive activate)
;; ...)
Re: debug-on-call, Richard Stallman, 2003/02/04
Message not available