From: Daniel Gackle Date: Wed, 5 Aug 2009 23:51:32 +0000 (-0600) Subject: Made the COUNT clause in PS LOOP evaluate its term before counting (and skip nil) X-Git-Url: http://git.hcoop.net/clinton/parenscript.git/commitdiff_plain/614df9005025355d7d4129b3ef593d75cf2452f3?pf=clinton Made the COUNT clause in PS LOOP evaluate its term before counting (and skip nil) like CL does. --- diff --git a/src/lib/ps-loop.lisp b/src/lib/ps-loop.lisp index 38ea78c..2dd5ef7 100644 --- a/src/lib/ps-loop.lisp +++ b/src/lib/ps-loop.lisp @@ -80,7 +80,7 @@ (pushnew `(var ,var ,initial) prologue :key #'second)) (case kind (:sum `(incf ,var ,term)) - (:count `(incf ,var)) + (:count `(unless (null ,term) (incf ,var))) (:minimize `(setf ,var (if (null ,var) ,term (min ,var ,term)))) (:maximize `(setf ,var (if (null ,var) ,term (max ,var ,term)))) (:collect `((@ ,var :push) ,term))))