[armedbear-cvs] r14045 - trunk/abcl/src/org/armedbear/lisp

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Fri Aug 3 11:53:35 UTC 2012


Author: ehuelsmann
Date: Fri Aug  3 04:53:33 2012
New Revision: 14045

Log:
Fix CLOS::EXTRACT-REQUIRED-PART when there is no required part;
e.g. (&key some-key) only.

Modified:
   trunk/abcl/src/org/armedbear/lisp/clos.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/clos.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/clos.lisp	Thu Aug  2 23:29:01 2012	(r14044)
+++ trunk/abcl/src/org/armedbear/lisp/clos.lisp	Fri Aug  3 04:53:33 2012	(r14045)
@@ -1113,9 +1113,13 @@
                (if (eq (first lambda-list) key)
                    (cddr lambda-list)
                    lambda-list)))
-    (ldiff (skip '&environment (skip '&whole lambda-list))
-           (member-if #'(lambda (it) (member it lambda-list-keywords))
-                      lambda-list))))
+    (let* ((trimmed-lambda-list
+            (skip '&environment (skip '&whole lambda-list)))
+           (after-required-lambda-list
+            (member-if #'(lambda (it) (member it lambda-list-keywords))
+                       trimmed-lambda-list)))
+      (when after-required-lambda-list
+        (ldiff trimmed-lambda-list after-required-lambda-list)))))
 
 (defun extract-specified-part (key lambda-list)
   (case key




More information about the armedbear-cvs mailing list