Wed Dec  9 14:48:38 1992  Per Bothner  (bothner@cygnus.com)

	* streambuf.h:  #undef open and close, in case some header
	file defines these as macros.

Thu Dec  3 19:40:07 1992  Per Bothner  (bothner@cygnus.com)

	* Makefile.in (distclean, realclean): Don't delete
	Makefile until *after* recursing.

Mon Nov 23 14:05:47 1992  Per Bothner  (bothner at cygnus.com)

	* filebuf.C (filebuf::open):  Fix typo ios::app -> ios::out.

Tue Nov 17 21:52:55 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* filebuf.C (filebuf::open):  ios::app implies ios::out.
	* igetline.C (istream::getline, istream::get):  Slightly more
	complicated to handle empty lines without setting error state.

Thu Nov  5 18:08:48 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* streambuf.h:  Add _S_IS_APPENDING flag.
	* filebuf.C:  Handle append mode better.  (Seek to end when
	opening. File position is unpredictable before and after a write.)
	* streambuf.h:  Fix semi-typo for value of ios:fixed.

Mon Nov  2 22:25:53 1992  Per Bothner  (bothner@cygnus.com)

	* strstream.h (strstream):  Fix broken default constructor.
	* stdstrbufs.C:  Don't include unneeded <stdiostream.h>
	(which caused mips assembler to complain about a conflict).
	* stdiostream.C (stdiobuf::sync):  Don't call fflush()
	on read-only files.

Sun Nov  1 14:54:26 1992  Per Bothner  (bothner@cygnus.com)

	* floatconv.C:  Renamed from dtoa.C, to avoid conflicts
	with ../src/dtoa.cc.
	* Makefile.in:  Update as appropriate.

	* filebuf.C, indstream.{h,C}, stdiostream.{h,C}, streambuf.{h,C}:
	Rename sputn/sgetn virtual methods to xsputn/xsgetn.
	Add sputn/sgetn inlined non-virtual that just call  xsputn/xsgetn.
	This change is to be compatible with ANSI and AT&T.
	* stdstrbufs.C:  Make sure all standard stdiobufs are unbuffered.

Wed Oct 21 17:48:03 1992  Per Bothner  (bothner at PersSony)

	* outfloat.C (__outfloat): If no error, return value is
	number of characters printed.
	* sbufvform.C (streambuf::vform):  Fix a number of buglets.

Tue Oct 20 15:20:17 1992  Per Bothner  (bothner@cygnus.com)

	* streambuf.h, sbufvscan.C, sbufvform.C : Add streambuf::scan
	and streambuf::form.
	* sbufvform.C:  Fix handling of precision for integer formats.
	* iostream.texi: Document the various form & scan methods.

Fri Oct 16 15:42:15 1992  Per Bothner  (bothner@rtl.cygnus.com)

	Many changes here and there, many to bring closer to ANSI draft.

	* streambuf.h:  Fill character is now wchar_t.
	Add some (unused) hooks for raising exceptions.
	* sbufvscan.C (streambuf::vscan):  Set error state using an
	to (ios*) parameter instead of an (ios::iostate*).
	* iostream.C:  Change usages of streambuf::vscan().
	* iostream.C:  Slightly changed interpretations of basefield.
	* iostream.h:  Add some missing methods (signed and
	unsigned char versions of put(), get(), and getline()).
	* streambuf.{ch], indstream.[Ch]:  Removed ungetfail virtual,
	following latest ANSI draft:  Use pbackfail virtual instead.
	* filebuf.C: Moved streambuf::_un_link and streambuf::_link_in
	to streambuf.C.
	* filebuf.C (filebuf::attach):  Do *not* set _S_DELETE_DONT_CLOSE
	flag, for compatibily with AT&T.
	* filebuf.C (filebuf::seekoff):  Don't move any pointers
	if mode is 0.
	* fstream.h:  Add fstreambase::setbuf() and fstreambase::is_open().
	* fstream.[Ch] (fstreambase::close):  Set failbit if close fails.
	* fstream.C (fstreambase constructors), strstream.C (various
	constructors):  Use new ios::init() method.
	* fstream.C (fstreambase::open):  Do a clear() first.

	* strstream.[hC]:  Add strsteambuf constructors with (const char*)
	buffer.  These call new method init_const(), which sets the
	_NO_WRITE flag.  New strstreambuf::pbackfail() method fails
	if _NO_WRITE flag is set.  Needed for ANSI.
	* strstream.[hC]:  Add support for user-supplied allocation
	and free routines (from ANSI).  (New methods init_static
	and init_dynamic now used by constructors.)
	* strstream.C (strstreambuf::init_static):  Try new mechanism
	for when the buffer is "assumed to continue indefinitely."

	* iostream.C, stdstrbufs.C:  Remove not_open_filebuf.
	* stdstrbufs.C: Rename _{cin,cout,cerr}_sbuf to
	__std_filebuf_{0,1,2}.  Also define __std{in,out,err}_stdiobuf
	as standard stdiobufs.  Chain all 6 standard streambufs together.
	* stdstreams.C:  Use the __std{in,out,err}_stdiobuf rather
	than __std_filebuf_{0,1,2} by default for {cin,cout,cerr}
	- unless _STDIO_USES_IOSTREAM or USE_FILEBUF are defined.
	* streambuf.h, stdstreams.C:  New function ios::sync_with_stdio
	to switch between using __std_filebuf_{0,1,2} and
	__std{in,out,err}_stdiobuf for standard streams.  This is
	normally not needed, but is provided for AT&T compatibility.

	* iomanip.h: Rename template classes to be lower-case (following
	ANSI).  Don't declare anything if _G_NO_TEMPLATES is defined in
	<_G_config.h>.  Rename DEFINE_IOMANIP_FN1 -> __DEFINE_IOMANIP_FN1.

	* stdiostream.[hC]:  Re-implement:  Make stdiobuf sub-class
	of filebuf, and use the virtual sys_ functions (e.g. sys_read)
	to call stdio function (e.g. fread).  This simpifies stdiobuf,
	and gives us filebuf features automatically.

Sun Oct 11 19:12:20 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)

	* Makefile.in: make info files at 'info' time, not install-info

Thu Sep  3 16:23:00 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* filebuf.C:  Remove #include of <sys/file.h>.  It is not
	standard (not in Posix), and doesn't seem to be needed.

Tue Sep  1 13:10:20 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* filebuf.C (filebuf::sys_write):  Set error flag appropriately.
	* procbuf.C (procbuf::sys_close):  Add Posix support.
	* stdstrbufs.C: Make cerr be unbuffered.
	* iostream.h (ostream::opfx), streambuf.h (streambuf::sputc):
	Cosmetic changes; may help cfront to inline.
	* iostream.C (istream::ignore), streambuf.C (streambuf::seekmark),
	strstream.C (strstreambuf::overflow, strstreambuf::seekoff),
	parsestream.C (string_parsebuf::string_parsebuf), editbuf.C
	(edit_streambuf::seekoff), indstream.C (indirectbuf::overflow):
	Comment out default argument specifications that duplicate
	earlier definitions (to placate cfront).
	* streambuf.h, filebuf.C:  New static member filebuf::openprot
	(Non-ANSI AT&T-ism).
	* streambuf.h:  Add ios::bin enum flag, for binary I/O
	on non-Unix systems.  Unused so far.

Wed Aug 12 11:43:55 1992  Per Bothner  (bothner@cygnus.com)

	* Makefile.in: 'install-info' should install iostream.info*.

Tue Aug 11 23:46:38 1992  Per Bothner  (bothner@cygnus.com)

	* Makefile.in:  Bump to VERSION 0.85.

	* iostream.[hC], fstream.[hC], strstream.[hC]:  Convert to using
	multiple inheritance, with ios as a virtual base class.  I think
	this is slightly more cumbersome and inefficient, but it improves
	compatibility 	with other implementation (such as AT&T), and
	will probably be required by ANSI.  (It also allows removing some
	duplicate methods.)  Also (for compatibilty), convert operator<<
	and operator>> binary functions to unary methods.
	* stdstreams.C:  Chaneg initialization using fake_?stream
	classes to match new use of virtual base classes.
	* streambuf.h:  Make ios::~ios be virtual.

	* iostream.C (ostream::operator<<(const char* S):  Allow S
	to be NULL (in which case print "(null)").
	* igetline.C:  Set eofbit when appropriate.
	* sbufvscan .C:  Remove silly optimzation that depends on
	size_t being unsigned.
	* streambuf.h (ios::ios):  Set ios::dec initially.
	* streambuf.h, filebuf.C:  Add filebuf::setbuf(), to make sure
	that get and put areas are set up (as empty start of reserve).
	* streambuf.C (streambuf::set_column):  Don't call overflow(EOF).
	* filebuf.C (filebuf::sputn):  Fix/optimizatian for
	line-buffered files.
	* Makefile.in:  Add stdiostream.?.
	Make sure 'check' makes libio.a (since 'make all' in .. does
	not), since some tests in ./test assume libio.a.
	* iostream.texi:  Add some notes on indirectbufs and
	the new stdiobufs.
	* stdiostream.[hC]:  New files.  Defines new class stdiobuf:
	A streambuf that forwards all requests to a stdio (FILE*)
	Concept follows AT&T man pages.
	* iomanip.[hC]:  Minor improvements.

Mon Jul 27 18:24:29 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* dtoa.C:  Rename strtod() -> _Xstrtod(), to avoid conflicts
	with strtod() versions in shared libraries.
	* ioprivate.h: #define strtod() as _Xstrtod() (for sbufvscan.C).

Wed Jul 15 21:21:38 1992  Heinrich G. Seidl  (hgs@rtl.cygnus.com)

	* iomanip.h: added parametrized manipulators.
	  iomanip.C: contains the functions, which are called by 
	  the manipulators.

Fri Jul 10 15:49:03 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* filebuf.C (filebuf::sys_write):  Don't use gcc-specific
	extension:  increment of a (void*) pointer.
	* igetline.C (_sb_readline):  Don't drop the last character
	of non-terminal chunks.
	* strstream.[hC]:  Remove _size, _buffer, and _frozen fields
	of a strstreambuf.  Instead, use the plethora of flags and
	fields already available in streambuf (blen(), base(), and
	_S_USER_BUF).  This makes things more consistent and simpler.
	* streambuf.h:  Add streambuf::blen() method.
	* outfloat.C (__outfloat):  Various fixes, including calculation
	of trailing_zeroes and whether to print decimal point.
	* iostream.C:  Various stylistic improvements to Mike's
	long long support:  Avoid code duplication by always using
	long long if __GNUG__ (only needed in a few places); remove
	global variable 'uppercase';  use loop to extract digits,
	rather than recursion; other optimization tweaks.

Thu Jul  2 13:59:55 1992  Mike Stump  (mrs at cygnus.com)

	* iostream.[Ch]: Implement << and >> for long long and
	unsigned long long.

Fri Jun 26 12:10:45 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* Makefile.in:  Increase to version 0.81.  Add a .NOEXPORT.
	* dtoa.C:  Remove some grunge.
	* iostream.h:  Add appropriate const-ness to various casts.
	* sbufvform.C, sbufvscan.C:  More const-ness fixes.
	* outfloat.C:  Different algorithm for formatting exponent.
	* parsestream.C:  Kludge to avoid warning.
	* streambuf.h:  Fix ios::operator void * to avoid
	const-ness-removing cast.
	* streambuf.C:  Kludge for Linux.

Mon Jun 22 14:45:58 1992  Per Bothner  (bothner@cygnus.com)

	* sbufvform.C:  If prec is -1, use DEFPREC.

Sun Jun 21 00:33:10 1992  Per Bothner  (bothner@cygnus.com)

	* streambuf.h (ios::ios):  Fix thinko.

Fri Jun 19 23:27:27 1992  Per Bothner  (bothner@cygnus.com)

	* streambuf.h, iostream.[Ch]:  Remove istream/ostream/iostream
	destructors, and do the cleanup in (new) ios::~ios instead.
	Make default constructor and destructors be inline.
	* iostream.C, fstream.C:  No longer set ios::dont_close flag
	on default constructors.  In addition to being more efficient,
	this also fixes an embarassing memory leak ...
	* procbuf.C:  Remove (union wait) kludge (for NeXT).

Wed Jun 17 17:05:37 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* dtoa.C:  New file, derived from dtoa.h by David M. Gay
	of AT&T.  This does guaranteed accurate conversion between
	floating-pointer numbers and their string representations.
	It exports strtod() (string->double) and dtoa (double->string).
	* outfloat.C:  New file.  Exports __outfloat(), a higher-level
	interface to dtoa().
	* ioprivate.h:  Declare these new functions.
	* sbufvscan.C:  Use new strtod() to convert floats.
	* iostream.C, sbufvform.C:  Use new __outfloat function.
	* editbuf.h:  Removed spurious "inline".
	* procbuf.C (procbuf::sys_close):: Handle systems where
	the wait() argument is (union wait*).
	* streambuf.h:  Clean up confusion vbetween ios::iostate
	and ios::fmtflags types.
	* iostream.C:  Use ios::fmtflags type and new streambuf::padn
	method as appropriate.
	* streambuf.[hC]:  Add streambuf::padn() whcih emits many
	copies of the same character.
	* streambuf.h, sbufvscan.C(streambuf::vscan):  Extra optional
	(ios::iostate*) parameter, so errors/EOF can be reported back.
	* iostream.C:  Use 3rd parameter of streambuf::vform() to
	have it set the error state on syntax errors or EOF.
	* streambuf.h, filebuf.C:  New method filebuf::do_write
	with the common functionality of do_flush and sputn.
	* streambuf.C (streambuf::sputn), filebuf.C (filebuf::sputn):
	Return immediately if count is not positive.
	* filebuf.C:  For simplicity, always set _S_TIED_PUT_GET
	for a filebuf, 	not just when it is read+write.
	* filebuf.C (filebuf::sys_read, filebuf::sys_write):
	Restart on an EINTR.
	* filebuf.C: Various fixes to handle uncommon combinations
	of read, writes, and seeks.
	* Makefile.in:  Add dtoa.?, outfloat.?.  Fix *clean rules.
	Increase version to 0;80.
	* iostream.texi:  Add some information about stdio.

Fri Jun  5 13:10:59 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* iostream.h:  Made istream::_gcount and istream::gcount(),
	signed (_G_ssize_t), following AT&T and ANSI.
	* iostream.C:  Make istream::read() set _gcount.

Thu Jun  4 12:03:15 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* streambuf:  ios::set() is a standard ANSI method (though
	it is not in the AT&T libraries).

Wed Jun  3 17:08:53 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* streambuf.h:  Moved ios::set to _STREAM_COMPAT section.
	Added streambuf::stossc(), for AT&T compatibility.
	Changed global fmtflags type to ios::fmttype.
	* TODO:  Remove some things that have been done!
	* README:  Re-write the notes on stdio (which were written
	assuming that installing stdio was the default; that
	is not the case).

Sun May 31 14:06:16 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* Makefile.in:  Increase to version 0.76.
	Use CFLAGS, not MINUS_G.  Add FLAGS_TO_PASS macro to be more
	consistent about passing flags to sub-makes.
	* filebuf.C (filebuf::open - two methods:  Set _S_TIED_PUT_GET
	flag properly.
	* filebuf.C:  Always switch to read mode, if tied and reading,
	even if c==EOF.
	* procbuf.C:  Cosmetic change.

Thu May 28 13:57:19 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* iostream.C:  Don't cast to _G_va_list, since that may
	not be possible.
	* iostream.h (ostream::put):  Move inline definition
	inside class body (avoids order-of-definition problems).
	* procbuf.C (procbuf::open):  Re-set read/write flags.
	* sbufvform.C (streambuf::vform), sbufvscan.C (streambuf::vscan):
	Don't try to cast _G_va_list to va_list (not possible if
	these are structs); just use the _G_va_list parameter as if
	it were a va_list.  (This should work, according to _G_config.h).
	* streambuf.h:  Define new fmtflags type (from ANSI), and use it.
	* streambuf.h: #include <stdarg.h> of needed.

Thu May 14 13:13:18 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* Makefile.in:  Fix handling of SUBDIRS, including passing
	of working values of CC.
	* makebuf.C, filebuf.C:  Use Posix macros S_ISCHR, S_ISREG.
	* streambuf.h, streambuf.C:  Replace _FRIEND_BUG #ifdefby
	_G_FRIEND_BUG, set in _G_config.h.
	* iostream.C (write_int):  Fix thinko: && -> &.
	* iostream.h, iostream.C:  Clean up handling of skipping of
	initial white space by ipfx(0) (e.g. setting flags correctly).


Sat May  9 13:51:12 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* Makefile.in:  Bump version to 0.75.

	* iostream.C (ws manipulator): Set failbit on EOF.
	Also, use skip_ws function.

Wed May  6 15:48:51 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* streambuf.C (streambuf::setb):  Reverse test for
	when to delete _base (oops).
	* streambuf.C (__adjust_colummn):  Add missing const.

	* filebuf.C:  Clean up a number of minor bugs and
	messy code.  This should be more consistent now.
	* iostream.C (istream::ignore):  Optimize to use new
	streambuf::ignore when delim==EOF.  Also, set _gcount.
	* streambuf.h, streambuf.C:  New methods streambuf::ignore,
	streambuf::free_backup_area, streambuf::switch_to_get_mode,
	and streambuf::unsave_markers. and __adjust_column function.
	Also, various tweaks and optimizations.

Sat May  2 16:37:27 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* streambuf.h, streambuf.C, filebuf.C:  Get working initial
	rough support for keep track of current column in output.
	* streambuf.C:  New function __adjust_column() used for
	the above-mentioned column support.

Fri May  1 16:57:14 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* filebuf.C (filebuf::do_flush):  Set get area pointers
	to base() (new pptr()), not old value of pptr().
	* filebuf.C:  Consistently set _flags to _S_NO_READS+_S_NO_WRITES
	when closing, and re-set old values when opening.
	* streambuf.h (streambuf):  New 2-op xsetflags method with mask.
	* streambuf.h (ios::is_open):  New definition:  Assume open
	unless both _S_NO_READS and _S_NO_WRITES are set.
	* stdstrbufs.C:  Set _S_NO_READS+_S_NO_WRITES for not_open_filebuf.

Thu Apr 30 16:50:47 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* Makefile.in:  Bump to version 0.72.
	* streambuf.h:  Change streamoff and streampos to be _G_off_t,
	which seems to make more sense.

	* strtoul.C:  Removed.  Not needed, now that we use libiberty.
	* filebuf.C:  Fix (and turn on) filebuf::sputn.
	* procbuf.C:  New streambuf sub-class, provides popen/pclose
	functionality for streambufs.
	* Makefile.in:  Update appropriately.
	* streambuf.h:  Add cast to avoid warning.
	* streambuf.h, various:  Replace _S_CAN_READ _S_CAN_WRITE by
	the inverses _S_NO_READS _S_NO_WRITES:  Because these flags
	are not part of the standard streambuf protocol, we should
	infer anything if they are not set.
	* filebuf.C:  filebuf::sys_write() does multiple writes if
	needed, and updates _fb._offset (that might be a mistake).
	* filebuf.C:  Work-in-progress, to clean up various things.
	* streambuf.[hC], filebuf.C, makebuf.C:  Move shortbuf from filebuf
	class to streambuf.  New methods streambuf::doallocbuf and
	allocbuf set base() to shortbuf if unbuffered().  This
	simplifies things, since it always sets up a buffer.
	* iostream.texi:  Various improvements.
	* streambuf.[Ch]:  New virtual methods streambuf::get_column()
	and streambuf::set_column for keeping track of column in output.

Thu Apr 30 09:09:06 1992  K. Richard Pixley  (rich@cygnus.com)

	* Makefile.in: make CFLAGS work when passed from the command line
	  to make.

Fri Apr 17 09:18:40 1992  Per Bothner  (bothner at PersSony)

	* dummy.C, statdummy.c: Removed (now inlined in ../util/gen-params).
	* igetsb.C (istream& istream::get(streambuf&b, char)): New function.
	* iostream.texi:  The barest beginnings of a manual.
	* streambuf.h, streambuf.C, other places:  All standard
	streambuf classes inherit from backupbuf; the classes (will)
	follow a protocol allowing guaranteed backing up, which is
	useful for scanning/parsing (see iostream.texi).
	* filebuf.C: Numerous bug-fixes, many from Hongjiu Lu
	<hlu@eecs.wsu.edu>.
	* filebuf.C: filebuf::pbackfail is no longer needed, since
	the logic is now handled by streambufs (rather: backupbufs).
	* iostream.h:  Add proper (signed char) support (if the
	compiler can deal with it).
	* iostream.h:  Add istream::vscan and scan methods.
	* iostream.C:  No longer need closed_streambuf dummy class
	(for non-abstarct under-/overflow); use backupbuf instead.
	* iostream.C:  Add istream& operator>>(istream&, streambuf*).
	* Various places:  Use _G_-prefixed form of parameters
	from ../_G_config.h.
	* stream.C (itoa): Make sure minus sign comes first ...

Fri Mar 20 17:45:56 1992  Per Bothner  (bothner@rtl.cygnus.com)

	* makebuf.C:  Include ioconfig.h, for the sake of NO_ST_BLKSIZE.
	* iostream.h: Add << and >> operators for manipulator
	functions that take ios arguments.
	* filebuf.C:  #include <sys/types> *before* <sys/file>.
	* filebuf.C (filebuf::close):  NULL out buffer pointers.
	indstream.C ioconfif.h iostream.C iostream.h
	* streambuf.h, streambuf.C:  Make streambuf an abstract class by
	making underflow and overflow pure virtual functions.
	* parsestream.h, sbufvform.C:  Define dummy underflow and overflow
	methods, now that streambuf is an abstract class.
	* sbufvscan.C:  Fix logic bug introduced when converting from C.
	* streambuf.C (streambuf::sgetn):  Fix logic bug.
	* strstream.C (3-argument strstreambuf::strstreambuf):
	Set ititial _len correctly.
	* stdio/fclose.C (fclose):  Don't delete stdin/stdout/stderr.

	Generate ioconfig.h automatically in the Makefile.
	* ioconfig.h:  Deleted, now automatically generated.
	* Makefile.in:  New rule to generate ioconfig.h.  Add -I. to path.
	* dummy.C, statdummy.c:  Small test programs used when
	generating ioconfig.h.

Tue Mar 10 18:12:57 1992  Per Bothner  (bothner@cygnus.com)

	* Makefile.in:  Make version 0.70 for libg++ release.

Fri Mar  6 16:51:35 1992  K. Richard Pixley  (rich@cygnus.com)

	* Makefile.in: bump version to .69  (good number).

Fri Mar  6 15:01:10 1992  Per Bothner  (bothner@cygnus.com)

	* filebuf.C:  Include <sys/types>.
	* strstream.C:  Add casts to avoid compiler warnings.
	* stdio/stdio.h (putc):  Fix to evaluate char argument once only.

Thu Mar  5 18:07:47 1992  Per Bothner  (bothner@cygnus.com)

	* setvform.C:  Some minor changes to remove compiler warnings.

Tue Mar  3 16:50:36 1992  Per Bothner  (bothner@cygnus.com)

	* iostream.C:  Include stdio.h.

	* __vsbprintf.C renamed to sbufvform.C.
	* __vsbscanf.C renanmed to sbufvscan.C.
	* Makefile.in:  Reflect previous changes.
	* TODO:  Update.

Sun Mar  1 16:48:08 1992  Per Bothner  (bothner@cygnus.com)

	* __vsbscanf.C:  Add some initializations to avoid compiler
	warnings.
	* iostream.C (read_int):  Fix two logic errors.
	* streambuf.h:  Add macros to avoid duplicating magic numbers.
	* streambuf.C:  Move definitions of standard streambufs
	and streams to new files stdstrbufs.C and stdstreams.C.
	* Makefile.in:  Add stdstrbufs.o and stdstreams.o.
	* stdio/stdio.h:  Add define of size_t, and fix that of fpos_t.
	* stdio/vfprintf.C:  Fix use of __STDIO_VA to _G_va_list.

Thu Feb 27 06:14:33 1992  K. Richard Pixley  (rich@rtl.cygnus.com)

	* Makefile.in: removed a stray rm -f

Wed Feb 26 12:05:17 1992  Per Bothner  (bothner at cygnus.com)

	* filebuf.C:  On close(), don't zero *all* the flags.
	* ioconfig.h, streambuf.C: Configuration tweeaks.
	* streambuf.h:  Use _G_config.h to get configuration
	parameters.
	* streambuf.h:  Change _width and width() to
	take/return ints, not longs.
	* makebuf.C:  Replace test for VMS by generic NO_ST_BLKSIZE.
	* igetline.C:  istream::get and istream::getline
	should set the failbit it no characters are extracted.
	* sgetline.C, __vsbscanf.C:  Add some casts.
	* iostream.h:  Complicate istream::get() and istream::peek()
	to set and test state flags.
	* iostream.h:  Add hex(), dec(), and oct() manipulators.
	* iostream.h:  Add 'extern' or 'inline', as appropriate.
	* streambuf.h, iostream.h, iostream.C, strstream.C, strstream.h,
	__vsbprintf.C, __vsbscanf.C:  Use _G_size_t and _G_va_list
	macros from _G_config.h.
	* strstream.C, strstream.h: Add strstreambuf::underflow().
	* strstream.C:  Always set get pointers when constructing.
	* Makefile.in:  Copy in _G_config.h when making a distribution.

Thu Feb 20 21:22:38 1992  Per Bothner  (bothner at cygnus.com)

	* stdio/Makefile, test/Makefile:  Use new IO_RELPATH and
	IO_SRCDIR macros (useful for standalone distributions of
	iostreams without the rest of libg++).

	Add various methods to enable compilation of InterViews.
	* iostream.h, iostream.C:  Add istream::ignore method
	and iostream::iostream(streambuf* sb, ostream* tied).
	* iostream.h:  Add {i,io}stream::peek methods.
	* streambuf.h:  Make filebuf::sync() public.
	* streambuf.h:  Add input, output, and append enum
	values in _STREAM_COMPAT mode.
	* strstream.{h,C}:  Add strstream class.

Wed Feb 19 16:14:17 1992  Per Bothner  (bothner at cygnus.com)

	* Makefile.in:  Bumped to version 0.62.  Hack 'dist' rule.
	* README:  Minor updates. (More needed.)
	* ioprivate.h:  Replace #include <std.h> by standard includes.
	* parsestream.C, fstream.C:  Remove redundant #include <std.h>.
	* streambuf.h, fstream.h:  Made a number of methods 'const'.
	* indstream.C:  Added missing indirectbuf::seekpos.
	* ioconfig.h, makebuf.C:  Some fixes for rs6000 and VMS.
	* strstream.[hC]:  Removed unneeded indirection
	for various fields of strstreambuf.
	* strstreambuf.C (strstreambuf constructor):  Re-wrote
	and commented kludge for handling negative size argument.
	* strstream.[hC]:  Added strstreambuf::seekoff method.
	* streambuf.C:  Allow _vt.filebuf as well as _vt$filebuf
	as assembler label of filebuf's virtual table.
	* __vsbprint.C:  Handle write errors.

Sat Feb 15 12:50:09 1992  Per Bothner  (bothner at cygnus.com)

	* fstream.h:  Remove #pragma once.

	* Makefile.in:  Bump to version 0.61.
	* stream.[Ch]:  Change format arg from (char*) to (const char*).

	* fstream.h:  Fix typo __GNU_G__ -> __GNUG__.

Sat Feb  8 13:39:04 1992  Per Bothner  (bothner at cygnus.com)

	* iostream.C (ws):  This time it should work!

Fri Feb  7 11:27:13 1992  Per Bothner  (bothner at cygnus.com)

	* Makefile.in:  Bumped version number to 0.60.
	Re-write 'dist' rule to work better within libg++ source tree
	(e.g. use $(srcdir); add configure).
	* iostream.h (istream::ipfx()):  Set ios::failbit if !good().
	* iostream.C (ws):  Re-write to use ipfx1().

Tue Feb  4 16:42:15 1992  Per Bothner  (bothner at cygnus.com)

	* iostream.C (read_int):  If eof and no values,
	set eofbit as well as failbit.
	* iostream.C (ws):  On eof, set failbit as well as eofbit.

	* editbuf.[Ch]: New method edit_streambuf::set_current().
	* streambuf.h, iostream.[Ch], __vsbscanf.C, __vsbprintf.C:
	Define and use _IO_VA_LIST instead of va_list.
	(Using va_list causes namespace problems.)
	* streambuf.[Ch]:  Make streambuf::flush_all() return an int
	(for the benefit of stdio/fflush()).
	* Makefile.in:  Also make stdio.

Sat Feb  1 12:44:36 1992  Per Bothner  (bothner at cygnus.com)

	* igetline.C (istream::gets):  Set failbit if eof and no data.

	* iostream.{h,C}:  Add istream::read(void*,int) and
	ostream::write(const void*,int).  Flesh out
	istream::read(char*, int) and ostream::write(const char*,int)
	a bit, move them to iostream.C, and make the other
	overloaded variants be inline functions with casts.

Fri Jan 31 17:02:53 1992  Per Bothner  (bothner at cygnus.com)

	* filebuf.C (filebuf::close()):  _un_link() a file
	when closing it.

Thu Jan 30 23:32:02 1992  Per Bothner  (bothner at cygnus.com)

	* streambuf.C:  Move #pragma implementation earlier in the file.
	* Makefile.in (install-include-files):  Re-write;
	the previous form broke for some reason under Ultrix..	

Wed Jan 29 12:01:58 1992  Per Bothner  (bothner at cygnus.com)

	* fvwrite.[hC]:  Removed.
	* __vsbprintf.C:  Removed __sbvwrite, __sbprint, and all
	of the struct __suio junk (from the BSD stdio implementation).
	* ioprivate.h:  Use new/delete for buffers, not malloc/free.
	* stream.C:  Remove default argument duplication (makes
	cfont happier).
	* streambuf.h:  Added protected methods to access the privately
	inherited __streambuf fields.  This should remove most of
	visibility violations (reported by a cfront user).
	* filebuf.C, strstream.C:  Use these new protected methods.
	* streambuf.[Ch]:  Make flush_all a static member of
	streambuf, and added streambuf::flush_all_linebuffered().
	* iostream.h:  Add struct Iostream_init for AT&T compatibility.
	* strstream.C (strstreambuf::overflow):  Minor tweaking.
	* iostream.[hC], strstream.[Ch], parsestream.[Ch], editbuf.[Ch]:
	Surround #pragmas by #ifdef __GNUG__.

Sun Jan 26 19:20:26 1992  Per Bothner  (bothner at cygnus.com)

	* iostream.h, igetline.C:  Add istream::gets().

Fri Jan 24 23:53:24 1992  Per Bothner  (bothner at cygnus.com)

	* SFile.C, SFile.h:  New files, based on old stream-based versions.
	* Makefile.in, depend, configure.in:  Move some make rules to
	../Make.defs.  Use 'make depend.'
	* iostream.[hC]:  Define an iostream class.  This uses coercions
	(that might not work on all compilers), instead of virtual bases.
	* fstream.[hC]:  Derive fstream from iostream.
	* iostream.[hc}, PlotFile.C: Changed all operator<< and operator>>
	unary member functions into binary non-member functions.
	* streambuf.[Ch], editbuf.[Ch], indstream.[Ch]: Correct return
	type of streamuf::seekoff and ::seekpos virtual methods
	to streampos (was streamoff).
	* filebuf.C (filebuf::seekoff):  Major changes.  Now
	it should work most of the time ...
	* iostream.[Ch]:  Add seek[pg] and tell[pg] methods.
	* iostream:  Made count value for read() and write() methods
	consistently have type 'int' (until ANSI changes it to size_t)!
	* streambuf.h, iostream.C:  Replace {i,o,io}stream::close()
	methods with a 	single ios::close method (that is only enabled
	if _STREAM_COMPAT).
	* __vsbprintf.C (__cvt_double):  Fixed bug in %g format.
	* __vsbscanf.C:  Fix casts to use fully prototyped types.
	* fstream.h, iostream.[Ch], streambuf.[Ch]: Add some
	more _STREAM_COMPAT compatibilty functions.
	* strtoul.C:  Change type of variable to avoid warnings.
	* streambuf.C (streambuf::sputn, streambuf::sgetn):  Made more
	robust (don't assume that _epptr >= _pptr -- which isn't true for
	line-buffered filebufs).

Thu Jan 16 17:07:46 1992  Per Bothner  (bothner at cygnus.com)

	* __vsbprintf.C, streambuf.h, iostream.C, stream.C: Change
	__vsbprintf to streambuf::vform method.
	* __vsbscanf.C, streambuf.h, iostream.C: Change __vsbscanf to
	streambuf::vscan method.
	* __vsbprintf.C, iostream.C:  Added helper class help_streambuf,
	used by new function help_vform.  This is used to give a
	temporary buffer to an unbuffered file.
	* instream.h, indstream.C:  New indirectbuf subclass of streambuf
	is just a "forwarding pointer" to another streambuf.
	* Makefile.in:  Add new indstream.[Ch].
	* iostream.C:  Use streambuf::set(XX) instead of
	streambuf::clear(rdstate()|XX) in various places.
	* streambuf.h, streambuf.C, iostream.h, iostream.C, editbuf.C:
	Rename streambuf::xsputn and streambuf::xsgetn back to sputn
	and sgetn.  I seem to have been misled by a typo in the ANSI draft.
	* streambuf.h, filebuf.C: Add filebuf::sputn and filebuf::sgetn
	as hooks for future optimization.
	* streambuf.C (streambuf::sputn and streambuf::sgetn):
	Re-write to be more efficient.
	* streambuf.C, iostream.C:  Define the _STREAM_COMPAT macro
	before 	including ioprivate.h to force compilation of out-lined
	functions that might be needed by libg++.
	* strtoul.C:  Use 'base' in place of 'radix' variable.
	Fix in various minor ways for ANSI compliance.
	* fstream.C (open methods and constructors):  Made sure to
	set(ios::badbit) if open failed.
	* ioprivate.h:  Remove declarations of removed functions.
	* filebuf.C (filebuf::~filebuf):  Fix '=' for '=='.

Sun Jan  5 01:18:06 1992  Per Bothner  (bothner at cygnus.com)

	* Makefile.in (install_include_files):  Various fixes.

Sat Jan  4 23:44:55 1992  Per Bothner  (bothner at cygnus.com)

	* Makefile.in:  Add install-include-files rule,
	and tweak the *clean rules.
	* fstream.h, fstream.C:  Make filename parameter (in constructors
	and open() methods) be const, following ANSI,
	* streambuf.h, streambuf.C, iostream.h, iostream.C, editbuf.C,
	__vsbprintf.C, __vsbscanf.C: Rename  streambuf::xsput() -> xsputn()
	and sgetn() to xsgetn(), and make them virtual, following ANSI draft.
	* streambuf.h, streambuf.C: Add streambuf::ungetfail() (from ANSI).
	* PlotFile.h, PlotFile.C:  Quickie translations of old
	stream-based version of PlotFile class.	

Fri Jan  3 16:14:07 1992  Per Bothner  (bothner at cygnus.com)

	* Makefile.in:  List include files in three categories:
	INTERNAL_INCLUDES (private to the implementation),
	COMPAT_INCLUDES (to improve compatibility with olf stream
	library), and USER_INCLUDES (new public interface files).
	These, and the new put_io_files rule will help to a libg++
	that incorporates the iostream library.
	* stream.h:  Add _STREAM_COMPAT flag to request
	maximum compatility with old libg++ stream library.
	Add WS as a synonym for ws.
	* streambuf.h, iostream.h: Add extra junk if _STREAM_COMPAT
	flag is set (presumably by stream.h).
	* istream.h, ostream.h:  Added for compatibility with old
	libg++ stream library.
	* streambuf.h, streambuf.C, iostream.h: Add streambuf::sungetc()
	and istream::unget() (recently added to ANSI C+ library draft).

Thu Jan  2 22:51:25 1992  John Gilmore  (gnu at cygnus.com)

	* Makefile.in:  Set .SUFFIXES, and make "clean" recurse.  Ordinary
	builds do not recurse yet, FIXME, since I don't know what is
	intended here.

Tue Dec 31 16:48:38 1991  Per Bothner  (bothner at cygnus.com)

	Accumulated bug-fixes, many sugested by various net-people.
	* streambuf.h, streambuf.C:  Push data fields of ios into a new
	super-class _ios_fields.  This makes it cleaner to define
	cin/cout/cerr without duplication.
	* streambuf.h, filebuf.C, parsestream.h, parsestream.C,
	editbuf.h, editbuf.C, stdio/fseek.C:  Change use of seek_dir
	type to _seek_dir typedef, because while the correct type is
	ios::seek_dir, some compilers (including g++ version 1.xx)
	can't hack that.
	* streambuf.h (ios::setf):  Fix semantics to return complete
	old value, not just the masked part.
	* ioprivate.h, streambuf.C, filebuf.C, strstream.C, parsestream.C,
	makebuf.C:  Use new USE_MALLOC_BUF/ALLOC_BUF/FREE_BUF macros to
	control if streambuf buffers should use malloc/free or new/delete.
	For now the default is to use malloc/free, but that will change.
	* streambuf.C, filebuf.C, fstream.C, strstream.C, igetline.C,
	parsestream.C;  Removed duplicate default parameter values
	(to make cfront happy).
	* iostream.C (ios::basefield, ios::floatfield, ios::adjustfield):
	Remove duplicate (and technically illegal) static prefix.
	* iostream.C (read_int):  Fix test for when none of the
	dec/oct/hex flags are set.
	* iosteam.C (write_int):  Fix bugs.
	* iosteam.C (ws):  Set eofbit on EOF.
	* ioconfig.h, streambuf.C:  Provide more portable hook to filebuf
	vtable. (Now handles both cfront and g++.)
	* sgetline.C (streambuf::sgetline), __vsbprintf.C, __vsbscanf.C:
	Add/fix casts.
	* local.h:  Remove obsolete file.
	* editbuf.h, editbuf.C:  Change edit_mark::new_mark method to
	be edit_mark::edit_mark constructor.
	* __vsbscanf.C:  Add missing *p++ = c.
	* makebuf.C:  Re-formatted.
	* Makefile.in, configure.in:  New files, to fit into
	general libg++ configuration.
