0.7.12.45:
authorChristophe Rhodes <csr21@cam.ac.uk>
Tue, 18 Feb 2003 17:21:56 +0000 (17:21 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Tue, 18 Feb 2003 17:21:56 +0000 (17:21 +0000)
Fix special operator status of DECLARE
... DECLARE no longer returns T to SPECIAL-OPERATOR-P

NEWS
src/compiler/ir1-translators.lisp
tests/interface.pure.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 98a1fa2..3cd4890 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1575,6 +1575,8 @@ changes in sbcl-0.7.13 relative to sbcl-0.7.12:
        if it is in the last clause;
     ** CONSTANTLY now correctly returns a side-effect-free function in
        all cases;
+    ** DECLARE is no longer treated as a special-operator; in
+       particular, SPECIAL-OPERATOR-P no longer returns T for DECLARE;
 
 planned incompatible changes in 0.7.x:
   * (not done yet, but planned:) When the profiling interface settles
index 9a5635f..7177de5 100644 (file)
    macrobindings
    (lambda (&key vars)
      (ir1-translate-locally body start cont :vars vars))))
-
-;;; not really a special form, but..
-(def-ir1-translator declare ((&rest stuff) start cont)
-  (declare (ignore stuff))
-  ;; We ignore START and CONT too, but we can't use DECLARE IGNORE to
-  ;; tell the compiler about it here, because the DEF-IR1-TRANSLATOR
-  ;; macro would put the DECLARE in the wrong place, so..
-  start cont
-  (compiler-error "misplaced declaration"))
 \f
 ;;;; %PRIMITIVE
 ;;;;
index 5d37468..a37c1f6 100644 (file)
@@ -44,3 +44,6 @@
 
 ;;; We should have documentation for our extension package:
 (assert (documentation (find-package "SB-EXT") t))
+
+;;; DECLARE should not be a special operator
+(assert (not (special-operator-p 'declare)))
index 0415e2c..63abc7d 100644 (file)
@@ -18,4 +18,4 @@
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.12.44"
+"0.7.12.45"