Throw away any keyword arguments and their values from a macro argument list.
(throw-away-keyword-parts args) is given a list of arguments that
are typically the
(throw-away-keyword-parts '(x y z :foo 3 :bar 5 blah blah blah)) --> '(x y z blah blah blah)
This function is mainly useful for writing macros that mix
Function:
(defun throw-away-keyword-parts (args) (declare (xargs :guard t)) (cond ((atom args) nil) ((keywordp (car args)) (throw-away-keyword-parts (if (consp (cdr args)) (cddr args) (er hard? 'throw-away-keyword-parts "Expected something to follow ~s0." (car args))))) (t (cons (car args) (throw-away-keyword-parts (cdr args))))))