Next: multiple-value-setq, Previous: multiple-value-list, Up: Data and Control Flow Dictionary
multiple-value-prog
1 ⇒ first-form {form}*
first-form-results
first-form—a form; evaluated as described below.
form—a form; evaluated as described below.
first-form-results—the values resulting from the evaluation of first-form.
multiple-value-prog1 evaluates first-form and saves all the values produced by that form. It then evaluates each form from left to right, discarding their values.
(setq temp '(1 2 3)) ⇒ (1 2 3) (multiple-value-prog1 (values-list temp) (setq temp nil) (values-list temp)) ⇒ 1, 2, 3