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

Dan Barlow dbarlow at common-lisp.net
Thu Dec 11 02:19:51 UTC 2003


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

Modified Files:
	swank-cmucl.lisp 
Log Message:
        * swank-backend.lisp (call-with-compilation-hooks): new GF
        should set up all appropriate error condition loggers etc
        to do a compilation preserving the notes.  Implement for
        sbcl, cmucl

Date: Wed Dec 10 21:19:51 2003
Author: dbarlow

Index: slime/swank-cmucl.lisp
diff -u slime/swank-cmucl.lisp:1.37 slime/swank-cmucl.lisp:1.38
--- slime/swank-cmucl.lisp:1.37	Wed Dec 10 18:16:58 2003
+++ slime/swank-cmucl.lisp	Wed Dec 10 21:19:51 2003
@@ -274,19 +274,20 @@
          (make-location (list :file (namestring *compile-file-truename*))
                         (list :position 0)))
         (*compile-filename*
+         ;; XXX is this _ever_ used?  By what?  *compile-file-truename*
+         ;; should be set by the implementation inside any call to compile-file
          (make-location (list :file *compile-filename*) (list :position 0)))
         (t 
          (list :error "No error location available"))))
 
-(defmacro with-compilation-hooks (() &body body)
-  "Execute BODY and record the set of compiler notes."
-  `(let ((*previous-compiler-condition* nil)
-         (*previous-context* nil)
-         (*print-readably* nil))
+(defmethod call-with-compilation-hooks (function)
+  (let ((*previous-compiler-condition* nil)
+        (*previous-context* nil)
+        (*print-readably* nil))
     (handler-bind ((c::compiler-error #'handle-notification-condition)
                    (c::style-warning  #'handle-notification-condition)
                    (c::warning        #'handle-notification-condition))
-      , at body)))
+      (funcall function))))
 
 (defmethod compile-file-for-emacs (filename load-p)
   (clear-xref-info filename)





More information about the slime-cvs mailing list