Если вам это действительно нужно, и неудобно извлекать общие вещи в другую функцию, вы можете использовать такой макрос (непроверенный, Common Lisp):
(defmacro cond-any (clauses)
(let ((any-clause (gensym "any")))
`(let ((,any-clause nil))
(cond ,@(mapcar (lambda (clause)
(if (eq (first clause) :any-after)
(setf any-clause (rest clause))
(append clause any-clause)))
clauses)))))
Это дает вам возможностьчтобы сделать это:
(cond-any (:any-after do-always)
(cond1 do-1)
(cond2 do-2))
Ключевое слово :any-after
затем означает «если какое-либо из следующих условий выполнено, добавьте это после его части».