Estimated hours taken: 1
Branches: main, release
scripts/gud.el:
Fix the regexp which matches a procedure specification so that
it matches procedures which are contained in sub-modules.
Estimated hours taken: 2
scripts/gud.el:
Fix to work with Emacs 20.4.1 on Linux.
There were several problems:
(1) The gud-redirect-io stuff was broken, since it relies on ttys,
and apparently Emacs now just uses pipes rather than ttys.
For now I've just disabled that by setting gud-redirect-io
to false (nil).
(2) There were some bugs in the code for the case where gud-redirect-io
was false (nil):
- I'd accidentally omitted the `progn' around the body of an
if-then-else, and thus accidentally written `if (...) A else B'
when I had intended to write `if (...) { A; B; }'.
- One part of the code was assuming that the gud-prog-buffer
variable was set, but this was only true for the case where
gud-redirect-io was true (t).
Estimated hours taken: 6
Improve the Emacs mdb interface, in particular by using
the new mdb line number support.
scripts/gud.el:
Find the source location by parse the line numbers that mdb
prints, rather than using tags to find the current source
location.
Add support for setting a breakpoint on the current line.
Also add a few other commands to the MDB menu, in particular
the commands for interactive queries and a command to list
all the current aliases.
Ensure that the program execution buffer is displayed
when you start, so that if you type the wrong command name,
the error message is visible rather than in a buffer that
is not displayed.
Estimated hours taken: 0.5
scripts/gud.el:
Fix a bug: the code was depending on the `first' and `second'
functions, which are defined only if you load the `viper'
package. The fix is to use `car' and `cdr' instead.
Estimated hours taken: 16
Add support for debugging Mercury code using mdb to "Gud",
the Emacs "Grand Unified Debugger". This lets you run mdb
under emacs, using the tags file provided by `mtags --emacs'
for source code linking.
scripts/gud.el:
Add support for Mercury.
Mmake.common.in:
scripts/Mmakefile:
bindist/Mmakefile:
bindist/bindist.Makefile.in:
Modify the installation scripts to install gud.el in
.../lib/mercury/elisp.
.INSTALL.in:
bindist/bindist.INSTALL:
Document what you need to add to your ~/.emacs file to
use the Emacs mdb interface.