[m-dev.] for review: new debugger command set (part 1 of 4)
Fergus Henderson
fjh at cs.mu.OZ.AU
Fri Oct 2 20:10:22 AEST 1998
> *** FIX BUG: MAKE THE DEBUGGER PRINT TO STDOUT, NOT THE CURRENT STREAM ***
It would be better to make the debugger print to a "debug_out" stream,
which would be initialized to point to stdout but could potentially
be redirected elsewhere (e.g. some later change might allow you to specify
something in MERCURY_OPTIONS to redirect it to a given file).
However, I don't mind if you leave that for a separate change.
> library/io.m:
> Export to C code the predicates that return the identities of stdin,
> stdout and stderr, as well as io__print/[34].
Why export stdin & stderr?
mercury_init.h:
> +** These declarations duplicate some of the contents of the automatically
> +** generated header files for some of the library modules, and therefore
> +** represent a potential double maintenance problem. At the moment we
> +** accept this because it avoids having the runtime rely on the library.
> +** However, the dependence on browser/debugger_interface.m is unnecessary,
> +** since the only code that relies on the ML_DI_* variables below is
> +** in the trace directory, which is allowed to rely on the browser
> +** directory.
The last sentence there should have an "XXX".
> +/*
> +** This variable has been replaced by MR_io_print_to_*_stream,
> +** but the installed mkinit executable may still generate references to it.
> +** We must therefore keep it until all obsolete mkinit executables have
> +** been retired.
> +*/
> +
> +Code *MR_library_trace_browser;
That should have an "XXX". (This occurs in two places, the header file
and the C file.)
Otherwise, that part ("FIX BUG: MAKE THE DEBUGGER PRINT TO STDOUT,
NOT THE CURRENT STREAM") looks fine.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
More information about the developers
mailing list