![[LISPWORKS]](/image.pl?url=http%3a%2f%2fwww.lispworks.com%2fdocumentation%2fHyperSpec%2fBody%2f..%2fGraphics%2fLWSmall.gif&f=jpg&w=240)
![[Common Lisp HyperSpec (TM)]](/image.pl?url=http%3a%2f%2fwww.lispworks.com%2fdocumentation%2fHyperSpec%2fBody%2f..%2fGraphics%2fCLHS_Sm.gif&f=jpg&w=240)
Syntax:
multiple-value-prog1first-formform* =>first-form-results
Arguments and Values:
first-form---aform; evaluated as described below.
form---aform; evaluated as described below.
first-form-results---thevalues resulting from theevaluation offirst-form.
Description:
multiple-value-prog1 evaluatesfirst-form and saves all the values produced by thatform. It then evaluates eachform from left to right, discarding their values.
Examples:
(setq temp '(1 2 3)) => (1 2 3) (multiple-value-prog1 (values-list temp) (setq temp nil) (values-list temp)) => 1, 2, 3
Side Effects: None.
Affected By: None.
Exceptional Situations: None.
See Also:
Notes: None.