[slime-cvs] CVS slime

CVS User heller heller at common-lisp.net
Mon Aug 8 12:31:01 UTC 2011


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

Modified Files:
	ChangeLog slime.el swank.lisp 
Log Message:
* slime.el (slime-unintern-symbol): New command.
* swank.lisp (unintern-symbol): Lisp-side implementation.

--- /project/slime/cvsroot/slime/ChangeLog	2011/08/08 12:30:46	1.2207
+++ /project/slime/cvsroot/slime/ChangeLog	2011/08/08 12:31:00	1.2208
@@ -1,3 +1,8 @@
+2011-08-08  Helmut Eller  <heller at common-lisp.net>
+
+	* slime.el (slime-unintern-symbol): New command.
+	* swank.lisp (unintern-symbol): Lisp-side implementation.
+
 2011-07-03  Nikodemus Siivola  <nikodemus at random-state.net>
 
 	* swank-sbcl.lisp (debug-var-info): New function: calls
--- /project/slime/cvsroot/slime/slime.el	2011/06/14 14:00:10	1.1372
+++ /project/slime/cvsroot/slime/slime.el	2011/08/08 12:31:00	1.1373
@@ -4329,6 +4329,14 @@
   (slime-eval-async `(swank:undefine-function ,symbol-name)
                     (lambda (result) (message "%s" result))))
 
+(defun slime-unintern-symbol (symbol-name package)
+  "Unintern the symbol given with SYMBOL-NAME PACKAGE."
+  (interactive (list (slime-read-symbol-name "Unintern symbol: " t)
+                     (slime-read-package-name "from package: "
+                                              (slime-current-package))))
+  (slime-eval-async `(swank:unintern-symbol ,symbol-name ,package)
+                    (lambda (result) (message "%s" result))))
+
 (defun slime-load-file (filename)
   "Load the Lisp file FILENAME."
   (interactive (list 
--- /project/slime/cvsroot/slime/swank.lisp	2011/06/21 11:24:01	1.750
+++ /project/slime/cvsroot/slime/swank.lisp	2011/08/08 12:31:01	1.751
@@ -3263,6 +3263,17 @@
   (let ((fname (from-string fname-string)))
     (format nil "~S" (fmakunbound fname))))
 
+(defslimefun unintern-symbol (name package)
+  (let ((pkg (guess-package package)))
+    (cond ((not pkg) (format nil "No such package: ~s" package))
+          (t 
+           (multiple-value-bind (sym found) (parse-symbol name pkg)
+             (case found
+               ((nil) (format nil "~s not in package ~s" name package))
+               (t
+                (unintern sym pkg)
+                (format nil "Uninterned symbol: ~s" sym))))))))
+
 
 ;;;; Profiling
 





More information about the slime-cvs mailing list