Re: Temporarily suppress all error messages

Leo Butler <[email protected]> Wed, 20 May 2026 14:25:34 +0000
Newsgroups gmane.comp.mathematics.maxima.general
Message-ID <[email protected]>
Hello,

You can also add this to your maxima-init.lisp file:

 (defun mtell (&rest l)
  (let ((*print-base* 10))
   (apply #'mformat *error-output* l)))

This will direct all MTELL output to *ERROR-OUTPUT* rather than
*STANDARD-OUTPUT*. Combined with re-binding *ERROR-OUTPUT*, this should
muffle >95% of the messages you might see otherwise.

The (dis)advantage of this suggestion is that error messages are stored
in an output stream, so you can inspect them via:

get_output_stream_string (?\*error\-output\*);

from the Maxima command line.

Best regards,
Leo


On Tue, May 19 2026, Astrea Drifter <[email protected]> wrote:

> 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
>>

-- 
---
Best regards,
Dr Butler
_______________________________________________
Maxima-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/maxima-discuss