[movitz-cvs] CVS update: movitz/special-operators.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Sat Feb 14 15:18:54 UTC 2004


Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv10112

Modified Files:
	special-operators.lisp 
Log Message:
Added an experimental macro for inline assembly, :lexical-binding.

Date: Sat Feb 14 10:18:54 2004
Author: ffjeld

Index: movitz/special-operators.lisp
diff -u movitz/special-operators.lisp:1.11 movitz/special-operators.lisp:1.12
--- movitz/special-operators.lisp:1.11	Fri Feb 13 05:39:37 2004
+++ movitz/special-operators.lisp	Sat Feb 14 10:18:54 2004
@@ -8,7 +8,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Fri Nov 24 16:22:59 2000
 ;;;;                
-;;;; $Id: special-operators.lisp,v 1.11 2004/02/13 10:39:37 ffjeld Exp $
+;;;; $Id: special-operators.lisp,v 1.12 2004/02/14 15:18:54 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -560,6 +560,13 @@
 			   (destructuring-bind (var reg &key (type t))
 			       (cdr expr)
 			     `((:store-lexical ,(movitz-binding var env) ,reg :type ,type)))))
+		       (setf (assembly-macro-expander :lexical-binding amenv)
+			 (lambda (expr)
+			   (destructuring-bind (var)
+			       (cdr expr)
+			     (let ((binding (movitz-binding var env)))
+			       (check-type binding lexical-binding)
+			       (list binding)))))
 		       (let ((code (assembly-macroexpand inline-asm amenv)))
 			 (assert (not (and (not side-effects)
 					   (tree-search code '(:store-lexical))))





More information about the Movitz-cvs mailing list