[movitz-cvs] CVS movitz/losp/muerte

ffjeld ffjeld at common-lisp.net
Tue Apr 15 23:06:47 UTC 2008


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory clnet:/tmp/cvs-serv8203

Modified Files:
	more-macros.lisp 
Log Message:
Fix compiler-macro pop that would cause serious compilation mistakes.


--- /project/movitz/cvsroot/movitz/losp/muerte/more-macros.lisp	2008/04/09 18:33:41	1.42
+++ /project/movitz/cvsroot/movitz/losp/muerte/more-macros.lisp	2008/04/15 23:06:47	1.43
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Fri Jun  7 15:05:57 2002
 ;;;;                
-;;;; $Id: more-macros.lisp,v 1.42 2008/04/09 18:33:41 ffjeld Exp $
+;;;; $Id: more-macros.lisp,v 1.43 2008/04/15 23:06:47 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -38,10 +38,7 @@
       `(with-inline-assembly (:returns :ebx)
 	 (:compile-form (:result-mode :eax) ,place)
 	 (:globally (:call (:edi (:edi-offset fast-cdr-car))))
-	 (:lexical-store ,place :eax))
-      #+ignore
-      `(prog1 (car ,place)
-	 (setq ,place (cdr ,place)))
+	 (:lexical-store ,place :eax :protect-registers (:ebx)))      
     form))
 
 (defmacro push (&environment env item place)
@@ -56,13 +53,6 @@
 	 (let ((,store-var (cons ,item-var ,getter-form)))
 	   ,setter-form)))))
 
-#+ignore
-(define-compiler-macro push (&whole form &environment env item place)
-  (if (and (symbolp place)
-	   (not (typep (movitz::movitz-binding place env) 'movitz::symbol-macro-binding)))
-      `(setq ,place (cons ,item ,place))
-    form))
-
 (defmacro pushnew (&environment env item place &rest key-test-args)
   (multiple-value-bind (tmp-vars tmp-var-init-forms store-vars setter-form getter-form)
       (get-setf-expansion place env)
@@ -333,6 +323,14 @@
        (error 'end-of-file :stream ,stream)
        ,eof-value))
 
+(defmacro/run-time with-dynamic-extent-scope ((tag) &body body)
+  (declare (ignore tag))
+  `(progn , at body))
+
+(defmacro/run-time with-dynamic-extent-allocation ((tag) &body body)
+  (declare (ignore tag))
+  `(progn , at body))
+
 (defmacro handler-bind (bindings &body forms)
   (if (null bindings)
       `(progn , at forms)
@@ -542,6 +540,7 @@
 
 (define-unimplemented-macro with-open-file)
 (define-unimplemented-macro restart-case)
+(define-unimplemented-macro with-condition-restarts)
 
 (defmacro/cross-compilation load (filespec &key verbose print if-does-not-exist external-format)
   "hm..."




More information about the Movitz-cvs mailing list