Subject: Maxima 5.26.0 tagged in Git & posted to SF
From: Robert Dodier
Date: Mon, 19 Dec 2011 10:04:04 -0700
On 12/19/11, Oliver Kullmann <O.Kullmann at swansea.ac.uk> wrote:
> Running tests in rtest8:
I think I observed this before & reported it to the ECL mailing list.
If it's the same error, there is a difference between compiled
and interpreted code in ECL. If you load these files from the
Maxima prompt:
:lisp (load "src/numerical/slatec/xermsg.lisp");
:lisp (load "src/numerical/slatec/xerprn.lisp");
:lisp (load "src/numerical/slatec/xersve.lisp");
and then re-run the test, does the problem go away?
> /* Print a string without line-breaks: */
> print_nlb(s) := block([old_linel : linel],
> linel : slength(s) + 1,
> print(s),
> linel : old_linel)$
To preserve & restore a global variable, block([some_variable : foo], ....)
is enough (i.e. block restores the value, you don't have to).
Maybe it works better to call Lisp FORMAT ?
(i.e. ?format(s)) I haven't tried it.
> As it should be. However 5.26.0 introduces an extra empty line:
> ---
> (%i2) print_nlb("XXX");
>
> XXX
Well, without looking I don't know what might have changed.
Different Lisp implementations handle the "fresh line" business
differently so it's just a lot of trial & error to get it straight for
all implementations.
best
Robert Dodier