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