/[slime]/slime/swank-scl.lisp
ViewVC logotype

Diff of /slime/swank-scl.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11 by dcrosher, Wed Sep 13 22:56:14 2006 UTC revision 1.12 by heller, Sun Nov 19 21:33:03 2006 UTC
# Line 38  Line 38 
38    
39  (defimplementation accept-connection (socket  (defimplementation accept-connection (socket
40                                        &key external-format buffering timeout)                                        &key external-format buffering timeout)
41    (let ((external-format (or external-format :iso-latin-1-unix))    (let ((external-format (or external-format :default))
42          (buffering (or buffering :full))          (buffering (or buffering :full))
43          (fd (socket-fd socket)))          (fd (socket-fd socket)))
44        (loop        (loop
# Line 68  Line 68 
68    (let ((hostent (ext:lookup-host-entry hostname)))    (let ((hostent (ext:lookup-host-entry hostname)))
69      (car (ext:host-entry-addr-list hostent))))      (car (ext:host-entry-addr-list hostent))))
70    
71  (defun find-external-format (coding-system)  (defvar *external-format-to-coding-system*
72    (case coding-system    '((:iso-8859-1
73      (:iso-latin-1-unix :iso-8859-1)       "latin-1" "latin-1-unix" "iso-latin-1-unix"
74      (:utf-8-unix :utf-8)       "iso-8859-1" "iso-8859-1-unix")
75      (:euc-jp-unix :euc-jp)      (:utf-8 "utf-8" "utf-8-unix")
76      (t coding-system)))      (:euc-jp "euc-jp" "euc-jp-unix")))
77    
78    (defimplementation find-external-format (coding-system)
79      (car (rassoc-if (lambda (x) (member coding-system x :test #'equal))
80                      *external-format-to-coding-system*)))
81    
82  (defun make-socket-io-stream (fd external-format buffering)  (defun make-socket-io-stream (fd external-format buffering)
83    "Create a new input/output fd-stream for 'fd."    "Create a new input/output fd-stream for 'fd."
84    (let* ((external-format (find-external-format external-format))    (let* ((stream (sys:make-fd-stream fd :input t :output t
          (stream (sys:make-fd-stream fd :input t :output t  
85                                       :element-type 'base-char                                       :element-type 'base-char
86                                       :buffering buffering                                       :buffering buffering
87                                       :external-format external-format)))                                       :external-format external-format)))
# Line 374  Line 377 
377                     (c::warning        #'handle-notification-condition))                     (c::warning        #'handle-notification-condition))
378        (funcall function))))        (funcall function))))
379    
380  (defimplementation swank-compile-file (filename load-p  (defimplementation swank-compile-file (filename load-p external-format)
381                                         &optional external-format)    (with-compilation-hooks ()
382    (let ((external-format (if external-format      (let ((*buffer-name* nil)
383                               (find-external-format external-format)            (ext:*ignore-extra-close-parentheses* nil))
384                               :default)))        (multiple-value-bind (output-file warnings-p failure-p)
385      (with-compilation-hooks ()            (compile-file filename :external-format external-format)
386        (let ((*buffer-name* nil)          (unless failure-p
387              (ext:*ignore-extra-close-parentheses* nil))            ;; Cache the latest source file for definition-finding.
388          (multiple-value-bind (output-file warnings-p failure-p)            (source-cache-get filename (file-write-date filename))
389              (compile-file filename :external-format external-format)            (when load-p (load output-file)))
390            (unless failure-p          (values output-file warnings-p failure-p)))))
             ;; Cache the latest source file for definition-finding.  
             (source-cache-get filename (file-write-date filename))  
             (when load-p (load output-file)))  
           (values output-file warnings-p failure-p))))))  
391    
392  (defimplementation swank-compile-string (string &key buffer position directory)  (defimplementation swank-compile-string (string &key buffer position directory)
393    (declare (ignore directory))    (declare (ignore directory))

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.5