On Thu, Jan 8, 2026 at 1:02 AM Eli Zaretskii <[email protected]> wrote:

> > From: Richard Stallman <[email protected]>
> > Cc: [email protected], [email protected]
> > Date: Wed, 07 Jan 2026 12:21:21 -0500
> >
> > GUD is a part of Emacs core.
> > Why do we have a package which is a modified version of GUD?
> > If changes in GUD are desirable, why not install them in GUD itself?
>
> AFAIU, Realgud is not a modified version of GUD, it's a complete
> rewrite from scratch of the debugging front-end.  Unless I'm mistaken
> in the above, there's no way of installing its many improvements in
> GUD except by someone implementing some or all of those features in
> GUD.  Or maybe it would be possible to obsolete gud.el and add Realgud
> to the Emacs core instead.
>
> I don't use any external debuggers except GDB, and for using GDB, from
> my POV as both a user of GDB and a maintainer of Emacs, there's one
> significant disadvantage in Realgud: it uses the GDB annotations for
> the interface between Emacs and GDB.  Annotations are deprecated in
> GDB since version 5.1 (which was released more than 20 years ago), and
> the GDB developers can decide to remove it from GDB at any moment.
> The GDB/MI interface, which replaced the annotations (and is used by
> the modern Emacs GDB front-end gdb-mi.el) is AFAIK not supported by
> Realgud.
>

Realgud's use of annotations indeed is far from optimal.

A while ago, I asked some kind person in the GDB community about the use of
GDB/MI and what it would take to add it.

I was discouraged. I learned that MI, with its binary-encoded interface, is
also far from optimal. Possibly, that's why MI hasn't become more widely
adopted. The current thought and hope (well, actually, from a decade ago),
would be to support more modern remote debugging protocols, such as
Microsoft's debug protocol, the one that JVM/Eclipse uses, and the one that
V8 uses. (There are also the DBGp and Xdebug debug protocols)

The great thing about "standards" is that there are so many to choose from!
But one thing is clear: MI isn't a popular choice.

But, hey, this is all open-source (and FSF too!) So anyone is free to
improve realgud and add MI support. Over the last decade or so, no one has
tried to address this facet. Therefore, if and when annotations disappear,
GDB support in realgud will break. But realgud also has an interface for
lldb.

Anyone want to take bets on which disappears first: sdb in gud.el or
annotations in gdb?

Reply via email to