noninteractive-bug? 0^0 error message varies between systems.



Hi there!

As I understand it, maxima has a standard-error message that gets issued 
every time 0^0 is generated.

However, I am using maxima through the non-interactive mode, and the 
message I get varies depending on the system it runs on. On my Linux 
machine, I get:


Maxima 5.22.1 http://maxima.sourceforge.net
using Lisp SBCL 1.0.40.0.debian
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load(noninteractive);
STYLE-WARNING: redefining INTEXT in DEFUN
STYLE-WARNING: redefining PARSE-CONDITION in DEFUN
STYLE-WARNING: redefining MERROR in DEFUN
STYLE-WARNING: redefining $GENSYM in DEFUN
STYLE-WARNING: redefining TOPLEVEL-MACSYMA-EVAL in DEFUN
STYLE-WARNING: redefining ASKSIGN1 in DEFUN
STYLE-WARNING: redefining ASK-PROP in DEFUN
(%o1) 
/usr/share/maxima/5.22.1/share/contrib/noninteractive/noninteractive.mac
(%i2) 0^0;
INFO: Control stack guard page unprotected
Control stack guard page temporarily disabled: proceed with caution

Maxima encountered a Lisp error:

  Control stack exhausted (no more space for function call frames).
This is probably due to heavily nested or infinitely recursive function
calls, or a tail call that SBCL cannot or has not optimized away.

PROCEED WITH CAUTION.

Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
(%i3)


Whereas my Windows system says:

Maxima 5.22.1 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (a.k.a. GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) load(noninteractive);
(%o1) 
C:/PROGRA~1/MAXIMA~1.1/share/maxima/5.22.1/share/contrib/noninteractive/\
noninteractive.mac
(%i2) 0^0;

Maxima encountered a Lisp error:

  Error in MERROR [or a callee]: Bind stack overflow.

Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
(%i3)



I assume this is due to the different underlying Lisp used.

In any case, this makes it difficult to catch any 0^0 errors when using 
the noninteractive-mode. Is this by design, or is this a bug that I 
should create a bug-report for?


Cheers (& happy new year! :)  )


Thomas