When trying to fire up SLIME or submit any forms to the REPL, I see the follow error arise:
,---- | Debugger entered--Lisp error: (error "`t' is not allowed in ecase") | signal(error ("`t' is not allowed in ecase")) | cerror("`%s' is not allowed in ecase" t) | apply(cerror "`%s' is not allowed in ecase" t) | error("`%s' is not allowed in ecase" t) | #<compiled-function (expr &rest clauses) "...(28)" [expr disallowed clauses t otherwise error "`%s' is not allowed in ecase" case append (...)] 6 ("/usr/share/xemacs-21.4.20/lisp/cl-macs.elc" . 9765)>(target ((nil) (with-current-buffer (slime-output-buffer) (slime-with-output-end-mark ... ... ... ...))) (:repl-result (with-current-buffer (slime-output-buffer) (let ... ... ...))) (t (let* (... ...) (when buffer ...)))) | (ecase target ((nil) (with-current-buffer ... ...)) (:repl-result (with-current-buffer ... ...)) (t (let* ... ...))) | slime-presentation-write(";; Loading file /cygdrive/c/Documents and Settings/seh/My Documents/.slime/fasl/2007-09-05/clisp-2.41-unix-pc386/contrib/swank-presentations.fas ...\n;; Loaded file /cygdrive/c/Documents and Settings/seh/My Documents/.slime/fasl/2007-09-05/clisp-2.41-unix-pc386/contrib/swank-presentations.fas\n" nil) | slime-write-string(";; Loading file /cygdrive/c/Documents and Settings/seh/My Documents/.slime/fasl/2007-09-05/clisp-2.41-unix-pc386/contrib/swank-presentations.fas ...\n;; Loaded file /cygdrive/c/Documents and Settings/seh/My Documents/.slime/fasl/2007-09-05/clisp-2.41-unix-pc386/contrib/swank-presentations.fas\n" nil) | slime-dispatch-event((:write-string ";; Loading file /cygdrive/c/Documents and Settings/seh/My Documents/.slime/fasl/2007-09-05/clisp-2.41-unix-pc386/contrib/swank-presentations.fas ...\n;; Loaded file /cygdrive/c/Documents and Settings/seh/My Documents/.slime/fasl/2007-09-05/clisp-2.41-unix-pc386/contrib/swank-presentations.fas\n") #<network connection "SLIME Lisp" (2799 . "127.0.0.1") state:run>) | slime-process-available-input(#<network connection "SLIME Lisp" (2799 . "127.0.0.1") state:run>) | slime-net-filter(#<network connection "SLIME Lisp" (2799 . "127.0.0.1") state:run> "000137(:write-string ";; Loading file /cygdrive/c/Documents and Settings/seh/My Documents/.slime/fasl/2007-09-05/clisp-2.41-unix-pc386/contrib/swank-presentations.fas ...\n;; Loaded file /cygdrive/c/Documents and Settings/seh/My Documents/.slime/fasl/2007-09-05/clisp-2.41-unix-pc386/contrib/swank-presentations.fas\n")000015(:return (:ok nil) 2)") `----
Per the `ecase' definition in cl-macs.el, the "t" case rejects keyforms "t" and "otherwise":
,----[ ecase from cl-macs.el ] | (defmacro ecase (expr &rest clauses) | "(ecase EXPR CLAUSES...): like `case', but error if no case fits. | `otherwise'-clauses are not allowed." | (let ((disallowed (or (assq t clauses) | (assq 'otherwise clauses)))) | (if disallowed | (error "`%s' is not allowed in ecase" (car disallowed)))) | (list* 'case expr (append clauses '((ecase-error-flag))))) `----
`slime-presentation-write' has a keyform "t" around line 583.
Is this a known issue?
"Steven E. Harris" seh@panix.com writes:
`slime-presentation-write' has a keyform "t" around line 583.
The same problem is present in `slime-repl-write-string' at line 2833 in slime.el. Consulting CVS yields:
,----[ cvs annotate slime.el ] | 1.837 (mkoeppe 29-Aug-07): (set-marker marker (point)))))) | 1.834 (mkoeppe 28-Aug-07): (t | 1.834 (mkoeppe 28-Aug-07): (let* ((marker (slime-output-target-marker target)) `----
"Steven E. Harris" seh@panix.com writes:
"Steven E. Harris" seh@panix.com writes:
`slime-presentation-write' has a keyform "t" around line 583.
The same problem is present in `slime-repl-write-string' at line 2833 in slime.el.
Thanks for the report. Using `ecase' was an oversight. It happens to work in GNU Emacs; I have fixed the code to use `case' in CVS.
Matthias Koeppe mkoeppe+slime@mail.math.uni-magdeburg.de writes:
Using `ecase' was an oversight.
That's what I thought, but I didn't want to propose such a patch without understanding more of the context.
It happens to work in GNU Emacs; I have fixed the code to use `case' in CVS.
Got it. It works fine in XEmacs now. Thanks for the prompt fix.
"Steven E. Harris" seh@panix.com writes:
Per the `ecase' definition in cl-macs.el, the "t" case rejects keyforms "t" and "otherwise":
Sorry, that should have read:
Per the definition in cl-macs.el, `ecase' rejects keyforms "t" and "otherwise":