[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