X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmain.lisp;h=c7f19ce0ecdcc41fa5f31e1ee571dc721e55f7fe;hb=ef0891e470ff35840def7a5717ede18a58266e76;hp=eae1bd600dcb4052c8d64b09550afde55decb813;hpb=a80a02aec71e15e1ae7bebd502399ab2b824d08b;p=sbcl.git diff --git a/src/compiler/main.lisp b/src/compiler/main.lisp index eae1bd6..c7f19ce 100644 --- a/src/compiler/main.lisp +++ b/src/compiler/main.lisp @@ -706,12 +706,14 @@ Examples: (defun clear-constant-info () (maphash (lambda (k v) (declare (ignore k)) - (setf (leaf-info v) nil)) + (setf (leaf-info v) nil) + (setf (constant-boxed-tn v) nil)) *constants*) (maphash (lambda (k v) (declare (ignore k)) (when (constant-p v) - (setf (leaf-info v) nil))) + (setf (leaf-info v) nil) + (setf (constant-boxed-tn v) nil))) *free-vars*) (values)) @@ -899,21 +901,27 @@ Examples: (handler-case (read-preserving-whitespace stream nil stream) (reader-error (condition) - (error 'input-error-in-compile-file - :condition condition - ;; We don't need to supply :POSITION here because - ;; READER-ERRORs already know their position in the file. - )) + (compiler-error 'input-error-in-compile-file + ;; We don't need to supply :POSITION here because + ;; READER-ERRORs already know their position in the file. + :condition condition + :stream stream)) ;; ANSI, in its wisdom, says that READ should return END-OF-FILE ;; (and that this is not a READER-ERROR) when it encounters end of ;; file in the middle of something it's trying to read. (end-of-file (condition) - (error 'input-error-in-compile-file - :condition condition - ;; We need to supply :POSITION here because the END-OF-FILE - ;; condition doesn't carry the position that the user - ;; probably cares about, where the failed READ began. - :position position)))) + (compiler-error 'input-error-in-compile-file + :condition condition + ;; We need to supply :POSITION here because the END-OF-FILE + ;; condition doesn't carry the position that the user + ;; probably cares about, where the failed READ began. + :position position + :stream stream)) + (error (condition) + (compiler-error 'input-error-in-compile-file + :condition condition + :position position + :stream stream)))) ;;; If STREAM is present, return it, otherwise open a stream to the ;;; current file. There must be a current file. @@ -1014,7 +1022,7 @@ Examples: ;;; We only expand one level, so that we retain all the intervening ;;; forms in the source path. (defun preprocessor-macroexpand-1 (form) - (handler-case (sb!xc:macroexpand-1 form *lexenv*) + (handler-case (%macroexpand-1 form *lexenv*) (error (condition) (compiler-error "(during macroexpansion of ~A)~%~A" (let ((*print-level* 2) @@ -1645,8 +1653,8 @@ Examples: (*fun-names-in-this-file* ()) (*allow-instrumenting* nil) (*compiler-error-bailout* - (lambda () - (compiler-mumble "~2&; fatal error, aborting compilation~%") + (lambda (&optional error) + (declare (ignore error)) (return-from sub-compile-file (values t t t)))) (*current-path* nil) (*last-source-context* nil)