[m-dev.] for review: use readline in browser/

Erwan Jahier Erwan.Jahier at irisa.fr
Thu May 27 23:21:42 AEST 1999


| Erwan Jahier writes:
| > | -:- pred browse_common(debugger, T, io__input_stream, io__output_stream,
| > | -			browser_state, browser_state, io__state, io__state).
| > | -:- mode browse_common(in, in, in, in, in, out, di, uo) is det.
| > | -browse_common(Debugger, Object, InputStream, OutputStream, State0, State) -->
| > | +:- pred browse_common(debugger, T, io__output_stream, browser_state,
| > | +		browser_state, io__state, io__state).
| > | +:- mode browse_common( in, in, in, in, out, di, uo) is det.
| > | +
| > | +browse_common(Debugger, Object, OutputStream, State0, State) -->
| > 
| > Euh... As its name suggests, browse_common() is used both by the internal and 
| > the external debuggers. If you remove that argument, you will break the 
| > external debugger.
| > 
| 
| But the internal debugger's input is done via a call to MR_trace_getline,
| not via a stream, so the only thing they have in "common" is the
| output stream ;).
| 
| The code that sets the input stream is now in browse_external/7.  I
| figured that would be enough to avoid breaking the external debugger,
| but I couldn't easily test it.  Did I miss something?

I think so: browse_external/7 calls browse_common/8

I think the easiest solution would be to unfold the code of the old
browse_common/8 into browse_external/7 and then rename the new browse_common/7
(since it is no more common stuff).

-- 
R1.


--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list