Re: overlay-arrow-variable-list

Jerry James <[email protected]> Wed, 03 May 2006 14:20:49 -0600
Newsgroups gmane.emacs.xemacs.design
Message-ID <[email protected]>
"Stephen J. Turnbull" <[email protected]> wrote:
>>>>>> "Jerry" == Jerry James <[email protected]> writes:
>
>     Jerry> newer Emacs stuff draws multiple overlaid arrows and things
>     Jerry> to show various bits of information in debugger buffers.
>
> Screen shot, s'il vous plait.

What, I wasn't specific enough? :-)  I didn't know what bits of
information myself; I just saw the uses of overlay-arrow-variable-list
in the code.  Further digging shows that the Emacs GDB support is still
only using a single overlay arrow per debug buffer.  The trick is that
overlay-arrow-position and overlay-arrow-string can be used by only 1
buffer at a time.  With the new Emacs stuff, they can support having
multiple debug sessions going simultaneously, with an overlay arrow in
each.

A grep through the Emacs sources show that overlay-arrow-variable-list
is used only by the gud/gdb-ui modes, and by simple.el to support
next-error in compilation buffers.  The Emacs approach means that minor
modes can safely use overlay arrows, though, if anyone ever comes up
with a minor mode that can meaningfully use one.

As I see it, I have at least the following choices when porting the
newer debugger interfaces:

1) Replace overlay-arrow-variable-list with the existing
   overlay-arrow-position/string and tell our users not to try to have
   multiple debugger sessions going simultaneously.

   1a) Add overlay-arrow-variable-list to 21.5 and make the debugger
       Lisp detect and use it when available.

2) Take Ben's suggestion and check out the annotation package to see if
   it provides the needed functionality.

3) See whether any existing extent properties make them suffice for the
   purposes of the debugger code.

-- 
Jerry James, Assistant Professor        [email protected]
Computer Science Department             http://www.cs.usu.edu/~jerry/
Utah State University