Subject: Re: Variable as first argument in format. From: Erik Naggum <erik@naggum.net> Date: Sat, 25 May 2002 16:38:56 GMT Newsgroups: comp.lang.lisp Message-ID: <3231333527541173@naggum.net> * Erik Naggum > t is a designator for a stream so you do not have to write > *standard-output* out in full. * "Paul F. Dietz" <dietz@dls.net> | Does the output stream designator T refer to *terminal-io*? Note that it is not an output stream designator. (The standard says "nil, t, a stream, or a string with a fill pointer".) t designates just what I said, *standard-output*. | The documentation in the CLHS for FORMAT is unclear, I disagree, but it seems that you bring with you assumptions from prior successes in reading of the standard. This should not be discouraged outright, but watching for clues that you must look closer is just as important. Note that the Affected-by list for format does not include *terminal-io*, but does include *standard-output*. This should be the all-important clue. It may have been useful if the standard said so in the entry on format itself, but since format is covered elsewhere, the no-redundancy rule excludes redundant and superfluous repetition of previously stated requirements. It does say "See section 22.3 on Formatted Output", however. (In case that is too hard, the pertinent sentence is: "If destination is t, the output is sent to standard output.") | but for functions like WRITE this is the case. For functions that accept an output stream designator (look it up) in their specification, it is quite trut that nil means *standard-output*, and t means *terminal-io*, but again, please note that format does not use an output stream designator and that nil has a _very_ different meaning than it has for write. -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief. 70 percent of American adults do not understand the scientific process.