From 672d9d3687cc1009d2cbbf0778e3226f286f311d Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Fri, 6 Oct 2000 15:10:15 +0000
Subject: [PATCH] Make LOCALLY a special form instead of a macro.

---
 compiler/ir1tran.lisp | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp
index e33fe2e52..ec1ae259f 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.119 2000/10/04 15:53:11 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1tran.lisp,v 1.120 2000/10/06 15:10:15 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -2792,6 +2792,15 @@
       (reference-leaf start fun-cont fun)
       (ir1-convert-combination-args fun-cont cont values))))
 
+(def-ir1-translator locally ((&body (body decls))
+                            start cont)
+  "LOCALLY Declaration* Form*
+   Sequentially evaluates a body of Form's in a lexical environment
+   where the given Declaration's have effect."
+  (let* ((*lexical-environment* (process-declarations decls nil nil cont)))
+    (ir1-convert-progn-body start cont body)))
+        
+
 
 (def-ir1-translator let* ((bindings &body (body decls))
 			  start cont)
-- 
GitLab