From 614df9005025355d7d4129b3ef593d75cf2452f3 Mon Sep 17 00:00:00 2001 From: Daniel Gackle Date: Wed, 5 Aug 2009 17:51:32 -0600 Subject: [PATCH] Made the COUNT clause in PS LOOP evaluate its term before counting (and skip nil) like CL does. --- src/lib/ps-loop.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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)))) -- 2.20.1