From 8046f644ddd86c021b8a5c1ff35671c2ef84ae44 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Tue, 21 Sep 2010 09:31:15 +0200 Subject: [PATCH] LOOP REPEAT recognizes the type of the iterator variable --- src/lsp/loop2.lsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lsp/loop2.lsp b/src/lsp/loop2.lsp index 3815dada7..7ddd63341 100755 --- a/src/lsp/loop2.lsp +++ b/src/lsp/loop2.lsp @@ -1646,8 +1646,8 @@ collected result will be returned as the value of the LOOP." (defun loop-do-repeat () (loop-disallow-conditional :repeat) - (let ((form (loop-get-form)) - (type 'real)) + (let* ((form (loop-get-form)) + (type (if (fixnump form) 'fixnum 'real))) (let ((var (loop-make-variable (gensym) form type))) (push `(when (minusp (decf ,var)) (go end-loop)) *loop-before-loop*) (push `(when (minusp (decf ,var)) (go end-loop)) *loop-after-body*)