[armedbear-cvs] r13596 - trunk/abcl/src/org/armedbear/lisp
ehuelsmann at common-lisp.net
ehuelsmann at common-lisp.net
Sat Sep 17 20:36:42 UTC 2011
Author: ehuelsmann
Date: Sat Sep 17 13:36:41 2011
New Revision: 13596
Log:
When an error function is passed into PARSE-DEFMACRO-LAMBDA-LIST,
call it (at run time) instead of always calling ERROR. (To be used
in my next commit.)
Modified:
trunk/abcl/src/org/armedbear/lisp/destructuring-bind.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/destructuring-bind.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/destructuring-bind.lisp Sat Sep 17 13:05:11 2011 (r13595)
+++ trunk/abcl/src/org/armedbear/lisp/destructuring-bind.lisp Sat Sep 17 13:36:41 2011 (r13596)
@@ -304,14 +304,16 @@
(push `(multiple-value-bind (,problem ,info)
(verify-keywords ,rest-name ',keys ',allow-other-keys-p)
(when ,problem
-;; (,error-fun
-;; 'defmacro-lambda-list-broken-key-list-error
-;; :kind ',error-kind
-;; ,@(when name `(:name ',name))
-;; :problem ,problem
-;; :info ,info)
- (error 'program-error "Unrecognized keyword argument ~S" (car ,info)))
- )
+ ,(if (eq error-fun 'error)
+ `(error 'program-error
+ "Unrecognized keyword argument ~S"
+ (car ,info))
+ `(,error-fun
+ 'defmacro-lambda-list-broken-key-list-error
+ :kind ',error-kind
+ ,@(when name `(:name ',name))
+ :problem ,problem
+ :info ,info))))
*arg-tests*)))
(values env-arg-used minimum (if (null restp) maximum nil))))
More information about the armedbear-cvs
mailing list