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

Helmut Eller heller at common-lisp.net
Sat Feb 7 11:38:04 UTC 2004


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

Modified Files:
	swank.lisp 
Log Message:
(undefine-function): New function.

(print-with-frame-label, print-part-to-string): Bind *print-circle* to
t, to avoid unbound recursion when printing cyclic data structures.
Date: Sat Feb  7 06:38:03 2004
Author: heller

Index: slime/swank.lisp
diff -u slime/swank.lisp:1.115 slime/swank.lisp:1.116
--- slime/swank.lisp:1.115	Wed Feb  4 17:16:54 2004
+++ slime/swank.lisp	Sat Feb  7 06:38:03 2004
@@ -728,7 +728,8 @@
   (declare (type function fn))
   (let* ((label (format nil "  ~D: " n))
          (string (with-output-to-string (stream) 
-                   (let ((*print-pretty* *sldb-pprint-frames*))
+                   (let ((*print-pretty* *sldb-pprint-frames*)
+                         (*print-circle* t))
                      (princ label stream) (funcall fn stream)))))
     (subseq string (length label))))
 
@@ -1236,6 +1237,10 @@
 (defslimefun untrace-all ()
   (untrace))
 
+(defslimefun undefine-function (fname-string)
+  (let ((fname (from-string fname-string)))
+    (format nil "~S" (fmakunbound fname))))
+
 (defslimefun load-file (filename)
   (to-string (load filename)))
 
@@ -1330,7 +1335,8 @@
   (inspect-object (eval (from-string string))))
 
 (defun print-part-to-string (value)
-  (let ((*print-pretty* nil))
+  (let ((*print-pretty* nil)
+        (*print-circle* t))
     (let ((string (to-string value))
 	  (pos (position value *inspector-history*)))
       (if pos





More information about the slime-cvs mailing list