From: Nils Goesche
Subject: Restarts and *QUERY-IO*
Date: 
Message-ID: <lysmsizg0n.fsf@cartan.de>
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
From: Barry Margolin
Subject: Re: Restarts and *QUERY-IO*
Date: 
Message-ID: <8Hdna.7$fZ4.167@paloalto-snr1.gtei.net>
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.