Executes in sequence the actions on a given list.
lispworks
execute-actions (name-or-list &rest keyword-value-pairs) &rest other-args
name-or-list⇩ |
An action list. |
keyword-value-pairs⇩ |
A plist. |
other-args⇩ |
A list. |
The macro execute-actions
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 keyword-value-pairs, thus:
:ignore-errors-p
is non-nil, any otherwise-unhandled errors signaled 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.: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. |
LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:41