I’m on windows 7 and trying to use SLIME. When im in the REPL and hit tab to use fuzzy completion for the phrase ‘(pr’ I receive an error. After this, any entering into the repl simply returns another slime error. This is not just for fuzzy completion, however. When I load cl-fad and then attempt to walk a directory I get a similar error so something core to the behavior of slime for ecl is somehow broken.

Ive also noticed on windows that if ecl (with threads) is started in a command prompt and then the exit button is pressed windows states that “ecl.exe has stopped working.” And you then have to press the cancel button on that dialog box to exit ecl. This dialog box also pops up when closing the process from slime.

 

9.12.3 .emacs file setup:

 

(setq

  inferior-lisp-program "C:/Seth/lisp/ecl/ecl.exe"

  slime-net-coding-system 'utf-8-unix)

 

(require 'slime-autoloads)

 

;;contribs

(eval-after-load "slime"

  '(progn

    (slime-setup '(slime-fancy slime-asdf))

    (setq slime-complete-symbol-fancy t)

    (setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol)))

 

9.12.3 error backtrace (using Unicode):

 

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> "tream\" \"2.43\" ((14 \"p\") (20 \"r\")) \"-f------\") (\"get-output-stream-string\" \"2.43\" ((7 \"p\") (1")

  accept-process-output(nil 0.01)

  (cond (slime-accept-process-output-supports-floats (accept-process-output process timeout)) (t (accept-process-output process ... ...)))

  slime-accept-process-output(nil 0.01)

  (while t (unless (eq ... ...) (error "Lisp connection closed unexpectedly")) (slime-accept-process-output nil 0.01))

  (let ((debug-on-quit t) (inhibit-quit nil) (conn ...)) (while t (unless ... ...) (slime-accept-process-output nil 0.01)))

  (catch tag (slime-rex (tag sexp) (sexp package) (... ... ...) (... ...)) (let (... ... ...) (while t ... ...)))

  (apply (function funcall) (catch tag (slime-rex ... ... ... ...) (let ... ...)))

  (let* ((tag ...) (slime-stack-eval-tags ...)) (apply (function funcall) (catch tag ... ...)))

  slime-eval((swank:fuzzy-completions "pr" "COMMON-LISP-USER" :limit 300 :time-limit-in-msec 1500))

  (let ((prefix ...)) (slime-eval (\` ...)))

  slime-fuzzy-completions("pr")

  (let* ((--cl-rest-- ...) (completion-set ...) (interrupted-p ...)) (if (null completion-set) (progn ... ... ...) (goto-char end) (cond ... ...)))

  (progn (let* (... ... ...) (if ... ... ... ...)))

  (destructuring-bind (completion-set interrupted-p) (slime-fuzzy-completions prefix) (if (null completion-set) (progn ... ... ...) (goto-char end) (cond ... ...)))

  (let* ((end ...) (beg ...) (prefix ...)) (destructuring-bind (completion-set interrupted-p) (slime-fuzzy-completions prefix) (if ... ... ... ...)))

  (catch (quote --cl-block-slime-fuzzy-complete-symbol--) (when (save-excursion ...) (return-from slime-fuzzy-complete-symbol ...)) (let* (... ... ...) (destructuring-bind ... ... ...)))

  (cl-block-wrapper (catch (quote --cl-block-slime-fuzzy-complete-symbol--) (when ... ...) (let* ... ...)))

  (block slime-fuzzy-complete-symbol (when (save-excursion ...) (return-from slime-fuzzy-complete-symbol ...)) (let* (... ... ...) (destructuring-bind ... ... ...)))

  slime-fuzzy-complete-symbol()

  funcall(slime-fuzzy-complete-symbol)

  slime-complete-symbol()

  (cond ((save-excursion ...) (slime-complete-symbol)) ((memq ... ...) (slime-echo-arglist)))

  (progn (cond (... ...) (... ...)))

  (if (= pos (point)) (progn (cond ... ...)))

  (when (= pos (point)) (cond (... ...) (... ...)))

  (let ((pos ...)) (unless (get-text-property ... ...) (lisp-indent-line)) (when (= pos ...) (cond ... ...)))

  slime-indent-and-complete-symbol()

  call-interactively(slime-indent-and-complete-symbol nil nil)