4.3.1 Dynamic Bindings

The standard let form binds variables whose names are known at compile-time. The cl-progv form provides an easy way to bind variables whose names are computed at run-time.

Macro: cl-progv symbols values forms…

This form establishes let-style variable bindings on a set of variables computed at run-time. The expressions symbols and values are evaluated, and must return lists of symbols and values, respectively. The symbols are bound to the corresponding values for the duration of the body forms. If values is shorter than symbols, the last few symbols are bound to nil. If symbols is shorter than values, the excess values are ignored.