My office mate and I both use Slime with Franz Allegro Lisp and we both see this problem. It's been occuring for the past couple of years since we started using slime and I'm finally annoyed enough with it to dig in and try to fix it. If anyone can point me in the right direction it would be appreciated.
The problem:
In short, any restart which tries to take an argument causes the error
attempt to unread too many characters on #<TWO-WAY-STREAM "" @ #x10000ee1ad2> [Condition of type SIMPLE-ERROR]
For example, in a fresh REPL:
; SLIME 2013-09-29 CL-USER> a
Which results in:
Attempt to take the value of the unbound variable `A'. [Condition of type UNBOUND-VARIABLE]
Restarts: 0: [TRY-AGAIN] Try evaluating A again. 1: [EVALUATE-ALTERNATIVE] Use :A instead. 2: [STORE-VALUE] Set the symbol-value of A and use its value. 3: [USE-VALUE] Use a value without setting A. 4: [RETRY] Retry SLIME REPL evaluation request. 5: [*ABORT] Return to SLIME's top level. --more--
Select restart #2 and enter the value 10
enter an expression which will evaluate to a new value: 10
Results in:
attempt to unread too many characters on #<TWO-WAY-STREAM "" @ #x100010c8c22> [Condition of type SIMPLE-ERROR]
Restarts: 0: [EVALUATE-ALTERNATIVE] Use :A instead. 1: [STORE-VALUE] Set the symbol-value of A and use its value. 2: [USE-VALUE] Use a value without setting A. 3: [RETRY] Retry SLIME REPL evaluation request. 4: [*ABORT] Return to SLIME's top level. 5: [ABORT] Abort entirely from this (lisp) process.
Is this a problem with Franz Lisp? Slime, Swank? I'm not really sure where I should start looking at this point. Any help is appreciated.
Thanks, Andrew Myers