home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / GCC / GERLIB_DEV08B.LHA / gerlib / libg++ / iostream / ChangeLog < prev    next >
Encoding:
Text File  |  1993-12-12  |  39.8 KB  |  947 lines

  1. Tue Jun 29 13:00:52 1993  Per Bothner  (bothner@rtl.cygnus.com)
  2.  
  3.     * sbufvscan.C:  Add (unsigned char) casts as needed.
  4.  
  5. Thu Jun 24 12:41:17 1993  Per Bothner  (bothner@rtl.cygnus.com)
  6.  
  7.     * Makefile.in (VERSION):  Increase to 0.92.
  8.     * filebuf.C (filebuf::sync):  Adjust _offset and egptr() after
  9.     seek.  Patch from mclaugh@tnt.acsys.com (Mark A. McLaughlin).
  10.  
  11. Wed Jun 23 17:39:07 1993  Jeffrey Osier  (jeffrey@deneb.cygnus.com)
  12.  
  13.     * iostream.texi: reverted change 'cause it broke makeinfo
  14.  
  15. Wed Jun 23 16:42:43 1993  Per Bothner  (bothner@rtl.cygnus.com)
  16.  
  17.     Change to remove warnings when user programs are compiled
  18.     with -Wcast-qual.
  19.     * strstream.h (strstreambuf::init_const):  Remove.
  20.     * strstream.{h,C} (strstreambuf::init_static (const char *, int):
  21.     New method.
  22.     * streambuf.h (streambuf::streambuf(const [[un]signed] char *):
  23.     Use above new method.
  24.  
  25. Wed Jun 16 16:22:23 1993  Jeffrey Osier  (jeffrey@cygnus.com)
  26.  
  27.     * iostream.texi: fixed @deftypefn bug that was preventing format
  28.  
  29. Thu Jun  3 00:54:39 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
  30.  
  31.     * iostream.texi: update INFO-DIR-ENTRY
  32.  
  33. Tue Jun  1 16:28:04 1993  Per Bothner  (bothner@rtl.cygnus.com)
  34.  
  35.     * streambuf.h (ios::dont_close):  Redefine to avoid overflow warnings.
  36.     * streambuf.h (ios::setstate):  New method (ANSI).
  37.     * streambuf.h (class ios::Init):  New nested class (ANSI).
  38.     * streambuf.h (class streambuf):  Inherit publicly from
  39.     __streambuf, not privately.  (cfront properly complains.)
  40.     * streambuf.h (streambuf::snextc):  Restructure
  41.     to avoid stupid cfront inlining warnings.
  42.     * streambuf.h (ios::exception):  Split into two (overloaded)
  43.     methods, and rename to ios::exceptions (ANSI).
  44.     * streambuf.h (__file_fields::_offset):  Change type to _G_off_t.
  45.     * outfloat.C (__outfloat):  Interpret a precision of 999
  46.     (e.g. %.999g) to mean "as many digits as are needed".
  47.     * Makefile.in (add-to-targetlib):  New rule.
  48.  
  49. Fri May 28 15:39:58 1993  Per Bothner  (bothner@rtl.cygnus.com)
  50.  
  51.     * procbuf.C:  Declare vfork.
  52.     * iostream.h (ios inline methods):  Restructure
  53.     to avoid stupid cfront warnings.
  54.     * iostream.h (istream::peek) moved to iostream.C:
  55.     Make non-inline.  Never set failbit.  Set eofbit on EOF.
  56.     * iostream.C (flush):  Just call ostream::flush,
  57.     rather than poorly-defined overflow(EOF).
  58.     * stream.h:  Define obsolete functions ::str and ::char
  59.     here, rather than in builtin.h.
  60.     * indstream.h (indirectbuf::lookup_stream):  Avoid cfront
  61.     warning about unused parameter name.
  62.  
  63. Thu May  6 16:52:08 1993  Per Bothner  (bothner@cygnus.com)
  64.  
  65.     * parsestream.h (parsebuf::seekoff):  Add argument default
  66.     (seems to be needed for cfront).
  67.     * sbufvscan.C (streambuf::vscan):  Use a new typedef (strtoulfn
  68.     for strtoul()).  This avoids a cfront bug.
  69.     * stdstreams.C:  Add support for cfront.
  70.  
  71. Tue Apr 27 20:31:18 1993  Per Bothner  (bothner@cygnus.com)
  72.  
  73.     * iomanip.h (omanip):  Fix typo (friend operator>> to <<).
  74.  
  75. Thu Apr 22 18:42:37 1993  Per Bothner  (bothner@cygnus.com)
  76.  
  77.     * editbuf.C, fstream.C, indstream.C:  Move #pragma
  78.     implementation to *before* #includes.
  79.  
  80. Tue Apr 20 19:17:55 1993  Per Bothner  (bothner@cygnus.com)
  81.  
  82.     * floatconv.c (dtoa):  Fixed memory management bug.
  83.     Also, added some comments and cleaned some things up.
  84.  
  85. Mon Apr 19 01:11:00 1993  Per Bothner  (bothner@cygnus.com)
  86.  
  87.     * Makefile.in, configure.in:  Re-vamped configure scheme.
  88.     * streambuf.C (backupbuf::pbackfail):  Handle the case
  89.     that _gptr > _eback.
  90.     * iostream.h (istream::isfx):  New (empty) method, for ANSI.
  91.     * iostream.{h,C} (ostream::operator<<(void *p)):  Change
  92.     parameter to (const void*).
  93.     * iostream.C (istream::get):  Set _gcount (as required by ANSI).
  94.     * iostream.C (istream::operator>>(char*)):  Always clear
  95.     width, even if ipfx fails.
  96.     * iostream.h (istream::peek): Don't set eofbit on EOF.    
  97.     * filebuf.C (filebuf::open):  Fix for '+'-suffixed modes.
  98.     * filebuf.C (filebuf::do_write):  Even if write fails,
  99.     update the buffer the mark the data as out-of-here.
  100.     * strstream.h (class strstreambuf):  A static stream is
  101.     always frozen, and cannot be unfrozen.
  102.     * strstream.C (strstreambuf::seekoff);  Remove dubious
  103.     assignments to _allocate_buffer and _free_buffer.
  104.     * stdstrbufs.C (vt_stdiobuf):  Fix mis-count.
  105.  
  106. Fri Apr 16 13:27:05 1993  Per Bothner  (bothner@cygnus.com)
  107.  
  108.     * floatconv.C (dtoa):  Allocate more space for result.
  109.     Seems to fix occasional memory smash.
  110.     * floatconv.C:  If __386__, assume little-endian 8087-format.
  111.     * stdiostream.C (stdiobuf::sys_write):  Fix thinko.
  112.     * stdiostream.C (stdiobuf::sync):  Don't fseek.
  113.     * sbufvscan.C (streambuf::vscan.C):  Format codes 'X',
  114.     'E' and 'F' should *not* imply long.
  115.     * igetline.C:  #include <string.h> for memcpy.
  116.  
  117. Thu Jan 21 14:45:19 1993  Per Bothner  (bothner@cygnus.com)
  118.  
  119.     * iostream.C (istream::operator>>(char*)):  Stop at
  120.     width()-1 chars, not width() (to leave room for '\0').
  121.     * iostream.C (write_int, ostream::operator<<(integral types)):
  122.     Slight change in calling convention of write_int, to make
  123.     sure we never print '+' for unsigned values.    
  124.  
  125. Tue Jan 19 11:51:01 1993  Per Bothner  (bothner@cygnus.com)
  126.  
  127.     * iomanip.h:  Minor syntax changes to enable compiling with
  128.     cfront.  From Peter.Schauer@regent.e-technik.tu-muenchen.dbp.de.
  129.  
  130. Sat Jan 16 17:27:05 1993  Per Bothner  (bothner@cygnus.com)
  131.  
  132.     * iostream.C (istream::operator>>(char*)):  Don't set
  133.     failbit is file ends in middle of non-empty string.
  134.     * iostream.C (ostream::operator<<(char)):  Follow AT&T
  135.     implementation (re use of width(), rather than their docs.
  136.     * iostream (ostream::operator<<(double)):  Fix use of
  137.     precision:  If it is 0 and not ios::fixed, use default (6).
  138.  
  139. Fri Jan 15 04:49:22 1993  Mike Stump  (mrs@cygnus.com)
  140.  
  141.     * iostream.C (ends): Give 0 a char type, so as to be unambiguous.
  142.  
  143. Tue Dec 29 08:59:29 1992  Ian Lance Taylor  (ian@cygnus.com)
  144.  
  145.     * Makefile.in: pass $(FLAGS_TO_PASS) to all calls to make.
  146.  
  147. Tue Dec 22 14:12:52 1992  Per Bothner  (bothner@rtl.cygnus.com)
  148.  
  149.     * streambuf.h: Don't define fpos_t (vulnerable to name clashes,
  150.     as well as being non-standard); just use _G_pos_t.
  151.     * streambuf.h, filebuf.C, parsestream.h, stdiostream.[hC]:
  152.     Replace fpos_t -> _G_fpos_t.
  153.     * Makefile.in (AR_FLAGS):  Use rc instead of non-standard qc.
  154.     * Makefile.in (iostream.dvi):  New rule.
  155.     * filebuf.C (filebuf::underflow):  Call switch_to_get_mode().
  156.     * stdstrbufs.C:  Change type of _std_filebuf_[123] from
  157.     _fake_filebuf[1] to plain _fake_filebuf, for compatibility
  158.     with stdio/stdio.h.
  159.  
  160. Sun Dec 20 14:05:37 1992  Per Bothner  (bothner@cygnus.com)
  161.  
  162.     * outfloat.C (__outfloat):  Handle cases like 10.0 correctly.
  163.     (Fix from H.J. Lu.)
  164.  
  165. Wed Dec  9 14:48:38 1992  Per Bothner  (bothner@cygnus.com)
  166.  
  167.     * streambuf.h:  #undef open and close, in case some header
  168.     file defines these as macros.
  169.  
  170. Thu Dec  3 19:40:07 1992  Per Bothner  (bothner@cygnus.com)
  171.  
  172.     * Makefile.in (distclean, realclean): Don't delete
  173.     Makefile until *after* recursing.
  174.  
  175. Mon Nov 23 14:05:47 1992  Per Bothner  (bothner at cygnus.com)
  176.  
  177.     * filebuf.C (filebuf::open):  Fix typo ios::app -> ios::out.
  178.  
  179. Tue Nov 17 21:52:55 1992  Per Bothner  (bothner@rtl.cygnus.com)
  180.  
  181.     * filebuf.C (filebuf::open):  ios::app implies ios::out.
  182.     * igetline.C (istream::getline, istream::get):  Slightly more
  183.     complicated to handle empty lines without setting error state.
  184.  
  185. Thu Nov  5 18:08:48 1992  Per Bothner  (bothner@rtl.cygnus.com)
  186.  
  187.     * streambuf.h:  Add _S_IS_APPENDING flag.
  188.     * filebuf.C:  Handle append mode better.  (Seek to end when
  189.     opening. File position is unpredictable before and after a write.)
  190.     * streambuf.h:  Fix semi-typo for value of ios:fixed.
  191.  
  192. Mon Nov  2 22:25:53 1992  Per Bothner  (bothner@cygnus.com)
  193.  
  194.     * strstream.h (strstream):  Fix broken default constructor.
  195.     * stdstrbufs.C:  Don't include unneeded <stdiostream.h>
  196.     (which caused mips assembler to complain about a conflict).
  197.     * stdiostream.C (stdiobuf::sync):  Don't call fflush()
  198.     on read-only files.
  199.  
  200. Sun Nov  1 14:54:26 1992  Per Bothner  (bothner@cygnus.com)
  201.  
  202.     * floatconv.C:  Renamed from dtoa.C, to avoid conflicts
  203.     with ../src/dtoa.cc.
  204.     * Makefile.in:  Update as appropriate.
  205.  
  206.     * filebuf.C, indstream.{h,C}, stdiostream.{h,C}, streambuf.{h,C}:
  207.     Rename sputn/sgetn virtual methods to xsputn/xsgetn.
  208.     Add sputn/sgetn inlined non-virtual that just call  xsputn/xsgetn.
  209.     This change is to be compatible with ANSI and AT&T.
  210.     * stdstrbufs.C:  Make sure all standard stdiobufs are unbuffered.
  211.  
  212. Wed Oct 21 17:48:03 1992  Per Bothner  (bothner at PersSony)
  213.  
  214.     * outfloat.C (__outfloat): If no error, return value is
  215.     number of characters printed.
  216.     * sbufvform.C (streambuf::vform):  Fix a number of buglets.
  217.  
  218. Tue Oct 20 15:20:17 1992  Per Bothner  (bothner@cygnus.com)
  219.  
  220.     * streambuf.h, sbufvscan.C, sbufvform.C : Add streambuf::scan
  221.     and streambuf::form.
  222.     * sbufvform.C:  Fix handling of precision for integer formats.
  223.     * iostream.texi: Document the various form & scan methods.
  224.  
  225. Fri Oct 16 15:42:15 1992  Per Bothner  (bothner@rtl.cygnus.com)
  226.  
  227.     Many changes here and there, many to bring closer to ANSI draft.
  228.  
  229.     * streambuf.h:  Fill character is now wchar_t.
  230.     Add some (unused) hooks for raising exceptions.
  231.     * sbufvscan.C (streambuf::vscan):  Set error state using an
  232.     to (ios*) parameter instead of an (ios::iostate*).
  233.     * iostream.C:  Change usages of streambuf::vscan().
  234.     * iostream.C:  Slightly changed interpretations of basefield.
  235.     * iostream.h:  Add some missing methods (signed and
  236.     unsigned char versions of put(), get(), and getline()).
  237.     * streambuf.{ch], indstream.[Ch]:  Removed ungetfail virtual,
  238.     following latest ANSI draft:  Use pbackfail virtual instead.
  239.     * filebuf.C: Moved streambuf::_un_link and streambuf::_link_in
  240.     to streambuf.C.
  241.     * filebuf.C (filebuf::attach):  Do *not* set _S_DELETE_DONT_CLOSE
  242.     flag, for compatibily with AT&T.
  243.     * filebuf.C (filebuf::seekoff):  Don't move any pointers
  244.     if mode is 0.
  245.     * fstream.h:  Add fstreambase::setbuf() and fstreambase::is_open().
  246.     * fstream.[Ch] (fstreambase::close):  Set failbit if close fails.
  247.     * fstream.C (fstreambase constructors), strstream.C (various
  248.     constructors):  Use new ios::init() method.
  249.     * fstream.C (fstreambase::open):  Do a clear() first.
  250.  
  251.     * strstream.[hC]:  Add strsteambuf constructors with (const char*)
  252.     buffer.  These call new method init_const(), which sets the
  253.     _NO_WRITE flag.  New strstreambuf::pbackfail() method fails
  254.     if _NO_WRITE flag is set.  Needed for ANSI.
  255.     * strstream.[hC]:  Add support for user-supplied allocation
  256.     and free routines (from ANSI).  (New methods init_static
  257.     and init_dynamic now used by constructors.)
  258.     * strstream.C (strstreambuf::init_static):  Try new mechanism
  259.     for when the buffer is "assumed to continue indefinitely."
  260.  
  261.     * iostream.C, stdstrbufs.C:  Remove not_open_filebuf.
  262.     * stdstrbufs.C: Rename _{cin,cout,cerr}_sbuf to
  263.     __std_filebuf_{0,1,2}.  Also define __std{in,out,err}_stdiobuf
  264.     as standard stdiobufs.  Chain all 6 standard streambufs together.
  265.     * stdstreams.C:  Use the __std{in,out,err}_stdiobuf rather
  266.     than __std_filebuf_{0,1,2} by default for {cin,cout,cerr}
  267.     - unless _STDIO_USES_IOSTREAM or USE_FILEBUF are defined.
  268.     * streambuf.h, stdstreams.C:  New function ios::sync_with_stdio
  269.     to switch between using __std_filebuf_{0,1,2} and
  270.     __std{in,out,err}_stdiobuf for standard streams.  This is
  271.     normally not needed, but is provided for AT&T compatibility.
  272.  
  273.     * iomanip.h: Rename template classes to be lower-case (following
  274.     ANSI).  Don't declare anything if _G_NO_TEMPLATES is defined in
  275.     <_G_config.h>.  Rename DEFINE_IOMANIP_FN1 -> __DEFINE_IOMANIP_FN1.
  276.  
  277.     * stdiostream.[hC]:  Re-implement:  Make stdiobuf sub-class
  278.     of filebuf, and use the virtual sys_ functions (e.g. sys_read)
  279.     to call stdio function (e.g. fread).  This simpifies stdiobuf,
  280.     and gives us filebuf features automatically.
  281.  
  282. Sun Oct 11 19:12:20 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
  283.  
  284.     * Makefile.in: make info files at 'info' time, not install-info
  285.  
  286. Thu Sep  3 16:23:00 1992  Per Bothner  (bothner@rtl.cygnus.com)
  287.  
  288.     * filebuf.C:  Remove #include of <sys/file.h>.  It is not
  289.     standard (not in Posix), and doesn't seem to be needed.
  290.  
  291. Tue Sep  1 13:10:20 1992  Per Bothner  (bothner@rtl.cygnus.com)
  292.  
  293.     * filebuf.C (filebuf::sys_write):  Set error flag appropriately.
  294.     * procbuf.C (procbuf::sys_close):  Add Posix support.
  295.     * stdstrbufs.C: Make cerr be unbuffered.
  296.     * iostream.h (ostream::opfx), streambuf.h (streambuf::sputc):
  297.     Cosmetic changes; may help cfront to inline.
  298.     * iostream.C (istream::ignore), streambuf.C (streambuf::seekmark),
  299.     strstream.C (strstreambuf::overflow, strstreambuf::seekoff),
  300.     parsestream.C (string_parsebuf::string_parsebuf), editbuf.C
  301.     (edit_streambuf::seekoff), indstream.C (indirectbuf::overflow):
  302.     Comment out default argument specifications that duplicate
  303.     earlier definitions (to placate cfront).
  304.     * streambuf.h, filebuf.C:  New static member filebuf::openprot
  305.     (Non-ANSI AT&T-ism).
  306.     * streambuf.h:  Add ios::bin enum flag, for binary I/O
  307.     on non-Unix systems.  Unused so far.
  308.  
  309. Wed Aug 12 11:43:55 1992  Per Bothner  (bothner@cygnus.com)
  310.  
  311.     * Makefile.in: 'install-info' should install iostream.info*.
  312.  
  313. Tue Aug 11 23:46:38 1992  Per Bothner  (bothner@cygnus.com)
  314.  
  315.     * Makefile.in:  Bump to VERSION 0.85.
  316.  
  317.     * iostream.[hC], fstream.[hC], strstream.[hC]:  Convert to using
  318.     multiple inheritance, with ios as a virtual base class.  I think
  319.     this is slightly more cumbersome and inefficient, but it improves
  320.     compatibility     with other implementation (such as AT&T), and
  321.     will probably be required by ANSI.  (It also allows removing some
  322.     duplicate methods.)  Also (for compatibilty), convert operator<<
  323.     and operator>> binary functions to unary methods.
  324.     * stdstreams.C:  Chaneg initialization using fake_?stream
  325.     classes to match new use of virtual base classes.
  326.     * streambuf.h:  Make ios::~ios be virtual.
  327.  
  328.     * iostream.C (ostream::operator<<(const char* S):  Allow S
  329.     to be NULL (in which case print "(null)").
  330.     * igetline.C:  Set eofbit when appropriate.
  331.     * sbufvscan .C:  Remove silly optimzation that depends on
  332.     size_t being unsigned.
  333.     * streambuf.h (ios::ios):  Set ios::dec initially.
  334.     * streambuf.h, filebuf.C:  Add filebuf::setbuf(), to make sure
  335.     that get and put areas are set up (as empty start of reserve).
  336.     * streambuf.C (streambuf::set_column):  Don't call overflow(EOF).
  337.     * filebuf.C (filebuf::sputn):  Fix/optimizatian for
  338.     line-buffered files.
  339.     * Makefile.in:  Add stdiostream.?.
  340.     Make sure 'check' makes libio.a (since 'make all' in .. does
  341.     not), since some tests in ./test assume libio.a.
  342.     * iostream.texi:  Add some notes on indirectbufs and
  343.     the new stdiobufs.
  344.     * stdiostream.[hC]:  New files.  Defines new class stdiobuf:
  345.     A streambuf that forwards all requests to a stdio (FILE*)
  346.     Concept follows AT&T man pages.
  347.     * iomanip.[hC]:  Minor improvements.
  348.  
  349. Mon Jul 27 18:24:29 1992  Per Bothner  (bothner@rtl.cygnus.com)
  350.  
  351.     * dtoa.C:  Rename strtod() -> _Xstrtod(), to avoid conflicts
  352.     with strtod() versions in shared libraries.
  353.     * ioprivate.h: #define strtod() as _Xstrtod() (for sbufvscan.C).
  354.  
  355. Wed Jul 15 21:21:38 1992  Heinrich G. Seidl  (hgs@rtl.cygnus.com)
  356.  
  357.     * iomanip.h: added parametrized manipulators.
  358.       iomanip.C: contains the functions, which are called by 
  359.       the manipulators.
  360.  
  361. Fri Jul 10 15:49:03 1992  Per Bothner  (bothner@rtl.cygnus.com)
  362.  
  363.     * filebuf.C (filebuf::sys_write):  Don't use gcc-specific
  364.     extension:  increment of a (void*) pointer.
  365.     * igetline.C (_sb_readline):  Don't drop the last character
  366.     of non-terminal chunks.
  367.     * strstream.[hC]:  Remove _size, _buffer, and _frozen fields
  368.     of a strstreambuf.  Instead, use the plethora of flags and
  369.     fields already available in streambuf (blen(), base(), and
  370.     _S_USER_BUF).  This makes things more consistent and simpler.
  371.     * streambuf.h:  Add streambuf::blen() method.
  372.     * outfloat.C (__outfloat):  Various fixes, including calculation
  373.     of trailing_zeroes and whether to print decimal point.
  374.     * iostream.C:  Various stylistic improvements to Mike's
  375.     long long support:  Avoid code duplication by always using
  376.     long long if __GNUG__ (only needed in a few places); remove
  377.     global variable 'uppercase';  use loop to extract digits,
  378.     rather than recursion; other optimization tweaks.
  379.  
  380. Thu Jul  2 13:59:55 1992  Mike Stump  (mrs at cygnus.com)
  381.  
  382.     * iostream.[Ch]: Implement << and >> for long long and
  383.     unsigned long long.
  384.  
  385. Fri Jun 26 12:10:45 1992  Per Bothner  (bothner@rtl.cygnus.com)
  386.  
  387.     * Makefile.in:  Increase to version 0.81.  Add a .NOEXPORT.
  388.     * dtoa.C:  Remove some grunge.
  389.     * iostream.h:  Add appropriate const-ness to various casts.
  390.     * sbufvform.C, sbufvscan.C:  More const-ness fixes.
  391.     * outfloat.C:  Different algorithm for formatting exponent.
  392.     * parsestream.C:  Kludge to avoid warning.
  393.     * streambuf.h:  Fix ios::operator void * to avoid
  394.     const-ness-removing cast.
  395.     * streambuf.C:  Kludge for Linux.
  396.  
  397. Mon Jun 22 14:45:58 1992  Per Bothner  (bothner@cygnus.com)
  398.  
  399.     * sbufvform.C:  If prec is -1, use DEFPREC.
  400.  
  401. Sun Jun 21 00:33:10 1992  Per Bothner  (bothner@cygnus.com)
  402.  
  403.     * streambuf.h (ios::ios):  Fix thinko.
  404.  
  405. Fri Jun 19 23:27:27 1992  Per Bothner  (bothner@cygnus.com)
  406.  
  407.     * streambuf.h, iostream.[Ch]:  Remove istream/ostream/iostream
  408.     destructors, and do the cleanup in (new) ios::~ios instead.
  409.     Make default constructor and destructors be inline.
  410.     * iostream.C, fstream.C:  No longer set ios::dont_close flag
  411.     on default constructors.  In addition to being more efficient,
  412.     this also fixes an embarassing memory leak ...
  413.     * procbuf.C:  Remove (union wait) kludge (for NeXT).
  414.  
  415. Wed Jun 17 17:05:37 1992  Per Bothner  (bothner@rtl.cygnus.com)
  416.  
  417.     * dtoa.C:  New file, derived from dtoa.h by David M. Gay
  418.     of AT&T.  This does guaranteed accurate conversion between
  419.     floating-pointer numbers and their string representations.
  420.     It exports strtod() (string->double) and dtoa (double->string).
  421.     * outfloat.C:  New file.  Exports __outfloat(), a higher-level
  422.     interface to dtoa().
  423.     * ioprivate.h:  Declare these new functions.
  424.     * sbufvscan.C:  Use new strtod() to convert floats.
  425.     * iostream.C, sbufvform.C:  Use new __outfloat function.
  426.     * editbuf.h:  Removed spurious "inline".
  427.     * procbuf.C (procbuf::sys_close):: Handle systems where
  428.     the wait() argument is (union wait*).
  429.     * streambuf.h:  Clean up confusion vbetween ios::iostate
  430.     and ios::fmtflags types.
  431.     * iostream.C:  Use ios::fmtflags type and new streambuf::padn
  432.     method as appropriate.
  433.     * streambuf.[hC]:  Add streambuf::padn() whcih emits many
  434.     copies of the same character.
  435.     * streambuf.h, sbufvscan.C(streambuf::vscan):  Extra optional
  436.     (ios::iostate*) parameter, so errors/EOF can be reported back.
  437.     * iostream.C:  Use 3rd parameter of streambuf::vform() to
  438.     have it set the error state on syntax errors or EOF.
  439.     * streambuf.h, filebuf.C:  New method filebuf::do_write
  440.     with the common functionality of do_flush and sputn.
  441.     * streambuf.C (streambuf::sputn), filebuf.C (filebuf::sputn):
  442.     Return immediately if count is not positive.
  443.     * filebuf.C:  For simplicity, always set _S_TIED_PUT_GET
  444.     for a filebuf,     not just when it is read+write.
  445.     * filebuf.C (filebuf::sys_read, filebuf::sys_write):
  446.     Restart on an EINTR.
  447.     * filebuf.C: Various fixes to handle uncommon combinations
  448.     of read, writes, and seeks.
  449.     * Makefile.in:  Add dtoa.?, outfloat.?.  Fix *clean rules.
  450.     Increase version to 0;80.
  451.     * iostream.texi:  Add some information about stdio.
  452.  
  453. Fri Jun  5 13:10:59 1992  Per Bothner  (bothner@rtl.cygnus.com)
  454.  
  455.     * iostream.h:  Made istream::_gcount and istream::gcount(),
  456.     signed (_G_ssize_t), following AT&T and ANSI.
  457.     * iostream.C:  Make istream::read() set _gcount.
  458.  
  459. Thu Jun  4 12:03:15 1992  Per Bothner  (bothner@rtl.cygnus.com)
  460.  
  461.     * streambuf:  ios::set() is a standard ANSI method (though
  462.     it is not in the AT&T libraries).
  463.  
  464. Wed Jun  3 17:08:53 1992  Per Bothner  (bothner@rtl.cygnus.com)
  465.  
  466.     * streambuf.h:  Moved ios::set to _STREAM_COMPAT section.
  467.     Added streambuf::stossc(), for AT&T compatibility.
  468.     Changed global fmtflags type to ios::fmttype.
  469.     * TODO:  Remove some things that have been done!
  470.     * README:  Re-write the notes on stdio (which were written
  471.     assuming that installing stdio was the default; that
  472.     is not the case).
  473.  
  474. Sun May 31 14:06:16 1992  Per Bothner  (bothner@rtl.cygnus.com)
  475.  
  476.     * Makefile.in:  Increase to version 0.76.
  477.     Use CFLAGS, not MINUS_G.  Add FLAGS_TO_PASS macro to be more
  478.     consistent about passing flags to sub-makes.
  479.     * filebuf.C (filebuf::open - two methods:  Set _S_TIED_PUT_GET
  480.     flag properly.
  481.     * filebuf.C:  Always switch to read mode, if tied and reading,
  482.     even if c==EOF.
  483.     * procbuf.C:  Cosmetic change.
  484.  
  485. Thu May 28 13:57:19 1992  Per Bothner  (bothner@rtl.cygnus.com)
  486.  
  487.     * iostream.C:  Don't cast to _G_va_list, since that may
  488.     not be possible.
  489.     * iostream.h (ostream::put):  Move inline definition
  490.     inside class body (avoids order-of-definition problems).
  491.     * procbuf.C (procbuf::open):  Re-set read/write flags.
  492.     * sbufvform.C (streambuf::vform), sbufvscan.C (streambuf::vscan):
  493.     Don't try to cast _G_va_list to va_list (not possible if
  494.     these are structs); just use the _G_va_list parameter as if
  495.     it were a va_list.  (This should work, according to _G_config.h).
  496.     * streambuf.h:  Define new fmtflags type (from ANSI), and use it.
  497.     * streambuf.h: #include <stdarg.h> of needed.
  498.  
  499. Thu May 14 13:13:18 1992  Per Bothner  (bothner@rtl.cygnus.com)
  500.  
  501.     * Makefile.in:  Fix handling of SUBDIRS, including passing
  502.     of working values of CC.
  503.     * makebuf.C, filebuf.C:  Use Posix macros S_ISCHR, S_ISREG.
  504.     * streambuf.h, streambuf.C:  Replace _FRIEND_BUG #ifdefby
  505.     _G_FRIEND_BUG, set in _G_config.h.
  506.     * iostream.C (write_int):  Fix thinko: && -> &.
  507.     * iostream.h, iostream.C:  Clean up handling of skipping of
  508.     initial white space by ipfx(0) (e.g. setting flags correctly).
  509.  
  510.  
  511. Sat May  9 13:51:12 1992  Per Bothner  (bothner@rtl.cygnus.com)
  512.  
  513.     * Makefile.in:  Bump version to 0.75.
  514.  
  515.     * iostream.C (ws manipulator): Set failbit on EOF.
  516.     Also, use skip_ws function.
  517.  
  518. Wed May  6 15:48:51 1992  Per Bothner  (bothner@rtl.cygnus.com)
  519.  
  520.     * streambuf.C (streambuf::setb):  Reverse test for
  521.     when to delete _base (oops).
  522.     * streambuf.C (__adjust_colummn):  Add missing const.
  523.  
  524.     * filebuf.C:  Clean up a number of minor bugs and
  525.     messy code.  This should be more consistent now.
  526.     * iostream.C (istream::ignore):  Optimize to use new
  527.     streambuf::ignore when delim==EOF.  Also, set _gcount.
  528.     * streambuf.h, streambuf.C:  New methods streambuf::ignore,
  529.     streambuf::free_backup_area, streambuf::switch_to_get_mode,
  530.     and streambuf::unsave_markers. and __adjust_column function.
  531.     Also, various tweaks and optimizations.
  532.  
  533. Sat May  2 16:37:27 1992  Per Bothner  (bothner@rtl.cygnus.com)
  534.  
  535.     * streambuf.h, streambuf.C, filebuf.C:  Get working initial
  536.     rough support for keep track of current column in output.
  537.     * streambuf.C:  New function __adjust_column() used for
  538.     the above-mentioned column support.
  539.  
  540. Fri May  1 16:57:14 1992  Per Bothner  (bothner@rtl.cygnus.com)
  541.  
  542.     * filebuf.C (filebuf::do_flush):  Set get area pointers
  543.     to base() (new pptr()), not old value of pptr().
  544.     * filebuf.C:  Consistently set _flags to _S_NO_READS+_S_NO_WRITES
  545.     when closing, and re-set old values when opening.
  546.     * streambuf.h (streambuf):  New 2-op xsetflags method with mask.
  547.     * streambuf.h (ios::is_open):  New definition:  Assume open
  548.     unless both _S_NO_READS and _S_NO_WRITES are set.
  549.     * stdstrbufs.C:  Set _S_NO_READS+_S_NO_WRITES for not_open_filebuf.
  550.  
  551. Thu Apr 30 16:50:47 1992  Per Bothner  (bothner@rtl.cygnus.com)
  552.  
  553.     * Makefile.in:  Bump to version 0.72.
  554.     * streambuf.h:  Change streamoff and streampos to be _G_off_t,
  555.     which seems to make more sense.
  556.  
  557.     * strtoul.C:  Removed.  Not needed, now that we use libiberty.
  558.     * filebuf.C:  Fix (and turn on) filebuf::sputn.
  559.     * procbuf.C:  New streambuf sub-class, provides popen/pclose
  560.     functionality for streambufs.
  561.     * Makefile.in:  Update appropriately.
  562.     * streambuf.h:  Add cast to avoid warning.
  563.     * streambuf.h, various:  Replace _S_CAN_READ _S_CAN_WRITE by
  564.     the inverses _S_NO_READS _S_NO_WRITES:  Because these flags
  565.     are not part of the standard streambuf protocol, we should
  566.     infer anything if they are not set.
  567.     * filebuf.C:  filebuf::sys_write() does multiple writes if
  568.     needed, and updates _fb._offset (that might be a mistake).
  569.     * filebuf.C:  Work-in-progress, to clean up various things.
  570.     * streambuf.[hC], filebuf.C, makebuf.C:  Move shortbuf from filebuf
  571.     class to streambuf.  New methods streambuf::doallocbuf and
  572.     allocbuf set base() to shortbuf if unbuffered().  This
  573.     simplifies things, since it always sets up a buffer.
  574.     * iostream.texi:  Various improvements.
  575.     * streambuf.[Ch]:  New virtual methods streambuf::get_column()
  576.     and streambuf::set_column for keeping track of column in output.
  577.  
  578. Thu Apr 30 09:09:06 1992  K. Richard Pixley  (rich@cygnus.com)
  579.  
  580.     * Makefile.in: make CFLAGS work when passed from the command line
  581.       to make.
  582.  
  583. Fri Apr 17 09:18:40 1992  Per Bothner  (bothner at PersSony)
  584.  
  585.     * dummy.C, statdummy.c: Removed (now inlined in ../util/gen-params).
  586.     * igetsb.C (istream& istream::get(streambuf&b, char)): New function.
  587.     * iostream.texi:  The barest beginnings of a manual.
  588.     * streambuf.h, streambuf.C, other places:  All standard
  589.     streambuf classes inherit from backupbuf; the classes (will)
  590.     follow a protocol allowing guaranteed backing up, which is
  591.     useful for scanning/parsing (see iostream.texi).
  592.     * filebuf.C: Numerous bug-fixes, many from Hongjiu Lu
  593.     <hlu@eecs.wsu.edu>.
  594.     * filebuf.C: filebuf::pbackfail is no longer needed, since
  595.     the logic is now handled by streambufs (rather: backupbufs).
  596.     * iostream.h:  Add proper (signed char) support (if the
  597.     compiler can deal with it).
  598.     * iostream.h:  Add istream::vscan and scan methods.
  599.     * iostream.C:  No longer need closed_streambuf dummy class
  600.     (for non-abstarct under-/overflow); use backupbuf instead.
  601.     * iostream.C:  Add istream& operator>>(istream&, streambuf*).
  602.     * Various places:  Use _G_-prefixed form of parameters
  603.     from ../_G_config.h.
  604.     * stream.C (itoa): Make sure minus sign comes first ...
  605.  
  606. Fri Mar 20 17:45:56 1992  Per Bothner  (bothner@rtl.cygnus.com)
  607.  
  608.     * makebuf.C:  Include ioconfig.h, for the sake of NO_ST_BLKSIZE.
  609.     * iostream.h: Add << and >> operators for manipulator
  610.     functions that take ios arguments.
  611.     * filebuf.C:  #include <sys/types> *before* <sys/file>.
  612.     * filebuf.C (filebuf::close):  NULL out buffer pointers.
  613.     indstream.C ioconfif.h iostream.C iostream.h
  614.     * streambuf.h, streambuf.C:  Make streambuf an abstract class by
  615.     making underflow and overflow pure virtual functions.
  616.     * parsestream.h, sbufvform.C:  Define dummy underflow and overflow
  617.     methods, now that streambuf is an abstract class.
  618.     * sbufvscan.C:  Fix logic bug introduced when converting from C.
  619.     * streambuf.C (streambuf::sgetn):  Fix logic bug.
  620.     * strstream.C (3-argument strstreambuf::strstreambuf):
  621.     Set ititial _len correctly.
  622.     * stdio/fclose.C (fclose):  Don't delete stdin/stdout/stderr.
  623.  
  624.     Generate ioconfig.h automatically in the Makefile.
  625.     * ioconfig.h:  Deleted, now automatically generated.
  626.     * Makefile.in:  New rule to generate ioconfig.h.  Add -I. to path.
  627.     * dummy.C, statdummy.c:  Small test programs used when
  628.     generating ioconfig.h.
  629.  
  630. Tue Mar 10 18:12:57 1992  Per Bothner  (bothner@cygnus.com)
  631.  
  632.     * Makefile.in:  Make version 0.70 for libg++ release.
  633.  
  634. Fri Mar  6 16:51:35 1992  K. Richard Pixley  (rich@cygnus.com)
  635.  
  636.     * Makefile.in: bump version to .69  (good number).
  637.  
  638. Fri Mar  6 15:01:10 1992  Per Bothner  (bothner@cygnus.com)
  639.  
  640.     * filebuf.C:  Include <sys/types>.
  641.     * strstream.C:  Add casts to avoid compiler warnings.
  642.     * stdio/stdio.h (putc):  Fix to evaluate char argument once only.
  643.  
  644. Thu Mar  5 18:07:47 1992  Per Bothner  (bothner@cygnus.com)
  645.  
  646.     * setvform.C:  Some minor changes to remove compiler warnings.
  647.  
  648. Tue Mar  3 16:50:36 1992  Per Bothner  (bothner@cygnus.com)
  649.  
  650.     * iostream.C:  Include stdio.h.
  651.  
  652.     * __vsbprintf.C renamed to sbufvform.C.
  653.     * __vsbscanf.C renanmed to sbufvscan.C.
  654.     * Makefile.in:  Reflect previous changes.
  655.     * TODO:  Update.
  656.  
  657. Sun Mar  1 16:48:08 1992  Per Bothner  (bothner@cygnus.com)
  658.  
  659.     * __vsbscanf.C:  Add some initializations to avoid compiler
  660.     warnings.
  661.     * iostream.C (read_int):  Fix two logic errors.
  662.     * streambuf.h:  Add macros to avoid duplicating magic numbers.
  663.     * streambuf.C:  Move definitions of standard streambufs
  664.     and streams to new files stdstrbufs.C and stdstreams.C.
  665.     * Makefile.in:  Add stdstrbufs.o and stdstreams.o.
  666.     * stdio/stdio.h:  Add define of size_t, and fix that of fpos_t.
  667.     * stdio/vfprintf.C:  Fix use of __STDIO_VA to _G_va_list.
  668.  
  669. Thu Feb 27 06:14:33 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
  670.  
  671.     * Makefile.in: removed a stray rm -f
  672.  
  673. Wed Feb 26 12:05:17 1992  Per Bothner  (bothner at cygnus.com)
  674.  
  675.     * filebuf.C:  On close(), don't zero *all* the flags.
  676.     * ioconfig.h, streambuf.C: Configuration tweeaks.
  677.     * streambuf.h:  Use _G_config.h to get configuration
  678.     parameters.
  679.     * streambuf.h:  Change _width and width() to
  680.     take/return ints, not longs.
  681.     * makebuf.C:  Replace test for VMS by generic NO_ST_BLKSIZE.
  682.     * igetline.C:  istream::get and istream::getline
  683.     should set the failbit it no characters are extracted.
  684.     * sgetline.C, __vsbscanf.C:  Add some casts.
  685.     * iostream.h:  Complicate istream::get() and istream::peek()
  686.     to set and test state flags.
  687.     * iostream.h:  Add hex(), dec(), and oct() manipulators.
  688.     * iostream.h:  Add 'extern' or 'inline', as appropriate.
  689.     * streambuf.h, iostream.h, iostream.C, strstream.C, strstream.h,
  690.     __vsbprintf.C, __vsbscanf.C:  Use _G_size_t and _G_va_list
  691.     macros from _G_config.h.
  692.     * strstream.C, strstream.h: Add strstreambuf::underflow().
  693.     * strstream.C:  Always set get pointers when constructing.
  694.     * Makefile.in:  Copy in _G_config.h when making a distribution.
  695.  
  696. Thu Feb 20 21:22:38 1992  Per Bothner  (bothner at cygnus.com)
  697.  
  698.     * stdio/Makefile, test/Makefile:  Use new IO_RELPATH and
  699.     IO_SRCDIR macros (useful for standalone distributions of
  700.     iostreams without the rest of libg++).
  701.  
  702.     Add various methods to enable compilation of InterViews.
  703.     * iostream.h, iostream.C:  Add istream::ignore method
  704.     and iostream::iostream(streambuf* sb, ostream* tied).
  705.     * iostream.h:  Add {i,io}stream::peek methods.
  706.     * streambuf.h:  Make filebuf::sync() public.
  707.     * streambuf.h:  Add input, output, and append enum
  708.     values in _STREAM_COMPAT mode.
  709.     * strstream.{h,C}:  Add strstream class.
  710.  
  711. Wed Feb 19 16:14:17 1992  Per Bothner  (bothner at cygnus.com)
  712.  
  713.     * Makefile.in:  Bumped to version 0.62.  Hack 'dist' rule.
  714.     * README:  Minor updates. (More needed.)
  715.     * ioprivate.h:  Replace #include <std.h> by standard includes.
  716.     * parsestream.C, fstream.C:  Remove redundant #include <std.h>.
  717.     * streambuf.h, fstream.h:  Made a number of methods 'const'.
  718.     * indstream.C:  Added missing indirectbuf::seekpos.
  719.     * ioconfig.h, makebuf.C:  Some fixes for rs6000 and VMS.
  720.     * strstream.[hC]:  Removed unneeded indirection
  721.     for various fields of strstreambuf.
  722.     * strstreambuf.C (strstreambuf constructor):  Re-wrote
  723.     and commented kludge for handling negative size argument.
  724.     * strstream.[hC]:  Added strstreambuf::seekoff method.
  725.     * streambuf.C:  Allow _vt.filebuf as well as _vt$filebuf
  726.     as assembler label of filebuf's virtual table.
  727.     * __vsbprint.C:  Handle write errors.
  728.  
  729. Sat Feb 15 12:50:09 1992  Per Bothner  (bothner at cygnus.com)
  730.  
  731.     * fstream.h:  Remove #pragma once.
  732.  
  733.     * Makefile.in:  Bump to version 0.61.
  734.     * stream.[Ch]:  Change format arg from (char*) to (const char*).
  735.  
  736.     * fstream.h:  Fix typo __GNU_G__ -> __GNUG__.
  737.  
  738. Sat Feb  8 13:39:04 1992  Per Bothner  (bothner at cygnus.com)
  739.  
  740.     * iostream.C (ws):  This time it should work!
  741.  
  742. Fri Feb  7 11:27:13 1992  Per Bothner  (bothner at cygnus.com)
  743.  
  744.     * Makefile.in:  Bumped version number to 0.60.
  745.     Re-write 'dist' rule to work better within libg++ source tree
  746.     (e.g. use $(srcdir); add configure).
  747.     * iostream.h (istream::ipfx()):  Set ios::failbit if !good().
  748.     * iostream.C (ws):  Re-write to use ipfx1().
  749.  
  750. Tue Feb  4 16:42:15 1992  Per Bothner  (bothner at cygnus.com)
  751.  
  752.     * iostream.C (read_int):  If eof and no values,
  753.     set eofbit as well as failbit.
  754.     * iostream.C (ws):  On eof, set failbit as well as eofbit.
  755.  
  756.     * editbuf.[Ch]: New method edit_streambuf::set_current().
  757.     * streambuf.h, iostream.[Ch], __vsbscanf.C, __vsbprintf.C:
  758.     Define and use _IO_VA_LIST instead of va_list.
  759.     (Using va_list causes namespace problems.)
  760.     * streambuf.[Ch]:  Make streambuf::flush_all() return an int
  761.     (for the benefit of stdio/fflush()).
  762.     * Makefile.in:  Also make stdio.
  763.  
  764. Sat Feb  1 12:44:36 1992  Per Bothner  (bothner at cygnus.com)
  765.  
  766.     * igetline.C (istream::gets):  Set failbit if eof and no data.
  767.  
  768.     * iostream.{h,C}:  Add istream::read(void*,int) and
  769.     ostream::write(const void*,int).  Flesh out
  770.     istream::read(char*, int) and ostream::write(const char*,int)
  771.     a bit, move them to iostream.C, and make the other
  772.     overloaded variants be inline functions with casts.
  773.  
  774. Fri Jan 31 17:02:53 1992  Per Bothner  (bothner at cygnus.com)
  775.  
  776.     * filebuf.C (filebuf::close()):  _un_link() a file
  777.     when closing it.
  778.  
  779. Thu Jan 30 23:32:02 1992  Per Bothner  (bothner at cygnus.com)
  780.  
  781.     * streambuf.C:  Move #pragma implementation earlier in the file.
  782.     * Makefile.in (install-include-files):  Re-write;
  783.     the previous form broke for some reason under Ultrix..    
  784.  
  785. Wed Jan 29 12:01:58 1992  Per Bothner  (bothner at cygnus.com)
  786.  
  787.     * fvwrite.[hC]:  Removed.
  788.     * __vsbprintf.C:  Removed __sbvwrite, __sbprint, and all
  789.     of the struct __suio junk (from the BSD stdio implementation).
  790.     * ioprivate.h:  Use new/delete for buffers, not malloc/free.
  791.     * stream.C:  Remove default argument duplication (makes
  792.     cfont happier).
  793.     * streambuf.h:  Added protected methods to access the privately
  794.     inherited __streambuf fields.  This should remove most of
  795.     visibility violations (reported by a cfront user).
  796.     * filebuf.C, strstream.C:  Use these new protected methods.
  797.     * streambuf.[Ch]:  Make flush_all a static member of
  798.     streambuf, and added streambuf::flush_all_linebuffered().
  799.     * iostream.h:  Add struct Iostream_init for AT&T compatibility.
  800.     * strstream.C (strstreambuf::overflow):  Minor tweaking.
  801.     * iostream.[hC], strstream.[Ch], parsestream.[Ch], editbuf.[Ch]:
  802.     Surround #pragmas by #ifdef __GNUG__.
  803.  
  804. Sun Jan 26 19:20:26 1992  Per Bothner  (bothner at cygnus.com)
  805.  
  806.     * iostream.h, igetline.C:  Add istream::gets().
  807.  
  808. Fri Jan 24 23:53:24 1992  Per Bothner  (bothner at cygnus.com)
  809.  
  810.     * SFile.C, SFile.h:  New files, based on old stream-based versions.
  811.     * Makefile.in, depend, configure.in:  Move some make rules to
  812.     ../Make.defs.  Use 'make depend.'
  813.     * iostream.[hC]:  Define an iostream class.  This uses coercions
  814.     (that might not work on all compilers), instead of virtual bases.
  815.     * fstream.[hC]:  Derive fstream from iostream.
  816.     * iostream.[hc}, PlotFile.C: Changed all operator<< and operator>>
  817.     unary member functions into binary non-member functions.
  818.     * streambuf.[Ch], editbuf.[Ch], indstream.[Ch]: Correct return
  819.     type of streamuf::seekoff and ::seekpos virtual methods
  820.     to streampos (was streamoff).
  821.     * filebuf.C (filebuf::seekoff):  Major changes.  Now
  822.     it should work most of the time ...
  823.     * iostream.[Ch]:  Add seek[pg] and tell[pg] methods.
  824.     * iostream:  Made count value for read() and write() methods
  825.     consistently have type 'int' (until ANSI changes it to size_t)!
  826.     * streambuf.h, iostream.C:  Replace {i,o,io}stream::close()
  827.     methods with a     single ios::close method (that is only enabled
  828.     if _STREAM_COMPAT).
  829.     * __vsbprintf.C (__cvt_double):  Fixed bug in %g format.
  830.     * __vsbscanf.C:  Fix casts to use fully prototyped types.
  831.     * fstream.h, iostream.[Ch], streambuf.[Ch]: Add some
  832.     more _STREAM_COMPAT compatibilty functions.
  833.     * strtoul.C:  Change type of variable to avoid warnings.
  834.     * streambuf.C (streambuf::sputn, streambuf::sgetn):  Made more
  835.     robust (don't assume that _epptr >= _pptr -- which isn't true for
  836.     line-buffered filebufs).
  837.  
  838. Thu Jan 16 17:07:46 1992  Per Bothner  (bothner at cygnus.com)
  839.  
  840.     * __vsbprintf.C, streambuf.h, iostream.C, stream.C: Change
  841.     __vsbprintf to streambuf::vform method.
  842.     * __vsbscanf.C, streambuf.h, iostream.C: Change __vsbscanf to
  843.     streambuf::vscan method.
  844.     * __vsbprintf.C, iostream.C:  Added helper class help_streambuf,
  845.     used by new function help_vform.  This is used to give a
  846.     temporary buffer to an unbuffered file.
  847.     * instream.h, indstream.C:  New indirectbuf subclass of streambuf
  848.     is just a "forwarding pointer" to another streambuf.
  849.     * Makefile.in:  Add new indstream.[Ch].
  850.     * iostream.C:  Use streambuf::set(XX) instead of
  851.     streambuf::clear(rdstate()|XX) in various places.
  852.     * streambuf.h, streambuf.C, iostream.h, iostream.C, editbuf.C:
  853.     Rename streambuf::xsputn and streambuf::xsgetn back to sputn
  854.     and sgetn.  I seem to have been misled by a typo in the ANSI draft.
  855.     * streambuf.h, filebuf.C: Add filebuf::sputn and filebuf::sgetn
  856.     as hooks for future optimization.
  857.     * streambuf.C (streambuf::sputn and streambuf::sgetn):
  858.     Re-write to be more efficient.
  859.     * streambuf.C, iostream.C:  Define the _STREAM_COMPAT macro
  860.     before     including ioprivate.h to force compilation of out-lined
  861.     functions that might be needed by libg++.
  862.     * strtoul.C:  Use 'base' in place of 'radix' variable.
  863.     Fix in various minor ways for ANSI compliance.
  864.     * fstream.C (open methods and constructors):  Made sure to
  865.     set(ios::badbit) if open failed.
  866.     * ioprivate.h:  Remove declarations of removed functions.
  867.     * filebuf.C (filebuf::~filebuf):  Fix '=' for '=='.
  868.  
  869. Sun Jan  5 01:18:06 1992  Per Bothner  (bothner at cygnus.com)
  870.  
  871.     * Makefile.in (install_include_files):  Various fixes.
  872.  
  873. Sat Jan  4 23:44:55 1992  Per Bothner  (bothner at cygnus.com)
  874.  
  875.     * Makefile.in:  Add install-include-files rule,
  876.     and tweak the *clean rules.
  877.     * fstream.h, fstream.C:  Make filename parameter (in constructors
  878.     and open() methods) be const, following ANSI,
  879.     * streambuf.h, streambuf.C, iostream.h, iostream.C, editbuf.C,
  880.     __vsbprintf.C, __vsbscanf.C: Rename  streambuf::xsput() -> xsputn()
  881.     and sgetn() to xsgetn(), and make them virtual, following ANSI draft.
  882.     * streambuf.h, streambuf.C: Add streambuf::ungetfail() (from ANSI).
  883.     * PlotFile.h, PlotFile.C:  Quickie translations of old
  884.     stream-based version of PlotFile class.    
  885.  
  886. Fri Jan  3 16:14:07 1992  Per Bothner  (bothner at cygnus.com)
  887.  
  888.     * Makefile.in:  List include files in three categories:
  889.     INTERNAL_INCLUDES (private to the implementation),
  890.     COMPAT_INCLUDES (to improve compatibility with olf stream
  891.     library), and USER_INCLUDES (new public interface files).
  892.     These, and the new put_io_files rule will help to a libg++
  893.     that incorporates the iostream library.
  894.     * stream.h:  Add _STREAM_COMPAT flag to request
  895.     maximum compatility with old libg++ stream library.
  896.     Add WS as a synonym for ws.
  897.     * streambuf.h, iostream.h: Add extra junk if _STREAM_COMPAT
  898.     flag is set (presumably by stream.h).
  899.     * istream.h, ostream.h:  Added for compatibility with old
  900.     libg++ stream library.
  901.     * streambuf.h, streambuf.C, iostream.h: Add streambuf::sungetc()
  902.     and istream::unget() (recently added to ANSI C+ library draft).
  903.  
  904. Thu Jan  2 22:51:25 1992  John Gilmore  (gnu at cygnus.com)
  905.  
  906.     * Makefile.in:  Set .SUFFIXES, and make "clean" recurse.  Ordinary
  907.     builds do not recurse yet, FIXME, since I don't know what is
  908.     intended here.
  909.  
  910. Tue Dec 31 16:48:38 1991  Per Bothner  (bothner at cygnus.com)
  911.  
  912.     Accumulated bug-fixes, many sugested by various net-people.
  913.     * streambuf.h, streambuf.C:  Push data fields of ios into a new
  914.     super-class _ios_fields.  This makes it cleaner to define
  915.     cin/cout/cerr without duplication.
  916.     * streambuf.h, filebuf.C, parsestream.h, parsestream.C,
  917.     editbuf.h, editbuf.C, stdio/fseek.C:  Change use of seek_dir
  918.     type to _seek_dir typedef, because while the correct type is
  919.     ios::seek_dir, some compilers (including g++ version 1.xx)
  920.     can't hack that.
  921.     * streambuf.h (ios::setf):  Fix semantics to return complete
  922.     old value, not just the masked part.
  923.     * ioprivate.h, streambuf.C, filebuf.C, strstream.C, parsestream.C,
  924.     makebuf.C:  Use new USE_MALLOC_BUF/ALLOC_BUF/FREE_BUF macros to
  925.     control if streambuf buffers should use malloc/free or new/delete.
  926.     For now the default is to use malloc/free, but that will change.
  927.     * streambuf.C, filebuf.C, fstream.C, strstream.C, igetline.C,
  928.     parsestream.C;  Removed duplicate default parameter values
  929.     (to make cfront happy).
  930.     * iostream.C (ios::basefield, ios::floatfield, ios::adjustfield):
  931.     Remove duplicate (and technically illegal) static prefix.
  932.     * iostream.C (read_int):  Fix test for when none of the
  933.     dec/oct/hex flags are set.
  934.     * iosteam.C (write_int):  Fix bugs.
  935.     * iosteam.C (ws):  Set eofbit on EOF.
  936.     * ioconfig.h, streambuf.C:  Provide more portable hook to filebuf
  937.     vtable. (Now handles both cfront and g++.)
  938.     * sgetline.C (streambuf::sgetline), __vsbprintf.C, __vsbscanf.C:
  939.     Add/fix casts.
  940.     * local.h:  Remove obsolete file.
  941.     * editbuf.h, editbuf.C:  Change edit_mark::new_mark method to
  942.     be edit_mark::edit_mark constructor.
  943.     * __vsbscanf.C:  Add missing *p++ = c.
  944.     * makebuf.C:  Re-formatted.
  945.     * Makefile.in, configure.in:  New files, to fit into
  946.     general libg++ configuration.
  947.