From e72eb7be8d8e1a0dfc7fe3ca1c46256a0cee8262 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Tue, 11 Dec 1990 15:55:13 +0000
Subject: [PATCH] Fixed loops to actually iterate over the elements of the
 keyword list instead of repetativly over the first element.

---
 code/defmacro.lisp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/code/defmacro.lisp b/code/defmacro.lisp
index 31104a474..848d5b47b 100644
--- a/code/defmacro.lisp
+++ b/code/defmacro.lisp
@@ -309,7 +309,7 @@
 (defun verify-keywords (key-list valid-keys allow-other-keys)
   (do ((already-processed nil)
        (unknown-keyword nil)
-       (remaining key-list (cddr key-list)))
+       (remaining key-list (cddr remaining)))
       ((null remaining)
        (if (and unknown-keyword
 		(not allow-other-keys)
@@ -329,13 +329,13 @@
 	   (setf unknown-keyword (car remaining))))))
 
 (defun lookup-keyword (keyword key-list)
-  (do ((remaining key-list (cddr key-list)))
+  (do ((remaining key-list (cddr remaining)))
       ((endp remaining))
     (when (eq keyword (car key-list))
       (return (cadr key-list)))))
 
 (defun keyword-supplied-p (keyword key-list)
-  (do ((remaining key-list (cddr key-list)))
+  (do ((remaining key-list (cddr remaining)))
       ((endp remaining))
     (when (eq keyword (car key-list))
       (return (cadr key-list)))))
-- 
GitLab