#

Special Operator MULTIPLE-VALUE-PROG1

Syntax:

multiple-value-prog1 first-form form* => first-form-results

Arguments and Values:

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.

Description:

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.

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:

prog1

Notes: None.

Copyright 1996-2005, LispWorks Ltd. All rights reserved.