* ···········@cctrading.com
| (defun zz (&key (ar1 ..) (ar2 ..) (ar3 ..)) ...)
| (defun xx (&key (ar1 nil ar1p) (ar2 nil ar1p) (ar3 nil ar3p))
| (apply #'zz (nconc (if ar1p (list :ar1 ar1)) (if ar2p (list :ar2 ar2))
| (if ar3p (list :ar3 ar3)))))
|
| Of course, this is suitable only is xx is not called too often - because
| of the extra consing. Or maybe not? You have to cons up the list of args
| for zz anyway, right?
this looks like a case for
(defun xx (&rest args &key ...)
(apply #'zz args))
if you don't need access to the actual arguments, you don't even need to
specify keyword arguments in xx. keywords arguments aren't processed at
all if there is no &key in the lambda list.
#\Erik
--
if you think this year is "97", _you_ are not "year 2000 compliant".
see http://www.naggum.no/emacs/ for Emacs-20-related material.