[slime-devel] Different lisps, different coding systems

Harald Hanche-Olsen hanche at math.ntnu.no
Sun Nov 20 00:42:18 UTC 2005


I have this in my .emacs:


(setf slime-lisp-implementations
      '((sbcl ("sbcl") :coding-system utf-8-unix)
	(cmucl ("cmucl") :coding-system iso-latin-1-unix)))
(setf slime-default-lisp 'sbcl)


This works mostly, but not if I first run a slime with sbcl and then
run another with cmucl in the same emacs.  (It doesn't matter if I
quit the slime one or not.)

Before I tell you what happens, let me lay the blame at the feet of
the global variable slime-net-coding-system.

It is set iso-latin-1-unix after I start a cmucl slime.  It becomes
utf-8-unix after I run an sbcl slime, and is not reset to
iso-latin-1-unix when I run a cmucl slime.  But if I reset it
manually, the problem does not occur.


So what IS the problem, then?

What I see in the *inferior-lisp* buffer is as follows:

;; Swank started at port: 54163.
nil
;;; COMMON-LISP-USER:


Error in function lisp::assert-error:
   The assertion (eq swank-backend::ef ':iso-latin-1-unix) failed.
   [Condition of type simple-error]

Restarts:
  0: [continue] Retry assertion.
  1: [abort   ] Return to Top-Level.

Debug  (type H for help)

(lisp::assert-error (eq swank-backend::ef ':iso-latin-1-unix) nil nil)
Source: Error finding source: 
File-error in function lisp::fd-open:
   Error opening #P"target:code/macros.lisp", Permission denied.
0] 
Error in function lisp::assert-error:
   The assertion (eq swank-backend::ef ':iso-latin-1-unix) failed.
Error flushed ...
0] 
Error in function lisp::assert-error:
   The assertion (eq swank-backend::ef ':iso-latin-1-unix) failed.
Error flushed ...


and this repeats forever until I kill the Lisp.

- Harald



More information about the slime-devel mailing list