Some main loop fixes



Richard,

When the cursor is at the start of a line not as a result of what was
printed, but as a result of the user hitting the ENTER key, the output
modifiers cause an extra line feed to be emitted. Hence we get the blank
lines. That's what my modifications were intended to address.


Viktor
 

-----Original Message-----
From: Richard Fateman [mailto:fateman at cs] 
Sent: Tuesday, January 18, 2005 10:24 AM
To: Viktor T. Toth
Cc: maxima@math.utexas.edu
Subject: Re: [Maxima] Some main loop fixes

Isn't there a formatted output modified in common lisp
that says to take a new line only if necessary?
Does this not work when we needed it? ~&   or ~1& should do it.
"fresh line".
RJF

Viktor T. Toth wrote:

> This is a heads-up on some fixes I made to the Maxima main loop. Having
> discussed them with Jim, I'm about to commit the changes.
> 
> One change eliminates spurious error messages by making sure that the
input
> buffer is emptied after an error occurs. So for instance, sqrt(,x); now
> produces only one error message, instead of several.
> 
> The other set of changes is designed to fix the "extra line break"
problem:
> an extra blank line, printed after most output unnecessarily. The hack
> consists of the removal of some unnecessary newlines, and a simple
heuristic
> to determine if we're on an interactive terminal (in which case, when the
> user hits ENTER, we're on a new line already) as opposed to, say, an
xmaxima
> session.
> 
> I have tested these changes with GCL, CLISP, and CMUCL, using both maxima
> and xmaxima. I understand that Jim also tested them with SBCL. That said,
> the logic may possibly break with other LISPs. Furthermore, I'm sure that
> there will be problems with front-ends, making further tweaks necessary.
> (Hopefully, tweaks will be all that's needed, and it won't be necessary to
> roll back these changes.)
> 
> For the record, the files changed are displa.lisp, macsys.lisp,
mload.lisp,
> and nparse.lisp.
> 
> 
> Viktor
> 
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima