From 7b578f430fc8ae109f4e98917d2fc4614c02faff Mon Sep 17 00:00:00 2001 From: tailor Date: Sat, 20 Sep 2008 20:34:46 +0200 Subject: [PATCH] restart-case more elaborate --- TODO | 2 +- clqr-clos.tex | 4 +--- clqr-conditions-and-errors.tex | 26 +++++++++++++++++--------- clqr.tex | 10 +++++----- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/TODO b/TODO index 4f1723a..6737034 100644 --- a/TODO +++ b/TODO @@ -8,7 +8,7 @@ - multiple return values mentioned and usage of the three \retvals -- setfiability +- setfability - defaults diff --git a/clqr-clos.tex b/clqr-clos.tex index 41faaa0..0cf0bbe 100644 --- a/clqr-clos.tex +++ b/clqr-clos.tex @@ -351,9 +351,7 @@ evaluate most specific \kwd{:around} method supplying the values of the generic function. From within this method, \FU{call-next-method} can call less specific \kwd{:around} methods if there are any. If - not, or if there are no \kwd{:around} methods at all, %FIXME:Value - %of generic function from :around or - %from combined primary method? + not, or if there are no \kwd{:around} methods at all, have generic function applied to \OPn{\VAR{gen-arg}} return with the values of (\VAR{c-type} \Goos{\VAR{primary-method} \OPn{\VAR{gen-arg}}}), leftmost \VAR{primary-method} being the most diff --git a/clqr-conditions-and-errors.tex b/clqr-conditions-and-errors.tex index 37036ad..4c14f2b 100644 --- a/clqr-conditions-and-errors.tex +++ b/clqr-conditions-and-errors.tex @@ -138,17 +138,25 @@ and \retvalii{\T}. } - \IT{(\MC*{RESTART-CASE} \VAR{test} \OPn{(\VAR{foo} %FIXME:AUGMENT + \IT{(\MC*{RESTART-CASE} \VAR{form} \OPn{(\VAR{foo} (\OPn{\VAR{ord-$\lambda$}}) - \orGOO{\kwd{:interactive} - \VAR{ form}\\ - \kwd{:report} \VAR{ form}\\ - \kwd{:test} \VAR{ form}}{\}} \OPn{(\kwd{declare} \OPn{\NEV{\VAR{decl}}})} - \PROGN{\VAR{form}})})} + \orGOO{\kwd{:interactive} \VAR{ arg-function}\\ + \kwd{:report } \xorGOO{% + \VAR{report-function}\\ + \VAR{string}\DF{\LIT{"}\VAR{foo}\LIT{"}}}{.}\\ + \kwd{:test} \VAR{ test-function}\DF{\T}}{\}} + \OPn{(\kwd{declare} \OPn{\NEV{\VAR{decl}}})} + \PROGN{\VAR{restart-form}})})} { - Evaluate \VAR{test} with new restarts \VAR{foo}. Return - \retval{values of \VAR{test}} or, if any of the restarts is invoked, - return \retval{values of \VAR{form}s}. + Evaluate \VAR{form} with new restarts \VAR{foo}. Return + \retval{values of \VAR{form}} or, if by (\kwd{invoke-restarts} + \VAR{foo} \OPn{\VAR{arg}}) one restart \VAR{foo} is called, use + \VAR{string} or \VAR{report-function} (of a stream) to print a + description of restart \VAR{foo} and + return the \retval{values of its \VAR{restart-form}s}. + \VAR{arg-function} supplies appropriate \VAR{arg}s if \VAR{foo} is + called by \kwd{invoke-restart-interactively}. If (\VAR{test-function} \VAR{condition}) + returns \NIL, \VAR{foo} is to be visible under \VAR{condition}. For (\OPn{\VAR{ord-$\lambda$}}) see p.\ \pageref{section:Functions}. } diff --git a/clqr.tex b/clqr.tex index 527eb1f..922259e 100644 --- a/clqr.tex +++ b/clqr.tex @@ -483,11 +483,11 @@ \input{clqr-control-structure} \input{clqr-clos} \input{clqr-conditions-and-errors} -\input{clqr-input-output} -\input{clqr-types-and-classes} -\input{clqr-packages-and-symbols} -\input{clqr-compiler} -\input{clqr-external-environment} +%\input{clqr-input-output} +%\input{clqr-types-and-classes} +%\input{clqr-packages-and-symbols} +%\input{clqr-compiler} +%\input{clqr-external-environment} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- 2.11.4.GIT