[movitz-cvs] CVS movitz/losp/muerte
ffjeld
ffjeld at common-lisp.net
Sun Feb 11 21:57:14 UTC 2007
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory clnet:/tmp/cvs-serv20872
Modified Files:
format.lisp
Log Message:
Fix format for "~@{ .. ~^ .. ~}" which used to be flawed.
--- /project/movitz/cvsroot/movitz/losp/muerte/format.lisp 2006/11/07 12:16:59 1.14
+++ /project/movitz/cvsroot/movitz/losp/muerte/format.lisp 2007/02/11 21:57:14 1.15
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Sat Mar 23 01:18:36 2002
;;;;
-;;;; $Id: format.lisp,v 1.14 2006/11/07 12:16:59 ffjeld Exp $
+;;;; $Id: format.lisp,v 1.15 2007/02/11 21:57:14 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -284,17 +284,19 @@
(setf args loop-args))
skip-iteration))
(at-sign-p
- (if (or (zerop loop-limit)
- (null args))
- (setf i (skip-iteration control-string (1+ i)))
- (multiple-value-setq (i args)
- (format-by-string control-string (1+ i) (1- loop-limit) args))))
+ (unless (or (zerop loop-limit)
+ (null args))
+ (setf args (nth-value 1 (format-by-string control-string (1+ i)
+ (1- loop-limit) args))))
+ (setf i (skip-iteration control-string (1+ i))))
(t (let ((loop-args (pop args)))
(unless (or (zerop loop-limit) (null loop-args))
(format-by-string control-string (1+ i)
(1- loop-limit) loop-args))
(setf i (skip-iteration control-string (1+ i)))))))))
- (#\} (if (and args (or (not loop-limit) (not (zerop loop-limit))))
+ (#\} (if (and args
+ (or (not loop-limit)
+ (not (zerop loop-limit))))
(setf loop-limit (and loop-limit (1- loop-limit))
i (1- start))
(go end-loop)))
More information about the Movitz-cvs
mailing list