"Stephen J. Turnbull" <stephen(a)xemacs.org> wrote:
>>>>> "Jerry" == Jerry James
<james(a)xemacs.org> 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 james(a)xemacs.org
Computer Science Department
http://www.cs.usu.edu/~jerry/
Utah State University