It appears that sometime recently, GCL has switched to using libedit / editline [1]. If run with GCL compiled with editline, the --disable-readline option no longer works. This is significant because it causes other code that talks to maxima through stdin/stdout to fail, e.g. this here:
https://github.com/inducer/pymbolic/blob/main/pymbolic/interop/maxima.py
Sagemath has similar code, though I am unsure whether they are still using it. Code analogous to these lines
but with s/readline/editline seems to fix this. Probably, --disable-readline should disable editline as well.
Correction: It's still (si::readline-off), not (si::editline-off).
Thanks for the report. I see in src/init-cl.lisp, lines 466ff, that Maxima looks for
:readlinein*features*before callingsi::readline-off. I guess that's to detect GCL compiled with readline. What is the value of*features*in GCL on the system of interest?Andreas, thanks for the additional info. From that I think I see how to fix up Maxima.
Let me take this opportunity to please note that https://github.com/andrejv/maxima IS NOT the official repo and it is several years out of date, so, please refer to https://sourceforge.net/p/maxima/code/ instead.
Not sure where this one stands; should review to see if it got fixed.
Greetings! Just checked, forthcoming 2.6.13 --disable-readline does disable editline as well. maxima need only check for either :readline or :editline in features and (si::readline-off) as desired.
This one should be closed, IMHO, but I don't seem to have permissions to do it.