From d6beb116a1a1a38e1f0403f1bf9b85b0f8a2b134 Mon Sep 17 00:00:00 2001
From: gerd <gerd>
Date: Tue, 22 Apr 2003 15:48:40 +0000
Subject: [PATCH] 	Fix ANSI test SPECIAL-OPERATOR.2.

	* src/compiler/ir1tran.lisp (declare) <ir1 translator>: Remove.
	(ir1-convert): Signal an error for (declare ...).
---
 compiler/ir1tran.lisp        | 17 +++++------------
 general-info/release-19a.txt |  3 +++
 2 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp
index 694d0f04a..b2ed3e85c 100644
--- a/compiler/ir1tran.lisp
+++ b/compiler/ir1tran.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.147 2003/04/21 21:00:04 gerd Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.148 2003/04/22 15:48:40 gerd Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -576,7 +576,10 @@
 	     ((symbolp fun)
 	      (let ((lexical-def (lexenv-find-function fun)))
 		(typecase lexical-def
-		  (null (ir1-convert-global-functoid start cont form))
+		  (null
+		   (when (eq fun 'declare)
+		     (compiler-error "Misplaced declaration."))
+		   (ir1-convert-global-functoid start cont form))
 		  (functional
 		   (ir1-convert-local-combination start cont form lexical-def))
 		  (global-var
@@ -2356,16 +2359,6 @@
 			 (ir1-convert-progn-body start cont body))))
 
 
-;;; Not really a special form, but...
-;;;
-;;; emarsden2003-04-09 should get rid of this, since it causes
-;;; (special-operator-p 'declare) to be true
-(def-ir1-translator declare ((&rest stuff) start cont)
-  (declare (ignore stuff))
-  start cont; Ignore hack
-  (compiler-error "Misplaced declaration."))
-
-
 ;;; COMPILER-OPTION-BIND
 ;;; 
 (def-ir1-translator compiler-option-bind ((bindings &body body) start cont)
diff --git a/general-info/release-19a.txt b/general-info/release-19a.txt
index 14a41645a..6d3e4249b 100644
--- a/general-info/release-19a.txt
+++ b/general-info/release-19a.txt
@@ -51,10 +51,13 @@ New in this release:
        with an out-of-bounds index.
      - Accessing arrays in compiled code with out-of-bounds indices
        now signals a TYPE-ERROR.
+     - DECLARE no longer being a special operator.
 
   * Numerous bugfixes:
      - NSET-EXCLUSIVE-OR implemented in terms of SET-EXCLUSIVE-OR
        because it returned different results than SET-EXCLUSIVE-OR.
+     - Forms like (MULTIPLE-VALUE-BIND 'LIST) no longer trapping
+       an internal compiler error when compiled.
 
   * Other changes:
 
-- 
GitLab