Name

ecl_bds_bind — Bind a special variable

Functions

ecl_bds_bind( cl_env_ptr cl_env, cl_object var, cl_object value);

ecl_bds_push( cl_env_ptr cl_env, cl_object var);

Description

Establishes a variable binding for the symbol var in the Common Lisp environment env, assigning it value.

This macro or function is the equivalent of LET* and LET.

ecl_bds_push does a similar thing, but reuses the old value of the same variable. It is thus the equivalent of (LET ((VAR VAR)) ...)

Every variable binding must undone when no longer needed. It is best practice to match each call to ecl_bds_bind by another call to ecl_bds_unwind in the same function.