[slime-cvs] CVS update: slime/slime.el
Helmut Eller
heller at common-lisp.net
Sun Dec 14 07:47:29 UTC 2003
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv19683
Modified Files:
slime.el
Log Message:
(slime-goto-source-location): Better regexp for package qualified
symbols. Allow dashes in the name and two colons. Reported by Alan
Ruttenberg.
Date: Sun Dec 14 02:47:28 2003
Author: heller
Index: slime/slime.el
diff -u slime/slime.el:1.145 slime/slime.el:1.146
--- slime/slime.el:1.145 Fri Dec 12 17:52:56 2003
+++ slime/slime.el Sun Dec 14 02:47:28 2003
@@ -2310,7 +2310,8 @@
(let ((case-fold-search t)
(name (regexp-quote name)))
(re-search-forward
- (format "^(\\(def.*[ \n\t(]\\([a-z]+:\\)?\\)?%s[ \t)]" name)))
+ (format "^(\\(def.*[ \n\t(]\\([-.%%$&a-z0-9]+:?:\\)?\\)?%s[ \t)]"
+ name)))
(goto-char (match-beginning 0)))
((:source-path source-path start-position)
(cond (start-position
@@ -3610,10 +3611,12 @@
(defun sldb-show-source ()
(interactive)
(sldb-delete-overlays)
- (let* ((number (sldb-frame-number-at-point))
- (source-location (slime-eval
- `(swank:frame-source-location-for-emacs ,number))))
- (slime-show-source-location source-location)))
+ (let* ((number (sldb-frame-number-at-point)))
+ (slime-eval-async
+ `(swank:frame-source-location-for-emacs ,number)
+ nil
+ (lambda (source-location)
+ (slime-show-source-location source-location)))))
(defun slime-show-source-location (source-location)
(save-selected-window
@@ -4376,76 +4379,79 @@
(time-less-p end (current-time)))
do (accept-process-output nil 0 100000))))
-(def-slime-test loop-interrupt-quit ()
- "Test interrupting a loop."
- '(())
- (slime-check "Automaton initially in idle state."
- (slime-test-state-stack '(slime-idle-state)))
- (slime-eval-async '(cl:loop) "CL-USER" (lambda (_) ))
- (let ((sldb-hook
- (lambda ()
- (slime-check "First interrupt."
- (and (slime-test-state-stack '(slime-debugging-state
- slime-evaluating-state
+(def-slime-test loop-interrupt-quit
+ ()
+ "Test interrupting a loop."
+ '(())
+ (slime-check "Automaton initially in idle state."
+ (slime-test-state-stack '(slime-idle-state)))
+ (slime-eval-async '(cl:loop) "CL-USER" (lambda (_) ))
+ (let ((sldb-hook
+ (lambda ()
+ (slime-check "First interrupt."
+ (and (slime-test-state-stack '(slime-debugging-state
+ slime-evaluating-state
slime-idle-state))
- (get-buffer "*sldb*")))
- (sldb-quit))))
- (accept-process-output nil 1)
- (slime-check "In eval state."
- (slime-test-state-stack '(slime-evaluating-state slime-idle-state)))
- (slime-interrupt)
- (slime-sync-state-stack '(slime-idle-state) 5)
- (slime-check "Automaton is back in idle state."
- (slime-test-state-stack '(slime-idle-state)))))
-
-(def-slime-test loop-interrupt-continue-interrupt-quit ()
- "Test interrupting a previously interrupted but continued loop."
- '(())
- (slime-check "Automaton initially in idle state."
- (slime-test-state-stack '(slime-idle-state)))
- (slime-eval-async '(cl:loop) "CL-USER" (lambda (_) ))
- (let ((sldb-hook
- (lambda ()
- (slime-check "First interrupt."
- (and (slime-test-state-stack '(slime-debugging-state
- slime-evaluating-state
+ (get-buffer "*sldb*")))
+ (sldb-quit))))
+ (accept-process-output nil 1)
+ (slime-check "In eval state."
+ (slime-test-state-stack '(slime-evaluating-state slime-idle-state)))
+ (slime-interrupt)
+ (slime-sync-state-stack '(slime-idle-state) 5)
+ (slime-check "Automaton is back in idle state."
+ (slime-test-state-stack '(slime-idle-state)))))
+
+(def-slime-test loop-interrupt-continue-interrupt-quit
+ ()
+ "Test interrupting a previously interrupted but continued loop."
+ '(())
+ (slime-check "Automaton initially in idle state."
+ (slime-test-state-stack '(slime-idle-state)))
+ (slime-eval-async '(cl:loop) "CL-USER" (lambda (_) ))
+ (let ((sldb-hook
+ (lambda ()
+ (slime-check "First interrupt."
+ (and (slime-test-state-stack '(slime-debugging-state
+ slime-evaluating-state
slime-idle-state))
- (get-buffer "*sldb*")))
- (let ((slime-evaluating-state-activation-hook
- (lambda ()
- (when (slime-test-state-stack '(slime-evaluating-state
- slime-idle-state))
- (setq slime-evaluating-state-activation-hook nil)
- (slime-check "No sldb buffer."
- (not (get-buffer "*sldb*")))
- (let ((sldb-hook
- (lambda ()
- (slime-check "Second interrupt."
- (and (slime-test-state-stack
- '(slime-debugging-state
- slime-evaluating-state
- slime-idle-state))
- (get-buffer "*sldb*")))
- (sldb-quit))))
- (accept-process-output nil 1)
- (slime-check "In eval state."
- (slime-test-state-stack
- '(slime-evaluating-state slime-idle-state)))
- (slime-interrupt)
- (slime-sync-state-stack '(slime-idle-state) 5))))))
- (sldb-continue)
- (slime-sync-state-stack '(slime-idle-state) 5)))))
- (accept-process-output nil 1)
- (slime-check "In eval state."
- (slime-test-state-stack '(slime-evaluating-state slime-idle-state)))
- (slime-interrupt)
- (slime-sync-state-stack '(slime-idle-state) 5)
- (slime-check "Automaton is back in idle state."
- (slime-test-state-stack '(slime-idle-state)))))
-
-(def-slime-test interactive-eval ()
- "Test interactive eval and continuing from the debugger."
- '(())
+ (get-buffer "*sldb*")))
+ (let ((slime-evaluating-state-activation-hook
+ (lambda ()
+ (when (slime-test-state-stack '(slime-evaluating-state
+ slime-idle-state))
+ (setq slime-evaluating-state-activation-hook nil)
+ (slime-check "No sldb buffer."
+ (not (get-buffer "*sldb*")))
+ (let ((sldb-hook
+ (lambda ()
+ (slime-check "Second interrupt."
+ (and (slime-test-state-stack
+ '(slime-debugging-state
+ slime-evaluating-state
+ slime-idle-state))
+ (get-buffer "*sldb*")))
+ (sldb-quit))))
+ (accept-process-output nil 1)
+ (slime-check "In eval state."
+ (slime-test-state-stack
+ '(slime-evaluating-state slime-idle-state)))
+ (slime-interrupt)
+ (slime-sync-state-stack '(slime-idle-state) 5))))))
+ (sldb-continue)
+ (slime-sync-state-stack '(slime-idle-state) 5)))))
+ (accept-process-output nil 1)
+ (slime-check "In eval state."
+ (slime-test-state-stack '(slime-evaluating-state slime-idle-state)))
+ (slime-interrupt)
+ (slime-sync-state-stack '(slime-idle-state) 5)
+ (slime-check "Automaton is back in idle state."
+ (slime-test-state-stack '(slime-idle-state)))))
+
+(def-slime-test interactive-eval
+ ()
+ "Test interactive eval and continuing from the debugger."
+ '(())
(let ((sldb-hook (lambda () (sldb-continue))))
(slime-interactive-eval
"(progn(cerror \"foo\" \"restart\")(cerror \"bar\" \"restart\")(+ 1 2))")
@@ -4456,29 +4462,30 @@
(slime-check "Minibuffer contains: \"=> 3\""
(equal "=> 3" message)))))
-(def-slime-test interrupt-bubbling-idiot ()
- "Test interrupting a loop that sends a lot of output to Emacs."
- '(())
+(def-slime-test interrupt-bubbling-idiot
+ ()
+ "Test interrupting a loop that sends a lot of output to Emacs."
+ '(())
(slime-check "Automaton initially in idle state."
(slime-test-state-stack '(slime-idle-state)))
(slime-eval-async '(cl:loop :for i :from 0 :do (cl:progn (cl:print i)
(cl:force-output)))
"CL-USER" (lambda (_) ))
(let ((sldb-hook
- (lambda ()
- (slime-check "First interrupt."
- (and (slime-test-state-stack '(slime-debugging-state
- slime-evaluating-state
+ (lambda ()
+ (slime-check "First interrupt."
+ (and (slime-test-state-stack '(slime-debugging-state
+ slime-evaluating-state
slime-idle-state))
- (get-buffer "*sldb*")))
- (sldb-quit))))
- (accept-process-output nil 1)
- (slime-check "In eval state."
- (slime-test-state-stack '(slime-evaluating-state slime-idle-state)))
- (slime-interrupt)
- (slime-sync-state-stack '(slime-idle-state) 5)
- (slime-check "Automaton is back in idle state."
- (slime-test-state-stack '(slime-idle-state)))))
+ (get-buffer "*sldb*")))
+ (sldb-quit))))
+ (accept-process-output nil 1)
+ (slime-check "In eval state."
+ (slime-test-state-stack '(slime-evaluating-state slime-idle-state)))
+ (slime-interrupt)
+ (slime-sync-state-stack '(slime-idle-state) 5)
+ (slime-check "Automaton is back in idle state."
+ (slime-test-state-stack '(slime-idle-state)))))
;;; Portability library
More information about the slime-cvs
mailing list