I'm using SLIME 2.0 so these may already be fixed, but maybe not. The Lisp is CLISP 2.41.
1. The syntax for complex numbers (like that: #C(1 1)) seems to mess with the feature that displays function arguments in minibuffer. It thinks that #C and (1 1) are actually two different arguments, which is annoying.
2. I wrote a function:
(defun fast-orient (start end point) (declare (optimize (speed 3) (safety 0))) (declare (number start end point)) (> (anti-product (- point start) (- end start)) 0))
When I C-c C-c it, SLIME displays the following error:
"FORMAT: The control-string must be a string, not WARN"
[Condition of type SIMPLE-TYPE-ERROR]
Restarts: 0: [ABORT] Abort SLIME compilation. 1: [ABORT-REQUEST] Abort handling SLIME request.
0: #<COMPILED-FUNCTION SWANK-BACKEND::SIGNAL-COMPILER-WARNING> 1: #<COMPILED-FUNCTION SWANK-BACKEND::C-WARN> 2: #<COMPILED-FUNCTION SYSTEM::PARSE-OPTIMIZE-QUALITY> 3: #<COMPILED-FUNCTION SYSTEM::PROCESS-DECLARATIONS> 4: #<COMPILED-FUNCTION SYSTEM::C-LAMBDABODY> 5: #<COMPILED-FUNCTION SYSTEM::C-FUNCTION> 6: #<COMPILED-FUNCTION SYSTEM::C-FORM> 7: #<COMPILED-FUNCTION SYSTEM::C-DIRECT-FUNCTION-CALL> 8: #<COMPILED-FUNCTION SYSTEM::C-GLOBAL-FUNCTION-CALL> 9: #<COMPILED-FUNCTION SYSTEM::C-FORM> 10: #<COMPILED-FUNCTION SYSTEM::C-PROGN> 11: #<COMPILED-FUNCTION SYSTEM::C-FORM> 12: #<COMPILED-FUNCTION SYSTEM::C-LET/LET*> 13: #<COMPILED-FUNCTION #:|2104 2258 (DEFCONSTANT C-FORM-TABLE (LET # # ...))-169-1|> 14: #<COMPILED-FUNCTION SYSTEM::C-FORM> 15: #<COMPILED-FUNCTION SYSTEM::C-FORM> 16: #<COMPILED-FUNCTION SYSTEM::C-PROGN> 17: #<COMPILED-FUNCTION SYSTEM::C-FORM> 18: #<COMPILED-FUNCTION SYSTEM::C-LAMBDABODY>
and so on...
3. The indentation of loop macro is strange and annoying. I can never figure out the principle behind it. Maybe some Python-style indentation mechanism could be used?
TS> I'm using SLIME 2.0 so these may already be fixed, but maybe not. TS> The Lisp is CLISP 2.41.
I downloaded the latest CVS and it seems that all three of these problems are not yet fixed.
TS> 1. The syntax for complex numbers (like that: #C(1 1)) seems to mess TS> with the feature that displays function arguments in minibuffer. It TS> thinks that #C and (1 1) are actually two different arguments, which TS> is annoying.
Test case:
(defun plus (x y) (+ x y))
(plus #C(0 1) #C(1 1))
watch the minibuffer for weirdness.
TS> 2. I wrote a function:
(defun test-case () (declare (optimize (speed 3) (safety 0))) )
TS> When I C-c C-c it, SLIME displays the following error:
FORMAT: The control-string must be a string, not WARN [Condition of type SIMPLE-TYPE-ERROR]
Restarts: 0: [ABORT] Abort SLIME compilation. 1: [ABORT] Return to SLIME's top level. 2: [CLOSE-CONNECTION] Close SLIME connection 3: [ABORT] ABORT
Backtrace: 0: INVOKE-DEBUGGER 1: SYSTEM::FORMAT-CS-ERROR 2: FORMAT --more--
uh oh
TS> 3. The indentation of loop macro is strange and annoying. I can never TS> figure out the principle behind it. Maybe some Python-style TS> indentation mechanism could be used?
Still behaves as unpredictable as ever...