[movitz-cvs] CVS movitz/losp/muerte

ffjeld ffjeld at common-lisp.net
Sat Mar 15 20:57:52 UTC 2008


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

Modified Files:
	loop.lisp 
Log Message:
Have macros in the run-time.


--- /project/movitz/cvsroot/movitz/losp/muerte/loop.lisp	2006/04/07 21:53:02	1.7
+++ /project/movitz/cvsroot/movitz/losp/muerte/loop.lisp	2008/03/15 20:57:44	1.8
@@ -256,7 +256,7 @@
 		      , at body)))
 
 
-(defmacro loop-collect-rplacd (&environment env
+(defmacro/cross-compilation loop-collect-rplacd (&environment env
 			       (head-var tail-var &optional user-head-var) form)
   (declare
     #+LISPM (ignore head-var user-head-var)	;use locatives, unconditionally update through the tail.
@@ -2050,13 +2050,13 @@
 )
 
 ;;;INTERFACE: ANSI
-(defmacro loop (&rest keywords-and-forms)
+(defmacro/cross-compilation loop (&rest keywords-and-forms)
   #+Genera (declare (compiler:do-not-record-macroexpansions)
 		    (zwei:indentation . zwei:indent-loop))
   (loop-standard-expansion keywords-and-forms nil *loop-ansi-universe*))
 
 ;;;INTERFACE: Traditional, ANSI, Lucid.
-(defmacro loop-finish () 
+(defmacro/cross-compilation loop-finish () 
   "Causes the iteration to terminate \"normally\", the same as implicit
 termination by an iteration driving clause, or by use of WHILE or
 UNTIL -- the epilogue code (if any) will be run, and any implicitly
@@ -2064,12 +2064,12 @@
   '(go end-loop))
 
 
-(defmacro loop-body (prologue
-		     before-loop
-		     main-body
-		     after-loop
-		     epilogue
-		     &aux (env nil) rbefore rafter flagvar)
+(defmacro/cross-compilation loop-body (prologue
+				       before-loop
+				       main-body
+				       after-loop
+				       epilogue
+				       &aux (env nil) rbefore rafter flagvar)
   (unless (= (length before-loop) (length after-loop))
     (error "LOOP-BODY called with non-synched before- and after-loop lists."))
   ;;All our work is done from these copies, working backwards from the end:
@@ -2085,11 +2085,11 @@
 	   (pify (l) (if (null (cdr l)) (car l) `(progn , at l)))
 	   (makebody ()
 	     (let ((form `(tagbody
-			    ,@(psimp (append prologue (nreverse rbefore)))
-			 next-loop
-			    ,@(psimp (append main-body (nreconc rafter `((go next-loop)))))
-			 end-loop
-			    ,@(psimp epilogue))))
+			     ,@(psimp (append prologue (nreverse rbefore)))
+			   next-loop
+			     ,@(psimp (append main-body (nreconc rafter `((go next-loop)))))
+			   end-loop
+			     ,@(psimp epilogue))))
 	       (if flagvar `(let ((,flagvar nil)) ,form) form))))
     (when (or *loop-duplicate-code* (not rbefore))
       (return-from loop-body (makebody)))
@@ -2115,7 +2115,7 @@
       ;; What chronologically precedes the non-duplicatable form will
       ;; be handled the next time around the outer loop.
       (do ((bb rbefore (cdr bb)) (aa rafter (cdr aa)) (lastdiff nil) (count 0) (inc nil))
-	  ((null bb) (return-from loop-body (makebody)))	;Did it.
+	  ((null bb) (return-from loop-body (makebody))) ;Did it.
 	(cond ((not (equal (car bb) (car aa))) (setq lastdiff bb count 0))
 	      ((or (not (setq inc (estimate-code-size (car bb) env)))
 		   (> (incf count inc) threshold))
@@ -2141,7 +2141,7 @@
 	       (return)))))))
 
 
-(defmacro loop-really-desetq (&rest var-val-pairs &aux (env nil))
+(defmacro/cross-compilation loop-really-desetq (&rest var-val-pairs &aux (env nil))
   (labels ((find-non-null (var)
 	     ;; see if there's any non-null thing here
 	     ;; recurse if the list element is itself a list




More information about the Movitz-cvs mailing list