guile-devel
[Top][All Lists]
Advanced

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

Re: trace examples broken in master


From: Neil Jerram
Subject: Re: trace examples broken in master
Date: Tue, 14 Jul 2009 09:07:45 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Julian Graham <address@hidden> writes:

> Hi Guilers,

Hi Julian,

I'm afraid this is a case of `snap!'...  I've been looking into these
things too and have patches that I hope to commit shortly.

> I went to try out some of the traps / tracing features in the debugger
> last night, and I ran into some compilation issues with `(ice-9
> debugging ice-9-debugger-extensions)'.  A patch that resolves them is
> attached -- I haven't pushed because I'm not sure I fully understand
> the broader context of the code (e.g., why are we checking the version
> when the debugger is now part of Guile itself?), and because I'm still
> a little git-shy.

You're completely right.  The version stuff is historical and no
longer needed in master, so we should definitely blow it away.  In
fact the same applies to the whole existence of
ice-9-debugger-extensions.  (It was all about wanting to support 1.6
and 1.8 from a single set of guile-debugging sources.)

> More importantly, though, tracing (as per the examples in section
> 5.21.3.5 of the manual) doesn't seem to produce any output.  Not sure
> where to look to figure that out.

This is to do with decorate-source in psyntax.scm using
set-source-properties!, and with the scm_set_source_properties_x ()
code being completely wrong.

Here's a rewriting that works:

(define (decorate-source e s)
  (if (and (pair? e) s)
      (let loop ((specials '(breakpoint line column copy filename)) (s s))
        (or (null? specials)
            (let ((special (assq (car specials) s)))
              (if special
                  (begin
                    (set-source-property! e (car special) (cdr special))
                    (loop (cdr specials) (delq! special s)))
                  (loop (cdr specials) s))))))
  e)

but the right thing to do is to fix the scm_set_source_properties_x ()
code.

Regards,
        Neil




reply via email to

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