Next Prev Up Top Contents Index

execute-actions

Macro
Summary

Executes in sequence the actions on a given list.

Package

lispworks

Signature

execute-actions name-or-list &rest keyword-value-pairs &rest other-args =>

Arguments

name-or-list

An action list

keyword-value-pairs

See description.

other-args

A list.

Description

The execute-actions macro executes, in sequence, the actions on the specified list. If the action-list specified by name-or-list does not exist, then this is handled according to the value of *handle-missing-action-list*. Note that name-or-list is evaluated.

If a user-defined execution function was specified when the action list was defined, then it should accept the following arguments:

( action-list other-args &rest keyword-value-pairs )

Note that other-args is passed as a single list.

If a user-defined execution function was not specified when the action list was defined, then the following default mapping occurs. Each action's data is invoked via apply on other-args:

( apply data other-args )

This behavior is modified by the keyword-value-pairs, thus:

If the keyword parameter :ignore-errors-p is non- nil , any otherwise-unhandled errors signalled inside the execution of that function will be trapped, and a warning issued. Execution continues with the next action-item. If :ignore-errors-p is nil (or not specified), then the error is not trapped.

If the keyword parameter :post-process is non- nil , the first value returned by each action is handled, according to :post-process , thus:

:collect

collect values into list

:and

return t only if all values are t . Return nil immediately if any value is nil

:or

return first non- nil value

See also

define-action
with-action-list-mapping


LispWorks Reference Manual - 13 Jun 2003

Next Prev Up Top Contents Index