[slime-cvs] CVS slime

CVS User trittweiler trittweiler at common-lisp.net
Sun Jan 3 10:05:05 UTC 2010


Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv9369

Modified Files:
	ChangeLog slime.el swank-sbcl.lisp 
Log Message:
        * slime.el (compile-defun [test]): Also test proper notification
        after reader-error. Additionally: bind font-lock-verbose to nil to
        prevent annoying font-lock messages during the test.

        * swank-sbcl.lisp (signal-compiler-condition): Make sure
        READER-ERROR comes before ERROR in typecase.
        (swank-compile-file): Remove handling FATAL-COMPILER-HANDLER
        because a) this handling prevents sbcl from printing the
        diagnostics to the repl, and b) sbcl itself should handle this and
        translate it into proper return value for compile-file.



--- /project/slime/cvsroot/slime/ChangeLog	2009/12/23 08:52:01	1.1948
+++ /project/slime/cvsroot/slime/ChangeLog	2010/01/03 10:05:04	1.1949
@@ -1,3 +1,16 @@
+2010-01-03  Tobias C. Rittweiler <tcr at freebits.de>
+
+	* slime.el (compile-defun [test]): Also test proper notification
+	after reader-error. Additionally: bind font-lock-verbose to nil to
+	prevent annoying font-lock messages during the test.
+
+	* swank-sbcl.lisp (signal-compiler-condition): Make sure
+	READER-ERROR comes before ERROR in typecase.
+	(swank-compile-file): Remove handling FATAL-COMPILER-HANDLER
+	because a) this handling prevents sbcl from printing the
+	diagnostics to the repl, and b) sbcl itself should handle this and
+	translate it into proper return value for compile-file.
+
 2009-12-23  Tobias C. Rittweiler <tcr at freebits.de>
 
 	* slime.el (complete-symbol [test]): Fix test case.
--- /project/slime/cvsroot/slime/slime.el	2009/12/23 08:52:01	1.1259
+++ /project/slime/cvsroot/slime/slime.el	2010/01/03 10:05:04	1.1260
@@ -7704,20 +7704,24 @@
        (cl-user::bar))
       ("(defun foo ()
           #+#.'(:and) (/ 1 0))"
-       (/ 1 0)))
+       (/ 1 0)) 
+      ("(defun foo () pkg-does-not-exist:symbol)" 
+       pkg-does-not-exist:symbol)
+      ("(defun foo () swank:symbol-does-not-exist)"
+       swank:symbol-does-not-exist))
   (slime-check-top-level)    
-  (with-temp-buffer 
+  (with-temp-buffer
     (lisp-mode)
     (insert program)
-    (setq slime-buffer-package ":swank")
-    (slime-compile-string (buffer-string) 1)
-    (setq slime-buffer-package ":cl-user")
-    (slime-sync-to-top-level 5)
-    (goto-char (point-max))
-    (slime-previous-note)
-    (slime-check error-location-correct
-      (equal (read (current-buffer))
-             subform)))
+    (let ((font-lock-verbose nil))
+      (setq slime-buffer-package ":swank")
+      (slime-compile-string (buffer-string) 1)
+      (setq slime-buffer-package ":cl-user")
+      (slime-sync-to-top-level 5)
+      (goto-char (point-max))
+      (slime-previous-note)
+      (slime-check error-location-correct
+        (equal (read (current-buffer)) subform))))
   (slime-check-top-level))
 
 (def-slime-test (compile-file (:fails-for "allegro" "lispworks" "clisp"))
--- /project/slime/cvsroot/slime/swank-sbcl.lisp	2009/12/19 14:56:06	1.263
+++ /project/slime/cvsroot/slime/swank-sbcl.lisp	2010/01/03 10:05:05	1.264
@@ -430,10 +430,10 @@
            'compiler-condition
            :original-condition condition
            :severity (etypecase condition
-                       (sb-c:compiler-error  :error)
                        (sb-ext:compiler-note :note)
-                       (error                :error)
+                       (sb-c:compiler-error  :error)
                        (reader-error         :read-error)
+                       (error                :error)
                        #+#.(swank-backend:with-symbol redefinition-warning sb-kernel)
                        (sb-kernel:redefinition-warning
                                              :redefinition)
@@ -556,20 +556,17 @@
 
 (defimplementation swank-compile-file (input-file output-file 
                                        load-p external-format)
-  (handler-case
-      (multiple-value-bind (output-file warnings-p failure-p)
-          (with-compilation-hooks ()
-            (compile-file input-file :output-file output-file
-                          :external-format external-format))
-        (values output-file warnings-p
-                (or failure-p
-                    (when load-p
-                      ;; Cache the latest source file for definition-finding.
-                      (source-cache-get input-file 
-                                        (file-write-date input-file))
-                      (not (load output-file))))))
-    ;; N.B. This comes through despite of WITH-COMPILATION-HOOKS.
-    (sb-c:fatal-compiler-error () (values nil nil t))))
+  (multiple-value-bind (output-file warnings-p failure-p)
+      (with-compilation-hooks ()
+        (compile-file input-file :output-file output-file
+                      :external-format external-format))
+    (values output-file warnings-p
+            (or failure-p
+                (when load-p
+                  ;; Cache the latest source file for definition-finding.
+                  (source-cache-get input-file 
+                                    (file-write-date input-file))
+                  (not (load output-file)))))))
 
 ;;;; compile-string
 





More information about the slime-cvs mailing list