As a first step toward my general goal of making a LISP interface that is designed for random-access displays rather than simulated Teletypes, I thought I would get the prompt out of REPL buffers and put the same information on their mode lines.
A one-line change to sline.el prevents printing the prompt string, but then I notice that "Evaluation aborted" messages appear in bold. Probably the face used for input that has been completed is being used for the messages. Is there any complete spec for what can appear in REPL buffers, so I know what code needs to be changed?
The one-line change is to slime-repl-insert-prompt (line 2642 in SLIME 1.2.1): < (prompt (format "%s> " (slime-lisp-package-prompt-string)))) ---
(prompt ""))
The next problem is to put the information in the mode line or perhaps in the top pane that currently shows the port and process IDs. The standard prompt shows the current package. To the user, the prompt also means "evaluation of the last form (or initialiation) was aborted or is complete" as well as "the reader is expecting new input and is not in the middle of reading anything". Does SLIME have a notion of package change, evaluation completion or abortion, and reader state change as separate events? Does the SWANK protocol allow them to be sent as signals that don't depend on any particular text output also being sent to SLIME at the same time?
Thanks for your help,
-- Derek
On Thu, Dec 22, 2005 at 12:05:32AM +0000, Derek Peschel wrote:
As a first step toward my general goal of making a LISP interface that is designed for random-access displays rather than simulated Teletypes, I thought I would get the prompt out of REPL buffers and put the same information on their mode lines.
A one-line change to sline.el prevents printing the prompt string, [...]
The next problem is to put the information in the mode line or perhaps in the top pane that currently shows the port and process IDs. The standard prompt shows the current package. To the user, the prompt also means "evaluation of the last form (or initialiation) was aborted or is complete" as well as "the reader is expecting new input and is not in the middle of reading anything".
More importantly to me, the prompt tells me "this is what *PACKAGE* was when I ran this command n {minutes,hours,days} ago." I'd be very unhappy for that information to go away.
I guess I'm not sure what problem you're attempting to solve here...
-bcd