[slime-cvs] CVS slime
heller
heller at common-lisp.net
Fri Oct 20 17:07:55 UTC 2006
Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv25845
Modified Files:
swank-backend.lisp swank-cmucl.lisp swank.lisp
Log Message:
(startup-idle-and-top-level-loops): Deleted. Merged into
initialize-multiprocessing.
--- /project/slime/cvsroot/slime/swank-backend.lisp 2006/10/20 00:15:01 1.106
+++ /project/slime/cvsroot/slime/swank-backend.lisp 2006/10/20 17:07:55 1.107
@@ -846,15 +846,10 @@
;;; implementations.
(definterface initialize-multiprocessing (continuation)
- "Initialize multiprocessing, if necessary and then invoke CONTINUATION."
- (funcall continuation))
+ "Initialize multiprocessing, if necessary and then invoke CONTINUATION.
-(definterface startup-idle-and-top-level-loops ()
- "This function is called directly through the listener, not in an RPC
-from Emacs. This is to support interfaces such as CMUCL's
-MP::STARTUP-IDLE-AND-TOP-LEVEL-LOOPS which does not return like a
-normal function."
- nil)
+Depending on the impleimentaion, this function may never return."
+ (funcall continuation))
(definterface spawn (fn &key name)
"Create a new thread to call FN.")
--- /project/slime/cvsroot/slime/swank-cmucl.lisp 2006/10/20 00:14:39 1.165
+++ /project/slime/cvsroot/slime/swank-cmucl.lisp 2006/10/20 17:07:55 1.166
@@ -1475,7 +1475,12 @@
(error (make-condition
'sldb-condition
:original-condition condition)))))
- (funcall debugger-loop-fn))))
+ (unwind-protect
+ (progn
+ #+(or)(sys:scrub-control-stack)
+ (funcall debugger-loop-fn))
+ #+(or)(sys:scrub-control-stack)
+ ))))
(defun frame-down (frame)
(handler-case (di:frame-down frame)
@@ -2046,14 +2051,12 @@
(progn
(defimplementation initialize-multiprocessing (continuation)
(mp::init-multi-processing)
- (funcall continuation))
-
- (defimplementation startup-idle-and-top-level-loops ()
+ (mp:make-process continuation :name "swank")
;; Threads magic: this never returns! But top-level becomes
;; available again.
- (unless mp::*initial-process*
+ (unless mp::*idle-process*
(mp::startup-idle-and-top-level-loops)))
-
+
(defimplementation spawn (fn &key name)
(mp:make-process fn :name (or name "Anonymous")))
--- /project/slime/cvsroot/slime/swank.lisp 2006/10/20 00:14:07 1.409
+++ /project/slime/cvsroot/slime/swank.lisp 2006/10/20 17:07:55 1.410
@@ -406,10 +406,9 @@
"Start the server and write the listen port number to PORT-FILE.
This is the entry point for Emacs."
(flet ((start-server-aux ()
- (setup-server 0 (lambda (port) (announce-server-port port-file port))
- style dont-close external-format)
- (when (eq style :spawn)
- (startup-idle-and-top-level-loops))))
+ (setup-server 0 (lambda (port)
+ (announce-server-port port-file port))
+ style dont-close external-format)))
(if (eq style :spawn)
(initialize-multiprocessing #'start-server-aux)
(start-server-aux))))
@@ -3691,7 +3690,7 @@
The result is a list of property lists."
(let ((package (if package
(or (find-package (string-to-package-designator package))
- (abort-request "No such package: ~S" package)))))
+ (error "No such package: ~S" package)))))
(mapcan (listify #'briefly-describe-symbol-for-emacs)
(sort (remove-duplicates
(apropos-symbols name external-only case-sensitive package))
More information about the slime-cvs
mailing list