Re: Temporarily suppress all error messages
Astrea Drifter <[email protected]> Tue, 19 May 2026 19:17:38 -0600
| Newsgroups | gmane.comp.mathematics.maxima.general |
|---|---|
| Message-ID | <CADZFxckmCjc+r2BbKWTMOZ_jRyUCGbdZZpAL051wpR6i6zpDCQ@mail.gmail.com> |
Leo, I am indeed using the most recent version of Maxima (5.49) and I do the terminal most of the time. (If I ever use anything else, it's XMaxima). So the Lisp command you mentioned is workable for me! Michel, I tried out your version of the command, and it seems to do well in suppressing the "not enough parentheses", "too many parentheses", and "expected n arguments but got k" sorts of messages, and these are the ones which I get very often and which I was having trouble suppressing. Not only that, but the command also interacts with my syntax (which involves the double-quotes and the user-defined nofix "~" along with a whole bunch of stuff in my preamble) in a way that causes it to print output lines with empty brackets on them, which is exactly what I was hoping for it to do in these cases! So this command seems like the perfect help for my use case, and I've included it in my preamble. I might post again if I encounter any issues with it that I can't fix, but as near as I can tell it seems like it will work nicely. Thank you all so much for your help! Astrea On Tue, May 19, 2026 at 9:39 AM Leo Butler <[email protected]> wrote: > If you are using a recent version of maxima, you can do the following at > the terminal: > > :lisp(setf *error-output* (make-output-string-stream)) > > Alternatively, you can save the line > > (setf *error-output* (make-output-string-stream)) > > in a start-up file (e.g. maxima-init.lisp) and make sure it gets loaded > at start-up. > > Explanation: in recent versions of Maxima, errors and warnings are > printed to the output stream *ERROR-OUTPUT*. That can be rebound to a > "string stream", which results in the diversion of the error messages to > a sink. > > Best regards, > Leo > > > On Tue, May 19 2026, Michel Talon <[email protected]> wrote: > > > Le 19/05/2026 à 04:52, Astrea Drifter a écrit : > >> > >> While searching for solutions, I found a thread where the following > >> commands were recommended to turn off error and warning messages > >> respectively, and these seemed well suited for the use case of that > >> thread's op: > >> :lisp (defun merror(&rest foo) nil) > >> :lisp (defun mtell (&rest foo) nil) > >> > >> Unfortunately, while I have some experience with Maxima, I know > >> nothing at all about Lisp. > > > > A little pedagogy: a lot of errors in maxima trigger the function > > merror, which outputs the appropriate error message. In lisp you can > > redefine any function, so when doing (defun merror(&rest foo) nil) > > you are just redefining merror to produce nil, for whatever arguments > > you feed merror with (&rest foo). Idem for mtell which is triggered by > > less severe problems. But this does not work for your use case because > > the error is produced at the level of the parser (nparse.lisp) in > > which errors do not call merror or mtell, but just use the lisp > > function format to output a message. > > > > (format t (intl:gettext "incorrect syntax: ")) line 122 of nparse.lisp > > > > followed by some more complex stuff to output the cause of the error, > > here ~ is not an infix operator ... > > > > Since you probably don't want to redefine lisp functions, i don't see > > how to mute this error message. > > -- > --- > Best regards, > Dr Butler > _______________________________________________ > Maxima-discuss mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > _______________________________________________ Maxima-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/maxima-discuss