emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Backtraces to use macro information from edebug-specs?


From: Stefan Monnier
Subject: Re: Backtraces to use macro information from edebug-specs?
Date: Fri, 13 Feb 2009 20:53:07 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

> Given the information form edebug-specs (which are defined for all `cl'
> macros), it may perhaps be possible to find out that

>   `quux(23)' comes from the body of case, but `(cond ((eql ...' doesn't.

>   `(case key ...' appears in the body of destructuring-bind, but the
>   `(let* ... ' and `(progn ...' do not.

> As a result the backtrace could be presented as follows

>   Debugger entered--Lisp error: (error "QUUX -- 23")
>     signal(error ("QUUX -- 23"))
>     error("QUUX -- %S" 23)
>     quux(23)
>       (cond ((eql key ...) (quux slot1) (:bar ...)))
>     (case key (:foo (quux slot1) (:bar ...)))
>       (let* ((--cl-rest-- list) (key ...) (slot1 ...) (slot2 ...)) (case ...)
>       (progn (let* (... ... ... ...) (case key ...)))
>     (destructuring-bind (key slot1 slot2) list (case key (:foo ... ...)))
>     foo((:foo 23 42))

> Of course, they may be better ways to do this, depending on how much
> debug information is available.

> Has anyone worked on something like that?

Not that I know.


        Stefan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]