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@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))))