[Top][All Lists]

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

guile-debugging-0.11 available

From: Neil Jerram
Subject: guile-debugging-0.11 available
Date: Sun, 09 Oct 2005 00:00:33 +0100
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

I'm happy to announce release 0.11 of my guile-debugging package,
which includes an Emacs front end for Guile development as well as
various debugging enhancements such as breakpoints.

The tarball is at

There is a tutorial for the Emacs front end (GDS) at

And the complete manual is at

NEWS is appended below.


Changes in guile-debugging-0.11

* GDS changes

** Breakpoints are easier to use

The breakpoints set by `C-x SPC' now work regardless of whether the
code that they are targeted at is loaded before or after the setting
of the breakpoint.  See the manual for further details.

** Tool tips to show variable values

When GDS is displaying a stack, you can see the value of any
identifier in the code that corresponds to the selected stack frame
just by moving the mouse over it.

** Tutorial added

New file gds-tutorial.txt contains a step-by-step tutorial on how to
use GDS.

** Better automatic buffer association heuristics

The code for automatically associating a Scheme buffer with a Guile
client has been improved, and made customizable by the introduction of
several gds-auto-* options.  With the default settings of these
options, the intention is to do the "obviously" correct thing in 99%
of cases.

** Quit/continue/go distinction removed

In a GDS stack display buffer, the `q', `c' and `g' keystrokes now all
have the same effect.  For a continuable stack (i.e. at a trap or
breakpoint) this is to continue normal execution; for a
non-continuable stack (i.e after an exception) it is to return to the
lazy catch handler, which will then rethrow the exception.

(The previous idea of `q' executing (throw 'debugger-quit) has been
discarded, because it relies on assumptions about the dynamic context
that are not always correct.)

** Breakpoints persist between sessions

Breakpoint definitions are written by default to the
~/.gds-breakpoints file, and reread when GDS is loaded again.

* Scheme API changes

** New procedure: throw->trap-context

This makes it easy to invoke GDS from within a lazy-catch handler, so
as to explore the stack at the point of the throw.  Basic usage is:

  (lazy-catch <key>


    (lambda (key . args)
      (gds-debug-trap (throw->trap-context key args))

** New module: (ossau breakpoints)

Provides the Scheme-level interface to breakpoints; see the manual for

** Support for Guile 1.7 as well as Guile 1.6

The Scheme code has been enhanced so that it works under Guile 1.7 as

** Module removed: (ossau property-guardian)

No longer used, so removed.

** Location traps have been made precise

They now refer to a precise line and column position, rather than to a
range of positions.

* Released, 9th October 2005

reply via email to

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