1998-09-04  James Youngman  <jay@gnu.org>

	* Released 0.09alpha.pl0.
	
	* README: Fixed typo.

1998-09-03  James Youngman  <jay@gnu.org>

	* except.h: Declarations of exceptions.

	* Makefile.am: Added except.h.

	* tests/prt/exists.sh:
	Added tests that check for correct behabiour when the s-file is
	absent.

	* sact.cc: Catch exceptions in main().

	* shorter/rmdel.cs, shorter/sact.cs, shorter/unget.cs, shorter/what.cs, shorter/README, shorter/admin.cs, shorter/cdc.cs, shorter/delta.cs, shorter/get.cs, shorter/prs.cs, shorter/Makefile.in:
	We have not been keeping these files up to date and haven't used
	them at all, and we planned not to have to use them.  So they're
	obsolete.

	* tests/get/create.sh:
	Make the test suite miscarry if the test files can not be created.

	* tests/initial/root.sh, tests/Makefile.am:
	Make sure we start the test suite by making sure that we're not
	running as root.

1998-09-02  James Youngman  <jay@gnu.org>

	* tests/common/not-root:
	If the code inside the subshell exits with a nonzero exit status, make
	sure that the "outer" shell does too -- so that the miscarry() takes
	effect.

	* tests/bsd-sccs/driver-basic.sh:
	Remove the SCCS directory too, when the test is finished.

	* sid_list.h, unget.cc, sf-write.cc, sf-prs.cc, sf-get2.cc, sf-kw.cc, sf-get.cc, sf-delta.cc, sf-admin.cc, sccsfile.h, sccsfile.cc, run.cc, quit.h, rel_list.cc, rmdel.cc, prt.cc, quit.cc, pf-add.cc, pfile.cc, prs.cc, filepos.h, get.cc, file.cc, fileiter.cc, delta.cc, configure.in, delta-table.cc, bodyio.cc, cdc.cc, acconfig.h, admin.cc:
	On systems that support exceptions, handle errors by throwing
	exceptions.  On systems that don't support exceptions, handle some
	errors by returning back up the calling sequence, and some by calling
	exit() in quit().  This means that only systems with exceptions will
	allow the second file to be processed if the first fails.

	* docs/cssc.texi:
	"admin -h" is actually unimplemented, rather than just untested.

	* tests/rmdel/exists.sh, tests/unget/exists.sh, tests/prs/exists.sh, tests/prs/keywords.sh:
	Added tests that check for correct behaviour when the s-file does
	not exist.

1998-08-22  James Youngman  <jay@gnu.org>

	* sf-write.cc: Eliminate unused-parameter warning.

1998-08-15  James Youngman  <jay@gnu.org>

	* docs/TODO: We now use getpwuid() instead of getlogin().

1998-08-14  James Youngman  <jay@gnu.org>

	* unget.cc, sf-write.cc, sid_list.h, sf-prs.cc, sf-get3.cc, sf-kw.cc, sf-get2.cc, sf-get.cc, sf-delta.cc, sccsfile.h, rel_list.cc, fileiter.cc, filepos.h, get.cc, file.cc, file.h, delta.cc, admin.cc:
	Use errormsg() or errormsg_with_errno() more, instead of quit().

1998-08-13  James Youngman  <jay@gnu.org>

	* auxfiles/CSSC.spec, configure.in: Bumped to 0.09alpha.pl0.

	* README: Indicate how to generate all the neccesary files after a "cvs
	checkout".

	* bodyio.h, bodyio.cc, sf-delta.cc, sf-admin.cc:
	Handle I/O errors without calling quit().

	* sf-get2.cc:
	Added reminder to check if we handle the %W% keyword correctly.

	* sf-get.cc, l-split.cc, delta.cc:
	Cosmetic changes to the code formatting.

	* sf-prt.cc:
	Use errormsg_with_errno(), not quit(), and return a failure status
	intead of exiting on the spot when there is a problem (so that we can
	continue to process the next file).

	* sf-prs.cc: Cosmetic changes to the code formatting.

	* pfile.cc:
	Added ctor_quit(), a synonym for quit(), which indicates that it is
	being called from a constructor.  These are the failure points that
	can't be replaced with a "return false", but only with an exception.

	* fileiter.cc: Cosmetic changes to the code formatting.

	* cssc.h: Don't need to worry about getlogin() any more.

	* unget.cc: Return a failure status if pfile.update() had failed.

	* sid.cc:
	Use assert(), not quit(), to detect logic errors in the program.

	* sf-write.cc, sf-delta.cc:
	Use errormsg_with_errno(), not quit(), and return a failure status
	intead of exiting on the spot when there is a problem (so that we can
	continue to process the next file).

	* sccsfile.cc:
	Use errormsg_with_errno(), not quit(), and return a failure status
	intead of exiting on the spot when there is a problem (so that we can
	continue to process the next file).

	Added ctor_quit(), a synonym for quit(), which indicates that it is
	being called from a constructor.  These are the failure points that
	can't be replaced with a "return false", but only with an exception.

	* quit.h, quit.cc:
	Added ctor_quit(), a synonym for quit(), which indicates that it is
	being called from a constructor.  These are the failure points that
	can't be replaced with a "return false", but only with an exception.

	* pf-del.cc:
	Use errormsg_with_errno(), not quit(), and return a failure status
	intead of exiting on the spot when there is a problem (so that we can
	continue to process the next file).

	* file.cc: Use getpwuid(), not getlogin(), for get_user_name().

1998-08-12  James Youngman  <jay@gnu.org>

	* pfile.h: Make update() return a boolean indication of success.

1998-06-19  James Youngman  <jay@gnu.org>

	* NEWS, ChangeLog:
	Normal prerelease modifications to ChangeLog, NEWS, etc.

	* configure.in, auxfiles/CSSC.spec: Bumped the patchlevel.

	* mystring.cc:
	re-fixed bug in find_last_of().    First bugfix had a bug.

	* bsd/sccs.c:
	Use our own error code definitions taken from the glibc <sysexits.h>.
	This is to avoid a compiler error due to the redifinition on Solaris
	(with GCC installed).

	* bsd/sccs.1: Documented the various possible error codes.

1998-06-16  James Youngman  <jay@gnu.org>

	* configure.in: Bumped version to 0.08alpha-pl0.

	* ChangeLog: *** empty log message ***

	* auxfiles/CSSC.spec: Changed version to 0.08alpha-pl0.

	* docs/FIXED: Added a report of the mystring::find_last_of() bug.

	* docs/CREDITS: Added apology to Achim Hoffmann.

	* docs/style.txt:
	"f()" vs. "f ()": added plea for any reason to prefer one over the
	other.

	* docs/cssc.texi:
	Indicate that the fatal-exit-on-error problem is being worked on.

	* NEWS: *** empty log message ***

	* docs/cssc.texi:
	Added a short remark about Emacs's VC-mode in the section on delta; if
	an SCCS file has the V flag set, you need to put an -m option in
	vc-checkin-flags in order to be able to check in revisions within
	Emacs.

	* sccsfile.cc:
	Oops.  Include <ctype.h> if STDC_HEADERS is defined, because
	HAVE_CTYPE_H is not defined by our configure.in.

	* mystring.cc:
	Fixed find_last_of().  We were finding the FIRST occurrence of the
	target rather than the last.  Argh!  How stupid is that?

	* tests/prs/keywords.sh: Make sure prs accepts an empty "-r" option.

1998-06-15  James Youngman  <jay@gnu.org>

	* fileiter.cc:
	When reading a list of filenames from stdin, trim off the newline that
	separates the filenames.

	* sf-write.cc, sf-prs.cc, sf-prt.cc, sf-rmdel.cc, sf-get.cc,
	sf-get2.cc, sf-cdc.cc, sf-delta.cc, sccsfile.h, sf-add.cc,
	sf-admin.cc, quit.cc, quit.h, rmdel.cc, file.cc, get.cc, prt.cc,
	cdc.cc, delta.cc, admin.cc:
	Don't use quit(); rather, use errormsg() and make a fatal exit
	from the function which we are now executing.  When this
	propagates up to the top level, remember the error so we cal later
	exit with a return value of 1, but nevertheless continue to
	process command-line arguments.

	* prs.cc:
	Allow the -r option to have no argument, without producing an error.
	When processing SCCS files, allow any of them to fail without this
	causing the whole operation to abort, but remember the fact and exit
	with a return value of 1 (hence use errormsg() rather than quit() for
	producing error messages).

1998-06-14  James Youngman  <jay@gnu.org>

	* unused/Makefile.am, unused/README, quit.cc, configure.in,
	Makefile.am:
	Moved some files into the "unused" directory, which we now add into
	the distribution.   They may be useful for ports or something.

	* unused/sid_list.cc, unused/pipe.cc, unused/pipe.h,
	unused/ffsync.cc, unused/fsync.cc, unused/move-if-change,
	unused/dosfile.cc, unused/dummy.cc, unused/_chmod.cc, dosfile.cc,
	ffsync.cc, move-if-change, pipe.cc, pipe.h, sid_list.cc,
	_chmod.cc, dummy.cc, fsync.cc: 
	Moved some files into the "unused" directory; we don't use them
	any more and keeping them aroung means that they have to be
	considered during global search and replace operations.  That's
	just making more work for myself.  These files are the contents of
	the $(rainyday_src) macro in the makefile.

	* unget.cc, sccsfile.cc, sact.cc, rmdel.cc, run.cc, quit.cc,
	quit.h, prt.cc, pipe.cc, prs.cc, pf-add.cc, pfile.h, get.cc,
	file.cc, delta.cc, admin.cc, cdc.cc:
	Changes to avoid using quit(); rather, we want to emit an error
	message and return an error status to the caller.  This allows an
	SCCS program to process a list of files without quitting
	prematurely because there was somethign wrong with some file early
	in the list.  More changes remain to be done for this to be
	complete.

	* Makefile.am: Added dosfile.cc and ffsync.cc.

	* dosfile.cc, ffsync.cc:
	Moved some system-dependent code out of file.cc.

	* delta.cc:
	Use errormsg() rather than quit() so that if the first file fails, the
	second may still be processed.

1998-06-13  James Youngman  <jay@gnu.org>

	* README:
	Added some basic remarks about configuuring the destination directory
	to the "QuickStart" section of the file.  Also, change the sample test
	script to send the version information too.

	* fdclosed.cc:
	Fixed copyright date and removed extraneous #include of err_no.h.

	* fdclosed.cc: Fixed the comments.

	* Makefile.am, fdclosed.cc:
	Provide a static object constructor that ensures that file descriptors
	0, 1 and 2 are not closed at the start.  Otherwise we might printf()
	to stdout and accidentally modify a file we fopened() for writing.

	* bsd/Makefile.am: Define PREFIX to be $(csscutildir) by default.

1998-06-11  James Youngman  <jay@gnu.org>

	* ChangeLog, NEWS: Final additions for 0.07alpha.pl3.

	* bsd/Makefile.am:
	Even though sccs.1 is in man_MANS, we still need to get it added to
	EXTRA_DIST in order to get it in the distribution.   Argh.

1998-06-10  James Youngman  <jay@gnu.org>

	* configure.in: Bumped the patchlevel.

	* auxfiles/CSSC.spec:
	Fixe dchangelog, added sccs manpage, included all the info files.

	* NEWS, ChangeLog: Added changes for CSSC-0.07alpha-pl3.

	* bsd/Makefile.am:
	Added COPYNG.bsd to the distribution.   Also .ispell_english.
	Added the manual page sccs.1 too.

	* tests/common/test-common, tests/common/not-root,
	tests/bsd-sccs/driver-basic.sh: Ensure the test suite is not run
	by root (because that makes "test -w" return misleading results).

1998-06-09  James Youngman  <jay@gnu.org>

	* auxfiles/CSSC.spec, docs/CREDITS, NEWS, configure.in:
	Bumped to CSSC-0.07alpha-pl2

	* sccsfile.cc:
	Fixes to tolerate spurious arguments on ^AU and ^At lines.
	This problem reported by Marko Rauhamaa <marko@tekelec.com>.

1998-06-08  James Youngman  <jay@gnu.org>

	* NEWS, ChangeLog: Summarised changes for 0.07alpha-pl1.

	* auxfiles/CSSC.spec, configure.in: Bumped to 0.07 patchlevel 1.

	* prompt.cc: Allow newlines to be escaped with a backslash.

	* sf-get.cc:
	Don't warn about keyword substitution not being done for binary files;
	I don't think it should be done in any case.

	* tests/admin/abspath.sh:
	Use a less complicated way of building the command.   We seem to have
	a small problem with this:-  anthonyc@nag.co.uk sees
	"/zome/anthonyc/.../s.bar: no such file or directory".
	  ^ Note that the z for the lockfile name appears here!

	* tests/prt/reportmr.sh:
	Some shells don't like two assignments on one line, for example
	"g=reportmr.1 s=inputs/s.$g".  With these shells, the $g in the second
	assignment expands to nothing.  "ash" version 0.2 is like this. Bash
	version 1.14.7 is not.

	* bsd/sccs.c: Support "sccs cdc".

	If we use "sccs create -b foo", pass the "-b" flag to "admin", but not
	to "get".  Passing it to "get" would mean "create a branch" rather
	than "binary" and we're not checking the file out for editing anyway.
	This at the request of <peter.kjellerstedt@axis.com>.

1998-06-06  James Youngman  <jay@gnu.org>

	* bsd/sccs.c:
	Be as careful about running setgid as we are about running setuid.

	* bsd/sccs.c:
	Insist on the compile-time macro SCCSDIR having been set if the program
	is installed set-user-id (what about set-group-id?).

	* tests/bsd-sccs/driver-basic.sh:
	Unset $LANG so that the tests for sccs(1) don't fail on systems
	which are mosconfigured, just because they are misconfigured.

	* docs/TODO: *** empty log message ***

	* NEWS: Added update for version 0.07alpha-pl0.

	* ChangeLog: Updated for version 0.07alpha-pl0.

	* configure.in: Bumped to version 0.07.

	* auxfiles/CSSC.spec: *** empty log message ***

	* tests/common/command-names:
	Set ${sccs} here in tests/bsd-driver/*, and not this file.  We keep it
	out of command-names since we currently need to run sccs in order to
	decide if we need to pass it the --prefix option.  That would slow all
	the other tests down.

	* tests/bsd-sccs/driver-basic.sh:
	Set ${sccs} here in this file.  We keep it out of common/command-names
	since we currently need to run sccs in order to decide if we need to
	pass it the --prefix option.  That would slow all the other tests
	down.

	* tests/prt/nodel.sh, tests/prt/default.sh:
	Remove s.testfile when the test is complete.

	* bsd/sccs.c, bsd/sccs.1:
	Modified to work with portability hints provided by Automake
	(e.g. sys_siglist[], struct dirent vs. struct direct, and so on); also
	other portability enhancements.

	Modifued some of the string handling for greater protection against
	buffer-overflow.

	Added extra options to sccs (--cssc, --prefix) to allow the
	program to be tested before the sub-programs (edmin, get, etc.)
	are installed in their final positions.  Added --version and -V
	options (which do the same thing).

	Documented this in the manpage; also added a COPYING section and
	added some more entries in the SEE ALSO section.

	Folded pathnames.h into sccs.c.

	* bsd/Makefile.am: Rolled pathnames.h into sccs.c.

	* bsd/.ispell_english: Removed entries containing punctuation or
	digits; ispell doesn't like them.

	* bsd/pathnames.h: Rolled the few remaining definitions into sccs.c

	* bsd/pathnames.h:
	Don't use absolute paths for the locations of the subcommands.

1998-05-30  James Youngman  <jay@gnu.org>

	* tests/bsd-sccs/driver-basic.sh: Added tests for "sccs check".

	* tests/bsd-sccs/driver-basic.sh:
	Added tests for deledit, delget, fix, tell, rmdel, what, enter, edit,
	clean, unedit and info.

	* configure.in, acconfig.h:
	Detect sys_suglist, for bsd/sccs.  Also detect <locale.h>.  Bump
	patchlevel to 9 (though we may end up making a new release instead).

	* sccsfile.cc:
	find_any_delta(sid id): will find even removed deltas.  This is part
	of the "sccs fix" bugfix.

	* tests/common/command-names:
	Oops.  Set sccs=sccs as a last resort if we can't find it.

	* delta-table.cc, sf-get2.cc, sccsfile.h, delta-table.h:
	When getting a delta for editing, and the trunk successor has been
	rmdel'ed, reuse it (this is required for "sccs fix" to work properly,
	and it's the way real-sccs works).

	* tests/rmdel/edit.sh:
	Tests that do "delta" after an "rmdel" to make sure the right things
	happen.

1998-05-28  James Youngman  <jay@gnu.org>

	* bsd/sccs.c:
	Cope in a more portable way with the status return from a child.

	* bsd/sccs.c: Allow "sccs -V -V -V" without generating a coredump.

	* bsd/sccs.c:
	Some portability improvements; don't need sig_t; cope without
	sys_siglist if we don't have it.   This mostly affects Linux with libc
	version 5 and below, I think.

1998-05-27  James Youngman  <jay@gnu.org>

	* bsd/sccs.c, bsd/.ispell_english, bsd/pathnames.h:
	Some range chacking corrections, correctiosn to the PREFIX macro, etc.

	* bsd/COPYING.bsd:
	Explained why part of CSSC is published under the BSD license

	* docs/TODO:
	Added note about considering the use of getpwuid() in preference to getlogin().
	Removed TODO entries from some stuff that's been done.

	* README:
	We now support binary files; remove the statement that we do not...

	* what.cc, sccsfile.cc, bodyio.cc, cssc.h:
	Removed some unused configuration macros.
	Renamed CONFIG_BINARY_FILE to CONFIG_OPEN_SCCS_FILES_IN_BINARY_MODE.

	* scripts/change-suffix, unused/change-suffix:
	change-suffix should be in scripts, not unused :-)

	* unused/change-suffix: Moved change-suffix into "unused".

	* change-suffix: Moved change-suffix unti "unused".

	* tests/bsd-sccs/driver-basic.sh, tests/Makefile.am:
	Added tests for the driver program "sccs".

	* tests/common/test-common: Use ../../testutils/ekko as a fallback.

	* tests/common/command-names: Added entry for the "sccs" command.

1998-05-25  James Youngman  <jay@gnu.org>

	* defaults.h: Removed some unused features.

	* docs/CREDITS:
	Added info about the BSD-derived code (sccs.c and friends).

	* AUTHORS: Added info about the BSD-derived code (sccs.c and firends).

	* docs/cssc.texi:
	Added documentation about sccs.c, the BSD copyright notice, and added
	some more concept index entries.

1998-05-23  James Youngman  <jay@gnu.org>

	* bsd/sccs.c:
	Some attempts at increased security and portability.  No tests for
	this program yet though, so no certainty that this works.

1998-05-12  James Youngman  <jay@gnu.org>

	* tests/prt/inputs/s.reportmr.1:
	Oops.  I'd been working with a different file in the compilation
	directory.

	* ChangeLog: *** empty log message ***

	* configure.in: Moved to 0.06alpha.pl8

	* NEWS: Additions for 0.06pl8.

1998-05-11  James Youngman  <jay@gnu.org>

	* testutils/README: Fixed typo.

	* tests/prt/inputs/s.reportmr.1, tests/prt/reportmr.sh:
	New tests for those cases where there are MRs to be reported.

	* sf-prt.cc, prt.cc:
	Make sure the MR list (etc.) is formatted correctly when we are
	printing one delta per line.

1998-05-10  James Youngman  <jay@gnu.org>

	* bodyio.cc:
	Don't store the result of getc() in a char, use an int -- that way, we
	can detect EOF.

	* sf-write.cc:
	Remove comment discussing broken behaviour with "admin -i" and
	nonseekable binary standard input that has now been fixed.

	* testutils/lndir.c: Ignore CVS directories too.

1998-05-09  James Youngman  <jay@gnu.org>

	* sf-rmdel.cc, sid.cc, sccs-delta.cc, sccsname.cc, prs.cc,
	quit.cc, pipe.cc, fsync.cc, pf-add.cc, file.cc, fileiter.cc,
	delta.cc, cdc.cc, delta-table.cc: 
	Get the name of the file right, in each file's comment header.

	* sf-write.cc, sccsfile.h:
	Fixed some compilation errors; warnings about passing "unsigned *pSum" when "int *pSum" is required.

	* docs/Platforms, docs/CREDITS, docs/FIXED, docs/BUGS:
	Updated lists of outstanding anb fixed bugs, added people to CREDITS,
	and did some housekeeping in Platforms.

	* docs/cssc.texi:
	Added clarification that the file that must be specified on the
	"delta" command line is that of the s-file, not the working file.

1998-05-08  James Youngman  <jay@gnu.org>

	* CSSC-0.06alpha.pl7 released.
	
	* NEWS, configure.in, ChangeLog: Released 0.06alpha.pl7.

	* docs/cssc.texi: Added header for install-info.

	* auxfiles/CSSC.spec:
	Included mods from John Interrante <interran@crd.ge.com>,
	except his patch to pathname.h; must apply that RSN.

	* sf-delta.cc, seqstate.cc, seqstate.h, sccsfile.cc,
	delta-iterator.h, Makefile.am: Fixed bug in seqstate.h that
	manifested with Codemgr SCCS files.  This required the
	introduction of seqstate.cc and a modification to sf-delta.cc as
	well.

1998-05-06  James Youngman  <jay@gnu.org>

	* seqstate.h:
	Reindented to prepare for new code which maintaind the state of the
	"deleting" flag differently.

1998-05-05  James Youngman  <jay@gnu.org>

	* CSSC-0.06alpha.pl6 released.
	
	* NEWS: Added entry about "sccs.c".

1998-05-04  James Youngman  <jay@gnu.org>

	* bsd/sccs.c, bsd/pathnames.h, Makefile.am:
	Attempted to make the location of "sccs" configurable.   Also attempted to add const modifiers where useful.

	* NEWS: Added "-t" option.

	* sccsfile.cc:
	Use signed arithmetic for checksums.    I *think* that matches the
	"real" SCCS.  Also produce what I hope are more useful messages when
	the checksum is incorrect (or even the checksum header is missing).

	* sccsfile.h:
	Use signed arithmetic for checksums.    I *think* that matches the
	"real" SCCS.

	* configure.in: Added the "bsd" directory.

	* tests/get/branch.sh:
	Added note about the SCO version of "unget" being silent.

	* docs/cssc.texi:
	texi2html doesn't expand homegrown macros, so we have to write the
	maintainer's email address out by hand in each place.

	* docs/Platforms: Added note for IRIX.

	* sid.h: Removed a #pragma -- they're not portable anyway.

	* pipe.h: Use "class foo : public bar {}" not "class foo : bar { }".

	* pfile.h: Removed a #pragma -- they're not portable anyway.

	* mystring.h:
	Added comment about functions disalbigiated only by the constness of
	*this.   Some versions of the IRIX C++ compiler don't like that (error
	3392).

	* linebuf.h: Actually remove a #pragma that had been commented out.

	* filelock.h: Explicitly use "private" in inheritance spec
	(e.g. 'class foo : private bar {}') ,
	we can't just leave it out.

	* fileiter.cc:
	If an argument is a directory which is named so as to end in a slash,
	don't coredump.

1998-03-18  James Youngman  <jay@gnu.org>

	* bsd/sccs.c: Reindented with GNU Indent.

	* bsd/sccs.c: Many const-correctness changes.

1998-03-17  James Youngman  <jay@gnu.org>

	* bsd/Makefile.am, bsd/Makefile.bsd, bsd/COPYING.bsd, bsd/Makefile:
	Updated the copyright info.  There is a different copyright situation
	locally in this dir.

	* bsd/sccs.c:
	Eliminated many compiler warnings.  Partial Autoconf conversion.

	* bsd/sccs.c: Use stdarg.h instead of old-style /*VARARGS1*/ etc.

1998-03-16  James Youngman  <jay@gnu.org>

	* bsd/sccs.me, bsd/sccs.c, bsd/pathnames.h, bsd/sccs.1, bsd/Makefile:
	Added files from the Berkeley sccs.c implementation.

1998-03-15  James Youngman  <jay@gnu.org>

	* tests/get/t-option.sh, docs/style.txt, docs/get-spec.txt, docs/cssc.texi, docs/Makefile.am, docs/TODO, sf-get2.cc, get.cc, Makefile.am:
	Implemented the "-t" option of get.

	* tests/get/t-option.sh: Tests for the -t option of get.

1998-03-14  James Youngman  <jay@gnu.org>

	* sccsdate.cc, sccsfile.cc, sf-get.cc, configure.in, file.cc, filediff.cc, admin.cc, bodyio.cc:
	Fixed some compiler warnings, no change in functionality.

	* docs/Makefile.am: Added mailing-list.txt.

	* docs/mailing-list.txt:
	Information about the mailing list for GNU CSSC.

	* docs/patches.txt:
	Requested that people specify the purpose of the submitted patch, and
	delete all editor backup files before generating it.

	* testutils/lndir.c, testutils/ekko.c:
	Eliminate some compiler warnings; falling off the end of int-returning
	functions and that sort of thing.

	* testutils/seeker.c:
	setlinebuf() is not a standard ISO-C library function and SCO Unix
	(for example) does not provide it.  It has an exact setvbuf()
	equivalent, so use that instead.

1998-03-11  James Youngman  <jay@gnu.org>

	* auxfiles/Makefile.am, Makefile.am, configure.in:
	Added the "auxfiles" directory so that CSSC.spec is distributed.

	* ChangeLog, NEWS: Detailed the updates for CSSC-0.06alpha-pl5.

	* auxfiles/CSSC.spec, configure.in: Bumped patchlevel to 5.

	* docs/FIXED, docs/BUGS: Oops.  Left a fixed bug in eocs/BUGS --
	and the patchlevel number for the first fixed version was wrong.
	All better now.

	* tests/rmdel/basic.sh:
	Make sure that the revision we tried to remove is actually now absent.

	* tests/common/command-names, tests/rmdel/basic.sh, docs/BUGS,
	docs/CREDITS, docs/Platforms, tests/Makefile.am, sf-rmdel.cc:
	Fixed bug in "rmdel" reported by Peter Kjellerstedt.  "rmdel" had
	been deleting all the control lines.

1998-03-10  James Youngman  <jay@gnu.org>

	* docs/FIXED, auxfiles/CSSC.spec, NEWS, configure.in, ChangeLog:
	Miscellaneous updates for 0.06-pl4.

	* tests/Makefile.am:
	Don't export CVS directories into the distribution.

	* admin.cc:
	Absolute pathnames now work; bug reported by Wolfhard Straehle.

	* tests/admin/abspath.sh:
	Test for bug reported by Wolfhard Str\"ahle; admin -n /abs/path/s.foo
	fails because the "admin" code checks for an "s." after the first
	slash when in fact it should check for an "s." after the LAST one.

1998-03-10  James Youngman  <jay@gnu.org>

	* get.cc:
	Fixes from Peter Kjellerstedt.  First, correct output when a direcory
	is specified on the command line (get should always print the name of
	the current s-file).  Second, when multiple files are specified on the
	command line, don't corrupt the requested SID value by updating it
	with an actual SID value from some particular s-file.

	* sccsdiff.sh.in: Support for filenames containing spaces.

	* filediff.cc, filediff.h, sf-delta.cc:
	Better support for files whose names have spaces in them.

1998-03-09  James Youngman  <jay@gnu.org>

	* filediff.h, filediff.cc:
	finish() returns a bool; false if the child process returned nonzero.

	* sf-delta.cc, fileiter.cc:
	Make FileDiff::finish() return a bool; it returns false if pclose()
	indicates that the spawned process returned a nonzero exit status.
	[ REVERSED -- this was a BAD idea, diff returns 1 if the 
	  files differ! ]
	
	* sccsdiff.sh.in:
	Bug report from Richard Polton: IRIX's pr(1) requires a space between
	the "-h" and its argument.

1998-03-04  James Youngman  <jay@gnu.org>

	* tests/common/real-thing: Define TESTING_CSSC if $dir points at
	CSSC programs rather than SCCS programs.

	* tests/binary/auto.sh: Use $TESTING_CSSC to determine of we
	should run those tests that CSSC should pass but (some verisions
	of) SCCS cannot, instead of abusing $expect_fail.

	* docs/BUGS, docs/FIXED: Some entries moved from BUGS to FIXED.

1998-03-01  James Youngman  <jay@gnu.org>

	* Version 0.06alpha-pl3

	* auxfiles/CSSC.spec: 0.06alpha-pl3

	* configure.in, ChangeLog, NEWS:
	Updated the NEWS and ChangeLog files (0.06alpha-pl3)

	* tests/binary/auto.sh, tests/binary/seeking.sh:
	Tests for binary files and the "-i" option of admin.

	* docs/cssc.texi:
	Genuine SCCS doesn't always properly recover from finding out that
	the "-i" file for admin needs encoding, after having read some of it.

	* bodyio.cc, admin.cc:
	When generating a new SCCS file using the "-i" option of admin,
	we no longer need to be able to seek on that file if the input
	turns out to need encoding after we have read some of it.

	* tests/admin/i-option.sh: We no longer do fgetpos() on stdin.

1998-02-28  James Youngman  <jay@gnu.org>

	* xalloc.cc, xalloc.h, Makefile.am:
	Removed xalloc.cc and xalloc.h completely.

	* show-disp.sh:
	Cope correctly with locally removed files when the actual working file
	has been deleted.

	* docs/CREDITS, xalloc.cc, sl-merge.h, stack.h, sid_list.cc,
	sid_list.h, sid.cc, run.cc, seqstate.h, pipe.cc, linebuf.cc,
	linebuf.h, delta-table.cc, l-split.cc, cssc.h: Patches from
	Richard Polton to eliminate our xalloc.h wrapper for operator new,
	as various versions of GCC differ on the exception throwing
	specification -- if we don't have to override the operator new, we
	don't have to get the declaration right :-)

	* admin.cc:
	Turn off buffering on stdin, as a workaround for a bug in glibc 2.0.6.

	* tests/common/test-common: success(): Delete temporary files.

	* tests/admin/i-option.sh, tests/admin/t-option.sh:
	Temporarily mark the "admin -i" tests "expect-fail".

1998-02-24  James Youngman  <jay@gnu.org>

	* auxfiles/CSSC.spec: Updated the version.

	* tests/binary/char255.uue:
	This file contains one character (uuencoded), the ASCII code 255.

1998-02-23  James Youngman  <jay@gnu.org>

	* configure.in: Bumped version to 0.06alpha.pl2

	* ChangeLog.1, ChangeLog: *** empty log message ***

	* tests/binary/eightbit.sh, tests/binary/diff.sh, tests/Makefile.am:
	Run the binary-file tests as part of "make check".  Small fixes to
	those tests.

	* tests/binary/eightbit.sh, bodyio.cc, NEWS:
	Fixes to allow the character whose code is 255 to be properly handled.

	* tests/binary/eightbit.sh: Tests involving 8-bit bodies.

	* tests/binary/s.umsp.uue: SCCS file containing 8-bit characters.

	* docs/BUGS, docs/FIXED, sf-write.cc, sccsfile.cc: Checksum is now
	8-bit-clean, due to richardp@scopic.com and
	Peter.Kjellerstedt@axis.com.

	* testutils/Makefile.am:
	Added seeker.c, which tests for a particular bug in GNU libc 2.0.6.

	* unget.cc, what.cc, rmdel.cc, sact.cc, prt.cc, my-getopt.h,
	prs.cc, get.cc, my-getopt.cc, fileiter.h, delta.cc, fileiter.cc,
	admin.cc, cdc.cc: Renamed class getopt to class CSSC_Options, to
	avoid conflict with getopt(3) on systems such as netbsd-1.2 (as
	installed on melange.gnu.org)

	* testutils/seeker.c:
	Test program which determines if fgetpos() works correctly on stdin.

1998-02-21  James Youngman  <jay@gnu.org>

	* auxfiles/CSSC.spec: Corrected source file name.

	* auxfiles/CSSC.spec: Strip the installed binaries.

	* NEWS: Updated for CSSC-0.06devel-pl1.

	* ChangeLog: *** empty log message ***

	* what.cc, sid_list.cc, unget.cc, sf-prt.cc, sf-prs.cc,
	sf-get2.cc, sf-kw.cc, sf-get.cc, sf-chkid.cc, sf-delta.cc,
	sf-cdc.cc, sccsfile.h, sact.cc, sccsfile.cc, run.cc, run.h,
	rel_list.h, rmdel.cc, prt.cc, prompt.cc, prs.cc, pipe.h, pfile.h,
	pipe.cc, mystring.h, pfile.cc, mystring.cc, my-getopt.h, mylist.h,
	linebuf.h, my-getopt.cc, l-split.cc, linebuf.cc, get.cc, ioerr.h,
	fileiter.h, filepos.h, file.cc, delta.cc, encoding.cc, cssc.h,
	defaults.h, bodyio.h, cdc.cc, bodyio.cc: Updated the year in the
	copyright message for all those files modified so far in 1998.

	* docs/FIXED, docs/TODO, docs/BUGS: Added some bug reports.

	* unget.cc, sact.cc, sf-get.cc, rmdel.cc, prs.cc, prt.cc, my-getopt.cc, my-getopt.h, fileiter.h, get.cc, fileiter.cc, cdc.cc, delta.cc, admin.cc:
	Modified option processing so that "get s.foo -Gbaz" is equivalent
	to "get -Gbaz s.foo".

	* configure.in: Bumped version to 0.06-pl1.

	* docs/cssc.texi: Minor punctuation corrections.

	* tests/prs/keywords.sh: Added test for :PN:.

	* Makefile.am, sf-prs.cc:
	The prs keyword :PN: needs to produce the full pathname of the SCCS
	file, not just the name as specified on the command line.

	* tests/get/optorder.sh: Initial version.

1998-02-20  James Youngman  <jay@gnu.org>

	* sf-write.cc:
	Cope in a more user-friendly way with the prior existence of "x.foo".

	* docs/BUGS:
	Some bug reports from Peter Kjellerstedt <peter.Kjellerstedt@axis.com>
	and Dave Bodenstab <imdave@mcs.net>.

	* tests/get/sep_subst.sh:
	Make sure the substitution happens for the actual gotten delta, not
	the delta to which the current line belongs.

	* tests/get/sep_subst.sh: *** empty log message ***

	* tests/get/sep_subst.sh:
	Make sure that the delta information substituted for each line is the
	information for the delta that we are actually getting, not the delta
	information for the delta which last touched that line.

1998-02-12  James Youngman  <jay@gnu.org>

	* ChangeLog: *** empty log message ***

	* auxfiles/CSSC.spec: Updated RPM spec-file for version 0.06alpha.pl0.

	* ChangeLog: *** empty log message ***

	* docs/cssc.texi, docs/Platforms, docs/TODO, auxfiles/CSSC.spec, sf-write.cc, configure.in, sccsfile.cc, NEWS:
	Binary file support.

	* docs/missing.txt: Binary file support is now present.

	* tests/binary/binbasic.sh, filediff.h, sf-delta.cc, filediff.cc, Makefile.am, configure.in:
	First working binary file support.

1998-02-11  James Youngman  <jay@gnu.org>

	* tests/binary/auto.sh:
	Tests that ensure that admin correctly guesses if the original file is
	binary or not.

	* configure.in: Updated the patchlevel.

	* ChangeLog: *** empty log message ***

	* NEWS: Added the latest news.

	* docs/TODO, docs/BUGS, docs/FIXED:
	Updated the lists of bugs fixed, bugs discovered, and things to investigate.

	* pipe.h, pipe.cc:
	Some tidying.  This code seems problematic for binary files.  Some of
	the commented-out tests in tests/binary/binbasic.sh break it.

	* tests/get/create.sh: Corrected a comment.

	* tests/Makefile.am: Added testing fr binary files.

	* testutils/Makefile.am:
	Added "ekko", a substitute echo(1) for systems where the normal
	echo(1) does not support newline suppression and escape codes.

	* encoding.cc, bodyio.cc: Added support for deltaing encoded files.

	* auxfiles/CSSC.spec: Added the spec-file for RPM.

	* tests/delta/basic.sh:
	Make sure diff returns 0 for identical files and 1 for different ones.

	* bodyio.h, sf-kw.cc, linebuf.cc, sf-delta.cc:
	Support for deltaing encoded files.  We have a problem with the Pipe
	class and large input files (broken pipe) though.

	* file.cc, configure.in:
	Use stat() to detect if the g-file is writable, because if we are
	root, access() tells us yes even if the file is read-only.  This makes
	"get" fail, saying that a wrtable gfile exists.  Using stat() fixes
	this.

1998-02-10  James Youngman  <jay@gnu.org>

	* tests/common/test-common:
	Use testutils/ekko if no suitable echo(1) command exitst on the system
	(we need newline suppression and escape codes).

	* testutils/ekko.c:
	An echo(1) replacement for systems whose echo does not support escape
	codes and newline supression.

	* tests/binary/diff.sh, tests/binary/binbasic.sh:
	New tests for binary file support (get/delta etc).

	* docs/cssc.texi:
	Removed remarks about option processing, since we now do this the SCCS
	way.  Also, added remarks about the non-security of CSSC and advice not to install it setuid-root or use it as root.

1998-02-09  James Youngman  <jay@gnu.org>

	* sccsdiff.sh.in:
	Patch from Maurice O'Donnell <mod@tfn.com>: pass "-e" to sed before
	the sed commands.

	* tests/large/admin.sh, testutils/yes.c, testutils/Makefile.am:
	Solaris has no yes(1) utility so we roll our own.

1998-02-01  James Youngman  <jay@gnu.org>

	* bodyio.h: Prototypes for functions in bodyio.cc.

	* bodyio.cc:
	New file; functions for handling the I/O for the body of files
	(i.e. the bits that might be uuencoded).

	* ChangeLog, docs/TODO: *** empty log message ***

	* scripts/rev-freq.sh:
	Added rev-freq.sh, which generates a histogram of the distributon of
	CVS revision numbers.

	* config.h.in:
	This file is automatically generated by "autoheader".  We should not therefore keep it under CVS control, I think.

	* sccsfile.cc, pfile.cc:
	Added TODO comment for the places where we modify the contents of a
	cssc_linebuf nefariously.

	* Makefile.am:
	Added bodyio.cc and encoding.cc to those modules that now need it.

	* sf-get.cc:
	Added a no_decide flag to sccs_file::get() for the use of delta.  We
	need to be able to obtain the body in encoded form so that we can feed
	it to diff(1).

	* sf-delta.cc:
	cssc_linefuf now has its own check_id_keywords() member, as a
	preparatory step to 8-bit-cleanness.

	* sf-admin.cc:
	If body_insert() informs us that the body turned out to be binary, set
	flags.encoded so that sccs_file::end_update() can call
	rehack_encoded_flag() (in sf-write.cc).

	* sccsfile.h:
	Allow sccs_file::get() to be told not to uudecode an encoded file.  We
	do this in order to obtain the still-encoded text in otder for delta
	to feed it to diff.

	* linebuf.h, linebuf.cc:
	Changes for the beginnings of 8-bit-clean support.  We're not
	8-bit-clean yet though.  The class interface currently precludes it.

	* ioerr.h: Added fwrite_failed().

	* cssc.h, defaults.h:
	CONFIG_LINEBUF_CHUNK_SIZE is only used by linebuf.cc and only really
	needs ever to be changed as a tuning issue, so we #define it in
	linebuf.cc.  For the moment, we keep it low as this ensures that we
	debug the reallocation code.

	* configure.in:
	sf-chkid.cc can use memchr() if available, so detect it.

	* sf-chkid.cc: Rewrote check_id_keywords() for 8-bit-cleanness.

1998-01-25  James Youngman  <jay@gnu.org>

	* testutils/README, testutils/last-time.c, testutils/Makefile.am:
	Added last-time.c to the distribution.

	* tests/get/defsid.sh, tests/get/subst.sh: *** empty log message ***

	* tests/admin/flags.sh: Added checks for the default delta flag.

	* docs/TODO, docs/missing.txt, docs/FIXED: *** empty log message ***

	* sf-write.cc, sf-prs.cc, sf-prt.cc, sf-get2.cc, sf-admin.cc,
	sf-get.cc, sccsfile.h, sccsfile.cc, filepos.h, get.cc,
	encoding.cc, cssc.h, defaults.h, README, admin.cc, Makefile.am,
	NEWS, ChangeLog: Preliminary support for binary files; creation
	(initialisation) only.

1998-01-24  James Youngman  <jay@gnu.org>

	* docs/BUGS:
	Removed a bug report (by jay@gnu.org, me) that actually wasn't a bug.

	* tests/get/defsid.sh: Wrote tests for the default-SID flag.

	* tests/admin/flags.sh:
	Since we now emit a couple of error messages relating to the "-b"
	flag, we need to IGNORE some of the stderr output in the tests,
	otherwise we procude unwarranted test failures.

	* tests/sccsdiff/rap.sh:
	We can't count on the precise form of the output, but we can count on
	the exit status of the command.   Tests amended for compatibility with
	SCCS.  SCCS now passes :-)

	* tests/get/branch.sh:
	Since we now emit a couple of error messages relating to the "-b"
	flag, we need to IGNORE some of the stderr output in the tests,
	otherwise we procude unwarranted test failures.

	* sccsdiff.sh.in:
	SCCS compatibility fix -- When "get" fails, exit with value 1, not 2.

	* get.cc: Added warnings for when -b flag is ignored because the b
	(branch-enable) flag is not set, and for when -b is udes without -e
	(which does not make sense and is otherwise ignored).

	* _chmod.cc:
	Removed double leading underscore for #define used to prevent multiple
	inclusion.

	* sf-get2.cc:
	Fixed assertion failure for "get -e -r1.1.1 s.foo.c" when there is a
	revision 1.1.1.1.   Probably needs tidying (or at least
	re-generalising).

	* sf-chkid.cc:
	Export the function is_keyword_letter() so that our later support for
	binary as well as text files can be simplified.

	* sccsfile.h, sccsfile.cc: Added sccs_file::branches_allowed().

1998-01-20  James Youngman  <jay@gnu.org>

	* docs/cssc.texi:
	Added documentation on when and how branches are made.

1998-01-19  James Youngman  <jay@gnu.org>

	* tests/get/branch.sh:
	Added tests for the correct handling of the "-b" flag.

1998-01-18  James Youngman  <jay@gnu.org>

	* encoding.cc:
	First show at the uuencode/uudecode methods for the support of binary files.

1998-01-17  James Youngman  <jay@gnu.org>

	* unget.cc, what.cc, rmdel.cc, prs.cc, get.cc, my-getopt.cc,
	delta.cc, ChangeLog, admin.cc: Removed all colons from getopt()
	option descriptors.  Instead we replace them with "!", which tells
	our custom version of getopt() to parse the options in the SCCS
	style (arguments must follow keyletters and may not be in the next
	argv[] element).

	* cssc.h: Only include <config.h> if HAVE_CONFIG_H is defined.

	* configure.in: Updated the version number.

	* testutils/user.c:
	Added this file (which is broadly the equivalent of the standard Unix
	command "id").

	* NEWS: Changes for version 0.05 (changes in Dec 19997 and Jan 1998).

	* ChangeLog:
	Updated for version 0.05 (changes in Dec 19997 and Jan 1998).

	* docs/CREDITS:
	Added paragraph for Richard Polton, and de-emphasised the role of
	MySC.

	* docs/FIXED:
	Moved a bug report (99999 cap on nu,bers of lines in SCCS files) from
	BUGS to FIXED after fixing it.

	* docs/BUGS: Moved a bug report to the FIXED file after fixing it.

	* docs/missing.txt:
	Indicate that sccs-val and sccs-comb have not been implemented.

	* docs/TODO: *** empty log message ***

	* docs/TESTING:
	Indicated that Richard Polton wrote the first contributed test suite.

	* docs/Platforms:
	Added indication that CSSC has been tested under Red Hat version 5.0.

1998-01-16  James Youngman  <jay@gnu.org>

	* docs/get-spec.txt:
	Updated to reflect the fact that the makefile no longer has a "make
	gtest" target.

1998-01-15  James Youngman  <jay@gnu.org>

	* docs/cssc.texi: Documented sact, cdc, rmdel, prt.

	* tests/Makefile.am: Added the test-cdc target.

	* tests/common/test-common:
	The expected stdout/stderr arguments are quoted when they are output
	to temporary files, to prevent any wildcard characters iin them being
	expanded!

	* mystring.h: typo in comment

	* fileiter.h:
	Provide using_stdin(), which indicates if stdin is already in use for
	reading a list of files to operate on.

	* prompt.cc:
	The prompt should not be issued if stdin is not a terminal.

	* sf-cdc.cc, cdc.cc: Using the new test cases, fixed many bugs!

	* tests/cdc/4order.sh, tests/cdc/2comment.sh, tests/cdc/3MRs.sh,
	tests/cdc/1general.sh: Wrote a fairly comlete set of test cases
	for 'cdc'.

1998-01-10  James Youngman  <jay@gnu.org>

	* tests/Makefile.am: Added tests for "sccsdiff".

	* tests/sccsdiff/rap.sh:
	Export $get so that "sccsdiff" can call the correct "get" program.

	* Makefile.am: Renamed list.h to mylist.h.

	* sccsfile.h, sid_list.cc, run.cc, run.h, pipe.cc, rel_list.h,
	l-split.cc, pfile.h, fileiter.h, mylist.h, list.h: Renamed
	"list.h" to "mylist.h".
