Bug#491602: slime-gather-lisp-implementations has a bug

Hironori Okamoto hokamoto-koc at umin.net
Wed Jul 8 06:36:30 UTC 2009


I had an error, when I start slime.

Versions of packages
ii  cl-swank             1:20090616-1         Superior LISP Interaction Mode for Emacs (Lisp-side serv
ii  ecl                  9.6.1-1              Embeddable Common-Lisp: has an interpreter and can compi
ii  emacs22-gtk          22.3+1-1.1           The GNU Emacs editor (with GTK user interface)
ii  slime                1:20090616-1         Superior LISP Interaction Mode for Emacs


Debugger entered--Lisp error: (wrong-type-argument symbolp "ecl")
  symbol-name("ecl")
  slime-set-connection-info(#<process SLIME Lisp> (:pid 13099 :style nil :lisp-implementation (:type "ECL" :name "ECL" :version "9.6.1") :machine (:instance "localhost" :type "i686" :version nil) :features (:clc-os-debian :common-lisp-controller :asdf :linux :formatter :uint64-t :uint32-t :uint16-t :relative-package-names :clos-streams :cmu-format :unix :ecl-pde :dlopen :clos :boehm-gc :ansi-cl :common-lisp :ieee-floating-point :prefixed-api :ffi :i486 :common :ecl) :modules ("SOCKETS" "ASDF" "CMP") :package (:name "COMMON-LISP-USER" :prompt "CL-USER") :version "2009-06-15"))
  apply(slime-set-connection-info (#<process SLIME Lisp> (:pid 13099 :style nil :lisp-implementation (:type "ECL" :name "ECL" :version "9.6.1") :machine (:instance "PCB065A009S" :type "i686" :version nil) :features (:clc-os-debian :common-lisp-controller :asdf :linux :formatter :uint64-t :uint32-t :uint16-t :relative-package-names :clos-streams :cmu-format :unix :ecl-pde :dlopen :clos :boehm-gc :ansi-cl :common-lisp :ieee-floating-point :prefixed-api :ffi :i486 :common :ecl) :modules ("SOCKETS" "ASDF" "CMP") :package (:name "COMMON-LISP-USER" :prompt "CL-USER") :version "2009-06-15")))
  (lambda (&rest more) (apply (quote slime-set-connection-info) (append ... more)))((:pid 13099 :style nil :lisp-implementation (:type "ECL" :name "ECL" :version "9.6.1") :machine (:instance "PCB065A009S" :type "i686" :version nil) :features (:clc-os-debian :common-lisp-controller :asdf :linux :formatter :uint64-t :uint32-t :uint16-t :relative-package-names :clos-streams :cmu-format :unix :ecl-pde :dlopen :clos :boehm-gc :ansi-cl :common-lisp :ieee-floating-point :prefixed-api :ffi :i486 :common :ecl) :modules ("SOCKETS" "ASDF" "CMP") :package (:name "COMMON-LISP-USER" :prompt "CL-USER") :version "2009-06-15"))
  #[(G11233 G11234 G11229) "Â.@.	A.\nÃ.=Â.8.Â.
GÃ.UÂ.
.\f@Â.#.Ã.Ã.Ã.\fGD\"..JÂ.4..JqÂ..J.!*Â.[.\nÃ.=Â.W.Â.
.Â.P.Ã.Ã.Ã..GÃ.\\D\"Â.Ã.Ã.!)Â.[.Ã.Ã.	\"+Â." [G11229 tmp-11232 op-11230 rand-11231 --cl-rest-- result :ok 1 signal wrong-number-of-arguments nil :abort 0 message "Evaluation aborted." error "Elisp destructure-case failed: %S" G11234 G11233 --cl-rest--] 6](--buffer-- --cont-- (:ok (:pid 13099 :style nil :lisp-implementation (:type "ECL" :name "ECL" :version "9.6.1") :machine (:instance "PCB065A009S" :type "i686" :version nil) :features (:clc-os-debian :common-lisp-controller :asdf :linux :formatter :uint64-t :uint32-t :uint16-t :relative-package-names :clos-streams :cmu-format :unix :ecl-pde :dlopen :clos :boehm-gc :ansi-cl :common-lisp :ieee-floating-point :prefixed-api :ffi :i486 :common :ecl) :modules ("SOCKETS" "ASDF" "CMP") :package (:name "COMMON-LISP-USER" :prompt "CL-USER") :version "2009-06-15")))
  apply(#[(G11233 G11234 G11229) "Â.@.	A.\nÃ.=Â.8.Â.
GÃ.UÂ.
.\f@Â.#.Ã.Ã.Ã.\fGD\"..JÂ.4..JqÂ..J.!*Â.[.\nÃ.=Â.W.Â.
.Â.P.Ã.Ã.Ã..GÃ.\\D\"Â.Ã.Ã.!)Â.[.Ã.Ã.	\"+Â." [G11229 tmp-11232 op-11230 rand-11231 --cl-rest-- result :ok 1 signal wrong-number-of-arguments nil :abort 0 message "Evaluation aborted." error "Elisp destructure-case failed: %S" G11234 G11233 --cl-rest--] 6] --buffer-- --cont-- (:ok (:pid 13099 :style nil :lisp-implementation (:type "ECL" :name "ECL" :version "9.6.1") :machine (:instance "PCB065A009S" :type "i686" :version nil) :features (:clc-os-debian :common-lisp-controller :asdf :linux :formatter :uint64-t :uint32-t :uint16-t :relative-package-names :clos-streams :cmu-format :unix :ecl-pde :dlopen :clos :boehm-gc :ansi-cl :common-lisp :ieee-floating-point :prefixed-api :ffi :i486 :common :ecl) :modules ("SOCKETS" "ASDF" "CMP") :package (:name "COMMON-LISP-USER" :prompt "CL-USER") :version "2009-06-15")))
  (lambda (&rest --cl-rest--) (apply #[... "Â.@.	A.\nÃ.=Â.8.Â.
GÃ.UÂ.
.\f@Â.#.Ã.Ã.Ã.\fGD\"..JÂ.4..JqÂ..J.!*Â.[.\nÃ.=Â.W.Â.
.Â.P.Ã.Ã.Ã..GÃ.\\D\"Â.Ã.Ã.!)Â.[.Ã.Ã.	\"+Â." [G11229 tmp-11232 op-11230 rand-11231 --cl-rest-- result :ok 1 signal wrong-number-of-arguments nil :abort 0 message "Evaluation aborted." error "Elisp destructure-case failed: %S" G11234 G11233 --cl-rest--] 6] (quote --buffer--) (quote --cont--) --cl-rest--))((:ok (:pid 13099 :style nil :lisp-implementation (:type "ECL" :name "ECL" :version "9.6.1") :machine (:instance "PCB065A009S" :type "i686" :version nil) :features (:clc-os-debian :common-lisp-controller :asdf :linux :formatter :uint64-t :uint32-t :uint16-t :relative-package-names :clos-streams :cmu-format :unix :ecl-pde :dlopen :clos :boehm-gc :ansi-cl :common-lisp :ieee-floating-point :prefixed-api :ffi :i486 :common :ecl) :modules ("SOCKETS" "ASDF" "CMP") :package (:name "COMMON-LISP-USER" :prompt "CL-USER") :version "2009-06-15")))
  slime-dispatch-event((:return (:ok (:pid 13099 :style nil :lisp-implementation ... :machine ... :features ... :modules ... :package ... :version "2009-06-15")) 1) #<process SLIME Lisp>)
  slime-process-available-input(#<process SLIME Lisp>)
  slime-net-filter(#<process SLIME Lisp> "ok (:pid 13099 :style nil :lisp-implementation (:type \"ECL\" :name \"ECL\" :version \"9.6.1\") :machine (:instance \"PCB065A009S\" :type \"i686\" :version nil) :features (:clc-os-debian :common-lisp-controller :asdf :linux :formatter :uint64-t :uint32-t :uint16-t :relative-package-names :clos-streams :cmu-format :unix :ecl-pde :dlopen :clos :boehm-gc :ansi-cl :common-lisp :ieee-floating-point :prefixed-api :ffi :i486 :common :ecl) :modules (\"SOCKETS\" \"ASDF\" \"CMP\") :package (:name \"COMMON-LISP-USER\" :prompt \"CL-USER\") :version \"2009-06-15\")) 1)")


I found that the value of slime-lisp-implementations in slime.el
conflicts with its docstring. I think that this conflict is cause by the
function: slime-gather-lisp-implementations.

I made a patch. I can use ecl in slime with this patch.

--- /usr/share/emacs/site-lisp/slime/slime.el	2009-06-17 23:39:50.000000000 +0900
+++ /home/user/tmp/slime.el	2009-07-08 13:28:15.000000000 +0900
@@ -129,7 +129,7 @@
     (remove-if
      'null
      (mapcar 
-      (lambda (l) (if (executable-find l) (list l (list l))))
+      (lambda (l) (if (executable-find l) (list (make-symbol l) (list l))))
       known-lisps))))

-- 
Okamoto Hironori





More information about the pkg-common-lisp-devel mailing list