1.0.28.39: more error reporting tweakery
authorNikodemus Siivola <nikodemus@random-state.net>
Mon, 11 May 2009 19:41:48 +0000 (19:41 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Mon, 11 May 2009 19:41:48 +0000 (19:41 +0000)
 * Now that *CURRENT-PATH* is bound first by PROCESS-TOPLEVEL-FORM
   make FIND-ERROR-CONTEXT prefer NODE-SOURCE-PATH *CURRENT-PATH* --
   otherwise the more accurate source path in the node is never used.

   (Experimentally it seems that *CURRENT-PATH* is never more
   accurate.)

   Everything seems OK, but the whole source path mechanism could
   probably us an audit, and possibly some refactoring.

 * ADD-TEST-CONSTRAINTS should bind *COMPILER-ERROR-CONTEXT* around
   the call to SPECIALIZER-TYPE in case of undefined types. (Left out
   from last patch by accident.)

src/compiler/constraint.lisp
src/compiler/ir1report.lisp
version.lisp-expr

index 3718a3b..5a4c627 100644 (file)
                              (ok-lvar-lambda-var (first args) constraints)
                              (if (ctype-p val)
                                  val
-                                 (specifier-type val))
+                                 (let ((*compiler-error-context* use))
+                                   (specifier-type val)))
                              nil)))))
                  ((eq eql)
                   (let* ((arg1 (first args))
index 72f0fa2..25a7f57 100644 (file)
   (let ((context *compiler-error-context*))
     (if (compiler-error-context-p context)
         (values context t)
-        (let* ((path (or (and (boundp '*current-path*) *current-path*)
-                         (if context
-                             (node-source-path context)
-                             nil)))
+        (let* ((path (or (and (node-p context) (node-source-path context))
+                         (and (boundp '*current-path*) *current-path*)))
                (old
                 (find (when path (source-path-original-source path))
                       (remove-if #'null old-contexts)
index 6241eb7..6d17690 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.28.38"
+"1.0.28.39"