Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv27855
Modified Files: basic-macros.lisp Log Message: Changed dynamic binding lookup protocol. Only use the "unbounded" primitive-function, and have the caller check whether the value is the unbound-value or not. And, rename to dynamic-variable-lookup.
Date: Thu Nov 18 18:59:03 2004 Author: ffjeld
Index: movitz/losp/muerte/basic-macros.lisp diff -u movitz/losp/muerte/basic-macros.lisp:1.46 movitz/losp/muerte/basic-macros.lisp:1.47 --- movitz/losp/muerte/basic-macros.lisp:1.46 Wed Nov 17 14:33:25 2004 +++ movitz/losp/muerte/basic-macros.lisp Thu Nov 18 18:59:03 2004 @@ -9,7 +9,7 @@ ;;;; Created at: Wed Nov 8 18:44:57 2000 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: basic-macros.lisp,v 1.46 2004/11/17 13:33:25 ffjeld Exp $ +;;;; $Id: basic-macros.lisp,v 1.47 2004/11/18 17:59:03 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -446,6 +446,12 @@ (:compile-two-forms (:eax :ebx) ,x ,y) (:cmpl :eax :ebx)))))
+#+ignore +(define-compiler-macro eql (&whole form x y &environment env) + `(let ((x ,x) (y ,y)) + (with-inline-assembly (:returns :boolean-zf=1) + (:eql (:lexical-binding x) (:lexical-binding y))))) + (define-compiler-macro eql (&whole form x y &environment env) (cond ((and (movitz:movitz-constantp x env) @@ -1078,7 +1084,7 @@ (:leal (:eax ,(- (movitz:tag :symbol))) :ecx) (:testb 7 :cl) (:jne '(:sub-program () (:int 66))) - (:call-local-pf dynamic-variable-lookup-unbound) + (:call-local-pf dynamic-variable-lookup) (:globally (:cmpl (:edi (:edi-offset unbound-value)) :eax)))))
(defmacro define-global-variable (name init-form &optional docstring)