with-feature-changes [Macro]


Purpose

The with-feature-changes macro sets or unsets specified Loom features, executes a body of code, and then resets all features to their original values.

Syntax

with-feature-changes (&key set unset) &body body

Arguments

The set argument is a Loom feature, or a list of Loom features, to be temporarily set. The following features are available:

The unset argument is a Loom feature, or a list of Loom features, to be temporarily unset. Available features are listed above.

The body argument is one or more Lisp forms to be executed with the indicated feature settings.

Value

The with-feature-changes macro returns the value of the last form in body.

Remarks

The :open-world and :closed-world features cannot be temporarily set or unset.

Examples

(with-feature-changes (:set :ask-for-concept-names 
                       :unset '(:emit-match-stars :display-match-changes)) 
    (do-this)   
    (do-that))

See Also

Last modified: Jun 1 1995