User Tools


====== Macro WITH-CONDITION-RESTARTS ====== ====Syntax==== * **with-condition-restarts** //condition-form restarts-form form''*''// → //result}''*''// ====Arguments and Values==== * //condition-form// - a //[[CL:Glossary:form]]//; //[[CL:Glossary:evaluate|evaluated]]// to produce a //condition//. * //condition// - a //[[CL:Glossary:condition]]// //[[CL:Glossary:object]]// resulting from the //[[CL:Glossary:evaluation]]// of //condition-form//. * //restart-form// - a //[[CL:Glossary:form]]//; //[[CL:Glossary:evaluate|evaluated]]// to produce a //restart-list//. * //restart-list// - a //[[CL:Glossary:list]]// of //[[CL:Glossary:restart]]// //[[CL:Glossary:object|objects]]// resulting from the //[[CL:Glossary:evaluation]]// of //restart-form//. * //forms// - an //[[CL:Glossary:implicit progn]]//; evaluated.. * //results// - the //[[CL:Glossary:values]]// returned by //forms//. ====Description==== First, the //condition-form// and //restarts-form// are //[[CL:Glossary:evaluate|evaluated]]// in normal left-to-right order; the //[[CL:Glossary:primary value|primary values]]// yielded by these //[[CL:Glossary:evaluation|evaluations]]// are respectively called the //condition// and the //restart-list//. Next, the //forms// are //[[CL:Glossary:evaluate|evaluated]]// in a //[[CL:Glossary:dynamic environment]]// in which each //[[CL:Glossary:restart]]// in //restart-list// is associated with the //condition//. see section {\secref\AssocRestartWithCond}. ====Examples==== None. ====Side Effects==== None. ====Affected By==== None. ====Exceptional Situations==== None. ====See Also==== **[[CL:Macros:restart-case|Macro RESTART-CASE]]** ====Notes==== Usually this //[[CL:Glossary:macro]]// is not used explicitly in code, since **[[CL:Macros:restart-case]]** handles most of the common cases in a way that is syntactically more concise. \issue{CONDITION-RESTARTS:PERMIT-ASSOCIATION}