Blob Blame History Raw
diff -up src/sage/interfaces/maxima.py.orig src/sage/interfaces/maxima.py
--- src/sage/interfaces/maxima.py.orig	2020-10-24 11:37:59.000000000 -0600
+++ src/sage/interfaces/maxima.py	2020-10-30 13:59:17.007281872 -0600
@@ -546,7 +546,7 @@ class Maxima(MaximaAbstract, Expect):
         Expect.__init__(self,
                         name = 'maxima',
                         prompt = r'\(\%i[0-9]+\) ',
-                        command = '{0} -p {1}'.format(MAXIMA, shlex.quote(STARTUP)),
+                        command = '{0} --disable-readline -p {1}'.format(MAXIMA, shlex.quote(STARTUP)),
                         env = {'TMPDIR': str(ECL_TMP)},
                         script_subdirectory = script_subdirectory,
                         restart_on_ctrlc = False,
@@ -615,7 +615,8 @@ class Maxima(MaximaAbstract, Expect):
 
         # Remove limit on the max heapsize (since otherwise it defaults
         # to 256MB with ECL).
-        self._sendline(":lisp (ext:set-limit 'ext:heap-size 0)")
+        self._sendline(":lisp #+ecl (ext:set-limit 'ext:heap-size 0) #-ecl 0")
+        self._sendline(':lisp #+gcl (progn (si:readline-off) (setf *error-output* (open "/dev/stderr" :direction :output)  *standard-input* (open "/dev/stdin" :direction :input)  *standard-output* (open "/dev/stdout" :direction :output))) #-gcl t')
         self._eval_line('0;')
 
         # set random seed
diff -up src/sage/interfaces/sage-maxima.lisp.orig src/sage/interfaces/sage-maxima.lisp
--- src/sage/interfaces/sage-maxima.lisp.orig	2020-10-24 11:37:59.000000000 -0600
+++ src/sage/interfaces/sage-maxima.lisp	2020-10-30 13:58:16.806383103 -0600
@@ -4,3 +4,8 @@
 
 (setf *prompt-prefix* "<sage-display>")
 
+#+clisp
+(setf
+  *error-output* (open "/dev/stderr" :direction :output)
+  *standard-input* (open "/dev/stdin" :direction :input)
+  *standard-output* (open "/dev/stdout" :direction :output))