[movitz-cvs] CVS update: movitz/losp/x86-pc/debugger.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Jun 10 16:28:27 UTC 2004


Update of /project/movitz/cvsroot/movitz/losp/x86-pc
In directory common-lisp.net:/tmp/cvs-serv2124

Modified Files:
	debugger.lisp 
Log Message:
match-code-pattern still wasn't quite right. This should do it.

Date: Thu Jun 10 09:28:27 2004
Author: ffjeld

Index: movitz/losp/x86-pc/debugger.lisp
diff -u movitz/losp/x86-pc/debugger.lisp:1.12 movitz/losp/x86-pc/debugger.lisp:1.13
--- movitz/losp/x86-pc/debugger.lisp:1.12	Thu Jun 10 08:06:52 2004
+++ movitz/losp/x86-pc/debugger.lisp	Thu Jun 10 09:28:27 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Fri Nov 22 10:09:18 2002
 ;;;;                
-;;;; $Id: debugger.lisp,v 1.12 2004/06/10 15:06:52 ffjeld Exp $
+;;;; $Id: debugger.lisp,v 1.13 2004/06/10 16:28:27 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -177,7 +177,7 @@
 	   (setf result-register (second p)
 		 result-position (third p)))
 	  (:or
-	   (dolist (sub-pattern (cdr p))
+	   (dolist (sub-pattern (cdr p) (return-from match-code-pattern nil))
 	     (multiple-value-bind (success-p sub-result-register sub-result-position new-ip)
 		 (match-code-pattern sub-pattern code-vector ip register)
 	       (when success-p
@@ -185,8 +185,7 @@
 		   (setf result-register sub-result-register
 			 result-position sub-result-position))
 		 (setf ip new-ip)
-		 (return))))
-	   (return nil))
+		 (return)))))
 	  (:* (let ((max-times (second p)) ; (:kleene-star <max-times> <sub-pattern>)
 		    (sub-pattern (third p)))
 		(dotimes (i max-times)





More information about the Movitz-cvs mailing list