From: Alastair Bridgewater Date: Thu, 12 Nov 2009 16:07:49 +0000 (+0000) Subject: 1.0.32.30: Fix breakage from 1.0.32.26. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=86db706477784d7ac24a320ba3f7a399cccf5dd3;p=sbcl.git 1.0.32.30: Fix breakage from 1.0.32.26. * Use FIND-CONSTANT instead of MAYBE-EMIT-MAKE-LOAD-FORMS to prepare arglists for dumping, thus unbreaking compilation to core. * Add a test case for in-core case. --- diff --git a/src/compiler/entry.lisp b/src/compiler/entry.lisp index 83d5a00..d2ace4c 100644 --- a/src/compiler/entry.lisp +++ b/src/compiler/entry.lisp @@ -51,12 +51,12 @@ (when (policy bind (>= debug 1)) (let ((args (functional-arg-documentation internal-fun))) (aver (not (eq args :unspecified))) - (setf (entry-info-arguments info) args) ;; When the component is dumped, the arglists of the entry ;; points will be dumped. If they contain values that need ;; make-load-form processing then we need to do it now (bug ;; 310132). - (maybe-emit-make-load-forms args)) + (setf (entry-info-arguments info) + (constant-value (find-constant args)))) (setf (entry-info-type info) (type-specifier (leaf-type internal-fun))))) (values)) diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index 5e9e754..6bf6dfd 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -3360,3 +3360,10 @@ (funcall fun 42) (undefined-function (c) (cell-error-name c))))))) + +;;; Prior to 1.0.32.x, dumping a fasl with a function with a default +;;; argument that is a complex structure (needing make-load-form +;;; processing) failed an AVER. The first attempt at a fix caused +;;; doing the same in-core to break. +(with-test (:name :bug-310132) + (compile nil '(lambda (&optional (foo #p"foo/bar"))))) diff --git a/version.lisp-expr b/version.lisp-expr index 8429184..d8a0544 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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.32.29" +"1.0.32.30"