1998-01-04  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>

	* src/files.c (openfiles) [_WIN32 && !__CYGWIN32__]: Use TEMP or
	Temp to find a temporary directory, if possible.  Do not unlink
	files while they are open.

1997-08-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/reader.c (stack_offset;): Change some warni to warns.

	* src/lex.c (literalchar): Use warns, not warni.

1997-06-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/bison.simple: Add a Bison version comment.

	* Makefile.in (bison_version): New variable.
	(dist): Use that variable.
	(bison.s1): Substitute the Bison version into bison.simple.

	* src/main.c (fatal, warn, berror): Use program_name.

1997-06-18  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* Makefile.in: new.h renamed to alloc.h.
	* src/*.c: src/new.h renamed to src/alloc.h.

	* src/alloc.h: Renamed from src/new.h.

1997-06-15  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/main.c (fatal, warn, berror): Make error messages standard.
	(toomany): Improve error message text.

1997-05-24  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/lex.c (literalchar): Fix the code for escaping \, " and '.

1997-05-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/lex.c (lex): Avoid trouble when there are many chars
	to discard in a char literal with just several chars in it.

1997-05-17  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/bison.simple: Use malloc, if using alloca is troublesome.
	(YYSTACK_USE_ALLOCA): New flag macro.
	Define it for some systems and compilers.
	(YYSTACK_ALLOC): New macro.
	(yyparse): Use YYSTACK_ALLOC to allocate stack.
	If it was malloc'd, free it.

1997-05-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/bison.simple [_AIX]: Don't include malloc.h.

1997-04-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/bison.simple (alloca) [__hpux]: Always define as
	__builtin_alloca.

1997-04-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/bison.simple (__yy_memcpy): Declare arg `count' as unsigned
	int.
	(yyparse): Cast third arg to __yy_memcpy to unsigned int.

	* src/bison.simple (alloca) [__hpux]: Include alloca.h (right for
	HPUX 10) instead of declaring alloca (right for HPUX 9).

1997-01-02  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>

	* src/allocate.c [__STDC__ or _MSC_VER]:
	Declare calloc and realloc to return void *.

	* Makefile.in (dist): Explicitly check for symlinks, and copy them.

1996-12-17  Paul Eggert  <eggert@twinsun.com>

	* src/bison.simple (yyparse): If __GNUC__ and YYPARSE_PARAM are
	both defined, declare yyparse to have a void * argument.

1996-12-17  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/system.h [_MSC_VER]: Include stdlib.h and process.h.
	[_MSC_VER] (getpid): Define as macro--translate it to _getpid.

	* src/reduce.c (nbits): Add some casts.

	* src/main.c (main): Return FAILURE as a value.
	(printable_version): Declare arg as int, not char.

	* src/files.c [_MSC_VER] (XPFILE, XPFILE1): Define, if not already
	defined.

1996-12-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/main.c (printable_version): Use type `int' for the arg.

1996-08-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/bison.simple: Test _MSDOS as well as _MSDOS_.

1996-07-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/bison.simple [__sun && __i386]: Include alloca.h.

1996-07-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* src/bison.simple: Test _MSDOS_, not MSDOS.

1996-06-01  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>

	* All files: Insert `_' macro around many string constants.

	* src/system.h [HAVE_LOCALE_H]: Include locale.h.
	[! HAVE_LOCALE_H] (setlocale): Define as no-op.
	[ENABLE_NLS]: Include libintl.h.
	[ENABLE_NLS] (gettext): Define.
	[! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
	(N_, PACKAGE, LOCALEDIR): New macros.

	* src/main.c (main): Call setlocale, bindtextdomain and textdomain.

	* POTFILES.in: New file.

	* Makefile.in (allocate.o): Define target explicitly.

1996-06-01  Jim Meyering  <meyering@na-net.ornl.gov>

	* Makefile.in (CFLAGS): Set to @CFLAGS@.
	(LDFLAGS): Set to @LDFLAGS@.
	(configure): Run autoconf only if preceding `cd' succeeds.
	(src/bison.s1): Redirect output to temporary file then move the
	temporary to the target, rather than redirecting directly to
	src/bison.s1.
	(clean): Remove config.status and config.log.
	(distclean): Don't remove config.status here.

1996-05-12  Jim Meyering  <meyering@na-net.ornl.gov>

	* src/bison.simple (__yy_memcpy) [__cplusplus]: Reorder declarations
	of variables f and t.

1996-05-11  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>

	* Version 1.25 released.

	* Makefile.in (dist): Don't use $(srcdir).

	* src/bison.simple (__yy_memcpy): Really reorder the args, as was
	supposedly done on Feb 14 1995.
	(yyparse): Calls changed accordingly.

1996-01-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/output.c (output_rule_data): Test YYERROR_VERBOSE in the
	conditional around the definition of ttyname.

1995-12-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Fix line numbers in #line commands.

1995-12-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (YYPARSE_PARAM_DECL): In C++, make it always
	null.
	(YYPARSE_PARAM_ARG): New macro.
	(yyparse): Use YYPARSE_PARAM_ARG.

1995-10-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/version.c: Version now 1.25.

	* src/main.c (warn): Set `failure'.

1995-08-01   Wilfred J. Hansen  <wjh+@cmu.edu>

	* src/bison.cld, src/getargs.c, src/vmsgetargs.c: Added -n, -k,
	and -raw switches.
	(noparserflag, toknumflag, rawtoknumflag): New variables.

	* src/conflicts.c (resolve_sr_conflict): Remove use of alloca.

	* src/files.c (openfiles, open_extra_files, done):  Add faction flag
	and actfile file.  Handle noparserflag.  Both for -n switch.

	* src/lex.c: Include getopt.h.  Add some extern decls.
	(safegetc): New function to deal with EOF gracefully.
	(literalchar); new function to deal with reading \ escapes.
	(lex): Use literalchar.
	(lex): Implemented "..." tokens.
	(literalchar, lex, parse_percent_token): Made tokenbuffer
	always contain the token.  This includes growing the token
	buffer while reading an integer.
	(parse_percent_token): Replaced if-else statement with percent_table.
	(parse_percent_token): Added % declarations as another
	way to specify the flags -n, -l, and -r.  Also added hooks for
	-d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
	major changes to src/files.c.
	(lex) Retain in the incoming stream a character following
	an incorrect '/'.
	(skip_white_space, lex):  Revised most error messages
	and changed fatal to warn to avoid aborting.
	(percent_table):  Added %thong declarations.

	* src/lex.h: Added THONG and NOOP for alias processing.
	Added SETOPT for the new code that allows setting options with %flags.

	* src/main.c (main): If reader sees an error, don't process the
	grammar.
	(fatals): Updated to not use VARARGS1.
	(printable_version, int_to_string, warn, warni, warns, warnss)
	(warnsss): New error reporting functions.  Avoid abort for error.

	* src/output.c (output_headers, output_trailers, output, output_gram)
	(output_rule_data): Implement noparserflag variable.
	Implement toknumflag variable.
	(output): Call reader_output_yylsp to output LTYPESTR.

	* src/reader.c (reader_output_yylsp): New function.
	(readgram): Use `#if 0' around code that accepted %command inside
	grammar rules: The documentation doesn't allow it, and it will
	fail since the %command processors scan for the next %.
	(parse_token_decl): Extended the %token declaration to allow a
	multi-character symbol as an alias.
	(parse_thong_decl): New function.
	(read_declarations): Added %thong declarations.
	(read_declarations): Handle NOOP to deal with allowing %
	declarations as another means to specify the flags.
	(readgram): Allow %prec prior to semantics embedded in a rule.
	(skip_to_char, read_declarations, copy_definition)
	(parse_token_decl, parse_start_decl, parse_type_decl)
	(parse_assoc_decl, parse_union_decl, parse_expect_decl)
	(get_type_name, copy_guard, copy_action, readgram)
	(get_type, packsymbols): Revised most error messages.  Changed
	`fatal' to `warnxxx' to avoid aborting for error.  Revised and use
	multiple warnxxx functions to avoid using VARARGS1.
	(read_declarations): Improve the error message for an invalid
	character.  Do not abort.
	(read_declarations, copy_guard, copy_action): Use
	printable_version to avoid unprintable characters in printed
	output.
	(parse_expect_decl): Error if argument to %expect exceeds 10
	digits.
	(parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
	Allow the type of a non-terminal can be given more than once, as
	long as all specifications give the same type.

	* src/reduce.c (reduce_grammar): Revise an error message.
	(print_notices): Remove final `.' from error message.

	* src/symtab.h (SALIAS): New #define for adding aliases to %token.
	(struct bucket): Added `alias' field.

1995-05-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Change distribution terms.

	* src/version.c: Version now 1.23.  No, 1.24.

1995-02-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/files.c: Test __VMS_POSIX as well as VMS.

1995-02-14  Jim Meyering <meyering@comco.com>

	* src/bison.simple (__yy_memcpy): Renamed from __yy_bcopy to avoid
	confusion.  Reverse FROM and TO arguments to be consistent with
	those of memcpy.

1994-11-10  David J. MacKenzie  <djm@duality.gnu.ai.mit.edu>

	* Makefile.in (DISTFILES): Include install-sh, not install.sh.
	Include NEWS.

	* configure.in: Update to Autoconf v2 macro names.

1994-10-04  David J. MacKenzie  <djm@duality.gnu.ai.mit.edu>

	* Makefile.in (prefix, exec_prefix): Let configure set them.

1994-09-28  David J. MacKenzie  <djm@duality.gnu.ai.mit.edu>

	* Makefile.in: Set datadir to $(prefix)/share.

1994-07-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/reader.c (reader): Rename undefined-token token to
	`$undefined.'.

1994-05-05  David J. MacKenzie  <djm@nutrimat.gnu.ai.mit.edu>

	* Makefile.in (DISTFILES): Add install.sh.
	(install): Remove chmod commands.

1994-03-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Fix #line commands.

1994-03-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/conflicts.c (print_reductions): Increment both fp1 and fp2
	while printing reductions in multi-rule case.

1994-01-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (LDFLAGS): Make it empty by default.
	(bison): Use CFLAGS.

1993-11-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (YYLEX): Take notice of YYLEX_PARAM.

1993-10-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (YYPARSE_PARAM_DECL): Always define this.

1993-10-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (yyparse): Support YYPARSE_PARAM.

1993-09-13  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* Makefile.in (check): New target.

1993-09-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/conflicts.c (alloca): #undef before defining.

	* src/system.h (bcopy): Don't define if already defined.

1993-09-06  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* Version 1.22 released.

	* mkinstalldirs: New file.

	* Makefile.in (dist): Use .gz for extension, not .z.
	(DISTFILES): New variable.
	(dist): Use it instead of explicit file list.
	Try to link each file separately, then copy file if ln fails.
	(installdirs): Use mkinstalldirs script.

1993-07-29  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>

	* Makefile.in (config.status): Run config.status --recheck, not
	configure, to get the right args passed.

1993-07-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (yyparse): Init yychar1 to avoid warning.

1993-07-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (yyparse): Don't set yyval when yylen is 0.

1993-06-26  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>

	* src/getargs.c (getargs): Exit after printing the version number.
	Add --help and -h options.
	(usage): New function.

1993-06-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/getargs.c (longopts): Allow `output' as an alternative.

1993-06-16  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (yyparse): Conditionalize the entire call to
	yyoverflow, not just two arguments in it.

1993-06-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple [__hpux] (alloca): Don't specify arg types.

1993-05-07  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* Makefile.in (install): Depend on `uninstall' and `installdirs'.
	(installdirs): New target.

1993-04-28  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* src/reader.c:  Remove declaration of atoi.

1993-04-23  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* src/new.h [!__STDC__] (FREE): Check x != 0.
	Make expr to call `free' evaluate to 0.

1993-04-20  David J. MacKenzie  <djm@kropotkin.gnu.ai.mit.edu>

	* src/files.c [MSDOS]: Use xmalloc, not malloc.
	* src/allocate.c (xmalloc): Renamed from mallocate.  Remove old
	wrapper.
	* src/conflicts.c, src/symtab.c, src/files.c, src/LR0.c,
	src/new.h: Change callers.
	* src/allocate.c (xrealloc): New function.
	* src/new.h: Declare it.
	* src/lex.c, src/reader.c: Use it.

1993-04-18  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* Version 1.21 released.

	* src/reader.c : Don't declare `realloc'.

	* Makefile.in (bison.s1): use `rm -f' since it's quieter.
	(dist): make gzipped tar file.

1993-04-16  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* Makefile.in (Makefile, config.status, configure): New targets.

1993-04-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/main.c: Don't declare `abort'.

	* src/files.c: Don't declare `exit'.

1993-04-15  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* configure.in: Add AC_CONST.

1993-04-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (all): Depend on bison.s1.

1993-04-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Version 1.20 released.

1993-03-24  Richard Stallman  <rms@wookumz.gnu.ai.mit.edu>

	* src/output.c (output_headers): Rename yynerrs if -p.

1993-03-18  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* src/system.h: Don't try to include stdlib.h unless HAVE_STDLIB_H
	is defined.

	* configure.in: Check for stdlib.h.

1993-03-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple [__hpux, not __GNUC__]: Declare alloca.
	(yyparse): When printing the expected token types for an error,
	Avoid negative indexes in yycheck and yytname.

1993-03-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (files.o, .c.o): Put CPPFLAGS and CFLAGS last.

1993-03-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Test __sgi like __sparc.

1993-02-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/conflicts.c (resolve_sr_conflict): Add extra parens in
	alloca call.

	* src/bison.simple [__GNUC__] (yyparse): Declare with prototype.

1993-01-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/conflicts.c (print_reduction): Near end, increment fp2 when
	mask recycles.

1993-01-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (bison.s1): New target.  Modifies bison.simple.
	(install): Install bison.s1, without changing it.
	(clean): Delete bison.s1.

1993-01-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/reader.c (reader): Put Bison version in comment in output
	file.

1992-12-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/files.c (openfiles): Use .output, not .out, for outfile,
	regardless of spec_name_prefix.

1992-12-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/output.c (output_gram): Include yyrhs in the same #if as
	yyprhs.

1992-12-15  Noah Friedman  <friedman@nutrimat.gnu.ai.mit.edu>

	* src/output.c (output): output directives checking for
	__cplusplus as well as __STDC__ to determine when to define
	"const" as an empty token.  (Patch from Wolfgang Glunz
	<wogl@sun11a.zfe.siemens.de>)

1992-12-08  David J. MacKenzie  <djm@kropotkin.gnu.ai.mit.edu>

	* src/system.h, src/conflicts.c: Replace USG with HAVE_STRING_H
	and HAVE_MEMORY_H.

1992-11-21  David J. MacKenzie  <djm@goldman.gnu.ai.mit.edu>

	* Makefile.in: Set and use $(MAKEINFO).

1992-11-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/files.c (done) [MSDOS]: Delete the tmpdefsfile with the
	rest.

1992-10-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (dist): Put configure.bat in the distribution.

1992-10-01  David J. MacKenzie  <djm@goldman.gnu.ai.mit.edu>

	* Makefile.in (install): cd to $(srcdir) before installing info
	files.

1992-09-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (files.o): Supply $(DEFS), and $(CPPFLAGS).

1992-09-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Version 1.19 released.

	* src/reader.c (parse_union_decl): Fix ending of C++ comment;
	don't lose the char after the newline.

	* configure.bat: New file.

1992-09-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/conflicts.c: Check for using alloca.h as getopt.c does.

1992-09-06  Karl Berry  <karl@hayley>

	* src/files.c (openfiles): open `fdefines' after we have assigned
	a name to `tmpdefsfile', and only if `definesflag' is set.
	(done): only create the real .tab.h file if `definesflag' is set.
	* src/reader.c (packsymbols): don't close `fdefines' here.

1992-09-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/files.c (openfiles): Open fdefines as temp file, like
	ftable.
	(done): Copy temp defines file to real one, like main output file.

1992-08-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (dist): Don't release mergedir.awk
	(install): Use sed, not awk.  Don't depend on mergedir.awk.
	* mergedir.awk: File effectively deleted.

1992-07-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Test __sparc along with __sparc__.

1992-07-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/lex.c (skip_white_space): Count \n just once at end of c++
	comment.

1992-06-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Comment fix; #line command updated.

1992-06-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (install): Specify full new file name for the
	executable.

1992-06-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (dist): Include bison.rnh in distribution.

Sun Jun 21 22:42:13 1992 Eric Youngdale <youngdale@v6550c.nrl.navy.mil>

	Clean up rough edges in VMS port of bison, add support for
	remaining command line options.

	* src/bison.cld: Add /version, /yacc, /file_prefix, and
	/name_prefix switches.

	* src/build.com: General cleanup: add logic to automatically sense
	which C compiler is present; add code to cwd to the directory that
	contains bison sources; do not define XPFILE, XPFILE1
	(correct defaults are applied in src/file.c).

	* src/files.c: Append _tab, not .tab when using /file_prefix under
	VMS.

	* src/system.h: Include string.h instead of strings.h (a la USG).

	* src/vmsgetargs.c: Add support for all switches added to
	src/bison.cld.

1992-06-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (install): Always specify new file name for install.
	Redirect awk output to temp file and install that.

1992-05-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (yyparse): Make yybackup and yyerrlab1 always
	be used.

1992-05-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (dist): Depend on bison.info
	(bison.info): Delete spurious <.

1992-05-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (.c.o): New rule.  Use $(DEFS) directly.
	(CFLAGS): Use just -g by default.
	(CDEBUG): Variable deleted.

1992-05-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/reader.c (copy_guard): Fix typo skipping comment.

1992-05-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Version 1.18.

	* src/getargs.c (getargs): Change '0' to 0 in case for long
	options.

1992-04-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/reader.c (packsymbols): Handle -p when declaring yylval.

1992-04-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/output.c (output_gram): Output #endif properly at end of
	decl.

1992-03-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Version 1.17.

	* Makefile.in (clean): Don't delete configuration files or TAGS.
	(distclean): New target; do delete those.

1992-03-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/output.c (output_gram): Conditionalize yyprhs on YYDEBUG.

	* src/LR0.c (augment_automaton): If copying sp->shifts to insert
	new shift, handle case of inserting at end.

1992-03-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/lex.c (skip_white_space): Handle C++ comments.
	* src/reader.c (copy_definition, parse_union_decl, copy_guard):
	(copy_action): Likewise.

1992-03-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (YYPOPSTACK): Fix typo.

1992-02-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (install): Install bison.info* files one by one.

1992-02-28  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>

	* src/bison.1: Document long options as starting with `--', not
	`+'.

1992-02-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/getargs.c (getargs): Accept value 0 from getopt_long.

1992-01-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in (mostlyclean): Renamed from `clean'.
	(clean): Renamed from 'distclean'.  Dep on mostlyclean, not
	realclean.
	(realclean): Dep on clean.

1992-01-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Use malloc, not xmalloc, and handle failure
	explicitly.

1992-01-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/conflicts.c (total_conflicts): Delete unused arg to fprintf.

1992-01-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Version 1.16.

1992-01-06  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile (distclean): Depend on clean, not realclean.  Don't rm
	TAGS.
	(realclean): rm TAGS here.

	* src/symtab.c (free_symtab): Don't free the type names.

1991-12-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/machine.h: MSDOS has 32-bit ints if __GO32__.

1991-12-25  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>

	* src/bison.simple [_AIX]: Indent `#pragma alloca', so old C
	compilers don't choke on it.

1991-12-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/getopt.c, src/getopt1.c, src/getopt.h: Link them to standard
	source location.
	* src/alloca.c: Likewise.
	* Makefile.in (dist): Copy those files from current dir.

	* src/getargs.c: Update usage message.

	* src/LR0.c (augment_automaton): Put new shift in proper order.

1991-12-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/conflicts.c: Use memcpy if ANSI C library.

	* src/closure.c (set_fderives): Delete redundant assignment to
	vrow.

	* src/closure.c (print_firsts): Fix bounds and offset checking
	tags.

	* src/closure.c (tags): Declare just once at start of file.

	* src/LR0.c (allocate_itemsets): Eliminate unused var max.
	(augment_automaton): Test sp is non-null.

	* src/lalr.c (initialize_LA): Make the vectors at least 1 element
	long.

	* src/reader.c (readgram): Remove separate YYSTYPE default for
	MSDOS.

1991-12-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/print.c (print_grammar): Don't print disabled rules.

1991-12-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/lex.c (lex): Parse hex escapes properly.
	Handle \v when filling token_buffer.

	* src/lex.c: Include new.h.
	(token_buffer): Change to a pointer.
	(init_lex): Allocate initial buffer.
	(grow_token_buffer): New function.
	(lex, parse_percent_token): Use that.

	* src/reader.c (read_declarations): Call open_extra_files just
	once.
	(parse_token_decl): Don't free previous typename value.  Don't
	increment nvars if symbol is already a nonterminal.
	(parse_union_decl): Catch unmatched close-brace.
	(parse_expect_decl): Null-terminate buffer.
	(copy_guard): Set brace_flag for {, not for }.

	* src/reader.c: Fix %% in calls to fatal.

	* src/reader.c (token_buffer): Just one extern decl, at top level.
	Declare as pointer.

	* src/symtab.c (free_symtab): Free type_name fields.  Free symtab
	itself.

1991-11-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Handle alloca for AIX.

	* Makefile.in (mandir): Compute default using manext.

1991-11-02  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>

	* Update all files to GPL version 2.

1991-09-06  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple (__yy_bcopy): Use builtin if GCC version 2.

1991-08-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/reader.c (parse_assoc_decl): Error if same symbol gets two
	precs.

1991-08-26  David J. MacKenzie  <djm@pogo.gnu.ai.mit.edu>

	* Makefile.in, configure: Only put $< in Makefile if using VPATH,
	because older makes don't understand it.

1991-08-23  David J. MacKenzie  <djm@apple-gunkies>

	* src/conflicts.c [_AIX]: #pragma alloca.
	* src/reduce.c: Don't define TRUE and FALSE if already defined.

1991-08-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile.in: Add deps on system.h.
	(install): Add some deps.

1991-08-02  David J. MacKenzie  <djm@apple-gunkies>

	* Makefile.in (dist): Include texinfo.tex.

	* configure: Create config.status.  Remove it and Makefile if
	interrupted while creating them.

1991-08-01  David J. MacKenzie  <djm@apple-gunkies>

	* configure: Check for +srcdir etc. arg and look for
	Makefile.in in that directory.  Set VPATH if srcdir is not `.'.
	* Makefile.in (prefix): Renamed from DESTDIR.

1991-07-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/print.c (print_grammar): Make output prettier.  Break lines.

1991-07-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/print.c (print_grammar): New function.
	(verbose): Call it instead of printing token names here.

1991-07-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/vmsgetargs.c (spec_name_prefix, spec_file_prefix): Define
	variables.

1991-07-10  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>

	* configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL),
	$(INSTALLTEXT) -> $(INSTALLDATA).

1991-07-09  David J. MacKenzie  <djm@wookumz.gnu.ai.mit.edu>

	* src/bison.simple: Don't include malloc.h if __TURBOC__.

1991-07-06  David J. MacKenzie  <djm@geech.gnu.ai.mit.edu>

	* Replace Makefile with configure and Makefile.in.  Update README
	with current compilation instructions.

1991-07-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/reader.c (reader): Make the output define YYBISON.

1991-06-20  David J. MacKenzie  <djm@geech.gnu.ai.mit.edu>

	* Makefile (MANDIR, MANEXT): Install man page in
	/usr/local/man/man1/bison.1 by default, instead of
	/usr/man/manl/bison.l, for consistency with other GNU programs.
	* Makefile: Rename BINDIR et al. to lowercase to conform to
	GNU coding standards.
	(install): Make man page non-executable.

1991-05-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile (bison.info): New target.
	(realclean): New target.

1991-05-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/bison.simple: Use YYPRINT to print a token, if it's defined.

1991-04-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/lalr.c (transpose): Rename R to R_arg.
	(initialize_LA): Avoid shadowing variable j.

	* src/reader.c (packsymbols): Avoid shadowing variable i.

	* src/files.c: Declare exit and perror.

	* src/machine.h: Define MAXSHORT and MINSHORT for the eta-10.

1991-04-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* src/allocate.c (mallocate): Always allocate at least one byte.

1991-03-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>

	* Makefile (dist): Put alloca.c into distribution.

1991-03-06  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/print.c (print_actions): Nicer output for final states.

1991-02-21  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/output.c (output_rule_data): Break lines in yytline based on
	hpos.

1991-02-07  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/bison.simple (yyparse): Move decl of yylsa before use.

1991-01-15  Richard Stallman  <rms@mole.ai.mit.edu>

	* Version 1.14.

	* src/output.c (output_rule_data): Handle NULL in tags[i].

1991-01-11  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/bison.simple: On MSDOS, include malloc.h.

1990-12-29  David J. MacKenzie  <djm@wookumz.ai.mit.edu>

	* src/files.c: Use `mallocate' instead of `xmalloc' so no extra
	decl is needed.

1990-12-19  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/reader.c (readgram): Alternate YYSTYPE defn for MSDOS.
	* src/files.c [MSDOS]: Declare xmalloc.

1990-12-13  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/output.c (output_rule_data): Put all symbols in yytname.

	* src/bison.simple (yyparse): Delete extra fprintf arg
	when printing a result of reduction.

1990-12-10  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/reader.c (packsymbols): Don't declare yylval if pure_parser.

1990-10-30  Richard Stallman  <rms@mole.ai.mit.edu>

	* Version 1.12.

	* src/LR0.c (augment_automaton): Fix bugs adding sp2 to chain of
	shifts.

1990-10-23  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/bison.simple: Don't define alloca if already defined.

1990-10-21  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/getopt.c: On VMS, use string.h.

	* src/main.c (main): Return type int.

1990-09-10  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/output.c (output_headers): Output macro defs for -p.

	* src/reader.c (readgram): Handle consecutive actions.

	* src/getargs.c (getargs): Rename -a to -p.
	* src/files.c (openfiles): Change names used for -b.

1990-08-27  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/reduce.c (reduce_grammar_tables): Don't map rlhs of disabled
	rule.

1990-08-26  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/closure.c (print_firsts, print_fderives): Use BITISSET to
	test bits.

1990-08-23  Richard Stallman  <rms@mole.ai.mit.edu>

	* src/closure.c (print_firsts): vrowsize => varsetsize.
	(print_fderives): rrowsize => rulesetsize.

1990-08-10  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple (alloca): Don't define if already defined.
	(__yy_bcopy): Alternate definition for C++.

1990-07-11  David J. MacKenzie  <djm@albert.ai.mit.edu>

	* src/getargs.c (getargs): Mention +yacc in usage message.

1990-07-10  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (parse_token_decl, copy_action): Set
	value_components_used if appropriate.
	(readgram): Inhibit output of YYSTYPE definition in that case.

1990-06-30  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/output.c (output_parser): Define YYPURE if pure, and not
	otherwise.  Don't define YYIMPURE.
	* src/bison.simple: Adjust conditionals accordingly.
	* src/bison.simple (YYLEX): If locations not in use, don't pass
	&yylloc.

1990-06-28  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/getargs.c (longopts): Add `yacc'.

1990-06-28  David J. MacKenzie  <djm@apple-gunkies>

	* src/getargs.c (getargs): Add long options.
	* Makefile: Link with getopt1.o and add getopt1.c and getopt.h to
	dist.

	* Move version number and description back into version.c from
	Makefile and getargs.c.
	* Makefile (dist): Extract version number from version.c.

1990-06-26  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/output.c (output): Always call output_gram.
	* src/bison.simple (yyparse): Print rhs and lhs symbols of
	reduction rule.

1990-06-21  David J. MacKenzie  <djm@albert.ai.mit.edu>

	* src/main.c: New global var `program_name' to hold argv[0] for
	error messages.
	* src/allocate.c, src/files.c, src/getargs.c, src/reader.c: Use
	`program_name' in messages instead of hardcoded "bison".

1990-06-20  David J. MacKenzie  <djm@albert.ai.mit.edu>

	* Makefile: Specify Bison version here.  Add rule to pass it to
	version.c.  Encode it in distribution directory and tar file names.
	* src/version.c: Use version number from Makefile.
	* src/getargs.c (getargs): Print additional text that used to be
	part of version_string in version.c.  Use -V instead of -version
	to print Bison version info.  Print a usage message and exit if
	given an invalid option.

1990-06-19  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple: Fix a #line.

	* Makefile (INSTALL): New parameter.
	(install): Use that.
	(CFLAGS): Move definition to top.

1990-06-17  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (parse_type_decl): Ignore semicolon.
	Remove excess % from error messages.

1990-06-16  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Version 1.11.

	* Makefile (install): Ensure installed files readable.

Tue Jun 12 12:50:56 EDT 1990 Jay Fenlason <hack@ai.mit.edu>

	* src/getargs.c: Declare spec_file_prefix

	* src/lex.c (lex): \a is '\007' instead of '007'

	* src/reader.c: include machine.h

	* src/files.h: Declare extern spec_name_prefix.

	Trivial patch from Thorsten Ohl <td12@ddagsi3.bitnet>

1990-05-31  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Version 1.10.

	* src/bison.simple (YYBACKUP, YYRECOVERING): New macros.
	(YYINITDEPTH): This is what used to be YYMAXDEPTH.
	(YYMAXDEPTH): This is what used to be YYMAXLIMIT.
	If the value is 0, use the default instead.
	(yyparse): Return 2 on stack overflow.

1990-05-30  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple (YYERROR): Jump to new label; don't print error
	message.
	(yyparse): Define label yyerrlab1.

1990-05-16  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/files.c (openfiles): Support -b.
	* src/getargs.c (getargs): Likewise.

	* src/reader.c (readgram): Error if too many symbols.

	* src/lex.c (lex): Handle \a.  Make error msgs more reliable.
	* src/reader.c (read_declarations): Make error msgs more reliable.

1990-05-13  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Version 1.09.

	* src/reduce.c (reduce_grammar_tables): Fix backward test.

1990-05-12  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Makefile (bison-dist.*): Rename targets and files to bison.*.
	(bison.tar): Make tar file to unpack into subdirectory named `bison'.

1990-04-30  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reduce.c (reduce_grammar_tables): Set rlhs to -1 for useless
	rules.
	* src/nullable.c (set_nullable): Ignore those rules.
	* src/derives.c (set_derives): Likewise.

1990-04-23  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple (yyparse): Mention rule number as well as line
	number.

1990-03-29  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple (__yy_bcopy): New function.
	(yyparse): Use that, not bcopy.

1990-03-28  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/print.c (print_actions): Don't alter i and j spuriously when
	errp==0.

1990-03-12  Jim Kingdon  <kingdon@pogo.ai.mit.edu>

	* src/bison.simple [__GNUC__]: Use builtin_alloca.

1990-03-07  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Makefile (install): Use mergedir.awk to process bison.simple
	for installation.

	* src/bison.simple (yyparse): New feature to include possible valid
	tokens in parse error message.

1990-03-03  Richard Stallman  <rms@geech>

	* Version 1.08.

1990-02-26  Jim Kingdon  <kingdon@pogo.ai.mit.edu>

	* src/print.c (print_actions)
	* src/conflicts.c (print_reductions): Change "shift %d" to
	"shift, and go to state %d" and "reduce %d" to "reduce using rule %d"
	and "goto %d" to "go to state %d".
	* src/print.c (print_core): Change "(%d)" to "(rule %d)".

1990-02-20  Jay Fenlason  <hack@wookumz.ai.mit.edu>

	* src/bison.simple:  Comment out unused yyresume: label.

1990-02-09  Jay Fenlason <hack@wookumz.ai.mit.edu>

	* src/bison.simple : surround all declarations and (remaining)
	uses of yyls* and yylloc with #ifdef YYLSP_NEEDED This will
	significantly cut down on stack usage, and gets rid of
	unused-variable msgs from GCC.

1990-01-31  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/files.c (done) [VMS]: Don't delete files that weren't used.
	[VMS]: Let user override XPFILE and XPFILE1.

1990-01-03  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Version 1.07.

1989-12-16  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/gram.c (dummy): New function.

	* src/reader.c (readgram): Detect error if two consec actions.

1989-11-15  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reduce.c (reduce_grammar_tables): Update rline like other
	tables.

	* Makefile (install): Install the man page.

1989-11-11  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/output.c (output_rule_data): Write #if YYDEBUG around yyrline.

1989-10-18  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Version 1.06.

	* src/vmsgetargs.c (getargs): Downcase specified output file name.

1989-10-13  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (readgram): Warn if there is no default to use for
	$$ and one is needed.

1989-09-29  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Version 1.05.

	* src/vmsgetargs.h (getargs): Process outfile option.

1989-09-08  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Version 1.04.

	* src/reader.c (parse_union_decl): Count newlines even in
	comments.

1989-09-06  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/files.c (openfiles): short_base_length was always ==
	base_length.

1989-08-24  Richard Stallman  <rms@apple-gunkies.ai.mit.edu>

	* Version 1.03.

	* src/files.c (openfiles): Write output into same dir as input, by
	default.

1989-08-23  Jay Fenlason  <hack@gnu>

	* Makefile: Include system.h in bison-dist.tar

1989-08-15  Richard Stallman  <rms@hobbes.ai.mit.edu>

	* version 1.03.

	* src/reader.c (reader): Output LTYPESTR to fdefines
	only after reading the grammar.

1989-08-06  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (read_declarations): Put space before comment
	to avoid bug in Green Hills C compiler.

1989-06-19  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/allocate.c (xmalloc): New function.

1989-06-16  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/build.com: Compile and link reduce.c.

1989-06-09  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reduce.c (reduce_grammar_tables): Adjust start_symbol when
	#s change.

1989-05-27  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (copy_definition, copy_guard): Don't object to
	\-newline inside strings.

1989-05-22  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/files.c (openfiles): Alternate file names for MSDOS.
	(open_extra_files): Likewise.
	(done): On MSDOS, unlink temp files here, not in openfiles.

	* src/machine.h (BITS_PER_WORD): 16 on MSDOS.
	(MAXTABLE): Now defined in this file.

	* src/system.h: New file includes system-dependent headers.
	All relevant .c files include it.

1989-04-27  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/version.c: Version 1.01.

1989-04-18  Randall Smith  <randy@apple-gunkies.ai.mit.edu>

	* src/conflicts.c (total_conflicts): Fixed typo in yacc style
	output; mention conflicts if > 0.

1989-04-15  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (packsymbols): Start new symbols after 256.

1989-04-12  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (reader): Always assign code 256 to `error' token.
	Always set `translations' to 1 so this code gets handled.
	* src/bison.simple (YYERRCODE): Define it.

1989-04-11  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/conflicts.c: If GNU C, use builtin alloca.

	* Makefile (install): Delete parser files before copying them.

1989-03-30  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/getargs.c (getargs): Turn off checking of name Bison was
	invoked by.

	* Makefile (dist): Include ChangeLog in distrib.

1989-03-23  Jay Fenlason  <hack@apple-gunkies.ai.mit.edu>

	* src/LR0.c src/closure.c src/conflicts.c src/derives.c
	src/files.c src/getargs.c src/lalr.c src/lex.c src/main.c
	src/nullable.c src/output.c src/print.c src/reader.c src/reduce.c
	src/symtab.c src/warshall.c: A first pass at getting gcc -Wall to
	shut up.  Mostly declared functions as void, etc.

	* src/reduce.c moved 'extern int fixed_outfiles;' into print_notices
	where it belongs.

1989-03-01  Randall Smith  <randy@apple-gunkies.ai.mit.edu>

	* src/types.h, src/symtab.h, src/state.h, src/new.h,
	src/machine.h, src/lex.h, src/gram.h, src/files.h, src/closure.c,
	src/vmsgetargs.c, src/warshall.c, src/symtab.c, src/reduce.c,
	src/reader.c, src/print.c, src/output.c, src/nullable.c,
	src/main.c, src/lex.c, src/lalr.c, src/gram.c, src/getargs.c,
	src/files.c, src/derives.c, src/conflicts.c, src/allocate.c,
	src/LR0.c, Makefile, src/bison.simple: Changed copyright notices
	to be in accord with the new General Public License.
	* COPYING: Made a link to the new copying file.

1989-02-22  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/new.h (FREE): Alternate definition for __STDC__ avoids error
	if `free' returns void.

1989-02-21  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (read_declarations): Double a `%' in a format string.
	(copy_definition, parse_start_decl, parse_token_decl): Likewise.
	(parse_type_decl, parse_union_decl, copy_guard, readgram, get_type).
	(copy_action): change a `fatal' to `fatals'.

	* src/lalr.c (map_goto): Initial high-end of binary search was off
	by 1.

1989-02-18  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple [sparc]: Include alloca.h.

1989-02-15  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (packsymbols): Write decl of yylval into .tab.h file.

1989-01-28  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple: Avoid comments on `#line' lines.

	* src/reader.c (LTYPESTR): Rearrange to avoid whitespace after
	\-newline.

1989-01-09  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/conflicts.c (total_conflicts): if -y, use output syntax
	POSIX wants.
	* src/reduce.c (print_notices): likewise.

	* src/lex.c (lex): Handle \v, and \x hex escapes.

	* src/reader.c (reader): Merge output_ltype into here.  Don't
	output YYLTYPE definition to .tab.h file unless the @ construct is
	used.

	* src/bison.simple: Define YYERROR, YYABORT, YYACCEPT here.
	* src/reader.c (output_ltype): Don't output them here.

	* src/bison.simple: YYDEBUG now should be 0 or 1.
	* src/output.c (output): For YYDEBUG, output conditional to define it
	only if not previously defined.

1989-01-02  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple (yyparse) [YYPURE]: Add local yynerrs.
	(yydebug): Declare global, but don't initialize, regardless of
	YYPURE.
	(yyparse): Don't declare yydebug here.

1988-12-22  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reduce.c (print_notices): Typo in message.

1988-12-11  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/output.c (pack_table): Free only nonzero the elts of froms &
	tos.

1988-12-08  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/gram.c (rprecsym): New vector indicates the %prec symbol for
	a rule.
	* src/reader.c (packgram): Allocate it and fill it in.
	* src/reduce.c (inaccessable_symbols): Use it to set V1.
	* src/reduce.c (print_results): Don't complain about useless token
	if it's in V1.

1988-12-05  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/machine.h (RESETBIT, BITISSET): New macros.
	(SETBIT, WORDSIZE): Change to use BITS_PER_WORD.

	* src/reduce.c: New file, by David Bakin.  Reduces the grammar.
	* Makefile: Compile it, link it, put it in dist.

	* src/main.c (main): Call reduce_grammar (in reduce.c).

1988-11-17  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/conflicts.c: Don't declare alloca if including alloca.h.

	* src/bison.cld: Define qualifiers `nolines', `debug'.
	* src/vmsgetargs.c (getargs): Handle them.

	* src/output.c (output_program): Notice `nolinesflag'.

	* src/output.c (output_parser): Simplify logic for -l and #line.
	Avoid writing EOF char into output.

1988-10-12  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Implement `-l' option.
	* src/getopt.c: Set flag `nolinesflag'.
	* src/reader.c (copy_definition, parse_union_decl, copy_guard,
	copy_action) Obey that flag; don't generate #line.
	* src/output.c (output_parser): Discard #line's when copying the
	parser.

1988-09-12  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (copy_guard): Fix brace-counting for
	brace-surrounded guard.

1988-09-08  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/bison.simple: Correct number in #line command.
	(yyparse): Call YYABORT instead of YYERROR, due to last change in
	output_ltype.

1988-09-05  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* Makefile: New variable LIBS.  Alternatives for USG.
	* src/conflicts.c [USG]: Define bcopy.
	* src/symtab.c [USG]: Include string.h instead of strings.h.

	* src/conflicts.c [sparc]: Include alloca.h.

1988-08-02  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (parse_token_decl): Ignore commas.

1988-06-25  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/reader.c (output_ltype): Make YYERROR yacc-compatible (like
	YYFAIL).

1988-06-24  Richard Stallman  <rms@sugar-bombs.ai.mit.edu>

	* src/getargs.c (getargs): -t sets debugflag.
	Eliminate upper case duplicate options.
	* src/output.c (output): If debugflag, output `#define YYDEBUG'.

1988-05-26  Richard Stallman  <rms@frosted-flakes.ai.mit.edu>

	* src/allocate.c (mallocate): New name for `allocate' (which loses
	in VMS).  Calls changed in LR0.c, conflicts.c, symtab.c, new.h.

	* src/getargs.c (getargs): If argv[0] is "yacc", set fixed_outfiles.

1988-05-17  Richard Stallman  <rms@frosted-flakes.ai.mit.edu>

	* src/conflicts.c: Declare alloca.
	* src/reader.c: Declare realloc.
	* src/warshall.c (TC): Fix one arithmetic op that was omitted last
	time.

1988-05-05  Richard Stallman  <rms@frosted-flakes.ai.mit.edu>

	* src/bison.simple: Conditionalize most refs to yylsp on
	YYLSP_NEEDED.
	* src/reader.c (copy_guard, copy_action): Notice if `@' is used.
	(reader): If it was, output `#define YYLSP_NEEDED'.

1988-04-18  Richard Stallman  <rms@rice-krispies.ai.mit.edu>

	* src/bison.simple: New variable yynerr counts calls to yyerror.

	* src/lex.c (lex, case '='): Update lineno when skipping a newline.

	* src/reader.c (parse_expect_decl): ungetc the char that ends the
	number; don't read any further.  This handles multi-line comments
	right and avoids incorrect lineno.

	* src/reader.c: Delete duplicate decl of symval.

	* src/warshall.c (RTC, TC): Cast ptrs to char *, not unsigned, for
	arith.
