From: Nikodemus Siivola Date: Fri, 10 Jun 2011 20:30:52 +0000 (+0300) Subject: FMAKUNBOUND removes the MACRO-FUNCTION as well X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=39c9c1d494f6d8a42c6f701ef1db4f688fe1b310;hp=37fbb0be837f1d17650c7329469819dd31b762e1;p=sbcl.git FMAKUNBOUND removes the MACRO-FUNCTION as well Fixes lp#795705. --- diff --git a/NEWS b/NEWS index d5b693f..4e2611d 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,8 @@ changes relative to sbcl-1.0.49: function with dynamic-extent &rest list. * bug fix: &optional and &key supplied-p arguments in DEFSTRUCT boa-construtors can be used to initialized structure slots. + * bug fix: FMAKUNBOUND removes the MACRO-FUNCTION, should one exist. + (lp#795705, regression) changes in sbcl-1.0.49 relative to sbcl-1.0.48: * minor incompatible change: WITH-LOCKED-HASH-TABLE no longer disables diff --git a/src/compiler/info-functions.lisp b/src/compiler/info-functions.lisp index e0c29bf..ea876b7 100644 --- a/src/compiler/info-functions.lisp +++ b/src/compiler/info-functions.lisp @@ -106,6 +106,7 @@ (frob :where-from :assumed) (frob :inlinep) (frob :kind) + (frob :macro-function) (frob :inline-expansion-designator) (frob :source-transform) (frob :structure-accessor) diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index 81c72bd..9c52b0f 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -1227,6 +1227,14 @@ (assert (search "INLINED-FUNCTION-IN-SOURCE-PATH" output)) ;; ...not the leaf. (assert (not (search "DEFINED-FUN" output))))) + +(defmacro bug-795705 () + t) + +(with-test (:name :bug-795705) + (assert (macro-function 'bug-795705)) + (fmakunbound 'bug-795705) + (assert (not (macro-function 'bug-795705)))) ;;;; tests not in the problem domain, but of the consistency of the ;;;; compiler machinery itself