[slime-devel] Problem with slime-presentations.el (ecase in slime-presentation-write)

Steven E. Harris seh at panix.com
Thu Sep 6 17:49:20 UTC 2007


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




More information about the slime-devel mailing list