[comp.lang.eiffel] Errata for EIFFEL: THE ENVIROMENT, Version 2.3

roxier@eiffel.UUCP (Roxie Rochat) (03/15/91)

Revisions are being made to the Oct. 31 version of the 2.3 Environment Manual, 
many of which are concerned with fonts and other comparatively innocous errors. 
You may, however, wish to make note of the following:

p. viii All page numbers for Appendix A should be incremented by 1.

p. 22  remove "inherit STD_FILES" in the box

p. 31  The first paragraph should begin
   "Both es and ec will automatically trigger ..."

p. 34  second command in the box should be
            chmod go-w *.E

p. 34 (last paragraph before 4.12) and p. 111 (3rd paragraph from the
   bottom) both say that the installation procedure applies option 3.
   It doesn't.

p. 36 second box contains the "-fpcc-struct-return" flag for gcc because
   it proved useful in the past under certain conditions.  Some users 
   have reported that this generated errors.  If it does, leave it out.  

p. 51 The marginal note should contain a forward pointer to Section 12.7 
   "Manipulating Eiffel objects from C" instead.  (The one that's listed no
   longer exists; we should have had preconditions on for the manual to 
	detect void references.)

p. 61, second paragraph
   substitute "ancestors" for "ancestor"

p. 87, Section 11.3, first paragraph, second sentence 
   Substitute the word "reachable" for "any."

p. 91, last sentence should be (CHANGES ARE IN ALL CAPS)
   "Thus if assertion checking is DISABLED when an archive is built,
   no assertions will be checked FOR objects in this archive,
   no matter what assertion checking OPTION WAS enabled for other
   parts of the application."

p. 94, last part of 12.3 should read
   "For example, if getchar is defined as a macro in your system SUCH
   AS 
      #define getchar()    getc(stdin)
   THE FOLLOWING EIFFEL DECLARATION
      ... 
   will generate a syntax error DURING THE C COMPILATION PHASE."

p. 99 first marginal note should reference eif_rout, not eif_create

p. 105, next to last sentence:
   "... make the class a DIRECT descendant ..."

p. 113 add the following new section after 14.9:

   "Alternate versions of library classes"

   The automatic compilation management system used by es stores the
   complete pathname of all parents and suppliers for each class.  If a
   user copies a library class to a private directory but uses any of its
   descendents or clients from the standard library, these library
   versions will be recompiled and the full path name of the copy stored
   in its lists of descendents and suppliers.  When another user compiles
   an application that uses the library version of the original class,
   another recompilation will be undertaken to restore the original
   structure.  Seemingly infinite compiles can result.

   The solution is to copy not only the class of interest, but also all of
   its descendents and clients.  The easiest way to do this is often to
   copy entire library clusters.  If you copy the Kernel Library cluster,
   you must add a KERNEL entry to your SDF to specify the location of the
   new kernel classes:

      KERNEL: /usr/bjw/Eiffel/alt_kernel

p. 115 Add the following to 15.2:
   Maximum size of a STRING or ARRAY instance: 1048575 words 

p. 129 last sentence for the ec -go option should read
   "This is the default UNLESS AN SDF HAS THE C_PACKAGE OPTION ENABLED."

p. 147 good man page
   The -big_font option should have an underscore instead of a hyphen.
=============

Many thanks to all our users who brought these problems to our attention.
If you have other comments or questions about the manual, please respond 
to eiffel@eiffel.com, NOT TO THE SENDER of this article.

Roxie Rochat
Interactive Software Engineering

Sales/delivery/maintenance inquiries to: queries@eiffel.com
Technical inquiries to: eiffel@eiffel.com
(805) 685-1006