[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Comments on changes in Mary Poppins edition
- To: Common-Lisp@SU-AI.ARPA
- Subject: Comments on changes in Mary Poppins edition
- From: "David A. Moon" <Moon%SCRC-TENEX@MIT-MC.ARPA>
- Date: Sat, 10 Dec 83 00:18 EST
If we agree that the following are mistakes in the manual they should
go into an errata file to be distributed to readers of the book.
p.245: I don't like the specification that VECTOR-PUSH-EXTEND returns
NIL if given a non-adjustable array whose fill-pointer is equal to its
length. I think it would be more tasteful to say that this signals an
error, or at least that it is an error.
I don't think user programs should have to check the value returned by
VECTOR-PUSH-EXTEND to make sure that it worked.
p.270: It says that if a form typed at top-level returns no values,
* is set to NIL and the *,**,*** and /,//,/// histories are updated.
The last mail I have about this says that the history variables would
be unchanged in this case:
Date: 2 Sep 83 0047 EDT (Friday)
From: Guy.Steele@CMU-CS-A
[Comments by GLS are in square brackets.]
p. 257 (second and fourth paragraphs, and parentheses in the first paragraph):
We agreed to change the rules for * to be consistent with what was printed,
rather than aligned with +, but the manual wasn't updated.
[I remember what was agreed to. + is as before. *, **, *** are updated
every time a result is printed, whether it is the only result or one of
-> several. If an evaluation produces zero values, then * does not change.
/, //, /// are updated when the results of an evaluation are printed,
however many (possibly zero) there are; if the computation is aborted,
/ is not updated.]
Maybe we later agreed to change the no-values case and I just forgot
and didn't save that mail.
p.289: A consequence of the description of how #+ and #- interact with
*read-suppress* is that "#+foo #+bar 1 #-bar 2" is not consistently
skipped if "foo" is false; it reads as the number "2" if "foo" and "bar"
are both false. I think it should always read as nothing.
I think the last bulleted paragraph on page 289 should simply be
deleted; #+ and #- while in *read-suppress* mode behave normally, except
of course they do not turn -off- *read-suppress* mode.
p.310: The example of the ' macro character should be supplying
T as the second argument to READ (eof-error-p).
p.335: There's part of some other document on this page.
p.341: The host argument to parse-namestring would almost never be used
(normally the host would come from the defaults), so it would have been
better to make this argument a keyword argument rather than an optional
argument. Probably it would have been more consistent to make both
optional arguments into keyword arguments. Is it too late?
p.343: The bottom paragraph didn't get updated for the loosening up of
structured pathname components.
p.344: In the explanation of the meaning of ENOUGH-NAMESTRING, I believe
that <defaults> should be supplied in the call to PARSE-NAMESTRING.
Otherwise PARSE-NAMESTRING might parse the string relative to the host of
*DEFAULT-PATHNAME-DEFAULTS*, which could be the wrong host; this means
that ENOUGH-NAMESTRING would be required always to include a host in its
output, which is probably not what you intended.