Attached is the macro `cl-once-only*', which takes a symbol which is bound to a list of form (such as those contained in a `&rest args' in `defmacro') and binds that variable to a list of symbols where each symbol is bound to the result of evaluating (in order) the corresponding form. The docstring provides an example which might illustrate what it does better then I did here. I don't expect this to be used too often but it could be somewhat handy in macros with a `&rest args' which are supposed to be evaluated. (My motivation for this is to use this macro in another patch which I didn't want to make longer with out-of-scope additions. If this is considered not worth polluting the `cl-' namespace over I can just write the forms by hand so it's fine either way.)