Hi!
According to the dictionary entry of RESTART-CASE, the :INTERACTIVE
argument is used by INVOKE-RESTART-INTERACTIVELY which uses
*QUERY-IO*. The example function READ-NEW-VALUE below, however, uses
(format t ...) and (read). Does this mean that
a) the example should better use (format *query-io* ...) and
(read *query-io*)
or
b) INVOKE-RESTART-INTERACTIVELY will bind *STANDARD-INPUT* and
*STANDARD-OUTPUT* to *QUERY-IO*
or
c) all of the above
?
Regards,
--
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."
PGP key ID 0x0655CFA0
In article <··············@cartan.de>, Nils Goesche <······@cartan.de> wrote:
>According to the dictionary entry of RESTART-CASE, the :INTERACTIVE
>argument is used by INVOKE-RESTART-INTERACTIVELY which uses
>*QUERY-IO*. The example function READ-NEW-VALUE below, however, uses
>(format t ...) and (read). Does this mean that
The original Conditions paper, as reproduced in CLTL2, said "may interact
with the user on the stream in *QUERY-IO*." It seemed more like a
recommendation to the programmer, not a hard requirement, and I don't think
it implies anything regarding the implementation. I think the expectation
was that other streams might be in unusual states (perhaps *STANDARD-INPUT*
is bound to a file stream), so *QUERY-IO* is the safest stream to use.
--
Barry Margolin, ··············@level3.com
Genuity Managed Services, a Level(3) Company, Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.