[slime-cvs] CVS update: slime/swank.lisp slime/swank-sbcl.lisp slime/swank-openmcl.lisp slime/swank-cmucl.lisp slime/ChangeLog

Luke Gorrie lgorrie at common-lisp.net
Thu Oct 16 20:05:22 UTC 2003


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

Modified Files:
	swank.lisp swank-sbcl.lisp swank-openmcl.lisp swank-cmucl.lisp 
	ChangeLog 
Log Message:
The macro `with-trapping-compiler-notes' is now defined in the
portable code, and expands to a call to the backend-defined
`call-trapping-compiler-notes' with the body wrapped in a lambda. This
is to avoid swank.lisp referring to macros in the backends -- it gets
compiled first so it thinks they're functions.

Date: Thu Oct 16 16:05:21 2003
Author: lgorrie

Index: slime/swank.lisp
diff -u slime/swank.lisp:1.31 slime/swank.lisp:1.32
--- slime/swank.lisp:1.31	Thu Oct 16 07:08:40 2003
+++ slime/swank.lisp	Thu Oct 16 16:05:21 2003
@@ -222,6 +222,9 @@
      (* (- (get-internal-real-time) before)
         (/ 1000000 internal-time-units-per-second)))))
 
+(defmacro with-trapping-compiler-notes (() &body body)
+  `(call-trapping-compiler-notes (lambda () , at body)))
+
 (defun call-with-compilation-hooks (fn)
   (multiple-value-bind (result usecs)
       (with-trapping-compilation-notes ()


Index: slime/swank-sbcl.lisp
diff -u slime/swank-sbcl.lisp:1.4 slime/swank-sbcl.lisp:1.5
--- slime/swank-sbcl.lisp:1.4	Wed Oct 15 18:48:30 2003
+++ slime/swank-sbcl.lisp	Thu Oct 16 16:05:21 2003
@@ -243,11 +243,11 @@
          (reverse
           (sb-c::compiler-error-context-original-source-path context)))))
 
-(defmacro with-trapping-compilation-notes (() &body body)
-  `(handler-bind ((sb-c:compiler-error #'handle-notification-condition)
-                  (style-warning #'handle-notification-condition)
-                  (warning #'handle-notification-condition))
-    , at body))
+(defun call-trapping-compilation-notes (fn)
+  (handler-bind ((sb-c:compiler-error #'handle-notification-condition)
+                 (style-warning #'handle-notification-condition)
+                 (warning #'handle-notification-condition))
+    (funcall fn)))
 
 (defslimefun swank-compile-file (filename load)
   (call-with-compilation-hooks


Index: slime/swank-openmcl.lisp
diff -u slime/swank-openmcl.lisp:1.5 slime/swank-openmcl.lisp:1.6
--- slime/swank-openmcl.lisp:1.5	Wed Oct 15 19:02:26 2003
+++ slime/swank-openmcl.lisp	Thu Oct 16 16:05:21 2003
@@ -13,7 +13,7 @@
 ;;; The LLGPL is also available online at
 ;;; http://opensource.franz.com/preamble.html
 ;;;
-;;;   $Id: swank-openmcl.lisp,v 1.5 2003/10/15 23:02:26 dbarlow Exp $
+;;;   $Id: swank-openmcl.lisp,v 1.6 2003/10/16 20:05:21 lgorrie Exp $
 ;;;
 
 ;;;
@@ -163,9 +163,9 @@
               :buffer-offset 0)
         *compiler-notes*))
 
-(defmacro with-trapping-compilation-notes (() &body body)
-  `(handler-bind ((ccl::compiler-warning #'handle-compiler-warning))
-    , at body))
+(defmacro call-trapping-compilation-notes (fn)
+  (handler-bind ((ccl::compiler-warning #'handle-compiler-warning))
+    (funcall fn)))
 
 (defslimefun swank-compile-string (string buffer start)
   (declare (ignore buffer start))


Index: slime/swank-cmucl.lisp
diff -u slime/swank-cmucl.lisp:1.4 slime/swank-cmucl.lisp:1.5
--- slime/swank-cmucl.lisp:1.4	Thu Oct 16 07:10:48 2003
+++ slime/swank-cmucl.lisp	Thu Oct 16 16:05:21 2003
@@ -211,11 +211,11 @@
 	 (reverse
 	  (c::compiler-error-context-original-source-path context)))))
 
-(defmacro with-trapping-compilation-notes (() &body body)
-  `(handler-bind ((c::compiler-error #'handle-notification-condition)
-                  (c::style-warning #'handle-notification-condition)
-                  (c::warning #'handle-notification-condition))
-    , at body))
+(defmacro call-trapping-compilation-notes (fn)
+  (handler-bind ((c::compiler-error #'handle-notification-condition)
+                 (c::style-warning #'handle-notification-condition)
+                 (c::warning #'handle-notification-condition))
+    (funcall fn)))
 
 (defslimefun swank-compile-file (filename load)
   (call-with-compilation-hooks


Index: slime/ChangeLog
diff -u slime/ChangeLog:1.32 slime/ChangeLog:1.33
--- slime/ChangeLog:1.32	Thu Oct 16 12:08:03 2003
+++ slime/ChangeLog	Thu Oct 16 16:05:21 2003
@@ -1,5 +1,11 @@
 2003-10-16  Luke Gorrie  <luke at bluetail.com>
 
+	* swank*.lisp (with-trapping-compiler-notes): This macro is now
+	defined here, and expands to a call to the backend-defined
+	`call-trapping-compiler-notes' with the body wrapped in a
+	lambda. This is to avoid swank.lisp referring to macros in the
+	backends -- it gets compiled first so it thinks they're functions.
+
 	* slime.el (slime-swank-connection-retries): New default value is
 	`nil', which means unlimited retries (until user aborts). Retry
 	interval also reduced from once per second to four times per





More information about the slime-cvs mailing list