Re: Temporarily suppress all error messages
Leo Butler <[email protected]> Tue, 19 May 2026 19:24:38 +0000
| Newsgroups | gmane.comp.mathematics.maxima.general |
|---|---|
| Message-ID | <[email protected]> |
In Yamwi, we bind *STANDARD-OUTPUT* (and *ERROR-OUTPUT*) to an output string stream during evaluation. Then, as part of the printing of input and output, we check if either of these are non-empty. This allows a somewhat finer control over the formatting of these errant lines of output. Leo On Tue, May 19 2026, "Chris Dawes" <[email protected]> wrote: > I try to dodge all the problems with handling text output by calling > print with a sentinel value and treating anything between input and > that value as output or side-effect output that I can capture and > display, at the expense of a more noisy protocol. > > Chris. > > > ------ Original Message ------ > From "Leo Butler" <[email protected]> > To "Michel Talon" <[email protected]> > Cc "[email protected]" > <[email protected]> > Date 19/05/2026 17:32:01 > Subject Re: [Maxima-discuss] Temporarily suppress all error messages > >>Thanks, Barton. The hazards of auto-complete. >> >>Michel, Re: MTELL messages. >> >>I have come to hate MTELL. In the course of working on Yamwi, where we >>try to corral all the various messages, warnings and errors from Maxima, >>MTELL has stood out for me as being the most carelessly crafted way to >>dump text to a terminal. In my opinion, if Maxima needs to communicate a >>message to the user that is not a question, then it is at least a >>warning and should be printed by MWARNING (which prints to >>*ERROR-OUTPUT*). Indeed, when I grep src/*.lisp for calls to MTELL, it >>looks like virtually every such call is a warning or an error message. I >>don't understand why MWARNING is not used for these messages. >> >>That's my ¢2. >> >>Leo >> >> >>On Tue, May 19 2026, Michel Talon <[email protected]> wrote: >> >>> Le 19/05/2026 à 17:52, Barton Willis a écrit : >>> >>>> Should :lisp(setf *error-output* (make-output-string-stream)) be >>>> :lisp(setf *error-output* (make-string-output-stream))? >>>> >>>> >>> You are right, this works, the other doesn't, because >>> make-output-string-stream is a function in sbcl-impl etc. >>> >>> This being said seeing all format output suppressed seems to me quite >>> strange. Moreover this also kills merror messages, >>> >>> but not mtell messages, so in my opinion should be discouraged. >>> >>> (%i1) :lisp(setf *error-output* (make-string-output-stream)) >>> >>> #<STRING-OUTPUT-STREAM {1201BA2CE3}> >>> (%i1) "1/0"~; >>> >>> (%i1) ?merror("What a mess"); >>> >>> (%i2) ?mtell("What a mess"); >>> What a mess(%o2) false >> >>-- >>--- >>Best regards, >>Dr Butler >>_______________________________________________ >>Maxima-discuss mailing list >>[email protected] >>https://lists.sourceforge.net/lists/listinfo/maxima-discuss > -- --- Best regards, Dr Butler _______________________________________________ Maxima-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/maxima-discuss