[slime-cvs] CVS update: slime/slime.el

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


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

Modified Files:
	slime.el 
Log Message:
(slime-undefine-function): New command.  Bound to C-c C-u.

Date: Sat Feb  7 06:36:00 2004
Author: heller

Index: slime/slime.el
diff -u slime/slime.el:1.204 slime/slime.el:1.205
--- slime/slime.el:1.204	Thu Feb  5 18:20:14 2004
+++ slime/slime.el	Sat Feb  7 06:35:59 2004
@@ -429,6 +429,7 @@
     ("\C-f" slime-describe-function :prefixed t :inferior t :sldb t)
     ("\M-d" slime-disassemble-symbol :prefixed t :inferior t :sldb t)
     ("\C-t" slime-toggle-trace-fdefinition :prefixed t :sldb t)
+    ("\C-u" slime-undefine-function :prefixed t)
     ("\C-a" slime-apropos :prefixed t :inferior t :sldb t)
     ("\M-a" slime-apropos-all :prefixed t :inferior t :sldb t)
     ;; Kinda crappy binding. Maybe we should introduce some extra
@@ -3324,6 +3325,13 @@
   (interactive (list (slime-read-symbol-name "Disassemble: ")))
   (slime-eval-describe `(swank:disassemble-symbol ,symbol-name)))
 
+(defun slime-undefine-function (symbol-name)
+  "Unbind the function slot of SYMBOL-NAME."
+  (interactive (list (slime-read-symbol-name "fmakunbound: ")))
+  (slime-eval-async `(swank:undefine-function ,symbol-name)
+                    (slime-buffer-package t)
+                    (lambda (result) (message "%s" result))))
+
 (defun slime-load-file (filename)
   "Load the Lisp file FILENAME."
   (interactive (list 
@@ -5070,23 +5078,14 @@
     '(())
   (slime-check-top-level)
   (slime-eval-async '(cl:loop) "CL-USER" (lambda (_) ))
-  (let ((sldb-hook
-         (lambda ()
-           (slime-check "First interrupt."
-             (when-let (sldb (get-sldb-buffer))
-               (with-current-buffer sldb
-                 (equal sldb-level 1))))
-           (sldb-quit))))
-    (accept-process-output nil 1)
-    (slime-check "In eval state."
-      (not (null slime-rex-continuations)))
-    (slime-interrupt)
-    (slime-wait-condition "First interrupt" (lambda () (slime-sldb-level= 1))
-                          5)
-    (with-current-buffer (get-sldb-buffer)
-      (sldb-quit))
-    (slime-sync-to-top-level 5)
-    (slime-check-top-level)))
+  (accept-process-output nil 1)
+  (slime-check "In eval state." (not (null slime-rex-continuations)))
+  (slime-interrupt)
+  (slime-wait-condition "First interrupt" (lambda () (slime-sldb-level= 1)) 5)
+  (with-current-buffer (get-sldb-buffer) 
+    (sldb-quit))
+  (slime-sync-to-top-level 5)
+  (slime-check-top-level))
 
 (def-slime-test loop-interrupt-continue-interrupt-quit
     ()
@@ -5096,16 +5095,14 @@
   (slime-eval-async '(cl:loop) "CL-USER" (lambda (_) ))
   (slime-wait-condition "running" #'slime-busy-p 5)
   (slime-interrupt)
-  (slime-wait-condition "First interrupt" (lambda () (slime-sldb-level= 1))
-                        5)
+  (slime-wait-condition "First interrupt" (lambda () (slime-sldb-level= 1)) 5)
   (with-current-buffer (get-sldb-buffer)
     (sldb-continue))
   (slime-wait-condition "running" (lambda () (and (slime-busy-p)
                                                    (not (get-sldb-buffer))))
                         5)
   (slime-interrupt)
-  (slime-wait-condition "Second interrupt" (lambda () (slime-sldb-level= 1))
-                        5)
+  (slime-wait-condition "Second interrupt" (lambda () (slime-sldb-level= 1)) 5)
   (with-current-buffer (get-sldb-buffer)
     (sldb-quit))
   (slime-sync-to-top-level 5)





More information about the slime-cvs mailing list