[slime-cvs] CVS slime

CVS User sboukarev sboukarev at common-lisp.net
Wed Nov 16 10:01:19 UTC 2011


Update of /project/slime/cvsroot/slime
In directory tiger.common-lisp.net:/tmp/cvs-serv17495

Modified Files:
	ChangeLog swank.lisp 
Log Message:
* swank.lisp (open-dedicated-output-stream): Open a stream with
the right coding system.
Change (:open-dedicated-output-stream port) message to
(:open-dedicated-output-stream port coding-system), because Emacs
can no longer determine the coding system based on the main
network streams since they are binary now.

* contrib/slime-repl.el (slime-open-stream-to-lisp): Set the process coding system
to the right coding system.


--- /project/slime/cvsroot/slime/ChangeLog	2011/11/12 14:43:01	1.2241
+++ /project/slime/cvsroot/slime/ChangeLog	2011/11/16 10:01:18	1.2242
@@ -1,3 +1,12 @@
+2011-11-16  Stas Boukarev  <stassats at gmail.com>
+
+	* swank.lisp (open-dedicated-output-stream): Open a stream with
+	the right coding system.
+	Change (:open-dedicated-output-stream port) message to
+	(:open-dedicated-output-stream port coding-system), because Emacs
+	can no longer determine the coding system based on the main
+	network streams since they are binary now.
+
 2011-11-11  Anton Kovalenko  <anton at sw4me.com>
 
 	* slime.el (slime-ed): add bytep argument to destructure-case.
--- /project/slime/cvsroot/slime/swank.lisp	2011/11/06 17:06:49	1.758
+++ /project/slime/cvsroot/slime/swank.lisp	2011/11/16 10:01:18	1.759
@@ -876,14 +876,12 @@
   (create-server :port port :style style :dont-close dont-close
                  :coding-system coding-system))
 
-;; FIXME: get rid of coding-system argument
 (defun accept-connections (socket style coding-system dont-close)
-  (let* ((ef (find-external-format-or-lose coding-system))
-         (client (unwind-protect 
-                      (accept-connection socket :external-format nil
-                                         :buffering t)
-                   (unless dont-close
-                     (close-socket socket)))))
+  (let ((client (unwind-protect 
+                     (accept-connection socket :external-format nil
+                                               :buffering t)
+                  (unless dont-close
+                    (close-socket socket)))))
     (authenticate-client client)
     (serve-requests (make-connection socket client style coding-system))))
 
@@ -931,8 +929,7 @@
                                     "Abort reading input from Emacs.")
                 (read-user-input-from-emacs)))))
          (dedicated-output (if *use-dedicated-output-stream*
-                               (open-dedicated-output-stream
-                                (connection.socket-io connection))))
+                               (open-dedicated-output-stream connection)))
          (in (make-input-stream input-fn))
          (out (or dedicated-output
                   (make-output-stream (make-output-function connection))))
@@ -981,7 +978,7 @@
   "Create a stream that sends output to a specific TARGET in Emacs."
   (make-output-stream (make-output-function-for-target connection target)))
 
-(defun open-dedicated-output-stream (socket-io)
+(defun open-dedicated-output-stream (connection)
   "Open a dedicated output connection to the Emacs on SOCKET-IO.
 Return an output stream suitable for writing program output.
 
@@ -990,12 +987,15 @@
                                *dedicated-output-stream-port*)))
     (unwind-protect
          (let ((port (local-port socket)))
-           (encode-message `(:open-dedicated-output-stream ,port) socket-io)
+           (encode-message `(:open-dedicated-output-stream
+                             ,port
+                             ,(connection.coding-system connection))
+                           (connection.socket-io connection))
            (let ((dedicated (accept-connection
                              socket 
                              :external-format 
-                             (or (ignore-errors
-                                   (stream-external-format socket-io))
+                             (or (find-external-format
+                                  (connection.coding-system connection))
                                  :default)
                              :buffering *dedicated-output-stream-buffering*
                              :timeout 30)))





More information about the slime-cvs mailing list