[slime-cvs] CVS update: slime/swank-cmucl.lisp

Helmut Eller heller at common-lisp.net
Fri Nov 19 19:08:26 UTC 2004


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

Modified Files:
	swank-cmucl.lisp 
Log Message:
(accept-connection): Accept external-format argument.

(inspect-for-emacs): Add CMUCL specific versions.
Date: Fri Nov 19 20:08:25 2004
Author: heller

Index: slime/swank-cmucl.lisp
diff -u slime/swank-cmucl.lisp:1.128 slime/swank-cmucl.lisp:1.129
--- slime/swank-cmucl.lisp:1.128	Mon Nov 15 23:59:44 2004
+++ slime/swank-cmucl.lisp	Fri Nov 19 20:08:24 2004
@@ -89,7 +89,8 @@
   (sys:invalidate-descriptor socket)
   (ext:close-socket (socket-fd socket)))
 
-(defimplementation accept-connection (socket)
+(defimplementation accept-connection (socket &key external-format)
+  (assert (eq external-format ':iso-latin-1-unix))
   (make-socket-io-stream (ext:accept-tcp-connection socket)))
 
 ;;;;; Sockets
@@ -1961,6 +1962,30 @@
                         (sys:int-sap (kernel:get-lisp-obj-address o))
                         (* vm:fdefn-raw-addr-slot vm:word-bytes))))))
 
+(defmethod inspect-for-emacs ((o array) (inspector cmucl-inspector))
+  inspector
+  (values (format nil "~A is an array." o)
+          (label-value-line*
+           (:header (describe-primitive-type o))
+           (:rank (array-rank o))
+           (:fill-pointer (kernel:%array-fill-pointer o))
+           (:fill-pointer-p (kernel:%array-fill-pointer-p o))
+           (:elements (kernel:%array-available-elements o))           
+           (:data (kernel:%array-data-vector o))
+           (:displacement (kernel:%array-displacement o))
+           (:displaced-p (kernel:%array-displaced-p o))
+           (:dimensions (array-dimensions o)))))
+
+(defmethod inspect-for-emacs ((o vector) (inspector cmucl-inspector))
+  inspector
+  (values (format nil "~A is a vector." o)
+          (append 
+           (label-value-line*
+            (:header (describe-primitive-type o))
+            (:length (c::vector-length o)))
+           (loop for i below (length o)
+                 append (label-value-line i (aref o i))))))
+
 
 ;;;; Profiling
 (defimplementation profile (fname)
@@ -2102,6 +2127,10 @@
   (setq ext:*gc-notify-before* #'pre-gc-hook)
   (setq ext:*gc-notify-after* #'post-gc-hook))
 
+(defun remove-gc-hooks ()
+  (setq ext:*gc-notify-before* nil)
+  (setq ext:*gc-notify-after* nil))
+  
 (defimplementation emacs-connected ()
   (install-gc-hooks))
 





More information about the slime-cvs mailing list