You are correct that a protocol number has advantages in that it guarantees folks get a minimum version of GNU Emacs bashdb support. However given other circumstances, the real here benefit to everyone is negligible. bashdb is not distributed as part of bash right now and in order to do any sort of debugging you need bashdb installed. So it's possible (in fact likely) that folks will install GNU Emacs but not have this add-on and things are broken. In theory the GNU Emacs gud code could check for the presence of bashdb, but it doesn't yet (and it might be cumbersome to write). Furthermore, the issues we've been seeing aren't so much that the underlying protocol changes (so things break), as much as where bugs tend to get reported, the speed of fixes, and frequency of user-visible releases of minor improvements and enhancements. For example, the last change involved changing a regular expression to accommodate Microsoft Windows. As part of that fix, we added a little regression test for that case. I believe this fix is part of the last release. It is not clear that had the bug finder reported this to via the GNU Emacs channels, the change would have be visible to users as soon, or that there would have been a regression test added. bashdb has and advantage or disadvantage of being much smaller than GNU Emacs. Therefore we are able to be more agile. Finally, I think the argument is also equally valid the other way around too. If gud had a protocol number, it would help bashdb.el and other add-ons, like the debugger for GNU Make for which there is a corresponding GNU Emacs interface. That GNU Emacs lisp code would check against a protocol number instead of GNU Emacs major/minor version numbers and adjust accordingly. On 2/25/07, Richard Stallman wrote: > > To avoid users' confusion, we'd like to move bashdb related code( > bashdb.el) > in gud.el to bashdb itself. So we can provide well updated bashdb.elin > bashdb release. > > Wouldn't it be better to have a protocol version number? > Then Emacs could still have the code, but if you change the protocol, > you would update the protocol version number. Then the code in Emacs > would say "you need to install bashdb.el from . >