[slime-devel] slime and dumping

Antony lisp.linux at gmail.com
Wed Feb 8 19:40:42 UTC 2012


Hi

I have just begun experimenting with dumping
(simplified by using the clob lib at 
http://www.lrde.epita.fr/~didier/software/lisp/clon.php)

I have run into one issue.
I load slime (even if I don't start a swank server)
do a dump
execute the dump
try to start slime

I get an error saying
 > Error: #<BASIC-CHARACTER-OUTPUT-STREAM :CLOSED #x30200050C08D> is closed
 > While executing: CCL::STREAM-IS-CLOSED, in process toplevel(3).
 > Type :POP to abort, :R for a list of available restarts.
 > Type :? for other options.
1 > :b
  (7F767E05CAA8) : 0 (STREAM-IS-CLOSED #<BASIC-CHARACTER-OUTPUT-STREAM 
:CLOSED #x30200050C08D>) 45
  (7F767E05CAC0) : 1 (FUNCALL #'#<#<CCL::STANDARD-KERNEL-METHOD 
STREAM-WRITE-CHAR (CCL::BASIC-CHARACTER-OUTPUT-STREAM T)>> 
#<BASIC-CHARACTER-OUTPUT-STREAM :CLOSED #x30200050C08D> #\Newline) 53
  (7F767E05CAE0) : 2 (FUNCALL #'#<#<CCL::STANDARD-KERNEL-METHOD 
STREAM-FRESH-LINE (CCL::CHARACTER-OUTPUT-STREAM)>> 
#<BASIC-CHARACTER-OUTPUT-STREAM :CLOSED #x30200050C08D>) 69
  (7F767E05CAF8) : 3 (FUNCALL #'#<CCL::FORMAT-&> 
#<BASIC-CHARACTER-OUTPUT-STREAM :CLOSED #x30200050C08D> NIL NIL NIL) 229
  (7F767E05CB40) : 4 (SUB-FORMAT #<BASIC-CHARACTER-OUTPUT-STREAM :CLOSED 
#x30200050C08D> 1 33) 2349
  (7F767E05CBE8) : 5 (DO-SUB-FORMAT #<BASIC-CHARACTER-OUTPUT-STREAM 
:CLOSED #x30200050C08D>) 157
  (7F767E05CC08) : 6 (FORMAT #<BASIC-CHARACTER-OUTPUT-STREAM :CLOSED 
#x30200050C08D> "~&;; Swank started at port: ~D.~%" 4005) 1845
  (7F767E05CD10) : 7 (SIMPLE-ANNOUNCE-FUNCTION 4005) 109
  (7F767E05CD28) : 8 (SETUP-SERVER 4005 #<Compiled-function 
SWANK::SIMPLE-ANNOUNCE-FUNCTION #x300000F2656F> :SPAWN T "utf-8-unix") 277
...

I have found a solution by writing code as below
(defun start-slime ()
   (when (and swank:*log-output* (not (open-stream-p swank:*log-output*)))
     (setf swank:*log-output* nil)
     (swank::init-log-output))
   (swank:create-server :port 4005  :dont-close t :coding-system 
"utf-8-unix"))

I am wondering what is the right way to do this or how do people do this.
Basic requirement is be able to dump my whole app including slime code 
and then load up the dumped executable and be able to start slime as 
part of the app execution. The above code does allow me to do this (I 
think). But I haven't yet tried what else can go wrong (like when 
debugger is invoked etc)
What is the usual thing people do for this situation

-Antony







More information about the slime-devel mailing list