Path: utzoo!utgpu!watmath!clyde!ima!think!barmar From: barmar@think.COM (Barry Margolin) Newsgroups: comp.lang.lisp Subject: Re: unread'ing Message-ID: <35330@think.UUCP> Date: 11 Jan 89 09:58:43 GMT References: <1302@arctic.nprdc.arpa> Sender: news@think.UUCP Reply-To: barmar@kulla.think.com.UUCP (Barry Margolin) Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 19 Common Lisp does not require an implementation to complain if you try to do more than one unread in a row (CLtL doesn't say that doing so "signals an error"). It merely specifies that no implementation is required to allow more than one. In other words, every implementation must allow at last one unread-char in a row. So, all the implementations you described conform to the spec. In some implementations, the actual number of characters that may be unread may depend on the stream. For instance, a file stream may allow unreading all the way back to the beginning of the file, because it simply reposition's the file offset, but a terminal stream might require the Lisp implementation to do its own buffering and it could chose to maintain only a single character buffer. Barry Margolin Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar