FMAKUNBOUND removes the MACRO-FUNCTION as well
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 10 Jun 2011 20:30:52 +0000 (23:30 +0300)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 10 Jun 2011 20:32:29 +0000 (23:32 +0300)
  Fixes lp#795705.

NEWS
src/compiler/info-functions.lisp
tests/compiler.impure.lisp

diff --git a/NEWS b/NEWS
index d5b693f..4e2611d 100644 (file)
--- 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
index e0c29bf..ea876b7 100644 (file)
       (frob :where-from :assumed)
       (frob :inlinep)
       (frob :kind)
+      (frob :macro-function)
       (frob :inline-expansion-designator)
       (frob :source-transform)
       (frob :structure-accessor)
index 81c72bd..9c52b0f 100644 (file)
     (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))))
 \f
 ;;;; tests not in the problem domain, but of the consistency of the
 ;;;; compiler machinery itself