So, ive decided I should probably use ecl lisp. So heres da
problem. Examine this output that produced an error:
(:emacs-rex ;;the
request
(swank:connection-info)
"COMMON-LISP-USER" t 1)
;; response – read error given below!!
Debugger entered: nil
(condition-case error (slime-net-read) (error (debug) (slime-net-close
process t) (error "net-read error: %S" error)))
slime-net-read-or-lose(#<process SLIME Lisp>)
slime-process-available-input(#<process SLIME Lisp>)
slime-net-filter(#<process SLIME Lisp>
;;the response which produced above error
13(:return (:ok (:pid 5548 :style nil :lisp-implementation
(:type \"ECL\" :name \"ECL\" :version \"9.12.3\")
:machine (:instance
\"SE\")) 1) ;;ß---------------Threading
issue???
TH-PC\" :type \"x86\"
:version \"17\") ;;ß----Should
be “SETH-PC but its broken up!!!!
:features (:wsock :win32 :formatter :uint32-t :uint16-t
:relative-package-names :unicode :dffi :clos-streams :cmu-format :msvc :ecl-pde
:dlopen
:clos :threads :boehm-gc :ansi-cl :common-lisp
:ieee-floating-point :prefixed-api :ffi :pentium4 :common :ecl)
:modules (\"SB-BSD-SOCKETS\"
\"SOCKETS\")
:package (:name \"COMMON-LISP-USER\" :prompt
\"CL-USER\") :version \"2009-12-23")
Compare this with the pristine clisp output
(:emacs-rex
(swank:connection-info)
"COMMON-LISP-USER" t 1)
(:indentation-update
(("with-c-var" . 1)
("with-c-place" . 1)
("with-foreign-string" . 1)
("with-foreign-object" . 1)
("with-defining-c-type" . 1)
("with-name/options" . 1)
("with-window" . 0)
("with-output-to-printer" . 1)
("define-setf-method" . 2)
("letf*" . 1)
("letf" . 1)
("muffle-cerrors" . 0)
("without-global-handlers" . 0)
("with-http-output" . 1)
("with-collect" . 1)
("with-http-input" . 1)
("without-package-lock" . 1)
("appease-cerrors" . 0)
("with-restarts" . 1)
("fcase" . 2)
...))
(:return
(:ok
(:pid 5748 :style nil :lisp-implementation
(:type "CLISP" :name
"clisp" :version "2.48 (2009-07-28) (built on stnt067
[192.168.0.1])")
:machine
(:instance "Seth-PC [192.168.2.3]"
:type "PC/386" :version "PC/A86")
:features
(:cl-fad cffi-features:x86
cffi-features:windows :cffi :x86 :windows :little-endian :asdf :readline
:regexp :syscalls :i18n :loop :compiler :clos :mop :clisp :ansi-cl :common-lisp
:lisp=cl ...)
:modules
("SWANK-ARGLISTS"
"SWANK-C-P-C" "ASDF" "readline"
"regexp" "syscalls" "i18n")
:package
(:name "COMMON-LISP-USER" :prompt
"CL-USER")
:version "2009-12-23"))
1)
So… Recently ecl had made threading a requirement for
windows, and maybe for some other platforms. I don’t know if this was the
start of the bug as I have not yet gone back in ecl versions and seen which one
works. The error on startup DOES NOT occur consistently which is very puzzling.
But, anyways, I would like ecl lisp to act like a ‘single threaded lisp’
as far as slime is concerned so that I can eliminate threading issues generated
by the slime lisp code.