]> git.saurik.com Git - bison.git/commitdiff
maint: generate ChangeLog from git log
authorJim Meyering <meyering@redhat.com>
Thu, 19 Jan 2012 08:07:02 +0000 (09:07 +0100)
committerJim Meyering <meyering@redhat.com>
Fri, 20 Jan 2012 08:33:14 +0000 (09:33 +0100)
* Makefile.am (gen-ChangeLog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Distribute the two ChangeLog-* files.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
(bootstrap_post_import_hook): Ensure that ChangeLog exists.
* build-aux/git-log-fix: New file.
* ChangeLog-2012: Renamed ...
* ChangeLog: ... from this.
* ChangeLog-1998: Renamed ...
* OChangeLog: ...from this
* .gitignore: Add ChangeLog.

.gitignore
ChangeLog [deleted file]
ChangeLog-1998 [new file with mode: 0644]
ChangeLog-2012 [new file with mode: 0644]
Makefile.am
OChangeLog [deleted file]
bootstrap.conf
build-aux/.gitignore
build-aux/git-log-fix [new file with mode: 0644]

index 27f9b06d700d5405ccecfc0363d2775ddea91652..a2ac6cedfefd6b82b0115a9b42db3d8cb297d38a 100644 (file)
@@ -1,4 +1,3 @@
-
 /*.cache
 /*.flc
 /*.prj
@@ -7,6 +6,7 @@
 /.version
 /ABOUT-NLS
 /COPYING
+/ChangeLog
 /GNUmakefile
 /INSTALL
 /Makefile
@@ -31,4 +31,3 @@
 /patches
 /releases
 /stamp-h*
-
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644 (file)
index faa7e18..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,26741 +0,0 @@
-2012-01-15  Akim Demaille  <demaille@gostai.com>
-
-       java: fix reduction traces.
-       * data/lalr1.java (yy_reduce_print): Fix state index.
-       Reported by Tim Landscheidt.
-
-2012-01-12  Jim Meyering  <meyering@redhat.com>
-
-       build: avoid warning from coverity about lbitset_elt_find
-       * lib/lbitset.c (lbitset_elt_find): Remove unnecessary test of "elt",
-       at a point where we know it is non-NULL, due to prior dereference.
-
-2012-01-13  Jim Meyering  <meyering@redhat.com>
-
-       maint: get fdl.texi from gnulib
-       * bootstrap.conf (gnulib_modules): Add fdl.
-       * doc/fdl.texi: Remove file.
-       * doc/.gitignore: Add it here.
-
-       maint: spell "file system" as two separate words
-       * doc/Doxyfile.in: Spell it "file system", to avoid a
-       "make syntax-check" failure.
-
-       maint: avoid "the the"
-       * djgpp/README.in: s/the the/the/
-       * src/parse-gram.c (lloc_default): Likewise.
-       * src/parse-gram.y (lloc_default): Likewise, and remove a
-       trailing space.
-
-2012-01-13  Akim Demaille  <akim@lrde.epita.fr>
-
-       maint: factor copyright year.
-       * configure.ac: Use $PACKAGE_COPYRIGHT_YEAR instead of repeating it.
-
-2012-01-13  Akim Demaille  <akim@lrde.epita.fr>
-
-       maint: catch missing gnulib macros.
-       * configure.ac: Add m4_pattern_forbid.
-
-2012-01-11  Tim Landscheidt  <tim@tim-landscheidt.de>
-
-       java: remove used variable.
-       * data/lalr1.java (yyresult): remove, unused.
-
-2012-01-11  Akim Demaille  <demaille@gostai.com>
-
-       scanner: fix typo.
-       * src/scan-skel.l (@`): s/emtpy/empty/.
-       Reported by Tim Landscheidt.
-
-2012-01-06  Jim Meyering  <meyering@redhat.com>
-
-       build: avoid warnings about set-but-not-used variables
-       * lib/bitset_stats.c (bitset_stats_list): Remove declaration
-       and set of unused local, "type".
-       * lib/ebitset.c (ebitset_init): Likewise, for "size".
-       * lib/lbitset.c (lbitset_not): Likewise, for "elt".
-
-2011-08-21  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       lalr1.cc: remove trailing comma from enumerator list.
-       * data/lalr1.cc (yy::parser): Here.  This suppresses a -pedantic
-       warning.
-
-2011-08-21  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       tests: add -pedantic for --enable-gcc-warnings.
-       This should help to avoid some portability problems.  For example,
-       it would have revealed the empty unions fixed by the last patch
-       * configure.ac (WARN_CFLAGS_TESTS, WARN_CXXFLAGS_TEST): Implement.
-       * tests/synclines.at (AT_TEST_SYNCLINE): Avoid -pedantic warning
-       about an empty translation unit.
-
-2011-08-21  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       tests: fix empty unions.
-       Empty unions are not accepted by the ISO C99 grammar or by at
-       least some versions of Sun Studio.  Reported by Wolfgang S. Kechel
-       at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-08/msg00003.html>.
-       * NEWS (2.5.1): Document fix.
-       * THANKS (Wolfgang S. Kechel): Add.
-       * tests/existing.at (GNU Cim Grammar)
-       (GNU pic (Groff 1.18.1) Grammar.): Remove empty %union.
-
-2011-07-24  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       global: remove unnecessary horizontal tabs.
-       This change was made by applying emacs' untabify function to
-       nearly all files in Bison's repository.  Required tabs in make
-       files, ChangeLog, regexps, and test code were manually skipped.
-       Other notable exceptions and changes are listed below.
-       * bootstrap: Skip because we sync this with gnulib.
-       * data/m4sugar/foreach.m4
-       * data/m4sugar/m4sugar.m4: Skip because we sync these with
-       Autoconf.
-       * djgpp: Skip because I don't know how to test djgpp properly, and
-       this code appears to be unmaintained anyway.
-       * README-hacking (Hacking): Specify that tabs should be avoided
-       where not required.
-
-2011-07-10  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       build: avoid YACC typo inherited from Autoconf.
-       The typo shows up in the `configure --help' output.  Reported by
-       W.C.A. Wijngaards and Paul Eggert at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-07/msg00000.html>.
-       * README-hacking (Release Procedure): Remind about updating
-       maintainer tools before a release.
-       * THANKS (W.C.A. Wijngaards): Add.
-       * configure.ac (AC_PREREQ): Set to 2.68, which fixes the YACC
-       typo.
-
-2011-07-10  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       build: create xz instead of bzip2 tarballs.
-       Suggested by Jim Meyering at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-06/msg00012.html>.
-       * README-hacking (Release Procedure): Update example.
-       * configure.ac (AM_INIT_AUTOMAKE): Replace dist-bzip2 with
-       dist-xz.
-
-2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: clean up references to `Locations Overview'.
-       * doc/bison.texinfo (Locations Overview): Rename node to...
-       (Locations): ... this, which is its section name.  Update menus to
-       match that and not to use the title `Tracking Locations', which is
-       a different section.
-
-2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: clean up references to `Tracking Locations'.
-       * doc/bison.texinfo (Locations): Rename node to...
-       (Tracking Locations): ... this, which is its section name, and
-       update all cross references.  The trouble is that there is another
-       node about locations.  Its section name is `Locations', which was
-       easily confused with the node name of this node.  Moreover, its
-       node name is `Locations Overview', which was mistakenly used to
-       label some cross references to this node.
-
-2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: clean up `Named References' a little.
-       * doc/bison.texinfo (Named References): Rename section to match
-       the node name, and update all cross references.  Don't use the
-       acronyms RHS and LHS given that we don't expand them anywhere in
-       the manual.  Try to use @samp and @code properly.  Mention that
-       named references are experimental as we've already stated in NEWS.
-       (Destructor Decl): Expand the only remaining use of RHS or LHS.
-
-2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: motivate named references.
-       Suggested by Hans Aberg at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
-       * doc/bison.texinfo (Named References): Explain briefly how
-       they're better than the traditional positional references.
-
-2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: discuss named references after locations.
-       Reported by Hans Aberg at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
-       * NEWS (2.5.1): Document.
-       * doc/bison.texinfo (Named References): Because it discusses
-       locations in addition to semantic values, move this subsection out
-       of the section `Defining Language Semantics', where locations have
-       not yet been introduced, to be a new section after the following
-       section, `Tracking Locations'.
-
-2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Prepare for the possibility of a 2.5.1 release.
-       * NEWS (2.5.1): New heading.
-
-2011-05-14  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Version 2.5.
-       * NEWS (2.5): Set date.
-
-2011-05-14  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Don't use IF_LINT in Bison sources.
-       It creates unnecessary differences between the sources that Bison
-       maintainers build and test (given that maintainers normally
-       configure with --enable-gcc-warnings) and the sources that Bison
-       users build.  Instead, use PACIFY_CC, which doesn't.  This change
-       fixes compiler warnings reported by Tys Lefering at
-       <http://lists.gnu.org/archive/html/bison-patches/2011-05/msg00004.html>.
-       * configure.ac: Don't AC_DEFINE lint regardless of the configure
-       options.  This change affects imported gnulib sources, where
-       IF_LINT still appears and depends on lint.
-       * src/scan-gram.l, src/scan-skel.l: Replace uses of IF_LINT with
-       PACIFY_CC.
-       * src/system.h (IF_LINT): Remove cpp macro.
-       (PACIFY_CC): New cpp macro.
-
-2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Fix precedence for end token.
-       Since Bison 2.3b, which restored the ability of precedence
-       directives to assign user token numbers, doing so for user token
-       number 0 has produced an assertion failure.
-       * NEWS (2.5): Document fix.
-       * src/symtab.c (symbol_user_token_number_set): In the case of the
-       end token, don't decrement ntokens if it was never incremented.
-       * tests/regression.at (Token number in precedence declaration):
-       Extend.
-
-2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Pacify -DGNULIB_POSIXCHECK.
-       * bootstrap.conf (gnulib_modules): Add all modules suggested by
-       -DGNULIB_POSIXCHECK.
-       * src/files.c (file_name_split)
-       * src/getargs.c (getargs)
-       * src/location.c (boundary_set_from_string)
-       * src/output.c (output_skeleton)
-       * src/parse-gram.y (prologue_declaration)
-       * src/scan-gram.l (handle_syncline)
-       * src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of
-       strchr and strrchr.  In the cases of command-line options, file
-       names, and thus locations, functionality may be improved.  In the
-       case of symbol names, there should be no functional difference as
-       all characters are ASCII, so the intended benefit is just warning
-       suppression.
-
-2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       * NEWS (2.5): Fix minor typos.
-
-2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: clean up quotation style in NEWS.
-       * NEWS (2.5): For multi-character tokens in example grammar rules,
-       use "token" not 'token'.  In English, use a consistent quotation
-       style; we might as well follow the precedent seen in info pages:
-       `quote' not "quote".
-
-2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       tests: pacify gcc 4.6.0's -Wunused-but-set-variable.
-       Reported by Jim Meyering at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
-       * tests/actions.at
-       (Default %printer and %destructor for mid-rule values): Define
-       YYLLOC_DEFAULT so that it uses its Rhs argument.
-
-2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       glr.c: omit yyresolveLocations when locations are disabled.
-       This prevents gcc 4.6.0's -Wunused-but-set-variable from warning
-       about yyresolveLocations's local yyrhsloc.  When locations are
-       enabled, there's no such warning because YYLLOC_DEFAULT then uses
-       yyrhsloc.  Reported by Jim Meyering at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
-       * data/glr.c (yyresolveLocations): Omit definition when locations
-       are disabled.
-       (yyresolveValue): Omit yyresolveLocations invocation when
-       locations are disabled.
-
-2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       gnulib, autoconf: update.
-       * README-hacking (Updating a submodule): Give advice on how to
-       determine the versions of gnulib and autoconf to which we should
-       update.
-       (Release Procedure): Note that submodules should be updated.
-       * bootstrap.conf (gnulib_modules): Rename pipe to spawn-pipe as
-       suggested in updated gnulib NEWS.
-       * gnulib: Choose a stable snapshot according to advice in Bison's
-       README-hacking.
-       * po/POTFILES.in (lib/pipe.c): Rename to...
-       (lib/spawn-pipe.c): ... this.
-       * src/output.c: Update to include spawn-pipe.h.
-       * submodules/autoconf: Update to latest for improvement in m4.m4
-       that excludes M4 with buggy strstr.  The only other changes to
-       files that we use are copyright updates.
-
-2011-04-09  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Fix missing updates to GPLv3.
-       Reported by Tys Lefering at
-       <http://lists.gnu.org/archive/html/bison-patches/2011-04/msg00000.html>.
-       * src/print-xml.c, src/print-xml.h: In these files.
-
-2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Add -Wconflicts-sr and -Wconflicts-rr.
-       Thus, conflict reports are now affected by -Werror and -Wnone
-       (unless %expect or %expect-rr is specified).  Reported by George
-       Neuner at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
-       * NEWS (2.5): Document.
-       * doc/bison.texinfo (Bison Options): Document.
-       * src/complain.c, src/complain.h (set_warning_issued): Export
-       function.
-       * src/conflicts.c (conflicts_print): Suppress conflict report
-       based on -Wno-conflicts-sr and -Wno-conflicts-rr, and treat
-       conflicts as errors if -Werror.
-       * src/getargs.c (warnings_flag): Initialize with
-       warnings_conflicts_sr and warnings_conflicts_rr as well.
-       (warnings_args, warnings_types): Add entries for
-       warnings_conflicts_sr and warnings_conflicts_rr.
-       (usage): Update.
-       * src/getargs.h (enum warnings): Add entries for
-       warnings_conflicts_sr and warnings_conflicts_rr.
-       * tests/conflicts.at (-W versus %expect and %expect-rr): New test
-       group.
-       * tests/local.at (AT_BISON_CHECK_NO_XML): Update now that the
-       conflict report can produce a "warnings being treated as errors"
-       message.  Also, check that stderr is now fully scrubbed by -Wnone
-       when the exit status is 0.
-
-2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Pacify maintainer-check-posix.
-       Adding command-line options after the grammar file name is not
-       permitted, so disable checks that do that when
-       maintainer-check-posix is running.
-       * tests/local.at (AT_BISON_CHECK_NO_XML): Don't run the
-       problematic checks when POSIXLY_CORRECT=1.  Also, for readability,
-       remove an unnecessary m4_if.
-
-2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Add -Wother so -Wnone suppresses all warnings.
-       Reported by George Neuner at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
-       * NEWS (2.5): Document.
-       * THANKS (George Neuner): Add.
-       * doc/bison.texinfo (Bison Options): Document.
-       * src/complain.c, src/complain.h
-       (warn_at, warn_at_indent, warn): Suppress warning if -Wno-other.
-       (midrule_value_at): New warning function, similar to yacc_at in
-       that it's controlled by its own warning category.
-       * src/getargs.c (warnings_flag): Initialize to warnings_other.
-       (warnings_args, warnings_types): Add entry for warnings_other.
-       (usage): Update.
-       * src/getargs.h (enum warnings): Add entry for warnings_other.
-       * src/gram.c (grammar_rules_useless_report): If -Wno-other, then
-       don't print useless rules.
-       * src/reader.c (symbol_should_be_used): Rather than adjusting the
-       return value based on whether midrule value warnings are enabled,
-       accept a new parameter for telling the caller whether true is
-       being returned for a potential midrule warning.
-       (grammar_rule_check): Use midrule_value_at for midrule value
-       warnings, and continue to use warn_at for all other warnings.  Let
-       them check whether the warnings are enabled.
-       * tests/local.at (AT_BISON_CHECK): Update documentation.
-       (AT_BISON_CHECK_NO_XML): Check that -Wnone and --warnings=none
-       disable all warnings exercised in the test suite.
-
-2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Don't let -Wnone disable -Werror.
-       Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2010-08/msg00009.html>.
-       * NEWS (2.5): Document.
-       * src/getargs.c (flags_argmatch): Accept a new argument that
-       specifies what flags "all" and thus "none" affect.
-       (FLAGS_ARGMATCH): Update flags_argmatch invocation.
-       * tests/input.at (-Werror is not affected by -Wnone and -Wall):
-       New test group.
-
-2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       * NEWS (2.5): Document fix for -Wno-CATEGORY.
-
-2011-03-20  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: fix confusing citation of LAC publication.
-       Suggested by Akim Demaille.
-       * doc/bison.texinfo (LAC): Here.
-
-2011-03-20  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       lr.default-reductions: rename "full" value to "most".
-       Unlike "consistent" and "accepting", "full" doesn't answer the
-       question of "which states".
-       * doc/bison.texinfo (%define Summary): Update.
-       (Default Reductions): Update.
-       * src/print.c (print_reductions): Update.
-       * src/reader.c (prepare_percent_define_front_end_variables):
-       Update.
-       * src/tables.c (action_row): Update.
-       * tests/input.at (%define enum variables): Update.
-       * tests/reduce.at (%define lr.default-reductions): Update.
-
-2011-03-13  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       * src/parse-gram.c, src/parse-gram.h: Regenerate.
-
-2011-03-09  Akim Demaille  <akim@lrde.epita.fr>
-
-       named references: fix double free.
-       In `rhs[name]: "a" | "b"', do not free "name" twice.
-       Reported by Tys Lefering.
-       <http://lists.gnu.org/archive/html/bug-bison/2010-06/msg00002.html>
-       * src/named-ref.h, src/named-ref.c (named_ref_copy): New.
-       * src/parse-gram.y (current_lhs): Rename as...
-       (current_lhs_symbol): this.
-       (current_lhs): New function.  Use it to free the current lhs
-       named reference.
-       * src/reader.c: Bind lhs to a copy of the current named reference.
-       * src/symlist.c: Rely on free (0) being valid.
-       * tests/named-refs.at: Test this.
-
-2011-03-09  Akim Demaille  <akim@lrde.epita.fr>
-
-       tests: style changes.
-       * tests/named-refs.at (Redundant words in LHS brackets)
-       (Unresolved references): here.
-
-2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       java: fix parser tracing bug.
-       * NEWS (2.5): Document.
-       * data/lalr1.java (YYParser::YYStack::print): Don't skip top
-       element.
-
-2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       java: finish fixing parser stack popping bug.
-       * NEWS (2.5): Document.
-       * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
-       in clearing the location stack.  Also fix pop function that
-       accepts no arguments.
-
-2011-03-06  Angelo Borsotti  <angelo.borsotti@gmail.com>  (tiny change)
-
-       java: fix parser stack popping bug.
-       Reported at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-02/msg00005.html>.
-       * THANKS (Angelo Borsotti): Add.
-       * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
-       in clearing the value stack.  Previously, the top element of the
-       stack wasn't cleared and so the value was not garbage collected.
-
-2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: cite publication for LAC.
-       * doc/bison.texinfo (LAC): Here.
-
-2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: clean up terminology for mysterious conflicts.
-       * doc/bison.texinfo (Mystery Conflicts): Rename node to...
-       (Mysterious Conflicts): ... this, which is already the section
-       title and the name used in the index.  Update all cross-references
-       to this node.  Also, don't imply that R/R conflicts are the only
-       kind of mysterious conflict.
-
-2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       lr.default-reductions: rename "all" value to "full".
-       States that shift the error token do not have default reductions,
-       and GLR disables some default reductions, so "all" was a misnomer.
-       * doc/bison.texinfo (%define Summary): Update.
-       (Default Reductions): Update.
-       * src/print.c (print_reductions): Update.
-       * src/reader.c (prepare_percent_define_front_end_variables):
-       Update.
-       * src/tables.c (action_row): Update.
-       * tests/input.at (%define enum variables): Update.
-       * tests/reduce.at (%define lr.default-reductions): Update.
-
-2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: create a new Tuning LR section in the manual.
-       And clean up all other documentation of the features described
-       there.
-       * NEWS (2.5): Tweak wording of lr.type and parse.lac entries a
-       bit, update the cross-references to the manual, and point out that
-       LAC has caveats.  Don't be so adamant that IELR+LAC=canonical LR.
-       That is, as the referenced section in the manual documents, LAC
-       does not fix infinite parsing loops on syntax errors.
-       * doc/bison.texinfo: Consistently drop the "(1)" suffix from LALR,
-       IELR, and LR in @cindex.
-       (%define Summary): Condense the entries for lr.default-reductions,
-       lr.keep-unreachable-states, lr.type, and parse.lac into brief
-       summaries, and cross-reference the appropriate subsections of
-       Tuning LR.  For parse.lac, mention that it's only implemented for
-       deterministic parsers in C.  In parse.error entry, mention LAC,
-       and add cross-reference to the LAC section.
-       (Error Reporting): When mentioning parse.error, mention LAC, and
-       add cross-reference to the LAC section.
-       (Tuning LR): New section with an extended version of the
-       documentation removed from %define Summary.  Change all
-       cross-references in the manual to point here instead of there.
-       (Calc++ Parser): When mentioning parse.error, mention LAC, and add
-       cross-reference to the LAC section.
-       (Table of Symbols): In %error-verbose entry, add cross-reference
-       to Error Reporting.
-       (Glossary): Capitalize entry titles consistently.  Add definitions
-       for "defaulted state" and "unreachable state".  Expand IELR
-       acronym in IELR's entry.
-
-2011-02-20  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: add bibliography to manual.
-       * doc/bison.texinfo (Mystery Conflicts): Cross-reference
-       bibliography instead of citing publications directly.
-       (Generalized LR Parsing): Likewise.
-       (Bibliography): New section.  Not all entries are cross-referenced
-       yet, but that will come in future patches.
-
-2011-02-19  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       java: test and document previous bug fix.
-       * NEWS (2.5): Document it.
-       * tests/java.at (_AT_DATA_JAVA_CALC_Y): To one of the yyerror
-       invocations, pass a location that spans multiple tokens.  Change
-       yyerror to report all of a location rather than just the begin
-       position.  Extend yylex and Position to count tokens on a line.
-       Remove getHashCode as it's unused.  Update all expected output.
-
-2011-02-19  Bernd Kiefer  <kiefer@dfki.de>  (tiny change)
-
-       java: fix location handling bug.
-       Reported at
-       <http://lists.gnu.org/archive/html/bison-patches/2011-02/msg00005.html>.
-       * data/lalr1.java (YYParser::yylloc): For non-empty RHS, fix
-       reversed access to location stack.
-       * THANKS (Bernd Kiefer): Add.
-
-2011-02-13  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: fix some minor inconsistencies.
-       * doc/bison.texinfo (%define Summary): Fix mislabeled entry for
-       lex_symbol.
-       (%code Summary): For consistency with the variable list in the
-       %define Summary, enclose the list of %code qualifiers in a table
-       instead of an itemize.
-
-2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: clean up new subsections in manual.
-       * doc/bison.texinfo (%define Summary): Reword so it reads well as
-       a separate section.  For example, add an intro, and move most of
-       the text outside of the @deffn so it is not indented so far.
-       (%code Summary): Likewise.
-       (Table of Symbols): Reword %code entry to match the %code entry in
-       Decl Summary.
-
-2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: finish splitting apart the manual's Decl Summary section.
-       Suggested by Akim Demaille at
-       <http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
-       * doc/bison.texinfo (Decl Summary): Extract most of the %define
-       entry into...
-       (%define Summary): ... this new subsection, and update all
-       cross-references.  For readability of the patches, rewriting of
-       the text so it makes sense as a separate subsection will come in a
-       later patch.  Moreover, the majority of the text describing the
-       various new LR features should likely move to another new section
-       somewhere.
-
-2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: begin to split apart the manual's Decl Summary section.
-       Discussed in thread starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
-       * doc/bison.texinfo (Decl Summary): Extract most of the %code
-       entry into...
-       (%code Summary): ... this new subsection, and update all
-       cross-references.  For readability of the patches, rewriting of
-       the text so it makes sense as a separate subsection will come in a
-       later patch.
-
-2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: clean up naming of various Bison files.
-       The Bison manual's names for various files associated with a Bison
-       parser has devolved into inconsistency.  This patch makes the
-       naming consistent for the most important files.  First, it chooses
-       "grammar file" over "input file".  The former appears to be more
-       traditional in the Bison manual, and Bison has other input
-       files (skeletons).  Second, it chooses "parser implementation
-       file" over names like "parser file", "parser source file", "parser
-       source code file", and "parser output file".  The new name makes
-       it clearer where Bison generates the main parser implementation,
-       and it is easily distinguishable from "parser header file".
-       * doc/bison.texinfo: Implement throughout.
-
-2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: give credit to more of Bison's developers.
-       * doc/bison.texinfo (Introduction): Don't imply that only Robert
-       Corbett, Richard Stallman, and Wilfred Hansen have contributed to
-       Bison.  However, I don't have time to write a full history, so
-       just point readers to THANKS and ChangeLog.
-
-2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: document experimental features better.
-       * doc/bison.texinfo (Introduction): Say that IELR(1) and canonical
-       LR(1) are experimental.  Mention Java.  Normally experimental
-       features probably shouldn't be mentioned in the introduction.
-       However, if Bison's limitations to LALR(1), C, and C++ are so
-       important that they should be mentioned here, then it's important
-       to point out that Bison is beginning to escape those limitations.
-       Moreover, these particular experimental features have very little
-       chance of being removed.
-       * src/getargs.c (usage): Say that IELR(1) and canonical LR(1) are
-       experimental.
-
-2011-01-29  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Do not allow identifiers that start with a dash.
-       This cleans up our previous fixes for a bug whereby Bison
-       discarded `.field' in `$-1.field'.  The previous fixes were less
-       restrictive about where a dash could appear in an identifier, but
-       the restrictions were hard to explain.  That bug was reported and
-       this final fix was originally suggested by Paul Hilfinger.  This
-       also fixes a remaining bug reported by Paul Eggert whereby Bison
-       parses `%token ID -123' as `%token ID - 123' and handles `-' as an
-       identifier.  Now, `-' cannot be an identifier.  Discussed in
-       threads beginning at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00000.html>,
-       <http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00004.html>.
-       * NEWS (2.5): Update entry describing the dash extension to
-       grammar symbol names.  Also, move that entry before the named
-       references entry because the latter mentions the former.
-       * doc/bison.texinfo (Symbol): Update documentation for symbol
-       names.  As suggested by Paul Eggert, mention the effect of periods
-       and dashes on named references.
-       (Decl Summary): Update documentation for unquoted %define values,
-       which, as a side effect, can no longer start with dashes either.
-       * src/scan-code.l (id): Implement.
-       * src/scan-gram.l (id): Implement.
-       * tests/actions.at (Exotic Dollars): Extend test group to exercise
-       bug reported by Paul Hilfinger.
-       * tests/input.at (Symbols): Update test group, and extend to
-       exercise bug reported by Paul Eggert.
-       * tests/named-refs.at (Stray symbols in brackets): Update test
-       group.
-       ($ or @ followed by . or -): Likewise.
-       * tests/regression.at (Invalid inputs): Likewise.
-
-2011-01-24  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       * data/yacc.c: Fix last apostrophe warning from xgettext.
-
-2011-01-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix minor problems encountered by a fresh bootstrap.
-       * data/glr.c, data/yacc.c: Do not use apostrophes in '#' comments,
-       as they confuse xgettext, which tries to parse them as C character
-       constants in a preprocessor directive.
-       * data/yacc.c (yy_lac): Don't use printf %d format on *yyesp, as
-       that expression might not promote to int on some platforms.
-       * src/parse-gram.c, src/parse-gram.h: Regenerate.
-
-2011-01-09  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Improve error messages for `$' or `@' followed by `.' or `-'.
-       Previously, for this special case of an invalid reference, the
-       usual "symbol not found in production:" was printed.  However,
-       because the symbol name was parsed as the empty string, that
-       message was followed immediately by a newline instead of a symbol
-       name.  In reality, this is a syntax error, so the reference is
-       invalid regardless of the symbols actually appearing in the
-       production.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2011-01/msg00012.html>.
-       * src/scan-code.l (parse_ref): Report the above case as a syntax
-       error.  Other than that, continue to handle this case like any
-       other invalid reference that Bison manages to parse because
-       "possibly meant" messages can still be helpful to the user.
-       * tests/named-refs.at ($ or @ followed by . or -): New test group.
-
-2011-01-08  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: don't use @acronym.
-       Lately, many GNU packages are dropping it.  See
-       <http://lists.gnu.org/archive/html/bison-patches/2011-01/msg00003.html>.
-       * doc/bison.texinfo: Remove all uses.
-
-2011-01-05  Alex Rozenman  <rozenman@gmail.com>
-
-       Do not allow identifiers that start with a negative number.
-       Reported by Paul Hilfinger as a side effect of named references
-       support at
-       <http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00000.html>.
-       Suggested by Paul Eggert.
-       * src/scan-code.l ({letter}, {id}): Adjust lexical definitions.
-       * src/scan-gram.l ({letter}, {id}): Likewise.
-
-2011-01-03  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       * ChangeLog (2011-01-02): improve description.
-
-2011-01-03  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       maint: don't update copyright years in bootstrap.
-       * .x-update-copyright: Add entry for bootstrap.
-       * bootstrap: Remove 2011 from copyright years.  The bootstrap
-       version we're currently using comes from an older version of
-       gnulib.
-       * bootstrap.conf (bootstrap_sync): Add comments explaining this
-       issue.
-
-2011-01-02  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       maint: run "make update-copyright".
-
-2011-01-02  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       maint: prepare to use year ranges in copyright notices.
-       * README (Copyright statements): New section explaining the range
-       notation.  The GNU maintainers document requires this explanation:
-       <http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices>.
-       I copied our explanation from coreutils.
-       * build-aux/update-b4-copyright: Revert 2010-06-17 changes that
-       disabled Bison's automated use of ranges.
-       * cfg.mk (update-copyright-env): Likewise.
-
-2011-01-02  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Correct my email address.
-       * ChangeLog: In all recent entries.
-       * THANKS (Joel E. Denny): Here.
-
-2010-12-19  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: cleanup.
-       * NEWS (2.5): Try to sort entries according to how interesting
-       users might find them.
-
-2010-12-19  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: cleanup.
-       * NEWS (2.5): Make some minor improvements to wording, and format
-       entries more consistently.
-       * doc/bison.texinfo (Language and Grammar): Point out that IELR
-       and canonical LR are experimental features.
-       (Decl Summary): In list of %define variables, make wording more
-       consistent.  Improve discussion of using LALR for GLR.
-
-2010-12-19  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       parse.lac: document.
-       * NEWS (2.5): Add entry for LAC, and mention LAC in entry for
-       other corrections to verbose syntax error messages.
-       * doc/bison.texinfo (Decl Summary): Rewrite entries for
-       lr.default-reductions and lr.type to be clearer, to mention
-       %nonassoc's effect on canonical LR, and to mention LAC.  Add entry
-       for parse.lac.
-       (Glossary): Add entry for LAC.
-
-2010-12-11  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       parse.lac: implement exploratory stack reallocations.
-       * data/yacc.c: Rename %define variable parse.lac.es-capacity to
-       parse.lac.es-capacity-initial.  Accept parse.lac.memory-trace
-       with values of "failures" (default) or "full".
-       (b4_declare_parser_state_variables): Add yyesa, yyes, and
-       yyes_capacity variables.
-       (YYSTACK_USE_ALLOCA): Ignore it if LAC requested.
-       (YYSTACK_ALLOC, YYSTACK_FREE, YYSTACK_ALLOC_MAXIMUM): Define if
-       LAC requested.
-       (YYCOPY_NEEDED): New cpp macro.
-       (YYCOPY): Define if LAC requested.
-       (yy_lac_stack_realloc): New function implementing stack
-       reallocations.  Use YYMAXDEPTH for maximum stack size given that
-       the stack should never need to grow larger than the main state
-       stack needs to grow without LAC.
-       (YY_LAC_ESTABLISH): Update yy_lac invocation.
-       (yy_lac): Add arguments for exploratory stack memory data
-       recorded in the main parser.  Invoke yy_lac_stack_realloc when
-       reallocation is necessary.
-       (yysyntax_error): Add the same new arguments and pass them to
-       yy_lac.
-       (yypstate_delete): Free yyes if necessary.
-       (yyesa, yyes, yyes_capacity): #define these to yypstate members
-       in the case of push parsing.
-       (yyparse, yypush_parse): Initialize yyes and yyes_capacity.
-       Update yysyntax_error invocations.  At yyreturn, free yyes if
-       necessary.
-       * src/parse-gram.y: %define parse.lac full.
-       * tests/input.at (LAC: errors for %define): Extend for
-       parse.lac-memory-trace.
-       * tests/regression.at (LAC: Exploratory stack): Extend to check
-       that stack reallocs happen when expected.
-       (LAC: Memory exhaustion): Update to use YYMAXDEPTH and
-       parse.lac.es-capacity-initial.
-
-2010-12-11  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       parse.lac: implement as %define variable.
-       LAC = lookahead correction.  See discussion at
-       <http://lists.gnu.org/archive/html/bison-patches/2009-09/msg00034.html>.
-       However, one point there must be corrected: because of %nonassoc,
-       LAC is *not* always redundant for lr.type=canonical-lr.
-       * data/yacc.c: Accept values of "none" (default) or "full" for
-       parse.lac.  Accept %define parse.lac.es-capacity to specify
-       capacity of LAC's temporary exploratory stack.  It defaults to 20
-       and, for now, will not grow dynamically.
-       (b4_lac_flag, b4_lac_if): New m4 macros.  Evaluate as true for
-       parse.lac!=none.
-       (YYBACKUP): Invoke YY_LAC_DISCARD.
-       (YY_LAC_ESTABLISH, YY_LAC_DISCARD): New cpp macros that invoke
-       yy_lac and track when it needs to be invoked
-       (yy_lac): New function that, given the current stack, determines
-       whether a token can eventually be shifted.  Return status mimics
-       yyparse return status.
-       (yysyntax_error): Change yystate argument to yyssp so stack top
-       can be passed to yy_lac.  If LAC is requested, build expected
-       token list by invoking yy_lac for every token instead of just
-       checking the current state for lookaheads.  Return 2 if yy_lac
-       exhausts memory.
-       (yyparse, yypush_parse): Use local variable yy_lac_established and
-       cpp macros YY_LAC_ESTABLISH and YY_LAC_DISCARD to implement LAC.
-       Update yysyntax_error invocation.  Add yyexhaustedlab code if LAC
-       is requested.
-       * tests/conflicts.at (%nonassoc and eof): Extend to check the
-       effect of each of -Dlr.type=canonical-lr and -Dparse.lac=full.
-       (parse.error=verbose and consistent errors): Likewise.
-       (LAC: %nonassoc requires splitting canonical LR states): New test
-       group demonstrating how LAC can fix canonical LR.
-       * tests/input.at (LAC: Errors for %define): New test group.
-       * tests/regression.at (LAC: Exploratory stack): New test group.
-       (LAC: Memory exhaustion): New test group.
-
-2010-11-21  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       build: use gnulib's new bootstrap_sync option.
-       Now, whenever we update bison's copy of gnulib, bootstrap will
-       update itself the next time it's run.
-       * bootstrap: Copy from latest gnulib for bootstrap_sync support.
-       * bootstrap.conf (bootstrap_sync): Set to true.
-       * gnulib: Update to latest so bootstrap is in sync now.
-
-2010-11-07  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       yysyntax_error: fix for consistent error with lookahead.
-       * NEWS (2.5): Document.
-       * data/yacc.c (yysyntax_error): In a verbose syntax error
-       message while in a consistent state with a default action (which
-       must be an error action given that yysyntax_error is being
-       invoked), continue to drop the expected token list, but don't
-       drop the unexpected token unless there actually is no lookahead.
-       Moreover, handle that internally instead of returning 1 to tell
-       the caller to do it.  With that meaning of 1 gone, renumber
-       return codes more usefully.
-       (yyparse, yypush_parse): Update yysyntax_error usage.  Most
-       importantly, set yytoken to YYEMPTY when there's no lookahead.
-       * data/glr.c (yyreportSyntaxError): As in yacc.c, don't drop the
-       unexpected token unless there actually is no lookahead.
-       * data/lalr1.cc (yy::parser::parse): If there's no lookahead,
-       pass yyempty_ not yyla.type to yysyntax_error_.
-       (yy::parser::yysyntax_error_): Again, don't drop the unexpected
-       token unless there actually is no lookahead.
-       * data/lalr1.java (YYParser::parse): If there's no lookahead,
-       set yytoken to yyempty_ before invoking yysyntax_error.
-       (YYParser::yysyntax_error): Again, don't drop the unexpected
-       token unless there actually is no lookahead.
-       * tests/conflicts.at (parse.error=verbose and consistent
-       errors): Extend test group to further reveal how the previous
-       use of the simple "syntax error" message was too general.  Test
-       yacc.c, glr.c, lalr1.cc, and lalr1.java.  No longer an expected
-       failure.
-       * tests/java.at (AT_JAVA_COMPILE, AT_JAVA_PARSER_CHECK): Move
-       to...
-       * tests/local.at: ... here.
-       (_AT_BISON_OPTION_PUSHDEFS): Push AT_SKEL_JAVA_IF definition.
-       (AT_BISON_OPTION_POPDEFS): Pop it.
-       (AT_FULL_COMPILE): Extend to handle Java.
-
-2010-11-07  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       yysyntax_error: more preparation for readability of next patch.
-       There are no behavioral changes here.
-       * data/glr.c (yyreportSyntaxError): Reorganize.
-       * data/lalr1.cc (yy::parser::yysyntax_error_): Reorganize.
-       * tests/conflicts.at (parse.error=verbose and consistent errors):
-       Reorganize.
-
-2010-11-07  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       yysyntax_error: prepare for readability of next patches.
-       These are purely whitespace changes that result in ugly code
-       but that make the next couple of patches much easier to read.
-       * data/glr.c (yyreportSyntaxError): Reindent.
-       * data/lalr1.cc (yy::parser::yysyntax_error_): Reindent.
-       * data/lalr1.java (YYParser::yysyntax_error): Reindent.
-       * data/yacc.c (yysyntax_error): Reindent.
-
-2010-10-31  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Fix memory leak.
-       * src/output.c (prepare_rules): Free temporary array.
-
-2010-10-31  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       yysyntax_error: improve invocation readability.
-       * data/yacc.c (yyparse, yypush_parse): For yysyntax_error
-       invocation, get rid of the while loop, which is misleading
-       because there are really at most two iterations.
-
-2010-10-31  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       * ChangeLog: Correct some errors in previous entries.
-
-2010-10-17  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       maint: re-anchor all .gitignore entries.
-       * bootstrap: Copy from gnulib's latest for the fix to
-       automatically anchor entries it constructs.
-       * gnulib: Update to latest just so it has the same bootstrap.
-       * .gitignore, build-aux/.gitignore, doc/.gitignore:
-       * lib/.gitignore, m4/.gitignore, po/.gitignore:
-       * runtime-po/.gitignore: Re-anchor all entries.
-
-2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix portability problem on OpenBSD 4.7.
-
-       Jim Meyering reported this in
-       <http://lists.gnu.org/archive/html/bug-bison/2010-10/msg00007.html>.
-       * data/yacc.c: Use EXIT_SUCCESS as a witness for stdlib.h,
-       not _STDLIB_H.  EXIT_SUCCESS has been defined by the standard
-       for quite some time.
-       * src/parse-gram.c, src/parse-gram.h: Regenerate.
-       * tests/regression.at: Tamper with the renamed witness.
-
-       Adjust to recent changes to gnulib bootstrap.
-
-       * .cvsignore, build-aux/.cvsignore, doc/.cvsignore, etc/.cvsignore:
-       * examples/calc++/.cvsignore, lib/.cvsignore, m4/.cvsignore:
-       * po/.cvsignore, runtime-po/.cvsignore, src/.cvsignore:
-       * tests/.cvsignore: Remove; I don't use CVS to maintain Bison
-       anymore and don't know of anybody else who does.  If someone needs
-       these files, they can resurrect them.
-       * .gitignore, build-aux/.gitignore, doc/.gitignore, lib/.gitignore:
-       * m4/.gitignore, po/.gitignore, runtime-po/.gitignore:
-       Omit leading '/', since bootstrap omits it.
-       Adjust file names to match current contents better.
-       * bootstrap: Sync from gnulib: this contains the new gnulib_mk_hook
-       installed just for us.
-       * bootstrap.conf (excluded_files): Don't exclude codeset.m4,
-       glibc21.m4, inttypes_h.m4, size_max.m4, xsize.m4, as they are now
-       needed somehow.  Don't have time to look into why.
-       (gnulib_modules): Change malloc to malloc-gnu.  Do we really assume
-       the GNU malloc behavior, where malloc (0) != NULL unless we're
-       out of storage?  If not, we can omit malloc-gnu; but for now I left
-       it in to be safe.
-       (vc_ignore): Remove.
-       (gnulib_mk_hook): New function.
-       * README-hacking: Renamed from HACKING, since gnulib bootstrap now
-       uses that convention.
-
-2010-09-09  Paul Hilfinger  <hilfinger@cs.berkeley.edu>
-
-       * data/glr.c (yySymbol): Define as int to avoid compiler warnings about
-       possible change of value.
-
-2010-09-08  Paul Hilfinger  <hilfinger@cs.berkeley.edu>
-
-       * data/glr.c (yy_reduce_print): Change yyrhsVals to yyvsp to remove
-       compiler errors when using %debug.
-       Add declaration of yylow when locations in use to avoid compilation
-       error.
-       (yyglrReduce): Conditionalize message "Parse ... rejected by rule..."
-       on whether we are in split mode, for consistency with behavior of
-       non-GLR parsing.
-
-2010-09-01  Akim Demaille  <demaille@gostai.com>
-
-       Address GCC warnings about shadowed local variables (yyflag).
-       * data/glr.c (YYCHK): Rename yyflag as yychk_flag.
-       (yyprocessOneStack): Reduce the scope of yyaction, yyconflicts,
-       yyrule, and yyflag.
-
-2010-08-05  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Version 2.4.3.
-       * NEWS (2.4.3): Set date.
-
-2010-08-04  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       maint: add gettext version to release announcements.
-       Suggested by Paul Hilfinger at
-       <http://lists.gnu.org/archive/html/bison-patches/2010-07/msg00019.html>
-       <http://lists.gnu.org/archive/html/bison-patches/2010-08/msg00002.html>.
-       * cfg.mk (bootstrap-tools): Add gettext.
-
-2010-08-04  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       doc: fix -W and %expect documentation some.
-       * NEWS (2.4.3): Mention that there are documentation fixes.
-       * doc/bison.texinfo (Expect Decl): Make it clear that %expect
-       turns conflicts into errors not warnings.
-       (Shift/Reduce): Likewise.
-       (Bison Options): Don't mention -Wsyntax.  It doesn't exist.
-
-2010-08-01  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       -Werror: fix for rules useless in parser after conflicts.
-       * NEWS (2.4.3): Document fix.
-       * src/complain.c (error_message): Extend to handle incomplete
-       error messages so warn and warn_at can be used in more cases.
-       * src/gram.c (grammar_rules_useless_report): Use warn_at so that
-       -Werror is always obeyed.
-       * src/reduce.c (reduce_print): Use warn so that the "warnings
-       being treated as errors" message is printed consistently before
-       the first warning message.  This makes testing easier.
-       * tests/local.at (AT_BISON_WERROR_MSG): New macro.
-       (AT_BISON_CHECK_NO_XML): Extend to check -Werror and
-       --warnings=error when warnings appear in bison's stderr.
-
-2010-07-29  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       maint: enable gnits only at stable releases.
-       * configure.ac (AM_INIT_AUTOMAKE): Underscore or dash in a
-       version string should disable gnits.  Explain in comments.
-
-2010-07-28  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       i18n: update.
-       * po/POTFILES.in: Add src/graphviz.c.
-
-2010-07-28  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       i18n: fix for gnulib.
-       * po/POTFILES.in: Add remaining gnulib files that have
-       translatable strings.
-
-2010-07-25  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       build: fix our adjustments for gnulib files in lib.
-       * configure.ac: For prepending lib/ to the values of config
-       variables, fix detection of empty values.  Also, due to recent
-       gnulib changes, add LIBUNISTRING_UNITYPES_H and
-       LIBUNISTRING_UNIWIDTH_H to the list of those variables.
-
-2010-07-25  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       maint: use announce-gen's new --mail-headers.
-       * HACKING (Announce): Update instructions.
-       * cfg.mk (announcement_Cc_): Define.
-       * configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.18 as
-       required by latest gnulib.
-       * gnulib: Update to latest.
-
-2010-07-24  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       tests: handle Valgrind that complains about >&-.
-       * tests/output.at (AT_CHECK_OUTPUT): Extend to accept pre-tests.
-       (Output files: -dv >&-): Skip test group if running
-       maintainer-check-valgrind.
-
-2010-07-23  Paul Hilfinger  <hilfingr@EECS.Berkeley.EDU>
-
-       * NEWS: Describe new semantic-predicate feature.
-       * data/c.m4 (b4_predicate_case): New definition.
-       * data/java.m4 (b4_predicate_case): New definition.
-       * data/glr.c (yyimmediate): Add definition.
-       (yydoAction): Remove comment, now obsolete.
-       Do YY_REDUCE_PRINT here.
-       (yyglrReduce): Alter comment to indicate that semantic values
-       need not be deferred.
-       Remove YY_REDUCE_PRINT from here; done in yydoAction.
-       (yyprocessOneStack): Pass immediate flag.
-       Delete stacks rejected by predicates in newly split-off parsers.
-       Change handling of yyerr so that only current stack gets deleted
-       when semantic predicate fails.
-       (yyfillin): Don't crash if a semantic value is unresolved (as may
-       happen in predicate rules).
-       Copy lr state as well in debugging mode.
-       Update comment on setting of yysval to include yyloc as well.
-       (yy_reduce_print): Add yynormal argument.  Perform fillin properly.
-       Report unresolved RHS values.
-       (yyimmediate): New table.
-       * src/gram.h (struct rule): Add is_predicate field.
-       * src/output.c (user_actions_output): Use b4_predicate_case for
-       predicates.
-       (prepare_symbols): Output yyimmediate.
-       * src/scan-gram.l: Add %? token, SC_PREDICATE state.
-       * src/scan-code.l (code_props_rule_action_init): Add is_predicate
-       argument.
-       * src/scan-code.h (struct code_props): Add is_predicate field.
-       (code_props_rule_action_init): New interface.
-       * src/parse-gram.y (%?{...}): New token.
-       (rhs): Add %?{...} rule.
-       * src/parse-gram.c: Regenerate.
-       * src/parse-gram.h: Regenerate.
-       * src/reader.c (grammar_current_rule_action_append): Add
-       immediate argument.
-       (grammar_midrule_action): Use new interface for
-       code_props_rule_action_init.
-       (grammar_current_rule_action_append): Ditto.
-       (packgram): Transfer is_predicate value.
-       * src/reader.h (grammar_current_rule_action_append): New interface.
-       * doc/bison.texinfo: Document semantic predicates (%?).
-
-       * data/glr.c (yylhsNonterm, yyisDefaultedState,yyDefaultAction)
-       (yygetLRActions,yynewGLRStackItem,yyaddDeferredAction,yyinitStateSet)
-       (yyinitGLRStack,yyexpandGLRStack,yyupdateSplit,yymarkStackDeleted)
-       (yyundeleteLastStack,yyglrShift,yyglrShiftDefer,yydoAction,yyglrReduce)
-       (yyidenticalOptions,yymergeOptionSets,yyresolveStates,yyresolveAction)
-       (yyresolveLocations,yyresolveValue,yyreducePrint): Update parameter
-       names in comments and mention all parameters.
-       (struct yyGLRState): Fix description of yyposn field.
-       (yyresolveLocations): Correct comment so as not to imply action when
-       yyn1==0.
-
-2010-06-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Update from GFDL GFDL 1.2 to 1.3.
-       * doc/bison.texinfo: Update GFDL version number.
-       * doc/fdl.texi: Update to version 1.3, taken from:
-       http://www.gnu.org/licenses/fdl.texi
-
-       Do not use date ranges in copyright notices.
-       See http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
-
-       * HACKING, Makefile.am, NEWS, PACKAGING, README, README-alpha:
-       * TODO, bootstrap, bootstrap.conf:
-       * build-aux/update-b4-copyright, cfg.mk, configure.ac:
-       * data/README, data/bison.m4, data/c++-skel.m4, data/c++.m4:
-       * data/c-skel.m4, data/c.m4, data/glr.c, data/glr.cc:
-       * data/java-skel.m4, data/java.m4, data/lalr1.cc:
-       * data/lalr1.java, data/local.mk, data/location.cc:
-       * data/stack.hh, data/variant.hh, data/xslt/bison.xsl:
-       * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl:
-       * data/xslt/xml2xhtml.xsl, data/yacc.c, djgpp/Makefile.maint:
-       * djgpp/README.in, djgpp/config.bat, djgpp/config.sed:
-       * djgpp/config.site, djgpp/config_h.sed, djgpp/djunpack.bat:
-       * djgpp/local.mk, djgpp/subpipe.c, djgpp/subpipe.h:
-       * djgpp/testsuite.sed, doc/bison.texinfo, doc/local.mk:
-       * doc/refcard.tex, etc/README, etc/bench.pl.in, etc/local.mk:
-       * examples/calc++/Makefile.am, examples/extexi:
-       * examples/local.mk, lib/abitset.c, lib/abitset.h:
-       * lib/bbitset.h, lib/bitset.c, lib/bitset.h:
-       * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c:
-       * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h:
-       * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c:
-       * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h:
-       * lib/libiberty.h, lib/local.mk, lib/main.c, lib/timevar.c:
-       * lib/timevar.def, lib/timevar.h, lib/vbitset.c:
-       * lib/vbitset.h, lib/yyerror.c, m4/bison-i18n.m4:
-       * m4/c-working.m4, m4/cxx.m4, m4/subpipe.m4, m4/timevar.m4:
-       * src/AnnotationList.c, src/AnnotationList.h:
-       * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c:
-       * src/LR0.h, src/Sbitset.c, src/Sbitset.h, src/assoc.c:
-       * src/assoc.h, src/closure.c, src/closure.h, src/complain.c:
-       * src/complain.h, src/conflicts.c, src/conflicts.h:
-       * src/derives.c, src/derives.h, src/files.c, src/files.h:
-       * src/flex-scanner.h, src/getargs.c, src/getargs.h:
-       * src/gram.c, src/gram.h, src/graphviz.c, src/ielr.c:
-       * src/ielr.h, src/lalr.c, src/lalr.h, src/local.mk:
-       * src/location.c, src/location.h, src/main.c:
-       * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c:
-       * src/named-ref.h, src/nullable.c, src/nullable.h:
-       * src/output.c, src/output.h, src/parse-gram.y:
-       * src/print-xml.c, src/print-xml.h, src/print.c, src/print.h:
-       * src/print_graph.c, src/print_graph.h, src/reader.c:
-       * src/reader.h, src/reduce.c, src/reduce.h, src/relation.c:
-       * src/relation.h, src/scan-code.h, src/scan-code.l:
-       * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h:
-       * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c:
-       * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h:
-       * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h:
-       * tests/actions.at, tests/atlocal.in, tests/c++.at:
-       * tests/calc.at, tests/conflicts.at, tests/cxx-type.at:
-       * tests/existing.at, tests/glr-regression.at:
-       * tests/headers.at, tests/input.at, tests/java.at:
-       * tests/local.at, tests/local.mk, tests/named-refs.at:
-       * tests/output.at, tests/push.at, tests/reduce.at:
-       * tests/regression.at, tests/sets.at, tests/skeletons.at:
-       * tests/synclines.at, tests/testsuite.at, tests/torture.at:
-       Don't use date ranges in copyright notices.
-
-2010-05-11  Akim Demaille  <demaille@gostai.com>
-
-       lalrl1.cc: give a chance to user defined YYLLOC_DEFAULT.
-       * data/lalr1.cc (YYLLOC_DEFAULT): Move its definition from the
-       header file to the implementation file, after the user %code
-       sections.
-       * NEWS (2.5): Document this.
-
-2010-05-11  Akim Demaille  <demaille@gostai.com>
-
-       doc: please Emacs.
-       * doc/bison.texinfo (Local Variables): Move this after the
-       LocalWords, since the latter are looked for in the whole document,
-       while the former are looked for only at its end.
-       Require american spell checking.
-
-2010-05-10  Akim Demaille  <demaille@gostai.com>
-
-       doc: fix lalr1.cc documentation.
-       * doc/bison.texinfo (C++ Scanner Interface): Fix yylex signature.
-       (C++ Bison Interface): Fix lalr1.cc skeleton name.
-       (C++ Parser Interface): Fix semantic_type and location_type names.
-       Document yy::parser::token.
-       Reported by Jerry Quinn.
-
-2010-05-10  Akim Demaille  <demaille@gostai.com>
-
-       c++: use YYRHSLOC.
-       * data/lalr1.cc (YYRHSLOC): New.
-       (YYLLOC_DEFAULT): Use it.
-       * data/glr.cc: If location_type was user defined, do not include
-       location.hh, and do not produce location.hh and position.hh.
-       * tests/calc.at (YYLLOC_DEFAULT): Use YYRHSLOC.
-       Check that glr.cc supports user defined location_type.
-       * NEWS: Document this.
-
-2010-05-07  Akim Demaille  <demaille@gostai.com>
-
-       doc: fix typo.
-       * tests/synclines.at: here.
-
-2010-05-04  Akim Demaille  <demaille@gostai.com>
-
-       tests: enhance AT_SYNCLINES_COMPILE.
-       * tests/synclines.at (AT_SYNCLINES_COMPILE): More distcc patterns.
-       (AT_TEST_SYNCLINE): Remove GCC 4.5 protection which is already
-       taken care of in AT_SYNCLINES_COMPILE.
-
-2010-05-04  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: don't generate location.hh when location_type is defined
-       * data/bison.m4 (b4_percent_define_get): Accept a default value.
-       * data/c++.m4: Do not provide a default value for the %define
-       variable location_type, rather, use b4_percent_define_get with a
-       default argument where its value is needed.
-       * data/lalr1.cc: Do not load location.cc (which outputs both
-       location.hh and position.hh) if the user defined location_type.
-       Do not include location.hh either.
-
-2010-05-04  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: minor refactoring.
-       * data/lalr1.cc: Don't issue empty namespaces.
-
-2010-05-04  Akim Demaille  <demaille@gostai.com>
-
-       tests: fix %printer.
-       Currently, there is no check that %printer ... <foo> (nor
-       %destructor) is about an existing <foo> type.  This C++ test had
-       it wrong (<::std::string> vs. <std::string>).
-
-       * tests/c++.at (AT_CHECK_VARIANTS): In list.yy, redefine the
-       pretty-printing of lists into something better for parser traces.
-       Update the expected output.
-       Fix correspondance between %type/%token and %printer.
-
-2010-05-04  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: location_type: make sure we don't depend on loc.(begin|end).
-       * tests/calc.at (Span): Instead of begin/end, as in the built-in
-       location class, use first and last.
-       Define YYLLOC_DEFAULT to adjust to these changes.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Adjust to the
-       location_type changes.
-
-2010-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       tests: fix maintainer-xml-check.
-       * data/xslt/xml2dot.xsl (xsl:template match="bison-xml-report"):
-       Update output to include comments now produced by --graph.
-       (xsl:template match="automaton"): As for --graph, name the
-       digraph after the grammar file.
-       * src/print-xml.c (escape_bufs): Enlarge array.
-       (print_xml): Add bug-report and url attributes to
-       bison-xml-report element.
-
-2010-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       In DOT output, convert from "/*" comments to "//" comments.
-       This handles the possibility that a "*/" might appear in
-       variable portions of those comments at some point in the future.
-       * src/graphviz.c (start_graph): Implement.
-
-2010-04-30  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Document that undefined %prec identifier warnings will remain.
-       * NEWS (2.4.3): Here.
-       (2.4.2): Here.
-
-2010-04-30  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       Revert 2009-12-30 change for undefined %prec token complaints.
-       That is, keep them as warnings because that should be sufficient
-       to satisfy POSIX without creating backward compatibility issues.
-       Suggested by Richard Stallman at
-       <http://lists.gnu.org/archive/html/bison-patches/2010-03/msg00033.html>.
-       * NEWS (2.5): Remove mention of complaint.
-       * src/reader.c (grammar_rule_check): Convert complaint back to
-       warning.
-       * tests/input.at (%prec's token must be defined): Update.
-
-2010-04-25  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       build: don't require src/bison during bootstrap.
-       Suggested by Eric Blake at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00003.html>.
-       * bootstrap.conf (bootstrap_epilogue): New function to make sure
-       src/parse-gram.[ch] are stamped later than src/parse-gram.y.
-
-2010-04-25  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       i18n: fix untranslatable string.
-       Reported by Goran Uddeborg at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00000.html>.
-       * src/muscle-tab.c (muscle_percent_define_insert): Here.
-
-2010-04-13  Akim Demaille  <demaille@gostai.com>
-
-       tests: calc: minor refactoring.
-       * tests/calc.at (_AT_DATA_CALC_Y): Simplify yylex.
-
-2010-04-13  Akim Demaille  <demaille@gostai.com>
-
-       tests: calc: simplify location management.
-       * tests/local.at (AT_LOC_PUSHDEF, AT_LOC_POPDEF): New.
-       (_AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS): Use them to
-       define the appropriate AT_LOC accessors.
-       * tests/calc.at: Use AT_LOC accessors.
-
-2010-04-13  Akim Demaille  <demaille@gostai.com>
-
-       test location_type.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS):
-       Define AT_LOCATION_TYPE_IF.
-       (_AT_BISON_OPTION_POPDEFS): Undefine AT_LOCATION_TYPE_IF.
-       * tests/calc.at (_AT_DATA_CALC_Y): When %define location_type is
-       used, provide a user location type and use it.
-       (Simple LALR1 C++ Calculator): Add a test case for location_type.
-
-2010-04-13  Akim Demaille  <demaille@gostai.com>
-
-       tests: check fclose's return value.
-       * tests/calc.at (_AT_DATA_CALC_Y): Check fclose's return status.
-
-2010-04-13  Akim Demaille  <demaille@gostai.com>
-
-       tests: don't depend on the actual location type.
-       * tests/calc.at: Use yy::parser::location_type rather than
-       yy::location, since the former is always right, and might point to
-       another type than the latter.
-
-2010-04-13  Akim Demaille  <demaille@gostai.com>
-
-       formatting changes.
-       * tests/calc.at: Formatting changes.
-
-2010-04-13  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: remove useless forward declaration.
-       * data/lalr1.cc: Include location.hh before stack.hh.
-       Remove the useless forward declarations of position and location.
-       Reported by Chris Morley.
-       * data/glr.cc: Likewise.
-
-2010-04-11  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       * NEWS (2.4.3): Mention fix for Sun Studio C++.
-
-2010-04-10  Joel E. Denny  <joeldenny@joeldenny.org>
-
-       tests: fix for newer Sun Studio C++.
-       Reported by Dagobert Michelsen at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00023.html>.
-       * THANKS (Dagobert Michelsen): Add.
-       * configure.ac (AC_PREREQ): Set to 2.64 so we get the latest
-       Autoconf macro for handling the restrict keyword.
-       * gnulib: Update to latest, which no longer overrides that macro
-       from Autoconf.
-
-2010-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       portability: fix pointer arithmetic to conform to C standard.
-       Reported by Tys Lefering at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00035.html>.
-       This fix is already implemented in glr.c and does not apply to
-       lalr1.java.
-       * data/lalr1.cc (yy::parser::parse): Increase size of
-       yyerror_range and adjust subscripting so you don't have to
-       subtract one from the beginning of the array.
-       * data/yacc.c (b4_declare_parser_state_variables,
-       yyparse, yypush_parse): Likewise.
-
-2010-04-05  Akim Demaille  <demaille@gostai.com>
-
-       remove useless include.
-       * src/graphviz.h: Don't include stdbool.h.
-
-2010-04-05  Akim Demaille  <demaille@gostai.com>
-
-       graph: sign the output file.
-       * src/graphviz.c (start_graph): Issue comments about Bison.
-       Suggested by Tys Lefering.
-
-2010-03-31  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       portability: fix test suite for GCC 4.5's new #error message.
-       Reported by Tys Lefering at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00030.html>.
-       * NEWS (2.4.3): Mention.
-       * tests/synclines.at (AT_TEST_SYNCLINE): Implement.
-
-2010-03-30  Akim Demaille  <demaille@gostai.com>
-
-       fix comments.
-       * src/graphviz.h: Add missing license notice.
-       Document.
-
-2010-03-25  Akim Demaille  <demaille@gostai.com>
-
-       tests: fix 250: parse.error=verbose overflow.
-       * tests/regression.at (parse.error=verbose overflow): Avoid the
-       double inclusion of stdlib.h as it triggers hard errors.
-
-2010-03-23  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       portability: fix for BSD make.
-       Reported by Johan van Selst at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00016.html>.
-       * tests/local.mk ($(TESTSUITE)): Qualify package.m4 in
-       this dependency list as in package.m4's target rule.
-
-2010-03-23  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       portability: fix spawning on at least FreeBSD 8 and FreeBSD 9.
-       Reported by Johan van Selst at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00014.html>.
-       * NEWS (2.4.3): New.
-       * THANKS (Johan van Selst): Add.
-       * etc/prefix-gnulib-mk (prefix): Adjust regex for makefile
-       targets so that gnulib's new c++defs.h is matched.
-       * gnulib: Update to latest.
-
-2010-03-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       maint: update for changes to gnulib's announce-gen.
-       * HACKING (Announce): RELEASE_TYPE=major must now be written
-       RELEASE_TYPE=stable.
-
-2010-03-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Version 2.4.2.
-       * NEWS (2.4.2): Set version and date.  For the recent test suite
-       portability fixes, don't be so optimistic about their success
-       given the lack of feedback on the affected platforms.
-
-2010-02-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       tests: fix maintainer-xml-check for recent changes.
-       * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Use
-       AT_BISON_CHECK_NO_XML rather than AT_BISON_CHECK because an
-       output file whose name conflicts with a previous output file
-       is now never generated.
-
-2010-02-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       portability: fix several issues with M4 subprocess.
-
-       M4's output pipe was not being drained upon fatal errors during
-       scan_skel.  As a result, broken-pipe messages from M4 were seen
-       on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a
-       failure in the test suite.  The problem was that, on platforms
-       where the default disposition for SIGPIPE is ignore instead of
-       terminate, M4 sometimes saw fwrite fail with errno=EPIPE and
-       then reported it.  However, there's some sort of race condition,
-       because the new test group occasionally succeeded.
-       Reported by Albert Chin at
-       <http://lists.gnu.org/archive/html/bug-bison/2010-02/msg00004.html>.
-
-       There were also problems with the test suite livelocking on
-       Tru64 5.1b.  Reported by Didier Godefroy at
-       <http://lists.gnu.org/archive/html/bug-bison/2009-05/msg00005.html>.
-       Switching to create_pipe_bidi suggested by Akim Demaille.
-
-       To attempt to solve both of these problems, switch to gnulib's
-       create_pipe_bidi and register M4 process as a slave.  Along the
-       way, clean up file name conflict handling, which was affected by
-       the broken-pipe problem before the switch.
-       * NEWS (2.4.2): Document.
-       * THANKS (Didier Godefroy): Add.
-       * bootstrap.conf (gnulib_modules): Add pipe.
-       * gnulib: Update to latest to make sure we have all the latest
-       fixes.
-       * lib/local.mk (lib_libbison_a_SOURCES): Remove subpipe.h and
-       subpipe.c.
-       * po/POTFILES.in (lib/subpipe.c): Remove.
-       * src/files.c (compute_output_file_names): Update invocations
-       of output_file_name_check.
-       (output_file_name_check): In the case that the grammar file
-       would be overwritten, use complain instead of fatal, but replace
-       the output file name with /dev/null.  Use the /dev/null solution
-       for the case of two conflicting output files as well because it
-       seems safer in case Bison one day tries to open both files at
-       the same time.
-       * src/files.h (output_file_name_check): Update prototype.
-       * src/output.c (output_skeleton): Use create_pipe_bidi and
-       wait_subprocess.  Assert that scan_skel completely drains the
-       pipe.
-       * src/scan-skel.l (at_directive_perform): Update
-       output_file_name_check invocation.
-       * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Check that the
-       grammar file actually isn't overwritten.
-       (Conflicting output files: -o foo.y): Update expected output.
-       * tests/skeletons.at (Fatal errors but M4 continues producing
-       output): New test group.
-
-2010-02-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update POTFILES.
-       * HACKING (Release Procedure): Add reminder about keeping
-       POTFILES files up-to-date.
-       * po/POTFILES.in (src/muscle-tab.c, src/scan-skel.l): Add.
-
-2010-02-01  Joel E. Denny  <jdenny@clemson.edu>
-
-       Code cleanup.
-       * tests/atlocal.in (abs_top_srcdir): Remove shell variable,
-       which is already defined in atconfig.
-
-2010-01-22  Joel E. Denny  <jdenny@clemson.edu>
-
-       tests: fix missing include caught by g++ 4.4.1.
-       Reported by Tys Lefering.
-       * HACKING (Release checks): Add note about trying a recent GCC.
-       * tests/regression.at (_AT_DATA_DANCER_Y): For C++, include
-       cstdlib for abort.
-       (_AT_DATA_EXPECT2_Y): Likewise.
-
-2010-01-21  Joel E. Denny  <jdenny@clemson.edu>
-
-       * cfg.mk (gnulib_dir): Assume gnulib is a subdirectory.
-
-2010-01-21  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: automate PACKAGE_COPYRIGHT_YEAR update, and update it.
-       * HACKING (Release Procedure): Update notes on copyright years.
-       * Makefile.am (update-package-copyright-year): New target rule.
-       * build-aux/update-package-copyright-year: New file.
-       * cfg.mk (update-copyright): Add update-package-copyright-year
-       as a dependency.
-
-2010-01-19  Joel E. Denny  <jdenny@clemson.edu>
-
-       * bootstrap: Import improvements from latest gnulib.
-
-2010-01-19  Joel E. Denny  <jdenny@clemson.edu>
-
-       build: require Automake 1.11.1 to avoid a security flaw.
-       * HACKING (Release Procedure): Don't document Automake security
-       flaw here.
-       * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1, and explain
-       why here.
-
-2010-01-19  Joel E. Denny  <jdenny@clemson.edu>
-
-       gnulib: update to latest.
-
-2010-01-19  Joel E. Denny  <jdenny@clemson.edu>
-
-       ChangeLog (2006-09-15): add Odd Arild Olsen's role for push.c.
-
-2010-01-15  Joel E. Denny  <jdenny@clemson.edu>
-
-       Thank the developer of the initial push parser implementation.
-       This unfortunate oversight is several years old.
-       * THANKS (Odd Arild Olsen): Add.
-
-2010-01-04  Joel E. Denny  <jdenny@clemson.edu>
-
-       Fix some comments concerning LR(0) versus LALR(1).
-
-       Stop equating LR(0) with nondeterminism and LALR(1) with
-       determinism.  That is, if all states are consistent, then LR(0)
-       tables are deterministic.  On the other hand, LALR(1) tables
-       might be nondeterministic before conflict resolution, and GLR
-       permits LALR(1) tables to remain nondeterministic.
-       * src/LR0.c, src/LR0.h: Here.
-       * src/lalr.c, src/lalr.h: Here.
-       * src/main.c (main): Here.
-       * src/state.c, src/state.h: Here.
-
-       * src/ielr.h (ielr): In preconditions, expect LR(0) not LALR(1)
-       parser tables.
-
-2010-01-04  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: run "make update-copyright"
-
-2009-12-30  Joel E. Denny  <jdenny@clemson.edu>
-
-       POSIX: complain if %prec's token was not defined.
-       * NEWS (2.5): Document.
-       * src/reader.c (grammar_rule_check): Convert warning to
-       complaint.
-       * tests/input.at (%prec's token must be defined): Update.
-
-2009-12-30  Joel E. Denny  <jdenny@clemson.edu>
-
-       POSIX: warn if %prec's token was not defined.
-       Reported by Florian Krohm at
-       <http://lists.gnu.org/archive/html/bug-bison/2009-12/msg00005.html>.
-       * NEWS (2.4.2): Document.
-       * src/reader.c (grammar_rule_check): Implement.
-       (grammar_current_rule_prec_set): Add comments explaining that we
-       here assume a %prec identifier is a token, but we still manage
-       to support POSIX.
-       * tests/input.at (%prec's token must be defined): New test
-       group.
-
-2009-12-31  Joel E. Denny  <jdenny@clemson.edu>
-
-       * HACKING (Release Procedure): Recommend a secure automake.
-
-2009-12-29  Joel E. Denny  <jdenny@clemson.edu>
-
-       portability: `<' and `>' are not always defined on addresses.
-       Specifically, don't sort objects by their memory addresses when
-       they're not allocated in the same array or other object.  Though
-       I haven't found a test case where that fails on my platform, C
-       says the behavior is undefined.
-       * src/AnnotationList.c (AnnotationList__insertInto): Remove
-       FIXME.  Use new id field of InadequacyList nodes rather than
-       their memory addresses when sorting.
-       (AnnotationList__compute_from_inadequacies): Add
-       inadequacy_list_node_count argument to pass to
-       InadequacyList__new_conflict.
-       * src/AnnotationList.h
-       (AnnotationList__compute_from_inadequacies): Update prototype
-       and documentation for new argument.
-       * src/InadequacyList.c (InadequacyList__new_conflict): Add
-       node_count argument and use it to assign a unique ID.
-       * src/InadequacyList.h (InadequacyListNodeCount): New typedef.
-       (InadequacyList): Add id field.
-       (InadequacyList__new_conflict): Update prototype and
-       documentation for new argument.
-       * src/ielr.c (ielr_compute_annotation_lists): Update
-       AnnotationList__compute_from_inadequacies invocation.
-
-2009-12-20  Joel E. Denny  <jdenny@clemson.edu>
-
-       Fix handling of yychar manipulation in user semantic actions.
-       The problem was that yacc.c didn't always update the yychar
-       translation afterwards.  However, other skeletons appear to be
-       fine.  glr.c appears to already translate yychar before every
-       use.  lalr1.cc does not define yychar and does not document its
-       replacement, yyla, for users.  It does provide yyclearin, but
-       that does not manipulate yyla and thus requires no translation
-       update.  In lalr1.java, yychar is out of scope during semantic
-       actions.
-       * NEWS (2.5): Document.
-       * data/yacc.c (YYBACKUP): Don't bother translating yychar into
-       yytoken here.
-       (yyparse, yypush_parse): Instead, translate before every use of
-       yytoken, and add comments explaining this approach.
-       * tests/actions.at (Destroying lookahead assigned by semantic
-       action): New test group checking that translation happens before
-       lookahead destructor calls at parser return.  Previously,
-       incorrect destructors were called.
-       * tests/conflicts.at (parse.error=verbose and consistent
-       errors): New test group checking that translation happens at
-       syntax error detection before the associated verbose error
-       message and the associated lookahead destructor calls.  While
-       the destructor call is fixed by this patch, the verbose error
-       message is currently incorrect due to another bug (see
-       comments in test group), so this is an expected failure for now.
-
-2009-12-21  Joel E. Denny  <jdenny@clemson.edu>
-
-       YYFAIL: warn about uses and remove from lalr1.java.
-       * NEWS (2.5): Document.
-       * data/lalr1.java (YYParser::YYFAIL): Rename to YYERRLAB,
-       and make it private.  Update all uses.
-       * src/scan-code.l (SC_RULE_ACTION): Implement warning.
-
-2009-12-21  Joel E. Denny  <jdenny@clemson.edu>
-
-       YYFAIL: deprecate.
-       * NEWS (2.4.2): Document deprecation and the phase-out plan.
-       * data/lalr1.java (YYParser::YYFAIL): Add comment about
-       deprecation.
-       * data/yacc.c (YYFAIL): Likewise, and suppress warnings about
-       YYFAIL from GCC cpp's -Wunused-macros.
-       * doc/bison.texinfo (Java Action Features): Remove YYFAIL
-       documentation.
-       (LocalWords): Remove YYFAIL.
-
-2009-12-20  Joel E. Denny  <jdenny@clemson.edu>
-
-       tests: cleanup.
-       * tests/c++.at (Syntax error discarding no lookahead): Don't
-       ignore stderr.  Instead, eliminate remaining warnings.
-
-2009-12-18  Joel E. Denny  <jdenny@clemson.edu>
-
-       lalr1.cc: don't discard non-existent lookahead on syntax error.
-       * data/lalr1.cc (yy::parser::parse): Check yyempty first.
-       * tests/c++.at (Syntax error discarding no lookahead): New test
-       group.
-
-2009-12-17  Joel E. Denny  <jdenny@clemson.edu>
-
-       Code cleanup.
-       * src/symtab.c, src/symtab.h (symbol_class_get_string): Remove
-       function, which is no longer used.
-
-2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
-
-       Add gcc's -Wundef to test suite and fix another warning from it.
-       * NEWS (2.4.2): Update description of -Wundef fix.
-       * configure.ac (WARN_CXXFLAGS_TEST): New substitution.
-       (WARN_CFLAGS_TEST): New substitution.
-       * data/glr.c: Avoid warning about __STRICT_ANSI__.
-       * tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of
-       WARN_CFLAGS.
-       (NO_WERROR_CFLAGS): Likewise.
-       (CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS.
-
-2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
-
-       * data/yacc.c: Reformat m4 a little.
-
-2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
-
-       Document gcc -Wundef fix.
-       * NEWS (2.4.2): Here.
-       * THANKS (Jonathan Nieder): Add.
-
-2009-12-15  Jonathan Nieder  <jrnieder@gmail.com>  (tiny change)
-
-       Simplify y.tab.c when location tracking is disabled.
-       * data/yacc.c: Do not check YYLTYPE_IS_TRIVIAL if location
-       tracking is not enabled.  Instead, unconditionally define
-       YY_LOCATION_PRINT as a no-op for backward compatibility.
-
-2009-12-15  Jonathan Nieder  <jrnieder@gmail.com>  (tiny change)
-
-       Avoid warnings from gcc -Wundef y.tab.c.
-       * data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are
-       defined before using them.
-       * data/lalr1.cc: Likewise.
-       * data/yacc.c: Likewise.
-
-2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
-
-       autoconf: update to latest for fix of M4 detection.
-       Reported by Eric Blake.
-       * submodules/autoconf: Update.
-
-2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
-
-       portability: use -DGNULIB_POSIXCHECK.
-       Reported by Eric Blake.  See discussions at
-       <http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html>
-       and
-       <http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>.
-       * HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK.
-       * bootstrap.conf (gnulib_modules): Add all the printf modules
-       suggested by -DGNULIB_POSIXCHECK.  Add realloc-posix as
-       suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c.
-       (excluded_files): Remove m4/printf-posix.m4.
-       * tests/atlocal.in (LIBS): As for LDADD in src/local.mk, add
-       lib/libbison.a so gnulib libraries can be linked.
-
-2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
-
-       gnulib: update for fix of fprintf-posix, which we'll use soon.
-       * etc/prefix-gnulib-mk (prefix): Adjust regex for make file
-       targets so that gnulib's new arg-nonnull.h and link-warning.h
-       are matched.
-       * gnulib: Update.
-
-2009-12-14  Joel E. Denny  <jdenny@clemson.edu>
-
-       Enable assertion output and --disable-assert for configure.
-       * bootstrap.conf (gnulib_modules): Add assert module.
-       * src/system.h (aver): Define as assert, and summarize the
-       discussion on this issue.
-
-2009-12-14  Joel E. Denny  <jdenny@clemson.edu>
-
-       Expand GLR acronym in summary of Bison.
-       Based on discussion with Akim Demaille starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>.
-       * doc/bison.texinfo (Introduction): Here.
-       * src/getargs.c (usage): Here.
-
-2009-10-03  Alex Rozenman  <rozenman@gmail.com>
-
-       Document named references.
-       * doc/bison.texinfo (Actions): Add new example and xref to
-       Using Named References node.
-       (Using Named References): New node.
-
-2009-10-16  Joel E. Denny  <jdenny@clemson.edu>
-
-       cleanup.
-       * src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
-       of char*.
-       (Sbitset__isEmpty): Use Sbitset instead of char*.
-       * src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
-       instead of char.  This helps to avoid casting errors.
-       (Sbitset__or): Use Sbitset instead of char*.
-
-2009-10-16  Joel E. Denny  <jdenny@clemson.edu>
-
-       portability: don't assume 8-bit bytes.
-       That is, use CHAR_BIT and UCHAR_MAX instead of 8 and 0xff.
-       * src/Sbitset.h (Sbitset__nbytes): Here.
-       (Sbitset__byteAddress): Here.
-       (Sbitset__bit_mask): Here.
-       (Sbitset__last_byte_mask): Here.
-       (Sbitset__ones): Here.
-       (SBITSET__FOR_EACH): Here.
-
-2009-10-11  Joel E. Denny  <jdenny@clemson.edu>
-
-       portability: use va_start and va_end in the same function.
-       * src/complain.c (error_message): Move va_end from here...
-       (ERROR_MESSAGE): ... to here.
-
-2009-10-08  Joel E. Denny  <jdenny@clemson.edu>
-
-       * data/bison.m4: Update comments for rename to muscle-tab.h.
-
-2009-10-07  Joel E. Denny  <jdenny@clemson.edu>
-
-       Minor code cleanup.
-       * src/muscle-tab.c (MUSCLE_USER_NAME_CONVERT): Remove macro and
-       replace all uses with UNIQSTR_CONCAT.
-       * src/uniqstr.c (uniqstr_vsprintf): New function.
-       * src/uniqstr.h (uniqstr_vsprintf): Add prototype.
-       (UNIQSTR_CONCAT, UNIQSTR_GEN_FORMAT, UNIQSTR_GEN_FORMAT_): New
-       macros.
-
-2009-10-06  Joel E. Denny  <jdenny@clemson.edu>
-
-       * TODO (Complaint submessage indentation): New.
-
-2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
-
-       Minor code cleanup.
-       * src/parse-gram.y: Clean up sorting of declarations.
-       Use types to simplify %printer declarations where possible.
-       Provide %printer for BRACKETED_ID and symbol.prec.
-       * src/symtab.c: Whitespace change.
-
-2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
-
-       tests: skip tests of file names that platform does not support.
-       Reported by Michael Raskin at
-       <http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
-       * THANKS (Michael Raskin): Add.
-       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
-       to fail at least for file names containing ":" or "\".
-
-2009-09-23  Joel E. Denny  <jdenny@clemson.edu>
-
-       yysyntax_error: avoid duplicate lookahead collection.
-       Except when memory reallocation is required, this change
-       eliminates the need to invoke yysyntax_error twice and thus to
-       repeat the collection of lookaheads.  It also prepares for
-       future extensions that will make those repetitions more
-       expensive and that will require additional memory management in
-       yysyntax_error.  Finally, it fixes an obscure bug already
-       exercised in the test suite.
-       * data/yacc.c (yysyntax_error): Add arguments for message
-       buffer variables stored in the parser.  Instead of size, return
-       status similar to yyparse status but indicating success of
-       message creation.  Other than the actual reallocation of the
-       message buffer, import and clean up memory management code
-       from...
-       (yyparse, yypush_parse): ... here.
-       * tests/regression.at (parse.error=verbose overflow): No longer
-       an expected failure.
-
-2009-09-23  Joel E. Denny  <jdenny@clemson.edu>
-
-       yysyntax_error: test memory management more.
-       * tests/atlocal.in (NO_WERROR_CFLAGS): New cpp macro.
-       * tests/regression.at (parse.error=verbose and
-       YYSTACK_USE_ALLOCA): New test group.
-       (parse.error=verbose overflow): New test group that reveals an
-       obscure bug.  Expected fail for now.
-
-2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
-
-       benchmarks: use %debug consistently among grammars.
-       * etc/bench.pl.in (generate_grammar_triangular): Do not activate
-       %debug by default.  It can affect the timings even if yydebug=0.
-       (generate_grammar_calc): For consistency with other grammars,
-       use YYDEBUG environment variable to set yydebug.
-
-2009-10-03  Joel E. Denny  <jdenny@clemson.edu>
-
-       Remove dead code.
-       * src/symtab.c (symbol_pack): Here because every symbol's number
-       is always defined by this time.
-
-2009-10-03  Alex Rozenman  <rozenman@gmail.com>
-
-       Add additional space after periods in NEWS.
-       * NEWS (2.5): here.
-
-2009-09-29  Joel E. Denny  <jdenny@clemson.edu>
-
-       Use the correct conversion specifier for size_t.
-       Reported by Jim Meyering.
-       * src/Sbitset.h (SBITSET__INDEX__CONVERSION_SPEC): New, "zu"
-       because Sbitset__Index is size_t.
-       * src/Sbitset.c (Sbitset__fprint): Use it instead of %d.
-
-2009-09-27  Joel E. Denny  <jdenny@clemson.edu>
-
-       tests: don't abuse AT_BISON_CHECK.
-       * tests/regression.at (parse-gram.y: LALR = IELR): Move
-       additional shell commands outside of AT_BISON_CHECK.
-
-2009-09-26  Joel E. Denny  <jdenny@clemson.edu>
-
-       tests: check that parse-gram.y's IELR and LALR are identical.
-       * tests/atlocal.in (abs_top_srcdir): New shell variable.
-       * tests/regression.at (parse-gram.y: LALR = IELR): New test
-       group.
-
-2009-09-19  Alex Rozenman  <rozenman@gmail.com>
-
-       Keep sub-messages aligned. Fix strings for translation.
-       * src/location.h (location_print): Add return value.
-       * src/location.c (location_print): Return number of printed
-       characters.
-       * src/complain.h (complain_at_indent, warn_at_indent): Prototype
-       new functions.
-       * src/complain.cpp (indent_ptr): New static variable.
-       (error_message, complain_at_indent, warn_at_indent): Implement
-       the alignment mechanism.
-       * src/scan-code.l (parse_ref, show_sub_messages): Fix strings
-       for translations. Use new alignment mechanism.
-       * tests/named-ref.at: Adjust test-cases.
-       * NEWS (2.5): Add an announcement about named references.
-
-2009-09-17  Akim Demaille  <demaille@gostai.com>
-
-       doc: fixes.
-       * doc/bison.texinfo: here.
-       Reported by Alex Rozenman.
-
-2009-09-16  Akim Demaille  <demaille@gostai.com>
-
-       doc: lalr1.cc and variants.
-       * doc/bison.texinfo (Decl Summary): Document the "lex_symbol" and
-       "variant" %define variables.
-       (C++ Semantic Values): Split into...
-       (C++ Unions, C++ Variants): these.
-       The latter is new.
-       (C++ Parser Interface): Fix type names.
-       Document parser::syntax_error.
-       Document the fact that locations are not mandatory.
-       (C++ Scanner Interface): Split into...
-       (Split Symbols, Complete Symbols): these.
-       The later is new.
-       (Calc++ Parsing Driver): Use variants.
-       Add more comments.
-       Adjust style.
-       (Calc++ Parser): Declare all the tokens, no
-       longer accept raw characters.
-       Remove %union.
-       Adjust types and printers.
-       Remove destructors.
-       (Calc++ Scanner): Use make_<SYMBOL> functions.
-       Use strerror in error message.
-
-2009-09-16  Akim Demaille  <demaille@gostai.com>
-
-       doc: spell checking.
-       * doc/bison.texinfo: here.
-
-2009-09-16  Akim Demaille  <demaille@gostai.com>
-
-       doc: comment changes.
-       * doc/bison.texinfo: Comment changes.
-
-2009-09-16  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: factor the yytranslate_ invocation in make_SYMBOLS.
-       * data/c++.m4, data/lalr1.cc (parser::symbol_type): Change the
-       constructor to take a token_type instead of the (internal) symbol
-       number.
-       Call yytranslate_.
-       * data/variant.hh (b4_symbol_constructor_define_): Therefore,
-       don't call yytranslate_ here.
-
-2009-09-16  Akim Demaille  <demaille@gostai.com>
-
-       TODO: statistics.
-       * TODO (Figures): New.
-
-2009-09-13  Joel E. Denny  <jdenny@clemson.edu>
-
-       tests: clean up push.at test group titles.
-       * tests/push.at: Remove "Push Parsing: " from test group titles
-       because these are already under the banner "Push Parsing Tests".
-
-2009-09-12  Alex Rozenman  <rozenman@gmail.com>
-
-       Provide an additional sub-message for clarity.
-       Add "symbol not found in production" error message when
-       an "invalid reference" is detected in named references
-       resolution.
-       * src/scan-code.l: Update "invalid reference" case.
-       * tests/named-ref.at: Adjust test-cases.
-
-2009-09-10  Joel E. Denny  <jdenny@clemson.edu>
-
-       Clean up yacc.c a little.
-       * data/yacc.c: Clean up M4 for readability, and make output
-       whitespace more consistent.  For the main parse function
-       comment, instead of saying "yyparse or yypush_parse", say either
-       "yyparse" or "yypush_parse" depending on which it actually is.
-
-2009-09-10  Joel E. Denny  <jdenny@clemson.edu>
-
-       Fix --enable-gcc-warnings.
-       * src/parse-gram.y (%printer <param>): Handle param_none.
-
-2009-09-09  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: syntax_error as exceptions.
-       It is common to use sort of factories in the user actions.  These
-       factories may check some "syntactic" constraints that are not
-       enforced by the grammar itself.  This is possible using YYERROR
-       within the action itself.  Provide the user with a means to throw
-       a syntax_error exception.
-
-       * data/c++.m4 (b4_public_types_declare, b4_public_types_define):
-       Declare and define yy::parser::syntax_error.
-       * data/lalr1.cc: Include stdexcept.
-       (yy::parser::parse): Wrap the user action within a try/catch.
-       * data/glr.cc: Include stdexcept.
-
-2009-09-09  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: add missing "inline".
-       * data/c++.m4 (b4_public_types_define): Add missing inline to
-       implementations provided in headers.
-
-2009-09-09  Akim Demaille  <demaille@gostai.com>
-
-       %param: documentation.
-       * NEWS (2.6): Document %param, %lex-param, and %parse-param
-       changes.
-       * doc/bison.texinfo: Document that %lex-param and %parse-param
-       are n-ary.
-       Changes some examples to demonstrate it.
-       (Calc++ Parser): Use %param.
-
-2009-09-09  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-
-2009-09-09  Akim Demaille  <demaille@gostai.com>
-
-       style changes.
-       * src/parse-gram.y (add_param): Scope changes.
-
-2009-09-09  Akim Demaille  <demaille@gostai.com>
-
-       %parse: support several arguments.
-       * src/parse-gram.y (current_param): New.
-       (param_type): Add param_none.
-       (params): New nonterminal.
-       Use it.
-
-2009-09-09  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-
-2009-09-09  Akim Demaille  <demaille@gostai.com>
-
-       %param.
-       Provide a means to factor lex-param and parse-param common
-       declarations.
-
-       * src/parse-gram.y (param_type): New.
-       Define a %printer for it.
-       (add_param): Use it.
-       (%parse-param, %lex-param): Merge into...
-       (%parse): this new token.
-       Adjust the grammar to use it.
-       * src/scan-gram.l (RETURN_VALUE): New.
-       (RETURN_PERCENT_FLAG): Use it.
-       (RETURN_PERCENT_PARAM): New.
-       Use it to support %parse-param, %lex-param and %param.
-
-2009-09-03  Joel E. Denny  <jdenny@clemson.edu>
-
-       Use aver not assert.
-       * src/output.c: Don't include assert.h.
-       (output_skeleton): Use aver not assert.
-       * src/system.h (aver): In documentation of why, add links to
-       Paul Eggert's explanations in the mailing lists.
-
-2009-09-05  Alex Rozenman  <rozenman@gmail.com>
-
-       Use "Unresolved reference" error message when no symbols were found
-       in a symbolic reference resolution. Remove .expr and -expr from
-       the shown reference when the reference is unresolved.
-       * src/scan-code.l: Change the error message, adjust location columns,
-       rename variable "exact_mode" to "explicit_bracketing".
-       * tests/named-ref.at: Adjust existing tests and add a new one.
-
-2009-09-04  Akim Demaille  <demaille@gostai.com>
-
-       Adjust synclines in src/parse-gram.[ch].
-       * tests/bison.in: Do some magic (including working around issues
-       with ylwrap) when this wrapper is used to compile
-       src/parse-gram.y.
-
-2009-09-03  Joel E. Denny  <jdenny@clemson.edu>
-
-       Complain about unused %define variables and %code qualifiers.
-       * NEWS (2.5): Document.
-       * data/bison.m4 (b4_check_user_names): Complain instead of warn.
-       * doc/bison.texinfo (Decl Summary): Document complaint, and
-       improve %define documentation a little otherwise.
-       * tests/input.at (Reject unused %code qualifiers): Update.
-       (%define errors): Update.
-       (%define, --define, --force-define): Update.
-       (%define backward compatibility): Update.
-       (Unused %define api.pure): Update.
-       * tests/push.at (Push Parsing: Unsupported Skeletons): Update.
-
-2009-09-03  Joel E. Denny  <jdenny@clemson.edu>
-
-       Don't suppress warnings about unused parse.error.
-       * data/bison.m4 (b4_error_verbose_flag): Don't examine value of
-       %define variable parse.error unless b4_error_verbose_flag is
-       actually expanded in a skeleton.
-
-2009-09-03  Akim Demaille  <demaille@gostai.com>
-
-       * NEWS (2.4.2): Add "Internationalization" item.
-
-2009-09-03  Akim Demaille  <demaille@gostai.com>
-
-       bootstrap: fix/improve find_tool.
-       * bootstrap (find_tool): Improve error messages.
-       Fix typo about find_tool_names.
-
-2009-08-29  Joel E. Denny  <jdenny@clemson.edu>
-
-       Fix gcc 3.4.4 shadowing warning reported by Eric Blake.
-       See
-       <http://lists.gnu.org/archive/html/bison-patches/2009-08/msg00093.html>.
-       * src/scan-code.h (code_props_rule_action_init): Rename
-       named_ref arg to name so it doesn't shadow named_ref type.  This
-       makes it consistent with the function definition in scan-code.l
-       anyway.
-
-2009-08-28  Joel E. Denny  <jdenny@clemson.edu>
-
-       %define: accept unquoted values.
-       * NEWS (2.5): Group all %define changes together, and document
-       this one.  Remove quotes in IELR and canonical LR entry.
-       * doc/bison.texinfo: Remove quotes in most examples throughout.
-       (Decl Summary): Update %define documentation.
-       (Table of Symbols): Likewise.
-       * src/ielr.c (LrType): Update documentation.
-       * src/parse-gram.y (content.opt): Add production for ID.
-       * tests/actions.at: Remove quotes in most tests.
-       * tests/calc.at: Likewise.
-       * tests/existing.at: Likewise.
-       * tests/input.at: Likewise.
-       * tests/local.at: Likewise.
-       * tests/push.at: Likewise.
-       * tests/reduce.at: Likewise.
-       * tests/torture.at: Likewise.
-
-2009-08-28  Joel E. Denny  <jdenny@clemson.edu>
-
-       %define lr.type: make values lowercase IDs.
-       That is, "LALR" => "lalr", "IELR" => "ielr", and
-       "canonical LR" => "canonical-lr".
-       * NEWS (2.5): Update documentation.
-       * doc/bison.texinfo (Decl Summary): Likewise.
-       * src/ielr.c (ielr): Use new values.
-       * src/ielr.h (ielr): Update documentation.
-       * src/reader.c (prepare_percent_define_front_end_variables): Use
-       and validate new values.
-       * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): Update test
-       grammars.
-       * tests/reduce.at (AT_TEST_LR_TYPE): Likewise.
-
-2009-08-27  Eric Blake  <ebb9@byu.net>
-
-       scan-gram: avoid portability trap with ctype usage.
-       * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
-       Avoid compiler warning.
-
-2009-08-27  Joel E. Denny  <jdenny@clemson.edu>
-
-       tests: use perl for printing special sequences to files.
-       And skip tests if perl is not available.  This is better than
-       playing tricks with shell portability.  Suggested by Akim
-       Demaille.
-       * tests/input.at (Bad character literals): Use it here for
-       omitting final newlines.
-       (Bad escapes in literals): Use it here for special characters.
-
-2009-08-26  Joel E. Denny  <jdenny@clemson.edu>
-
-       tests: show a use of %define lr.default-reductions "consistent"
-       * tests/conflicts.at (%nonassoc and eof): Extend to test that it
-       prevents the omission of expected tokens for %error-verbose.
-
-2009-08-26  Akim Demaille  <demaille@gostai.com>
-
-       tests: portability fix.
-       * tests/input.at (Bad escapes in literals): Don't expect "echo
-       '\0'" to output \ then 0.
-
-2009-08-26  Joel E. Denny  <jdenny@clemson.edu>
-
-       Actually handle the yytable zero value correctly this time.
-       * data/bison.m4 (b4_integral_parser_tables_map): Don't mention
-       zero values in the YYTABLE comments.
-       * data/glr.c (yytable_value_is_error): Don't check for zero
-       value.
-       * data/lalr1.cc (yy_table_value_is_error_): Likewise.
-       * data/yacc.c (yytable_value_is_error): Likewise.
-       * data/lalr1.java (yy_table_value_is_error_): Likewise.
-       (yysyntax_error): Fix typo in code: use yytable_ not yycheck_.
-       * src/tables.h: In header comments, explain why it's useless to
-       check for a zero value in yytable.
-
-2009-08-25  Joel E. Denny  <jdenny@clemson.edu>
-
-       More fixes related to last two patches.
-       * data/bison.m4 (b4_integral_parser_tables_map): Fix YYTABLE
-       comments: zero indicates syntax error not default action.
-       * data/c.m4 (b4_table_value_equals): Comment that YYID must be
-       defined.
-       * data/glr.c (yyis_pact_ninf): Rename to...
-       (yypact_value_is_default): ... this.
-       (yyisDefaultedState): Update for rename.
-       (yyis_table_ninf): Rename to...
-       (yytable_value_is_error): ... this, and check for value zero
-       besides just YYTABLE_NINF.
-       (yygetLRActions): Check for default value from yypact.  It
-       appears that this check is always performed before this function
-       is invoked, and so adding the check here is probably redundant.
-       However, the code may evolve after this subtlety is forgotten.
-       Also, update for rename to yytable_value_is_error.  Because that
-       macro now checks for zero, a different but equivalent branch of
-       the if-then-else here is evaluated.
-       (yyreportSyntaxError): Update for rename to
-       yytable_value_is_error.  The zero condition was mishandled
-       before.
-       (yyrecoverSyntaxError): Update for renames.  No behavioral
-       changes.
-       * data/lalr1.cc, data/lalr1.java (yy_pact_value_is_default_):
-       New function.
-       (yy_table_value_is_error_): New function.
-       (parse): Use new functions where possible.  No behavioral
-       changes.
-       (yysyntax_error_, yysyntax_error): Use yy_table_value_is_error_.
-       The zero condition was mishandled before.
-       * data/yacc.c (yyis_pact_ninf): Rename to...
-       (yypact_value_is_default): ... this.
-       (yyis_table_ninf): Rename to...
-       (yytable_value_is_error): ... this, and check for value zero
-       besides just YYTABLE_NINF.
-       (yysyntax_error): Update for rename to yytable_value_is_error.
-       The zero condition was mishandled before.
-       (yyparse): Update for renames.  No behavioral changes.
-       * src/tables.h: Improve comments about yypact, yytable, etc.
-       more.  Most importantly, say yytable value of zero means syntax
-       error not default action.
-
-2009-08-25  Joel E. Denny  <jdenny@clemson.edu>
-
-       Fix %error-verbose for conflicts resolved by %nonassoc.
-       * NEWS (2.5): Document.
-       * data/glr.c (yyreportSyntaxError): Fix this by checking
-       yyis_table_ninf.
-       * data/yacc.c (yysyntax_error): Likewise.
-       * data/lalr1.cc (yysyntax_error_): Fix this by checking
-       yytable_ninf_.
-       * data/lalr1.java (yysyntax_error): Likewise.
-       * tests/conflicts.at (%nonassoc and eof): Update expected output
-       and remove FIXME.
-
-2009-08-25  Joel E. Denny  <jdenny@clemson.edu>
-
-       Some code and documentation improvements.
-       * data/c.m4 (b4_table_value_equals): New macro to capture
-       some repeated code.
-       * data/glr.c (yyis_pact_ninf): Use it here.
-       (yyis_table_ninf): Likewise.
-       (yyreportSyntaxError): Improve internal comments.
-       * data/yacc.c (yyis_pact_ninf): New macro copied from glr.c.
-       Use it everywhere possible.
-       (yyis_table_ninf): Likewise.
-       (yysyntax_error): Improve internal comments.
-       * data/lalr1.cc (yysyntax_error_): Likewise.
-       * data/lalr1.java (yysyntax_error): Likewise.
-       * src/tables.h: Improve comments about yypact, yytable, etc.
-
-2009-08-21  Joel E. Denny  <jdenny@clemson.edu>
-
-       Use locale when quoting.
-       * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): Use
-       quote rather than implementing quoting here.
-
-2009-08-20  Eric Blake  <ebb9@byu.net>
-
-       Make previous patch more robust.
-       * src/output.c (ARRAY_CARDINALITY): New macro, copied from
-       argmatch.h.
-       (output_skeleton): Use it.
-       Suggested by Akim Demaille.
-
-       Import latest m4/m4.m4.
-       * submodules/autoconf: Update to autoconf 2.64.
-       * configure.ac (M4_GNU_OPTION): New define.
-       * src/output.c (output_skeleton): Use it to resolve FIXME.
-       * NEWS: Mention this.
-
-2009-08-19  Joel E. Denny  <jdenny@clemson.edu>
-
-       Fix complaints about escape sequences.
-       Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2009-08/msg00036.html>.
-       * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER):
-       For a \0 and similar escape sequences meaning the null
-       character, report an invalid escape sequence instead of an
-       invalid null character because the latter does not actually
-       appear in the user's input.
-       In all escape sequence complaints, don't escape the initial
-       backslash, and don't quote when the sequence appears at the end
-       of the complaint line unless there's whitespace that quotearg
-       won't escape.
-       Consistently say "invalid" not "unrecognized".
-       Consistently prefer "empty character literal" over "extra
-       characters in character literal" warning for invalid escape
-       sequences; that is, consistently discard those sequences.
-       * tests/input.at (Bad escapes in literals): New.
-
-2009-08-19  Akim Demaille  <demaille@gostai.com>
-
-       doc: fixes.
-       * doc/bison.texinfo: Fix minor Texinfo errors.
-
-2009-08-19  Akim Demaille  <demaille@gostai.com>
-
-       tests: distcc compliance.
-       * tests/synclines.at (AT_SYNCLINES_COMPILE): Discard distcc's
-       error messages from the output.
-
-2009-08-19  Akim Demaille  <demaille@gostai.com>
-
-       variables: simplify the upgrade of namespace into api.namespace.
-
-       This patch simplifies "variables: rename namespace as
-       api.namespace", commit 67501061076ba46355cfd9f9361c7eed861b389c.
-       Suggested by Joel E. Denny in
-       http://lists.gnu.org/archive/html/bison-patches/2009-07/msg00006.html
-
-       * src/muscle-tab.c (muscle_percent_variable_update): New.
-       (muscle_percent_define_insert): Use it in replacement of the
-       previous tr invocation.
-       Remove variable_tr, no longer needed.
-       * data/bison.m4 (b4_percent_define_copy_, b4_percent_define_copy):
-       Remove.
-       * data/c++.m4: No longer handle namespace -> api.namespace.
-       * tests/input.at (%define backward compatibility): Check that
-       namespace is treated as api.namespace.
-
-2009-08-19  Akim Demaille  <demaille@gostai.com>
-
-       doc: %initial-action to initialize yylloc.
-       Reported by Bill Allombert.
-       * doc/bison.texinfo: Set fill-column to 76.
-       (Location Type): Document the use of %initial-action to initialize
-       yylloc.
-
-2009-08-19  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: use state_type.
-       * data/lalr1.cc (yysyntax_error_): Use state_type.
-       Move argument names into yy*.
-
-2009-08-19  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: get rid of yyparse's yystate.
-       yystate and yystack_[0].state are equal, keep only the latter.
-       The former was also used as a temporary variable to compute the
-       post-reduction state.  Move this computation into an auxiliary
-       function.
-
-       * data/glr.c (yyLRgotoState): Fuse variable definition and first
-       assignment.
-       * data/lalr1.cc (yy_lr_goto_state_): New.
-       (yyparse): Use it.
-       Replace remaining uses of yystate by yystate_[0].state.
-       Remove the former.
-
-2009-08-19  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: destroy $$ when YYERROR is called.
-       * data/lalr1.cc (yyreduce): Compute the resulting state before
-       running the user action so that yylhs is a valid symbol.
-       (yyerrorlab): Since yylhs is complete (it knows its type), we can
-       simply call yy_destroy_ to destroy $$ on YYERROR invocations.
-       * tests/c++.at (AT_CHECK_VARIANTS): Test YYERROR with variants.
-
-2009-08-18  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: update for gnulib's recent update-copyright changes
-       * gnulib: Update.
-       * .x-update-copyright (COPYING): Add as it's no longer implied
-       when .x-update-copyright is present.
-       * cfg.mk (update-copyright-local): Remove, now ignored.
-       (update-copyright): Declare update-b4-copyright as a dependency.
-
-2009-08-17  Akim Demaille  <demaille@gostai.com>
-
-       build: require gettext 0.17.
-
-       Suggested by Bruno Haible.
-       http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00009.html
-       * configure.ac: require gettext 0.17 to ensure compatibility with
-       gnulib.
-
-2009-08-17  Akim Demaille  <demaille@gostai.com>
-
-       build: lower gettext requirements.
-
-       Bison was uselessly requiring the formatstring macros from
-       gettext, which resulted in mo files not being installed on systems
-       that perfectly supported Bison mo files.  Lower the requirement.
-       http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html
-
-       * configure.ac: Require need-ngettext instead of
-       need-formatstring-macros.
-       Reported by Martin Jabocs.
-       Suggested by Bruno Haible.
-       * INSTALL: Restructure.
-       (Internationalization): New.
-
-2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: fix use of copyright year intervals.
-       * gnulib: Update.
-       * bootstrap.conf (gnulib_modules): Update getopt to getopt-gnu
-       as now recommended in gnulib/NEWS.
-       * build-aux/update-b4-copyright: Fix.
-       * cfg.mk (update-copyright-env): Configure update-copyright.
-
-2009-08-13  Joel E. Denny  <jdenny@clemson.edu>
-
-       Make it easier to write deterministic tests.
-       Continues Akim's work from his 2009-06-10 commits.
-       * src/reader.c (check_and_convert_grammar): Don't add any
-       symbols after the first symbols_do invocation.
-       * src/symtab.c (symbols_sorted): New static global.
-       (user_token_number_redeclaration): Update comments.
-       (symbol_from_uniqstr): If a new symbol is being created, assert
-       that symbols_sorted hasn't been allocated yet.
-       (symbols_free): Free symbols_sorted.
-       (symbols_cmp, symbols_cmp_qsort): New functions.
-       (symbols_do): Sort symbol_table into symbols_sorted on first
-       invocation.
-       * tests/input.at (Numbered tokens): Recombine tests now that the
-       output should be deterministic across multiple numbers.
-
-2009-08-12  Akim Demaille  <demaille@gostai.com>
-
-       tests: GCC 4.5 compliance.
-       * tests/synclines.at (AT_SYNCLINES_COMPILE): Adjust to GCC 4.5's
-       messages about #error.
-
-2009-08-12  Akim Demaille  <demaille@gostai.com>
-
-       build: fix the generation of the documentation.
-       Some of our targets use "bison --help", but they can't depend on
-       "bison" itself (to avoid additional requirements on the user), so
-       they used to call "make src/bison" in the commands.  Then
-       concurrent builds may fail: one make might be aiming one of its
-       jobs at compiling src/bison, and another job at generating the man
-       page.  If the latter is faster than the former, then we have two
-       makes that concurrently try to compile src/bison.
-
-       This might also be a more convincing explanation for the failure
-       described in the patch "build: fix paths".
-
-       * Makefile.am (SUFFIXES): Initialize.
-       * build-aux/move-if-change: New, symlink to gnulib's.
-       * build-aux/local.mk: Ship it.
-       * doc/common.x: Remove, merged into...
-       * doc/bison.x: here.
-       * doc/local.mk (doc/bison.help): New.
-       ($(CROSS_OPTIONS_TEXI)): Depend on it.
-       Use src/bison.
-       (.x.1): Replace with...
-       (doc/bison.1): this explicit, simpler, target.
-       (common_dep): Remove, inlined where appropriate.
-       (SUFFIXES, PREPATH): Remove, unused.
-
-2009-08-12  Akim Demaille  <demaille@gostai.com>
-
-       gnulib: improve prefixing.
-       * configure.ac (gl_PREFIXED_LIBOBJS): Don't rename it, rather,
-       change the value of...
-       (gl_LIBOBJS): this.
-       Adjust more variables.
-       * etc/prefix-gnulib-mk (prefix_assignment): Don't rename
-       gl_LIBOBJS.
-       (prefix): Also transform rules whose targets have slashes.
-       Use $prefix liberally.
-       Map @MKDIR_P@ to $(MKDIR_P).
-       Prefix directories that are mkdir'd.
-
-2009-08-12  Akim Demaille  <demaille@gostai.com>
-
-       build: fix paths.
-       When using $(top_builddir) inconsistently, Make (including GNU
-       Make) is sometimes confused.  As a result it may want to build
-       lib/libbison.la and $(top_builddir)/lib/libbison.la (the same
-       file, different names) concurrently, which, amusingly enough,
-       might end with:
-
-         ranlib lib/libbison.a
-         ranlib lib/libbison.a
-         make[2]: *** [lib/libbison.a] Segmentation fault
-
-       on OS X.
-
-       * doc/local.mk, src/local.mk: Do not use $(top_builddir) when not
-       needed.
-
-2009-08-12  Akim Demaille  <demaille@gostai.com>
-
-       distcheck: fix.
-
-       * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp.
-
-2009-08-10  Joel E. Denny  <jdenny@clemson.edu>
-
-       * tests/local.mk (TESTSUITE_AT): Add named-refs.at.
-
-2009-08-10  Joel E. Denny  <jdenny@clemson.edu>
-
-       Miscellaneous code readability improvements.
-
-       * src/reader.c (reader): Move %define front-end variable
-       defaults and checking into...
-       (prepare_percent_define_front_end_variables): ... this new
-       function.
-
-       * src/scan-gram.l (INITIAL): For consistency with string
-       literals, don't store open quote on character literal.  It's
-       discarded before returning anyway.
-       (SC_ESCAPED_CHARACTER): Similarly, don't store close quote.
-       Make length test more readable, and make the character stored
-       for an empty literal more obvious while consistent with the
-       previous behavior.
-
-       * src/symtab.c, src/symtab.h: Rename USER_NUMBER_ALIAS to
-       USER_NUMBER_HAS_STRING_ALIAS throughout.
-       * src/symtab.c (symbol_make_alias): Remove comment from symtab.c
-       that is repeated in symtab.h.  Improve argument names to make it
-       clear which side of the symbol-string alias pair is which.
-       (symbol_check_alias_consistency): Improve local variable names
-       for the same purpose.
-       * src/symtab.h (struct symbol): Make comments about aliases
-       clearer.
-       (symbol_make_alias): Improve comments and argument name.
-       * src/output.c (token_definitions_output): Update for rename to
-       USER_NUMBER_HAS_STRING_ALIAS and improve comments about aliases.
-
-2009-08-08  Alex Rozenman  <rozenman@gmail.com>
-
-       Convert "misleading reference" messages to warnings.
-       * src/scan-code.l: New function 'show_sub_messages', more
-       factoring.
-       * tests/named-ref.at: Adjust tests.
-
-2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: run "make update-copyright"
-
-2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: make update-b4-copyright easier to use
-       * build-aux/update-b4-copyright: In warnings, report line
-       numbers rather than character positions.
-       * cfg.mk (update-copyright-local): Set to update-b4-copyright so
-       that update-copyright runs it.
-       * gnulib: Update.
-
-2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: clean up update-b4-copyright code
-       * build-aux/update-b4-copyright: Do not accept 2-digit
-       UPDATE_COPYRIGHT_YEAR, which was not handled correctly.
-       Don't accept a `[' in a b4_copyright argument.
-       Format code more consistently.
-       Don't assume b4*copyright never occurs.
-
-2009-08-04  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: automate b4_copyright updates.
-       * Makefile.am (update-b4-copyright): New target rule.
-       * build-aux/local.mk (EXTRA_DIST): Add update-b4-copyright.
-       * build-aux/update-b4-copyright: New.
-       * data/yacc.c: Remove stray characters around b4_copyright
-       invocations.
-
-2009-08-04  Joel E. Denny  <jdenny@clemson.edu>
-
-       maint: automate annual package-wide copyright-year update.
-       * .x-update-copyright: New.
-       * Makefile.am (EXTRA_DIST): Remove maint.mk.
-       * bootstrap.conf (gnulib_modules): Add maintainer-makefile and
-       update-copyright.  Remove gnumakefile, which is implied by
-       maintainer-makefile.
-       * cfg.mk (bootstrap-tools): Copy from old maint.mk.
-       * gnulib: Update.
-       * maint.mk: Remove, now copied from gnulib.
-       * examples/extexi: Add missing "(C)" in copyright statement so
-       update-copyright can recognize it.
-       * src/LR0.h: Likewise.
-       * src/print.h: Likewise.
-       * src/print_graph.h: Likewise.
-       * src/gram.c: Add missing comma in copyright statement.
-       * src/gram.h: Likewise.
-
-2009-08-04  Joel E. Denny  <jdenny@clemson.edu>
-
-       Fix "make distcheck".
-       * examples/calc++/Makefile.am: Say $(srcdir)/calc.stamp instead
-       of just calc.stamp.
-
-2009-08-01  Joel E. Denny  <jdenny@clemson.edu>
-
-       Pacify "gcc -Wunused" for the input function from Flex.
-       Reported by Alex Rozenman.  This warning shows up with gcc-4.3.0
-       and later.
-       * src/scan-code.l: Add "%option noinput", which I cannot find in
-       the Flex manual, but which Flex has supported since at least as
-       far back as 2.5.4.  However, if any of our developers still use
-       Flex 2.5.4, they'll need to stop configuring with
-       --enable-gcc-warnings because "%option noinput" didn't work
-       correctly until Flex 2.5.6.
-       * src/scan-gram.l: Likewise.
-       * src/scan-skel.l: Likewise.
-
-2009-07-31  Alex Rozenman  <rozenman@gmail.com>
-
-       Fix --enable-gcc-warnings problems.
-       * src/reader.c: Adjust variable names.
-       * src/scan-code.l: Fix prototypes and adjust names.
-       * src/named-ref.c: Remove redundant "if".
-
-2009-07-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix a --enable-gcc-warnings problem.
-       * src/scan-gram.l (SC_ESCAPED_CHARACTER): Actually use length
-       variable.
-
-2009-07-24  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Warn about character literals not of length one.
-       * NEWS (2.5): Document.
-       * src/scan-gram.l (INITIAL): Remove comment that we don't check
-       the length.
-       (SC_ESCAPED_CHARACTER): Warn if length is wrong.
-       * tests/input.at (Bad character literals): New test group.
-
-2009-07-24  Alex Rozenman  <rozenman@gmail.com>
-
-       Fix some memory leaks.
-       * src/named-ref.c: Add a pointer check (named_ref_free).
-       * src/scan-code.l: New function (variant_table_free). Called in
-       code_scanner_free.
-       * src/symlist.c: Call to named_ref_free (symbol_list_free).
-
-2009-07-24  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/lalr.c (state_lookahead_tokens_count): Correct comment.
-
-2009-07-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Some M4 cleanup in the testsuite.
-       Suggested by Eric Blake at
-       <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00083.html>.
-       * tests/existing.at (_AT_TEST_EXISTING_GRAMMAR): Do not
-       complicate the code by distinguishing between a missing value
-       and an empty string value for an optional argument.  This fix is
-       allowed by the similar fix in AT_TEST_TABLES_AND_PARSE below.
-       * tests/local.at (_AT_TEST_TABLES_AND_PARSE): Merge into...
-       (AT_TEST_TABLES_AND_PARSE): ... this now that the special
-       arguments are not needed because of the following changes.
-       Fix stale comments.
-       Bison developers should use GNU M4 and should not use
-       POSIXLY_CORRECT when building the test suite, so do not
-       complicate the code by avoiding $10 and above.
-       Do not quote an empty string value for an optional argument, and
-       do not distinguish between a missing value and an empty string
-       value.
-
-2009-07-15  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Revert unnecessary column realignment in --help output.
-       Reported by Akim Demaille at
-       <http://lists.gnu.org/archive/html/bison-patches/2009-06/msg00010.html>.
-       * src/getargs.c (usage): Here.
-
-2009-07-04  Alex Rozenman  <rozenman@gmail.com>
-
-       Alphabetical order in src/local.mk.
-       * src/local.mk: Adjust.
-
-2009-07-04  Alex Rozenman  <rozenman@gmail.com>
-
-       Style changes and factoring.
-       * src/named-ref.h: Add comments.
-       * src/parse-gram.y: Readability and style changes.
-       * src/reader.c: Factoring: assign_named_ref function.
-       * src/scan-code.l: Factoring and style changes. Rename
-       parse_named_ref to parse_ref. Use "c-ctype.h" from gnulib.
-       Use "unsigned" type for variant index. Improve readablity.
-       * src/scan-gram.l: Change error messages and add comments.
-       * src/symlist.h: symbol_list_null: New function decl.
-       * src/symlist.c: symbol_list_null: Implement here.
-       * tests/named-refs.at: Adjust for new error messages.
-
-2009-06-29  Eric Blake  <ebb9@byu.net>
-
-       scan-code: avoid compiler warnings
-       * src/scan-code.l (parse_named_ref): Use correct specifiers.
-
-2009-06-29  Akim Demaille  <demaille@gostai.com>
-
-       build: avoid concurrent extraction of calc++.
-       * examples/calc++/Makefile.am (calc.stamp): New.
-       Depend on it to create the sources of calc++ so that concurrent
-       builds don't launch several "extexi" in parallel.
-       Not only this is inefficient, this also builds incorrect sources
-       with several extractions mixed together.
-
-2009-06-29  Akim Demaille  <demaille@gostai.com>
-
-       parse.error: fix.
-       * data/bison.m4: Move code related to specific variables after the
-       definition of the variable-maintaining macros so that we don't
-       "invoke" b4_percent_define_check_values before it is defined.
-
-2009-06-29  Akim Demaille  <demaille@gostai.com>
-
-       variables: parse.error
-
-       Implement, document, and test the replacement of %error-verbose
-       by %define parse.error "verbose".
-       * data/bison.m4 (b4_error_verbose_if): Reimplement to track the
-       values of the parse.error variable.
-       Make "simple" its default value.
-       Check the valid values.
-       * src/parse-gram.y: Use %define parse.error.
-       (PERCENT_ERROR_VERBOSE): New token.
-       Support it.
-       * src/scan-gram.l: Support %error-verbose.
-
-       * doc/bison.texinfo (Decl Summary): Replace the documentation of
-       %define error-verbose by that of %define parse.error.
-       * NEWS: Document it.
-
-       * tests/actions.at, tests/calc.at: Use parse.error instead of
-       %error-verbose.
-
-2009-06-27  Alex Rozenman  <rozenman@gmail.com>
-
-       Implement support for named symbol references.
-       * src/parse-gram.y: Add new syntax (named_ref.opt).
-       * src/reader.c: Store named refs in symbol lists.
-       * src/reader.h: New argument for symbol_append and
-       action_append functions.
-       * src/scan-code.h: Add new field (named_ref) into
-       code_props data structure. Keeps named ref of midrule
-       actions.
-       * src/scan-code.l: Support for named refs in semantic
-       action code. New function 'parse_named_ref'.
-       * src/scan-gram.l: Support bracketed id.
-       * src/symlist.c: Store named refs in symbol lists.
-       * src/symlist.h: New field in symbol list: named_ref.
-       * src/named-ref.h: New file, a struct for named_ref.
-       * src/named-ref.cp: New file, named_ref_new function.
-       * src/local.mk: Add two new files.
-       * tests/testsuite.at: Include new test group:
-       * tests/named-refs.at: this new file.
-
-2009-06-25  Akim Demaille  <demaille@gostai.com>
-
-       hash: check insertion for memory exhaustion.
-       * src/uniqstr.c (uniqstr_new): New.
-
-2009-06-24  Akim Demaille  <demaille@gostai.com>
-
-       variables: rename namespace as api.namespace.
-       Discussed in
-       http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00033.html
-
-       * data/bison.m4 (b4_percent_define_copy_, b4_percent_define_copy):
-       New.
-       (b4_percent_define_use): New.
-       Use it where applicable.
-       * data/c++.m4: Replace uses of the variable "namespace" by
-       "api.namespace".
-       Default the latter to the former.
-       * doc/bison.texinfo (Decl Summary): Document "namespace" as
-       obsolete.
-       Document api.namespace.
-       Use @samp to document %define uses, keep @code for identifiers.
-       * NEWS: Likewise.
-       * tests/c++.at, tests/input.at: Test api.namespace instead of
-       namespace. (The tests passed with namespace.)
-
-2009-06-11  Akim Demaille  <demaille@gostai.com>
-
-       style changes.
-       * data/xslt/xml2dot.xsl, data/xslt/xml2xhtml.xsl: Space changes.
-       * src/print-xml.c: Style changes.
-       * tests/conflicts.at: Comment changes.
-
-2009-06-11  Akim Demaille  <demaille@gostai.com>
-
-       xml: beware of user strings used to give a %prec to rules.
-       * tests/conflicts.at (%prec with user strings): New.
-       * src/gram.c (grammar_rules_print_xml): Escape the precedence for
-       XML output.
-
-2009-06-11  Akim Demaille  <demaille@gostai.com>
-
-       hash: check insertion for memory exhaustion.
-       * src/muscle-tab.c (muscle_insert, muscle_grow)
-       * src/state.c (state_hash_insert): Check the return value of
-       hash_insert.
-
-2009-06-11  Akim Demaille  <demaille@gostai.com>
-
-       tests: honor TESTSUITEFLAGS in every check target.
-       * tests/local.mk (RUN_TESTSUITE): New.
-       (check-local, installcheck-local, maintainer-check-g++)
-       (maintainer-check-posix, maintainer-check-valgrind): Use it.
-
-2009-06-10  Akim Demaille  <demaille@gostai.com>
-
-       deterministic test suite.
-       Some consistency checks on symbols are performed after all the
-       symbols were read, by an iteration over the symbol table.  This
-       traversal is nondeterministic, which can be a problem for test
-       cases.
-       Avoid this.
-       Addresses another form of nondeterminism reported by Joel E. Denny.
-       http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
-
-       * tests/input.at (Numbered tokens): Split the hexadecimal/decimal
-       test in two.
-       Use different file names for the three tests to make the
-       maintenance easier.
-
-2009-06-10  Akim Demaille  <demaille@gostai.com>
-
-       gnulib: update.
-       * gnulib: Update to latest.
-       * lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
-       * m4/.gitignore: Regen.
-       * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
-       Call xalloc_die on hash_insert failures.
-       Requested by the new __warn_unused_result__ attribute of
-       hash_insert.
-
-2009-06-10  Akim Demaille  <demaille@gostai.com>
-
-       deterministic user-token-number redeclaration errors.
-       Address nondeterminism reported by Joel E. Denny.
-       http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
-
-       * src/uniqstr.h: Comment changes.
-       * src/location.h (boundary_cmp, location_cmp): New.
-       * src/symtab.c (user_token_number_redeclaration): New.
-       (symbol_translation): Use it.
-       * tests/input.at (Numbered tokens): Adjust the expected output.
-
-2009-05-25  Akim Demaille  <demaille@gostai.com>
-
-       build: avoid ignored errors.
-       * doc/local.mk ($(CROSS_OPTIONS_TEXI)): Don't generate ignored
-       errors, they pollute the output.
-
-2009-05-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Convert multiple variable definition warnings to complaints.
-       * NEWS (2.5): Add a new entry for that change.
-       * doc/bison.texinfo (Decl Summary): Update %define entry.
-       (Bison Options): Update -D/--define/-F/--force-define entry.
-       * src/muscle-tab.c (muscle_percent_define_insert): Implement.
-       * src/muscle-tab.h (muscle_percent_define_insert): Update
-       comments.
-       * tests/input.at (`%define errors'): Update.
-       (`%define, --define, --force-define'): Update.
-
-2009-05-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       -F/--force-define and relative %define/-D/--define priorities.
-       * NEWS (2.5): Add documentation to -D/--define entry.
-       * build-aux/cross-options.pl: Hard-code association of
-       --force-define with %define.
-       * doc/bison.texinfo (Decl Summary): In %define entry,
-       cross-reference command-line options.
-       (Bison Options): Add documentation to -D/--define entry.
-       (Option Cross Key): Widen column for --force-define row.
-       * src/getargs.c (usage): Document -F/--force-define.  Realign
-       options in output.
-       (short_options, long_options, getargs): Parse -F/--force-define,
-       and update muscle_percent_define_insert invocations.
-       * src/muscle-tab.h (muscle_percent_define_how): New enum type.
-       (muscle_percent_define_insert): Add argument with that type.
-       * src/muscle-tab.c (muscle_percent_define_insert): Implement
-       -F/--force-define behavior and priorities.
-       (muscle_percent_define_ensure): Update
-       muscle_percent_define_insert invocation.
-       * src/parse-gram.y (prologue_declaration): Update
-       muscle_percent_define_insert invocations.
-       * tests/input.at (`%define, --define'): Rename to...
-       (`%define, --define, --force-define'): ... this and extend.
-
-2009-05-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update some comments to make sense for -D.
-       * data/bison.m4 (b4_check_user_names): In header comments, say
-       "user occurrence" instead of "grammar occurrence".
-       * src/muscle-tab.h (muscle_percent_define_insert): Likewise.
-       (muscle_percent_code_grow): Likewise just for consistency.
-
-2009-05-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/c++.m4 (b4_namespace_close): Simplify slightly.
-
-2009-05-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Handle a trailing `:' in a user-supplied C++ namespace better.
-       * data/c++.m4 (b4_namespace_close): Don't let it be printed
-       among the closing braces here.  This fix might make the
-       generated code easier to debug, but otherwise it should be
-       insignificant because a trailing `:' is a C++ error already.
-
-2009-05-19  Akim Demaille  <demaille@gostai.com>
-
-       remove useless variable.
-       * src/getargs.c (skeleton_arg): Remove now useless variable.
-       Should help the compiler see that this printf-like call is sane.
-
-2009-05-15  Akim Demaille  <demaille@gostai.com>
-
-       Rename token.prefix as api.tokens.prefix.
-       Discussed here.
-       http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00024.html.
-
-       * NEWS, data/bison.m4, data/c.m4, data/java.m4, doc/bison.texinfo,
-       * tests/c++.at, tests/calc.at, tests/java.at, tests/local.at
-       (token.prefix): Rename as...
-       (api.tokens.prefix): this.
-
-2009-05-11  Akim Demaille  <demaille@gostai.com>
-
-       doc: use C++ headers.
-       * doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C
-       headers.
-
-2009-05-11  Akim Demaille  <demaille@gostai.com>
-
-       doc: token.prefix
-       * doc/bison.simple (Decl Summary): Document token.prefix.
-       (Calc++ Parser): Various fixes.
-       Formatting changes.
-       Use token.prefix.
-       Introduce a macro TOKEN to shorten the code and make it more
-       readable.
-       (Calc++ Scanner): Adjust.
-       * NEWS (Variable token.prefix): New.
-
-2009-05-04  Akim Demaille  <demaille@gostai.com>
-
-       bison: catch bad symbol names.
-       * src/scan-gram.l({int}{id}): Report as an invalid identifier.
-       * tests/input.at: Adjust.
-
-2009-05-04  Akim Demaille  <demaille@gostai.com>
-
-       identifiers: dashes are letters.
-       Dashes can now start identifiers (symbols and directives).
-
-       * src/scan-gram.l ({letter}): Add dash.
-       ({id}): Remove it.
-       * tests/input.at (Symbols): Adjust.
-       Remove stray comment.
-       * tests/regression.at (Invalid inputs): Adjust error message.
-       * doc/bison.texinfo (Symbols): Update.
-
-2009-05-01  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Declare %code to be a permanent feature.
-       * NEWS (2.4.2): Here.
-       * doc/bison.texinfo (Prologue Alternatives): Don't say it's
-       experimental.
-       (Decl Summary): Likewise.
-
-2009-04-30  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Convert underscores to dashes in some %define variable names.
-       For now, just api.push-pull and lr.keep-unreachable-states.
-       Maintain old names for backward compatibility.
-       * NEWS (2.5): Document.
-       * data/c.m4 (b4_identification): Update comment.
-       * data/yacc.c: Update access.
-       * doc/bison.texinfo: Update.
-       * etc/bench.pl.in (bench_push_parser): Update use.
-       * src/files.c (tr): Move to...
-       * src/getargs.c, src/getargs.h (tr): ... here because I can't
-       think of a better place to expose it.  My logic is that, for all
-       uses of tr so far, command-line arguments can be involved, and
-       getargs.h is already included.
-       * src/main.c (main): Update access.
-       * src/muscle_tab.c (muscle_percent_define_insert): Convert old
-       variable names to new variable names before assigning value.
-       * src/reader.c (reader): Update setting default.
-       * tests/calc.at: Update uses.
-       * tests/conflicts.at (Unreachable States After Conflict
-       Resolution): Update use.
-       * tests/input.at (%define enum variables): Update use.
-       (%define backward compatibility): New test group.
-       * tests/push.at: Update uses.
-       * tests/reduce.at: Update uses.
-       * tests/torture.at: Update uses.
-
-2009-04-30  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Set all front-end %define defaults in one place.
-       * src/main.c (main): Move lr.keep_unreachable_states default...
-       * src/reader.c (reader): ... to here.
-
-2009-04-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Rename lr.default_reductions to lr.default-reductions.
-       * NEWS (2.5): Here.
-       * doc/bison.texinfo: Here.
-       * src/lalr.c (initialize_LA): Here.
-       * src/print.c (print_reductions): Here.
-       * src/reader.c (reader): Here.
-       * src/tables.c (action_row): Here.
-       * tests/input.at (%define enum variables): Here.
-       * tests/reduce.at (AT_TEST_LR_DEFAULT_REDUCTIONS): Here.
-
-2009-04-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Pacify ./configure --enable-gcc-warnings.
-       * tests/input.at (Symbols): Prototype yyerror and yylex.
-
-2009-04-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Document how `%define "var" "value"' is not M4-friendly.
-       * src/parse-gram.y (variable): In comments here.
-
-2009-04-24  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Clean up recent patches a little.
-       Reported by Akim Demaille.
-       * doc/bison.texinfo (Understanding): Fix typos.
-       * src/print.c (print_reductions): Don't use negated variable.
-
-2009-04-24  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       List accepted values for a %define enum variable with an invalid value.
-       Suggested by Akim Demaille at
-       <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00082.html>.
-       * data/bison.m4 (_b4_percent_define_check_values): Implement.
-       * src/muscle-tab.c (muscle_percent_define_check_values): Implement.
-       * tests/input.at (%define lr.default_reductions invalid values): Merge
-       into...
-       (%define enum variables): ... here, and update output.
-
-2009-04-23  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Rename "default rule" to "default reduction".
-       This includes changing variable names in code, changing
-       comments, and renaming %define lr.default_rules to %define
-       lr.default_reductions.
-       * NEWS (2.5): Update IELR documentation.
-       * data/bison.m4 (b4_integral_parser_tables_map): Adjust YYDEFACT
-       documentation.
-       * data/glr.c, data/lalr1.java: Sync copyright dates.
-       * doc/bison.texinfo (Decl Summary): Adjust lr.default_reductions
-       and lr.type documentation.  Make some other wording
-       improvements.
-       (Glossary): Adjust cross-references and Default Reduction
-       definition.
-       * src/lalr.c (state_lookahead_tokens_count): Adjust code.
-       Remove a confusing comment pointed out by Akim Demaille.
-       (initialize_LA): Adjust code.
-       * src/print-xml.c (print_reductions): Adjust code.
-       * src/print.c (print_reductions): Adjust code.
-       * src/reader.c (reader): Adjust code.
-       * src/tables.c (action_row): Adjust code.
-       (token_actions): Adjust code.
-       * src/tables.h: Adjust YYDEFACT documentation.
-       * tests/input.at (%define lr.default_rules invalid values):
-       Rename test group to...
-       (%define lr.default_reductions invalid values): ... this, and
-       update grammar file and expected output.
-       * tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): Rename to...
-       (AT_TEST_LR_DEFAULT_REDUCTIONS): ... this, and update.
-
-2009-04-21  Akim Demaille  <demaille@gostai.com>
-
-       tests: check the use of dashes and periods in symbols.
-       * tests/input.at (Symbol): New test group.
-
-2009-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Document %define lr.type and lr.default_rules.
-       * NEWS (2.5): Add an entry.
-       * src/getargs.c (usage): Mention IELR(1) and canonical LR(1)
-       besides just LALR(1) and GLR(1).
-       * doc/bison.texinfo (Introduction): Likewise.
-       (Language and Grammar): Bison is no longer limited to LALR(1)
-       restrictions.
-       (GLR parsing): Say deterministic or LR(1) rather than LALR(1)
-       when trying to distinguish from GLR.  Talk about LR(1) grammars
-       rather than LALR(1) grammars.
-       (Decl Summary): In %define api.push_pull entry, say it applies
-       to deterministic parsers in C rather than LALR(1) parsers in C.
-       Add lr.default_rules entry.
-       Add lr.type entry.
-       (Mystery Conflicts): Bison is no longer limited to LALR(1)
-       restrictions.
-       (Generalized LR Parsing): Same changes as for the previous GLR
-       section.
-       (Memory Management): Say deterministic rather than LALR(1).
-       (Understanding): Correct some bison output.
-       Index discussion of "accepting state".
-       Say deterministic rather than LALR(1).
-       (Bison Options): In --yacc entry, say deterministic rather than
-       LALR(1).
-       In --report, --graph, and --xml entries, just don't mention
-       LALR(1).
-       (C++ Parsers): Say deterministic rather than LALR(1).
-       (Table of Symbols): Likewise in YYSTACK_USE_ALLOCA entry.
-       (Glossary): Add Accepting State, Consistent State, Default Rule,
-       and IELR(1) definitions.
-       In Generalized LR (GLR) definition, make same changes as in
-       previous GLR sections.
-       In LALR(1) definition, say Bison uses LALR(1) by default rather
-       than implying Bison is limited to LALR(1).
-       (LocalWords): Add IELR.
-
-2009-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Finish implementing %define lr.type.
-       Its value can be "LALR", "IELR", or "canonical LR".
-       * lib/timevar.def (TV_IELR_PHASE1): New var.
-       (TV_IELR_PHASE2): New var.
-       (TV_IELR_PHASE3): New var.
-       (TV_IELR_PHASE4): New var.
-       * src/Makefile.am (bison_SOURCES): Add AnnotationList.c,
-       AnnotationList.h, InadequacyList.c, InadequacyList.h, Sbitset.c,
-       Sbitset.h, ielr.h, and ielr.c.
-       * src/getargs.h, src/getargs.c (enum trace, trace_args,
-       trace_types): Add trace_ielr.
-       * src/lalr.h, src/lalr.c (ngotos): Export it.
-       (F): Rename to...
-       (goto_follows): ... this, update all uses, and export it.
-       (set_goto_map): Export it.
-       (map_goto): Export it.
-       (compute_lookahead_tokens): Don't free goto_follows yet.  Now
-       handled in ielr.
-       (initialize_LA): Export it.  Move lookback allocation to...
-       (lalr): ... here because, for canonical LR, initialize_LA must
-       be invoked but lookback and much of the rest of LALR isn't
-       needed.
-       * main.c (main): Instead of lalr, invoke ielr, which invokes
-       lalr.
-       * src/reader.c (reader): Default lr.type to "LALR".
-       Default lr.default_rules to "accepting" if lr.type is "canonical
-       LR".  Leave the default as "all" otherwise.
-       Check for a valid lr.type value.
-       * src/state.h, src/state.c (struct state_list): Add state_list
-       member.
-       (state_new): Initialize state_list member to NULL.
-       (state_new_isocore): New function, exported.
-       * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): New macro that
-       exercises all values of lr.type.
-       (GNU AWK Grammar): Rename test group to...
-       (GNU AWK 3.1.0 Grammar): ... this, and extend to use
-       AT_TEST_EXISTING_GRAMMAR.
-       (GNU Cim Grammar): Extend to use AT_TEST_EXISTING_GRAMMAR.
-       (GNU pic Grammar): Rename test group to...
-       (GNU pic (Groff 1.18.1) Grammar): ... this, and extend to use
-       AT_TEST_EXISTING_GRAMMAR.
-       * tests/reduce.at (AT_TEST_LR_TYPE): New macro that exercises
-       all values of lr.type.
-       (Single State Split): New test groups using AT_TEST_LR_TYPE.
-       (Lane Split): Likewise.
-       (Complex Lane Split): Likewise.
-       (Split During Added Lookahead Propagation): Likewise.
-
-2009-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Add new files for IELR and canonical LR implementation.
-       * src/AnnotationList.c: New.
-       * src/AnnotationList.h: New.
-       * src/InadequacyList.c: New.
-       * src/InadequacyList.h: New.
-       * src/Sbitset.c: New.
-       * src/Sbitset.h: New.
-       * src/ielr.c: New.
-       * src/ielr.h: New.
-
-2009-04-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Implement %define lr.default_rules.
-       Its value describes the states that are permitted to contain
-       default rules: "all", "consistent", or "accepting".
-       * src/reader.c (reader): Default lr.default_rules to "all".
-       Check for a valid lr.default_rules value.
-       * src/lalr.c (state_lookahead_tokens_count): If lr.default_rules
-       is "accepting", then only mark the accepting state as
-       consistent.
-       (initialize_LA): Tell state_lookahead_tokens_count whether
-       lr.default_rules is "accepting".
-       * src/tables.c (action_row): If lr.default_rules is not "all",
-       then disable default rules in inconsistent states.
-       * src/print.c (print_reductions): Use this opportunity to
-       perform some assertions about whether lr.default_rules was
-       obeyed correctly.
-       * tests/local.at (AT_TEST_TABLES_AND_PARSE): New macro that
-       helps with checking the parser tables for a grammar.
-       * tests/input.at (%define lr.default_rules invalid values): New
-       test group.
-       * tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): New macro using
-       AT_TEST_TABLES_AND_PARSE.
-       (`no %define lr.default_rules'): New test group generated by
-       AT_TEST_LR_DEFAULT_RULES.
-       (`%define lr.default_rules "all"'): Likewise.
-       (`%define lr.default_rules "consistent"'): Likewise.
-       (`%define lr.default_rules "accepting"'): Likewise.
-
-2009-04-20  Akim Demaille  <demaille@gostai.com>
-
-       Formatting change.
-
-2009-04-20  Akim Demaille  <demaille@gostai.com>
-
-       bison: factoring.
-       * src/output.c (token_definitions_output): Use symbol_id_get
-       instead of duplicating its logic.
-       * TODO (YYERRCODE): Extend.
-
-2009-04-20  Akim Demaille  <demaille@gostai.com>
-
-       variables: prefer error-verbose to error_verbose.
-       * data/bison.m4 (b4_error_verbose_if): Based on error-verbose
-       instead of error_verbose.
-       * src/scan-gram.l (%error-verbose): Map to the error-verbose
-       variable.
-       * doc/bison.texinfo: Promote %define error-verbose instead of
-       %error-verbose.
-       * tests/actions.at: Prefer %define error-verbose to %error-verbose.
-
-2009-04-15  Akim Demaille  <demaille@gostai.com>
-
-       variables: accept dashes.
-       * data/bison.m4 (b4_percent_define_if_define_): Also map dashes to
-       underscores.
-       * src/scan-gram.l ({id}): Also accept dashes after the initial
-       letter.
-       ({directive}): Use {id}.
-       * src/parse-gram.y: Comment and formatting changes.
-       * doc/bison.texinfo (Symbols): Adjust the lexical definitions of
-       symbols.
-       * src/complain.h, src/complain.c (yacc_at): New.
-       * src/symtab.c (symbol_new): Use yacc_at to report inappropriate
-       symbol names.
-       * src/output.c (token_definitions_output): Do not #define token
-       names with dashes.
-
-2009-04-20  Akim Demaille  <demaille@gostai.com>
-
-       Consistently refer to Yacc, not YACC.
-       * src/getargs.c (usage, warnings_args): s/YACC/Yacc/.
-
-2009-04-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Pacify make maintainer-check-posix.
-       * tests/input.at (%define, --define): Move bison command-line
-       options before grammar file name.
-
-2009-04-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Document semicolon warnings.
-       * NEWS (2.5): Here.
-
-2009-04-14  Akim Demaille  <demaille@gostai.com>
-
-       variables: use `parse.assert' instead of `assert'.
-       * TODO (assert): Remove.
-       * data/bison.m4 (b4_assert_if): Replace with...
-       (b4_parse_assert_if): this.
-       * data/lalr1.cc, data/variant.hh, tests/c++.at: Adjust.
-       * doc/bison.texinfo (Decl Summary): Document parse.assert.
-
-2009-04-14  Akim Demaille  <demaille@gostai.com>
-
-       variables: use `parse.trace' instead of `debug'.
-       * src/getargs.c (getargs): Map -t to %define trace.parse.
-       * src/scan-gram.l (%debug): Map to %define trace.parse.
-       * data/bison.m4 (b4_percent_define_if_define): Map `.' in variable
-       names to `_' in macro names.
-       (b4_debug_if): Replace with...
-       (b4_parse_trace_if): this.
-       * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
-       * data/yacc.c: Adjust.
-       * doc/bison.texinfo (Decl Summary): Document %debug as obsoleted.
-       Use @code to label the variable list.
-       Document the variable parse.trace.
-       (Tracing): Promote the parse.trace variable.
-       * TODO: %printer is not documented.
-
-2009-04-14  Akim Demaille  <demaille@gostai.com>
-
-       doc: minor fixes.
-       * doc/bison.texinfo (Decl Summary): Fix entry about %debug.
-       (Table of Symbols): Remove duplicate entry for %debug.
-
-2009-04-10  Eric Blake  <ebb9@byu.net>
-
-       submodules: update to latest
-       * submodules/autoconf: Use latest upstream Autoconf.
-
-2009-04-06  Eric Blake  <ebb9@byu.net>
-
-       Work around autoconf 2.63b bug in testsuite.
-       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Avoid tripping
-       autoconf bug related to # in test.
-
-2009-04-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS (2.5): New section.  Describe new -D/--define feature.
-
-2009-04-06  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-       * src/parse-gram.h, src/parse-gram.c: Regen.
-
-2009-04-06  Akim Demaille  <demaille@gostai.com>
-
-       rename muscle_tab.* as muscle-tab.* for consistency.
-       * src/muscle_tab.h, src/muscle_tab.c: Rename as...
-       * src/muscle-tab.h, src/muscle-tab.c: these.
-       * src/getargs.c, src/local.mk, src/main.c, src/output.c,
-       * src/parse-gram.y, src/reader.c, src/scan-code.l: Adjust.
-
-2009-04-06  Akim Demaille  <demaille@gostai.com>
-
-       Makefile: introduce $(BISON).
-       * src/local.mk (BISON): New.
-       (YACC): Use it.
-
-2009-04-06  Akim Demaille  <demaille@gostai.com>
-
-       parser: handle %locations as %define locations.
-       * src/getargs.h, src/getargs.c (locations_flag): Remove.
-       * src/getargs.c, src/scan-code.l: Use muscle_percent_define_ensure
-       to set "locations" to true.
-       * src/output.c (prepare): Don't output "locations".
-       * src/scan-gram.l (%locations): Handle it as a %<flag>.
-       * src/parse-gram.y: It's no longer a token.
-       Don't handle it.
-       * data/bison.m4 (b4_locations_if): Define it with
-       b4_percent_define_if_define.
-       * data/c.m4, data/glr.cc: Adjust.
-
-2009-04-06  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-       * src/parse-gram.c: Regen.
-
-2009-04-06  Akim Demaille  <demaille@gostai.com>
-
-       muscle: factor the handling of obsolete of obsolete directives.
-       Suggested by Joel E. Denny.
-
-       * src/muscle_tab.h, src/muscle_tab.c (muscle_percent_define_ensure):
-       New, extracted from...
-       * src/parse-gram.y (prologue_declaration: pure-parser): here.
-       Remove it.
-       (prologue_declaration: "%<flag>"): Use
-       muscle_percent_define_ensure.
-       (%error-verbose, %pure-parser): No longer tokens.
-       * src/scan-gram.l (pure-parser): Return as a %<flag>.
-
-2009-04-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix options documentation.
-       * build-aux/cross-options.pl: As in --help output, write optional
-       arguments as [=ARG] not =[ARG].
-       * doc/bison.texinfo (Bison Options): Add -W/--warnings argument.
-
-2009-04-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4.
-       If the first m4 in $PATH is wrong, it keeps looking.  Moreover, its
-       requirements for a correct m4 are stricter.
-       * m4/m4.m4: Make it a symbolic link to submodules/autoconf/m4/m4.m4.
-       * configure.ac: Update to use AC_PROG_GNU_M4.
-       Reported by Eric Blake.
-
-2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Help with updating web manual.
-       * HACKING: Incorporate instructions from gnulib/doc/README.
-       * bootstrap.conf (gnulib_modules): Add gendocs.
-
-2009-04-03  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-       * src/parse-gram.h, src/parse-gram.c: Regen.
-
-2009-04-03  Akim Demaille  <demaille@gostai.com>
-
-       Factor %FLAG at scan level.
-       * src/parse-gram.y (PERCENT_DEBUG, PERCENT_ERROR_VERBOSE): Token
-       definitions and associated rules, replaced by....
-       (PERCENT_FLAG): this new token type, and rule.
-       * src/scan-gram.l (RETURN_PERCENT_FLAG): New.
-       Use it for %debug and %error-verbose.
-
-2009-04-03  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-       * src/parse-gram.h, src/parse-gram.c: Regen.
-
-2009-04-03  Akim Demaille  <demaille@gostai.com>
-
-       Treat %debug as %define debug.
-       * data/bison.m4 (b4_debug_if): New.
-       * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c,
-       * data/lalr1.java: Use it instead of b4_debug_flag.
-       * src/getargs.h, src/getargs.c (debug_flag): Remove.
-       * src/output.c (prepare): Don't output it.
-       * src/parse-gram.y: Treat %debug as %define debug.
-
-2009-04-03  Akim Demaille  <demaille@gostai.com>
-
-       Treat %error-verbose as %define error_verbose.
-       This allows to pass -Derror_verbose on the command line.  Better
-       yet, it allows to pass -Derror_verbose=$(ERROR_VERBOSE), with
-       ERROR_VERBOSE being defined as false or true.
-       * data/bison.m4 (b4_percent_define_if_define): Instead of relying
-       on b4_percent_define_ifdef, for does not check the defined value,
-       but only whether the symbol is defined, rely on
-       b4_percent_define_flag_if, so that a value of "false" is processed
-       as a false.
-       If not defined, define the flag to "false".
-       (b4_error_verbose_if): New.
-       * data/glr.c, data/lalr1.cc, data/yacc.c: Use it instead of
-       b4_error_verbose_flag.
-       * src/getargs.h, src/getargs.c (error_verbose_flag): Remove.
-       * src/output.c (prepare): Don't output it.
-       * src/parse-gram.y (%error-verbose): Treat as %define error_verbose.
-
-2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix strange %define locations for default values.
-       Reported by Akim Demaille at
-       <http://lists.gnu.org/archive/html/bug-bison/2007-12/msg00001.html>
-       and discussed again starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2008-11/msg00102.html>.
-       * data/bison.m4 (b4_percent_define_default): Leave syncline blank
-       because location information is bogus.
-       Use angle brackets to delimit fake file name because square brackets
-       look like underexpanded m4.  Choose a better fake file name.
-       Use negative line numbers.
-       * src/muscle_tab.c (muscle_percent_define_default): Likewise.
-       * src/location.c (location_print): If line for a boundary is negative,
-       only print that boundary's file name.
-       * src/location.h: Document that.
-       * tests/skeletons.at (%define Boolean variables: invalid skeleton
-       defaults): Update output.
-
-2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Pacify ./configure --enable-gcc-warnings.
-       * Makefile.am (AM_CFLAGS): Remove $(WERROR_CFLAGS) because many files
-       in lib won't compile with it.
-       * src/local.mk (src_bison_CFLAGS): Use $(WERROR_CFLAGS) here only.
-
-2009-03-31  Akim Demaille  <demaille@gostai.com>
-
-       bootstrap: --help to stdout.
-       * bootstrap (usage): Don't send --help to stderr.
-       Use a here doc instead of a long string.
-
-2009-03-31  Akim Demaille  <demaille@gostai.com>
-
-       bootstrap: README-hacking no longer exists
-       * bootstrap (checkout_only_file): Set to HACKING.
-
-2009-03-26  Akim Demaille  <demaille@gostai.com>
-
-       doc: merge HACKING and README-hacking.
-       Two files is confusing.
-       Reported by Alexandre Duret-Lutz.
-
-       * README-hacking: Merge into...
-       * HACKING (Working from the repository): here.
-
-2009-03-26  Akim Demaille  <demaille@gostai.com>
-
-       doc: update README-hacking.
-       * README-hacking: We now use git and git submodules.
-       Reported by Ralf Wildenhues and Alexandre Duret-Lutz.
-
-2009-03-26  Akim Demaille  <demaille@gostai.com>
-
-       lalr1.cc: avoid GCC 4.3 warnings.
-       GCC 4.3 now warns about "a || b && c" and asks for explicit
-       parentheses.
-       Reported by Alexandre Duret-Lutz.
-       * data/location.cc: Update copyright years.
-       (Position::operator==): Use parens to make precedence explicit.
-       Compare lines and columns first, as they are more likely to be
-       different, and they are faster to compare.
-
-2009-03-26  Akim Demaille  <demaille@gostai.com>
-
-       gnulib: update.
-       * gnulib: Update to latest.
-       * src/local.mk (AM_CFLAGS): Move to...
-       * Makefile.am: here.
-       * etc/prefix-gnulib-mk (prefix_assignment): Also transform
-       AM_CFLAGS.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       Comment changes.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       Share b4_yytranslate_define.
-       * data/lalr1.cc (b4_yytranslate_define): Move to...
-       * data/c++.m4: here.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       Use locations in the variant example.
-       Yes, this obfuscates the point of this example, variants only.
-       But glr.cc cannot work (yet?) without locations.  This change
-       makes it easier to use this example with glr.cc.
-
-       * examples/variant.yy (assert): %define it.
-       (locations): Request them.
-       (yylex): Bind the location to the stage.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       Dub make_TOKEN as a public type interface.
-       * data/c++.m4 (b4_symbol_constructor_declare)
-       (b4_symbol_constructor_define): New empty stubs.
-       (b4_public_types_declare, b4_public_types_define): Use them.
-       * data/lalr1.cc (b4_symbol_constructor_declare)
-       (b4_symbol_constructor_declare_)
-       (b4_symbol_constructor_define_, b4_symbol_constructor_define):
-       Move to...
-       * data/variant.hh: here.
-       Remove the "b4_variant_if" parts, as variant.hh is loaded only if
-       needed.
-       * data/lalr1.cc: No longer invoke b4_symbol_constructor_define and
-       b4_symbol_constructor_declare, as it is now done by
-       b4_public_types_define and b4_public_types_declare.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       Coding style changes.
-       * data/lalr1.cc (b4_symbol_constructor_declaration_)
-       (b4_symbol_constructor_declarations)
-       (b4_symbol_constructor_definition_)
-       (b4_symbol_constructor_definitions)
-       (b4_yytranslate_definition): Rename as...
-       (b4_symbol_constructor_declare_)
-       (b4_symbol_constructor_declare)
-       (b4_symbol_constructor_define_)
-       (b4_symbol_constructor_define)
-       (b4_yytranslate_define): these.
-       * data/variant.hh (b4_variant_definition): Rename as...
-       (b4_variant_define): this.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       Factor b4_assert_if, b4_lex_symbol_if, and b4_variant_if.
-       * data/bison.m4 (b4_percent_define_if_define): New.
-       * data/c++.m4 (b4_variant_if): Move to...
-       * data/bison.m4: Here, using b4_percent_define_if_define.
-       * data/lalr1.cc (b4_assert_if, b4_lex_symbol_if): Move to...
-       * data/bison.m4: Here, using b4_percent_define_if_define.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       Dub symbol_type_base as a public type.
-       * data/c++.m4 (b4_public_types_declare): Now define
-       symbol_type_base and symbol_type.
-       (b4_public_types_define): New.
-       In both cases, the definitions are taken verbatim from lalr1.cc.
-       * data/lalr1.cc: Adjust.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       b4_public_types_declare.
-       * data/c++.m4 (b4_public_types_declare): New.
-       * data/glr.cc, data/lalr1.cc: Use it.
-
-2009-03-02  Akim Demaille  <demaille@gostai.com>
-
-       b4_semantic_type_declare.
-       * data/c++.m4 (b4_semantic_type_declare): New.
-       Factors and generalizes what was in glr.cc and lalr1.cc.
-       * data/variant.hh (b4_semantic_type_declare): Redefine it for
-       variants.
-       * data/lalr1.cc, data/glr.cc: Use it.
-
-2009-02-26  Akim Demaille  <demaille@gostai.com>
-
-       Upgrade gnulib.
-       * gnulib: Upgrade from master.
-       * lib/.cvsignore, lib/.gitignore, m4/.cvsignore, m4/.gitignore:
-       Regen.
-
-2009-02-25  Akim Demaille  <demaille@gostai.com>
-
-       Remove useless arguments.
-       * data/glr.c (yy_reduce_print): $$ and @$ are not used and not
-       relevant.
-
-2009-02-25  Akim Demaille  <demaille@gostai.com>
-
-       Comment changes.
-       * data/lalr1.cc: here.
-
-2009-02-25  Akim Demaille  <demaille@gostai.com>
-
-       Fix glr.cc's debug level handling.
-       * data/glr.cc (yydebug_): Remove, as it is actually yydebug from
-       glr.c which is used.
-       (debug_level, set_debug_level): Adjust.
-
-2009-02-25  Akim Demaille  <demaille@gostai.com>
-
-       Copyright years.
-       * data/glr.c: Add 2007 and 2008 here, consistenly with the comments.
-
-2009-02-25  Akim Demaille  <demaille@gostai.com>
-
-       Style changes.
-       * etc/bench.pl.in (generate_grammar_list): Consitently use
-       location_type, not yy::location.
-
-2009-02-25  Akim Demaille  <demaille@gostai.com>
-
-       Comment change.
-       * data/lalr1.cc: here.
-
-2009-02-19  Akim Demaille  <demaille@gostai.com>
-
-       Make yyparser::error public.
-       * data/lalr1.cc: here.
-       There is no good reason to keep it private (and it is convenient
-       to use it from the scanner for instance).  It is already public in
-       glr.cc.
-
-2009-02-19  Akim Demaille  <demaille@gostai.com>
-
-       Comment changes.
-       * data/glr.cc: here.
-
-2009-02-19  Akim Demaille  <demaille@gostai.com>
-
-       Remove trailing blanks.
-       The epilogue has its own ending \n, no need to add another.
-
-       * data/glr.c, data/lalr1.java, data/yacc.c: dnl when outputing the
-       epilogue.
-       * data/glr.cc: dnl when extending the epilogue.
-       Remove stray "private:".
-
-2009-02-19  Akim Demaille  <demaille@gostai.com>
-
-       Use b4_c_modern.
-       * data/c.m4 (b4_c_function_decl): Here.
-
-2009-02-19  Akim Demaille  <demaille@gostai.com>
-
-       Comment changes.
-       * data/lalr1.cc: here.
-
-2009-02-19  Akim Demaille  <demaille@gostai.com>
-
-       Extract variant.hh
-       * data/variant.hh: New, extracted from...
-       * data/lalr1.cc: here.
-       Adjust.
-       * data/local.mk: Adjust.
-
-2009-02-19  Akim Demaille  <demaille@gostai.com>
-
-       Extract stack.hh from lalr1.cc.
-       * data/stack.hh: New.
-       * data/lalr1.cc: Extract from here.
-       * data/local.mk: Adjust.
-
-2009-02-03  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Add reminder about uploading public key to keys.gnupg.net.
-       * HACKING (Release Procedure): Here.
-
-2009-01-28  Akim Demaille  <demaille@gostai.com>
-
-       * NEWS: Update information about 2.4.1 and 2.4.2.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Reformat NEWS.
-       * NEWS: Use more outline-mode markup.
-       Suggested by Jim Meyering.
-
-2009-01-08  Akim Demaille  <demaille@gostai.com>
-
-       Fix grep portability issues.
-       Grep on Solaris does not support -q.
-       Reported by Summum Bonum.
-
-       * NEWS: Add a stub for 2.4.2.
-       * THANKS: Add Summum Bonum.
-       * tests/atlocal.in (EGREP): New.
-       (CC, CXX, XSLTPROC): Make it possible to override them via
-       envvars.
-       * tests/java.at: Use $EGREP instead of egrep.
-       Use AT_CHECK's ignore instead of grep's -q.
-
-2008-12-11  Akim Demaille  <demaille@gostai.com>
-
-       Pass the token type to yysyntax_error.
-       * data/yacc.c (yysyntax_error): Take the transated token instead
-       of the raw number.
-       Adjust callers.
-       * TODO: Update.
-
-2008-12-11  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-       * data/glr.c: Formatting changes.
-
-2008-12-11  Akim Demaille  <demaille@gostai.com>
-
-       Propagate i18n changes into glr.c.
-       * TODO: Update.
-       * data/glr.c (yyreportSyntaxError): Use "switch" instead of
-       building the error message format dynamically.
-       * data/lalr1.java: Formatting changes.
-
-2008-12-11  Akim Demaille  <demaille@gostai.com>
-
-       Use testsuite -C.
-       * tests/local.mk: Replace "cd && testsuite" by "testsuite -C".
-       Solves problems when top_srcdir is an absolute path.
-       Suggested by Eric Blake.
-       * configure.ac: Require Autoconf 2.62.
-
-2008-12-11  Akim Demaille  <demaille@gostai.com>
-
-       Simplify the i18n of the error messages.
-       * data/lalr1.cc: Comment changes.
-       * data/yacc.c (yysyntax_error): Rewrite, using a switch as in
-       lalr1.cc instead of building dynamically the format string.
-
-2008-12-08  Akim Demaille  <demaille@gostai.com>
-
-       Fix portability issue in the test suite.
-       * tests/local.at (AT_MATCHES_CHECK): New.
-       Based on Perl instead of Sed.  Sed has too many portability
-       pitfalls, not ever Sed is GNU Sed.
-       * tests/actions.at (Fix user actions without a trailing semicolon):
-       Use it.
-
-2008-12-08  Akim Demaille  <demaille@gostai.com>
-
-       Update data/README.
-       * data/README: Document glr.cc, lalr1.java, m4sugar and xslt.
-
-2008-12-08  Akim Demaille  <demaille@gostai.com>
-
-       Install autoconf as a submodule to get m4sugar.
-       * .gitmodules: Add submodules/autoconf.
-       * data/m4sugar/foreach.m4, data/m4sugar/m4sugar.m4: Now links into
-       submodules/autoconf.
-
-2008-12-08  Akim Demaille  <demaille@gostai.com>
-
-       Test token.prefix in all the skeletons.
-       * data/java.m4 (b4_token_enum): Use the token.prefix.
-       * tests/local.at (AT_BISON_OPTION_PUSHDEFS): Define AT_TOKEN_PREFIX.
-       * tests/calc.at (_AT_DATA_CALC_Y): Use it.
-       Add checks for yacc.c, glr.c, lalr1.cc and glr.cc.
-       * tests/java.at: Comment changes.
-       (AT_CHECK_JAVA_MINIMAL): Define the END token.
-       (Java parser class and package names): Add token.prefix check.
-
-2008-12-08  Akim Demaille  <demaille@gostai.com>
-
-       Fix regeneration of atconfig.
-       * tests/local.mk (tests/atconfig): The rule was incorrect, but
-       remove it: now that there is no tests/Makefile.am, the top-level
-       Makefile properly updates atconfig when needed.
-
-2008-12-07  Di-an Jan  <dianj@freeshell.org>
-
-       Implement the FIXME that ends an user action with a semicolon
-       if it seems necessary.
-       * src/scan-code.l (flex rules section): Flag cpp directive from
-       any `#' to the first unescaped end-of-line.  Semicolon is not
-       needed after `;', `{', '}', or cpp directives and is needed after
-       any other token (whitespaces and comments have no effect).
-       * tests/actions.at (Fix user actions without a trailing semicolon):
-       New test.
-       * tests/input.at (AT_CHECK_UNUSED_VALUES): Add semicolons to
-       to make user actions complete statements.
-       Adjust column numbers in error messages.
-       * tests/regression.at (Fix user actions without a trailing semicolon):
-       Remove.  Covered by new test.
-
-2008-12-07  Akim Demaille  <demaille@gostai.com>
-
-       Update gnulib.
-       * gnulib: Update from master.
-
-2008-12-05  Eric Blake  <ebb9@byu.net>
-
-       Avoid compiler warning.
-       * src/output.c (muscle_insert_item_number_table): Delete unused
-       function.
-
-2008-12-02  Eric Blake  <ebb9@byu.net>
-
-       Build testsuite with newer autoconf.
-       * tests/output.at (m4_expand): Don't override in newer autoconf,
-       where the underlying implementation changed.
-       * tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT)
-       (_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT)
-       (_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR)
-       (_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings,
-       since some of them contain unbalanced ')'.
-
-2008-12-01  Akim Demaille  <demaille@gostai.com>
-
-       Use b4_symbol for printers and destructors everywhere.
-       * data/bison.m4 (b4_symbol_action_location): New.
-       * data/c.m4 (b4_symbol_actions): Remove.
-       Adjust all callers to use by b4_symbol_foreach and the corresponding
-       b4_symbol_printer/destructor macro.
-       * data/glr.cc: Adjust.
-       * data/lalr1.java: Adjust the %destructor sanity check.
-       * src/output.c (symbol_code_props_output): Remove, we no longer
-       need the b4_symbol_printers/destructors tables.
-
-2008-12-01  Akim Demaille  <demaille@gostai.com>
-
-       Use b4_symbol_case_.
-       * data/lalr1.cc, data/bison.m4 (b4_symbol_action): Use
-       b4_symbol_case_.
-
-2008-12-01  Akim Demaille  <demaille@gostai.com>
-
-       Move b4_symbol based macro to bison.m4.
-       * data/lalr1.cc (b4_symbol_, b4_symbol, b4_symbol_if)
-       (b4_symbol_action, b4_symbol_destructor, b4_symbol_printer)
-       (b4_symbol_case_, b4_symbol_foreach, b4_type_action_)
-       (b4_type_foreach): Move to...
-       * data/bison.m4: Here.
-       * data/lalr1.cc (b4_symbol_action): Specialize for C++: use
-       b4_symbol_value_template instead of b4_symbol_value.
-
-2008-12-01  Akim Demaille  <demaille@gostai.com>
-
-       b4_symbol/type_foreach.
-       * data/lalr1.cc (b4_symbol_foreach, b4_type_foreach): New.
-       Use them.
-
-2008-12-01  Akim Demaille  <demaille@gostai.com>
-
-       Use the symbol properties to output the printer/destructor for lalr1.cc.
-       Instead of defining complex list of tuples to define various
-       properties of the symbols, we now prefer to define symbols as
-       "structs" in m4: using the symbol key (its number), and the
-       property name, b4_symbol gives it value.  Use this to handle
-       destructors and printers.
-
-       * src/output.c (CODE_PROP): New.
-       (prepare_symbol_definitions): Use it to define the printer and
-       destructor related attributes of the symbols.
-       * data/lalr1.cc (b4_symbol_actions): Rename as...
-       (b4_symbol_action): this.
-       Use b4_symbol instead of 6 arguments.
-       (b4_symbol_printer, b4_symbol_destructor): New.
-       Use them instead of b4_symbol_actions.
-
-2008-12-01  Akim Demaille  <demaille@gostai.com>
-
-       Avoid capturing variables too easily.
-       * src/muscle_tab.h (MUSCLE_INSERT_BOOL, MUSCLE_OBSTACK_SGROW): Use
-       v__ and p__ instead of v and p.
-
-2008-12-01  Akim Demaille  <demaille@gostai.com>
-
-       Remove spurious empty line before syncline.
-       * data/bison.m4 (b4_syncline): Don't output an empty line before
-       the output.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Convert lib/Makefile.am into lib/local.mk.
-       The real problem is rather gnulib.mk, which itself is extracted
-       from a Makefile.am that gnulib expects to the "recursive".  The
-       tool prefix-gnulib-mk converts such a gnulib.mk to be
-       non-recursive.  Also, some AC_SUBST variables need to be adjusted.
-
-       * etc/prefix-gnulib-mk: New.
-       * bootstrap (slurp): Use it to convert further gnulib.mk.
-       No longer try to avoid re-creation of lib/gnulib.mk as the changes
-       are deeper.
-       * lib/Makefile.am: Rename as...
-       * lib/local.mk: this.
-       Adjust to be prefixed.
-       * Makefile.am, configure.ac: Adjust.
-       * src/local.mk (AM_CPPFLAGS): Extend it, don't define it.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       s/_FLAGS/FLAGS/.
-       * tests/local.mk (TESTSUITE_FLAGS, AUTOTEST_FLAGS): Rename as...
-       (TESTSUITEFLAGS, AUTOTESTFLAGS): these to compy with the GCS.
-       Reported by Eric Blake.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Use b4_parser_tables_define in glr.cc.
-       * data/glr.c: Use b4_parser_tables_define instead of defining the
-       (deterministic integral) tables by hand.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Use b4_parser_tables_define in Java.
-       * data/java.m4 (b4_typed_parser_table): Rename as...
-       (b4_typed_parser_table_define): this, for consistency.
-       Accept a comment as $4.
-       Move $2 into yy*_.
-       (b4_integral_parser_table): Rename as...
-       (b4_integral_parser_table_define): this.
-       * data/lalr1.java: Adjust all uses.
-       Use b4_parser_tables_define instead of generation by hand.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Prepare the convergence bw C style and Java table generation.
-       * data/bison.m4 (b4_tables_map, b4_tables_declare)
-       (b4_tables_define): Rename as...
-       (b4_integral_parser_tables_map, b4_parser_tables_declare)
-       (b4_parser_tables_define): these.
-       * data/c.m4 (b4_table_define): Rename as...
-       (b4_integral_parser_table_define): this.
-       * data/lalr1.cc: Adjust.
-       (b4_table_define, b4_table_declare): Rename as...
-       (b4_integral_parser_table_define)
-       (b4_integral_parser_table_declare): these.
-       (yyrline_): Move the comment where it is actually used.
-       * data/yacc.c: Adjust.
-       (yyrline): Use b4_integral_parser_table_define.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-       * src/parse-gram.h, src/parse-gram.c: Regen.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Factor the generation of the (integral) tables bw yacc.c and lalr1.cc.
-       * data/lalr1.cc (b4_tables_map): Move to...
-       * data/bison.m4: here.
-       Update the comment for yytable during the flight.
-       (b4_tables_declare, b4_tables_define): New.
-       * data/lalr1.cc: Use them.
-       * data/c.m4 (b4_table_define): New.
-       * data/yacc.c: Use b4_tables_define instead of output the tables
-       by hand.
-       * tests/regression.at (Web2c Actions): Adjust the expected output,
-       the order of the tables changed.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Get rid of (yy)rhs and (yy)prhs.
-       These tables are no longer needed in the parsers, and they don't seem to
-       be useful.  They are not documented either.
-
-       * src/output.c (prepare_rules): Get rid of rhs and prhs.
-       Adjust the computation of (yy)r2.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Rule length is unsigned.
-       * src/gram.h, src/gram.c (rule_rhs_length): Return a size_t.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Get rid of lalr1-split.cc.
-       It was no longer maintainer.
-
-       * data/lalr1-split.cc: Remove.
-       * etc/bench.pl.in (bench_fusion_parser): Remove.
-       Adjust.
-
-2008-11-26  Akim Demaille  <demaille@gostai.com>
-
-       Use yy* consistently.
-       * data/glr.c: Now that yyrhs no longer exists as a global
-       variable, rename local "rhs" variables into "yyrhs" for
-       consistency.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       Get rid of yyrhs and yyprhs in glr.c.
-       * data/glr.c (yyrhs, yyprhs): Remove.
-       Instead, use the state stack and yystos.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       Flag glr tests.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): If glr, declare it
-       as an Autotest keyword.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       Prefer TESTSUITE_FLAGS.
-       TESTSUITEFLAGS is barely readable.
-
-       * tests/local.mk (TESTSUITE_FLAGS): Default to $(TESTSUITEFLAGS)
-       for backward compatibility.
-       Use the former instead of the latter.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       Get rid of yyrhs and yyprhs in larl1.java.
-       * data/lalr1.java (yyrhs_, yyprhs_): Remove.
-       (yy_reduce_print): Rather, use yystos_ and the state stack.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       Get rid of yyrhs and yyprhs in yacc.c.
-       They were used to get the symbol types, given a rule number, when
-       displaying the top of the stack before a reduction.  But the
-       symbol type is available from the state stack.  This has two be
-       benefits: two tables less in the parser (making it smaller), and a
-       more consistent use of the three stacks which will help to fuse
-       them.
-
-       * data/yacc.c (yyprhs, yyrhs): Remove.
-       (YY_REDUCE_PRINT): Pass yyssp to yy_reduce_print.
-       (yy_reduce_print): Take yyssp as argument.
-       Use it, together with yystos, to get the symbol type.
-       * tests/regression.at (Web2c Report): Remove these tables from the
-       expected output.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       b4_tables_map.
-       The point is to factor the generation of the tables across skeletons.
-       This is language dependant.
-
-       * data/c.m4 (b4_comment_): New.
-       Should be usable to define how to generate tables independently of
-       the language.
-       (b4_c_comment): New.
-       (b4_comment): Bounce to b4_c_comment.
-       Now support $2 = [PREFIX] for indentation.
-       * data/lalr1.cc (b4_table_declare): Don't output a comment if
-       there is no comment.
-       Indent it properly when there is one.
-       Output the ending semicolon.
-       (b4_table_define): Space changes.
-       Output the ending semicolon.
-       (b4_tables_map): New.
-       Use it twice instead of declaring and defining the (integral)
-       tables by hand.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       b4_table_declare.
-       * data/lalr1.cc (b4_table_declare): New.
-       Use it to declare the tables defined with b4_table_define.
-       (b4_table_define): Declare a third arg to match b4_table_declare
-       signature.
-       Move all the comments around invocations of b4_table_define into
-       the invocations itselves.
-       Move things around to have the order for declarations and
-       definitions.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-       * data/lalr1.java: here.
-
-2008-11-25  Akim Demaille  <demaille@gostai.com>
-
-       b4_args is more general than only C++.
-       * data/lalr1.cc (b4_args, _b4_args): Move to...
-       * data/bison.m4: here.
-
-2008-11-21  Di-an Jan  <dianj@freeshell.org>
-
-       Implement no-XXX arguments for --warnings, --report, --trace.
-       * src/getargs.c (flags_argmatch): Handles no-XXX.
-       Fix typo in doxygen comment.
-
-2008-11-21  Akim Demaille  <demaille@gostai.com>
-
-       Display the changes in cross-options.texi.
-       * build-aux/cross-options.pl ($sep): New, to separate items.
-       * doc/local.mk ($(CROSS_OPTIONS_TEXI)): Use diff to display the
-       changes.
-
-2008-11-20  Di-an Jan  <dianj@freeshell.org>
-
-       Improves options in the manual.
-       * doc/bison.texinfo (-g, -x): Add space before argument.
-       (Option Cross Key): Implement FIXME: listing directives also.
-       * build-aux/cross-options.pl:  Read from <STDIN> rather than <>.
-       (Short Option): Special case -d.  Put arguments inside @option.
-       (Bison Directive): Add column, automatically extracted from
-       src/scan-gram.l (actual name passed as the first argument)
-       with special case for %define.
-       * doc/local.mk (doc/cross-options.texi): Pass src/scan-gram.l
-       to build-aux/cross-options.pl.
-       * src/getargs.c (usage): Document limitations of cross-options.pl.
-       * src/scan-gram.l: Likewise.
-
-2008-11-18  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix unexpanded macros in GLR defines file.
-       Reported by Csaba Raduly at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00048.html>.
-       * THANKS (Csaba Raduly): Add.
-       * data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc.
-       * tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate
-       lexer in a separate module that includes the defines file.
-       (AT_CHECK_CALC): From AT_FULL_COMPILE, request compilation of lexer
-       source.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF.
-       Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX.
-       (AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF.
-       (AT_DATA_SOURCE_PROLOGUE): New.
-       (AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE.
-       (AT_DATA_SOURCE): New.
-       (AT_FULL_COMPILE): Extend to support an additional source file.
-
-2008-11-18  Akim Demaille  <demaille@gostai.com>
-
-       More TODO.
-       * TODO: More short term issues.
-
-2008-11-18  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-       * src/parse-gram.h, src/parse-gram.c: Regen.
-
-2008-11-18  Akim Demaille  <demaille@gostai.com>
-
-       Use b4_subtract where possible.
-       * data/lalr1.cc (b4_subtract): Move to...
-       * data/bison.m4: here.
-       * data/glr.c (b4_rhs_data): Use it.
-       * data/yacc.c (b4_rhs_value, b4_rhs_location): Use it.
-
-2008-11-18  Akim Demaille  <demaille@gostai.com>
-
-       Remove incorrect mode specification.
-       * data/glr.cc: Don't pretend it's C code.
-
-2008-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Simplify last patch slightly.
-       * src/getargs.c (getargs): Here.
-
-2008-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix last warning from --enable-gcc-warnings.
-       * src/getargs.c (getargs): Don't assign const address to non-const
-       pointer.
-
-2008-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't let maintainer-*-check targets force a version update.
-       * cfg.mk (_is-dist-target): Implement.  maintainer-check* was already
-       handled.
-
-2008-11-17  Di-an Jan  <dianj@freeshell.org>
-
-       * doc/bison.texinfo: Synchronize ``Detail Node Listing''.
-       Align menus.  Adjust word wrapping.  Use node names for menu names.
-       (Examples): Don't abbreviate node names.
-       (LocalWords): Remove abbreviations.
-       (Copying): Make description a sentence.
-       (Java Action Features): Remove period to match the rest of menu.
-
-2008-11-17  Di-an Jan  <dianj@freeshell.org>
-
-       Handles several --enable-gcc-warnings.
-       * src/getargs.c (command_line_location): Set parameters to void.
-       * src/output.c (symbol_type_name_cmp): Make static.
-       (symbols_by_type_name): Set parameters to void.
-       (symbol_definitions_output): Remove unused parameter.  Rename as...
-       (prepare_symbol_definitions): this.
-       (muscles_output): Move symbol_definitions_output to...
-       (output): here as prepare_symbol_definitions.
-       * tests/c++.at (AT_CHECK_VARIANTS): Remove unused parameters of main.
-       (AT_CHECK_NAMESPACE): Make unused parameter lloc unnamed.
-
-2008-11-17  Di-an Jan  <dianj@freeshell.org>
-
-       * tests/c++.at (AT_CHECK_VARIANTS): Fixes tests 198-202.
-       Use AT_DATA_GRAMMAR instead of AT_DATA for compiled tests.
-
-2008-11-16  Akim Demaille  <demaille@gostai.com>
-
-       Add missing $(EXEEXT).
-       * doc/local.mk ($(CROSS_OPTIONS_TEXI)): The target is
-       "src/bison$(EXEEXT)".
-       Reported by Di-an Jan.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       * TODO: Update.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-       * tests/input.at: here.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove duplicate header inclusion.
-       * src/LR0.c: here.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       * src/parse-gram.h, src/parse-gram.c: Regen.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Support parametric types.
-
-       There are two issues to handle: first scanning nested angle
-       bracket pairs to support types such as std::pair< std::string,
-       std::list<std::string> > >.
-
-       Another issue is to address idiosyncracies of C++: do not glue two
-       closing angle brackets together (otherwise it's operator>>), and
-       avoid sticking blindly a TYPE to the opening <, as it can result
-       in '<:' which is a digraph for '['.
-
-       * src/scan-gram.l (brace_level): Rename as...
-       (nesting): this.
-       (SC_TAG): New.
-       Implement support for complex tags.
-       (tag): Accept
-       , but not <.
-       * data/lalr1.cc (b4_symbol_value, b4_symbol_value_template)
-       (b4_symbol_variant): Leave space around types as parameters.
-       * examples/variant.yy: Use nested template types and leading ::.
-       * src/parse-gram.y (TYPE, TYPE_TAG_ANY, TYPE_TAG_NONE, type.opt):
-       Rename as...
-       (TAG, TAG_ANY, TAG_NONE, tag.opt): these.
-       * tests/c++.at: Test parametric types.
-
-2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
-
-       Test token.prefix.
-       This is not sufficient, but we test at least that the make_SYMBOL
-       interface is not affected by token.prefix.  A more general test
-       will be implemented when the support of token.prefix is generalized
-       to more skeletons.
-
-       * tests/c++.at: One more variant test, using token.prefix.
-
-2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
-
-       Test the make_TOKEN interface.
-       * tests/c++.at (AT_CHECK_VARIANTS): Require and use locations.
-       Factor the common code in yylex.
-       Use it to test "%define lex_symbol".
-
-2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
-
-       Formatting change.
-
-2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
-
-       Simplify code for variants bench marks.
-       * etc/bench.pl.in (&generate_grammar_list): Define and use
-       location_type.
-       Factor the common code in yylex.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Better error message.
-       * bootstrap (find_tool): Fix the error message.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Update variant.yy to newest interface.
-       * examples/variant.yy: Define lex_symbol.
-       Adjust.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Don't use locations in variant.yy.
-       * examples/variant.yy: Adjust to not using locations.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Comment changes.
-       * data/local.mk, etc/local.mk, examples/local.mk: Use Automake
-       comments for the license.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove tests/Makefile.am.
-       * tests/Makefile.am: Rename as...
-       * tests/local.mk: this.
-       * Makefile.am, configure.ac: Adjust.
-       * Makefile.am (DISTCLEANFILES): Define.
-       (maintainer-check, maintainer-xml-check, maintainer-push-check):
-       Remove, we no longer need to bounce to the real targets.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Comment changes.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       djgpp/local.mk.
-       * Makefile.am (EXTRA_DIST): Move djgpp related part to...
-       * djgpp/local.mk: this new file.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove doc/Makefile.am.
-       * doc/Makefile.am: Rename as...
-       * doc/local.mk: this.
-       Adjust paths
-       * Makefile.am, configure.ac: Adjust.
-       * Makefile.am (MOSTLYCLEANFILES): New.
-       * src/local.mk: Adjust.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Move sc_tight_scope into maint.mk.
-       It does not work, and I don't know how it was supposed to work: it
-       seems to be looking for sources in the build tree.  I just moved
-       it at a better place, fixing it is still required.
-
-       * src/local.mk (echo): Remove.
-       (sc_tight_scope): Move to...
-       * maint.mk: here.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-       * src/parse-gram.h, src/parse-gram.h: Regen.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove src/Makefile.am.
-       * src/Makefile.am: Rename as...
-       * src/local.mk: this.
-       Prefix all the paths with src/.
-       (AUTOMAKE_OPTIONS): Build object files in the sub dirs.
-       (AM_CPPFLAGS): Find find in builddir/src.
-       (YACC): Move the flags into...
-       (AM_YFLAGS): here.
-       * maint.mk (sc_tight_scope): Disable.
-       It used to bounce to the version in src/Makefile.am which is now
-       part of this very Makefile.
-       * Makefile.am, configure.ac: Adjust.
-       * src/scan-code-c.c, src/scan-code.l: We can no longer rely on
-       include "..." to find files "here": we are no longer in src/, so
-       qualify the includes with src/.
-       * doc/Makefile.am (PREPATH): No longer include the top_builddir
-       prefix.
-       (.x.1): Adjust to be able to create src/foo from the top level
-       Makefile, instead of going bounce to src/Makefile the creation of
-       foo.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove useless variable.
-       * doc/Makefile.am (srcsrcdir): Remove.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove data/Makefile.am.
-       * data/Makefile.am: Rename as...
-       * data/local.mk: this.
-       Adjust paths.
-       * Makefile.am, configure.ac: Adjust.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove etc/Makefile.am.
-       * etc/Makefile.am: Rename as...
-       * etc/local.mk: this.
-       Adjust.
-       * Makefile.am, configure.ac: Adjust.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove examples/local.mk.
-       examples/calc++/Makefile.am might be interesting to keep as is, since
-       it is an example in itself.
-
-       * examples/Makefile.am: Rename as...
-       * examples/local.mk: this.
-       Adjust.
-       * Makefile.am, configure.ac: Adjust.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Remove build-aux/Makefile.am.
-       Recursive Makefiles are really way too slow, let's get rid of some of
-       them.
-
-       * build-aux/Makefile.am: Rename as...
-       * build-aux/local.mk: this.
-       Adjust paths.
-       * Makefile.am, configure.ac: Adjust.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Provide convenience constructors for locations and positions.
-       * data/location.cc (position::position): Accept file, line and
-       column as arguments with default values.
-       Always qualify initial line and column literals as unsigned.
-       (location::location): Provide convenience constructors.
-
-2008-11-15  Akim Demaille  <demaille@gostai.com>
-
-       Instead of using make_symbol<TOK_FOO>, generate make_FOO for each
-       token type.
-       Using template buys us nothing, and makes it uselessly complex to
-       construct a symbol.  Besides, it could not be generalized to other
-       languages, while make_FOO would work in C/Java etc.
-
-       * data/lalr1.cc (b4_symbol_): New.
-       (b4_symbol): Use it.
-       (b4_symbol_constructor_declaration_)
-       (b4_symbol_constructor_definition_): Instead of generating
-       specializations of an overloaded template function, just generate
-       several functions whose names are forged from the token names
-       without the token.prefix.
-       (b4_symbol_constructor_declarations): Generate them for all the
-       symbols, not just by class of symbol type, now that instead of
-       specializing a function template by the token, we generate a
-       function named after the token.
-       (b4_symbol_constructor_specialization_)
-       (b4_symbol_constructor_specializations): Remove.
-       * etc/bench.pl.in: Adjust to this new API.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       %define token.prefix.
-       Provide a means to add a prefix to the name of the tokens as
-       output in the generated files.  Because of name clashes, it is
-       good to have such a prefix such as TOK_ that protects from names
-       such as EOF, FILE etc.  But it clutters the grammar itself.
-
-       * data/bison.m4 (token.prefix): Empty by default.
-       * data/c.m4 (b4_token_enum, b4_token_define): Use it.
-       * data/lalr1.cc (b4_symbol): Ditto.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Compute at M4 time some of the subtractions.
-       * data/lalr1.cc (b4_subtract): New.
-       (b4_rhs_data): Use it.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       symbol::token.
-       This allows the user to get the type of a token returned by yylex.
-
-       * data/lalr1.cc (symbol::token): New.
-       (yytoknum_): Define when %define lex_symbol, independently of
-       %debug.
-       (yytoken_number_): Move into...
-       (symbol::token): here, since that's the only use.
-       The other one is YYPRINT which was not officially supported
-       by lalr1.cc, and anyway it did not work since YYPRINT uses this
-       array under a different name (yytoknum).
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       YYERRCODE.
-       * TODO (YYERRCODE): Mention the case of $undef.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       TODO: YYPRINT.
-       * TODO (YYPRINT): New.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Comment changes.
-       * data/lalr1.cc, data/yacc.c: Fix the description of the
-       yytranslate and yytoknum tables.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Define make_symbol in the header.
-       To reach good performances these functions should be inlined (yet
-       this is to measure precisely).  To this end they must be available
-       to the caller.
-
-       * data/lalr1.cc (b4_symbol_constructor_definition_): Qualify
-       location_type with the class name.
-       Since will now be output in the header, declare "inline".
-       No longer use b4_symbol_constructor_specializations, but
-       b4_symbol_constructor_definitions in the header.
-       Don't call it in the *.cc file.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Define yytranslate in the header for lex_symbol.
-       * data/lalr1.cc: Move the invocation of b4_yytranslate_definition
-       into the header file when using %define lex_symbol.
-       (yytranslate_): Declare inline.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Define the constructors of symbol_type in
-       b4_symbol_constructor_definitions.
-       The constructors are called by the make_symbol functions, which a
-       forthcoming patch will move elsewhere.  Hence the interest of
-       putting them together.
-
-       The stack_symbol_type does not need to be moved, it is used only
-       by the parser.
-
-       * data/lalr1.cc: Move symbol_type and symbol_base_type
-       constructors into...
-       (b4_symbol_constructor_definitions): here.
-       Adjust.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Make it easier to move the definition of yytranslate_.
-       Forthcoming changes will make it possible to use yytranslate_
-       from outside the parser implementation file.
-
-       * data/lalr1.cc (b4_yytranslate_definition): New.
-       Use it.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Remove useless class specification.
-       * data/lalr1.cc (b4_symbol_constructor_specialization_): No need
-       to refer to the class name to use a type defined by the class for
-       arguments of member functions.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Finer input type for yytranslate.
-       This patch is debatable: the tradition expects yylex to return an int
-       which happens to correspond to token_number (which is an enum).  This
-       allows for instance to return characters (such as '*' etc.).  But this
-       goes against the stronger typing I am trying to have with the new
-       lex interface which return a symbol_type.  So in this case, feed
-       yytranslate_ with a token_type.
-
-       * data/lalr1.cc (yytranslate_): When in %define lex-symbol,
-       expect a token_type.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Honor lex-params in %define lex_symbol mode.
-       * data/lalr1.cc: Use b4_lex_param.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Simplify names.
-       * src/output.c (symbol_definitions_output): Rename symbol
-       attributes type_name and has_type_name as type and has_type.
-       * data/lalr1.cc: Adjust uses.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Use b4_type_names for the union type.
-       The union used to compute the size of the variant used to iterate
-       over the type of all the symbols, with a lot of redundancy.  Now
-       iterate over the lists of symbols having the same type-name.
-
-       * data/lalr1.cc (b4_char_sizeof_): New.
-       (b4_char_sizeof): Use it.
-       Adjust to be called with a list of numbers instead of a single
-       number.
-       Adjust its caller for new-line issues.
-
-2008-11-13  Akim Demaille  <demaille@gostai.com>
-
-       Define the "identifier" of a symbol.
-       Symbols may have several string representations, for instance if
-       they have an alias.  What I call its "id" is a string that can be
-       used as an identifier.  May not exist.
-
-       Currently the symbols which have the "tag_is_id" flag set are
-       those that don't have an alias.  Look harder for the id.
-
-       * src/output.c (is_identifier): Move to...
-       * src/symtab.c (is_identifier): here.
-       * src/symtab.h, src/symtab.c (symbol_id_get): New.
-       * src/output.c (symbol_definitions_output): Use it to define "id"
-       and "has_id".
-       Remove the definition of "tag_is_id".
-       * data/lalr1.cc: Use the "id" and "has_id" whereever "tag" and
-       "tag_is_id" were used to produce code.
-       We still use "tag" for documentation.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Locations are no longer required by lalr1.cc.
-       * data/lalr1.cc (_b4_args, b4_args): New.
-       Adjust all uses of locations to make them optional.
-       * tests/c++.at (AT_CHECK_VARIANTS): No longer use the locations.
-       (AT_CHECK_NAMESPACE): Check the use of locations.
-       * tests/calc.at (_AT_DATA_CALC_Y): Adjust to be usable with or
-       without locations with lalr1.cc.
-       Test these cases.
-       * tests/output.at: Check lalr1.cc with and without location
-       support.
-       * tests/regression.at (_AT_DATA_EXPECT2_Y, _AT_DATA_DANCER_Y):
-       Don't use locations.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       AT_FULL_COMPILE.
-       * tests/local.at (AT_FULL_COMPILE): New.
-       * tests/actions.at, tests/calc.at, tests/regression.at: Use it.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Support parens in calc++.
-       * doc/bison.texinfo (Calc++ Scanner, Calc++ Parser): Support parens.
-       * examples/calc++/test (run): Check the expected output.
-       Adjust callers.
-       Check parens too.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Simplify lalr1.cc since %defines is mandatory.
-       * data/lalr1.cc: Remove useless calls to b4_defines_if.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       TODO: yyfmt.
-       * TODO (yysyntax_error): New item.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Prefer M4 to CPP.
-       * data/lalr1.cc: Use b4_error_verbose_if instead of #if
-       YYERROR_VERBOSE.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Support i18n of the parse error messages.
-       * TODO (lalr1.cc/I18n): Remove.
-       * data/lalr1.cc (yysyntax_error_): Support the translation of the
-       error messages, as done in yacc.c.
-       Stay within the yy* pseudo namespace.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       More TODO.
-       * TODO (single stack, yysyntax_error): New.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Make it possible to return a symbol_type from yylex.
-       * data/lalr1.cc (b4_lex_symbol_if): New.
-       (parse): When lex_symbol is defined, expected yylex to return the
-       complete lookahead.
-       * etc/bench.pl.in (generate_grammar_list): Extend to support this
-       yylex interface.
-       (bench_variant_parser): Exercise it.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Remove useless bench case.
-       * etc/bench.pl.in (bench_variant_parser): VARIANT_DESTROY is
-       no longer used.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Improve display of directives.
-       * etc/bench.pl.in (parse_term): Don't add useless eol.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Use string_cast in the bench.
-       * etc/bench.pl.in (generate_grammar_list): Define and use
-       string_cast.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Replace yychar with a Boolean.
-       * data/lalr1.cc (parse::yychar): Replace by...
-       (parse::yyempty): this.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Factor the tables.
-       * TODO: New item.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Let yytranslate handle the eof case.
-       * data/lalr1.cc (yytranslate_): Handle the EOF case.
-       Adjust callers.
-       No longer expect yychar to be equal to yyeof_, rather, test the
-       lookahead's (translated) kind.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       yychar cannot be empty in yyerrlab.
-       * TODO (yychar == yyempty_): New.
-       * data/lalr1.cc: Remove the handling of this case.
-       This eases forthcoming changes related to yychar and yytranslate.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Bench: syntactic sugar for %define/#define.
-       * etc/bench.pl.in (parse_dirs): Support %d and #d with arguments.
-       (&bench_push_parser, bench_variant_parser): Use this feature.
-       (&eat): New.
-       Use it.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Less memory pressure on the "list" bench.
-       * etc/bench.pl.in (generate_grammar_list): Do not accumulate all
-       the values, to limit memory pressure.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Introduce make_symbol.
-       make_symbol provides a means to construct a full symbol (kind,
-       value, location) in a single shot.  It is meant to be a Symbol
-       constructor, parameterized by the symbol kind so that overloading
-       would prevent incorrect kind/value pairs.  Unfortunately
-       parameterized constructors do not work well in C++ (unless the
-       parameter also appears as an argument, which is not acceptable),
-       hence the use of a function instead of a constructor.
-
-       * data/lalr1.cc (b4_symbol_constructor_declaration_)
-       (b4_symbol_constructor_declarations)
-       (b4_symbol_constructor_specialization_)
-       (b4_symbol_constructor_specializations)
-       (b4_symbol_constructor_definition_)
-       (b4_symbol_constructor_definitions): New.
-       Use them where appropriate to generate declaration, declaration of
-       the specializations, and implementations of the templated
-       overloaded function "make_symbol".
-       (variant::variant): Always define a default ctor.
-       Also provide a copy ctor.
-       (symbol_base_type, symbol_type): New ctor overloads for value-less
-       symbols.
-       (symbol_type): Now public, so that functions such as yylex can use
-       it.
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Inform m4 whether a tag is a valid id.
-       * src/output.c (is_identifier): New.
-       (symbol_definitions_output): Use it to define tag_is_id.
-       But maybe this should be done at m4 level?
-
-2008-11-11  Akim Demaille  <demaille@gostai.com>
-
-       Test 214 was failing: it greps with a pattern containing [     ]*
-       which obviously meant to catch spaces and tabs, but contained only
-       spaces. Tabulations in sources are a nuisance, so to simplify the
-       matter, get rid of all the tabulations in the Java sources.  The
-       other skeletons will be treated equally later.
-
-       * data/java.m4, data/lalr1.java: Untabify.
-       * tests/java.at: Simplify AT_CHECK_JAVA_GREP invocations:
-       tabulations are no longer generated.
-
-2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
-
-       * bootstrap.conf: Replace m4/warning.m4 with warnings module.
-       * configure.ac: Adjust usage.
-       * lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
-       * src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
-       * tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS).
-
-2008-11-10  Di-an Jan  <dianj@freeshell.org>
-
-       Workaround Java's ``code too large'' problem for parser tables
-       in most cases, by using one function per initialization.
-       * data/java.m4 (b4_typed_parser_table, b4_integral_parser_table): New.
-       * data/lalr1.java (yypact_, yydefact_, yypgoto_, yydefgoto_,
-       yytable_, yycheck_, yystos_, yytoken_number_, yyr1_, yyr2_, yyrhs_
-       yyprhs_, yyrline_, yytranslate_table_): Use b4_integral_parser_table.
-       (yytname_): Use b4_typed_parser_table.
-       * doc/bison.texinfo (Java Bison Interface): Add note on Java's
-       ``code too large'' error.
-
-2008-11-10  Di-an Jan  <dianj@freeshell.org>
-
-       * NEWS: Document them.
-
-       General Java skeleton improvements.
-       * configure.ac (gt_JAVACOMP): Request target of 1.4, which allows
-       using gcj < 4.3 in the testsuite, according to comments in
-       gnulib/m4/javacomp.m4.
-       * data/java.m4 (stype, parser_class_name, lex_throws, throws,
-       location_type, position_type): Remove extraneous brackets from
-       b4_percent_define_default.
-       (b4_lex_param, b4_parse_param): Remove extraneous brackets from
-       m4_define and m4_define_default.
-       * data/lalr1.java (b4_pre_prologue): Change to b4_user_post_prologue,
-       which marks the end of user code with appropriate syncline, like all
-       the other skeletons.
-       (b4_user_post_prologue): Add.  Don't silently drop.
-       (yylex): Remove.
-       (parse): Inline yylex.
-       * doc/bison.texinfo (bisonVersion, bisonSkeleton): Document.
-       (%{...%}): Fix typo of %code imports.
-       * tests/java.at (AT_JAVA_COMPILE): Add "java" keyword.
-
-       Support annotations on parser class with %define annotations.
-       * data/lalr1.java (annotations): Add to parser class modifier.
-       * doc/bison.texinfo (Java Parser Interface): Document
-       %define annotations.
-       (Java Declarations Summary): Document %define annotations.
-       * tests/java.at (Java parser class modifiers): Test annotations.
-
-       Do not generate code for %error-verbose unless requested.
-       * data/lalr1.java (errorVerbose): Rename to yyErrorVerbose.
-       Make private.  Make conditional on %error-verbose.
-       (getErrorVerbose, setErrorVerbose): New.
-       (yytnamerr_): Make conditional on %error-verbose.
-       (yysyntax_error): Make some code conditional on %error-verbose.
-       * doc/bison.texinfo (Java Bison Interface): Remove the parts
-       about %error-verbose having no effect.
-       (getErrorVerbose, setErrorVerbose): Document.
-
-       Move constants for token names to Lexer interface.
-       * data/lalr1.java (Lexer): Move EOF, b4_token_enums(b4_tokens) here.
-       * data/java.m4 (b4_token_enum): Indent for move to Lexer interface.
-       (parse): Qualify EOF to Lexer.EOF.
-       * doc/bison.texinfo (Java Parser Interface): Move documentation of
-       EOF and token names to Java Lexer Interface.
-       * tests/java.at (_AT_DATA_JAVA_CALC_Y): Remove Calc qualifier.
-
-       Make yyerror public.
-       * data/lalr1.java (Lexer.yyerror): Use longer parameter name.
-       (yyerror): Change to public.  Add Javadoc comments.  Use longer
-       parameter names.  Make the body rather than the declarator
-       conditional on %locations.
-       * doc/bison.texinfo (yyerror): Document.  Don't mark as protected.
-
-       Allow user to add code to the constructor with %code init.
-       * data/java.m4 (b4_init_throws): New, for %define init_throws.
-       * data/lalr1.java (YYParser.YYParser): Add b4_init_throws.
-       Add %code init to the front of the constructor body.
-       * doc/bison.texinfo (YYParser.YYParser): Document %code init
-       and %define init_throws.
-       (Java Declarations Summary): Document %code init and
-       %define init_throws.
-       * tests/java.at (Java %parse-param and %lex-param): Adjust grep.
-       (Java constructor init and init_throws): Add tests.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Update TODO.
-       * TODO (-D): is implemented.
-       (associativity): Same precedence must have the same associativity.
-       For instance, how can a * b / c be parsed if * is %left and / is
-       %right?
-       (YYERRORCODE, YYFAIL, YYBACKUP): New.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       More information about the symbols.
-       * src/output.c (type_names_output): Document all the symbols,
-       including those that don't have a type-name.
-       (symbol_definitions_output): Define "is_token" and
-       "has_type_name".
-       * data/lalr1.cc (b4_type_action_): Skip symbols that have an empty
-       type-name, now that they are defined too in b4_type_names.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Make parser::yytranslate static.
-       Small speedup (1%) on the list grammar.  And makes yytranslate_
-       available in non member functions.
-
-       * data/lalr1.cc (yytranslate_): Does not need to be a instance
-       function.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Avoid trailing spaces.
-       * data/c.m4: b4_comment(TEXT): Don't indent empty lines.
-       * data/lalr1.cc: Don't indent before rule and symbol actions, as
-       they can be empty, and anyway this incorrectly indents the first
-       action.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Comment changes.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Use "enum" for integral constants.
-       This is just nicer to read, I observed no speedup.
-
-       * data/lalr1.cc (yyeof_, yylast_, yynnts_, yyempty_, yyfinal_)
-       (yterror_, yyerrcode_, yyntokens_): Define as members of an enum.
-       (yyuser_token_number_max_, yyundef_token_): Move into...
-       (yytranslate_): here.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Shortcuts in bench directives.
-       * etc/bench.pl.in (parse_dirs): New.
-       Use it.
-       (bench_variant_parser, bench_fusion_parser): Use %s and %d.
-       Create the benches in "benches/".
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-       * data/lalr1.cc: here.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Adjust verbose message to using emacs.
-       * etc/bench.pl.in: Inform compilation-mode when we change the
-       directory.
-       (generate_grammar_list): Recognize %define "variant" in addition
-       to %define variant.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Classify symbols by type-name.
-       * src/uniqstr.h (UNIQSTR_CMP): New.
-       * src/output.c (symbol_type_name_cmp, symbols_by_type_name)
-       (type_names_output): New.
-       (muscles_output): Use it.
-       * data/lalr1.cc (b4_symbol_action_): Remove.
-       (b4_symbol_case_, b4_type_action_): New.
-       Adjust uses of b4_symbol_action_ to use b4_type_action_.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Change the handling of the symbols in the skeletons.
-       Before we were using tables which lines were the symbols and which
-       columns were things like number, tag, type-name etc.  It is was
-       difficult to extend: each time a column was added, all the numbers had
-       to be updated (you asked for colon $2, not for "tag").  Also, it was
-       hard to filter these tables when only a subset of the symbols (say the
-       tokens, or the nterms, or the tokens that have and external number
-       *and* a type-name) was of interest.
-
-       Now instead of monolithic tables, we define one macro per cell.  For
-       instance "b4_symbol(0, tag)" is a macro name which contents is
-       self-decriptive.  The macro "b4_symbol" provides easier access to
-       these cells.
-
-       * src/output.c (type_names_output): Remove.
-       (symbol_numbers_output, symbol_definitions_output): New.
-       (muscles_output): Call them.
-       (prepare_symbols): Define b4_symbols_number.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       --trace=muscles
-       * src/getargs.h, src/getargs.c (trace_muscle): New.
-       (trace_types, trace_args): Support it.
-       * src/output.c (output_skeleton): Use it.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       muscles_output.
-       * src/output.c (muscles_output): New, extracted from...
-       (output_skeleton): here.
-       Adjust.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Update the variant example.
-       * examples/variant.yy: Formatting changes.
-       One stage build.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Support constructor with an argument.
-       This improves the "list" bench by 2%.
-
-       * data/lalr1.cc (variant::build): Add an overloaded version with
-       an argument.
-       * tests/c++.at (AT_CHECK_VARIANT): Check it.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Test variants.
-       * tests/c++.at (AT_CHECK_VARIANTS): New.
-       Use it with and without %define assert.
-
-2008-11-10  Akim Demaille  <demaille@gostai.com>
-
-       Add %precedence support.
-       Unfortunately it is not possible to reuse the %prec directive.  This
-       is because to please POSIX, we do not require to end the rules with a
-       semicolon.  As a result,
-
-       foo: bar %prec baz
-
-       is ambiguous: either a rule which precedence is that of baz, or a rule,
-       and then a declaration of the precedence of the token baz.
-
-       * doc/bison.texinfo: Document %precedence.
-       (Precedence Only): New.
-       * src/assoc.h, src/assoc.c (precedence_assoc): New.
-       * src/conflicts.c (resolve_sr_conflict): Support it.
-       * src/scan-gram.l, src/parse-gram.y (%precedence): New token.
-       Parse it.
-       * tests/calc.at: Use %precedence for NEG.
-       * tests/conflicts.at (%precedence does not suffice)
-       (%precedence suffices): New tests.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Make benches in a sub dirs.
-       * etc/bench.pl.in ($dir): New.
-       Use it.
-       Check the use of constructors with an argument.
-       (bench_variant_parser): Fix.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       fix eof condition
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Fix --help.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Require the generation of parse-gram.output.
-       * src/Makefile.am (YACC): Pass --report=all.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Update TODO.
-       * TODO: Remove obsolete items.
-       Update others.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Enhance bench.pl.
-       * etc/bench.pl.in (parse, parse_expr, parse_term, parse_fact)
-       (@token, $grammar, $bench): New.
-       (generate_grammar_variant): Rename as...
-       (generate_grammar_list): this.
-       (generate_grammar): Adjust.
-       (bench_grammar): Rename as...
-       (bench): this.
-       Use it in the various bench-marking routines.
-       (-b, -g): New options.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Use a static hierarchy for symbols in the C++ parser.
-       * data/lalr1.cc (symbol_base_type, symbol_type)
-       (stack_symbol_type): Make it a static hierarchy.
-       Adjust dependencies.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       bench.pl -d, --directive.
-       * etc/bench.pl.in (@directive): New.
-       (&bench_grammar): Use it.
-       (&bench_list_grammar): New, to provide access to the "variant"
-       grammar.
-       Use it.
-       (getopts): Support -d, --directive.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Use inline for small operations.
-       * data/lalr1.cc (symbol_base_type, symbol_type)
-       (stack_symbol_type): Declare constructor and other operations as
-       inline.
-       (yy_destroy_): Inline.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Introduce a hierarchy for symbols.
-       * data/lalr1.cc (symbol_base_type, symbol_type): New.
-       (data_type): Rename as...
-       (stack_symbol_type): this.
-       Derive from symbol_base_type.
-       (yy_symbol_value_print_): Merge into...
-       (yy_symbol_print_): this.
-       Rename as...
-       (yy_print_): this.
-       (yydestruct_): Rename as...
-       (yy_destroy_): this.
-       (b4_symbols_actions, YY_SYMBOL_PRINT): Adjust.
-       (parser::parse): yyla is now of symbol_type.
-       Use its type member instead of yytoken.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Rename data_type and stack_symbol_type.
-       * data/lalr1.cc (data_type): Rename as...
-       (stack_symbol_type): this.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Handle semantic value and location together.
-       * data/lalr1.cc (b4_symbol_actions): Bounce $$ and @$ to
-       yydata.value and yydata.location.
-       (yy_symbol_value_print_, yy_symbol_print_, yydestruct_)
-       (YY_SYMBOL_PRINT): Now take semantic value and location as a
-       single arg.
-       Adjust all callers.
-       (yydestruct_): New overload for a stack symbol.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Push a complete symbol, not connected parts.
-       * data/lalr1.cc (yypush_): Take a data_type&, not disconnected
-       state, value and location.
-       Adjust callers.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Agregate yylval and yylloc.
-       * data/lalr1.cc (parser::yylval, parser::yylloc): Replace by...
-       (parser::yyla): this.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Rely on the state stack to display reduction traces.
-       To display rhs symbols before a reduction, we used information
-       about the rule reduced, which required the tables yyrhs and
-       yyprhs.  Now use rely only on the state stack to get the same
-       information.
-
-       * data/lalr1.cc (b4_rhs_data, b4_rhs_state): New.
-       Use them.
-       (parser::yyrhs_, parser::yyprhs_): Remove.
-       (parser::yy_reduce_print_): Use the state stack.
-
-2008-11-09  Akim Demaille  <demaille@gostai.com>
-
-       Fuse yyval and yyloc into yylhs.
-       * data/lalr1.cc (b4_lhs_value, b4_lhs_location): Adjust to using
-       yylhs.
-       (parse): Replace yyval and yyloc with yylhs.value and
-       yylhs.location.
-       After a user action, compute yylhs.state earlier.
-       (yyerrlab1): Do not play tricks with yylhs.location, rather, use a
-       fresh error_token.
-
-2008-11-09  Di-an Jan  <dianj@freeshell.org>
-
-       Remove unused variable.
-       * src/output.c (type_names_output): Remove unused variable sep.
-
-2008-11-09  Paolo Bonzini  <bonzini@gnu.org>
-
-       Change tests/output.at quoting.
-       * tests/output.at (AT_CHECK_OUTPUT): Use conventional m4 quoting when
-       expanding arguments.
-
-2008-11-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't add a semicolon to actions for %skeleton or %language.
-       It breaks Java test cases as reported by Akim Demaille.
-       * src/scan-code.l: Implement.
-
-2008-11-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Clean up %skeleton and %language priority implementation.
-       * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and
-       remove static qualifier because others will soon need to see it.
-       (language_prio): Likewise.
-       (getargs): Use command_line_prio rather than 0.
-       * src/getargs.h (command_line_prio, grammar_prio, default_prio): New
-       enum fields.
-       (skeleton_prio): Extern it.
-       (language_prio): Extern it.
-       * src/parse-gram.y: Use grammar_prio rather than 1.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Moving push traces into yypush_.
-       * data/lalr1.cc (yypush_): Now takes a optional trace message.
-       Adjust all uses.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       The single-stack C++ parser is now the standard one.
-       * data/lalr1.cc: Rename as...
-       * data/lalr1-split.cc: this.
-       * data/lalr1-fusion.cc: Rename as...
-       * data/lalr1.cc: this.
-       * etc/bench.pl.in: Adjust.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Avoid empty-if warnings.
-       Reported by Quentin Hocquet.
-
-       * data/lalr1-fusion.cc (YY_SYMBOL_PRINT, YY_REDUCE_PRINT)
-       (YY_STACK_PRINT): Provide some contents even when !YYDEBUG.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Pass command line location to skeleton_arg and language_argmatch.
-       * src/getargs.h, src/getargs.c (skeleton_arg, language_argmatch):
-       The location argument is now mandatory.
-       Adjust all dependencies.
-       (getargs): Use command_line_location.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       -D, --define.
-       * src/getargs.c (usage): Document -D.
-       Fix help string for --locations.
-       (command_line_location): New.
-       (short_options, long_options, getargs): Support -D, --define.
-       (getargs): Move -d support at the right place.
-       * doc/bison.texinfo (Bison Options): Update.
-       * tests/input.at (%define, --define): New.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Initialize the muscle table before parsing the command line.
-       * src/getargs.c (quotearg.h, muscle_tab.h): Include.
-       (getargs): Define file_name.
-       * src/main.c (main): Initialize muscle_tab before calling
-       getargs.
-       * src/muscle_tab.c (muscle_init): No longer define file_name, as
-       its value is not available yet.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Locations without columns for command line arguments.
-       * src/location.c (location_print): Don't display negative columns.
-       * src/location.h: Document this.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Fix --help.
-       * src/getargs.c (usage): Fix help string for -W.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Handle more general types of option arguments.
-       * build-aux/cross-options.pl: The argument ends at the first
-       space, not the first non-symbol character.
-       Use @var for each word appearing the argument description.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Destroy the variants that remain on the stack in case of error.
-       * data/lalr1-fusion.cc (yydestruct_): Invoke the variant's
-       destructor.
-       Display the value only if yymsg is nonnull.
-       (yyreduce): Invoke yydestruct_ when popping lhs symbols.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Add "%define assert" to variants.
-       This is used to help the user catch cases where some value gets
-       ovewritten by a new one.  This should not happen, as this will
-       probably leak.
-
-       Unfortunately this uncovered a bug in the C++ parser itself: the
-       lookahead value was not destroyed between two calls to yylex.  For
-       instance if the previous lookahead was a std::string, and then an int,
-       then the value of the std::string was correctly taken (i.e., the
-       lookahead was now an empty string), but std::string structure itself
-       was not reclaimed.
-
-       This is now done in variant::build(other&) (which is used to take the
-       value of the lookahead): other is not only stolen from its value, it
-       is also destroyed.  This incurs a new performance penalty of a few
-       percent, and union becomes faster again.
-
-       * data/lalr1-fusion.cc (variant::build(other&)): Destroy other.
-       (b4_variant_if): New.
-       (variant::built): New.
-       Use it whereever the status of the variant changes.
-       * etc/bench.pl.in: Check the penalty of %define assert.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Use "%define variant" in bench.pl.
-       * etc/bench.pl.in: No longer use the pseudo directive %variants,
-       just use %define variants.
-
-2008-11-07  Akim Demaille  <demaille@gostai.com>
-
-       Regen.
-       * src/parse-gram.h, src/parse-gram.c: Regen.
-
-2008-11-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix user actions without a trailing semicolon.
-       Reported by Sergei Steshenko at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00001.html>.
-       * THANKS (Sergei Steshenko): Add.
-       * src/scan-code.l (SC_RULE_ACTION): Fix it.
-       * tests/regression.at (Fix user actions without a trailing semicolon):
-       New test case.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Use b4_copyright_years.
-       * data/yacc.c (b4_copyright_years): New.
-       Fix its value according to the comments in the file.
-       Use it and undefine it.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-       * data/lalr1-fusion.cc, src/parse-gram.y: here.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Formatting changes.
-       * data/lalr1-fusion.cc: here.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Use strict on bench.pl.
-       * etc/bench.pl.in (&run, &generate_grammar): New.
-       Rename the grammar generating functions for consistency.
-       Change the interface so that the list of benches to run is passed
-       as (optionless) arguments.
-       (&compile): Use &run.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Remove spurious initial empty lines.
-       * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
-       * data/yacc.c: End the @output lines with an @.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Improve the display of sizes.
-       * etc/bench.p.in: Higher precision.
-       Sort by decreasing size.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Don't memcpy C++ structures.
-       * data/lalr1-fusion.cc (b4_symbol_variant): Adjust additional
-       arguments.
-       (variant::build): New overload for
-       copy-construction-that-destroys.
-       (variant::swap): New.
-       (parser::yypush_): Use it in variant mode.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Better defaults for bench.pl.
-       * etc/bench.pl.in ($verbose, $cflags, $iterations): Change the
-       default values.
-       Adjust &verbose uses.
-       (-q, --quiet): New.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Make variant.yy more complex.
-       std::list cannot be copied via memcpy, they are more demanding than
-       std::string.  Use one std::list to strengthen the test.
-
-       * examples/variant.yy: Use lalr1-fusion.cc, not lalr1.cc.
-       Adjust.
-       Create a list of strings, instead of a single large string.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       bench.pl --bench.
-       * etc/bench.pl.in (--bench, $bench): New.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Sort methods.
-       * data/lalr1-fusion.cc (destroy): Use as() in its definition.
-       Define it after as().
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Useless parens.
-       * data/lalr1-fusion.cc (b4_rhs_location): Remove useless parens.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Issue missing synclines after user actions.
-       * data/c.m4 (b4_case): Issue synclines on the output file.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Remove trailing empty line.
-       * data/lalr1-fusion.cc: Don't add an empty line after the user's
-       epilogue.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Fix output of copyright years.
-       * data/bison.m4 (b4_copyright): Fix the indentation of the
-       copyright year paragraph.
-       Use b4_copyright_years when no years are given.
-       * data/lalr1.cc, data/lalr1-fusion.cc, data/location.cc
-       (b4_copyright_years): New.
-       Use it.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Avoid the spurious initial empty line.
-       * data/lalr1-fusion.cc, data/location.cc: Put a trailing "@" at
-       the end of @output request to suppress the empty line that
-       results.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Remove parser::rhs_number_type.
-       * data/lalr1-fusion.cc (rhs_number_type): No longer define it.
-       (yyrhs_): Use b4_table_define.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Fix iteration type.
-       * data/lalr1-fusion.cc: Use an int to iterate up to an int.
-
-2008-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Factor the declaration of the integer tables.
-       * data/lalr1-fusion.cc (b4_table_define): New.
-       Use it.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Fix indentation of tables in lalr1.cc
-       * data/lalr1-fusion.cc: Fix the indentation.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Destroy the lhs symbols after reduction.
-       * data/lalr1-fusion.cc (parse): After the user action, when in
-       variant mode, destroy the lhs symbols.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Simplify yysyntax_error_ use.
-       * data/lalr1-fusion.cc (yysyntax_error_): Always pass it the token
-       type, but make it unnamed in the declaration when it is not used.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Let yy::variant::build return an lvalue.
-       * data/lalr1-fusion.cc (variant::build): Return a reference to the
-       object.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Define yy::variant only when needed.
-       * data/lalr1-fusion.cc (yy::variant): Define only if variants are
-       used.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Bench the three-stack lalr1.cc.
-       * etc/bench.pl.in: Bench the three-stack lalr1.cc vs. the
-       one-stack one.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Fail on parse error in calc++.
-       * doc/bison.texinfo (calc++.cc): Propagate failures to the exit
-       status.
-       * examples/calc++/test ($me, $number, $exit, run): New.
-       Use them to propagate errors to the exit status.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Don't specify the skeleton twice in the example.
-       * examples/calc++/Makefile.am: Don't pass -S to Bison, the grammar
-       file does what is needed.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       bench: Improve output.
-       * etc/bench.pl.in (bench_grammar): Tune the printf format.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       bench: check impact of %debug on variants.
-       * etc/bench.pl.in (variant_grammar): Fix the computation of
-       $variant.
-       Generate a grammar file that can work with or without %debug.
-       Do use the @directive.
-       (bench_variant_parser): Check impact of %debug.
-       (@directives): Rename all the occurrences to...
-       (@directive): this, for consistency.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       bench: report the size too.
-       * etc/bench.pl.in ($iterations): Defaults to -3.
-       (&bench_grammar): Require hireswallclock.
-       Compute and display the size of the result.
-       More comments.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       bench: More use of the verbosity level.
-       * etc/bench.pl.in ($verbose, &verbose): New.
-       Use them.
-       More POD documentation.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       bench.pl: a command line interface
-       * etc/bench.pl.in: More doc.
-       Some fixes in the documentation.
-       ($cflags, $iterations, &help, &getopt): New.
-       Use them.
-       (&variant_grammar): Let the number of stages be 10 times what is
-       specified.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Bench the use of Boost.Variants.
-       * etc/bench.pl.in ($cxx, &variant_grammar, &bench_variant_parser):
-       New.
-       (&compile): Be ready to compile C++ parsers.
-       (&bench_push_parser): Move debug information to the outermost
-       level.
-       * THANKS: Add Michiel De Wilde.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       bench.pl: Pass directives as a list instead of as a string.
-       * etc/bench.pl.in (&directives): New.
-       (&triangular_grammar, &calc_grammar): Use it to format the Bison
-       directives.
-       (&triangular_grammar): Do use the directives (were ignored).
-       (&bench_grammar, &bench_push_parser): Adjust to pass lists of
-       directives.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Improve genericity of bench.pl.
-       * etc/bench.pl.in (&bench_grammar): Take the set of benches as
-       argument.
-       (&bench_push_parser): New.
-       Call it.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Add documentation to bench.pl.
-       * etc/bench.pl.in: Comment changes.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Fuse the three stacks into a single one.
-
-       In order to make it easy to perform benchmarks to ensure that
-       there are no performance loss, lalr1.cc is forked into
-       lalr1-fusion.cc.  Eventually, lalr1-fusion.cc will replace
-       lalr1.cc.
-
-       Meanwhile, to make sure that lalr1-fusion.cc is correctly
-       exercized by the test suite, the user must install a symbolic link
-       from lalr1.cc to it.
-
-       Instead of having three stacks (state, value, location), use a
-       stack of triples.  This considerably simplifies the code (and it
-       will be easier not to require locations as currently does the C++
-       parser), and also gives a 10% speedup according to
-       etc/bench (probably mainly since memory allocation is done once
-       instead of three times).
-
-       Another motivation is to make it easier to destruct properly
-       semantic values: now that they are bound to their state (hence
-       symbol type) it will be easier to call the appropriate destructor.
-
-       These changes should probably benefit the C parser too.
-
-       * data/lalr1.cc: Copy as...
-       * data/lalr1-fusion.cc: this new file.
-       (b4_rhs_value, b4_rhs_location): New definitions overriding those
-       from c++.m4.
-       (state_stack_type, semantic_stack_type, location_stack_type)
-       (yystate_stack_, yysemantic_stack_, yylocation_stack_): Remove.
-       (data_type, stack_type, yystack_): New.
-       (YYLLOC_DEFAULT, yypush_): Adjust.
-       (yyerror_range): Now based on data_type, not location_type.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Push the state, value, and location at the same time.
-       This is needed to prepare a forthcoming patch that fuses the three
-       stacks into one.
-
-       * data/lalr1.cc (parser::yypush_): New.
-       (parser::yynewstate): Change the semantics: instead of arriving to
-       this label when value and location have been pushed, but yystate
-       is to be pushed on the state stack, now the three of them must
-       have been pushed before.  yystate still must be the new state.
-       This allows to use yypush_ everywhere instead of individual
-       handling of the stacks.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Prefer references to pointers.
-       * data/lalr1.cc (b4_symbol_actions): New, overrides the default C
-       definition to use references instead of pointers.
-       (yy_symbol_value_print_, yy_symbol_print_, yydestruct_):
-       Take the value and location as references.
-       Adjust callers.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       stack::size instead of stack::height.
-       * data/lalr1.cc (stack::height): Rename as...
-       (stack::size): this.
-       Fix the output type.
-       Comment changes.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Use variants to support objects as semantic values.
-       This patch was inspired by work by Michiel De Wilde.  But he used
-       Boost variants which (i) requires Boost on the user side, (ii) is
-       slow, and (iii) has useless overhead (the parser knows the type of
-       the semantic value there is no reason to duplicate this
-       information as Boost.Variants do).
-
-       This implementation reserves a buffer large enough to store the
-       largest objects.  yy::variant implements this buffer.  It was
-       implemented with Quentin Hocquet.
-
-       * src/output.c (type_names_output): New.
-       (output_skeleton): Invoke it.
-       * data/c++.m4 (b4_variant_if): New.
-       (b4_symbol_value): If needed, provide a definition for variants.
-       * data/lalr1.cc (b4_symbol_value, b4_symbol_action_)
-       (b4_symbol_variant, _b4_char_sizeof_counter, _b4_char_sizeof_dummy)
-       (b4_char_sizeof, yy::variant): New.
-       (parser::parse): If variants are requested, define
-       parser::union_type, parser::variant, change the definition of
-       semantic_type, construct $$ before running the user action instead
-       of performing a default $$ = $1.
-       * examples/variant.yy: New.
-       Based on an example by Michiel De Wilde.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Parameterize the extraction of semantic values.
-       To make future changes easier, no longer rely on ".TYPE" being the
-       way to get a semantic value.
-
-       * data/c.m4 (b4_symbol_value): New.
-       Use it.
-       * data/c++.m4, data/yacc.c: Use it.
-       * data/glr.c: Use b4_symbol_value.
-       (b4_rhs_data): New.
-       Use it.
-
-2008-11-03  Akim Demaille  <demaille@gostai.com>
-
-       Prepare easier M4 changes.
-       * data/lalr1.cc: Use escaped [] instead of literals to prepare
-       future changes.
-
-2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Initiate further development.
-       * NEWS: Create an empty section for new entries.
-       * gnulib: Update submodule to HEAD.
-
-2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS: Version 2.4.
-
-2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Prepare for next release.
-       * NEWS: Briefly mention changes since 2.3b.
-       * README: Say GNU m4 1.4.6, which we've been requiring in release
-       announcements already, not 1.4.3, which breaks the build.
-
-2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Say %language is experimental.
-       We're thinking of extending it's effect on output file naming.  See the
-       thread at
-       <http://lists.gnu.org/archive/html/bison-patches/2008-10/msg00003.html>.
-       * NEWS: Say it's experimental.
-       * doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't
-       recommend it over %skeleton for now.
-       (Bison Options): Likewise.
-       (C++ Bison Interface): Use %skeleton not %language.
-       (Calc++ Parser): Use %skeleton not %language.
-       * src/getargs.c (usage): Say it's experimental.
-
-2008-11-01  Di-an Jan  <dianj@freeshell.org>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       Support all Java parser class modifiers.
-       * data/java.m4 (b4_percent_define_get3): New.
-       (b4_final_if, b4_strictfp_if): New.
-       * data/lalr1.java (final, strictfp, extends, implements): Support.
-       * doc/bison.texinfo (final, strictfp, extends, implements): Add
-       documentation.
-       * tests/java.at (AT_CHECK_JAVA_MINIMAL): New.
-       (AT_CHECK_JAVA_MINIMAL_W_LEXER): New.
-       (AT_CHECK_JAVA_GREP): New.
-       (Java parser class modifiers): New test.
-       (Java parser class extends and implements): New test.
-
-       Model exception propagation better with throws and lex_throws.
-       * data/java.m4 (b4_list2): New.
-       (throws): Change default.
-       * data/lalr1.java (yyaction): Add throws.
-       (parse): Add lex_throws in addition to throws.
-       * doc/bison.texinfo (throws, lex_throws): Add documentation.
-       * tests/java.at (Java throws specifications): New test.
-
-       Improve documentation for Java parsers.
-       * doc/bison.texinfo (Java Parsers): Add subsections.
-       Don't quote first argument of %define.
-       (Java Bison Interface): Document output files.  Move documentation
-       of parser class and merge into Java Parser Interface.  Document
-       features that error out.  Document directives with no effect.
-       Move note about Javadoc higher.
-       (Java Semantic Values): Explicitly mention stype.
-       Document that generic types cannot be used.
-       (Java Location Values): Use @deftypeivar.  Document constructors.
-       Correct return value for toString.
-       (Java Parser Interface): List undocumented constants/fields.
-       Move documentation of fields added by %parse-param closer to list
-       of members.  Document that token names are added as fields.
-       Document constructors accurately.  Remove error method.
-       (Java Scanner Interface): Move note on %pure-parser to Java Bison
-       Interface.  Describe %code lexer and yylex accutately.
-       Remove documentation that does not match the code.
-       (Java Action Features): New.
-       (Java Differences): Add reference.  Add item on semantic values.
-       Add note about @{ ... @}.  Clarify %% epilogue placement.
-       (Java Declarations Summary): New.
-
-       Fix Java skeleton.
-       * data/java.m4 (b4_prefix): Correct quoting for m4_define_default.
-       (b4_remove_comma): Quote test argument.
-       (b4_identification): Remove "bison" field.
-       * tests/java.at (Java parser class and package names): New test.
-       (Java %parse-param and %lex-param): New test.
-       (Java stype, position_class and location_class): New test.
-
-2008-10-31  Di-an Jan  <dianj@freeshell.org>
-
-       * data/lalr1.jave: Update copyright years.
-       (YYParser): Correct name of "generated from" file in Javadoc:
-       use b4_file_name instead of @ofile@.
-       (Location constructor): Correct Javadoc parameter name.
-       (yylloc): Add missing opening m4 quote after b4_location_if.
-       This removes a stray [ in the Javadoc of Lexer.getStartPos.
-       (Lexer.yyerror): Fix incorrect m4 and Javadoc.
-       (YYParser constructor): Correct Javadoc parameter name.
-
-2008-10-30  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Always put auxiliary code files in the same dir as other output files.
-       * src/files.c (compute_file_name_parts): When the user specifies
-       --output but not --file-prefix, extract the directory prefix from the
-       file prefix not from the grammar file name.  This affects the location
-       of files like location.hh generated by the C++ skeleton.  The includes
-       in the other output files require this fix.
-       * tests/output.at (AT_CHECK_OUTPUT): Automatically create directories
-       for expected output files.
-       (Output files): Add a test for the above.
-
-2008-10-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * gnulib: Update submodule to HEAD.
-
-2008-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update copyright year.
-       * src/files.c: Here.
-
-2008-10-28  Di-an Jan  <dianj@freeshell.org>  (tiny change)
-
-       Don't overwrite the input file.
-       * src/files.c (output_file_name_check): Fatal error if using input file
-       for output.
-       * tests/output.at: (AT_CHECK_CONFLICTING_OUTPUT): Add return status
-       argument.
-       (Conflicting output files): Add test.
-
-2008-10-28  Akim Demaille  <demaille@gostai.com>
-
-       Space changes.
-       * data/lalr1.cc: Formatting changes.
-
-2008-10-28  Akim Demaille  <demaille@gostai.com>
-
-       Don't define debugging functions when !YYDEBUG.
-       * data/lalr1.cc (debug_stream, set_debug_stream)
-       (debug_level_type, debug_level, set_debug_level): Don't
-       declare them when YYDEBUG is not defined.
-       The implementation are already YYDEBUG-aware.
-
-2008-10-28  Akim Demaille  <demaille@gostai.com>
-
-       Prefer "continue" for empty loop bodies.
-       * etc/bench.pl.in: Use "continue" instead of {}.
-
-2008-10-28  Akim Demaille  <demaille@gostai.com>
-
-       Space and comments changes.
-       * data/c++.m4, data/glr.c, data/lalr1.cc: Copyright year changes.
-       * data/c.m4, data/lalr1.cc: Space changes.
-
-2008-10-28  Akim Demaille  <demaille@gostai.com>
-
-       Make gnulib a submodule.
-       * gnulib: New.
-       * .gitmodules (gnulib): New.
-
-2008-10-18  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix yyerror_range for user-defined location type in C++.  Reported by
-       Georg Sauthoff at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-08/msg00008.html>.
-       * data/lalr1.cc (parse): Change type of yyerror_range to location_type.
-       * THANKS (Georg Sauthoff): Add.
-
-2008-10-18  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update several administrative files mainly to facilitate releasing.
-       * HACKING (Administrivia): Make the git-merge-changelog notes more
-       helpful.
-       (Test suite): Don't say lalr1.cc is not exercised in the test suite.
-       (Release Procedure): Update for git and add numerous details that were
-       previously missing.
-       * Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint.
-       * maint.mk (announcement): Don't list bison as a bootstrap tool so
-       that announcements don't claim we bootstrapped with whatever bison
-       happened to be in PATH.  Add flex as a bootstrap tool.
-       * Makefile.maint: Remove, previously replaced by maint.mk.
-       * Makefile.cfg: Remove, and migrate settings to...
-       * cfg.mk: ... here for the sake of `make announcement'.
-       * bootstrap.conf (gnulib_modules): Add announce-gen.
-       * README: Say GNU Bison instead of just Bison.  Suggested by Karl
-       Berry.
-
-2008-10-08  Di-an Jan  <dianj@freeshell.org>  (tiny change)
-
-       Small but important bugfixes for the Java skeleton.
-       * data/lalr1.java (yyerror): Change Location to b4_location_type.
-       (yy_symbol_print): Call toString on yyvaluep.
-
-2008-08-29  Akim Demaille  <demaille@gostai.com>
-
-       Clarify UPDATED use.
-       * doc/bison.texinfo: It refers to the last edition of this file,
-       not to the release date of Bison.
-       Reported by Joel E. Denny.
-
-2008-08-29  Akim Demaille  <demaille@gostai.com>
-
-       * README: Update FAQ pointer.
-       Reported by Joel E. Denny.
-
-2008-08-27  Eric Blake  <ebb9@byu.net>
-
-       Resync m4sugar from autoconf.
-       * data/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine)
-       (m4_init): Adjust to latest m4.git changes.
-       (m4_mapall_sep, _m4_list_cmp, m4_version_compare): Reduce side
-       effects.
-       * data/m4sugar/foreach.m4 (_m4_shiftn): Fix off-by-one bug.
-       (_m4_list_cmp): Reduce side effects.
-
-2008-08-27  Akim Demaille  <demaille@gostai.com>
-
-       Check yyerrok in calc.at.
-       * tests/calc.at (calc.y): Use yyerrok on "( error )".
-       (AT_CHECK_CALC): Add a check that ensures that yyerrok works as
-       expected.
-
-2008-08-27  Akim Demaille  <demaille@gostai.com>
-
-       Support yyerrok in lalr1.cc.
-       YYBACKUP is still to import back into lalr1.cc.
-       * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.
-
-2008-08-26  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       For maintainer-check*, don't recompile for a $(VERSION) update.
-       * cfg.mk: New file.
-       (_is-dist-target): Override the one in GNUmakefile.
-       * Makefile.am (EXTRA_DIST): Add cfg.mk.
-
-2008-08-26  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update for recent change to gnulib.
-       * src/parse-gram.y: Don't include strverscmp.h.  It comes from
-       string.h now.
-
-2008-08-15  Eric Blake  <ebb9@byu.net>
-
-       Remaining m4sugar merge from autoconf.
-       * data/m4sugar/m4sugar.m4: Copy entire file from autoconf.
-       * data/m4sugar/foreach.m4: New file, copied from autoconf.
-       * data/Makefile.am (dist_m4sugar_DATA): Distribute it.
-       * src/output.c (output_skeleton): Tell m4 how to find it.
-
-       Partial m4sugar merge from autoconf: m4_map.
-       * data/m4sugar/m4sugar.m4 (m4_fst): Delete.
-       (m4_map, m4_map_sep, _m4_map): Rewrite more efficiently.
-       (m4_apply, _m4_apply, m4_mapall, m4_mapall_sep): New macros.
-       * data/java.m4 (b4_token_enums): Use more efficient short-circuit
-       for empty list.
-       * data/c.m4 (b4_token_defines, b4_token_enums, b4_c_ansi_formals):
-       Likewise.
-       (b4_parse_param_for): Avoid m4_fst, now that autoconf no longer
-       declares it.
-
-2008-08-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Keep .version and PACKAGE_VERSION in sync.
-       * Makefile.am ($(top_srcdir)/.version): Declare configure as a
-       dependency, and add comments justifying this in more detail.  Discussed
-       starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2008-07/msg00022.html>.
-
-2008-08-06  Eric Blake  <ebb9@byu.net>
-
-       Partial m4sugar merge from autoconf: m4_shiftn.
-       * data/m4sugar/m4sugar.m4 (m4_shiftn): Faster implementation.
-       (m4_shift2, m4_shift3): New macros.
-       (m4_case, m4_bmatch, m4_bpatsubsts, m4_join): Adjust clients.
-       * data/c.m4 (b4_c_function_def, b4_c_ansi_function_def)
-       (b4_c_ansi_function_decl, b4_c_function_call): Likewise.
-       * data/java.m4 (b4_remove_comma): Likewise.
-
-       Partial m4sugar merge from autoconf: m4_wrap vs. m4 1.6.
-       * data/m4sugar/m4sugar.m4 (m4_unquote, m4_wrap_lifo): New macros.
-       (m4_wrap): Guarantee FIFO order, in spite of m4 1.6.
-       (m4_init): Consolidate wrapped text into single m4_wrap.
-       * data/bison.m4 (b4_check_user_names_wrap): Stick with LIFO order
-       in wrapped text.
-
-2008-08-05  Eric Blake  <ebb9@byu.net>
-
-       Partial m4sugar merge from autoconf: builtins, version.m4.
-       * data/m4sugar/m4sugar.m4 (changeword): Nuke.
-       (m4_prepend): Remove, as it is unused and inherently quadratic,
-       whereas m4_append is linear in newer m4.
-       (m4_mkstemp): New builtin.
-       (m4_symbols): Make rename conditional.
-       (m4_version_prereq): Ensure fatal error if used in bison, which
-       intentionally lacks version.m4.
-
-       Fix comments in m4sugar.
-       * data/m4sugar/m4sugar.m4: Comment changes, borrowed from autoconf.
-
-2008-08-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update for recent .gitignore fix in Gnulib.
-       * bootstrap: Back out 2008-07-18 hack now that gnulib-tool creates
-       anchored .gitignore entries.
-
-2008-08-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Set gnu or gnits strictness.
-       * configure.ac (AM_INIT_AUTOMAKE): Set gnu strictness during
-       development and gnits strictness for releases.  Based on Eric Blake's
-       suggestion at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00019.html>.
-
-2008-07-31  Paolo Bonzini  <bonzini@gnu.org>
-
-       * NEWS: Clarify documentation of %language.
-
-2008-07-31  Paolo Bonzini  <bonzini@gnu.org>
-
-       Support usage of git-merge-changelog.
-       * .gitattributes: New.
-       * HACKING: Document usage of git-merge-changelog.
-       * bootstrap: Install git-merge-changelog entries in .git/config
-       if appropriate.
-
-2008-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Remove remaining dependence on CVS Id keyword.
-       * ChangeLog: For the sake of people still using CVS, don't use dollars
-       when mentioning Id.
-       * data/xslt/bison.xsl: Remove Id from header comments, where it was
-       unusual anyway.
-       * data/xslt/xml2dot.xsl: Likewise.
-       * data/xslt/xml2text.xsl: Likewise.
-       * data/xslt/xml2xhtml.xsl: Likewise.
-       * doc/Doxyfile.in (PROJECT_NUMBER): Don't use ID.
-       * doc/Makefile.am (neutralize): Remove, no longer needed.
-       (.x.1): Don't use neutralize.
-       (edit): Don't substitute for ID.
-       (Doxyfile): Don't define Id, and thus don't depend on ChangeLog.
-
-2008-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix dependence on computed configure variables.
-       * doc/Makefile.am (common_dep): Depend on $(top_srcdir)/configure not
-       $(top_srcdir)/configure.ac so that changes to computed variables, such
-       as PACKAGE_VERSION, are seen.
-       * tests/Makefile.am ($(srcdir)/package.m4): Likewise.
-
-2008-07-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update copyright dates for recent changes.
-       * Makefile.am: Here.
-       * src/Makefile.am: Here.
-       * src/reduce.c: Here.
-       * tests/reduce.at: Here.
-
-2008-07-18  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Use git-version-gen for version names between releases.
-       * .cvsignore (.tarball-version, GNUmakefile, *~): Add.
-       * .gitignore (/.tarball-version, /GNUmakefile, /*~): Add.
-       * .prev-version: New.
-       * .version.in: Remove.
-       * ChangeLog: Remove the Id previously used for capturing the CVS
-       revision.
-       * GNUmakefile: Remove, now copied from Gnulib.
-       * Makefile.am: Add code suggested by comments in
-       build-aux/git-version-gen.
-       (EXTRA_DIST): Remove GNUmakefile, handled by Gnulib.  Add maint.mk,
-       .prev-version, and .version.
-       * NEWS (2.3b+): Rename to...
-       (?.?): ... this because we're dropping the "+" version naming scheme,
-       but, in general, we still can't be sure of our next release name.
-       * bootstrap: Add a quick hack to remove from .gitignore the
-       GNUmakefile entry that gnulib adds.  We already have a /GNUmakefile
-       entry.  This should really be fixed in gnulib instead.
-       * bootstrap.conf (gnulib_modules): Add gnumakefile.
-       * configure.ac (AC_INIT): Set version name by invoking
-       build-aux/git-version-gen.
-       (AC_CONFIG_FILES): Remove .version, now generated by
-       build-aux/git-version-gen.
-       * maint.mk: New, copied from coreutils.
-       * doc/.cvsignore (bison.1): Add.
-       * doc/.gitignore (/bison.1): Add.
-       * doc/bison.1: Remove, generated.
-       * src/.cvsignore (revision.c): Remove.
-       * src/.gitignore (/revision.c): Remove.
-       * src/Makefile.am (bison_SOURCES): Remove revision.c and revision.h.
-       (BUILT_SOURCES): Remove revision.c.
-       (revision.c): Remove.
-       * src/getargs.c (version): Don't print revision after the VERSION.
-       * src/revision.h: Remove.
-
-2008-07-16  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix untranslatable composition of sentences.  Reported by Goran
-       Uddeborg at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-06/msg00000.html>.
-       * THANKS (Goran Uddeborg): Add.
-       * src/reduce.c (reduce_print): Report the number of nonterminals and
-       rules useless in the grammar in separate sentences.
-       * tests/reduce.at (Useless Rules): Update output.
-       (Reduced Automaton): Likewise.
-       (Underivable Rules): Likewise.
-       (Empty Language): Likewise.
-
-2008-07-15  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix some .gitignore and .cvsignore problems.
-       * bootstrap (insert_sorted_if_absent): Replace all uses with...
-       (insert_vc_ignore): ... this new function, which prepends `/' to all
-       .gitignore entries before passing them to insert_sorted_if_absent.
-       * bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that
-       .cvsignore files are maintained even though Bison developers run
-       bootstrap while using Git.
-       * .cvsignore (*.patch *.log log patches applied): Remove, apparently
-       unneeded by Bison.
-       (gnulib): Add.
-       * .gitignore (/*.patch *.log log patches applied): Remove, broken and
-       unneeded.  Reported by Eric Blake.
-       * lib/.gitignore (/*~): Add.
-       * po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore.
-       * examples/calc++/.gitignore (/calc++.exe): Add.  Reported by Eric
-       Blake.
-       * src/.gitignore (/bison.exe): Add.  Reported by Eric Blake.
-
-2008-07-15  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Improve forward-compatibility with GNU M4.  Reported by Eric Blake at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00000.html>.
-       * bootstrap.conf (gnulib_modules): Add unsetenv.
-       * lib/.gitignore, lib/.cvsignore (/unsetenv.c): Add.
-       * m4/.gitignore, m4/.cvsignore (/environ.m4): Add.
-       (/setenv.m4): Add.
-       * src/output.c (output_skeleton): For the m4 invocation, pass -dV as
-       the first argument because it may become position-dependent, and unset
-       POSIXLY_CORRECT so Bison's skeletons have access to GNU M4 extensions.
-       Add comments explaining these issues in more detail.
-
-2008-07-14  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Add .gitignore everywhere based on .cvsignore.
-       * .gitignore: New.
-       * build-aux/.gitignore: New.
-       * data/.gitignore: New.
-       * doc/.gitignore: New.
-       * etc/.gitignore: New.
-       * examples/.gitignore: New.
-       * examples/calc++/.gitignore: New.
-       * lib/.gitignore: New.
-       * m4/.gitignore: New.
-       * po/.gitignore: New.
-       * runtime-po/.gitignore: New.
-       * src/.gitignore: New.
-       * tests/.gitignore: New.
-
-2008-05-27  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS (2.3b+): New section, empty for now.
-       * configure.ac (AC_INIT): 2.3b -> 2.3b+.
-
-2008-05-27  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS (2.3b): Update release date since there has been a delay in
-       getting the announcements and tarballs out.
-
-2008-05-23  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS: Version 2.3b.
-       * configure.ac (AC_INIT): Likewise.
-       (PACKAGE_COPYRIGHT_YEAR): Update to 2008.
-
-2008-05-23  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * HACKING: Don't say don't mention HACKING in the ChangeLog.  We've
-       been doing it for years.
-       (Test suite): Mention maintainer-push-check and maintainer-xml-check.
-       (Release Procedure): Add FIXME about make alpha being unmaintained.
-
-2008-05-13  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/yacc.c: Reformat m4 a little for readability.
-       * src/lalr.c (build_relations): Correct comment.
-
-2008-05-12  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       DJGPP specific issue.
-       * djgpp/config.sed: Fixes required to run configure scripts generated
-       by autoconf 2.62.
-
-2008-05-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * HACKING (Release Procedure): translation@iro.umontreal.ca is now
-       coordinator@translationproject.org.
-
-2008-05-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * THANKS: Add Eric Blake.
-
-2008-04-23  Eric Blake  <ebb9@byu.net>
-
-       Revert prior patch, by working around autoconf regression.
-       * tests/output.at (m4_expand): Add workaround for autoconf 2.62.
-       ("Output file name: ("): Uncomment test.
-       ("Output file name: )"): Likewise.
-       Based on an idea from Noah Misch.
-
-2008-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Work-around an Autoconf 2.62 AT_SETUP bug that was not present in
-       2.61.  Reported by Juan Manuel Guerrero at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-04/msg00011.html>.
-       * tests/output.at ("Output file name: ("): Comment out test case for
-       now.
-       ("Output file name: )"): Likewise.
-
-2008-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * GNUmakefile: Update git-version-gen invocation so make dist
-       succeeds.
-
-2008-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update to the current gnulib CVS repository, and fix trigraph handling
-       in Bison.
-       * bootstrap: Update gnulib CVS repository URL.
-       (symlink_to_dir): Encapsulate the code that guarantees the destination
-       directory exists into...
-       (check_dst_dir): ... this new function, and...
-       (cp_mark_as_generated): ... reuse it here so that bootstrap doesn't
-       fail when copying files into lib/uniwidth/.
-       * src/output.c (prepare_symbols): When writing yytname muscles, where
-       symbol names will be encoded in C-string literals, tell quotearg to
-       escape trigraphs.  This used to be the default in gnulib.
-       * tests/regression.at (Token definitions): Because of the change in
-       gnulib's quotearg behavior, string_as_id in parse-gram.y no longer
-       escapes trigraphs in symbol names.  Thus, yytname no longer has
-       trigraphs unnecessarily doubly escaped.  Update test case output.
-       Extend test case to be sure Bison's own error messages will no longer
-       have trigraphs in symbol names unnecessarily escaped once.
-
-2008-04-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix make dist infinite loop reported by Juan Manuel Guerrero at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00009.html>.
-       * .cvsignore: Add .version.
-       * .version.in: New.
-       * bootstrap.conf (gnulib_modules): Add git-version-gen.
-       * configure.ac (AC_CONFIG_FILES): Add .version.
-       * build-aux/.cvsignore: Add git-version-gen.
-
-2008-03-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS (2.3a+): Mention that -g now takes an argument.
-       * doc/bison.texinfo (Bison Options): Reword -W entry a little for
-       consistency.  Update the -g and -x entries now that they take
-       arguments.  Use brackets to indicate optional arguments.
-       * src/getargs.c (usage): Explain the relationship between arguments of
-       long and short options more completely.  Document --defines and -d
-       separately since the former takes an argument but, for POSIX Yacc, the
-       latter does not.
-       (short_options): Let -W take an optional argument like --warnings.
-       (getargs): Sort cases.
-
-2008-02-28  Akim Demaille  <demaille@gostai.com>
-
-       * doc/bison.texinfo: Fix a few typos.
-
-2008-02-28  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Bison Options): Document -W.
-       Based on Joel E. Denny's NEWS entry, and Automake's documentation.
-
-2008-02-28  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (short_options): Split and sort for readability.
-       -g and -x take optional arguments, just like their long options.
-       * build-aux/cross-options.pl: Use /x to make the regexp easier to
-       understand.
-       Fix the handling of $opt which resulted in all the argument to be
-       considered as optional.
-
-2008-02-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS (2.3a+): Don't say %language is experimental.  Mention Java and
-       say its interface is experimental.
-       * doc/bison.texinfo (Decl Summary): In the %language entry, mention
-       Java.
-       (Bison Options): In the -L and --language entry, mention Java.
-       (Java Bison Interface): Say the interface is experimental.
-       * src/getargs.c (usage): Mention -L and --language.
-
-       * NEWS (2.3a+): Say the push parsing interface is experimental.
-       * doc/bison.texinfo (Push Decl): Likewise.
-       (Decl Summary): Likewise in the "%define api.push_pull" entry.
-       (Push Parser Function): Likewise.
-       (Pull Parser Function): Likewise.
-       (Parser Create Function): Likewise.
-       (Parser Delete Function): Likewise.
-       (Table of Symbols): Likewise in the yypstate_delete, yypstate_new,
-       yypull_parse, and yypush_parse entries.
-
-       * NEWS (2.3a+): Mention XML support, and say the schema is
-       experimental.
-       * doc/bison.texinfo (Bison Options): Mention -x and --xml.
-       * src/getargs.c (usage): Say the XML schema is experimental.
-
-       * NEWS (2.3a+): Say option instead of flag.
-
-2008-02-21  Wojciech Polak  <polak@gnu.org>
-
-       * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer
-       text.
-
-2008-02-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix impure push parser compile error reported by Bob Rossi at
-       <http://lists.gnu.org/archive/html/help-bison/2008-02/msg00023.html>.
-       * data/yacc.c: Clean up whitespace in the output a little.
-       (yypstate_allocated): Define for impure push parsers regardless of
-       whether the pull interface is also requested.
-       * tests/push.at (Push Parsing: Multiple impure instances): Extend to
-       check impure push parsers without the pull interface.
-
-       * data/yacc.c (yypstate_new): Don't try to invoke yyerror since
-       yyerror takes arguments specified by %parse-param while yypstate_new
-       does not.
-       * doc/bison.texinfo (Parser Create Function): Document that
-       yypstate_new returns 0 for multiple impure parser instances.
-       * tests/push.at (Push Parsing: Multiple impure instances): Update
-       expected stderr output.
-
-2008-02-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * runtime-po/POTFILES.in (push.c): Remove.
-
-2008-02-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/Makefile.am (dist_pkgdata_DATA): Remove push.c.
-       * data/push.c: Rename to...
-       * data/yacc.c: ... this, overwriting it.
-       * etc/bench.pl.in (bench_grammar): `%pure-parser'-> `%define api.pure'.
-       `%push-pull-parser' -> `%define api.push_pull "both"'.
-       Remove old yacc.c tests, and update push.c tests to yacc.c.
-
-2008-02-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/bison.m4 (b4_percent_code_get): Output %code block comments like
-       `"%code top" blocks' instead of `%code "top" blocks'.
-       * data/push.c: Import yacc.c changes from 2008-01-09 and 2007-08-03.
-       Clean up whitespace in the output a little.
-
-2008-02-16  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix documentation problems reported by Tim Josling at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00013.html>.
-       * NEWS (2.3a+): Mention removal of --no-parser, -n, and %no-parser.
-       * doc/bison.texinfo (Token Decl): Token numbers are *nonnegative*
-       integers.  Explain the effect of literal string aliases on error
-       messages.  Copy token 0 documentation from the C++ skeleton
-       documentation.
-
-2008-02-16  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Accept a token number in a %left, %right, or %nonassoc for POSIX
-       conformance.  Reported by Tim Josling at
-       <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00010.html>.
-       * NEWS (2.3a+): Mention.
-       * doc/bison.texinfo (Precedence Decl): Describe how literal strings
-       and code numbers are treated by precedence declarations.
-       * src/parse-gram.y (precedence_declaration): Use symbols.prec instead
-       of symbols.1.
-       (symbols.prec): New, just like symbols.1 but uses symbol.prec instead
-       of symbol.
-       (symbol.prec): New, just like symbol but allows INT.
-       * src/symtab.c (symbol_user_token_number_set): Remove an aver that no
-       longer holds.
-       * tests/regression.at (Token number in precedence declaration): New
-       test case.
-
-2008-02-06  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       DJGPP specific issues.
-       * djgpp/config.bat: Add filenames that are not 8.3 clean and that must
-       be changed.  Copyright timestamp adjusted.
-       * djgpp/config.sed: Add filenames that are not 8.3 clean and that must
-       be changed.  Copyright timestamp adjusted.
-       * djgpp/config.site: Copyright timestamp adjusted.
-       * djgpp/config_h.sed: Copyright timestamp adjusted.
-       * djgpp/djunpack.bat: Copyright timestamp adjusted.
-       * djgpp/fnchnage.lst: Add filenames that are not 8.3 clean to the
-       filename translation list.
-       * djgpp/subpipe.c (init_subpipe): Check the environment variables
-       TMPDIR, TMP and TEMP, in that order, to determinate where the temp
-       files shall be created.  Before trying to use the temp dir where the
-       environment variable points to check that the dir really exists. If
-       not default to the cwd as temp dir.  Copyright timestamp adjusted.
-       * djgpp/subpipe.h: Copyright timestamp adjusted.
-       * djgpp/testsuite.sed: Copyright timestamp adjusted.
-
-2008-01-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo: Update Back-Cover text to reflect new GNU wording.
-
-2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (yyparse): Correct the comment when locations aren't used.
-       Problem reported by Claudio Saavedra in
-       <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00003.html>.
-
-2008-01-05  Wojciech Polak  <polak@gnu.org>
-
-       * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Precede an XHTML
-       document's title with the input grammar file name.
-
-2007-12-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Automate regression testing of the XML/XSLT implementation.  Discussed
-       starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-11/msg00021.html>.
-       * configure.ac (XSLTPROC): New substitution.
-       * Makefile.am (maintainer-xml-check): New phony target invoking...
-       * tests/Makefile.am (maintainer-xml-check): ... this new phony target
-       invoking make maintainer-check with BISON_TEST_XML=1.
-       * tests/atlocal.in (XSLTPROC): New.
-       * tests/local.at (AT_BISON_CHECK): New macro to (1) instruct Valgrind
-       not to report reachable memory when Bison is expected to have a
-       non-zero exit status and (2) to compare XML/XSLT output with --graph
-       and --report=all output for every working grammar when
-       BISON_TEST_XML=1.
-       (AT_BISON_CHECK_NO_XML): Likewise, but skip XML checks.
-       (AT_BISON_CHECK_XML): New.
-       (AT_QUELL_VALGRIND): New.
-       * tests/testsuite.at (ORIGINAL_AT_CHECK): Remove this and...
-       (AT_CHECK): ... don't redefine this since this was the old way to
-       quell Valgrind.
-       * tests/actions.at: Rewrite all AT_CHECK invocations for bison as
-       AT_BISON_CHECK invocations.
-       * tests/c++.at: Likewise.
-       * tests/calc.at: Likewise.
-       * tests/conflicts.at: Likewise.
-       * tests/cxx-type.at: Likewise.
-       * tests/existing.at: Likewise.
-       * tests/glr-regression.at: Likewise.
-       * tests/headers.at: Likewise.
-       * tests/input.at: Likewise.
-       * tests/java.at: Likewise.
-       * tests/output.at: Likewise.
-       * tests/push.at: Likewise.
-       * tests/reduce.at: Likewise.
-       * tests/regression.at: Likewise.
-       * tests/sets.at: Likewise.
-       * tests/skeletons.at: Likewise.
-       * tests/synclines.at: Likewise.
-       * tests/torture.at: Likewise.
-       (Big triangle): Use AT_BISON_CHECK_NO_XML instead since this grammar
-       tends to hang xsltproc.
-       (Big horizontal): Likewise.
-
-2007-12-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       In XML output, remove redundant class attribute on symbol element.
-       * data/xslt/bison.xsl (xsl:key name="bison:symbolByName"): New.
-       * data/xslt/xml2xhtml.xsl (xsl:template match="symbol"): Use it to
-       look up a symbol to determine whether it's a nonterminal or terminal.
-       * src/gram.c (rule_rhs_print_xml): Remove class attribute.
-       * src/state.c (state_rule_lookahead_tokens_print_xml): Likewise.
-
-       Add prec/assoc information to XML output.
-       * src/gram.c (grammar_rules_print_xml): For each rule that has a
-       %prec, add a percent_prec attribute.
-       * src/print-xml.c (print_grammar): For each terminal that has a
-       precedence or associativity, add a prec or assoc attribute.
-       (xml_indent): New.
-       (xml_puts): Use xml_indent.
-       (xml_printf): Use xml_indent.
-       * src/print-xml.h (xml_indent): Prototype.
-
-       * tests/existing.at (GNU pic Grammar): Fix a rule miscopied from
-       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
-
-2007-12-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/xslt/bison.xsl (bison:ruleNumber): Rename to...
-       (bison:ruleByNumber): ... this for clarity.
-       * data/xslt/xml2dot.xsl (xsl:template match="item"): Update.
-       * data/xslt/xml2text.xsl (xsl:template match="item"): Update.
-       (xsl:template match="reduction"): Update.
-       (xsl:template match="item"): Update.
-       (xsl:template match="reduction"): Update.
-
-       In the XML output, don't print the list of rules where symbols appear.
-       Compute it in XSLT instead.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00024.html>.
-       * data/xslt/bison.xsl (bison:ruleByLhs): New.
-       (bison:ruleByRhs): New.
-       * data/xslt/xml2text.xsl (xsl:template match="terminal"): Use
-       bison:ruleByRhs.
-       (xsl:template match="terminal/rule"): Remove.
-       (xsl:template match="nonterminal"): Use bison:ruleByLhs and
-       bison:ruleByRhs.
-       (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"):
-       Remove.
-       * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Use
-       bison:ruleByRhs and mode="number-link" for rule template.
-       (xsl:template match="terminal/rule"): Remove.
-       (xsl:template match="nonterminal"): Use bison:ruleByLhs and
-       bison:ruleByRhs and mode="number-link" for rule template.
-       (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"):
-       Rewrite as...
-       (xsl:template match="rule" mode="number-link"): ... this.
-       * src/print-xml.c (print_grammar): Don't print the list of rules.
-
-2007-12-01  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't let --report affect XML output; always print all information.
-       Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00020.html>.
-       * src/conflicts.c (log_resolution): Implement.
-       * src/print-xml.c (print_core): Implement.
-       (print_state): Implement.
-       (print_xml): Implement.
-
-       * NEWS (2.3a+): Fix quotes.
-       * src/parse-gram.y (prologue_declaration): For consistency with -v,
-       don't let %verbose clear the list specified by --report.
-
-2007-11-26  Akim Demaille  <akim@epita.fr>
-
-       * data/Makefile.am (dist_pkgdata_DATA): Ship and install bison.xsl.
-
-2007-11-24  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       In the XML output, list useless and unused symbols and rules with the
-       useful ones and add a "usefulness" attribute.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00017.html>.
-       * src/gram.c (grammar_rules_partial_print_xml): Remove.
-       (grammar_rules_print_xml): Print all rules instead of just those
-       useful in the grammar, and add a "usefulness" attribute.
-       * src/gram.h (grammar_rules_partial_print_xml): Remove prototype.
-       * src/print-xml.c (print_rules_useless_in_parser): Remove.
-       (print_grammar): Print all nonterminals instead of just useful ones,
-       and add a "usefulness" attribute to nonterminals and terminals.
-       (print_xml): Don't print a separate "reductions" or
-       "rules-useless-in-parser" element.
-       * src/reduce.c (reduce_output): Use reduce_token_unused_in_grammar.
-       (reduce_xml): Remove.
-       (reduce_token_unused_in_grammar): New.
-       (reduce_nonterminal_useless_in_grammar): New.
-       * src/reduce.h (reduce_xml): Remove prototype.
-       (reduce_token_unused_in_grammar): Add prototype.
-       (reduce_nonterminal_useless_in_grammar): Add prototype.
-       * data/xslt/xml2text.xsl: Update for XML changes.
-       * data/xslt/xml2xhtml.xsl: Update for XML changes.
-       * tests/reduce.at (Useless Terminals): Update output.
-       (Useless Rules): Update output.
-       (Reduced Automaton): Update output.
-
-       Say "Terminals unused in grammar" instead of "Unused terminals".
-       * NEWS (2.3a+): Update.
-       * doc/bison.texinfo (Understanding): Update example output.
-       * src/reduce.c (reduce_output): Implement.
-       * data/xslt/xml2text.xsl: Implement.
-       * data/xslt/xml2xhtml.xsl: Implement.
-
-2007-11-18  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Accept --report-file=FILE to override the default `.output' filename.
-       * NEWS (2.3a+): Mention.
-       * doc/bison.texinfo (Bison Options): Add an entry.
-       * src/files.c (compute_output_file_names): Don't override
-       spec_verbose_file if already set.
-       * src/getargs.c (usage): Document --report-file.
-       (REPORT_FILE_OPTION): New anonymous enum member.
-       (long_options): Add entry for it.
-       (getargs): Add case for it setting spec_verbose_file.
-
-       * build-aux/cross-options.pl: Don't record a short option just because
-       there's an arg.
-       * doc/.cvsignore: Add yacc.1.
-
-2007-11-14  Akim Demaille  <akim@epita.fr>
-
-       * doc/yacc.1.in: New.
-       * configure.ac, doc/Makefile.am: Adjust.
-       * configure.ac (PACKAGE_COPYRIGHT_YEAR): New substitution, and new
-       config.h symbol.
-       Use AC_SUBST for assignments too.
-       * src/getargs.c (version): Use PACKAGE_COPYRIGHT_YEAR.
-
-2007-11-10  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/gram.c: Remove comments that duplicate comments in gram.h.
-
-       When reporting useless rules and nonterminals, say "useless in grammar"
-       instead of "useless", and say "useless in parser" instead of "never
-       reduced".  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-10/msg00033.html>.
-       * NEWS (2.3a+): Mention this change.
-       * data/xslt/xml2text.xsl: Update output text and expected input XML
-       element names to match changes below.
-       * data/xslt/xml2xhtml.xsl: Likewise.
-       (xsl:template match="bison-xml-report"): Add missing entry in Table of
-       Contents: "Rules useless in parser due to conflicts".
-       * doc/bison.texinfo (Decl Summary): Reword a little.
-       (Understanding): Update example output for changes below.
-       * src/gram.c: (rule_useful_p): Rename to...
-       (rule_useful_in_grammar_p): ... this.
-       (rule_useless_p): Rename to...
-       (rule_useless_in_grammar_p): ... this.
-       (rule_never_reduced_p): Rename to...
-       (rule_useless_in_parser_p): ... this.
-       (grammar_rules_print): Update for renames.
-       (grammar_rules_print_xml): Update for renames.
-       (grammar_rules_never_reduced_report): Rename to...
-       (grammar_rules_useless_report): ... this since it is used for either
-       kind of useless rule.
-       * src/gram.h: Reword comments and update function names in prototypes.
-       * src/main.c (main): Say "rule useless in parser due to conflicts".
-       * src/print-xml.c (print_rules_never_reduced): Rename to...
-       (print_rules_useless_in_parser): ... this, and rename output XML
-       element "rules-never-reduced" to "rules-useless-in-parser".
-       (print_xml): Update for rename.
-       * src/print.c (print_results): Say "Rules useless in parser due to
-       conflicts".
-       * src/reduce.c (reduce_grammar_tables): Say "rule useless in grammar".
-       (nonterminals_reduce): Say "nonterminal useless in grammar".
-       (reduce_output): Say "Nonterminals useless in grammar".
-       Say "Rules useless in grammar".
-       (reduce_xml): Rename output XML element "useless" to
-       "useless-in-grammar".
-       (reduce_print): Don't report the count of grammatically useless rules
-       as "rules never reduced" just because %yacc is specified.
-       In the correct report of this count, say nonterminal(s) and rule(s)
-       "useless in grammar".
-       * tests/conflicts.at (S/R in initial): Update expected output.
-       (Defaulted Conflicted Reduction): Likewise.
-       (Unreachable States After Conflict Resolution): Likewise.
-       * tests/existing.at (GNU pic Grammar): Likewise.
-       * tests/reduce.at (Useless Nonterminals): Likewise.
-       (Useless Rules): Likewise.
-       (Reduced Automaton): Likewise.
-       (Underivable Rules): Likewise.
-       (Empty Language): Likewise.
-
-2007-11-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/bison.m4 (b4_cat): Put a newline after the end delimiter of the
-       here document and before the EOF so that BSD's implementation of Bourne
-       shell doesn't parse the delimiter as part of the here document.
-       * doc/.cvsignore: Add cross-options.texi.
-       * src/getargs.c (usage): Add a blank line after the warning categories.
-
-2007-11-08  Paolo Bonzini  <bonzini@gnu.org>
-
-       * data/lalr1.java (Lexer): Remove usage of b4_pure_if.
-
-2007-11-05  Akim Demaille  <akim@epita.fr>
-
-       Remove Id: from bison.1.
-       * doc/Makefile.am (remove_time_stamp): Include the sed invocation.
-       (perl -0777 -pi -e 's/\.PP\nId): New.
-       (.x.1): Use it to ignore the version control revision.
-
-2007-11-05  Akim Demaille  <demaille@gostai.com>
-
-       * build-aux/Makefile.am: Ship cross-options.pl.
-       * doc/Makefile.am: Always refer to cross-options.texi with
-       $(srcdir).
-       (MAINTAINERCLEANFILES): Add it.
-
-2007-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Generate the long/short option cross-table.
-       * build-aux/cross-options.pl: New.
-       * doc/Makefile.am (cross-options.texi): New.
-       * doc/bison.texinfo: Use it.
-
-2007-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Generate bison.1 using help2man.
-       * doc/common.x, doc/bison.x: New.
-       * doc/Makefile.am (bison.1, .x.1): New.
-       The code is taken from autoconf-2.61/man/Makefile.am.
-       * configure.ac: Look for help2man.
-
-2007-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Complete --help.
-       * src/getargs.c (usage): Document -W, make it clear that -d,
-       -g and -x have optional arguments.
-
-2007-11-04  Akim Demaille  <demaille@gostai.com>
-
-       Find sha1sum when named gsha1sum.
-       * bootstrap (find_tool): New.
-       ($SHA1SUM): New.
-
-2007-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Deprecate %pure-parser and add `%define api.pure'.  Discussed starting
-       at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00006.html>.
-       * NEWS (2.3a+): Mention.
-       * data/bison.m4 (b4_pure_if): Don't define it here.
-       * data/c.m4 (b4_identification): Depend on individual skeletons to
-       define b4_pure_flag, b4_push_flag, or b4_pull_flag if they use the
-       values of the %define variables api.pure or api.push_pull.  Define
-       YYPURE, YYPUSH, and YYPULL accordingly.
-       * data/glr.c: Define b4_pure_if based on `%define api.pure' unless
-       glr.cc has already defined b4_pure_flag.
-       * data/push.c: Define b4_pure_if based on `%define api.pure'.
-       Remove YYPUSH and YYPULL since they're back in b4_identification again.
-       * data/yacc.c: Define b4_pure_if based on `%define api.pure'.
-       * doc/bison.texinfo (Pure Decl): Update.
-       (Push Decl): Update.
-       (Decl Summary): Add api.pure to %define entry.
-       In %pure-parser entry, say it's deprecated and reference %define.
-       (Pure Calling): Update.
-       (Error Reporting): Update.
-       (C++ Scanner Interface): Update.
-       (How Can I Reset the Parser): Update.
-       (Table of Symbols): In %pure-parser entry, say it's deprecated and
-       reference %define.
-       * src/getargs.c (pure_parser): Remove global variable.
-       * src/getargs.h (pure_parser): Remove extern.
-       * src/output.c (prepare): Don't define pure_flag muscle.
-       * src/parse-gram.y (prologue_declaration): Implement %pure-parser as a
-       wrapper around `%define api.pure'.
-       * tests/calc.at (Simple LALR Calculator): Update.
-       (Simple GLR Calculator): Update.
-       * tests/cxx-type.at (GLR: Resolve ambiguity, pure, no locations):
-       Update.
-       (GLR: Resolve ambiguity, pure, locations): Update.
-       (GLR: Merge conflicting parses, pure, no locations): Update.
-       (GLR: Merge conflicting parses, pure, locations): Update.
-       * tests/glr-regression.at (Uninitialized location when reporting
-       ambiguity): Update
-       * tests/input.at (Unused %define api.pure): New test case.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Update definition for
-       AT_PURE_IF and AT_PURE_AND_LOC_IF.
-       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update.
-
-2007-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       %define push_pull -> %define api.push_pull.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00005.html>.
-       * data/push.c: Expect the new name.
-       * data/yacc.c: Likewise.
-       * doc/bison.texinfo (Push Decl): Update.
-       (Decl Summary): Update %define entry.
-       (Push Parser Function): Update.
-       (Pull Parser Function): Update.
-       (Parser Create Function): Update.
-       (Parser Delete Function): Update.
-       * tests/calc.at (Simple LALR Calculator): Update.
-       * tests/input.at (%define enum variables): Update.
-       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update.
-       (Push Parsing: Multiple impure instances): Update.
-       (Push Parsing: Unsupported Skeletons): Update.
-       * tests/torture.at (Exploding the Stack Size with Alloca): Update.
-       (Exploding the Stack Size with Malloc): Update.
-
-       * NEWS (2.3a+): Add an entry for the push parser, and clean up the
-       other entries some.
-
-2007-10-27  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       For the XML output's terminal element, rename @number to @token-number,
-       and add @symbol-number.  In the nonterminal element, rename @number to
-       @symbol-number.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-10/msg00040.html>.
-       * data/xslt/xml2text.xsl (xsl:template match="terminal"): Update for
-       renames.
-       (xsl:template match="nonterminal"): Likewise.
-       * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Likewise.
-       (xsl:template match="nonterminal"): Likewise.
-       * src/print-xml.c (print_grammar): Implement.
-
-2007-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/xslt/xml2dot.xsl (xsl:template match="automaton/state"): After
-       2007-10-11 change, the child elements here are items not rules.
-       (xsl:template match="item"): New.
-       (xsl:template match="rule"): Update for new reduced itemset.
-       (xsl:template match="point"): Remove.
-       (xsl:template match="empty"): For consistency with --graph, don't
-       output "/* empty */".
-       * data/xslt/xml2text.xsl (xsl:template match="terminal"): When invoking
-       line-wrap, don't pass a negative value as first-line-length since this
-       won't work with the following changes.
-       (xsl:template name="line-wrap"): Simplify slightly.
-       (xsl:template name="ws-search"): Eliminate recursion.
-       * src/print_graph.c (print_core): Don't print a reduction's lookahead
-       set next to an item whose dot is not at the end of the RHS even if it
-       happens to be associated with the same rule.
-
-2007-10-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Add %define lr.keep_unreachable_states.
-       * NEWS (2.3a+): Mention it in the entry for unreachable state removal.
-       * doc/bison.texinfo (Decl Summary): Mention it in the %define entry.
-       * src/main.c (main): Implement it.
-       * tests/conflicts.at (Unreachable States After Conflict Resolution):
-       Extend to test it, and fix a typo.
-
-2007-10-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS (2.3a+): Add entry for recent .output file lookahead set fix.
-       * doc/bison.texinfo (Understanding): Remove a bogus lookahead set in
-       the example .output text.
-       * tests/regression.at (Extra lookahead sets in report): Improve wording
-       of comments.
-
-2007-10-17  Wojciech Polak  <polak@gnu.org>
-
-       * src/print-xml.c (print_grammar): Renamed
-       <terminal> and <nonterminal> attributes:
-       "type" to "number" and "symbol" to "name".
-       * data/xslt/xml2text.xsl (xsl:template match="terminal"):
-       Use new attribute names.
-       (xsl:template match="nonterminal"): Likewise.
-       * data/xslt/xml2xhtml.xsl: Likewise.
-
-2007-10-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * doc/bison.texinfo (Bison Options): Add entry for --print-datadir.
-       (Option Cross Key): Likewise.
-
-       * src/print-xml.c (print_core): Don't print a reduction's lookahead set
-       next to an item whose dot is not at the end of the RHS even if it
-       happens to be associated with the same rule.
-       * src/print.c (print_core): Likewise.
-       * tests/conflicts.at (Unresolved SR Conflicts): Update output.
-       (Resolved SR Conflicts): Update output.
-       * tests/regression.at (Extra lookahead sets in report): New test case.
-
-2007-10-11  Wojciech Polak  <polak@gnu.org>
-
-       * src/print-xml.c (print_core): Remove item set
-       redundancy.
-       * data/xslt/bison.xsl (bison:ruleNumber): New key.
-       Improve processing time. Suggested by Joel E. Denny.
-       * data/xslt/xml2dot.xsl (xsl:template name="escape"):
-       Write xsl:param "required" attribute as comment.
-       * data/xslt/xml2text.xsl (xsl:template match="item"): New.
-       (xsl:template match="rule"): Support new reduced itemset.
-       (xsl:template match="point"): Remove.
-       * data/xslt/xml2xhtml.xsl: Likewise.
-
-2007-10-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/getargs.c (version): Update copyright year.
-
-2007-10-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Make xml2dot.xsl and --graph produce the same output.
-       * data/xslt/xml2dot.xsl (xsl:template match="rule"): Use a `&#10;'
-       instead of a `\n'.  That is, don't add escapes yet or they'll be doubly
-       escaped later.
-       (xsl:template name="output-node"): Use the new escape template instead
-       of the string-replace template directly.
-       (xsl:template name="output-edge"): Likewise.
-       (xsl:template name="escape"): New, escapes backslashes and newlines in
-       addition to quotation marks.
-       * src/graphviz.c (start_graph, output_node, output_edge): Add
-       whitespace to output for legibility.
-
-       Make xml2text.xsl and --report produce the same output, and remove the
-       XML "conflicts" element since a conflict summary is easily extracted
-       from the automaton.
-       * data/xslt/bison.xsl: New.
-       (xsl:template match="state" mode="bison:count-conflicts): New.
-       * data/xslt/xml2text.xsl: Import bison.xsl.
-       (xsl:template match="bison-xml-report"): Instead of styling the
-       "conflicts" element, style the "automaton" element with mode
-       "conflicts".  Unlike the former, the latter lists S/R and R/R
-       conflicts for a state on the same line.
-       (xsl:template match="conflicts"): Remove.
-       (xsl:template match="conflict"): Remove.
-       (xsl:template match="terminal"): Line-wrap the list of rules in which
-       the terminal is used.
-       (xsl:template match="nonterminal"): Likewise for nonterminals.
-       (xsl:template match="automaton" mode="conflicts"): New.
-       (xsl:template match="state" mode="conflicts"): New.
-       (xsl:template name="line-wrap"): New.
-       (xsl:template name="ws-search"): New.
-       * data/xslt/xml2xhtml.xsl: Import bison.xsl.
-       (xsl:template match="bison-xml-report"): Instead of styling the
-       "conflicts" element, style the "automaton" element with mode
-       "conflicts."
-       (xsl:template match="conflicts"): Remove.
-       (xsl:template match="conflict"): Remove.
-       (xsl:template match="automaton" mode="conflicts"): New.
-       (xsl:template match="state" mode="conflicts): New.
-       * src/conflicts.c (conflicts_output_xml): Remove.
-       * src/conflicts.h (conflicts_output_xml): Remove prototype.
-       * src/print-xml.c (print_xml): Don't invoke conflicts_output_xml.
-       * src/print.c (print_grammar): Consistently wrap at the 66th column so
-       the corresponding XSLT is easier.  Also, never wrap between a word and
-       the comma that follows it.
-
-2007-10-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Improve C++ namespace support.  Discussed starting at
-       <http://lists.gnu.org/archive/html/help-bison/2007-09/msg00016.html>.
-       * data/c++.m4: (b4_namespace_ref, b4_namespace_open,
-       b4_namespace_close): New macros that interpret the %define variable
-       "namespace" so its value can contain "::" to indicate nested
-       namespaces.
-       * data/glr.cc (b4_namespace): Don't define, and replace all uses with
-       the above macros.
-       * data/lalr1.cc (b4_namespace): Likewise.
-       * data/location.cc (b4_namespace): Likewise.
-       * doc/bison.texinfo (Decl Summary): Move `%define push_pull' entry
-       inside a new table in the general %define entry.  Document `%define
-       namespace' there as well.  Point the %name-prefix entry to it since it
-       explains it more completely in the case of C++.
-       (C++ Bison Interface): Mention `%define namespace' instead of
-       %name-prefix.
-       (Table of Symbols): Remove the `%define push_pull' entry.  The %define
-       entry suffices.
-       * tests/c++.at (Relative namespace references): New test case.
-       (Absolute namespace references): New test case.
-       (Syntactically invalid namespace references): New test case.
-       * tests/input.at (C++ namespace reference errors): New test case.
-
-2007-10-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Add syncline support and location accessor to internal %define
-       interfaces.
-       * data/bison.m4 (b4_percent_define_get_loc): New.
-       (b4_percent_define_get_syncline): New.
-       (b4_percent_define_flag_if): Use b4_percent_define_get_loc.
-       (b4_percent_define_default): Record defining location as line 1 rather
-       than 0 for the sake of synchronizing #line's, and define
-       b4_percent_define_syncline(VARIABLE).
-       (b4_percent_define_check_values): Use b4_percent_define_get_loc.
-       * src/muscle_tab.c (muscle_syncline_grow): New.
-       (muscle_code_grow): Use muscle_syncline_grow.
-       (muscle_percent_define_insert): Use muscle_percent_define_get_loc, and
-       define b4_percent_define_syncline(VARIABLE).
-       (muscle_percent_define_get_loc): New.
-       (muscle_percent_define_get_syncline): New.
-       (muscle_percent_define_flag_if): Use muscle_percent_define_get_loc, and
-       remove some unused variables.
-       (muscle_percent_define_default): Record defining location as line 1
-       rather than 0 for the sake of synchronizing #line's, and define
-       b4_percent_define_syncline(VARIABLE).
-       (muscle_percent_define_check_values): Use
-       muscle_percent_define_get_loc.
-       * src/muscle_tab.h (muscle_percent_define_get_loc): Prototype.
-       (muscle_percent_define_get_syncline): Prototype.
-       * tests/skeletons.at (%define Boolean variables: invalid skeleton
-       defaults): Update output for location change.
-       (Complaining during macro argument expansion): Extend to test
-       b4_percent_define_get_loc and b4_percent_define_get_syncline errors.
-
-2007-10-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix some error-reporting macro bugs.
-       * data/bison.m4 (b4_cat): New.
-       (b4_error, b4_error_at): Use b4_cat to send error directives directly
-       to stdout so they don't become arguments to other macros.  Update
-       comments and add examples.
-       (b4_warn, b4_warn_at, b4_complain, b4_complain_at): Update comments and
-       add examples.
-       (b4_fatal, b4_fatal_at): Likewise, and invoke m4_exit(1) immediately
-       after printing the error directive so that M4 doesn't report subsequent
-       problems that are induced by this problem.
-       * src/scan-skel.l: Recognize @` digraph outside of directive arguments
-       instead of just in them.  Recognize @\n in both places.  Both expand to
-       the empty string.  Needed by b4_cat.
-       * tests/skeletons.at (Complaining during macro argument expansion):
-       New test case.
-       (Fatal errors make M4 exit immediately): New test case.
-
-2007-10-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Implement --print-datadir.
-       * src/getargs.c (usage): Mention.
-       (PRINT_DATADIR_OPTION): New anonymous enum member.
-       (long_options): Add entry for it.
-       (getargs): Add case for it calling compute_pkgdatadir.
-       * src/output.c (output_skeleton): Encapsulate data directory
-       computation from here...
-       (prepare): ... and from here...
-       (compute_pkgdatadir): ... into this new function.
-       * src/output.h (compute_pkgdatadir): Prototype.
-
-2007-09-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/print-xml.c (escape_bufs): New static global variable
-       replacing...
-       (xml_escape_n): ... the static local variable buf here.
-       (print_xml): Free memory for escape_bufs.
-       * src/reduce.c (reduce_xml): XML-escape terminal symbol tags.
-
-2007-09-25  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Replace `%push-parser' and `%push-pull-parser' with
-       `%define push_pull "push"' and `%define push_pull "both"'.
-       `%define push_pull "pull"' is the default.
-       * doc/bison.texinfo (Push Decl, Push Parser Function,
-       Pull Parser Function, Parser Create Function, Parser Delete Function):
-       Update declarations.
-       (Decl Summary, Table of Symbols): Replace %push-parser and
-       %push-pull-parser entries with a %define push_pull entry.
-       * data/bison.m4 (b4_percent_define_check_values): New macro.
-       (b4_pull_if, b4_push_if, b4_use_push_for_pull_if): Move these
-       definitions...
-       * data/c.m4 (b4_identification): ... and the YYPUSH and YYPULL cpp
-       definitions...
-       * data/push.c: ... to here and compute them from the value of the
-       %define variable push_pull.
-       * data/c-skel.m4: Instead of choosing the push.c skeleton for push
-       parsing requests here...
-       * data/yacc.c: ... hack this to switch to push.c any time
-       b4_use_push_pull_flag or the %define variable push_pull is set.  This
-       will go away when we mv push.c yacc.c.
-       * data/c++-skel.m4, data/glr.c, data/java-skel.m4: Don't report that
-       push parsing is not supported since unused %define variables are
-       reported anyway.
-       * src/getargs.c, src/getargs.h (pull_parser, push_parser): Remove.
-       * src/muscle_tab.h (muscle_percent_define_check_values): Update
-       comments for consistency with b4_percent_define_check_values.
-       * src/output.c (prepare): Don't insert b4_pull_flag and b4_push_flag
-       muscles.
-       * src/parse-gram.y (PERCENT_PUSH_PARSER, PERCENT_PUSH_PULL_PARSER):
-       Remove.
-       (prologue_declaration): Remove %push-parser and %push-pull-parser
-       rules.
-       * src/scan-gram.l (%push-parser, %push-pull-parser): Remove rules.
-       * tests/calc.at: Update declarations.
-       * tests/input.at (%define enum variables): New test case.
-       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update
-       declaration.
-       (Push Parsing: Multiple impure instances): Update declaration.
-       (Push Parsing: Unsupported Skeletons): New test case.
-       * tests/torture.at (Exploding the Stack Size with Alloca): Update
-       declaration.
-       (Exploding the Stack Size with Malloc): Update declaration.
-
-2007-09-24  Wojciech Polak  <polak@gnu.org>
-
-       Add XSLT transformations.
-
-       * data/xslt/xml2dot.xsl: Transform XML into DOT.
-       * data/xslt/xml2text.xsl: Transform XML into plain text.
-       * data/xslt/xml2xhtml.xsl: Transform XML into XHTML.
-       * data/Makefile.am (xsltdir): New variable.
-       (dist_xslt_DATA): Add xslt/*.xsl files.
-
-2007-09-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/conflicts.c (log_resolution): Fix indenting bugs I introduced.
-       Problem reported by Wojciech Polak.
-       * src/print-xml.c (xml_puts): Work even if LEVEL exceeds INT_MAX/2.
-       (xml_printf): Undo change I made on 21 September; that is,
-       indent 2 spaces, not 1.
-
-2007-09-23  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Pacify ./configure --enable-gcc-warnings.
-       * src/print-xml.c, src/print-xml.h (xml_puts): Make third argument
-       `char const *' instead of `char *'.
-       * src/state.c (state_rule_lookahead_tokens_print_xml): Remove unused
-       local variable `sep'.
-
-2007-09-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/gram.c (rule_rhs_print_xml): Now static, since it isn't used
-       elsewhere.
-       * src/print-xml.c: Prefer "const" after types; that's more consistent.
-       (xml_printf): Indent just 1 space for level.
-       (e_char, xlate_char): Remove.
-       (xml_escape_string): Rewrite to avoid undefined behavior (used
-       storage that was freed from the stack).
-       (xml_escape_n): Don't bother checking for subscript error.
-
-2007-09-21  Wojciech Polak  <polak@gnu.org>
-
-       Add Bison XML Automaton Report.
-
-       Add support for an -x option to generate an XML report.
-       It is not documented yet.
-       * src/print-xml.c: New file.
-       * src/print-xml.h: Likewise.
-       * lib/timevar.def (TV_XML): New var.
-       * src/Makefile.am (bison_SOURCES): Add print-xml.c, print-xml.h.
-       * src/conflicts.c: Include print-xml.h.
-       (solved_conflicts_xml_obstack): New var.
-       (log_resolution, conflicts_solve, conflicts_free):
-       Add support for XML report.
-       (conflicts_output_val): New function.
-       * src/conflicts.h (conflicts_output_val): New decl.
-       * src/files.c (spec_xml_file): New var.
-       (compute_output_file_names, output_file_names_free): Add XML support.
-       * src/files.h (spec_xml_file): New decl.
-       * src/getargs.c (xml_flag): New var.
-       (usage, short_options, long_options, getargs): Add XML support.
-       * src/getargs.h (xml_flag): New decl.
-       * src/gram.c: Include print-xml.h.
-       (rule_lhs_print_xml, rule_rhs_print_xml):
-       (grammar_rules_partial_print_xml, grammar_rules_print_xml):
-       New functions.
-       * src/gram.h: Declare external ones.
-       * src/main.c: Include print-xml.h.
-       (main): Add XML support.
-       * src/reduce.c: Include print-xml.h.
-       (reduce_xml): New function.
-       * src/reduce.h: Declare it.
-       * src/state.c: Include print-xml.h.
-       (state_new): Add XML support.
-       (state_rule_lookahead_tokens_print_xml): New function.
-       * src/state.h: Declare it.
-       (struct state): New member solved_conflicts_xml.
-       * src/symtab.c (symbol_class_get_string): New function.
-       * src/symtab.h: Declare it.
-
-2007-09-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * GNUmakefile: Switch to coreutils's version.
-       * bootstrap: Likewise.
-       * Makefile.cfg: Adjust to new GNUmakefile.
-       * README-hacking: Likewise.
-
-       Import from gnulib:
-
-       2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
-                   Bruno Haible  <bruno@clisp.org>
-
-       * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
-       and is a script that invokes bison. Tighten the code. Add comments.
-
-2007-08-28  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Spell "boolean" as "Boolean".  Reported by Akim Demaille.
-       * data/bison.m4 (b4_percent_define_flag_if): Fix complaint.
-       * doc/bison.texinfo (Decl Summary): Fix.
-       * src/muscle_tab.c (muscle_percent_define_flag_if): Fix complaint.
-       * tests/input.at (Boolean %define variables): Update output.
-       * tests/skeletons.at (%define boolean variables: invalid skeleton
-       defaults): Rename to...
-       (%define Boolean variables: invalid skeleton defaults): ... this and
-       update output.
-
-2007-08-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       In impure push mode, don't allow more than one yypstate to be allocated
-       since multiple impure parsers would corrupt yynerrs.
-       * data/push.c (yypstate_allocated): New static global variable
-       initialized to 0.
-       (yypull_parse): If yypstate_new returns 0, don't report it as memory
-       exhaustion if yypstate_allocated is 1, but still return 2.
-       (yypstate_new): Invoke yyerror and return 0 if yypstate_allocated is
-       already 1.  Otherwise, set it to 1.
-       (yypstate_delete): Set it to 0.
-       * tests/push.at (Push Parsing: Multiple impure instances): New test
-       case.
-
-2007-08-17  Bob Rossi  <bob@brasko.net>
-
-       * doc/bison.texinfo (Push Decl): Document the push parser.
-       (Table of Symbols): Ditto.
-       (Pure Decl): Ditto.
-       (Decl Summary): Ditto.
-       (Multiple Parsers, Push Parser Function, Pull Parser Function,
-       Parser Create Function, Parser Delete Function):
-       Add new push parser symbols.
-       (Table of Symbols): Document push-parser, push-pull-parser,
-       yypush_parse, yypull_parse, yypstate_new and yypstate_delete.
-
-2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Update to GPLv3.
-       * doc/gpl-3.0.texi: New file.
-       * doc/gpl.texi: Remove.
-       * COPYING, GNUmakefile, HACKING, Makefile.am, Makefile.cfg:
-       * Makefile.maint, NEWS, PACKAGING, README, README-alpha:
-       * README-hacking, TODO, bootstrap, bootstrap.conf:
-       * configure.ac, data/Makefile.am, data/README, data/bison.m4:
-       * data/c++-skel.m4, data/c++.m4, data/c-skel.m4, data/c.m4:
-       * data/glr.c, data/glr.cc, data/java-skel.m4, data/java.m4:
-       * data/lalr1.cc, data/lalr1.java, data/location.cc:
-       * data/push.c, data/yacc.c, data/m4sugar/m4sugar.m4:
-       * djgpp/Makefile.maint, djgpp/README.in, djgpp/config.bat:
-       * djgpp/config.sed, djgpp/config.site, djgpp/config_h.sed:
-       * djgpp/djunpack.bat, djgpp/subpipe.c, djgpp/subpipe.h:
-       * djgpp/testsuite.sed, doc/Makefile.am, doc/bison.texinfo:
-       * doc/fdl.texi, doc/refcard.tex, etc/Makefile.am, etc/README:
-       * etc/bench.pl.in, examples/Makefile.am, examples/extexi:
-       * examples/calc++/Makefile.am, lib/Makefile.am, lib/abitset.c:
-       * lib/abitset.h, lib/bbitset.h, lib/bitset.c, lib/bitset.h:
-       * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c:
-       * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h:
-       * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c:
-       * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h:
-       * lib/libiberty.h, lib/main.c, lib/subpipe.c, lib/subpipe.h:
-       * lib/timevar.c, lib/timevar.def, lib/timevar.h:
-       * lib/vbitset.c, lib/vbitset.h, lib/yyerror.c:
-       * m4/c-working.m4, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4:
-       * m4/timevar.m4, src/LR0.c, src/LR0.h, src/Makefile.am:
-       * src/assoc.c, src/assoc.h, src/closure.c, src/closure.h:
-       * src/complain.c, src/complain.h, src/conflicts.c:
-       * src/conflicts.h, src/derives.c, src/derives.h, src/files.c:
-       * src/files.h, src/flex-scanner.h, src/getargs.c:
-       * src/getargs.h, src/gram.c, src/gram.h, src/graphviz.c:
-       * src/lalr.c, src/lalr.h, src/location.c, src/location.h:
-       * src/main.c, src/muscle_tab.c, src/muscle_tab.h:
-       * src/nullable.c, src/nullable.h, src/output.c, src/output.h:
-       * src/parse-gram.c, src/parse-gram.h, src/parse-gram.y:
-       * src/print.c, src/print.h, src/print_graph.c:
-       * src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c:
-       * src/reduce.h, src/relation.c, src/relation.h:
-       * src/revision.h, src/scan-code.h, src/scan-code.l:
-       * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h:
-       * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c:
-       * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h:
-       * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h:
-       * tests/Makefile.am, tests/actions.at, tests/c++.at:
-       * tests/calc.at, tests/conflicts.at, tests/cxx-type.at:
-       * tests/existing.at, tests/glr-regression.at:
-       * tests/headers.at, tests/input.at, tests/java.at:
-       * tests/local.at, tests/output.at, tests/push.at:
-       * tests/reduce.at, tests/regression.at, tests/sets.at:
-       * tests/skeletons.at, tests/synclines.at, tests/testsuite.at:
-       * tests/torture.at:
-       Update to GPLv3.
-
-2007-08-11  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Get rid of broken %no-parser, -n, and --no-parser implementation and
-       documentation.
-       * TODO: Don't mention them.
-       * doc/bison.1: Likewise.
-       * doc/bison.texinfo (Decl Summary): Likewise.
-       (Bison Options): Likewise.
-       (Option Cross Key): Likewise.
-       * src/getargs.c (no_parser_flag): Remove global variable.
-       (usage): Don't print description of -n and --no-parser.
-       (long_options): Remove --no-parser entry here.
-       (getargs): Remove -n case in the switch here.
-       * src/getargs.h (no_parser_flag): Remove extern.
-       * tests/regression.at (Web2c Actions): Remove comment that mentions
-       --no-parser.
-
-2007-08-11  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Do not
-       name user variables starting with `yy'.  Just pass NULL instead of a
-       dummy local &yylval to yypush_parse.
-       * tests/torture.at (AT_DATA_STACK_TORTURE): Do not name user variables
-       starting with `yy'.
-
-2007-08-03  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/yacc.c (yyexhaustedlab): Define it when YYERROR_VERBOSE is
-       true since it's then always used regardless of whether yyoverflow is
-       defined.  Reported by Christian Burger at
-       <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00031.html>.
-       * THANKS: Add Christian Burger.
-
-       * ChangeLog: For changes in doc/bison.texinfo, consistently reference
-       node names: say "Decl Summary" not "Bison Declaration Summary".
-
-2007-07-28  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/muscle_tab.c (muscle_percent_define_flag_if): In order to
-       determine whether this function has already complained about an invalid
-       value for a %define boolean variable, don't check whether Bison has
-       ever examined the value.  As written, the check was a tautology.
-       Instead, record and check for this complaint using a separate muscle.
-
-2007-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix push parsing memory leak reported by Brandon Lucia at
-       <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00032.html>.
-       * THANKS: Add Brandon Lucia.
-       * data/push.c (yypstate_delete): Free the stack if it was reallocated
-       but the parse never completed and thus freed it.
-       * tests/Makefile.am (TESTSUITE_AT): Add push.at.
-       * tests/testsuite.at: Include push.at.
-       * test/push.at: New.
-       (Push Parsing: Memory Leak for Early Deletion): New test case.
-
-2007-07-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Improve handling of multiple S/R conflicts in the same state and of S/R
-       conflicts involving multiple reductions.
-       * src/conflicts.c (resolve_sr_conflict): Don't assign the error action
-       set for a state here or Bison will abort if it is reassigned on a
-       later conflicted reduction in the same state.
-       Similarly, don't finalize and assign the solved conflicts report here
-       or it will be lost if it is reassigned on a later conflicted reduction
-       in the same state.
-       (set_conflicts): Instead, assign them both here after all S/R conflicts
-       in the state have been fully examined.
-       * src/print.c (shift_set): Rename to...
-       (no_reduce_set): ... this.
-       (print_reductions): Update for rename, and add %nonassoc error action
-       tokens to no_reduce_set so that, when printing the first remaining
-       reduction on an error action token, the reduction is enclosed in
-       brackets.
-       (print_results): Update for rename.
-       * tests/conflicts.at (Solved conflicts report for multiple reductions
-       in a state): New test case.
-       (%nonassoc error actions for multiple reductions in a state): New test
-       case.
-
-       * src/main.c (main): Don't depend on C99 features.
-
-2007-07-16  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * build-aux/.cvsignore: Add compile.
-       * lib/.cvsignore: Add charset.alias, ref-add.sed, ref-del.sed, and
-       uniwidth.
-
-2007-07-10  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * bootstrap (slurp): Create target directories that don't exist.
-       Specifically, we need lib/uniwidth/ because of recent Gnulib changes.
-
-2007-07-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * LR0.c (new_itemsets): Fix wording in comments: say item index rather
-       than item number.
-       * closure.c (closure): Likewise.
-       * state.h (reductions): Comment sorting of rules.
-       (state): Comment sorting of items.
-
-2007-07-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix C++ test cases after recent Gnulib changes.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00000.html>.
-       * examples/calc++/Makefile.am (DEFAULT_INCLUDES): Override Automake's
-       definition in order to avoid Gnulib headers since we don't use config.h
-       here.
-       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Use AT_DATA_GRAMMAR
-       rather than AT_DATA so that config.h is included.
-
-2007-07-01  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/glr.c (yy_yypstack, yypstates, yypdumpstack): Use YYFPRINTF
-       instead of fprintf.  Guard these functions with #if YYDEBUG instead of
-       #ifdef YYDEBUG for consistency with all other uses of YYDEBUG in Bison
-       and so that YYFPRINTF is guaranteed to be defined here.
-
-2007-05-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/muscle_tab.c (muscle_percent_define_invalid_value): Replace
-       with...
-       (muscle_percent_define_check_values): ... this more helpful function.
-       Again, it's not used yet, but it will be.
-       * src/muscle_tab.h: Likewise.
-
-       Improve some comments in parser table construction.
-       * src/LR0.c (new_itemsets): Explain sorting of itemset and kernel_base.
-       (generate_states): Don't mention ruleset, which is internal to closure.
-       * src/closure.c (closure): Explain sorting of core and itemset, which
-       is required for this function to behave correctly.
-       * src/closure.h (closure): Mention sorting.
-
-2007-05-28  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/lalr.c (state_lookahead_tokens_count): For code readability,
-       move the check for disabled transitions to an aver since conflict
-       resolution hasn't happened yet.
-
-       * src/lalr.c (state_lookahead_tokens_count): Remove the check that
-       labels a state as inconsistent just because it has error transitions.
-       The original form of this check appeared in revision 1.1 of lalr.c,
-       which was committed on 1991-12-21.  Now (at least), changing the
-       consistency label on such a state appears to have no useful effect in
-       any of the places it is examined, which I enumerate below.  The key
-       point to understanding each item in this enumeration is that a state
-       with an error transition is labelled consistent in the first place only
-       if it has no rules, so the check cannot matter for states that have
-       rules.  (1) Labelling a state as inconsistent will cause set_conflicts
-       to try to identify its conflicts, and a state must have *rules* to have
-       conflicts.  (2) Labelling a state as inconsistent will affect how
-       action_row sets the default *rule* for the state.  (3) Labelling a
-       state as inconsistent will cause build_relations to add lookback edges
-       to *rules* in that state.
-       * src/state.h (struct state): Word the comment for member consistent
-       more carefully.
-
-2007-05-27  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't depend on C99 features.
-       * src/conflicts.c (conflicts_update_state_numbers): Fix for-loop.
-       * src/lalr.c (lalr_update_state_numbers): Fix for-loop.
-       * src/reader.c (check_and_convert_grammar): Fix for-loop.
-       * src/state.c (state_mark_reachable_states): Fix for-loop.
-       (state_remove_unreachable_states): Fix for-loop.
-
-       Don't widen struct state with member reachable just to temporarily
-       record reachability.  Instead, use a local bitset.
-       * src/state.h (struct state): Remove member.
-       * src/state.c (state_new): Don't initialize it.
-       (state_mark_reachable_states): Rename to...
-       (state_record_reachable_states): ... this, and use bitset.
-       (state_remove_unreachable_states): Use bitset.
-
-2007-05-26  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/Makefile.am (yacc): Quote target action commands properly so
-       that the yacc script isn't corrupt.  Reported by Hans Aberg at
-       <http://lists.gnu.org/archive/html/bug-bison/2007-05/msg00003.html>.
-
-       * data/glr.c (yylval): As in yacc.c, don't extern in the header for
-       the case of pure parsers.  Reported by Frans Englich at
-       <http://lists.gnu.org/archive/html/help-bison/2007-05/msg00018.html>.
-       * THANKS: Add Frans Englich.
-
-       * NEWS (2.3a+): In the %code entry, reference section `Bison
-       Declaration Summary' from the manual now since the %code summary has
-       moved there.
-       * doc/bison.texinfo (Prologue Alternatives): Mention that directives
-       in the rules section must be terminated by semicolons.
-
-2007-05-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Extend the front-end API for %define variables to more completely
-       mirror the back-end.  This will be useful in the future.
-       * data/bison.m4 (b4_percent_define_get, b4_percent_define_ifdef):
-       Update comments to mention the new front-end counterparts of these
-       macros.
-       * src/muscle_tab.c (MUSCLE_COMMON_DECODE): New macro with common code
-       for muscle_string_decode and muscle_location_decode.
-       (muscle_string_decode): New static function.
-       (muscle_location_decode): Use MUSCLE_COMMON_DECODE.
-       (muscle_percent_define_get, muscle_percent_define_ifdef): New
-       functions.
-       (muscle_percent_define_flag_if): Use muscle_percent_define_ifdef and
-       muscle_percent_define_get to mimic the b4_percent_define_flag_if
-       implementation more closely.
-       (muscle_percent_define_invalid_value): New function.
-       * src/muscle_tab.h (muscle_percent_define_get,
-       muscle_percent_define_ifdef, muscle_percent_define_invalid_value):
-       Prototype.
-
-2007-05-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS (2.3a+): Mention yesterday's state-removal change.
-       (2.3a): Remove the %language entry, which was added after 2.3a.
-       * src/LR0.c, src/closure.c, src/closure.h, src/conflicts.c,
-       src/conflicts.h, src/lalr.c, src/lalr.h, src/print.c,
-       src/print_graph.c, src/state.c, src/state.h, tests/conflicts.at,
-       tests/existing.at: Update copyright date.
-
-2007-05-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       If conflict resolution makes states unreachable, remove those states,
-       report rules that are then unused, and don't report conflicts in those
-       states.
-       * src/conflicts.c, src/conflicts.h (conflicts_update_state_numbers):
-       New global function.
-       * src/lalr.c, src/lalr.h (lalr_update_state_numbers): New global
-       function.
-       * src/main.c (main): After conflict resolution, remove the unreachable
-       states and update all data structures that reference states by number.
-       * src/state.c (state_new): Initialize each state's reachable member to
-       false.
-       (state_mark_reachable_states): New static function.
-       (state_remove_unreachable_states): New global function.
-       * src/state.h (struct state): Add member bool reachable.
-       (state_remove_unreachable_states): Prototype.
-       * tests/conflicts.at (Unreachable States After Conflict Resolution):
-       New test case.
-       * tests/existing.at (GNU pic Grammar): Update test case output now that
-       an unused rule is discovered.
-
-2007-05-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Minor code cleanup in parser table construction.
-       * src/LR0.c (new_itemsets): Use item_number_is_symbol_number.
-       (new_itemsets, save_reductions): Update for rename to nitemset.
-       * src/closure.c (nritemset): Rename to...
-       (nitemset): ... this since the "r" appears to meaningless and isn't
-       used in the comments.
-       (closure): Update for rename.
-       * src/closure.h (nritemset): Update extern to...
-       (nitemset): ... this.
-       * src/lalr.c (LA): Fix a typo in comments.
-       * src/print.c (print_core): Update for rename to nitemset.
-       * src/print_graph.c (print_graph): Likewise.
-       * src/state.h: Fix some typos in header comments.
-
-2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * THANKS: Use ASCII for Sebastien Fricker's name.  Bison source
-       still sticks to ASCII.  Sorry!
-
-       * README-hacking: New file, taken mostly from coreutils, with changes
-       for Bison.  Contains much of the contents of:
-       * README-cvs: Remove.
-       * bootstrap: Sync from gnulib.
-       * build-aux/.cvsignore: Remove *.t, mkinstalldirs.
-       * lib/.cvsignore: Add wchar.h, wctype.h.  Remove exit.h.
-
-2007-03-10  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * doc/bison.texinfo (Destructor Decl): Fix typo reported by Sebastian
-       Setzer.
-       (Java Differences): Fix some typos.
-       * THANKS: Add Sebastian Setzer.
-
-2007-03-07  Paolo Bonzini  <bonzini@gnu.org>
-
-       * data/java.m4 (b4_single_class_if): Remove.
-       (b4_abstract_if): Look at "%define abstract".
-       (b4_lexer_if): New.
-       (b4_union_name): Rename...
-       (b4_yystype): ... to this.  Map to "%define stype".
-       (b4_rhs_value, b4_parse_param_decl, b4_lex_param_decl,
-       b4_maybe_throws): Fix quoting.
-       (b4_lex_param_call): Move below to keep b4_*_param_decl close.
-       * data/lalr1.java (Lexer interface): Always define.
-       (Lexer interface within parser class): Remove.
-       (YYLexer class): New, used when "%code lexer" is present.
-       (constructor): When "%code lexer" is used, pass %lex-param
-       to the lexer constructor.
-       (yylex, yyparse): Remove %lex-param from method invocations
-       (YYStack, yyaction, yyparse): Rename b4_union_name to b4_yystype.
-
-       * doc/bison.texinfo (Java Bison Interface): Mention "%define
-       abstract".  Rename "%define union_name" to "%define stype".
-       Rename method names according to previous patch.
-       (Java Scanner Interface): Describe "%code lexer" instead of
-       "%pure-parser" and "%define single_class".
-       (Java Differences): Mention "%code lexer".
-
-       * tests/java.at (_AT_DATA_JAVA_CALC_Y): Remove final argument.
-       Include scanner here, using macros from tests/local.at.
-       (AT_DATA_CALC_Y): Remove final argument.
-       (_AT_CHECK_JAVA_CALC): Likewise.
-       (AT_CHECK_JAVA_CALC): Likewise.  Test all four combinations
-       of %locations and %error-verbose.
-       (main): Test with and without %lex-param.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_LEXPARAM_IF.
-       (AT_BISON_OPTION_POPDEFS): Pop it.
-
-2007-03-07  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       DJGPP spefic issue.  Inhibit the use of disallowed characters for
-       file name genertion on Win98, WinXP, etc.  These are |<>":?*\
-       and concern testsuite case 46.
-       * Makefile.am: djgpp/testsuite.sed added to EXTRA_DIST
-       * djgpp/testsuite.sed: Inhibit the use of disallowed characters.
-       * djgpp/config.bat: Inhibit the use of disallowed characters.
-
-2007-03-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Miscellaneous %define and %code cleanup.
-       * data/bison.m4 (b4_percent_define_flag_if): Correct comments on how
-       values are interpreted.
-       * doc/bison.texinfo (Decl Summary): Clean up and extend %define
-       documentation a little more.
-       * src/muscle_tab.c (MUSCLE_USER_NAME_CONVERT,
-       muscle_percent_define_insert, muscle_percent_code_grow): New
-       functions/macros.
-       * src/muscle_tab.h (muscle_percent_define_insert,
-       muscle_percent_code_grow): Prototype.
-       * src/parse-gram.y (prologue_declaration): Use
-       muscle_percent_define_insert and muscle_percent_code_grow when parsing
-       %define and %code directives.
-
-       Make it easy to share %define boolean variables between the front-end
-       and back-end.  Though not used yet, this will be useful in the future.
-       * data/bison.m4 (b4_check_user_names): Rewrite comments to talk about
-       Bison uses of names rather than just skeleton uses of names.
-       (b4_percent_define_get, b4_percent_define_ifdef): Rename
-       b4_percent_define_skeleton_variables(VARIABLE) to
-       b4_percent_define_bison_variables(VARIABLE).
-       (b4_percent_code_get, b4_percent_code_ifdef): Rename
-       b4_percent_code_skeleton_qualifiers(QUALIFIER) to
-       b4_percent_code_bison_qualifiers(QUALIFIER).
-       (b4_check_user_names_wrap): Update for renames.
-       * src/muscle_tab.c, src/muscle_tab.h (muscle_percent_define_flag_if,
-       muscle_percent_define_default): New functions mimicking
-       b4_percent_define_flag_if and b4_percent_define_default.
-
-       For %define variables, report locations for invalid values and
-       redefinitions.
-       * data/bison.m4 (b4_percent_define_flag_if): Read
-       b4_percent_define_loc(VARIABLE) to report the location of an invalid
-       value for VARIABLE.
-       (b4_percent_define_default): Save a special location in
-       b4_percent_define_loc(VARIABLE) in case the default value for VARIABLE
-       must later be reported as invalid.
-       * src/muscle_tab.c (muscle_location_grow, muscle_location_decode): New
-       functions.
-       (muscle_percent_define_insert): Record the location of VARIABLE in
-       muscle percent_define_loc(VARIABLE), and use it to report the previous
-       location for a redefinition.
-       (muscle_percent_define_flag_if): Update like b4_percent_define_flag_if.
-       (muscle_percent_define_default): Update like b4_percent_define_default.
-       (muscle_grow_user_name_list): Rename to...
-       (muscle_user_name_list_grow): ... this for consistency and use
-       muscle_location_grow.
-       * src/muscle_tab.h (muscle_location_grow): Prototype.
-       * tests/input.at (%define errors): Update expected output.
-       * tests/skeletons.at (%define boolean variables: invalid skeleton
-       defaults): New test case.
-
-2007-02-28  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/print.c (lookahead_set, state_default_rule): Remove.
-       (print_reductions): Replace state_default_rule invocation with
-       equivalent use of yydefact, which was computed in token_actions in
-       tables.c.
-       (print_results): Don't allocate lookahead_set.
-
-2007-02-27  Paolo Bonzini  <bonzini@gnu.org>
-
-       * data/lalr1.java: Prefix all private members with yy.
-
-2007-02-24  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Use YYFPRINTF instead of fprintf where appropriate.  Reported by
-       Sebastien Fricker at
-       <http://lists.gnu.org/archive/html/bug-bison/2007-02/msg00035.html>.
-       * THANKS: Add Sebastien Fricker.
-       * data/glr.c, data/push.c, data/yacc.c (yy_reduce_print): Implement.
-       * doc/bison.texinfo (Tracing): Make it clearer that YYFPRINTF must
-       accept a variable number of arguments.
-
-2007-02-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * bootstrap: Remove occurrences of .#bootmp from lib/Makefile.
-
-2007-02-13  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       * djgpp/config.bat: Adjustments concerning the use of autoconf 2.61.
-       * djgpp/config.sed: Adjustments concerning the use of autoconf 2.61.
-       * djgpp/config.site: Adjustments concerning the use of autoconf 2.61.
-
-2007-02-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Undo my 2007-02-07 change, switching back to the c-strcase module
-       introduced in the 2007-02-03 change.  Bruno Haible reported that
-       the 2007-02-07 change would be dangerous in Turkish if we add a
-       language whose name contains "i", since "i" is not lowercase "I"
-       in Turkish.
-       * bootstrap.conf (gnulib_modules): Add c-strcase.  Remove strcase.
-       * lib/.cvsignore: Add c-ctype.c, c-ctype.h, c-strcase.h,
-       c-strcasecomp.c, c-strncasecmp.c.  Remove strcasecmp.c, strncasecmp.c.
-       * m4/.cvsignore: Remove strcase.m4.
-       * src/getargs.c: Revert 2007-02-07 change, as follows.
-       Include c-strcase.h.
-       (language_argmatch): Use c_strcasecmp rather than strcasecmp.
-
-2007-02-11  Bruno Haible  <bruno@clisp.org>
-
-       Enable the Java related testsuite tests when the only Java compiler
-       found is a gcj < 4.3.  Discussed at
-       <http://lists.gnu.org/archive/html/bug-bison/2007-02/msg00016.html>.
-       * configure.ac (gt_JAVACOMP): Don't specify a target_version.
-
-2007-02-11  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/Makefile.am: Update copyright date.
-       * data/push.c (yypull_parse): Report memory exhaustion and return 2 if
-       yypstate_new returns NULL.
-       (yypstate_new): Return NULL if malloc does.
-       * src/reader.c (packgram): Move translation of rule actions from the
-       beginning of packgram to...
-       (check_and_convert_grammar): ... here right before packgram is invoked
-       so it's easier to write more complete comments, and remove redundant
-       code.
-
-2007-02-10  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       As in semantic actions, make @$ in %initial-action, %destructor, and
-       %printer imply %locations.
-       * src/scan-code.l (SC_SYMBOL_ACTION): Set locations_flag = true when
-       scanning @$.
-       * tests/actions.at (AT_CHECK_ACTION_LOCATIONS): New macro supporting...
-       (@$ in %initial-action implies %locations,
-       @$ in %destructor implies %locations,
-       @$ in %printer implies %locations): ... these new test cases.
-
-2007-02-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Undo most of the 2007-02-03 change, switching to the strcase module
-       now that gnulib strcase has been fixed.
-       * bootstrap.conf (gnulib_modules): Remove c-strcase.  Add strcase.
-       * lib/.cvsignore: Remove c-ctype.c, c-ctype.h, c-strcase.h,
-       c-strcasecomp.c, c-strncasecmp.c.  Add strcasecmp.c, strncasecmp.c
-       * m4/.cvsignore: Add strcase.m4.
-       * src/getargs.c: Revert 2007-02-03 change, as follows.
-       Don't include c-strcase.h.
-       (language_argmatch): Use strcasecmp rather than c_strcasecmp.
-       strcasecmp has "unspecified behavior" outside the POSIX locale,
-       but it works fine in practice if at least one argument is ASCII,
-       as is the case in Bison.
-
-2007-02-07  Paolo Bonzini  <bonzini@gnu.org>
-
-       * tests/java.at: Skip tests if only one of javac/java is present.
-       Reported by Joel E. Denny.
-       * tests/atlocal.in: Adjust copyright years.
-
-2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
-
-       * data/lalr1.java (Stack): Work around old verifiers that disallow
-       access to the private fields of an inner class, from the outer class.
-       We can make Stack's fields public because user code doesn't have access
-       to the instance of Stack used by parse().  Reported by Paul Eggert.
-
-2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * .cvsignore: Add javacomp.sh, javaexec.sh.  Is this really
-       the right spot for these files?
-       * bootstrap.conf (gnulib_modules): Add c-strcase.
-       * lib/.cvsignore: Add c-ctype.c c-ctype.h, c-strcasecomp.c,
-       c-strncasecmp.c.
-       * src/getargs.c: Include c-strcase.h.
-       (language_argmatch): Use c_strcasecmp rather than strcasecmp,
-       to avoid unspecified behavior.
-
-2007-02-01  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * doc/bison.texinfo (Decl Summary): Correct typo.
-
-2007-01-30  Paolo Bonzini  <bonzini@gnu.org>
-
-       * data/bison.m4 (b4_percent_define_flag_if): Don't treat 0 as false.
-       Complain if the value does not match empty, "true" or "false".
-       * data/c++.m4: Adjust default definitions of %define variables.
-       * data/java.m4: Adjust default definitions of %define variables.
-       * doc/bison.texinfo (Decl Summary): Adjust the %define entry according
-       to above behavior.
-       * tests/input.at (Boolean %define variables): Test new behavior.
-
-2007-01-29  Paolo Bonzini  <bonzini@gnu.org>
-
-       * NEWS: Mention java.
-       * TODO: Remove things that are done.
-       * bootstrap.conf: Add javacomp-script and javaexec-script.
-       * configure.ac: Invoke gt_JAVACOMP and gt_JAVAEXEC.
-
-       * data/Makefile.am: Add new files.
-       * data/java-skel.m4: New.
-       * data/java.m4: New.
-       * data/lalr1.java: New.
-
-       * doc/bison.texinfo: Put "A Complete C++ Example" under
-       C++ Parsers.  Add Java Parsers.  Put C++ Parsers and Java Parsers
-       under Other Languages.
-
-       * src/getargs.c (valid_languages): Add Java.
-       * src/getargs.h (struct bison_language): Update size of string fields.
-
-       * tests/Makefile.am: Add java.at.
-       * tests/atlocal.in: Add CONF_JAVA and CONF_JAVAC.
-       * tests/java.at: New.
-       * tests/testsuite.at: Include it.
-
-2007-01-28  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Clean up.
-       * src/scan-skel.l (at_directive_perform): Add at_directive_argc and
-       at_directive_argv arguments so these no longer have to be global
-       variables.  Also, update the implementation for the following changes.
-       (fail_for_at_directive_too_many_args,
-       fail_for_at_directive_too_few_args): Add at_directive_name argument.
-       (at_directive_name): Remove as at_directive_argv[0] will be used for
-       this now.
-       (AT_DIRECTIVE_ARGC_MAX): Increment to make space in at_directive_argv
-       for the directive name.
-       (at_directive_argc, at_directive_argv): Make these local within
-       skel_lex instead of global.
-       (INITIAL): Update directive start action for above changes.
-       (SC_AT_DIRECTIVE_ARG): Rename to...
-       (SC_AT_DIRECTIVE_ARGS): ... this, and update for above changes.
-       (SC_AT_DIRECTIVE_SKIP_WS): Update.
-       (scan_skel): Move yylex_destroy to...
-       (skel_scanner_free): ... here.
-       * tests/skeletons.at (installed skeleton file name): Rename to...
-       (installed skeleton file names): ... this.
-
-2007-01-27  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * ChangeLog: For changes in doc/bison.texinfo, consistently reference
-       node names: say "Table of Symbols" not "Bison Symbols", and say "Decl
-       Summary" not "Directives".
-       * doc/bison.texinfo (Decl Summary, Calc++ Parser): Cross-reference the
-       %code entry in "Decl Summary" rather than the one in "Table of Symbols"
-       since the former is now the more complete one.
-       (Prologue Alternatives): Likewise and do the same for %defines.
-       (Table of Symbols): Add summary of %code, add summary of %define, and
-       move full %code documentation to...
-       (Decl Summary): ... here for consistency with other entries in these
-       sections.
-       Move %define entry in order to keep this list alphabetized.
-       Reword %define entry a little to put less emphasis on the skeleton
-       concept, which most users shouldn't have to think about.
-
-2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Adjust to recent gnulib changes.
-       * lib/.cvsignore: Remove stpcpy.h, strndup.h, strnlen.h.
-       Add string.h, string_.h, unistd_.h, wchar_.h.
-       * m4/.cvsignore: Add gnulib-common.m4, string_h.m4, wchar.m4.
-       * src/system.h: Don't include <stpcpy.h>; this is now done by
-       <string.h>.
-
-2007-01-23  Paolo Bonzini  <bonzini@gnu.org>
-
-       Simplify implementation of unqualified %code, implement macros for
-       uniform treatment of boolean %define flags.  Document %define.
-       * data/bison.m4 (b4_percent_define_ifdef, b4_percent_define_flag_if,
-       b4_percent_code_ifdef): New.
-       (b4_percent_code_get): Map unqualified %code to b4_percent_code().
-       * data/c++.m4: Define default value for global_tokens_and_yystype.
-       * data/glr.cc: Likewise.
-       * data/location.cc: Use b4_percent_define_flag_if.
-
-       * doc/bison.texinfo (Decl Summary): Document %define.
-
-       * src/parse-gram.y (Unqualified %code): Change muscle name to
-       b4_percent_code().
-       (content.opt): Default to empty.
-
-2007-01-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Implement support for relative and absolute skeleton file names.
-       Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00071.html>.
-       * doc/bison.texinfo (Decl Summary): Document in %skeleton entry.
-       (Bison Options): Document in --skeleton entry.
-       * src/output.c (output_skeleton): Use strncpy rather than strcpy since
-       full_skeleton can't necessarily hold all of pkgdatadir.
-       If the specified skeleton file name contains a `/', don't prepend
-       pkgdatadir.
-       * src/parse-gram.y (prologue_declaration): If the specified skeleton
-       file name contains a `/', prepend the grammar file directory.
-       * tests/Makefile.am (TESTSUITE_AT): Add skeletons.at.
-       * skeletons.at: New file.
-       (relative skeleton file names): New test case.
-       (installed skeleton file names): New test case.
-       * tests/testsuite.at: Include skeletons.at.
-
-       * bootstrap: Update copyright to 2007.
-
-2007-01-17  Paolo Bonzini  <bonzini@gnu.org>
-
-       * bootstrap: Remove occurrences of .#bootmp from the files.
-
-2007-01-17  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Calc++ Parser): Don't try to alias
-       nonterminals.
-       Use per-type %printer.
-
-2007-01-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * NEWS, data/c++-skel.m4, data/c++.m4, data/c-skel.m4, data/c.m4,
-       data/glr.c, data/glr.cc, data/lalr1.cc, data/location.cc,
-       djgpp/config.site, src/files.c, src/files.h, src/main.c,
-       src/muscle_tab.c, src/muscle_tab.h, src/parse-gram.y, src/reader.h,
-       src/scan-skel.h, src/scan-skel.l, tests/actions.at, tests/calc.at,
-       tests/glr-regression.at, tests/input.at, tests/local.at,
-       tests/output.at, tests/torture.at: Update copyright to 2007.
-
-2007-01-16  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Calc++ Parsing Driver): Let "parse" return an
-       error code.
-       (Calc++ Scanner): Exit with failure if we can't open the input
-       file.
-       Accept "-" standing for stdin.
-       (Calc++ Top Level): Print the result only if the parsing was
-       successful.
-
-2007-01-16  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (yy_reduce_print_): Add a missing end-of-line.
-
-2007-01-15  Paolo Bonzini  <bonzini@gnu.org>
-       and Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Clean up %define and %code implementation in M4 some.  Most
-       importantly, rename all related macros to be in the b4_percent_define
-       and b4_percent_code namespaces.  Also, complete support for `.' in
-       %define variable names and %code qualifiers.
-       * data/bison.m4 (b4_check_user_names): Check for special
-       "SKELETON-NAMESPACE(name)" macros instead of using two nested
-       m4_foreach loops.
-       (b4_get_percent_define, b4_get_percent_code): Rename to...
-       (b4_percent_define_get, b4_percent_code_get): ... these.
-       Extend documentation with examples.
-       For SKELETON-NAMESPACE (as documented for b4_check_user_names), use
-       b4_percent_define_skeleton_variables and
-       b4_percent_code_skeleton_qualifiers.
-       Expect any value for the %define variable `foo' to be stored in the
-       macro named `b4_percent_define(foo)'; expect any %code blocks for the
-       qualifier `foo' to be stored in a macro named `b4_percent_code(foo)';
-       expect any unqualified %code blocks to be stored in a macro named
-       `b4_percent_code_unqualified'.
-       Use m4_indir so that %define variable names and %code qualifiers can
-       contain `.', which is allowed by the grammar parser.
-       (b4_percent_define_default): New macro to set a default value for a
-       %define variable.
-       (m4_wrap): Update wrapped code, and fix some underquoting.
-       (b4_check_user_names_wrap): Update and define outside the m4_wrap.
-       Expect grammar uses of %define variables and %code qualifiers to be
-       defined in b4_percent_define_user_variables and
-       b4_percent_code_user_qualifiers.
-       * data/c++.m4: Use b4_percent_define_default rather than
-       m4_define_default.  Fix some underquoting.  Skeleton usage of %define
-       variable define_location_comparison now implies skeleton usage of
-       %define variable filename_type.
-       * data/glr.c, data/glr.cc, data/lalr1.cc, data/location.cc,
-       data/push.c, data/yacc.c: Update macro names.
-       * src/parse-gram.y (prologue_declaration, grammar_declaration): Update
-       muscle names.
-
-2007-01-14  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       DJGPP specific issues.
-
-       * djgpp/config.site: Set ac_cv_path_mkdir to a sane DJGPP specific
-       default.  Set gl_cv_absolute_wctype_h to a sane DJGPP specific default.
-
-2007-01-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/glr-regression.at: Use AT_PARSER_CHECK rather than AT_CHECK to
-       run parsers in all tests so that Valgrind is invoked during
-       maintainer-check-valgrind.
-       (Duplicate representation of merged trees): Free all semantic values.
-       (Duplicated user destructor for lookahead): Likewise.
-
-2007-01-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/local.at (AT_PARSER_CHECK): Add a PRE argument to specify a
-       command-line prefix.
-       * tests/torture.at (Exploding the Stack Size with Alloca): Stderr is
-       ignored, so use that PRE to set --log-fd=1 in VALGRIND_OPTS so we don't
-       miss Valgrind messages.
-       (Exploding the Stack Size with Malloc): Likewise.
-
-2007-01-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Ignore YYSTACK_USE_ALLOCA for push parsers since the stacks can't be
-       locals.  Reported by Juan Manuel Guerrero at
-       <http://lists.gnu.org/archive/html/bug-bison/2007-01/msg00000.html>.
-       * data/push.c: Enclose the #ifdef YYSTACK_USE_ALLOCA in b4_push_if.
-       Fix some indentation also.
-       * tests/torture.at (Exploding the Stack Size with Alloca): Add comment
-       explaining this issue.
-
-2007-01-09  Paolo Bonzini  <bonzini@gnu.org>
-       and Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Simplify union and prologue handling, and escape union and lex/parse
-       params with digraphs.
-       * data/bison.m4 (b4_pre_prologue, b4_post_prologue): Set their default
-       values to the empty string since these are no longer guaranteed
-       initialized by the front-end.
-       * data/glr.c, data/glr.cc, data/lalr1.cc, data/push.c, data/yacc.c: Add
-       braces around b4_user_stype since this is no longer done by the
-       front-end.
-       * src/files.c, src/files.h (pre_prologue_obstack,
-       post_prologue_obstack): Remove.
-       * src/muscle_tab.c (muscle_pair_list_grow): Don't duplicate header
-       comments here.  Use MUSCLE_OBSTACK_SGROW so that values are escaped
-       with digraphs.  This fixes lex params and parse params.
-       * src/muscle_tab.h (muscle_pair_list_grow): Update comments.
-       * src/output.c (prepare): Remove muscle insertion of the prologues.
-       (output): Remove freeing of pre_prologue_obstack and
-       post_prologue_obstack.
-       * src/parse-gram.y (prologue_declaration): Use muscle_code_grow rather
-       than prologue_augment for prologue parsing so you don't need prologue
-       obstacks.
-       (grammar_declaration): For %union RHS, use `braceless' instead of
-       "{...}" so that braces are already stripped and code is escaped with
-       digraphs.
-       * src/reader.c (prologue_augment): Remove.
-       (reader): Remove initialization of pre_prologue_obstack and
-       post_prologue_obstack.
-       * src/reader.h (prologue_augment): Remove.
-
-       * data/c.m4: Remove stray parenthesis.
-
-2007-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Remove quotes from variables names in %define directives and from
-       qualifiers in %code directives, and restrict the characters that are
-       allowed in them to M4-friendly ones.  For %define, continue to support
-       the quoted form as a deprecated feature.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-01/msg00023.html>.
-       * NEWS (2.3a+): Add entry for the change to %define.  Update entry for
-       %code.
-       * doc/bison.texinfo (Prologue Alternatives): Update.
-       (Decl Summary): In %defines entry, update mention of `%code requires'
-       and `%code provides'.
-       (C++ Location Values): Update %define uses.
-       (Calc++ Parser Interface): Likewise.
-       (Calc++ Parser): Likewise, and update `%code requires' uses.
-       (Table of Symbols): Update %code documentation.
-       * src/parse-gram.y (prologue_declaration): For %define variables, use
-       `variable' instead of `STRING'.
-       (grammar_declaration): For %code qualifiers, use `ID' instead of
-       `STRING'.
-       (variable): New nonterminal that takes an `ID' or a `STRING'.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Update %code
-       and %define uses.
-       * tests/calc.at (_AT_DATA_CALC_Y): Update %define use.
-       * tests/input.at (Reject unused %code qualifiers): Update %code uses.
-       (%define errors): Update %define uses.
-
-2007-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/parse-gram.y (prologue_declaration): Use MUSCLE_INSERT_STRING
-       instead of muscle_insert for %define values so that M4-special
-       characters are replaced with digraphs.
-       * tests/input.at (%define errors): Extend to check weird values.
-
-2007-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Instead of having skeletons declare all valid %define variables and
-       %code qualifiers, provide macros that retrieve the associated values
-       and build these lists automatically.  Thus Bison will now warn when a
-       variable or qualifier is not used by the skeleton in the current
-       invocation regardless of whether it might sometimes be used by that
-       skeleton in other invocations.  Also, move all %define value macros to
-       the b4_percent_define_ namespace, and remove the %define "NAME" {CODE}
-       form, which is replaced by %code.
-       * data/bison.m4 (b4_check_for_unrecognized_names): Rename to...
-       (b4_check_user_names): ... this, and change the series of valid name
-       arguments to a single list argument for names used in the skeleton
-       similar to the existing list argument for names used in the grammar.
-       Warn instead of complaining.
-       (b4_get_percent_define, b4_get_percent_code): New to retrieve %define
-       values and %code code, to format %code code properly, and to build
-       lists of all %define variables and %code qualifiers used in the
-       skeleton: b4_skeleton_percent_define_variables and
-       b4_skeleton_percent_code_qualifiers.
-       (b4_check_percent_define_variables, b4_check_percent_code_qualifiers):
-       Remove, and...
-       (m4_wrap): ... m4_wrap b4_check_user_names invocations instead so that
-       the skeleton names lists can finish building first.  In place of
-       b4_used_percent_define_variables and b4_used_percent_code_qualifiers,
-       expect the lists b4_user_percent_define_variables and
-       b4_user_percent_code_qualifiers.
-       * data/c++.m4: Where setting default values for b4_parser_class_name,
-       b4_location_type, b4_filename_type, b4_namespace, and
-       b4_define_location_comparison, update their names to the
-       b4_percent_define_ namespace.
-       * data/glr.c: Don't use b4_check_percent_define_variables and
-       b4_check_percent_code_qualifiers.  Use b4_get_percent_code.
-       * data/glr.cc, data/lalr1.cc: Likewise, and use b4_get_percent_define.
-       (b4_parser_class_name, b4_namespace): Define these using
-       b4_get_percent_define for parser_class_name and namespace.
-       * data/location.cc: Use b4_get_percent_define.
-       * data/push.c: Don't use b4_check_percent_define_variables and
-       b4_check_percent_code_qualifiers.  Use b4_get_percent_code.
-       * data/yacc.c: Likewise, and don't call m4_exit in
-       b4_use_push_for_pull_if or m4_wrap code will never execute.
-       * src/muscle_tab.c, src/muscle_tab.h (muscle_grow_used_name_list):
-       Rename to...
-       (muscle_grow_user_name_list): ... this for consistency with the
-       terminology used in bison.m4.
-       * src/parse-gram.y (prologue_declaration): Prepend "percent_define_" to
-       %define variable names, and rename muscle used_percent_define_variables
-       to user_percent_define_variables.
-       (grammar_declaration): Rename muscle used_percent_code_qualifiers to
-       user_percent_code_qualifiers.
-       (content): Remove.
-       (content.opt): Replace content RHS with STRING RHS so %define "NAME"
-       {CODE} form is no longer accepted.
-       * tests/input.at (Reject bad %code qualifiers): Rename to...
-       (Reject unused %code qualifiers): ... this, and update test output.
-       (%define error): Update test output.
-
-2007-01-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Check for unrecognized %define variables similar to checking for
-       unrecognized %code qualifiers.  Check for redefined %define variables.
-       * data/bison.m4 (b4_check_for_unrecognized_names): New macro that
-       generalizes...
-       (b4_check_percent_code_qualifiers): ... this, which now wraps it.
-       (b4_check_percent_define_variables): New, also wraps it.
-       * data/glr.c: Unless glr.cc is wrapping glr.c, declare no valid %define
-       variables using b4_check_percent_define_variables.
-       * data/glr.cc, data/lalr1.cc: Declare the valid %define variables as
-       all those exercised in the test suite and all those listed in the
-       `Default values' section of c++.m4.  Are there others?
-       * data/push.c, data/yacc.c: Declare no valid %define variables.
-       * src/muscle_tab.c, src/muscle_tab.h (muscle_find_const): New function,
-       similar to muscle_find, but it works even when the muscle stores a
-       const value.
-       (muscle_grow_used_name_list): New function for constructing the used
-       name list muscles that b4_check_for_unrecognized_names requires.
-       * src/parse-gram.y (prologue_declaration): Warn if a variable is
-       %define'd more than once.  Define the b4_used_percent_define_variables
-       muscle with muscle_grow_used_name_list.
-       (grammar_declaration): Abbreviate %code code with
-       muscle_grow_used_name_list.
-       * tests/input.at (%define errors): New.
-
-2007-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Provide warn_at, complain_at, and fatal_at function callbacks to the
-       skeletons, and use this for %code qualifier complaints.
-       * data/bison.m4 (b4_error_at): New, invoked by...
-       (b4_warn_at, b4_complain_at, b4_fatal_at): ... these new macros to wrap
-       the skeleton scanner's new @warn_at(...@), @complain_at(...@), and
-       @fatal_at(...@) directives.
-       (b4_check_percent_code_qualifiers): Rewrite to expect locations for
-       qualifiers in b4_used_percent_code_qualifiers and to use
-       b4_complain_at.
-       * src/location.c, src/location.h (boundary_set_from_string): New global
-       function.
-       * src/muscle_tab.c, src/muscle_tab.h (muscle_boundary_grow): New global
-       function.
-       * src/parse-gram.y (grammar_declaration): Add locations for qualifiers
-       to b4_used_percent_code_qualifiers.
-       * src/scan-skel.l (fail_for_at_directive_too_few_args): New static
-       function.
-       (AT_DIRECTIVE_ARGC_MAX): Increase for boundary arguments.
-       (lineno): Rename to...
-       (out_lineno): ... this so I don't misunderstand it again.
-       (SC_AT_DIRECTIVE_SKIP_WS): Don't increment out_lineno for newlines
-       here; these newlines are in the input but not the output file.
-       (SC_AT_DIRECTIVE_ARG): Likewise.  Extract directive execution to...
-       (at_directive_perform): ... this new static function, and add handling
-       of new @warn_at(...@), @complain_at(...@), and @fatal_at(...@)
-       directives.
-       * tests/input.at (Reject bad %code qualifiers): Update test output with
-       locations and extend.
-
-       * tests/output.at (Output file name: [, Output file name: ]): Remove
-       bogus comment about these tests failing.
-
-2007-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Clean up b4_check_percent_code_qualifiers a little.
-       * data/bison.m4 (b4_check_percent_code_qualifiers): Expect qualifiers
-       in b4_used_percent_code_qualifiers to be double-M4-quoted.  Rewrite
-       documentation and add examples.
-       * src/parse-gram.y (grammar_declaration): Double-M4-quote those
-       qualifiers here.
-
-2007-01-05  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't use m4_divert since it makes m4_divert_push and m4_divert_pop
-       unreliable -- especially when they're hidden inside another macro.
-       * data/bison.m4, data/c++-skel.m4, data/c++.m4, data/c-skel.m4,
-       data/c.m4: Remove m4_divert(-1).
-       * data/glr.c, data/glr.cc, data/lalr1.cc, data/location.cc,
-       data/push.c, data/yacc.c: Likewise, and replace m4_divert(0) with
-       m4_divert_push(0) and m4_divert_pop(0).
-       * src/output.c (output_skeleton): Don't add an m4_divert_push(0) and
-       an m4_wrap([m4_divert_pop(0)]) to the M4.  Diversion -1, which is
-       pushed and popped by m4sugar, should be first on the stack.
-
-       Provide warn, complain, and fatal function callbacks to the skeletons.
-       This provides more flexibility than m4_fatal, improves the error
-       message format, and captures messages for translation.  Discussed
-       starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00063.html>.
-       * data/bison.m4 (b4_error): New, invoked by...
-       (b4_warn, b4_complain, b4_fatal): ... these new macros to wrap the
-       skeleton scanner's new @warn(...@), @complain(...@), and @fatal(...@)
-       directives.  Because these M4 macros might be called when the current
-       diversion is -1 or 0, m4_divert_push and m4_divert_pop is used; thus
-       the previous removal of uses of m4_divert, which caused trouble.
-       (b4_check_percent_code_qualifiers): Use b4_complain instead of
-       m4_fatal to report unrecognized %code qualifiers.
-       * data/c++-skel.m4: Use b4_complain instead of m4_fatal to report C++
-       push parser requests.
-       * data/glr.c: Use b4_complain instead of m4_fatal to report
-       non-deterministic push parser requests.
-       Update @output usage to @output(...@) form.
-       * data/glr.cc, data/lalr1.cc: Use b4_fatal instead of m4_fatal to
-       report missing %defines.  Update @output usage to @output(...@) form.
-       * data/location.cc, data/push.c, data/yacc.c: Update @output usage to
-       @output(...@) form.
-       * src/main.c (main): Invoke skel_scanner_free.
-       * src/scan-skel.h (skel_scanner_free): Prototype new function.
-       * src/scan-skel.l (FLEX_NO_OBSTACK): Don't define; we now need the
-       obstack_for_string from flex-scanner.h.
-       (YY_DECL): Use to declare skel_lex static.
-       (decode_at_digraphs): Remove; now handled in the new
-       SC_AT_DIRECTIVE_ARG start condition.
-       (fail_for_at_directive_too_many_args, fail_for_invalid_at): New static
-       functions.
-       (at_directive_name, AT_DIRECTIVE_ARGC_MAX, at_directive_argc,
-       at_directive_argv): New static globals.
-       (INITIAL): Use fail_for_invalid_at.
-       Don't parse `@output file_name\n' or `@basename(...@)'.  Instead,
-       recognize the start of a generalized `@directive(...@)' form and
-       start...
-       (SC_AT_DIRECTIVE_ARG): ... this new start condition to parse the
-       directive args (using the new obstack_for_string), to decode the
-       contained @ diagraphs, and to perform the directive.  It recognizes
-       @basename(...@), @warn(...@), @complain(...@), @fatal(...@), and
-       @output(...@).
-       (SC_AT_DIRECTIVE_SKIP_WS): New start condition started by
-       SC_AT_DIRECTIVE_ARG to skip whitespace after the argument delimiter,
-       `@,'.
-       (scan_skel): Initialize obstack_for_string on the first call.
-       (skel_scanner_free): New function to free obstack_for_string.
-       * tests/input.at (Reject bad %code qualifiers): Update test output.
-
-2007-01-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Consolidate the 4 prologue alternative directives (%code, %requires,
-       %provides, and %code-top) into a single %code directive with an
-       optional qualifier field.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2007-01/msg00012.html>.
-       * NEWS (2.3a+): Rewrite the existing entry for the prologue
-       alternatives.
-       * doc/bison.texinfo (Prologue Alternatives): Update.
-       (Decl Summary): Update to %code "requires" and %code "provides".
-       (Calc++ Parser): Update to %code "requires".
-       (Table of Symbols): Remove entries for %requires, %provides, and
-       %code-top.  Rewrite %code entry, and add a %code "QUALIFIER" entry.
-       * data/bison.m4 (b4_user_provides, b4_user_requires): Remove as these
-       are replaced by b4_percent_code_provides and b4_percent_code_requires,
-       which are skeleton-specific.
-       (b4_check_percent_code_qualifiers): New.  A skeleton can use this to
-       declare what %code qualifiers it supports and to complain if any other
-       qualifiers were used in the grammar.
-       * data/glr.cc: Update to use b4_user_code([b4_percent_code_requires])
-       and b4_user_code([b4_percent_code_provides]) in place of
-       b4_user_requires and b4_user_provides.
-       * data/glr.c, data/lalr1.cc, data/push.c, data/yacc.c: Likewise.
-       Add b4_user_code([b4_percent_code_top]) and
-       b4_user_code([b4_percent_code]).
-       Invoke b4_check_percent_code_qualifiers.
-       * src/parse-gram.y (PERCENT_CODE_TOP, PERCENT_PROVIDES,
-       PERCENT_REQUIRES): Remove.
-       (grammar_declaration): Remove RHS's for %code-top, %provides, and
-       %requires.  Rewrite the %code RHS as the unqualified form defining the
-       muscle b4_percent_code.  Add another RHS for the qualified %code form,
-       which defines muscles of the form b4_percent_code_QUALIFIER and the
-       b4_used_percent_code_qualifiers muscle.
-       * src/scan-gram.l (PERCENT_CODE_TOP, PERCENT_PROVIDES,
-       PERCENT_REQUIRES): Remove.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Update to use
-       %code "requires" and %code "provides".
-       * tests/input.at (Reject bad %code qualifiers): New.
-
-2007-01-03  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Use the new code_props interface for destructors and printers.
-       * src/symtab.h (symbol, semantic_type): Remove destructor_location and
-       printer_location members, and change the type of the destructor and
-       printer members to code_props.
-       (symbol_destructor_set, symbol_destructor_get, symbol_printer_set,
-       symbol_printer_get, semantic_type_destructor_set,
-       semantic_type_printer_set, default_tagged_destructor_set,
-       default_tagless_destructor_set, default_tagged_printer_set,
-       default_tagless_printer_set): Use code_props in arguments and return
-       types in place of char const * and location.
-       (symbol_destructor_location_get, symbol_printer_location_get): Remove
-       since the locations are now contained in the return of
-       symbol_destructor_get and symbol_printer_get.
-       * src/output.c (symbol_destructors_output, symbol_printers_output):
-       Replace with...
-       (symbol_code_props_output): ... this to eliminate duplicate code.
-       (output_skeleton): Update to use symbol_code_props_output.
-       * src/reader.c (symbol_should_be_used): Update use of
-       symbol_destructor_get.
-       * src/symlist.c (symbol_list_destructor_set, symbol_list_printer_set):
-       Update uses of the various _destructor_set and _printer_set functions.
-       * src/symtab.c: (default_tagged_destructor_location,
-       default_tagless_destructor_location, default_tagged_printer_location,
-       default_tagless_printer_location): Remove since we...
-       (default_tagged_destructor, default_tagless_destructor,
-       default_tagged_printer, default_tagless_printer): ... change the type
-       of these to code_props.
-       (symbol_new, semantic_type_new, symbol_destructor_set,
-       semantic_type_destructor_set, symbol_destructor_get,
-       symbol_printer_set, semantic_type_printer_set, symbol_printer_get,
-       symbol_check_alias_consistency, default_tagged_destructor_set,
-       default_tagless_destructor_set, default_tagged_printer_set,
-       default_tagless_printer_set): Update.
-       (symbol_destructor_location_get, symbol_printer_location_get): Remove.
-       (SYMBOL_CODE_PRINT): New similar to SYMBOL_ATTR_PRINT but for
-       code_props members.
-       (symbol_print): Use SYMBOL_CODE_PRINT.
-
-2007-01-03  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Use the new code_props interface for rule actions.
-       * src/symlist.h (symbol_list): Replace action, action_location, and
-       used members with a code_props action_props member.
-       * src/reader.c (symbol_should_be_used, grammar_rule_check,
-       grammar_midrule_action, grammar_current_rule_merge_set,
-       grammar_current_rule_symbol_append, packgram): Update.
-       * src/scan-code.h (translate_rule_action): Remove, no longer used.
-       * src/scan-code.l (handle_action_dollar): Update.
-       (translate_rule_action): Remove, no longer used.
-       * src/symlist.c (symbol_list_sym_new, symbol_list_syms_print): Update.
-
-2007-01-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Use the new code_props interface in parse-gram.y.
-       * src/parse-gram.y (prologue_declaration, braceless, epilogue.opt):
-       Update all uses of translate_* functions to use the new code_props
-       interface and to use gram_scanner_last_string_free and
-       code_scanner_last_string_free where possible.
-       (grammar_declaration): symbol_list_destructor_set and
-       symbol_list_printer_set now perform the translation, so don't do it
-       here.  Use gram_scanner_last_string_free where possible.
-       * src/scan-code.h, src/scan-code.l (translate_symbol_action,
-       translate_code): Remove, no longer used.
-       * src/symlist.h, src/symlist.c (symbol_list_destructor_set,
-       symbol_list_printer_set): Perform code translation here rather than
-       depending on the caller to do so.
-
-       * src/symlist.h (struct symbol_list): Correct some documentation typos.
-       * src/scan-gram.h (gram_last_string): Remove declaration.
-       * src/scan-gram.l (last_string): Declare it static.
-
-2007-01-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Encapsulate code properties and related functionality for the various
-       destructors, printers, and actions into a code_props structure and
-       interface.  This patch merely implements code_props in scan-code.h and
-       scan-code.l.  Future patches will rewrite other modules to use it.
-       Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-11/msg00020.html>.
-       * src/location.h (EMPTY_LOCATION_INIT): Define so that it's easier to
-       consistently initialize const structs that have an empty location
-       field.
-       * src/location.c (empty_location): Initialize with EMPTY_LOCATION_INIT
-       to ensure consistency.
-       * src/scan-code.h (code_props): New structure.
-       (code_props_none_init, CODE_PROPS_NONE_INIT, code_props_none): New
-       function, macro, and const global variable for initializing a
-       code_props with no code.
-       (code_props_plain_init, code_props_symbol_action_init,
-       code_props_rule_action_init, code_props_translate_code): The rest of
-       the new code_props functional interface.  Among other things, the init
-       functions set the code_props kind field so that
-       code_props_translate_code will know whether to behave like
-       translate_symbol_action, translate_rule_action, or translate_code.
-       These old translate functions must remain until all other modules are
-       updated to use the new code_props interface.
-       (code_scanner_last_string_free): New function similar to
-       gram_scanner_last_string_free.
-       (code_scanner_free): Add documentation.
-       * src/scan-code.l: Implement the new interface.
-       (code_lex): Make it static, add a code_props* argument, and remove the
-       rule argument.
-       (last_string): New static global similar to the one in scan-gram.l.
-       (SC_RULE_ACTION): Update to use the code_props* argument to code_lex
-       instead of rule.
-       (SC_SYMBOL_ACTION): For $$, set the is_value_used member of the
-       code_props since Bison may one day use this information for destructors
-       and printers.
-       (<*><<EOF>>): Use STRING_FINISH so that last_string is set.
-       (handle_action_dollar): Use symbol_list_n_get and set used flag
-       directly since symbol_list_n_used_set is removed.
-       (translate_action): Add a code_props* argument and remove the rule,
-       action, and location arguments.  Pass the code_props* on to code_lex.
-       (translate_rule_action, translate_symbol_action, translate_code):
-       Rewrite as wrappers around the new code_props interface.
-       * src/symlist.h, src/symlist.c (symbol_list_n_used_set): Remove since
-       it would eventually need to break the encapsulation of code_props.
-
-2007-01-01  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * etc/.cvsignore: New.
-
-2007-01-01  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Add maintainer-push-check to run maintainer-check using push parsing in
-       place of pull parsing where available.
-       * Makefile.am (maintainer-push-check): New.
-       * data/bison.m4 (b4_use_push_for_pull_if): New.
-       * data/push.c: Redefine b4_push_if and b4_use_push_for_pull_if
-       appropriately based on their existing values.
-       (yypush_parse): Don't print push-parser-specific diagnostics if push
-       parsing is being used in place of pull parsing.
-       * data/yacc.c: If push parsing should replace pull parsing, redirect to
-       push.c.
-       * src/output.c (prepare): Check BISON_USE_PUSH_FOR_PULL environment
-       variable, and insert b4_use_push_for_pull_flag into muscles.
-       * tests/Makefile.am (maintainer-push-check): New.
-
-2006-12-31  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/push.c (yypush_parse): Set yynew = 1 at the end of a parse
-       (whether successful or failed) so that yypush_parse can be invoked
-       again to start a new parse using the same yypstate.
-       * tests/torture.at (AT_DATA_STACK_TORTURE): For push mode, extend to
-       check multiple yypull_parse invocations on the same yypstate.  For pull
-       mode, extend to check multiple yyparse invocations.
-       (Exploding the Stack Size with Alloca): Extend to try with
-       %push-pull-parser.
-       (Exploding the Stack Size with Malloc): Likewise.
-
-       * tests/calc.at (Simple LALR Calculator): Don't specify
-       %skeleton "push.c" since %push-pull-parser implies that now.
-       * tests/headers.at (export YYLTYPE): Don't check for the push
-       declarations.  Otherwise, this test case can't be used to see if push
-       mode can truly emulate pull mode.
-       * tests/input.at (Torturing the Scanner): Likewise.
-       * tests/local.at (AT_YACC_OR_PUSH_IF, AT_PUSH_IF): Remove.
-       (AT_YYERROR_SEES_LOC_IF): Rather than AT_YACC_OR_PUSH_IF, use
-       AT_YACC_IF, which now includes the case of push mode since %skeleton
-       need not be used for push mode.  This will be more intuitive once
-       push.c is renamed to yacc.c.
-
-2006-12-31  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       For push mode, convert yyparse from a macro to a function, invoke yylex
-       instead of passing a yylexp argument to yypull_parse, and don't
-       generate yypull_parse or yyparse unless %push-pull-parser is declared.
-       Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00163.html>.
-       * data/bison.m4 (b4_pull_if): New.
-       * data/c.m4 (b4_identification): Define YYPULL similar to YYPUSH.
-       * data/push.c: Improve M4 quoting a little.
-       (b4_generate_macro_args, b4_parenthesize): Remove.
-       (yyparse): If there's a b4_prefix, #define this to b4_prefix[parse]
-       any time a pull parser is requested.
-       Don't #define this as a wrapper around yypull_parse.  Instead, when
-       both push and pull are requested, make it a function that does that
-       same thing.
-       (yypull_parse): If there's a b4_prefix, #define this to
-       b4_prefix[pull_parse] when both push and pull are requested.
-       Don't define this as a function unless both push and pull are
-       requested.
-       Remove the yylexp argument and hard-code yylex invocation instead.
-       * etc/bench.pl.in (bench_grammar): Use %push-pull-parser instead of
-       %push-parser.
-       * src/getargs.c (pull_parser): New global initialized to true.
-       * getargs.h (pull_parser): extern it.
-       * src/output.c (prepare): Insert pull_flag muscle.
-       * src/parse-gram.y (PERCENT_PUSH_PULL_PARSER): New token.
-       (prologue_declaration): Set both push_parser and pull_parser = true for
-       %push-pull-parser.  Set push_parser = true and pull_parser = false for
-       %push-parser.
-       * src/scan-gram.l: Don't accept %push_parser as an alternative to
-       %push-parser since there's no backward-compatibility concern here.
-       Scan %push-pull-parser.
-       * tests/calc.at (Simple LALR(1) Calculator): Use %push-pull-parser
-       instead of %push-parser.
-       * tests/headers.at (export YYLTYPE): Make yylex static, and don't
-       prototype it in the module that calls yyparse.
-       * tests/input.at (Torturing the Scanner): Likewise.
-       * tests/local.at (AT_PUSH_IF): Check for %push-pull-parser as well.
-
-2006-12-26  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Update etc/bench.pl.  Optimize push mode a little (the yyn change
-       deserves most of the credit).
-       * Makefile.am (SUBDIRS): Add etc subdirectory.
-       * configure.ac (AC_CONFIG_FILES): Add etc/bench.pl and etc/Makefile.
-       * data/push.c (b4_declare_parser_state_variables): Move yyn, yyresult,
-       yytoken, yyval, and yyloc declarations to...
-       (yyparse or yypush_parse): ... here to improve performance.  For
-       yypush_parse invocations after the first, be sure to assign yyn its old
-       value again.
-       (yypstate_new): Don't bother initializing the yyresult field since the
-       initial value isn't used.
-       (yyn, yyresult, yytoken, yyval, yyloc): For each NAME in this list,
-       remove the #define that, in push mode, set it to yyps->NAME.
-       * etc/Makefile.am: New.
-       * etc/bench.pl: Remove and build it instead from...
-       * etc/bench.pl.in: ... this new file.  Use @abs_top_builddir@ to invoke
-       "tests/bison" from the build directory by default rather than just
-       invoking "bison" from $PATH.
-       (calc_grammar): Update push parser code: don't declare yylval globally,
-       don't define yyparse_wrapper, and don't #define yyparse.
-       (bench_grammar): Update to check all working combinations of yacc.c,
-       push.c, impure, pure, pull, and push.
-
-2006-12-25  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       For push mode, add pull wrappers around yypush_parse.
-       * data/push.c: (b4_generate_macro_args, b4_parenthesize): New macros.
-       (yypull_parse): New function wrapping yypush_parse.
-       (yyparse): New #define wrapping yypull_parse.
-       * tests/calc.at (_AT_DATA_CALC_Y): Call yyparse even when %push-parser
-       is declared.
-       * tests/headers.at (export YYLTYPE): Make yylex global.  For push mode,
-       prototype yylex in the module that calls yyparse, and don't prototype
-       yyparse there.  Otherwise, the yyparse expansion won't compile.
-       * tests/input.at (Torturing the Scanner): Likewise.
-
-2006-12-25  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Enable push parsers to operate in impure mode.  Thus, %push-parser no
-       longer implies %pure-parser.  The point of this change is to move
-       towards being able to test the push parser code by running the entire
-       test suite as if %push-parser had been declared.
-       * data/push.c (yypush_parse): For impure mode, remove the
-       yypushed_char, yypushed_val, and yypushed_loc arguments.
-       Instead, declare these as local variables initialized to the global
-       yychar, yylval, and yylloc.
-       For the first yypush_parse invocation only, restore the initial values
-       of these global variables when it's time to read a token since they
-       have been overwritten.
-       * src/parse-gram.y (prologue_declaration): Don't set pure_parser for
-       %push-parser.
-       * tests/calc.at (Simple LALR(1) Calculator): Always declare
-       %pure-parser along with %push-parser since this test case was designed
-       for pure push parsers.
-       * tests/local.at (AT_PURE_OR_PUSH_IF): Remove unused.
-       (AT_YACC_OR_PUSH_IF): New.
-       (AT_YYERROR_SEES_LOC_IF): Fix enough that the test suite passes, but
-       add a note that it's still wrong for some cases (as it has been for a
-       while).
-       (AT_PURE_LEX_IF): Use AT_PURE_IF instead of AT_PURE_OR_PUSH_IF since
-       %push-parser no longer implies %pure-parser.
-
-2006-12-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Remove some unnecessary differences between the pull parser code and
-       the push parser code.  This patch enables yynerrs in push mode.
-       * data/push.c: Reformat M4 a little.
-       (b4_yyerror_range): Remove and convert all uses to just yyerror_range.
-       (b4_declare_scanner_communication_variables): Don't omit yynerrs just
-       because push mode is on.  Instead, if pure mode is on, move yynerrs
-       to...
-       (b4_declare_parser_state_variables): ... here.
-       (yynerrs, yyerror_range): For push mode, #define each NAME in this list
-       to yyps->NAME so it can be used in yypush_parse.
-       (yypush_parse): Don't omit uses of yynerrs in push mode.
-
-2006-12-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix bug such that the first pushed token's value and location are
-       sometimes overwritten (sometimes by %initial-action) before being used.
-       * data/push.c (yypush_parse): Rename arguments yynchar, yynlval, and
-       yynlloc to yypushed_char, yypushed_val, and yypushed_loc for clarity.
-       For the first yypush_parse invocation, initialize yychar to YYEMPTY to
-       more closely mimic the pull parser logic.
-       Don't copy the pushed token to yychar, yylval, and yylloc until it's
-       time to read a token, which is after any initialization of yylval and
-       yylloc.
-       (gottoken): Rename label to...
-       (yyread_pushed_token): ... for clarity and to avoid infringing on the
-       user namespace.
-
-2006-12-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Rearrange initialization of the parser state variables so that the
-       skeleton doesn't have to have a copy for pull mode and another for push
-       mode.  This patch also fixes at least a bug such that yylloc was not
-       initialized (with b4_location_initial_line and
-       b4_location_initial_column) upon calling yypush_parse.  However, that
-       initialization now overwrites the first token's location;
-       %initial-action assigning @$ already did the same thing, and both bugs
-       will be fixed in a later patch.
-       * data/push.c (b4_yyssa): Remove and convert all uses to just yyssa.
-       (b4_declare_parser_state_variables): Remove initialization of yytoken,
-       yyss, yyvs, yyls, and yystacksize.
-       (yypstate_new): Remove initialization of some yypstate fields: yystate,
-       yyerrstatus, yytoken, yyss, yyvs, yyls, yystacksize, yyssp, yyvsp, and
-       yylsp.
-       (yyssa, yyvsa, yylsa): For push mode, #define each NAME in this list to
-       yyps->NAME so it can be used in yypush_parse.
-       (yyparse or yypush_parse): For yypush_parse, don't print the
-       "Starting parse" diagnostic for invocations after the first.
-       Add initialization of yytoken, yyss, yyvs, yyls, and yystacksize; for
-       yypush_parse, only do it for the first invocation.
-       Allow yystate, yyerrstatus, yyssp, yyvsp, yylsp, and yylloc
-       initialization to occur in yypush_parse but only on the first
-       invocation.
-
-2006-12-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/push.c: Add CPP guards around push parser declarations in both
-       the header and the code file.
-       In the code file, move the push parser declarations to the same place
-       they appear in the header file.
-       Clean up the M4 some, especially the inconsistent underquoting in
-       some b4_c_function_def and b4_c_function_decl uses.
-
-2006-12-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Encapsulate the push parser state variables into an M4 macro so the
-       push skeleton doesn't have to list them again for pull mode's yyparse.
-       For push mode, remove yypush_parse's local equivalents of these
-       variables to eliminate unnecessary copying between the two sets at
-       run-time.  This patch also fixes at least a bug related to multiple
-       %initial-action invocations in push mode.
-       * data/push.c (b4_declare_parser_variables): Rename to...
-       (b4_declare_scanner_communication_variables): ... this for clarity and
-       update both uses.
-       (b4_declare_yyparse_variables): Remove and move its contents to the one
-       spot where it was invoked.
-       (b4_declare_parser_state_variables): New macro containing the parser
-       state variables required by push mode.
-       (struct yypstate): Replace all fields but yynew with
-       b4_declare_parser_state_variables.
-       (yystate, yyn, yyresult, yyerrstatus, yytoken, yyss, yyssp, yyvs,
-       yyvsp, yyls, yylsp, yystacksize, yyval, yyloc): For push mode, #define
-       each NAME in this list to yyps->NAME so it can be used in yypush_parse.
-       (yyparse or yypush_parse): For yyparse in pull mode, replace local
-       parser state variable declarations with
-       b4_declare_parser_state_variables.
-       Don't initialize parser state variables when calling yypush_parse since
-       yypstate_new already does that.
-       Invoke the user's initial action only upon the first yypush_parse
-       invocation.
-       Remove all code that copies between the local parser state variables
-       and the yypstate.
-
-2006-12-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/push.c (union yyalloc): Rename yyss, yyvs, and yyls fields to
-       prevent a name collision in a future patch where these names will
-       sometimes be #define'd.
-       (YYSTACK_RELOCATE): Add an argument to select a union yyalloc field
-       since it no longer has the same name as the existing argument.
-       (yyparse or yypush_parse): Update all uses of YYSTACK_RELOCATE.
-
-2006-12-19  Paolo Bonzini  <bonzini@gnu.org>
-       and Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * doc/bison.texinfo (Decl Summary): In the %language entry, mention
-       that the argument is case-insensitive, and there's no `=' here.
-       For the %skeleton entry, mention that %language is better.
-       (Bison Options): Likewise for --language and --skeleton.  Move the
-       --skeleton entry so that the `Tuning the parser' section is sorted
-       alphabetically on long options.
-       (C++ Bison Interface): Don't use the word skeleton.  Don't explain the
-       %language directive in detail here; cross-reference the %language
-       documentation instead.
-       (Calc++ Parser): Use `%require "@value{VERSION}"' rather than
-       `%require "2.3b"' so that the example is always up-to-date.
-       (Table of Symbols): Add entries for %language and %skeleton.
-       * examples/extexi (normalize): Instead of replacing every %require
-       argument with the current Bison version, just substitute for
-       `@value{VERSION}'.  This guarantees that we're testing what actually
-       appears in the documentation.
-       * examples/calc++/Makefile.am ($(calc_extracted)): Use `$(VERSION)'
-       rather than `@VERSION@'.
-
-2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Reword the %language news a bit, and put it earlier.
-
-       * src/getargs.c (skeleton_arg): Last arg is now location const *.
-       Rewrite to simplify the logic.
-       (language_argmatch): Likewise.
-       (program_name): We now own this var.
-       * src/getargs.h (struct bison_language): Use char[] rather than
-       const char *.
-
-       * doc/bison.texinfo (Decl Summary, Bison Options): Don't claim
-       Java is supported.
-       * src/complain.c (program_name): Remove decl; no longer needed.
-       * src/main.c (program_name): Remove; now belongs to getargs.
-
-2006-12-18  Paolo Bonzini  <bonzini@gnu.org>
-
-       * NEWS: Document %language.
-
-       * data/Makefile.am (dist_pkgdata_DATA): Add c-skel.m4, c++-skel.m4.
-
-       * data/c-skel.m4, data/c++-skel.m4: New files.
-       * data/glr.c: Complain on push parsers.
-
-       * doc/bison.texinfo (C++ Parser Interface): Prefer %language
-       over %skeleton.
-       (Decl Summary): Document %language and %skeleton.
-       (Command line): Document -L.
-
-       * examples/extexi: Rewrite %require directive.
-       * examples/calc++/Makefile.am: Pass VERSION to extexi.
-
-       * src/files.c (compute_exts_from_gc): Look in language structure
-       for .y extension.
-       (compute_file_name_parts): Check whether .tab should be added.
-       * src/getargs.c (valid_languages, skeleton_prio, language_prio):
-       (language, skeleton_arg, language_argmatch): New.
-       (long_options): Add --language.
-       (getargs): Use skeleton_arg, add -L/--language.
-       * src/getargs.h: Include location.h.
-       (struct bison_language, language, skeleton_arg, language_argmatch): New.
-       * src/output.c (prepare): Pick default skeleton from struct language.
-       Don't dispatch C skeletons here.
-       * src/parse-gram.y (PERCENT_LANGUAGE): New.
-       (prologue_declaration): Add "%language" rule, use skeleton_arg.
-       * src/scan-gram.l ("%language"): New rule.
-
-       * tests/calc.at: Test %skeleton and %language.
-       * tests/local.at (AT_SKEL_CC_IF): Look for %language.
-       (AT_GLR_IF): Look for %skeleton "glr.cc".
-       (AT_LALR1_CC_IF, AT_GLR_CC_IF): Rewrite.
-       (AT_YACC_IF): Reject %language.
-
-2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/symtab.h (struct semantic_type): Remove the tag 'semantic_type',
-       since it wasn't used; only the typedef name 'semantic_type' is needed.
-       Also, omit trailing white space.
-
-       * bootstrap: Sync from coreutils.
-       (gnulib_extra_files): Add build-aux/announce.gen.
-       (slurp): Adjust .gitignore files like .cvsignore files.
-       * build-aux/announce-gen: Remove from CVS, since bootstrap
-       now creates this.
-
-2006-12-16  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Make %push-parser imply %pure-parser.  This fixes several bugs; see
-       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00148.html>.
-       * src/parse-gram.y (prologue_declaration): For %push-parser, also set
-       pure_parser = true.
-       * data/push.c: Don't bother testing b4_push_if when deciding whether
-       to expand b4_declare_parser_variables globally.
-       (yypush_parse): Likewise in here.
-
-       * data/push.c (yypush_parse): Add b4_parse_param to arguments.
-       (yy_reduce_print): Reformat M4 for readability.
-
-2006-12-15  Bob Rossi  <bob@brasko.net>
-       and Joel Denny  <jdenny@ces.clemson.edu>
-
-       * data/push.c (yypstate): Add typedef, and update all uses of
-       struct yypstate to just yypstate.
-       * tests/calc.at (_AT_DATA_CALC_Y): Update here as well.
-
-2006-12-14  Bob Rossi  <bob@brasko.net>
-
-       * data/push.c (yypush_parse): Declare prototype regardless of
-       %locations option.
-
-2006-12-14  Bob Rossi  <bob@brasko.net>
-
-       * data/push.c (yyparse): Remove the prototype and the #define when in
-       push-parser mode.
-
-2006-12-13  Bob Rossi  <bob@brasko.net>
-
-       * data/push.c (yypstate_init): Rename to...
-       (yypstate_new): ... this and use b4_c_function_def.
-       (yypstate_delete): New.
-       (yypush_parse): Change parameters yynval and yynlloc to be const.
-       * tests/calc.at (_AT_DATA_CALC_Y): Use new yypstate_new and
-       yypstate_delete functions.
-
-2006-12-13  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * configure.ac (AC_PREREQ): Require Autoconf 2.61 because of our
-       strange test case titles.  Reported by Bob Rossi.
-
-2006-12-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * TODO: Add pointer to Sylvain Schmitz's work on static detection
-       of potential ambiguities in GLR grammers.
-
-2006-12-12  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/testsuite.at (AT_CHECK): When checking if $1 starts with
-       `bison ', use m4_index instead of m4_substr since chopping up a string
-       containing M4-special characters causes problems here.
-
-       Fix a couple of bugs related to special characters in user-specified
-       file names, and make it easier for skeletons to compute output file
-       names with the same file name prefix as Bison-computed output file
-       names.
-       * data/glr.cc, data/push.c, data/yacc.c: In @output, use
-       b4_parser_file_name and b4_spec_defines_file instead of
-       @output_parser_name@ and @output_header_name@, which are now redundant.
-       * data/glr.c, data/lalr1.cc: Likewise.  Also, in header #include's, use
-       b4_parser_file_name, b4_spec_defines_file, and the new
-       @basename(FILENAME@) instead of @output_parser_name@ and
-       @output_header_name@, which inappropriately escaped the file names as
-       C string literals.
-       * src/files.c (all_but_ext): Remove static qualifier.
-       (compute_output_file_names): Move `free (all_but_ext)' to...
-       (output_file_names_free): ... here since all_but_ext is needed later.
-       * src/files.h (all_but_ext): Extern.
-       * src/muscle_tab.h (MUSCLE_INSERT_STRING_RAW): New macro that does
-       exactly what MUSCLE_INSERT_STRING used to do.
-       (MUSCLE_INSERT_STRING): Use MUSCLE_OBSTACK_SGROW so that M4-special
-       characters are escaped properly.
-       * src/output.c (prepare): Define muscle file_name_all_but_ext as
-       all_but_ext.
-       For pkgdatadir muscle, maintain previous functionality by using
-       MUSCLE_INSERT_STRING_RAW instead of MUSCLE_INSERT_STRING.  The problem
-       is that b4_pkgdatadir is used inside m4_include in the skeletons, so
-       digraphs would never be expanded.  Hopefully no one has M4-special
-       characters in his Bison installation path.
-       * src/scan-skel.l: Don't parse @output_header_name@ and
-       @output_parser_name@ anymore since they're now redundant.
-       In @output, use decode_at_digraphs.
-       Parse a new @basename command that invokes last_component.
-       (decode_at_digraphs): New.
-       (BASE_QPUTS): Remove unused.
-       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): New macro.
-       (Output file name): New tests.
-
-2006-12-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Warn about output files that are generated by the skeletons and that
-       conflict with other output files.
-       * data/glr.c: Don't generate the header file here when glr.cc does.
-       * src/files.c (file_names, file_names_count): New static globals.
-       (compute_output_file_names): Invoke output_file_name_check for files
-       not generated by the skeletons and remove existing checks.
-       (output_file_name_check): New function that warns about conflicting
-       output file names.
-       (output_file_names_free): Free file_names.
-       * src/files.h (output_file_name_check): Declare.
-       * src/scan-skel.l: Invoke output_file_name_check for files generated by
-       the skeletons.
-       * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): New.
-       (Conflicting output files): New tests.
-
-2006-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * doc/bison.texinfo: Fix a couple of typos.
-
-2006-12-08  Bob Rossi  <bob@brasko.net>
-
-       * data/push.c: (yypvarsinit, yypvars, struct yypvars, yypushparse):
-       Rename to...
-       (yypstate_init, yypstate, struct yypstate, yypush_parse): ... these and
-       update all uses.
-       (b4_yyssa, b4_yyerror_range, yypstate_init): Rename pv to yyps.
-       (yypush_parse): Rename yypvars argument to yyps and remove redundant
-       local pv.
-       (yypstate_init, yypush_parse): Declare in Bison-generated header file.
-       * tests/calc.at (_AT_DATA_CALC_Y): Use newly named functions.
-
-2006-12-07  Bob Rossi  <bob@brasko.net>
-       and Joel Denny  <jdenny@ces.clemson.edu>
-
-       * data/push.c (yypvarsinit): Change return type from void* to struct
-       yypvars*. No longer cast to void* on return.
-       (struct yypvars): Remove yylen since it need not be remembered between
-       yypushparse invocations.
-       (yypushparse): Don't copy between yylen and pv->yylen.
-
-2006-12-05  Bob Rossi  <bob@brasko.net>
-
-       * data/push.c (yychar_set, yylval_set, yylloc_set): Delete.
-       (yypushparse): Add yynchar, yynlval, yynlloc parameters.
-       (b4_declare_parser_variables): Do not declare yynerrs for push mode.
-       (struct yypvars): Remove b4_declare_parser_variables.
-       (yypvarsinit): Remove init code for removed variables.
-       (global scope): Do not declare b4_declare_parser_variables if
-       push or pure mode.
-       (yypushparse): Add b4_declare_parser_variables.
-       Init new local variables, and remove init code for removed
-       yypvars variables.
-       (yyparse): Delete.
-       * tests/calc.at (_AT_DATA_CALC_Y): Call yypushparse for push mode
-       and yyparse for other modes.
-       (AT_CHECK_CALC_LALR): Added '%skeleton "push.c"' for push tests.
-       * tests/local.at (AT_PUSH_IF, AT_PURE_OR_PUSH_IF): Added.
-       (AT_YYERROR_SEES_LOC_IF): push-parser makes this false.
-       (AT_PURE_LEX_IF): True if pure or push parser.
-
-2006-12-05  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Document Yacc prologue alternatives and default %destructor's and
-       %printer's as experimental.  Don't mention Java yet.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00002.html>.
-       * NEWS (2.3a+): Say they're experimental.  Remove any mention of Java.
-       (2.3a): Annotate this entry to say the old forms of these features were
-       also experimental.
-       * doc/bison.texinfo (Prologue Alternatives, Freeing Discarded Symbols,
-       Table of Symbols): Say they're experimental.  Comment out any mention
-       of Java (we'll want this back eventually).
-
-2006-12-01  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Support a file name argument to %defines.  Deprecate `=' in
-       %file-prefix, %name-prefix, and %output.  Discussed at
-       <http://lists.gnu.org/archive/html/help-bison/2006-09/msg00001.html>.
-       * NEWS (2.3a+): Mention.
-       * doc/bison.texinfo (Decl Summary, Table of Symbols): Add entry for new
-       form of %defines, and remove `=' from entries for %file-prefix,
-       %name-prefix, and %output.
-       * src/parse-gram.y (prologue_declaration): Implement.
-       * tests/calc.at (Simple LALR Calculator, Simple GLR Calculator, Simple
-       LALR1 C++ Calculator, Simple GLR C++ Calculator): Remove the `=' from
-       all but one occurrence of %name-prefix.
-       * tests/headers.at (export YYLTYPE): Remove the `=' from %name-prefix.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Likewise.
-       * tests/output.at (AT_CHECK_OUTPUT): Remove the `=' from all but one
-       occurrence of each of %file-prefix and %output.  Add check for %defines
-       with argument.
-       * tests/reduce.at (Useless Terminals, Useless Nonterminals,
-       Useless Rules, Reduced Automaton, Underivable Rules, Empty Language):
-       Remove the `=' from %output.
-
-2006-11-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't escape $ in test case titles since Autoconf 2.61 now does that
-       correctly.
-       * tests/actions.at (Default %printer and %destructor are not for error
-       or $undefined): Here.
-       (Default %printer and %destructor are not for $accept): Here.
-       * tests/input.at (Invalid $n and @n): Here.
-
-2006-11-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Rename <!> to <>.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-11/msg00039.html>.
-       * NEWS (2.3a+): Update.
-       * doc/bison.texinfo (Freeing Discarded Symbols, Table of Symbols):
-       Update.
-       * src/parse-gram.y (TYPE_TAG_NONE, generic_symlist_item): Implement.
-       * src/scan-gram.l (INITIAL): Implement.
-       * src/symlist.c (symbol_list_default_tagless_new): Update comment.
-       * src/symlist.h (symbol_list, symbol_list_default_tagless_new): Update
-       comment.
-       * tests/actions.at (Default tagless %printer and %destructor,
-       Default tagged and per-type %printer and %destructor,
-       Default %printer and %destructor are not for error or $undefined,
-       Default %printer and %destructor are not for $accept,
-       Default %printer and %destructor for mid-rule values): Update.
-       * tests/input.at (Default %printer and %destructor redeclared,
-       Unused values with default %destructor): Update.
-
-2006-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't let %prec take a nonterminal.
-       * src/reader.c (grammar_current_rule_prec_set): Make the %prec symbol a
-       token.
-       * tests/input.at (%prec takes a token): New test checking that %prec
-       won't take a nonterminal.
-
-2006-11-10  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/testsuite.at (AT_CHECK): Don't miss an exit value of 0 because
-       it was double-quoted.
-       * src/Makefile.am (YACC): Use --warnings=all,error so that Bison's own
-       grammar is maintained with Bison's highest standards.
-       * src/getargs.c: Fix some typos in Doxygen comments.
-
-2006-11-10  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix memory leaks in scanners generated by at least Flex 2.5.9 and
-       later.  Reported by Paul Eggert in
-       <http://lists.gnu.org/archive/html/bison-patches/2006-11/msg00014.html>.
-       * src/flex-scanner.h (yylex_destroy): Define for Flex before 2.5.9.
-       * src/scan-code.l (translate_action): Don't bother invoking
-       yy_delete_buffer (YY_CURRENT_BUFFER) before creating the first buffer.
-       (code_scanner_free): Instead of invoking
-       yy_delete_buffer (YY_CURRENT_BUFFER) directly, invoke yylex_destroy,
-       which frees more.
-       * src/scan-gram.l (gram_scanner_free): Likewise.
-       * src/scan-skel.l (scan_skel): Likewise.
-
-2006-11-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/files.c (tr): Change return type to void.
-       * src/muscle_tab.c (muscle_insert): Free storage in case muscle_grow
-       has been called previously for the same key.
-       (muscle_find): Return storage instead of value so that
-       --enable-gcc-warnings doesn't produce warnings that the return discards
-       const.  aver that the value and storage are the same since storage
-       could potentially be NULL when value is not.
-       * tests/testsuite.at (AT_CHECK): Treat an unspecified exit value the
-       same as 0.
-
-2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap.conf (excluded_files): Exclude m4/codeset.m4 (undoing
-       the earlier change today), m4/intl.m4, m4/intldir.m4.  This gives
-       us a slightly cleaner distribution, and also works.
-       * m4/.cvsignore: Add inline.m4, wint_t.m4 to accommodate recent
-       gnulib changes.
-
-2006-11-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-       and Paul Eggert  <eggert@cs.ucla.edu>
-
-       Don't let Bison leak memory except when it complains.
-       * src/files.h (parser_file_name, spec_verbose_file, spec_graph_file):
-       (spec_defines_file, dir_prefix): Now char *, not const char *,
-       since they are freed.
-       * src/files.c: Likewise.
-       (all_but_ext, all_but_tab_ext, src_extension, header_extension):
-       Likewise.
-       (tr): Now operates in-place.  All uses changed.
-       (compute_exts_from_gf, compute_exts_from_src): Don't leak temporary
-       values.
-       (compute_file_name_parts, compute_output_file_names): Don't store
-       read-only data in variables that will be freed.
-       (compute_output_file_names): Free all_but_ext, all_but_tab_ext,
-       src_extension, and header_extension.
-       (output_file_names_free): New public function to free
-       spec_verbose_file, spec_graph_file, spec_defines_file,
-       parser_file_name, and dir_prefix.
-       * src/getargs.c (getargs): Don't store read-only data in variables that
-       will be freed.
-       * src/main.c (main): Invoke output_file_names_free, code_scanner_free
-       (which previously existed but was unused), and quotearg_free.
-       * src/muscle_tab.h (muscle_insert): value arg is now a `char const *'.
-       * src/muscle_tab.c: Likewise.
-       (muscle_entry): Make the value char const *,
-       and add a new storage member that is char * and can be freed.
-       (muscle_entry_free): New private function.
-       (muscle_init): Use it instead of free.
-       (muscle_insert, muscle_grow): Update and use new storage member.
-       (muscle_code_grow): Free the string passed to muscle_grow
-       since it's not needed anymore.
-       * src/parse-gram.y (%union): Make `chars' member a `char const *', and
-       add a new `char *code' member.
-       ("{...}"): Declare semantic type as code.
-       * src/scan-code.h (translate_rule_action):
-       (translate_symbol_action, translate_code, translate_action): Return
-       `char const *' rather than `char *' since external code should not free
-       these strings.
-       * src/scan-code.l: Likewise.
-       * src/scan-gram.l (<SC_BRACED_CODE>): Use val->code for BRACED_CODE,
-       which is "{...}" in the parser.
-       * tests/Makefile.am (maintainer-check-valgrind): Set
-       VALGRIND_OPTS='--leak-check=full --show-reacheable=yes' before invoking
-       Valgrind.
-       * tests/calc.at (_AT_DATA_CALC_Y): fclose the FILE* so Valgrind doesn't
-       complain.
-       * tests/testsuite.at (AT_CHECK): Redefine so that running Bison and
-       expecting a non-zero exit status sets --leak-check=summary and
-       --show-reachable=no for Valgrind.  Bison unabashedly leaks memory in
-       this case, and we don't want to hear about it.
-
-2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap (runtime-po/Makevars): Derive from po/Makevars
-       instead of from the template, to simplify configuration a bit.
-       * bootstrap.conf (excluded_files): Don't exclude m4/codeset.m4
-       and m4/wint_t.m4, as they are needed with the latest gnulib.
-
-2006-10-31  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Disable unset/unused mid-rule value warnings by default, and recognize
-       --warnings=midrule-values to enable them.  Discussed starting at
-       <http://lists.gnu.org/archive/html/help-bison/2006-10/msg00030.html>.
-       * NEWS (2.3a+): Mention.
-       * src/getargs.c, src/getargs.h (warnings_args, warnings_types, enum
-       warnings): Add entry for midrule-values subargument.
-       * src/reader.c (symbol_should_be_used): Don't return true just because
-       the value is a set/used mid-rule value unless
-       --warnings=midrule-values was specified.
-       * tests/input.at (Unused values, Unused values before symbol
-       declarations): Run tests with and without --warnings=midrule-values.
-
-       * src/reader.c (check_and_convert_grammar): Use symbol_list_free rather
-       than LIST_FREE directly.
-
-2006-10-31  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Finish implementing --warnings=error, which should not be implied by
-       --warnings=all (or by its synonyms -W and --warnings without
-       subarguments).
-       * src/complain.c (set_warning_issued): New function to report that
-       warnings are being treated as errors and to record an error if so.
-       Invoke...
-       (warn_at, warn): ... here.
-       * src/getargs.c (warnings_args, warnings_types): Reorder so that
-       "error - warnings are errors" does not appear above "all - all of the
-       above".
-       (getargs): For -W and --warnings without subarguments, don't let
-       FLAGS_ARGMATCH set warnings_error in warnings_flag.
-       * src/getargs.h (enum warnings): Unset warnings_error in warnings_all.
-
-2006-10-31  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/getargs.c (flags_argmatch): Don't cause segmentation fault for
-       empty subargument list.  For example: `bison  --warnings=  parser.y'.
-
-2006-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/push.c, data/yacc.c: Make sure there's a newline at the end of
-       the parser header file so that gcc doesn't warn.
-
-2006-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Split the default %destructor/%printer into two kinds: <*> and <!>.
-       Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00060.html>.
-       * NEWS (2.3a+): Mention.
-       * doc/bison.texinfo (Freeing Discarded Symbols): Document this and the
-       previous change today related to mid-rules.
-       (Table of Symbols): Remove %symbol-default and add <*> and <!>.
-       * src/parse-gram.y (PERCENT_SYMBOL_DEFAULT): Remove.
-       (TYPE_TAG_ANY): Add as <*>.
-       (TYPE_TAG_NONE): Add as <!>.
-       (generic_symlist_item): Remove RHS for %symbol-default and add RHS's
-       for <*> and <!>.
-       * src/scan-gram.l (PERCENT_SYMBOL_DEFAULT): Remove.
-       (TYPE_TAG_ANY, TYPE_TAG_NONE): Add.
-       * src/symlist.c (symbol_list_default_new): Split into tagged and
-       tagless versions.
-       (symbol_list_destructor_set, symbol_list_printer_set): Split
-       SYMLIST_DEFAULT case into SYMLIST_DEFAULT_TAGGED and
-       SYMLIST_DEFAULT_TAGLESS.
-       * src/symlist.h: Update symbol_list_default*_new prototypes.
-       (symbol_list.content_type): Split enum value SYMLIST_DEFAULT into
-       SYMLIST_DEFAULT_TAGGED and SYMLIST_DEFAULT_TAGLESS.
-       * src/symtab.c (default_destructor, default_destructor_location,
-       default_printer, default_printer_location): Split each into tagged and
-       tagless versions.
-       (symbol_destructor_get, symbol_destructor_location_get,
-       symbol_printer_get, symbol_printer_location_get): Implement tagged
-       default and tagless default cases.
-       (default_destructor_set, default_printer_set): Split each into tagged
-       and tagless versions.
-       * src/symtab.h: Update prototypes.
-       * tests/actions.at (Default %printer and %destructor): Rename to...
-       (Default tagless %printer and %destructor): ... this, and extend.
-       (Per-type %printer and %destructor): Rename to...
-       (Default tagged and per-type %printer and %destructor): ... this, and
-       extend.
-       (Default %printer and %destructor for user-defined end token): Extend.
-       (Default %printer and %destructor are not for error or $undefined):
-       Update.
-       (Default %printer and %destructor are not for $accept): Update.
-       (Default %printer and %destructor for mid-rule values): Extend.
-       * tests/input.at (Default %printer and %destructor redeclared): Extend.
-       (Unused values with default %destructor): Extend.
-
-2006-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't apply the default %destructor/%printer to an unreferenced midrule
-       value.  Mentioned at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00104.html>.
-       * src/symtab.c (dummy_symbol_get): Name all dummy symbols initially
-       like $@n instead of just @n so that the default %destructor/%printer
-       logic doesn't see them as user-defined symbols.
-       (symbol_is_dummy): Check for both forms of the name.
-       * src/reader.c (packgram): Remove the `$' from each midrule symbol
-       name for which the midrule value is referenced in any action.
-       * tests/actions.at (Default %printer and %destructor for mid-rule
-       values): New test.
-       * tests/regression.at (Rule Line Numbers, Web2c Report): Update output
-       for change to dummy symbol names.
-
-2006-10-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Warn about unset midrule $$ if the corresponding $n is used.
-       * src/reader.c (symbol_should_be_used): Check midrule parent rule for
-       $n usage.
-       (packgram): Before invoking grammar_rule_check on any rule, make sure
-       all actions have already been scanned in order to set `used' flags.
-       Otherwise, checking that a midrule's $$ is set will not always work
-       properly because the midrule check must forward-reference the midrule's
-       parent rule.
-       * tests/input.at (AT_CHECK_UNUSED_VALUES): Extend to check the new
-       warning.
-
-2006-10-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       More improvements to the documentation of the prologue alternatives:
-       * NEWS (2.3a+): Mention the new `Prologue Alternatives' section in the
-       Bison manual.
-       * doc/bison.texinfo (Prologue Alternatives): Correct some errors.  Add
-       some text to clarify the relative importance of the new directives and
-       to show how these directives may be viewed as code labels.
-
-2006-10-16  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Similar to the recently removed %before-header, add %code-top as the
-       alternative to the pre-prologue.  Mentioned at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-10/msg00063.html>.
-       Also, let the prologue alternatives appear in the grammar section.
-       * src/parse-gram.y (PERCENT_CODE_TOP): New token.
-       (prologue_declaration): Move the existing prologue alternatives to...
-       (grammar_declaration): ... here and add %code-top.
-       * src/scan-gram.l (PERCENT_CODE_TOP): New token.
-
-       Clean up and extend documentation for the prologue alternatives.
-       * NEWS (2.3a+): Describe prologue alternatives.
-       * doc/bison.texinfo (Prologue): Move discussion of prologue
-       alternatives to...
-       (Prologue Alternatives): ... this new section, and extend it to discuss
-       all 4 directives in detail.
-       (Table of Symbols): Clean up discussion of prologue alternatives and
-       add %code-top.
-
-2006-10-16  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       DJGPP specific issues.
-
-       * djgpp/config.bat: config.hin has been moved to lib. Adjust
-       config.bat accordingly.
-       * djgpp/config.sed: Adjust config.sed for the use of autoconf 2.60.
-       * djgpp/config.site: Likewise.
-
-2006-10-16  Paolo Bonzini  <bonzini@gnu.org>
-
-       Replace %*-header with %provides, %requires, %code.  See discussion at
-       http://lists.gnu.org/archive/html/bison-patches/2006-10/msg00002.html
-
-       * data/bison.m4 (b4_user_requires, b4_user_provides): New.
-       (b4_user_start_header): Remove.
-       * data/glr.c: Use new macros instead of b4_*start_header
-       and b4_*end_header.
-       * data/glr.cc: Likewise.
-       * data/lalr1.cc: Likewise.
-       * data/push.c: Likewise.
-       * data/yacc.c: Likewise.
-
-       * doc/bison.texinfo: Remove %before-header, rename
-       %{start,end,after}-header to %requires, %provides, %code.
-
-       * src/parse-gram.y: Likewise (also rename token names accordingly).
-       * src/scan-gram.l: Likewise.
-       * tests/actions.at: Likewise.
-
-2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lib/Makefile.am (AM_CFLAGS): Remove $(WERROR_CFLAGS).
-       Problem reported by Joel E. Denny.
-
-2006-10-14  Jim Meyering  <jim@meyering.net>
-
-       (Sync from coreutils.)
-       Work also when the working directory (with e.g. coreutils sources)
-       is version controlled with git, rather than CVS.
-       * bootstrap (CVS_only_file): Test for the existence of README-cvs,
-       rather than CVS.
-       In messages and comments, say e.g., "checked-out sources",
-       rather than "CVS sources".
-       (version_controlled_file): New function.  Work for git as well as
-       for CVS.  Don't use grep's -q option.
-       (slurp): Call it here, in place of CVS-specific code.
-
-2006-10-14  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix testsuite for ./configure --enable-gcc-warnings:
-       * configure.ac (gcc-warnings): Move -Wall before -Wno-sign-compare.
-       Otherwise, gcc 4.1.0 (at least) warns about sign comparisons in
-       __AT_CHECK_PRINTER_AND_DESTRUCTOR in tests/actions.at.
-       * test/input.at (Torturing the Scanner): #include <stdlib.h> for abort.
-       * test/regression.at (Diagnostic that expects two alternatives):
-       Likewise.
-
-2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap.conf (gnulib_modules): Add config-h.
-       * djgpp/subpipe.c: Include <config.h> unconditionally; don't
-       worry about HAVE_CONFIG_H.
-       * lib/abitset.c: Likewise.
-       * lib/bitset.c: Likewise.
-       * lib/bitset_stats.c: Likewise.
-       * lib/bitsetv-print.c: Likewise.
-       * lib/bitsetv.c: Likewise.
-       * lib/ebitset.c: Likewise.
-       * lib/get-errno.c: Likewise.
-       * lib/lbitset.c: Likewise.
-       * lib/subpipe.c: Likewise.
-       * lib/timevar.c: Likewise.
-       * lib/vbitset.c: Likewise.
-       * lib/bitset.c: Include "bitset.h" first, to test interface.
-       * lib/bitset_stats.c: Include "bitset_stats.h" first.
-       * lib/bitsetv-print.c: Include "bitsetv-print.h" first.
-       * lib/bitsetv.c: Include "bitsetv.h" first.
-       * lib/get-errno.c: Include "get-errno.h" first.
-       * m4/.cvsignore: Add config-h.m4.
-       * tests/actions.at (Default %printer and %destructor for ...):
-       Adjust expected line numbers in output to reflect removal of #if
-       HAVE_CONFIG_H lines.
-       * tests/glr-regression.at (Missed %merge type warnings when ...):
-       Likewise.
-       * tests/regression.at (Braced code in declaration in rules section):
-       Likewise.
-       * tests/atlocal.in (CPPFLAGS): Don't define HAVE_CONFIG_H.
-       * tests/local.at (AT_DATA_GRAMMAR_PROLOGUE):
-       Include <config.h> unconditionally.
-
-       * bootstrap: Sync from coreutils, as follows:
-
-       2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap (symlink_to_gnulib): Fix bug: the dot_dots shell
-       variable was sometimes used without being initialized.  This
-       messed up the installation of the INSTALL file in some cases.
-
-       2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap (usage, main program, symlink_to_gnulib): Add option
-       --copy.  Inspired by a suggestion from Bruno Haible.
-
-       2006-10-03  Jim Meyering  <jim@meyering.net>
-
-       * bootstrap: Undo last change to this file, since now gnulib-tool
-       sticks with the automake default in generating dependencies.
-
-2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * configure.ac: Use AC_PROG_CC_STDC; this is more modern than
-       the old AC_PROG_CC / AM_PROG_CC_STDC combination.
-
-       * doc/bison.1: Add copyright notice.
-
-       * data/glr.c: Don't include <stdarg.h>; not used.
-
-       * NEWS: The -g and --graph options now output graphs in Graphviz
-       DOT format, not VCG format.
-       * doc/bison.1: Likewise.
-       * doc/bison.texinfo (Understanding, Bison Options): Likewise.
-       * THANKS: Add Satya Kiran Popuri, who proposed the initial version
-       of this change in
-       <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00158.html>.
-       * TODO: Remove Graphviz entry.
-       * src/Makefile.am (bison_SOURCES): Add graphviz.c and graphviz.h;
-       remove vcg.c, vcg.h, vcg_defaults.h.
-       * src/vcg.c, src/vcg.h, src/vcg_defaults.h: Remove.
-       * src/graphviz.c, src/graphviz.h: New files.
-       * src/files.c (compute_output_file_names): Output .dot, not .vcg.
-       * src/files.h: Make comment more generic.
-       * src/main.c (main): Likewise.
-       * src/print_graph.h: Likewise.
-       * src/getargs.c (usage): Make usage description more generic.
-       * src/print_graph.c: Include graphviz.h rather than vcg.h.
-       (static_graph, fgraph): Remove.  All uses changed to pass
-       arguments instead of sharing a static var.
-       (print_core, print_actions, print_state, print_graph):
-       Output graphviz format rather than VCG format.
-       * tests/.cvsignore: Remove *.vcg; add *.dot.
-       * tests/output.at: Expect *.dot files, not *.vcg files.
-
-       * data/Makefile.am (dist_pkgdata_DATA): Add bison.m4; this
-       accommodates the 2006-10-08 change.
-
-2006-10-11  Bob Rossi  <bob@brasko.net>
-
-       * data/push.c (yypushparse, yypvarsinit, yypvars): Wrap in b4_push_if.
-       (b4_yyssa, b4_yyerror_range): New macros.
-       (struct yypvars): Remove yyssa_ptr and yyerror_range_ptr fields.
-       (yypvarsinit): Remove init of removed fields.
-       (yypushparse): Remove use of removed fields; use new macros instead.
-
-2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/push.c (yypushparse): Fix memory leak if yymsg is malloced
-       in a push parser.  Reindent slightly to match yacc.c better.
-
-2006-10-11  Bob Rossi  <bob@brasko.net>
-
-       * data/push.c (struct yypvars): Remove yymsgbuf, yymsgbuf_ptr, yymsg,
-       yymsg_alloc fields.
-       (yypvarsinit, yypushparse): Remove init of removed fields.
-       (yypushparse): Use yymsgbuf instead of yymsgbuf_ptr.
-
-2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * THANKS: Add Paolo Bonzini and Bob Rossi.
-
-2006-10-08  Paolo Bonzini  <bonzini@gnu.org>
-
-       * data/c.m4 (b4_copyright, b4_epilogue, b4_location_initial_column,
-       b4_location_initial_line, p4_parse_param, b4_ints_in, b4_flag_if,
-       b4_define_flag_if and uses, b4_basename, b4_syncline, b4_user_code,
-       b4_define_user_cde and uses): Remove.
-       (b4_comment, b4_prefix, b4_sync_start): New.
-       * data/bison.m4: New file, with most of the content removed from c.m4.
-       * src/muscle_tab.h: Use "do {...} while(0)" throughout.
-       * src/output.c (output_skeleton): Pass bison.m4.
-       (prepare): Pass glr_flag and nondeterministic_flag.  Pass prefix
-       only if specified.
-
-2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix test failure reported by Tom Lane in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-10/msg00000.html>
-       and try to make such failures easier to catch in the future.
-       * data/glr.c (YYTRANSLATE): Don't check for nonpositive arg;
-       that's now the caller's responsibility.
-       (yyprocessOneStack, yyrecoverSyntaxError, yyparse):
-       Set yychar = YYEOF if it's negative.
-       * tests/actions.at (yylex): Abort if asked to read past EOF.
-       * tests/conflicts.at (yylex): Likewise.
-       * tests/cxx-type.at (yylex): Likewise.
-       * tests/glr-regression.at (yylex): Likewise.
-       * tests/input.at (yylex): Likewise.
-       * tests/regression.at (yylex): Likewise.
-       * tests/torture.at (yylex): Likewise.
-
-2006-10-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix problems with translating English-language diagnostics.
-       * bootstrap: Fix bug introduced in recent bootstrap changes, with
-       respect to bison-runtime pot generation.  The YY_ stuff
-       wasn't being captured.
-       * bootstrap.conf (XGETTEXT_OPTIONS_RUNTIME): New var.
-       * po/POTFILES.in: Add src/location.c, src/scan-code.l.
-       * runtime-po/POTFILES.in: Add data/push.c.
-
-2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Merge bootstrap changes from coreutils.
-
-       2006-09-28  Jim Meyering  <jim@meyering.net>
-
-       Automatically generated dependencies are important even
-       when all of the sources in a directory come from gnulib.
-       * bootstrap (gnulib_tool): Remove the "no-dependencies" automake
-       option that gnulib-tool adds to what becomes our lib/gnulib.mk.
-
-       2006-09-23  Jim Meyering  <jim@meyering.net>
-
-       * bootstrap (gnulib_tool_options): Add "--local-dir gl".
-
-       2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap: Add support for --force.
-       (usage): New function.  Describe usage less tersely.
-       (CVS_only_file): New var.
-
-2006-09-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/push.c (YYPUSH_MORE): Make it an enum instead.
-       (yypushparse): Use YYPUSH_MORE instead of the mystery constant.
-       Adjust white space and comments to match GNU style better.
-
-2006-09-20  Bob Rossi  <bob@brasko.net>
-
-       * data/push.c (yyresult_get): Remove function.
-       (YYPUSH_MORE): Add #define.
-       (yypushparse): Modify return value.
-
-2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * stamp-h.in: Remove; no longer needed.
-       * .cvsignore: Replace autom4te.cache and config.cache with *.cache.
-       Remove config.h, config.hin, intl (no longer created).
-       * lib/.cvsignore: Add config.h, config.hin, configmake.h, inttypes.h,
-       stamp-h1.
-
-       Sync bootstrap from coreutils, as follows:
-
-       2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap (symlink_to_gnulib): New function.
-       (cp_mark_as_generated): Use it, to prefer symlinks-to-gnulib
-       to copies-of-gnulib.
-       (cp_mark_as_generated, slurp, gnulib_files):
-       Avoid making a copy if it's the same as the old version.
-       (gnulib_files): Add support for this variable (used by Bison).
-
-2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/getargs.c (usage): Rework to use conventions similar to
-       coreutils, to make translation a bit easier and the code a bit
-       smaller.  Problem reported by Tim Van Holder.
-
-2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use some of gnulib's new modules, taken from coreutils.
-
-       * bootstrap: Sync from coreutils, except add support for gnulib_files.
-       * bootstrap.conf: New file.
-       (gnulib_modules): Add configmake, inttypes, unistd.
-       (XGETTEXT_OPTIONS): Add complain, complain_at,
-       fatal, fatal_at, warn, warn_at, unexpected_end.
-       * configure.ac (AC_CONFIG_HEADERS): config.h is now in lib, not here.
-       (gl_USE_SYSTEM_EXTENSIONS): Remove; gl_EARLY now does this.
-       (gl_EARLY): Add.
-       (AM_STDBOOL_H): Remove; gl_INIT now dows this.
-       (gl_INIT): Add
-       (GNULIB_AUTOCONF_SNIPPET): Remove.
-       (AM_GNU_GETTEXT): Add; require formatstring macros since that's
-       the pickiest.
-       * lib/.cvsignore: Add inttypes_.h.
-       * lib/Makefile.am: Include gnulib.mk first so we can append to it.
-       (AM_CFLAGS): Add WERROR_CFLAGS, to be more like coreutils.
-       (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES): Remove
-       no-longer-necessary initializations.
-       (lib_SOURCES): Remove, replacing by libbison_a_SOURCES.
-       * lib/subpipe.c: Include <unistd.h> unconditionally, now that we
-       use the unistd module.
-       * src/system.h: Likewise.
-       * m4/.cvsignore: Remove *_gl.m4, gnulib.m4, inttypes_h.m4, uintmax_t.m4,
-       ulonglong.m4.  Add gettext.m4, gnulib-cache.m4, gnulib-comp.m4,
-       gnulib-tool.m4, inttypes-h.m4, inttypes-pri.m4, inttypes.m4.
-       * src/Makefile.am (DEFS): Remove, since configmake does this for us.
-       (AM_CPPFLAGS): Remove -I../lib, since Automake does that for us.
-       * src/system.h: Include inttypes.h unconditionally, now that we
-       use the inttypes module.  Don't bother to include stdint.h, since
-       inttypes.h now does that for us.
-       (LOCALEDIR): Remove, now that we use the configmake module.
-       * src/getargs.c: Include configmake.h.
-       * src/main.c: Likewise.
-       * src/output.c: Likewise.
-       * tests/atlocal.in (CPPFLAGS): Include from $abs_top_builddir/lib,
-       not from $abs_top_builddir, since config.h moved.
-
-
-       Port to GCC 2.95.  First two problems reported by Michael Deutschmann in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00018.html>.
-
-       * src/parse-gram.y (symbol_declaration): Don't put statements
-       before declarations; it's not portable to C89.
-       * src/scan-code.l (handle_action_at): Likewise.
-
-       * src/scan-code.l: Always initialize braces_level; the old code
-       left it uninitialized and therefore had undefined behavior.
-
-       Don't attempt to redefine 'assert', since it runs afoul of
-       systems where standard headers (mistakenly) include <assert.h>.
-       Instead, define and use our own alternative, called 'aver'.
-       * src/reader.c: Don't include assert.h, since we no longer
-       use assert.
-       * src/scan-code.l: Likewise.
-       * src/system.h (assert): Remove, replacing with....
-       (aver): New function, taking a bool arg.  All uses changed.
-       * src/tables.c (pack_vector): Ensure that aver arg is bool,
-       not merely an integer.
-
-2006-09-15  Bob Rossi  <bob@brasko.net>
-
-       Add support for push parsing.  Based on the original work of
-       Odd Arild Olsen <oao@fibula.no>.
-       * data/Makefile.am (dist_pkgdata_DATA): Add push.c.
-       * data/c.m4 (YYPUSH): New.
-       (b4_push_if): New macro.  Use it instead of #ifdef YYPUSH.
-       * data/push.c: New file.
-       * src/getargs.c (push_parser): New var.
-       * src/getargs.h (push_parser): New declaration.
-       * src/output.c (prepare): Add macro insertion of `push_flag'.
-       * src/parse-gram.y (PERCENT_PUSH_PARSER): New token.
-       (prologue_declaration): Parse %push-parser.
-       * src/scan-gram.l: Scan new PERCENT_PUSH_PARSER token.
-       * tests/calc.at (_AT_CHECK_CALC_ERROR): Add "Return" and "Now" to
-       list of removed lines from the traces observed.
-       (AT_CHECK_CALC_LALR): Added push parser tests.
-
-2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 2.3a.
-       * configure.ac (AC_INIT): Likewise.
-
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Remove
-       "#define YYSTYPE int" that caused "make maintainer-check" to fail
-       due to header ordering dependencies.  I don't know why the #define
-       was there.
-
-       Fix glr.cc and lalr1.cc's use of YYDEBUG so that there's zero
-       runtime cost when YYDEBUG is not defined, and so that some tests
-       that used to fail now work.  Problem and initial suggestion by
-       Paolo Bonzini.
-       * data/c++.m4 (b4_parse_param_cons): Omit leading ','.
-       * data/glr.cc (b4_parser_class_name):
-       Initialize yycdebug_ only if YYDEBUG.  Also, initialize yydebug_.
-       (debug_level, set_debug_level): Affect yydebug_, not ::yydebug.
-       (yydebug_) [YYDEBUG]: New member.
-       (yycdebug_): Now defined only if YYDEBUG.
-       * data/lalr1.cc (yydebug_, yycdebug_): Now defined only if YYDEBUG.
-       (YYCDEBUG) [!YYDEBUG]: Don't use yydebug_ and yycdebug_.
-       (b4_parser_class_name): Initialize yydebug_ and yycdebug_ only
-       if YYYDEBUG.
-       (debug_stream, set_debug_stream, debug_level, set_debug_level):
-       Define only if YYDEBUG.
-       * tests/calc.at (_AT_DATA_CALC_Y) [!YYDEBUG]: Omit call to
-       set_debug_level.
-       * tests/regression.at (_AT_DATA_DANCER_Y) [!YYDEBUG]: Likewise.
-       * tests/calc.at (AT_CHECK_CALC_GLR_CC): Uncomment calls to
-       AT_CHECK_CALC_GLR_CC that are working now.
-
-2006-09-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.cc (YYERROR_VERBOSE, YYTOKEN_TABLE): Remove.
-       We don't need them in glr.cc, and glr.c defines them.
-       Defining YYERROR_VERBOSE to 0 here breaks glr.c, since glr.c
-       assumes that defining it to anything is the same as defining
-       it to 1.  Problem reported by Paolo Bonzini.
-
-2006-09-12  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
-
-       * data/c.m4 (b4_null, b4_case): Define.
-       * src/output.c (prepare_symbols): Use b4_null.
-       (user_actions_output): Use b4_case.
-
-2006-09-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (b4_shared_declarations): Put start-header first,
-       before any #includes that we generate, so that feature-test
-       macros work.  Problem reported by Michael Deutschmann in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00004.html>.
-       * data/lalr1.cc: Likewise.
-       * doc/bison.texinfo (Prologue): Document that feature-test macros
-       should be defined before any Bison declarations.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Put defns
-       that depend on location.hh after, not before, Bison decls, since
-       we now include location.hh after the first user prologue.
-
-       * doc/bison.texinfo (Calc++ Parser): Fix memory leak reported by
-       Sander Brandenburg in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00002.html>.
-       Also, fix minor white space and comment issues.
-       (Prologue): Mention that it's better to define feature-test macros
-       before Bison declarations.  Problem reported by Michael Deutschmann.
-
-       * README-cvs: Fix typo: "&" should be "&&".  Problem reported
-       by Jim Meyering.
-       * m4/.cvsignore: Add argmatch.m4.  Remove obstack.m4, strerror_r.m4.
-       This adjusts to recent gnulib changes.
-
-2006-09-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Finish implementation of per-type %destructor/%printer.  Discussed
-       starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-02/msg00064.html>
-       and
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00091.html>.
-       * NEWS (2.3+): Add a description of this feature to the default
-       %destructor/%printer description.
-       * doc/bison.texinfo (Freeing Discarded Symbols): Likewise.
-       * src/symlist.c (symbol_list_destructor_set, symbol_list_printer_set):
-       Invoke semantic_type_destructor_set or semantic_type_printer_set when a
-       list node contains a semantic type.
-       * src/symtab.c, src/symtab.h: Extend with a table that associates
-       semantic types with their %destructor's and %printer's.
-       (semantic_type_from_uniqstr, semantic_type_get,
-       semantic_type_destructor_set, semantic_type_printer_set): New functions
-       composing the public interface of that table.
-       (symbol_destructor_get, symbol_destructor_location_get,
-       symbol_printer_get, symbol_printer_location_get):  If there's no
-       per-symbol %destructor/%printer, look up the per-type before trying
-       the default.
-       * tests/actions.at (Per-type %printer and %destructor): New test case.
-       * tests/input.at (Default %printer and %destructor redeclared):
-       Extend to check that multiple occurrences of %symbol-default in a
-       single %destructor/%printer declaration is an error.
-       (Per-type %printer and %destructor redeclared, Unused values with
-       per-type %destructor): New test cases.
-
-2006-09-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Require default %destructor/%printer to be declared using
-       %symbol-default instead of an empty symbol list, and start working on
-       new per-type %destructor/%printer.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00007.html>.
-       * NEWS (2.3+): Add %symbol-default to example.
-       * bison.texinfo (Freeing Discarded Symbols): Likewise.
-       (Table of Symbols): Add entry for %symbol-default.
-       * src/parse-gram.y (PERCENT_SYMBOL_DEFAULT): New token.
-       (generic_symlist, generic_symlist_item): New nonterminals for creating
-       a list in which each item is a symbol, semantic type, or
-       %symbol-default.
-       (grammar_declaration): Use generic_symlist in %destructor and %printer
-       declarations instead of symbols.1 or an empty list.
-       (symbol_declaration, precedence_declaration, symbols.1): Update actions
-       for changes to symbol_list.
-       * src/reader.c: Update for changes to symbol_list.
-       * src/scan-code.l: Likewise.
-       * src/scan-gram.l: Scan new PERCENT_SYMBOL_DEFAULT token.
-       * src/symlist.c, src/symlist.h: Extend such that a list node may
-       represent a semantic type or a %symbol-default in addition to just an
-       ordinary symbol.  Add switched functions for setting %destructor's and
-       %printer's.
-       * tests/actions.at, tests/input.at: Add %symbol-default to all default
-       %destructor/%printer declarations.
-
-2006-08-23  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Whether the default %destructor/%printer applies to a particular symbol
-       isn't a question of whether the user *declares* that symbol (in %token,
-       for example).  It's a question of whether the user by any means
-       *defines* the symbol at all (by simply using a char token, for
-       example).  $end is defined by Bison whereas any other token with token
-       number 0 is defined by the user.  The error token is always defined by
-       Bison regardless of whether the user declares it with %token, but we
-       may one day let the user define error as a nonterminal instead.
-       * NEWS (2.3+): Say "user-defined" instead of "user-declared".
-       * doc/bison.texinfo (Freeing Discarded Symbols): Likewise, and document
-       the meaning of "user-defined".
-       * tests/actions.at (Default %printer and %destructor for user-declared
-       end token): Rename to...
-       (Default %printer and %destructor for user-defined end token): ...
-       this.
-
-       * src/symtab.c (symbol_destructor_get, symbol_printer_get): In the
-       computation of whether to apply the default, don't maintain a list of
-       every Bison-defined symbol.  Instead, just check for a first character
-       of '$', which a user symbol cannot have, and check for the error token.
-
-2006-08-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't apply the default %destructor or %printer to the error token,
-       $undefined, or $accept.  This change fits the general rule that the
-       default %destructor and %printer are only for user-declared symbols,
-       and it solves several difficulties that are described in the new test
-       cases listed below.
-       * src/symtab.c (symbol_destructor_get, symbol_printer_get): Implement.
-       * tests/actions.at (Default %printer and %destructor are not for error
-       or $undefined, Default %printer and %destructor are not for $accept):
-       New test cases.
-
-2006-08-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Allow %start after the first rule.
-       * src/reader.c (grammar_current_rule_begin): Don't set the start symbol
-       when parsing the first rule.
-       (check_and_convert_grammar): Search for it here after all grammar
-       declarations have been parsed.  Skip midrules, which have dummy LHS
-       nonterminals.
-       * src/symtab.c (symbol_is_dummy): New function.
-       * src/symtab.h (symbol_is_dummy): Declare it.
-       * tests/input.at (%start after first rule): New test.
-
-2006-08-18  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Redo some of the previous commit: add back the ability to use
-       non-aliased/undeclared string literals since it might be useful to
-       those declaring %token-table.
-       * src/reader.c (check_and_convert_grammar): Undo changes in previous
-       commit: don't worry about complaints from symbols_pack.
-       * src/symtab.c (symbol_new, symbol_class_set,
-       symbol_check_alias_consistency): Undo changes in previous commit: count
-       each string literal as a new symbol and token, assign it a symbol
-       number, and don't complain about non-aliased string literals.
-       (symbols_pack): Since symbol_make_alias still does not decrement symbol
-       and token counts but does still set aliased tokens to the same number,
-       symbol_pack_processor now leaves empty slots in the symbols array.
-       Remove those slots.
-       * tests/regression.at (Undeclared string literal): Remove test case
-       added in previous commit since non-aliased string literals are allowed
-       again.
-       (Characters Escapes, Web2c Actions): Undo changes in previous commit:
-       remove unnecessary string literal declarations.
-       * tests/sets.at (Firsts): Likewise.
-
-2006-08-18  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't allow an undeclared string literal, but allow a string literal to
-       be used before its declaration.
-       * src/reader.c (check_and_convert_grammar): Don't invoke packgram if
-       symbols_pack complained.
-       * src/symtab.c (symbol_new): Don't count a string literal as a new
-       symbol.
-       (symbol_class_set): Don't count a string literal as a new token, and
-       don't assign it a symbol number since symbol_make_alias does that.
-       (symbol_make_alias): It's not necessary to decrement the symbol and
-       token counts anymore.  Don't assume that an alias declaration occurs
-       before any uses of the identifier or string, and thus don't assert that
-       one of them has the highest symbol number so far.
-       (symbol_check_alias_consistency): Complain if there's a string literal
-       that wasn't declared as an alias.
-       (symbols_pack): Bail if symbol_check_alias_consistency failed since
-       symbol_pack asserts that every token has been assigned a symbol number
-       although undeclared string literals have not.
-       * tests/regression.at (String alias declared after use, Undeclared
-       string literal): New test cases.
-       (Characters Escapes, Web2c Actions): Declare string literals as
-       aliases.
-       * tests/sets.at (Firsts): Likewise.
-
-2006-08-14  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       In the grammar scanner, STRING_FINISH unclosed constructs and return
-       them to the parser in order to improve error messages.
-       * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER,
-       SC_BRACED_CODE, SC_PROLOGUE): Implement.
-       * tests/input.at (Unclosed constructs): New test case.
-       * tests/regression.at (Invalid inputs): Update now that unclosed %{ is
-       seen.
-
-       * src/scan-gram.h, src/scan-gram.l (gram_last_braced_code_loc): Remove
-       unused global.
-
-2006-08-13  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Handle string aliases for character tokens correctly.
-       * src/symtab.c (symbol_user_token_number_set): If the token has an
-       alias, check and set its alias's user token number instead of its own,
-       which is set to indicate the alias.  Previously, every occurrence of
-       the character token in the grammar overwrote that alias indicator with
-       the character code.
-       * tests/input.at (String aliases for character tokens): New test.
-
-2006-08-12  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/parse-gram.y: Add `%expect 0' so we don't overlook conflicts.
-
-2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap: Put in need-ngettext argument to AM_GNU_GETTEXT,
-       to prevent failures when building on older platforms.
-       Check for autopoint failure.
-       Set XGETTEXT_OPTIONS to values that check for C format strings,
-       so that translators are warned about them (this also helps
-       prevent core dumps).
-
-       * lib/subpipe.c (create_subpipe): Use new gnulib pipe_safer
-       function, since it simplifies our code a bit.
-
-       * configure.ac (AC_ARG_ENABLE): Use -Wextra -Wno-sign-compare
-       rather than -W, so we don't get bogus warnings about sign comparisons.
-       Add -Wpointer-arith, since that warning is useful (it reports code
-       that does not conform to C89 and that some compilers reject).
-       * data/c.m4, data/glr.c, data/lalr1.cc, data/yacc.c: Undo latest change,
-       since it's no longer needed.
-
-2006-08-10  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Clean up scanners a bit.
-       * src/flex-scanner.h (FLEX_NO_OBSTACK): New macro that blocks obstack
-       definitions so gcc won't warn when obstack_for_string is unused.
-       * src/scan-code.l: config.h and system.h are already #include'd by
-       scan-code-c.c, so get rid of them here.
-       * src/scan-gram.l: Likewise.
-       * src/scan-skel.l: Likewise, and use flex-scanner.h without obstack
-       definitions rather than duplicating the rest of it.
-       * src/scan-gram-c.c, scan-skel-c.c: #include "system.h".
-
-2006-08-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Suppress signed/unsigned comparison warnings for yycheck.
-       * data/c.m4 (b4_safest_int_type): New macro.
-       * data/glr.c, data/lalr1.cc: Wherever you compare yycheck[i] against
-       a signed int type, cast it to b4_safest_int_type first.
-       * data/yacc.c: Likewise.
-       (b4_safest_int_type): Overwrite the one from c.m4 since b4_int_type is
-       also overwritten.
-
-2006-08-09  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>  (tiny change)
-
-       * doc/bison.texinfo: Fix some typos.
-
-2006-08-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * m4/.cvsignore: Add inttypes_h.m4,lib-ld.m4, lib-prefix.m4,
-       po.m4, stdint_h.m4, uintmax_t.m4, ulonglong.m4, warning.m4.
-
-       * bootstrap (gnulib_tool): Stop using --assume-autoconf;
-       the latest gnulib does this a different way.
-       (get_translations): Sharuzzaman Ahmat Raslan reported that the ms
-       translation was patched, so stop omitting it.
-
-2006-07-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Enable declaration of default %printer/%destructor.  Make the parser
-       use these for all user-declared grammar symbols for which the user does
-       not declare a specific %printer/%destructor.  Thus, the parser uses it
-       for token 0 if the user declares it but not if Bison generates it as
-       $end.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-02/msg00064.html>,
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00091.html>,
-       and
-       <http://lists.gnu.org/archive/html/bison-patches/2006-07/msg00019.html>.
-       * NEWS (2.3+): Mention.
-       * doc/bison.texinfo (Actions in Mid-Rule): It's no longer impossible to
-       declare a %destructor for a mid-rule's semantic value.  It's just
-       impossible to declare one specific to it.
-       (Freeing Discarded Symbols): Mention that @$ can be used in %destructor
-       code.  Describe default %destructor form.
-       * src/parse-gram.y (grammar_declaration): Parse default
-       %printer/%destructor declarations.
-       * src/output.c (symbol_destructors_output): Use symbol_destructor_get
-       and symbol_destructor_location_get rather than accessing the destructor
-       and destructor_location members of struct symbol.
-       (symbol_printers_output): Likewise but for %printer's.
-       * src/reader.c (symbol_should_be_used): Likewise but for %destructor's
-       again.
-       * src/symtab.c (default_destructor, default_destructor_location,
-       default_printer, default_printer_location): New static global
-       variables to record the default %destructor and %printer.
-       (symbol_destructor_get, symbol_destructor_location_get,
-       symbol_printer_get, symbol_printer_location_get): New functions to
-       compute the appropriate %destructor and %printer for a symbol.
-       (default_destructor_set, default_printer_set): New functions to set the
-       default %destructor and %printer.
-       * src/symtab.h: Prototype all those new functions.
-       * tests/actions.at (Default %printer and %destructor): New test to
-       check that the right %printer and %destructor are called, that they're
-       not called for $end, and that $$ and @$ work correctly.
-       (Default %printer and %destructor for user-declared end token): New
-       test to check that the default %printer and %destructor are called for
-       a user-declared end token.
-       * tests/input.at (Default %printer and %destructor redeclared, Unused
-       values with default %destructor): New tests to check related grammar
-       warnings and errors.
-
-2006-07-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Clean up handling of %destructor for the end token (token 0).
-       Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-07/msg00019.html>
-       and
-       <http://lists.gnu.org/archive/html/help-bison/2006-07/msg00013.html>.
-
-       Make the skeletons consistent in how they pop the end token and invoke
-       its %destructor.
-       * data/glr.c (yyrecoverSyntaxError, yyparse): Don't pop the start
-       state, which has token number 0, since this would invoke the
-       %destructor for the end token.
-       * data/lalr1.cc (yy::parser::parse): Don't check for the final state
-       until after shifting the end token, or else it won't be popped.
-       * data/yacc.c (yyparse): Likewise.
-
-       * data/glr.c (yyparse): Clear the lookahead after shifting it even when
-       it's the end token.  Upon termination, destroy an unshifted lookahead
-       even when it's the end token.
-       * data/lalr1.cc (yy::parser::parse): Likewise.
-       * data/yacc.c (yyparse): Likewise.
-
-       * src/reader.c (packgram): Don't check rule 0.  This suppresses unused
-       value warnings for the end token when the user gives the end token a
-       %destructor.
-
-       * tests/actions.at (Printers and Destructors): Test all the above.
-
-2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Update to latest gnulib and gettext versions.
-       * bootstrap (gnulib-modules): Remove hard-locale, stdio-safer.
-       Add fopen-safer.
-       (gnulib_files): Add m4/warning.m4.  Don't worry about files
-       overwritten by autopoint.
-       Replace gt_INTL_SUBDIR_CORE with an empty body in m4/gettext_gl.m4.
-       Suppress "id", "ms", "tr" translations for now, since gettext 0.15
-       rejects them.
-       Don't use autoreconf; instead, invoke autopoint etc. by hand,
-       so that we can remove the intl files at a better time.
-       (intl_files_to_remove): Remove aclocal.m4, since it gets
-       rebuilt anyway.  Remove m4/inttypes_h.m4, m4/inttypes.m4,
-       m4/isc-posix.m4, m4/lib-ld.m4, m4/lib-prefix.m4, m4/po.m4,
-       m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
-       Add m4/inttypes-h.m4, m4/lock.m4, m4/visibility.m4.
-       Remove datarootdir hack; no longer needed.
-       * configure.ac: Use gl_WARNING_CFLAGS rather than BISON_WARNING.
-       (AM_GNU_GETTEXT_VERSION): Bump from 0.12 to 0.15.
-       * lib/.cvsignore: Remove hard-locale.c, hard-locale.h, strdup.c,
-       strdup.h.
-       * m4/.cvsignore: Remove hard-locale.m4, strdup.m4.
-       * m4/warning.m4: Remove from CVS, since we now use gnulib's version.
-
-2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap: Adjust to today's change to gnulib-tool by invoking
-       it with --assume-autoconf='latest-stable'.
-
-2006-07-13  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/parse-gram.y (grammar_declaration): Don't confuse Doxygen (at
-       least 1.4.7 and 1.4.4) by putting a #line between `typedef union
-       YYSTYPE' and `{'.
-       * src/muscle_tab.h (muscle_grow): Replace the header comments with
-       those from muscle_tab.c since the old ones are misleading.
-
-2006-07-13  Akim Demaille  <akim@epita.fr>
-
-       Support %define "KEY" {VALUE}.
-       * src/scan-code.h, src/scan-code.l (translate_action)
-       (translate_rule_action, translate_symbol_action, translate_code):
-       Return char *, not const char *.
-       * src/parse-gram.y (declaration): Rename as...
-       (prologue_declaration): this.
-       (string_content): Remove this nonterminal, use STRING.
-       (braceless, content, content.opt): New nonterminal.
-       Use them.
-       (%define): Now accept content.opt, i.e., accept also BRACED_CODE
-       as value.
-       * src/scan-gram.l (getargs.h): Don't include it.
-
-2006-07-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/lalr1.cc (YYCDEBUG): Use 'if (yydebug_) (*yycdebug_)'
-       rather than a for-loop that declares a local bool variable.  This
-       should work around a compatibility problem with a Cray x1e C++
-       compiler reported by Hung Nguyen in
-       <http://lists.gnu.org/archive/html/help-bison/2006-07/msg00022.html>.
-       The for-loop was introduced in the 2004-11-17 change but I don't
-       know why it was needed.
-
-2006-07-12  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4: Comment changes.
-
-2006-07-10  Akim Demaille  <akim@lrde.epita.fr>
-
-       * src/complain.c (error_message, ERROR_MESSAGE): New.
-       To factor...
-       (fatal_at, fatal, warn_at, warn, complain_at, complain): these.
-       * src/complain.h, src/complain.c (warning_issued): Remove, unused.
-
-2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Instead of %union, you can define and use your own union type
-       YYSTYPE if your grammar contains at least one <type> tag.
-       Your YYSTYPE need not be a macro; it can be a typedef.
-       * doc/bison.texinfo (Value Type, Multiple Types, Location Type):
-       (Union Decl, Decl Summary): Document this.
-       * data/glr.c (YYSTYPE): Implement this.
-       * data/glr.cc (YYSTYPE): Likewise.
-       * data/lalr1.cc (YYSTYPE): Likewise.
-       * data/yacc.c (YYSTYPE): Likewise.
-       * src/output.c (prepare): Output tag_seen_flag.
-       * src/parse-gram.y (declaration, grammar_declaration):
-       Use 'union_seen' rather than 'typed' to determine whether
-       %union has been seen, since grammars can now be typed without
-       %union.
-       (symbol_declaration, type.opt, symbol_def):
-       Keep track of whether a tag has been seen.
-       * src/reader.c (union_seen, tag_seen): New vars.
-       (typed): remove.
-       * src/reader.h (union_seen, tag_seen, typed): Likewise.
-       * src/scan-code.l (untyped_var_seen): New variable.
-       (handle_action_dollar): Adjust to above changes.
-       (handle_action_dollar, handle_action_at):
-       Improve overflow checking for outlandish numbers.
-       * tests/input.at (AT_CHECK_UNUSED_VALUES): Redo test to
-       avoid new diagnostics generated by above changes.
-       * tests/regression.at (YYSTYPE typedef): Add test to check
-       for type tags without %union.
-
-       * src/symlist.c (symbol_list_length): Return int, not unsigned
-       int, since callers expect int.  This may need to get revisited
-       once we have proper integer overflow checking.
-
-       * src/scan-gram.h (gram_scanner_cursor): Remove decl, since this
-       object is now static.
-
-       * src/getargs.c (flags_argmatch): Return void, not int,
-       to pacify ./configure --enable-gcc-warnings.
-
-       * src/flex-scanner.h (STRING_FREE): Don't use FLEX_PREFIX (last_string)
-       since last_string is already defined to FLEX_PREFIX (last_string).
-
-2006-07-09  Akim Demaille  <akim@lrde.epita.fr>
-
-       Implement --warnings/-W.
-       * src/getargs.c (report_argmatch, trace_argmatch): Remove,
-       replaced by...
-       (flags_argmatch, FLAGS_ARGMATCH): this new function and macro.
-       Adjust callers.
-       * src/getargs.h, src/getargs.c (warnings, warnings_flags)
-       (warnings_args, warnings_types): New.
-       (getargs, short_options, long_options): Accept -W/--warnings.
-       Sort the options by alphabetical order, upper case letter right
-       before its lower case.
-
-2006-07-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Change %merge result type clash warnings to errors.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-07/msg00026.html>.
-       * src/reader.c (record_merge_function_type): Use complain_at.
-       * tests/glr-regression.at (Missed %merge type warnings when LHS type is
-       declared later): Update test case results.
-
-2006-07-09  Akim Demaille  <akim@lrde.epita.fr>
-
-       * src/getargs.h, src/getargs.c: Swap --report and --trace handling
-       to be in alphabetical order.
-       (trace_args): Spelling fixes.
-
-2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (YYID, yy_stack_print): Prefix local vars with "yy"
-       so they don't collide with user-defined macros.
-       (yy_stack_print): Don't assume that yytype_int16 promotes to int;
-       this was never guaranteed, and now that we're using gnulib stdint,
-       which defines int_fast16_t to long int, the problem is exposed.
-
-2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/c.m4 (b4_basename): Simplify a bit, since we don't
-       need the full POSIX semantics (and weren't implementing them
-       anyway).
-
-       Adjust to Autoconf 2.60 and today's gnulib.
-       * bootstrap (gnulib_modules): Add stdint.
-       Remove special case for m4/onceonly_2_57.m4, since gnulib-tool
-       no longer copies it.
-       (intl_files_to_remove): Remove m4/longlong.m4 and m4/wchar_t.m4,
-       since stdint needs the former and wcwidth (which is now required
-       by mbswidth) needs the latter.
-       Append 'datarootdir = @datarootdir@' to po/Makefile.in.in, to
-       work around a compatibility glitch between gettext 0.14.6 and
-       Autoconf 2.60.
-       * configure.ac (AC_PREREQ): Require Autoconf 2.60.
-       Do not check for uintptr_t, since new stdint module does the right
-       thing.
-       * lib/.cvsignore: Remove alloca.c, alloca.h, alloca_.h.
-       Add stdint.h, stdint_.h, wcwidth.h.
-       * m4/.cvsignore: Remove alloca.m4, onceonly.m4.
-       Add absolute-header.m4, double-slash-root.m4, longlong.m4,
-       stdint.m4, wchar_t.m4, wcwidth.m4.
-       * src/files.c: Include <dirname.h> and <stdio-safer.h> in the
-       usual order for ../lib/*.h files.
-       (file_name_split): Use last_component, not base_name, to adjust
-       to gnulib changes.
-       * src/parse-gram.h: Include <strverscmp.h> in the usual order
-       for ../lib/*.h files.
-       (YYTYPE_INT16, YYTYPE_INT8, YYTYPE_UINT16, YYTYPE_UINT8):
-       Define unconditionally, since we now assume the stdint module.
-       * src/scan-skel.l: Include <dirname.h>.
-       (BASE_QPUTS): Use last_component, not base_name.
-       * src/system.h: Include <unlocked-io.h> in the usual order
-       for ../lib/*.h files.  Include <stdint.h> unconditionally,
-       since we now use the stdint module.
-       (uintptr_t): Declare if UINTPTR_MAX is not defined, not
-       HAVE_UINTPTR_T, since we now use the stdint module.
-       (base_name): Remove decl, since files now include <dirname.h>
-       to get the decl.
-
-2006-07-08  Akim Demaille  <akim@lrde.epita.fr>
-
-       * data/c.m4 (b4_location_initial_column, b4_location_initial_line):
-       New, default to 1.
-       * data/yacc.c, data/glr.c, data/location.cc: Use them.
-       * NEWS, doc/bison.texinfo: The initial column and line are 1 by
-       default.
-       * tests/calc.at: Adjust.
-
-2006-07-08  Akim Demaille  <akim@lrde.epita.fr>
-
-       * data/c.m4 (b4_basename): New.
-       (b4_syncline): Also output the location of its invocation (from
-       the skeleton).
-       (b4_user_action, b4_define_user_action, b4_user_actions)
-       (b4_user_initial_action, b4_user_post_prologue, b4_user_start_header)
-       (b4_user_stype): New.
-       * data/yacc.c, data/glr.c, data/lalr1.cc, data/glr.cc: Use them.
-
-2006-07-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       In the grammar file, the first column is 1 not 0 on the first line as
-       on every other line.
-       * src/parse-gram.y (%initial-action): Initialize @$ correctly.
-       * tests/input.at (Torturing the Scanner): Update output.
-
-       * src/scan-gram.l (scanner_cursor): Declare it static.
-
-2006-07-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       In warnings, say "previous declaration" rather than "first
-       declaration".
-       * src/symtab.c (redeclaration): Do that here.
-       * src/reader.c (record_merge_function_type): In the case of a result
-       type clash, report the previous declaration rather than the very first
-       one in the grammar file.
-       * tests/glr-regression.at (Missed %merge type warnings when LHS type is
-       declared later): Add a third declaration to check this behavior.
-       * tests/input.at (Incompatible Aliases): Update output.
-
-2006-06-27  Akim Demaille  <akim@epita.fr>
-
-       * doc/Doxyfile.in: New.
-       * doc/Makefile.am: Use it.
-       * src/lalr.h, src/symtab.h: Initial doxygenation.
-
-2006-06-26  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't miss %merge result type warnings just because the LHS types are
-       declared after the %merge.  This continues the effort of the previous
-       patch.
-       * src/reader.c (get_merge_function): Don't set the merger type yet.
-       (record_merge_function_type): New function for setting the merger type
-       and checking for clashes.
-       (grammar_current_rule_merge_set): Set the location of the %merge for
-       the current rule.
-       (packgram): Invoke record_merge_function_type for each rule now that
-       all symbol type declarations have been parsed.
-       * src/reader.h (merger_list.type_declaration_location): New member
-       storing the location of the first %merge from which the type for this
-       merging function was derived.
-       * src/symlist.h (symbol_list.merger_declaration_location): New member
-       storing the location of a rule's %merge, if any.
-       * tests/glr-regression.at (Missed %merge type warnings when LHS type is
-       declared later): New test to catch the error fixed by the above patch.
-
-2006-06-26  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Get action warnings (grammar_rule_check) right even when symbol
-       declarations appear after the rules.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00108.html>
-       and
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00151.html>.
-       Don't mistake the type of $$ in a midrule to be that of its parent
-       rule's $$.
-       * src/reader.c (grammar_current_rule_end): Don't invoke
-       grammar_rule_check yet since not all symbol declarations may have been
-       parsed yet.
-       (grammar_midrule_action): Likewise.
-       Don't record whether the midrule's $$ has been used yet since actions
-       haven't been translated yet.
-       Record the midrule's parent rule and its RHS index within the parent
-       rule.
-       (grammar_current_rule_action_append): Don't translate the action yet
-       since not all symbol declarations may have been parsed yet and, thus,
-       warnings about types for $$, $n, @$, and @n can't be reported yet.
-       (packgram): Translate the action and invoke grammar_rule_check now that
-       all symbol declarations have been parsed.
-       * src/scan-code.l (handle_action_dollar): Now that this is invoked
-       after parsing the entire grammar file, the symbol list here in the case
-       of a midrule is actually the midrule's empty RHS, so reference its
-       parent rule's RHS where necessary.
-       On the other hand, now that you can already know it's a midrule, you
-       aren't forced to think $$ has the same type as its parent rule's $$.
-       (handle_action_at): In the case of a midrule, reference the parent rule
-       where necessary.
-       * src/symlist.c (symbol_list_new): Initialize new midrule-related
-       members.
-       (symbol_list_length): Now that this is invoked after all rules have
-       been parsed, a NULL symbol (rather than a NULL symbol list node)
-       terminates a rule.  symbol_list_print already does this correctly.
-       * src/symlist.h (symbol_list.midrule_parent_rule,
-       symbol_list.midrule_parent_rhs_index): New members so that midrules can
-       remember their relationships with their parents.
-       * tests/input.at (Type Clashes): Extend to catch the midrule $$ error
-       fixed by the above patch.
-       (_AT_UNUSED_VALUES_DECLARATIONS, AT_CHECK_UNUSED_VALUES): New m4 macros
-       implementing...
-       (Unused values): ... this old test case and...
-       (Unused values before symbol declarations): ... this new test case.
-       This one is the same as `Unused values' except that all symbol
-       declarations appear after the rules in order to catch the rest of the
-       errors fixed by the above patch.
-
-2006-06-26  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       More cleanup.
-       * src/reader.c (current_rule): Declare it static since it's no longer
-       used outside this file.
-       (grammar_current_rule_action_append): Remove redundant arguments from
-       translate_rule_action invocation.
-       * src/reader.h (current_rule): Remove this unused extern.
-       * src/scan-code.h (translate_rule_action): Remove redundant arguments.
-       * src/scan-code.l (translate_rule_action): Likewise.
-
-2006-06-25  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Clean up yesterday's patch.
-       * parse-gram.y (rhs): Move grammar_midrule_action invocation from here
-       to...
-       * src/reader.c (grammar_current_rule_action_append): ... here for
-       consistency with grammar_current_rule_symbol_append.
-       * tests/regression.at (Braced code in declaration in rules section):
-       Make yyerror and yylex static as usual.
-
-2006-06-24  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Fix bug that mistakes braced code in a declaration in the rules section
-       to be a rule action.  Mentioned at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00105.html>.
-       * src/scan-gram.l: Move midrule action detection from the start of the
-       scanning of any braced code to...
-       * src/parse-gram.y (rhs): ... the parsing of braced code as a rule
-       action.  For readability, use $2 and @2 rather than the equivalent
-       global variables.
-       * tests/regression.at (Braced code in declaration in rules section):
-       New test to catch the error fixed by the above patch.
-
-       Work on code readability some.
-       * src/scan-code.l (current_rule): Get rid of this misleading and
-       redundant declaration: it's actually extern'ed in reader.h.
-       (YY_DECL, code_lex, handle_action_dollar, handle_action_at,
-       translate_action): Add a rule argument and use it instead of the global
-       current_rule.
-       (translate_rule_action): This already receives current_rule through an
-       argument, so pass it on to translate_action instead of assigning
-       current_rule to current_rule.
-       (translate_symbol_action, translate_code): Pass rule = NULL to
-       translate_action.
-
-2006-06-23  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Rename %before-definitions to %start-header and %after-definitions to
-       %end-header.  Don't use these declarations to separate pre-prologue
-       blocks from post-prologue blocks.  Add new order-independent
-       declarations %before-header and %after-header as alternatives to the
-       traditional Yacc pre-prologue and post-prologue blocks.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00110.html>.
-       * NEWS (2.3+): Update for these changes.
-       * data/glr.c (b4_before_definitions): Update to...
-       (b4_start_header): ... this.
-       (b4_after_definitions): Update to...
-       (b4_end_header): ... this.
-       * data/glr.cc: Likewise.
-       * data/lalr1.cc: Likewise.
-       * data/yacc.c: Likewise.
-       * doc/bison.texinfo (The prologue): Update names, and replace remaining
-       prologue blocks with %*-header declarations.
-       (Calc++ Parser): Likewise.
-       (Decl Summary): Update names.
-       (Table of Symbols): Update description.
-       * src/parse-gram.y (PERCENT_AFTER_DEFINITIONS): Update to...
-       (PERCENT_END_HEADER): ... this.
-       (PERCENT_BEFORE_DEFINITIONS): Update to...
-       (PERCENT_START_HEADER): ... this.
-       (PERCENT_AFTER_HEADER, PERCENT_BEFORE_HEADER): New tokens.
-       (declaration): Update token names and m4 macro names.
-       When parsing %end-header and %start-header, invoke translate_code
-       before muscle_code_grow, and no longer set global booleans to remember
-       whether these declarations have been seen.
-       Parse new %after-header and %before-header.
-       * src/reader.c (before_definitions, after_definitions): Remove.
-       (prologue_augment): Accept a new bool argument to specify whether to
-       augment the pre-prologue or post-prologue.
-       * src/reader.h (before_definitions, after_definitions): Remove these
-       extern's.
-       (prologue_augment): Add new bool argument.
-       * src/scan-gram.l (PERCENT_AFTER_DEFINITIONS): Update to...
-       (PERCENT_END_HEADER): ... this.
-       (PERCENT_BEFORE_DEFINITIONS): Update to...
-       (PERCENT_START_HEADER): ... this.
-       (PERCENT_AFTER_HEADER, PERCENT_BEFORE_HEADER): New tokens.
-       * tests/actions.at (Printers and Destructors): Update names.
-
-2006-06-22  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Add comparison operators for C++ location classes.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00092.html>.
-       * data/c++.m4 (b4_define_location_comparison): New boolean %define
-       declaration indicating whether filename_type has an operator==.  If
-       filename_type is `std::string', it defaults to `1', `0' otherwise.
-       * data/location.cc: Iff b4_define_location_comparison is `1', add
-       operator== and operator!= for class position and for class location.
-
-       Some minor fixes.
-       * src/scan-action.l: Remove unused file.
-       * src/symtab.c (symbol_printer_set): Use printer_location not
-       destructor_location.
-       * src/symtab.h (struct symbol): Replace incorrect source comment for
-       printer members.
-       * tests/input.at (Incompatible Aliases): Update output with correct
-       printer location.
-
-2006-06-20  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't put the pre-prologue in the header file.  For the yacc.c code
-       file and the glr.c header and code files, move the pre-prologue before
-       the token definitions.  Add new %before-definitions and
-       %after-definitions to declare code that will go in both the header file
-       and code file.  Discussed at
-       <http://lists.gnu.org/archive/html/bison-patches/2005-12/msg00000.html>,
-       <http://lists.gnu.org/archive/html/bison-patches/2006-01/msg00016.html>,
-       and
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00055.html>.
-       * NEWS (2.3+): Describe these changes.
-       * data/glr.c (b4_pre_prologue): Move from within to before...
-       (b4_shared_declarations): ... this.
-       Add new b4_before_definitions before b4_token_enums.
-       Add new b4_after_definitions at the end.
-       * data/glr.cc (b4_pre_prologue): Replace with...
-       (b4_before_definitions): ... this in the header file.
-       (b4_after_definitions): New near the end of the header file.
-       * data/lalr1.cc (b4_pre_prologue): Move from the header file to the
-       code file right before including the header file.
-       (b4_before_definitions): New in the previous position of
-       b4_pre_prologue in the header file.
-       (b4_after_definitions): New near the end of the header file.
-       * data/yacc.c: Clean up some m4 quoting especially in the header file.
-       (b4_token_enums_defines): In the code file, move to right before
-       YYSTYPE for consistency with the header file.
-       (b4_before_definitions): New right before b4_token_enums_defines in
-       both the header and code file.
-       (b4_after_definitions): New right after YYLTYPE and yylloc in both the
-       header and code file.
-       * doc/bison.texinfo (Prologue): Show use of %before-definitions instead
-       of prologues for %union dependencies.
-       (Decl Summary): In %defines description, mention the effect of
-       %before-definitions and %after-definitions on the header file.
-       (Calc++ Parser): Forward declare driver in a %before-definitions rather
-       than in the pre-prologue so that make check succeeds.
-       (Table of Symbols): Add entries for %before-definitions and
-       %after-definitions.
-       * src/parse-gram.y (PERCENT_BEFORE_DEFINITIONS): New token for
-       %before-definitions.
-       (PERCENT_AFTER_DEFINITIONS): New token for %after-definitions.
-       (declaration): Parse those declarations and append to
-       b4_before_definitions and b4_after_definitions, respectively.
-       * src/reader.c (before_definitions, after_definitions): New bools to
-       track whether those declarations have been seen.
-       (prologue_augment): Add to the post-prologue if %union,
-       %before-definitions, or %after-definitions has been seen.
-       * src/reader.h (before_definitions, after_definitions): New extern's.
-       * src/scan-gram.l: Scan the new declarations.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Place the second
-       prologue block in a %before-definitions or a %after-definitions based
-       on whether the %union is declared.
-       * tests/regression.at (Early token definitions with --yacc, Early token
-       definitions without --yacc): Move tests for token definitions into the
-       post-prologue since token names are no longer defined in the
-       pre-prologue.
-
-2006-06-20  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h, src/symtab.c (symbol_from_uniqstr): New.
-       (symbol_get): Use it.
-       * src/parse-gram.y: Use it.
-
-2006-06-19  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/scan-gram.l: Remove unused declaration of last_string_1 so the
-       build succeeds when configured with --enable-gcc-warnings.
-
-2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/parse-gram.y (char_name): New function.
-       (CHAR, STRING, string_content): For %printer, properly escape.
-       (ID): Prefer fputs to fprintf.
-       (id): Reindent to be consistent with other rules.
-       Properly quote char.
-
-       The Translation Project changed its way of publishing translations
-       to maintainers.  I haven't received any responses to my request
-       for supporting the old way, or for documenting the new way.  I
-       have modified 'bootstrap' to use screen scraping
-       (in this case, HTML scraping).  This is unreliable and inelegant,
-       but I don't see any better way.  Yuck.
-       * bootstrap (TP_URL, WGET_COMMAND): New vars.
-       (get_translations): New function, which uses HTML scraping to
-       deduce locations of latest translations.
-       Use this function to grab both bison and bison-runtime .po files.
-       Don't bother priming the pump for the runtime-po domain any more,
-       as it's now translated better than bison is.
-
-2006-06-19  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l: No longer "parse" things after `%union' until
-       `{'.  Rather, return a single "%union" token.
-       No longer make symbols: return strings, and leave the conversion
-       to symbols to the parser.
-       (SC_PRE_CODE, token_type): Remove.
-       * src/parse-gram.y (%union): New field `character'.
-       Sort tokens.
-       (CHAR): New token.
-       (ID, ID_COLON): Now that the scanner no longer makes them
-       identifiers, adjust all uses to invoke symbol_get.
-       (id_colon): New, wraps the conversion from string to symbol.
-       (%union): Accept a possible union_name.
-       (symbol): Now can be a char.
-       * data/c.m4 (b4_union_name): Leave a default value.
-       * data/glr.c, data/yacc.c: Use it.
-
-2006-06-11  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       For associating token numbers with token names for "yacc.c", don't use
-       #define statements unless `--yacc' is specified; always use enum
-       yytokentype.  Most important discussions start at:
-       <http://lists.gnu.org/archive/html/bison-patches/2005-09/msg00053.html>,
-       <http://lists.gnu.org/archive/html/bison-patches/2005-12/msg00052.html>,
-       and
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00043.html>.
-       * NEWS (2.3+): Mention.
-       * data/c.m4 (b4_yacc_if): New.
-       (b4_token_enums_defines): Use b4_yacc_if to decide whether to add the
-       token #define's.
-       * doc/bison.texinfo (Bison Options): Describe the effect of `--yacc'
-       on token name definitions.
-       * src/getargs.c (usage): Capitalize `Yacc' in English.
-       * src/output.c (prepare): Define b4_yacc_flag.
-       * tests/regression.at (Early token definitions): Test that tokens names
-       are defined before the pre-prologue not just before the post-prologue.
-       Remove this test case and copy to...
-       (Early token definitions with --yacc): ... this to test #define's.
-       (Early token definitions without --yacc): ... and this to test enums.
-
-2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Reword the post-2.3 change to not be so optimistic about
-       removing the old "look-ahead" spelling.
-       Update previous look-ahead/lookahead change reports.
-       * REFERENCES: look-ahead -> lookahead (since that's
-       what he actually wrote).
-       * doc/refcard.tex: look ahead -> lookahead,
-       look-ahead -> lookahead
-
-2006-06-09  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       For consistency, use `lookahead' instead of `look-ahead' or
-       `look_ahead'.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-01/msg00049.html>
-       and then at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00017.html>.
-       * NEWS: For the next release, note the change to `--report'.
-       * TODO, doc/bison.1: Update English.
-       * doc/bison.texinfo: Update English.
-       (Understanding Your Parser, Bison Options): Document as
-       `--report=lookahead' rather than `--report=look-ahead'.
-       * src/conflicts.c: Update English in comments.
-       (lookahead_set): Rename from look_ahead_set.
-       (flush_reduce): Rename argument look_ahead_tokens to lookahead_tokens.
-       (resolve_sr_conflict): Rename local look_ahead_tokens to
-       lookahead_tokens, and update other uses.
-       (flush_shift, set_conflicts, conflicts_solve, count_sr_conflicts,
-       count_rr_conflicts, conflicts_free): Update uses.
-       * src/getargs.c (report_args): Move "lookahead" before alternate
-       spellings.
-       (report_types): Update uses.
-       (usage): For `--report' usage description, state `lookahead' spelling
-       rather than `look-ahead'.
-       * src/getargs.h (report.report_lookahead_tokens): Rename from
-       report_look_ahead_tokens.
-       * src/lalr.c: Update English in comments.
-       (compute_lookahead_tokens): Rename from compute_look_ahead_tokens.
-       (state_lookahead_tokens_count): Rename from
-       state_look_ahead_tokens_count.
-       Rename local n_look_ahead_tokens to n_lookahead_tokens.
-       (lookahead_tokens_print): Rename from look_ahead_tokens_print.
-       Rename local n_look_ahead_tokens to n_lookahead_tokens.
-       Update other uses.
-       Update English in output.
-       (add_lookback_edge, initialize_LA, lalr, lalr_free): Update uses.
-       * src/print.c: Update English in comments.
-       (lookahead_set): Rename from look_ahead_set.
-       (print_reduction): Rename argument lookahead_token from
-       look_ahead_token.
-       (print_core, state_default_rule, print_reductions, print_results):
-       Update uses.
-       * src/print_graph.c: Update English in comments.
-       (print_core): Update uses.
-       * src/state.c: Update English in comments.
-       (reductions_new): Update uses.
-       (state_rule_lookahead_tokens_print): Rename from
-       state_rule_look_ahead_tokens_print, and update other uses.
-       * src/state.h: Update English in comments.
-       (reductions.lookahead_tokens): Rename from look_ahead_tokens.
-       (state_rule_lookahead_tokens_print): Rename from
-       state_rule_look_ahead_tokens_print.
-       * src/tables.c: Update English in comments.
-       (conflict_row, action_row): Update uses.
-       * tests/glr-regression.at
-       (Incorrect lookahead during deterministic GLR,
-       Incorrect lookahead during nondeterministic GLR): Rename
-       print_look_ahead to print_lookahead.
-       * tests/torture.at: Update English in comments.
-       (AT_DATA_LOOKAHEAD_TOKENS_GRAMMAR): Rename from
-       AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR.
-       (Many lookahead tokens): Update uses.
-       * data/glr.c: Update English in comments.
-       * lalr1.cc: Likewise.
-       * yacc.c: Likewise.
-       * src/conflicts.h: Likewise.
-       * src/lalr.h: Likewise.
-       * src/main.c: Likewise.
-       * src/output.c: Likewise.
-       * src/parse-gram.c: Likewise.
-       * src/tables.h: Likewise.
-       * tests/calc.at: Likewise.
-
-2006-06-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/flex-scanner.h (yytext): Remove stray `*/' in #define.
-
-2006-06-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * TODO: Add request from Nelson H. F. Beebe to be able to install
-       Bison without installing the yacc script.
-
-2006-06-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/flex-scanner.h: For the sake of Flex 2.5.4, don't #define yyleng
-       and yytext if they're already #define'd.
-       * src/flex-scanner.h, src/location.h: Move #include "system.h" to...
-       * src/scan-code-c.c: ... here.
-       * src/scan-code.l, src/scan-gram.l: ... and here.  Also #include
-       <config.h>.
-
-2006-06-07  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Get Bison to build again when configured with --enable-gcc-warnings.
-       * src/location.c, src/location.h, src/main.c, src/scan-code.l: Add some
-       missing #include's.
-       * src/scan-code.l (handle_action_dollar, handle_action_at): Rename
-       loc argument as it shadows a global.
-       * src/scan-gram.l: Remove stray comma that prevents boundary_set
-       invocation.
-
-       * src/.cvsignore: Add scan-code.c.
-
-2006-06-07  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l: Move the "add a trailing ; to actions" code
-       to...
-       * src/scan-code.l: here.
-       * tests/input.at (Torturing the Scanner): Fix another location
-       error.
-
-2006-06-07  Akim Demaille  <akim@epita.fr>
-
-       * src/Makefile.am (BUILT_SOURCES): Fix the trailing backslash.
-
-2006-06-06  Akim Demaille  <akim@epita.fr>
-
-       Extract the parsing of user actions from the grammar scanner.
-       As a consequence, the relation between the grammar scanner and
-       parser is much simpler.  We can also split "composite tokens" back
-       into simple tokens.
-       * src/gram.h (ITEM_NUMBER_MAX, RULE_NUMBER_MAX): New.
-       * src/scan-gram.l (add_column_width, adjust_location): Move to and
-       rename as...
-       * src/location.h, src/location.c (add_column_width)
-       (location_compute): these.
-       Fix the column count: the initial column is 0.
-       (location_print): Be robust to ending column being 0.
-       * src/location.h (boundary_set): New.
-       * src/main.c: Adjust to scanner_free being renamed as
-       gram_scanner_free.
-       * src/output.c: Include scan-code.h.
-       * src/parse-gram.y: Include scan-gram.h and scan-code.h.
-       Use boundary_set.
-       (PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_INITIAL_ACTION)
-       (PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Remove the {...} part,
-       which is now, again, a separate token.
-       Adjust all dependencies.
-       Whereever actions with $ and @ are used, use translate_code.
-       (action): Remove this nonterminal which is now useless.
-       * src/reader.c: Include assert.h, scan-gram.h and scan-code.h.
-       (grammar_current_rule_action_append): Use translate_code.
-       (packgram): Bound check ruleno, itemno, and rule_length.
-       * src/reader.h (gram_in, gram__flex_debug, scanner_cursor)
-       (last_string, last_braced_code_loc, max_left_semantic_context)
-       (scanner_initialize, scanner_free, scanner_last_string_free)
-       (gram_out, gram_lineno, YY_DECL_): Move to...
-       * src/scan-gram.h: this new file.
-       (YY_DECL): Rename as...
-       (GRAM_DECL): this.
-       * src/scan-code.h, src/scan-code.l, src/scan-code-c.c: New.
-       * src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
-       (gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
-       (gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
-       Move these declarations, and...
-       (obstack_for_string, STRING_GROW, STRING_FINISH, STRING_FREE):
-       these to...
-       * src/flex-scanner.h: this new file.
-       * src/scan-gram.l (rule_length, rule_length_overflow)
-       (increment_rule_length): Remove.
-       (last_braced_code_loc): Rename as...
-       (gram_last_braced_code_loc): this.
-       Adjust to the changes of the parser.
-       Move all the handling of $ and @ into...
-       * src/scan-code.l: here.
-       * src/scan-gram.l (handle_dollar, handle_at): Remove.
-       (handle_action_dollar, handle_action_at): Move to...
-       * src/scan-code.l: here.
-       * src/Makefile.am (bison_SOURCES): Add flex-scanner.h,
-       scan-code.h, scan-code-c.c, scan-gram.h.
-       (EXTRA_bison_SOURCES): Add scan-code.l.
-       (BUILT_SOURCES): Add scan-code.c.
-       (yacc): Be robust to white spaces.
-
-       * tests/conflicts.at, tests/input.at, tests/reduce.at,
-       * tests/regression.at: Adjust the column numbers.
-       * tests/regression.at: Adjust the error message.
-
-2006-06-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/getargs.c (usage): Mention GLR not just LALR(1) in --help output.
-       Use Akim's wording from
-       <http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00056.html>.
-
-2006-06-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Between Bison releases, manually append `+' to the previous Bison
-       release number, and use that as a signal to automatically print the
-       ChangeLog's CVS Id keyword from --version.  Discussed starting at
-       <http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00028.html>.
-       * ChangeLog: Add Id header.
-       * configure.ac (AC_INIT): Append `+' to `2.3'.
-       * src/.cvsignore: Add revision.c.
-       * src/Makefile.am (bison_SOURCES): Add revision.c and revision.h.
-       (BUILT_SOURCES): Add revision.c.
-       (revision.c): New target rule.  This file defines a new global variable
-       named revision.  It initializes it with either the Id from ChangeLog
-       or, if VERSION doesn't contain `+', with the empty string.
-       * src/getargs.c (version): Print the value of revision.
-       * src/revision.h: Extern revision.
-
-2006-06-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 2.3.
-       * configure.ac (AC_INIT): Likewise.
-
-2006-05-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (YYRECOVERING): Define to be a function-like macro
-       with no arguments, not as an object-like macro.  This is for
-       compatibility with data/yacc.c.  Problem reported by John P. Hartmann in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00059.html>.
-       * doc/bison.texinfo (Action Features, Error Recovery, Table of Symbols):
-       Document this.
-
-2006-05-30  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/getargs.c (usage): Back out yesterday's modification of the
-       --help output so that we don't have to wait for translation before
-       releasing 2.3.
-
-2006-05-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Introduction): Don't say "GLR grammar".
-       Problem reported by Akim Demaille.
-
-2006-05-29  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * src/getargs.c (usage): Mention GLR not just LALR(1) in --help output.
-
-2006-05-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (yy_reduce_print): Omit trailing white space in
-       generated source code.  Problem reported by Frans Englich in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00049.html>.
-
-2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * Makefile.maint (gzip_rsyncable, GZIP_ENV): Compute within the
-       shell, not within 'make', so that 'make' by an ordinary builder
-       (using GNU make) does not worry about configuring gzip.  This also
-       works around a bug reported independently by Keith Thompson and by
-       Georg Schwarz, whereby gzip 1.2.4 --help would output usage on
-       stderr rather than stdout, messing up the build logs.
-
-2006-05-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/yacc.c (yyparse): Wrap the final return from yyparse inside YYID
-       to make sure that YYID will never be unused.  This fixes a 'make
-       maintainer-check' failure caused by the recent changes to the 'Trivial
-       grammars' test case, which caused g++ 4.1.0 to complain that YYID was
-       not used.
-       * data/glr.c (yyparse): Wrap yyparse's return inside YYID just in case.
-
-2006-05-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/glr.c (yyresolveLocations): Remove bogus YYASSERT that the
-       state before an empty RHS is always resolved here.  Only the location
-       of that state is guaranteed to be resolved, and that's enough.  This
-       fixes the remaining bug reported by Derek M. Jones in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00027.html>.
-       * tests/glr-regression.at (Uninitialized location when reporting
-       ambiguity): Test the above case.
-       Also, the embedded comments in this test case claim it checks the case
-       of an empty RHS that has inherited the initial location.  However, the
-       corresponding LHS was already resolved, so yyresolveLocations didn't
-       actually have reason to modify it.  Fix this by forcing
-       nondeterministic operation at the beginning of the parse.
-
-2006-05-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/c.m4 (b4_yy_symbol_print_generate):
-       (b4_yy_symbol_print_generate): Use 'YYSTYPE const' rather than
-       'const YYSTYPE', and similarly for YYLTYPE.  This fixes one
-       of the bugs reported today by Derek M Jones in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00027.html>.
-       * doc/bison.texinfo (Value Type): Document that YYSTYPE must be
-       defined to be a type name without parens or brackets.
-       (Location Type): Similarly for YYLTYPE.
-       * tests/regression.at (Trivial grammars): Put in a test for this
-       bug that will be caught by 'make maintainer-check' (though not,
-       alas, by 'make check' unless your compiler is picky).
-
-2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 2.2.
-       * configure.ac (AC_INIT): Likewise.
-
-2006-05-17  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/glr.c (yyreportTree): Make room in yystates for the state
-       preceding the RHS.  This fixes the segmentation fault reported by Derek
-       M. Jones in
-       <http://lists.gnu.org/archive/html/help-bison/2006-05/msg00035.html>.
-       (yyreportTree, yypdumpstack): Subtract 1 from yyrule before printing
-       to the user.  Reported for yyreportTree by Derek M. Jones later in the
-       same thread.
-       * THANKS: Add Derek M. Jones.
-       Update my email address.
-       Fix typo in Steve Murphy's name.
-
-2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyreportSyntaxError): Fix off-by-one error in
-       checking against YYLAST that caused the parser to miss a potential
-       alternative in its diagnostic.
-       Problem reported by Maria Jose Moron Fernandez in
-       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00024.html>.
-       * data/lalr1.cc (yysyntax_error_): Likewise.
-       * data/yacc.c (yysyntax_error): Likewise.
-       * tests/regression.at (_AT_DATA_DANCER_Y): Use static array for
-       tokens, in case we run into an older C compiler.
-       (_AT_DATA_EXPECT2_Y, AT_CHECK_EXPECT2): New macros.
-       Use them to check for the off-by-one error fixed above.
-
-       * data/yacc.c (yytnamerr): Fix typo: local var should be of type
-       YYSIZE_T, not size_t.
-       * tests/regression.at (Trivial grammars): New test, to catch
-       the error fixed by the above patch.
-
-2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
-
-       * doc/bison.texinfo (C++ Bison Interface): Clarify the naming
-       scheme.
-       Reported by Steve Murphy.
-
-2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
-
-       * data/glr.cc, data/lalr1.cc: Using %defines is mandatory.
-       * data/glr.cc: b4_location_flag is now b4_locations_flag.
-
-2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
-
-       Implement --trace=m4.
-       * src/getargs.c (trace_types, trace_args): Accept trace_m4.
-       * src/output.c (output_skeleton): When set, pass -dV to m4.
-
-       Factor the handling of flags in m4.
-       * src/output.c (prepare): Rename the muscle names debug, defines,
-       error_verbose to debug_flag, defines_flag, error_verbose_flag.
-       * data/c.m4: Adjust.
-       (_b4_define_flag_if, b4_define_flag_if, b4_defines_if): New.
-       Use b4_define_flag_if to define other b4_FLAG_if macros.
-       (b4_location_if): As a consequence, rename as...
-       (b4_locations_if): this, for consistency.
-       Adjust all the skeletons.
-
-2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
-
-       * etc/bench.pm: Shorten bench names.
-
-2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
-
-       * src/output.h, src/output.c (error_verbose): Move to...
-       * src/getargs.h, src/getargs.c: here.
-       Sort the flags.
-       Adjust dependencies.
-
-2006-05-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/c.m4 (b4_copyright): Put the special exception for Bison
-       skeletons here, so we don't have to put it in each skeleton.  All
-       uses changed.  Suggested by Akim Demaille.  Also, wrap the
-       copyright notice, in case it is longer than 80 columns.  Replace
-       comma by newline after title.
-
-2006-05-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Calc++ Scanner): The flex behavior is an
-       incompatibility, not a bug.  Mention that it wasn't fixed as of
-       flex 2.5.33.
-
-2006-05-11  Akim Demaille  <akim@lrde.epita.fr>
-
-       * examples/extexi: Enforce the precedence of concatenation over
-       >>.
-       Reported by Tommy Nordgren.
-
-2006-05-11  Akim Demaille  <akim@lrde.epita.fr>
-
-       * data/lalr1.cc (yytranslate_): Rename token as t to avoid clashes
-       with the member "token".
-       Reported by Martin Nylin.
-
-2006-05-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c: Switch to Bison 2.2 special-exception language in
-       the copyright notice.  Use more-regular format for titles and
-       copyright notices.
-       * data/glr.cc: Likewise.
-       * data/location.cc: Likewise.
-       * data/yacc.cc: Likewise.
-       * doc/bison.texinfo (Conditions): Document this.
-       * NEWS: likewise.  Upgrade version to 2.2.
-
-2006-04-27  Akim Demaille  <akim@lrde.epita.fr>
-
-       * data/glr.cc: Remove dead code.
-
-2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap: Comment out the AM_CPPFLAGS line, since we don't use
-       that variable and the line breaks the bootstrap.  Problem reported
-       by Juan M. Guerrero.
-
-2006-04-24  Akim Demaille  <akim@lrde.epita.fr>
-
-       * doc/bison.texinfo (Multiple start-symbols): New.
-
-2006-04-24  Akim Demaille  <akim@lrde.epita.fr>
-
-       * etc/README, etc/bench.pl: New.
-
-2006-04-03  Akim Demaille  <akim@lrde.epita.fr>
-
-       * src/scan-gram.l: Be robust to BRACED_CODE appearing before any
-       rule.
-       Reported by Mickael Labau.
-       * tests/input.at (Torturing the Scanner): Test it.
-
-2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Decl Summary): Don't mention yylloc twice.
-       Problem reported by Bob Rossi.
-
-2006-03-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo: Remove @shorttitlepage stuff; it wasn't used
-       and didn't really work.
-       For the index, use @ifnotinfo, not @iftex.
-       Minor cleanups of spacing and terminology.
-
-2006-03-12  Akim Demaille  <akim@lrde.epita.fr>
-
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Fix the definition
-       of AT_NAME_PREFIX when %name-prefix is not used.
-
-2006-03-12  Akim Demaille  <akim@lrde.epita.fr>
-
-       Apply --prefix to C++ skeletons too: they change the namespace.
-       The test suite already exercize these cases.
-       * data/c++.m4 (b4_namespace): New.
-       * data/lalr1.cc, data/glr.cc, data/location.cc: Use it instead of `yy'.
-       * data/lalr1.cc (yytnameerr_): Move its definition into the namespace.
-       * data/yacc.c, data/glr.c: Remove a useless `[]'.
-       * doc/bison.texinfo: Document it.
-       (Option Cross Key): Use @multitable in all formats.  It looks
-       nicer, even in TeX outputs.
-       (Rules): Use the same code whatever the output type is.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS)
-       (_AT_BISON_OPTION_POPDEFS): Support AT_NAME_PREFIX.
-       * tests/calc.at: Use it, instead of hard coding `yy'.
-
-2006-03-10  Akim Demaille  <akim@lrde.epita.fr>
-
-       * TODO: Remove dead items.
-
-2006-03-10  Akim Demaille  <akim@lrde.epita.fr>
-
-       * doc/FAQ: Remove, merged into...
-       * doc/bison.texinfo (FAQ): this.
-       * doc/Makefile.am (EXTRA_DIST): Adjust.
-
-2006-03-10  Akim Demaille  <akim@lrde.epita.fr>
-
-       * data/c.m4 (b4_token_enum): Always define the enum of tokens,
-       even if empty.
-       * data/lalrl1.cc, data/glr.cc (parser::token_type): New.
-       * doc/bison.texinfo (Calc++ Scanner): Use it.
-
-2006-03-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix two nits reported by twlevo, plus one more that I discovered.
-
-       * src/assoc.h (assoc_to_string): Give a name to the arg, as
-       this is the usual Bison style.
-       * src/location.h (location_print): Likewise.
-
-       * src/reader.h (token_name): Likewise.
-
-2006-03-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix some nits reported by twlevo.
-       * doc/FAQ: Remove ancient Y2K FAQ, replacing it with "secure"
-       and "POSIX".  Use more-modern syntax for URLs.  Mention C++
-       and ask for Java.  Don't hardwire OS version numbers.  Add
-       copyright notice.
-       * m4/.cvsignore: Add unistd_h.m4, for latest gnulib.
-       * src/conflicts.c (solved_conflicts_obstack): Now static.
-
-2006-03-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * doc/bison.texinfo (Introduction): Mention GLR and C++ as on the web
-       page.  Say "you can use it" not "you may use it" as on the web page;
-       we're describing capabilities not granting permission.
-
-2006-03-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyresolveLocations): Rename local variables to avoid
-       shadowing warnings.  Use usual patter for iterating through RHS.
-       * tests/glr-regression.at
-       (Uninitialized location when reporting ambiguity):
-       Modify yylex so that it uses its argument, rather than trying
-       to rely on ARGSUSED (which doesn't work for gcc with warnings).
-       const char -> char const.
-
-       * tests/Makefile.am ($(srcdir)/package.m4, maintainer-check-valgrind):
-       Don't use tabs inside commands; it messes up 'ps'.
-       Problem reported by twlevo.
-
-2006-03-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/glr-regression.at (Uninitialized location when reporting
-       ambiguity): New test case.
-       * data/glr.c (yyresolveLocations): New function, which uses
-       YYLLOC_DEFAULT.
-       (yyresolveValue): Invoke yyresolveLocations before reporting an
-       ambiguity.
-       * doc/bison.texinfo (Default Action for Locations): Note
-       YYLLOC_DEFAULT's usage for ambiguity locations.
-       (GLR Semantic Actions): Cross-reference those notes.
-
-2006-03-04  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/glr-regression.at (Leaked semantic values when reporting
-       ambiguity): Remove unnecessary union and type declarations.
-       (Leaked lookahead after nondeterministic parse syntax error): New test
-       case.
-       * data/glr.c (yyparse): Check for zero stacks remaining before
-       attempting to shift the lookahead so that you don't lose it.
-
-2006-03-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Avoid memory leaks by not invoking longjmp in yyreportAmbiguity.
-       * tests/glr-regression.at (Leaked semantic values when reporting
-       ambiguity): New test case.
-       * data/glr.c (yyreportAmbiguity): Invoke yyyerror directly and return
-       yyabort rather than invoking yyFail, which invokes longjmp.  Remove the
-       now unnecessary yystackp parameter.
-       (yyresolveValue): Return yyreportAmbiguity's result.  Now the necessary
-       destructors can be called.
-
-       * tests/glr-regression.at: Don't invoke bison with `-t' unnecessarily
-       in existing testcases.
-
-2006-03-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       Don't leak semantic values for parent RHS when a user action cuts the
-       parser, and clean up related code a bit.
-       * tests/glr-regression.at (Leaked merged semantic value if user action
-       cuts parse): Rename to...
-       (Leaked semantic values if user action cuts parse): ... this.  Add check
-       for leaked parent RHS values.
-       * data/glr.c (yydestroyGLRState): In debugging output, distinguish
-       between an unresolved state (non-empty chain of semantic options) and
-       an incomplete one (signaled by an empty chain).
-       (yyresolveStates): Document the interface.  Move all manipulation of a
-       successfully or unsuccessfully resolved yyGLRState to...
-       (yyresolveValue): ... here so that yyresolveValue always leaves a
-       yyGLRState with consistent data and thus is easier to understand.
-       Remove the yyvalp and yylocp parameters since they are always just
-       taken from the yys parameter.  When reporting a discarded merged value
-       in debugging output, note that it is incompletely merged.  Document the
-       interface.
-       (yyresolveAction): If resolving any of the RHS states fails, destroy
-       them all rather than leaking them.  Thus, as long as user actions are
-       written to clean up the RHS correctly, yyresolveAction always cleans up
-       the RHS of a semantic option.  Document the interface.
-
-2006-02-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyexpandGLRStack): Catch an off-by-one error that
-       led to a segmentation fault in GNU Pascal.  Problem reported
-       by Waldek Hebisch.
-
-2006-02-21  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * doc/bison.texinfo (Mid-Rule Actions): Explain how to bury a
-       mid-rule action inside a nonterminal symbol in order to declare a
-       destructor for its semantic value.
-
-2006-02-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c [(! defined yyoverflow || YYERROR_VERBOSE) && !
-       YYSTACK_USE_ALLOCA && ! defined YYSTACK_ALLOC && defined
-       __cplusplus && ! defined _STDLIB_H && !
-       ((defined YYMALLOC || defined malloc) && (defined YYFREE ||
-       defined free))]: Include <stdlib.h> rather than rolling our own
-       declarations of malloc and free, to avoid problems with
-       incompatible declarations (using 'throw') C++'s stdlib.h.  This
-       should fix Debian bug 340012
-       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340012>,
-       reported by Guillaume Melquiond.
-
-2006-02-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Clarify symbols versus types in unused-value warnings.
-
-       * configure.ac (AC_INIT): Bump version number.
-
-2006-02-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 2.1a.
-       * tests/headers.at (AT_TEST_CPP_GUARD_H): Declare yyerror and yylex,
-       since C99 requires this.
-
-2006-02-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * m4/c-working.m4: New file.
-       * configure.ac (BISON_TEST_FOR_WORKING_C_COMPILER): Use it.
-
-2006-02-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * Makefile.maint: Merge from coreutils.
-
-2006-02-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       More portability fixes for problems summarized by Nelson H. F. Beebe.
-
-       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Catch a
-       configuration screwup "./configure CC=/opt/SUNWspro/bin/c89
-       CFLAGS="-xarch=generic64" CXX=/opt/SUNWspro/bin/CC
-       LDFLAGS="-xarch=generic64" with Sun C 5.7 on Solaris 10; this
-       messes up because C++ code is compiled in 32-bit mode but linked
-       in 64-bit mode.
-
-2006-02-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       More portability fixes for problems summarized by Nelson H. F. Beebe.
-
-       * doc/bison.texinfo (Calc++ Scanner): Work around a bug in flex
-       2.5.31.  This resembles the 2005-10-10 patch to src/scan-skel.l.
-
-       * examples/calc++/Makefile.am (check_PROGRAMS): Renamed from
-       nodist_PROGRAMS, since we don't need to actually compile the
-       example if we're just doing a plain 'make'.  This avoids bothering
-       the installer unnecessarily about problems due to weird C++
-       compilers.
-
-2006-02-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       More portability fixes for problems summarized by Nelson H. F. Beebe.
-
-       * tests/headers.at (AT_TEST_CPP_GUARD_H): Use #include <...> rather
-       than #include "...", and compile with -I'.'.  The old method was
-       not portable, according to Posix and the C standard, and it does
-       not work with Sun C 5.7, where previous #line directives affect
-       the working directory used in later #include "..." directives.
-
-2006-02-06  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       Various DJGGP specific issues in /djgpp
-
-2006-02-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       More portability fixes for problems summarized by Nelson H. F. Beebe.
-
-       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check that
-       '#include <map>' works and that you can apply ++ to iterators.
-
-2006-02-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Work around portability problems summarized by Nelson H. F. Beebe in
-       <http://lists.gnu.org/archive/html/bug-bison/2005-09/msg00021.html>.
-
-       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
-       that '#include <string>' works.
-
-       * data/lalr1.cc (yytranslate_): No longer inline, to work around a
-       porting problem to g++ 3.4.3 on Darwin 7.9.0, where g++ complained
-       "warning: sorry: semantics of inline function static data `const
-       unsigned char translate_table[262]' are wrong (you'll wind up with
-       multiple copies)".
-
-       * lib/bbitset.h (struct bitset_vtable): Rename members not, and,
-       or, xor to not_, and_, or_, and xor_, respectively.  This works
-       around a bug in GCC 3.4.3 on Irix 6.5, which apparently has a
-       random system header somewhere that includes the equivalent of
-       <iso646.h>.
-
-       * tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that "$CC
-       -E" works; it apparently doesn't work with PathScale EKO Compiler
-       Suite Version 2.0.
-
-2006-01-30  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       During deterministic GLR operation, user actions should be able to
-       influence the parse by changing yychar.  To make this easier to fix and
-       to make glr.c easier to evolve in general, don't maintain yytoken in
-       parallel with yychar; just compute yytoken when needed.
-       * tests/glr-regression.at (Incorrect lookahead during deterministic
-       GLR): Check that setting yychar in a user action has the intended
-       effect.
-       * data/glr.c (yyGLRStack): Remove yytokenp member.
-       (yyclearin): Don't set *yytokenp.
-       (yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Examine
-       yychar rather than *yytokenp to determine the current lookahead.
-       Compute yytoken locally when needed.
-       (yyparse): Likewise.  Remove the local yytoken that yytokenp used to
-       point to.
-
-       * doc/bison.texinfo (Bison Options): Remove stray sentence fragment
-       after `--report' documentation.
-
-2006-01-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/parse-gram.y (grammar_declaration): Location of printer
-       symbol is @1, not list->location.  Bug reported by twlevo.
-       * tests/input.at (Incompatible Aliases): Adjust to above change.
-
-2006-01-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/input.at (AT_CHECK_UNUSED_VALUES): Remove.  Instead, do
-       all the test at once.  This makes the output easier to read in the
-       normal case.
-
-       Fix a longstanding bug uncovered by bro-0.9a9/src/parse.y, which I
-       got from <http://bro-ids.org/download.html>.  The bug is that
-       when two actions appeared in succession, the second one was
-       scanned before the first one was added to the grammar rule
-       as a midrule action.  Bison then output the incorrect warning
-       "parse.y:905.17-906.36: warning: unused value: $3".
-       * src/parse-gram.y (BRACED_CODE, action): These are no longer
-       associated with a value.
-       (rhs): Don't invoke grammar_current_rule_action_append.
-       (action): Invoke it here instead.
-       * src/reader.c (grammar_midrule_action): Now extern.
-       (grammar_current_rule_action_append): Don't invoke
-       grammar_midrule_action; that is now the scanner's job.
-       * src/reader.h (last_string, last_braced_code_loc):
-       (grammar_midrule_action): New decls.
-       * src/scan-gram.l (last_string): Now extern, sigh.
-       (last_braced_code_loc): New extern variable.
-       (<INITIAL>"{"): Invoke grammar_midrule_action if the current
-       rule already has an action.
-       (<SC_BRACED_CODE>"}"): Set last_braced_code_loc before returning.
-       * tests/input.at (AT_CHECK_UNUSED_VALUES):
-       Add some tests to check that the above changes fixed the bug.
-
-2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/reader.c (symbol_should_be_used): Renamed from symbol_typed_p.
-       All used changed.  Check whether the symbol has a destructor,
-       not whether it is typed.
-       * tests/input.at (AT_CHECK_UNUSED_VALUES): Add a destructor, so
-       that the values are still reported as unused.  All line numbers
-       adjusted.
-
-2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Work around a bug in bro 0.8, which underparenthesizes its
-       definition of YYLLOC_DEFAULT.
-       * data/glr.c: Change all uses of YYLLOC_DEFAULT to parenthesize
-       their arguments.
-       * data/lalr1.cc: Likewise.
-       * data/yacc.cc: Likewise.
-
-2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Work around a bug in Pike 7.0, and give the Pike folks a
-       better way to override the usual int widths.
-       * data/yacc.c (b4_int_type): Use yytype_uint8, etc., so that the
-       user can override the types.
-       (short): #undef, to work around a bug in Pike 7.0.
-       (yytype_uint8, yytype_int8, yytype_uint16, yytype_int16): New types.
-       (union yyalloc.yyss): Use yytype_int16 rather than short.
-       All uses changed.
-       (yysigned_char): Remove.
-       * src/parse-gram.y (YYTYPE_UINT8, YYTYPE_INT8, YYTYPE_UINT16):
-       (YYTYPE_INT16): New macros, to test the new facility in yacc.c.
-       * tests/regression.at (Web2c Actions): Adjust to above changes.
-
-       * src/reader.c (check_and_convert_grammar): New function.
-       (reader): Close the input file even if something went wrong during
-       parsing.  Minor file descriptor leak reported by twlevo.
-
-       * src/assoc.c (assoc_to_string): Use a default: abort (); case
-       to pacify gcc -Wswitch-default.
-       * src/scan-gram.l (adjust_location): Use a default: break; case
-       to pacify gcc -Wswitch-default.
-       * src/scan-skel.h (skel_get_lineno, skel_get_in, skel_get_out):
-       (skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
-       (skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
-       Move these decls to scan-skel.l, since they don't need to be
-       visible elsewhere.
-       * src/scan-skel.l: Accept the above decls.
-       (skel_lex): New decl, to pacify GCC when unpatched flex 2.5.31
-       is used.
-
-2006-01-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * Makefile.cfg (local-checks-to-skip): Add changelog-check,
-       since we don't want to insist on a version number at the start
-       of the changelog every time.
-       * Makefile.maint: Sync from coreutils a bit better.
-       (sc_trailing_blank): Renamed from sc_trailing_space.
-       All uses changed.
-       (sc_no_if_have_config_h, sc_require_config_h):
-       (sc_prohibit_assert_without_use): New rules.
-       (sc_obsolete_symbols): Don't catch Makefile.maint itself.
-       (sc_dd_max_sym_length): Fix leading spaces in rule.
-       (sc_system_h_headers): Prefix with @.
-       (sc_useless_cpp_parens, m4-check): Output line numbers.
-       (changelog-check): Allow version only in head.
-       * data/c.m4: Use "defined FOO" instead of "defined (FOO)", to
-       satisfy new Makefile.maint rule.
-       * data/glr.c: Likewise.
-       * data/glr.cc: Likewise.
-       * data/lalr1.cc: Likewise.
-       * data/yacc.c: Likewise.
-       * lib/ebitsetv.c: Likewise.
-       * lib/lbitset.c: Likewise.
-       * lib/subpipe.c: Likewise.
-       * lib/timevar.c: Likewise.
-       * src/system.h: Likewise.
-       * data/yacc.c (YYSTYPE): Don't generate trailing spaces in output.
-       * djgpp/Makefile.maint: Add copyright notice.
-       * djgpp/README.in: Likewise.
-       * djgpp/config.bat: Likewise.
-       * djgpp/config.site: Likewise.
-       * djgpp/config_h.sed: Likewise.
-       * djgpp/djunpack.bat: Likewise.
-       * djgpp/config.sed: Fix copyright notice to match standard format.
-       * djgpp/subpipe.h: Likewise.
-       * lib/bitsetv-print.c: Likewise.
-       * lib/bitsetv.c: Likewise.
-       * lib/subpipe.h: Likewise.
-       * lib/timevar.c: Likewise.
-       * lib/timevar.h: Likewise.
-       * djgpp/subpipe.c: Use standard recipe for config.h.
-       * lib/abitset.c: Likewise.
-       * lib/bitset.c: Likewise.
-       * lib/bitset_stats.c: Likewise.
-       * lib/bitsetv-print.c: Likewise.
-       * lib/bitsetv.c: Likewise.
-       * lib/ebitsetv.c: Likewise.
-       * lib/get-errno.c: Likewise.
-       * lib/lbitset.c: Likewise.
-       * lib/subpipe.c: Likewise.
-       * lib/timevar.c: Likewise.
-       * lib/vbitset.c: Likewise.
-       * tests/local.at: Likewise.
-       * src/scan-gram.l: Don't include verify.h, since system.h does
-       that for us.
-       * .x-sc_require_config_h: New file.
-       * .x-sc_unmarked_diagnostics: New file.
-
-2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Be a bit more systematic about using 'abort'.
-       * lib/abitset.c (abitset_test): Remove ATTRIBUTE_UNUSED; not needed.
-       * lib/bitset.c (bitset_bytes, bitset_init, bitset_op4_cmp):
-       Put 'default: abort ();' before some other case, to satisfy older
-       pedantic compilers.
-       * lib/bitset_stats.c (bitset_stats_init): Likewise.
-       * lib/ebitset.c (ebitset_elt_find, ebitset_op3_cmp): Likewise.
-       * lib/lbitset.c (lbitset_elt_find, lbitset_op3_cmp): Likewise.
-       * src/conflicts.c (resolve_sr_conflict): Likewise.
-       * src/vcg.c (get_color_str, get_textmode_str, get_shape_str):
-       (get_decision_str, get_orientation_str, get_node_alignment_str):
-       (get_arrow_mode_str, get_crossing_type_str, get_view_str):
-       (get_linestyle_str, get_arrowstyle_str): Likewise.
-       * src/conflicts.c (resolve_sr_conflict):
-       Use a default case rather than one for the one remaining enum
-       value, to catch invalid enum values as well.
-       * src/lalr.c (set_goto_map, map_goto):
-       Prefer "assert (FOO);" to "if (!FOO) abort ();".
-       * src/nullable.c (nullable_compute, token_definitions_output):
-       Likewise.
-       * src/reader.c (packgram, reader): Likewise.
-       * src/state.c (transitions_to, state_new, state_reduction_find):
-       Likewise.
-       * src/symtab.c (symbol_user_token_number_set, symbol_make_alias):
-       (symbol_pack): Likewise.
-       * src/tables.c (conflict_row, pack_vector): Likewise.
-       * src/scan-skel.l (QPUTS): Remove unnecessary parens.
-       (BASE_QPUTS, "@output ".*\n): Remove unnecessary asserts.
-       * src/system.h: Don't include <assert.h>.
-       (assert): New macro.
-
-       * doc/bison.texinfo (Prologue, Rules, Actions, Union Decl, Action Decl):
-       (Destructor Decl, Parser Function, Pure Calling):
-       Describe rules for braces inside C code more carefully.
-
-2006-01-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix some porting glitches found by Nelson H. F. Beebe.
-       * lib/abitset.c (abitset_resize): Rewrite to avoid warnings from
-       compilers that don't understand that abort () does not return.
-       * src/state.c (transitions_to): Likewise.
-       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
-       that '#include <cstdlib>' works.
-       * src/system.h (INT8_MIN, INT16_MIN, INT32_MIN, INT8_MAX):
-       (INT16_MAX, UINT8_MAX, INT32_MAX, UINT16_MAX, UINT32_MAX):
-       #undef if ! defined __STDC_VERSION__ || __STDC_VERSION__ < 199901,
-       for the benefit of some pre-C99 compilers.
-
-       * bootstrap: Undo changes to gnulib files that autoreconf made.
-
-       Minor fixups to get 'make maintainer-check' to work.
-       * configure.ac: Don't use -Wnested-externs, as it's incompatible
-       with the new verify.h implementation.
-       * data/c.m4 (b4_yy_symbol_print_generate): YYUSE (yyoutput).
-       * data/glr.c (YYUSE): Depend on __GNUC__ as well.
-       * data/yacc.c (YYUSE): Likewise.
-       * data/lalr1.cc (yysyntax_error_): YYUSE (yystate).
-       * lib/subpipe.c (end_of_output_subpipe): The args are unused.
-       * src/parse-gram.y (declaration): Don't pass a string constant
-       to a function that expects char *, since GCC might complain
-       about the constant value.
-       * src/reader.c (symbol_typed_p): Add parens to pacify GCC.
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): #undef yylloc and yylval
-       before #defining them.
-       * tests/glr-regression.at
-       (Incorrectly initialized location for empty right-hand side in GLR):
-       In yyerror, use the msg arg.
-       (Corrupted semantic options if user action cuts parse):
-       (Incorrect lookahead during deterministic GLR):
-       (Incorrect lookahead during nondeterministic GLR):
-       Don't name a local var 'index'; it shadows string.h's 'index'.
-
-2006-01-19  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at (_AT_DATA_CALC_Y): Initialize the whole initial
-       location, not just parts of it.
-
-2006-01-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Document the fact that multiple %unions are now allowed.
-       * doc/bison.texinfo (Union Decl): Likewise.
-       * TODO: This feature is now implemented, so remove it from
-       the wishlist.
-
-       * Makefile.maint: Merge with coreutils Makefile.maint.
-       (CVS_LIST): Use build-aux version if available.
-       (VERSION_REGEXP): New macro.
-       (syntax-check-rules): Add sc_no_if_have_config_h,
-       sc_prohibit_assert_without_use, sc_require_config_h,
-       sc_useless_cpp_parens.
-       (sc_obsolete_symbols): Check for O_NDELAY.
-       (sc_dd_max_sym_length): Track coreutils.
-       (sc_unmarked_diagnostics): Look in all files, not just *.c.
-       (sc_useless_cpp_parens): New rule.
-       (news-date-check): Look for version or today's date.
-       (changelog-check): Don't require version number near head.
-       (copyright-check): Use current year instead of hardwiring 2005.
-       (my-distcheck): Depend on $(release_archive_dir)/$(prev-tgz).
-       (announcement): Add --gpg-key-ID.
-
-       * djgpp/config.sed: Add copyright notice, and replace "filesystem"
-       with "file system".
-
-       Avoid undefined behavior that addressed just before the start of an
-       array.  Problem reported by twlevo.
-       * src/reader.c (packgram): Prepend a new sentinel before ritem.
-       * src/lalr.c (build_relations): Rely on new sentinel.
-       * src/gram.c (gram_free): Adjust to new sentinel.
-
-2006-01-12  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/glr.c (yyGLRStateSet): Rename yylookaheadStatuses to
-       yylookaheadNeeds.  All uses updated.
-       (yysplitStack): Rename local yynewLookaheadStatuses to
-       yynewLookaheadNeeds.
-       * data/glr-regression.at (Incorrect lookahead during nondeterministic
-       GLR): In comments, change `lookahead status' to `lookahead need'.
-
-2006-01-11  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
-
-       * data/glr.c (yysplitStack): A little stylistic rewrite.
-
-2006-01-11  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
-
-       * data/glr.c (yyaddDeferredAction): Flesh out the comment.
-
-2006-01-11  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * doc/bison.texinfo: Fix some typos.
-       (GLR Semantic Actions): New subsection discussing special
-       considerations because GLR semantic actions might be deferred.
-       (Actions): Mention look-ahead usage of yylval.
-       (Actions and Locations): Mention look-ahead usage of yylloc.
-       (Special Features for Use in Actions): Add YYEOF entry and mention it
-       in the yychar entry.
-       In the yychar entry, remove mention of the local yychar case (pure
-       parser) since this is irrelevant information when writing semantic
-       actions and since it's already discussed in `Table of Symbols' where
-       yychar is otherwise described as an external variable.
-       In the yychar entry, don't call it the `current' look-ahead since it
-       isn't when semantic actions are deferred.
-       In the yychar and yyclearin entries, add note about deferred semantic
-       actions.
-       Add yylloc and yylval entries discussing look-ahead usage.
-       (Look-Ahead Tokens): When discussing yychar, don't call it the
-       `current' look-ahead, and do mention yylval and yylloc.
-       (Error Recovery): Cross-reference `Action Features' when mentioning
-       yyclearin.
-       (Table of Symbols): In the yychar entry, don't call it the `current'
-       look-ahead.
-       In the yylloc and yylval entries, mention look-ahead usage.
-
-2006-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/glr-regression.at: Update copyright year to 2006.
-
-2006-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/glr.c (yyGLRStateSet): Add yybool* yylookaheadStatuses member to
-       use during nondeterministic operation to track which stacks have
-       actually needed the current lookahead.
-       (yyinitStateSet, yyfreeStateSet, yyremoveDeletes, yysplitStack):
-       Allocate, deallocate, resize, and otherwise shuffle space for
-       yylookaheadStatuses in parallel with yystates member of yyGLRStateSet.
-       (yysplitStack, yyprocessOneStack, yyparse): Set lookahead status
-       appropriately during nondeterministic operation.
-       (yySemanticOption): Add int yyrawchar, YYSTYPE yyval, and YYLTYPE yyloc
-       members to store the current lookahead to be used by the deferred
-       user action.
-       (yyaddDeferredAction): Add size_t yyk parameter specifying the stack
-       from which the RHS is taken.  Set the lookahead members of the new
-       yySemanticOption according to the lookahead status for stack yyk.
-       (yyglrShiftDefer, yyglrReduce): Pass yyk parameter on to
-       yyaddDeferredAction.
-       (yyresolveAction): Set yychar, yylval, and yylloc to the lookahead
-       members of yySemanticOption before invoking yyuserAction, and then set
-       them back to their current values afterward.
-       (yyparse): Set yychar = YYEMPTY where yytoken = YYEMPTY.
-       (yyreportAmbiguity): Add /*ARGSUSED*/ to pacify lint.
-       * tests/glr-regression.at: Remove `.' from the ends of recent test case
-       titles for consistency.
-       (Leaked merged semantic value if user action cuts parse): In order to
-       suppress lint warnings, use arguments in merge function, and assign
-       char value < 128 in main.
-       (Incorrect lookahead during deterministic GLR): New test case.
-       (Incorrect lookahead during nondeterministic GLR): New test case.
-
-2006-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/c.m4 (b4_yy_symbol_print_generate): In yy_symbol_print, accept
-       !yyvaluep as signal that no semantic value is available to print.
-       * data/glr.c (yydestroyGLRState): If state is not resolved, don't try
-       to print a semantic value.
-
-2006-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * tests/glr-regression.at: For consistency with my newer test cases,
-       don't thank myself.
-
-2006-01-05  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/glr.c (yyresolveValue): When merging semantic options, if at
-       least one user action succeeds but a later one cuts the parse, then
-       destroy the semantic value before returning rather than leaking it.
-       (yyresolveStates): If a user action cuts the parse and thus
-       yyresolveValue fails, ignore the (unset) semantic value rather than
-       corrupting the yyGLRState, and empty the semantic options list since
-       the user actions should have called all necessary destructors.
-       Simplify code with YYCHK.
-       * tests/glr-regression.at (Corrupted semantic options if user action
-       cuts parse): New test case.
-       (Undesirable destructors if user action cuts parse): New test case.
-       Before applying any of this patch, this test case never actually failed
-       for me... but only because the corrupted semantic options usually
-       masked this bug.
-       (Leaked merged semantic value if user action cuts parse): New test
-       case.
-
-2006-01-05  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c, src/symlist.h, src/symlist.c: s/mid_rule/midrule/.
-
-2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/c.m4 (b4_c_modern): New macro, with a new provision for
-       _MSC_VER.  Problem reported by Cenzato Marco.
-       (b4_c_function_def): Use it.
-       * data/yacc.c (YYMODERN_C): Remove.  All uses replaced by
-       b4_c_modern.
-       (yystrlen, yystpcpy, yyparse): Use b4_c_function... macros rather
-       than rolling our own.
-
-2006-01-04  Akim Demaille  <akim@epita.fr>
-
-       Also warn about non-used mid-rule values.
-       * src/symlist.h, src/symlist.c (symbol_list): Add a mid_rule
-       member.
-       (symbol_list_new): Adjust.
-       * src/reader.c (symbol_typed_p): New.
-       (grammar_rule_check): Use it.
-       (grammar_midrule_action): Bind a mid-rule LHS to its rule.
-       Check its rule.
-       * tests/input.at (AT_CHECK_UNUSED_VALUES): New.
-       Use it.
-       * tests/actions.at (Exotic Dollars): Adjust.
-
-2006-01-04  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (grammar_midrule_action): If $$ is set in a
-       mid-rule, move the `used' bit to its lhs.
-       * tests/input.at (Unused values): New.
-       * tests/actions.at (Exotic Dollars): Adjust: exp is not typed.
-
-2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Bison Options): Say more accurately what
-       --yacc does.
-       * src/parse-gram.y (rules_or_grammar_declaration): Don't complain
-       about declarations in the grammar when in Yacc mode, as POSIX does
-       not require a diagnostic when the grammar uses extensions.
-
-       * src/reduce.c (reduce_grammar): Remove unnecessary cast to bool.
-
-       Warn about dubious constructions like "%token T T".
-       Reported by twlevo.
-       * src/symtab.h (struct symbol.declared): New member.
-       * src/symtab.c (symbol_new): Initialize it to false.
-       (symbol_class_set): New arg DECLARING, specifying whether
-       this is a declaration that we want to warn about, if there
-       is more than one of them.  All uses changed.
-
-       * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c:
-       Allow multiple %union directives, whose contents concatenate.
-       * src/parse-gram.y (grammar_declaration): Likewise.
-       Use muscle_code_grow, so that we don't need stype_line any more.
-       All uses changed.
-
-       * src/muscle_tab.c (muscle_grow): Fix comment.
-
-       * ChangeLog, data/c.m4, data/glr.c, data/glr.cc, data/location.cc:
-       * data/yacc.c, src/getargs.c, src/output.c, tests/cxx-type.at:
-       Update copyright year to 2006.
-
-2006-01-03  Akim Demaille  <akim@epita.fr>
-
-       Have glr.cc pass (some of) the calc.at tests.
-       * data/glr.cc (b4_parse_param_orig): New.
-       (b4_parse_param): Improve its definition, and bound it more
-       clearly in the skeleton.
-       (b4_epilogue): Append, instead of prepending, in order to keep
-       #line consistency.
-       Simplify the generation of auxiliary functions: locations and
-       purity are mandated.
-       (b4_global_tokens_and_yystype): Honor it.
-       * data/location.cc (c++.m4): Don't include it.
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Define AT_GLR_CC_IF
-       and AT_SKEL_CC_IF.
-       * tests/calc.at (AT_CHECK_CALC): Rely on AT_SKEL_CC_IF instead of
-       AT_LALR1_CC_IF.
-       Be sure to initialize the first position's filename.
-       (AT_CHECK_CALC_LALR1_CC): Add %location and %defines, they are
-       mandated anyway.
-       (AT_CHECK_CALC_GLR_CC): New.
-       Use it to exercise glr.cc as a lalr1.cc drop-in replacement.
-
-2006-01-02  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_skeleton): Don't hard wire the inclusion of
-       c.m4.
-       * data/c++.m4, data/glr.c, data/yacc.c: Include c.m4.
-       * data/glr.cc: Do not include stack.hh.
-
-2006-01-02  Joel E. Denny  <jdenny@ces.clemson.edu>
-
-       * data/glr.c: Reformat whitespace with tabs.
-       (b4_lpure_formals): Remove this unused m4 macro.
-       * tests/cxx-type.at: Reformat whitespace with tabs.
-       (_AT_TEST_GLR_CXXTYPES): In union Node, rename node_info to nodeInfo
-       since it's a member.  Rename type to isNterm for clarity.
-
-2005-12-29  Akim  <akim@sulaco.local>
-
-       Let glr.cc catch up with symbol_value_print.
-       * data/glr.cc (b4_yysymprint_generate): Replace by...
-       (b4_yy_symbol_print_generate): this.
-       (yy_symbol_print, yy_symbol_value_print): Declare them.
-
-2005-12-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/location.h (boundary): Note that a line or column equal
-       to INT_MAX indicates an overflow.
-       * src/scan-gram.l: Include verify.h.  Don't include get-errno.h.
-       (rule_length_overflow, increment_rule_length, add_column_width):
-       New functions.
-       (<INITIAL>{id}, <SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'"):
-       (<SC_BRACED_CODE>"}"):
-       Use increment_rule_length rather than incrementing it by hand.
-       (adjust_location, handle_syncline): Diagnose overflow.
-       (handle_action_dollar, handle_action_at):
-       Fix bug with monstrosities like $-2147483648.
-       Remove now-unnecessary checks.
-       (scan_integer): Verify assumptions and remove now-unnecessary checks.
-       (convert_ucn_to_byte): Verify assumptions.
-       (handle_syncline): New arg LOC.  All callers changed.
-       Don't store through a value derived from char const * pointer.
-
-       * src/reader.c (grammar_rule_check): Rewrite slightly to avoid
-       GCC warnings.
-
-2005-12-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/reader.c (grammar_midrule_action, grammar_symbol_append):
-       Remove unnecessary forward static decls.
-
-2005-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (grammar_current_rule_check): Also check that $$
-       is used.
-       Take the rule to check as argument, hence rename as...
-       (grammar_rule_check): this.
-       * src/reader.h, src/reader.c (grammar_rule_begin, grammar_rule_end):
-       Rename as...
-       (grammar_rule_begin, grammar_rule_end): these, for consistency.
-       (grammar_midrule_action, grammar_symbol_append): Now static.
-       * tests/torture.at (input): Don't rely on the default action
-       being always performed.
-       * tests/calc.at: "Set" $$ even when the action is "cut" with
-       YYERROR or other.
-       * tests/actions.at (Exotic Dollars): Instead of using unused
-       values, check that the warning is issued.
-
-2005-12-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Improve wording for unused-value warnings.
-
-2005-12-22  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc, data/yacc.c, data/glr.c, data/c.m4
-       (b4_yysymprint_generate): Rename as...
-       (b4_yy_symbol_print_generate): this.
-       Generate yy_symbol_print instead of yysymprint.
-       Generate also yy_symbol_value_print, and use it.
-
-2005-12-22  Akim Demaille  <akim@epita.fr>
-
-       * NEWS: Warn about unused values.
-       * src/symlist.h, src/symlist.c (symbol_list, symbol_list_new): Add
-       a `used' member.
-       (symbol_list_n_get, symbol_list_n_used_set): New.
-       (symbol_list_n_type_name_get): Use symbol_list_n_get.
-       * src/scan-gram.l (handle_action_dollar): Flag used symbols.
-       * src/reader.c (grammar_current_rule_check): Check that values are
-       used.
-       * src/symtab.c (symbol_print): Accept 0.
-       * tests/existing.at: Remove the type information.
-       Empty the actions.
-       Remove useless actions (beware of mid-rule actions: perl -000
-       -pi -e 's/\s*\{\}(?=[\n\s]*[|;])//g').
-       * tests/actions.at (Exotic Dollars): Use unused values.
-       * tests/calc.at: Likewise.
-       * tests/glr-regression.at (No users destructors if stack 0 deleted):
-       Likewise.
-
-       * src/gram.c (rule_useful_p, rule_never_reduced_p): Use
-       rule_useful_p.
-
-2005-12-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Undo 2005-12-01 tentative license wording change.  The wording is
-       still being reviewed by the lawyers, and we don't want to wait for
-       them before publishing a test release.  For now, revert to the
-       previous wording.
-       * NEWS: Undo 2005-12-01 change.
-       * data/glr.c: Revert to previous license wording.
-       * data/glr.cc: Likewise.
-       * data/lalr1.cc: Likewise.
-       * data/location.cc: Likewise.
-       * data/yacc.c: Likewise.
-
-       * NEWS: Reword %destructor vs YYABORT etc.
-       * data/glr.c: Use American spacing, for consistency.
-       * data/glr.cc: Likewise.
-       * data/lalr1.cc: Likewise.
-       * data/yacc.c: Likewise.
-       * data/yacc.c: Reformat comments slightly.
-       * doc/bison.texinfo: Replace "non-" with "non" when that makes sense,
-       for consistency.  Fix some spelling errors and reword recently-included
-       text slightly.
-       * tests/cxx-type.at: Cast results of malloc, for C++.
-
-2005-12-21  Joel E. Denny  <address@hidden>
-
-       * tests/cxx-type.at: Construct a tree, count the parents of shared
-       nodes, and free each node once and only once.  Previously, the memory
-       for semantic values was leaked instead.
-
-2005-12-21  Joel E. Denny  <address@hidden>
-
-       * data/glr.c (struct yyGLRStack): If pure, add yyval and yyloc members.
-       (yylval, yylloc): If pure, #define to yystackp->yyval and
-       yystackp->yyloc similar to yychar and yynerrs.
-       (yyparse): If pure, remove local yylval and yylloc. Add local
-       yystackp to accommodate pure definitions of yylval and yylloc.
-       (b4_lex_param, b4_lyyerror_args, b4_lpure_args): If pure, change
-       yylvalp and yyllocp to &yylval and &yylloc.
-       (nerrs, char, lval, lloc): If pure, add #define's for b4_prefix[]
-       namespace. Previously, nerrs and char were missing, but lval and lloc
-       weren't necessary.
-       (yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Remove
-       yylvalp and yyllocp parameters since, if pure, these are now always
-       accessible through yystackp.  If not pure, they are still accessible
-       globally.
-       * data/glr.c, data/yacc.c (YYLLOC_DEFAULT): Change `if (N)' to
-       `if (YYID (N))' to pacify lint.
-
-2005-12-21  Akim Demaille  <akim@epita.fr>
-
-       YYACCEPT, YYERROR, and YYABORT, as user actions, should not
-       destroy the RHS symbols of a rule.
-       * data/yacc.c (yylen): Initialize to 0.
-       Keep its value to the number of items to possibly shift.
-       In particular, a regular successful parse that ends on YYFINAL by
-       a (internal) YYACCEPT must not have yylen != 0.
-       (yyerrorlab, yyreturn): Pop the RHS.
-       Reorder a bit to emphasize the `shifting' bits of code.
-       (YYPOPSTACK): Now accept a number of items to pop.
-       * data/lalr1.cc: Likewise.
-       * data/glr.c: Formatting changes.
-       Use goto instead of fall through.
-       * doc/bison.texinfo (Destructor Decl): Complete.
-
-2005-12-20  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       * Makefile.am: DJGPP specific files added to EXTRA_DIST.
-       * djgpp/Makefile.maint: Fix PACKAGE variable computation.
-       * djgpp/config.bat: Replace every occurence of the file name
-       scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
-       c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
-       * djgpp/config.sed: Replace every occurence of the file name
-       scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
-       c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
-       * djgpp/djunpack.bat: DJGPP specific file.
-       * djgpp/fnchange.lst: DJGPP specific file.
-       * djgpp/README.in: Add new information about how to unpack the bison
-       source on MSDOS and other systems which have 8.3 file name restrictions
-       using djunpack.bat and fnchange.lst.
-
-2005-12-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap (build_cvs_prefix): Remove; unused.
-       (CVS_PREFIX): Adjust to yesterday's Savannah reorganization
-       when getting gnulib.
-
-2005-12-12  "Joel E. Denny" <jdenny@ces.clemson.edu>
-
-       * data/glr.c: Reorder typedef declarations for structs to match order
-       of struct declarations.
-       Rename yystack everywhere to yystackp except in yyparse where it's not
-       a pointer.
-       (yyglrShift): Change parameter YYSTYPE yysval to YYSTYPE* yyvalp for
-       consistency.
-       (yyis_table_ninf): Change 0 to YYID (0) to pacify lint.
-       (yyreportSyntaxError): Add /*ARGSUSED*/ to pacify lint.
-       (yyparse): Change while (yytrue) to while ( YYID (yytrue)) to pacify
-       lint.
-
-2005-12-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/sets.at (Accept): Fix typos in regular expression used to
-       sed out the final state number.
-
-       Work around portability problem on Solaris 10: flex-generated
-       files include <stdio.h> before <config.h>, which messes up
-       because the latter defines __EXTENSIONS__.  Address the problem
-       by creating two new little files that include <config.h> first,
-       then include the flex-generated files.  Rewrite everyone else
-       to include <config.h> first, as well.
-       * lib/timevar.c: Always include "config.h".
-       * src/Makefile.am (bison_SOURCES): Replace scan-gram.l with
-       scan-gram-c.c, and scan-skel.l with scan-skel-c.c.
-       (EXTRA_bison_SOURCES): New macro.
-       * src/scan-gram-c.c, src/scan-skel-c.c: New files.
-       * src/system.h: Don't include config.h.
-       * src/LR0.c: Include <config.h> first.
-       * src/assoc.c: Likewise.
-       * src/closure.c: Likewise.
-       * src/complain.c: Likewise.
-       * src/conflicts.c: Likewise.
-       * src/derives.c: Likewise.
-       * src/files.c: Likewise.
-       * src/getargs.c: Likewise.
-       * src/gram.c: Likewise.
-       * src/lalr.c: Likewise.
-       * src/location.c: Likewise.
-       * src/main.c: Likewise.
-       * src/muscle_tab.c: Likewise.
-       * src/nullable.c: Likewise.
-       * src/output.c: Likewise.
-       * src/parse-gram.y: Likewise.
-       * src/print.c: Likewise.
-       * src/print_graph.c: Likewise.
-       * src/reader.c: Likewise.
-       * src/reduce.c: Likewise.
-       * src/relation.c: Likewise.
-       * src/state.c: Likewise.
-       * src/symlist.c: Likewise.
-       * src/symtab.c: Likewise.
-       * src/tables.c: Likewise.
-       * src/uniqstr.c: Likewise.
-       * src/vcg.c: Likewise.
-
-       * src/parse-gram.y: Fix minor problems uncovered by lint.
-       (current_lhs, current_lhs_location): Now static.
-       (current_assoc): Remove unused variable.
-
-       Cleanups so that Bison-generated parsers have less lint.
-       * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate):
-       Prepend /*ARGSUSED*/, for lint's sake.
-       * data/glr.c (YYUSE): Properly parenthesize, and use an alternate
-       definition if 'lint' is defined.
-       (YYID): New macro (or function, if lint).
-       All uses of /*CONSTCOND*/0 replaced by YYID(0).
-       * data/yacc.c: Likewise.
-       * data/glr.c (yyuserAction, yyuserMerge, yy_reduce_print):
-       (yyrecoverSyntaxError): Prepend /*ARGSUSED*/.
-       * data/glr.cc (YYLLOC_DEFAULT): Omit /*CONSTCOND*/ since this code
-       is C++ only.
-       * data/lalr1.cc (YYUSE): Just use a cast, since this code is C++ only.
-       * data/yacc.c (YYSTACK_FREE) [defined YYSTACK_ALLOC]:
-       Use YYID(0) rather than 0, for lint.
-       (yystrlen): Rewrite to avoid lint warning about ptrdiff_t overflow.
-       (yysyntax_error): Rewrite to avoid lint warnings about parenthesization.
-
-2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/glr-regression.at
-       (Improper handling of embedded actions and dollar(-N) in GLR parsers):
-       Close memory leak reported by twlevo.
-
-2005-12-06  "Joel E. Denny" <jdenny@ces.clemson.edu>
-
-       * data/glr.c (yyprocessOneStack, yyparse): Synchronize the shift for
-       all stacks.
-       (yyparse): Iterate another stack in order to call user destructors.
-       * tests/glr-regression.at (No users destructors if stack 0 deleted):
-       New test case.
-       (Duplicated user destructor for lookahead): This test now is expected
-       to succeed.
-
-2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Document the following change.
-       * data/yacc.c: Say "parser skeleton" rather than "file", since
-       it's no longer just a file.
-       * data/glr.c: Grant a special exception for C GLR parsers, that
-       reads like the already-existing exception for C LALR(1) parsers.
-       * data/glr.cc: Likewise.
-       * data/lalr1.cc: Likewise.
-       * data/location.cc: Likewise.
-       * data/yacc.c: Reword the "written by" statement to clarify that
-       it was the parser skeleton, not the entire output file.
-       * data/glr.c: Written by Paul Hilfinger.
-       * data/glr.cc: Written by Akim Demaille.
-       * data/lalr1.cc: Likewise.
-
-2005-11-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (yy_reduce_print, YY_REDUCE_PRINT):
-       Fix typos in previous change that broke 'make check'.
-       YY_REDUCE_PRINT cannot be a pseudo-varargs macro; that isn't
-       supported in C.
-       * tests/calc.at (_AT_CHECK_CALC,_AT_CHECK_CALC_ERROR):
-       Don't check NUM-STDERR-LINES, since the output format is fluctuating.
-       We can revert this once things settle down.
-
-       * src/conflicts.c (conflicts_print): Don't print file name twice
-       when %expect fails because there were no conflicts.
-       * doc/bison.texinfo (Expect Decl): Tighten up wording in previous
-       change.
-       * tests/conflicts.at (%expect not enough, %expect too much):
-       (%expect with reduce conflicts): Adjust to new behavior.
-
-2005-11-18  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (conflicts_print): Unsatisfied %expectation are
-       errors.
-       * NEWS: Document this.
-       * doc/bison.texinfo (Expect Decl): Likewise.
-
-2005-11-16  Akim Demaille  <akim@epita.fr>
-
-       Generalize the display of semantic values and locations in traces.
-       * data/glr.c (yy_reduce_print): Fix indices (again).
-       * data/c++.m4 (b4_rhs_value, b4_rhs_location): Don't expect
-       literal integers.
-       * data/lalr1.cc (yyreduce_print): Rename as...
-       (yy_reduce_print): this.
-       Display values and locations.
-       * data/yacc.c (yy_reduce_print): Likewise.
-       (YY_REDUCE_PRINT): Adjust to pass the required arguments.
-       (yysymprint): Move higher to be visible from yy_reduce_print).
-       (yyparse): Adjust.
-       * tests/calc.at: Adjust the expected length of the traces.
-
-2005-11-14  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c (yy_reduce_print): The loop was quite wrong: type are
-       from 1 to N, while values and location start at 0.
-       (b4_rhs_location, b4_rhs_value): Add parens around $1 and $2.
-
-2005-11-14  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c (yy_reduce_print): Fix the $ number.
-
-2005-11-14  Akim Demaille  <akim@epita.fr>
-
-       "Use" parse parameters.
-       * data/c.m4 (b4_parse_param_for, b4_parse_param_use): New.
-       * data/glr.c, data/glr.cc: Use them.
-       * data/glr.c (YYUSE): Have a C++ definition that supports
-       non-pointer types.
-
-2005-11-14  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c (yyexpandGLRStack): Declare only if defined.
-
-2005-11-14  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.cc: New.
-       * data/m4sugar/m4sugar.m4 (m4_prepend): New.
-
-2005-11-12  Akim Demaille  <akim@epita.fr>
-
-       Let position and location be PODs.
-       * data/location.cc (position::initialize, location::initialize): New.
-       (position::position, location::location): Define only if
-       b4_location_constructors is defined.
-       * data/lalr1.cc (b4_location_constructors): Define it for backward
-       compatibility.
-       * doc/bison.texinfo (Initial Action Decl): Use initialize.
-
-2005-11-12  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: Move the body of the ctor and dtor into the
-       parser file (instead of the header).
-       Wrap the implementations in a "namespace yy".
-
-2005-11-12  Akim Demaille  <akim@epita.fr>
-
-       Have glr.c include its header file when created.
-       * data/glr.c (b4_shared_declarations): New.
-       Output them verbatim in the parser if !%defines, otherwise
-       output then in the header file, and include it instead.
-
-2005-11-11  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c: Comment changes.
-
-2005-11-11  Akim Demaille  <akim@epita.fr>
-
-       When yydebug, report semantic and location values for reductions.
-       * data/glr.c (yy_reduce_print): Report the semantic values and the
-       locations.
-       (YY_REDUCE_PRINT): Adjust.
-       (yyglrReduce): Use them.
-       (b4_rhs_value, b4_rhs_location): Remove m4_eval invocations.
-       * data/c.m4 (b4_yysymprint_generate): Specify the const arguments.
-       * tests/calc.at (_AT_CHECK_CALC_ERROR): Remove the reduction
-       traces.
-
-2005-11-10  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c (yynewGLRStackItem, YY_RESERVE_GLRSTACK): New.
-       (yyaddDeferredAction, yyglrShift, yyglrShiftDefer): Use them.
-       (yyexpandGLRStack, YYRELOC): Define only when YYSTACKEXPANDABLE.
-
-2005-11-09  Albert Chin-A-Young  <china@thewrittenword.com>
-
-       * m4/cxx.m4, examples/Makefile.am: Don't build
-       examples/calc++ if no C++ compiler is available.  (trivial change)
-
-2005-11-09  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-skel.l: Use a couple of asserts.
-
-2005-11-03  Akim Demaille  <akim@epita.fr>
-
-       In some (weird) cases, the final state number is incorrect.
-       Reported by Alexandre Duret-Lutz.
-       * src/LR0.c (state_list_append): Remove the computation of
-       final_state.
-       (save_reductions): Do it here.
-       (get_state): Alpha conversion.
-       (generate_states): Use a for loop.
-       * src/gram.h (item_number_is_rule_number)
-       (item_number_is_symbol_number): New.
-       * src/state.c: Use assert.
-       * src/system.h: Include assert.h.
-       * tests/sets.at (Accept): New.
-
-2005-10-30  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
-
-       * data/glr.c (yyfill): Adjust comment.
-       (yyresolveAction): Initialize default location properly
-       for empty right-hand sides.
-       (yydoAction): Ditto.
-       Add comment explaining apparently dead code.
-       * tests/glr-regression.at
-       (Incorrectly initialized location for empty right-hand side in GLR):
-       New test.
-
-2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap (cleanup_gnulib): New function.  Use it to clean up
-       gnulib when interrupted.  This fixes some race conditions and
-       works around some portability problems (one noted by Paul
-       Hilfinger).
-
-2005-10-22  Akim  <akim@epita.fr>
-
-       * Makefile.cfg: Adjust to config -> build-aux.
-       Reported by twledo.
-
-2005-10-21  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Pass
-       the %parse-params.
-       * data/glr.c (YY_SYMBOL_PRINT, yydestroyGLRState): Adjust.
-       * data/yacc.c (b4_Pure_if): Rename as...
-       (b4_yacc_pure_if): this.
-       (YY_SYMBOL_PRINT, yyparse): Adjust.
-       * doc/bison.texinfo: Formatting changes.
-
-2005-10-21  Akim Demaille  <akim@epita.fr>
-
-       Finish the transition config -> build-aux.
-       * configure.ac, Makefile.am: Use build-aux.
-       * config/prev-version, config/announce-gen, config/Makefile.am:
-       Move to...
-       * build-aux/prev-version, build-aux/announce-gen,
-       * build-aux/Makefile.am: here.
-
-2005-10-14  Akim Demaille  <akim@epita.fr>
-
-       * examples/calc++/test: Use set -x only when VERBOSE.
-
-2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Bison now warns if it finds a stray `$' or `@' in an action.
-       * src/scan-gram.l (<SC_BRACED_CODE>[$@]): Implement this.
-
-2005-10-13  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-skel.l: Output the base name parts of the parser and
-       header file names.
-       * tests/output.at (AT_CHECK_OUTPUT): Support subdirectories, and
-       additional checks.
-       Use this to exercise C++ outputs in subdirs.
-       Reported by Oleg Smolsky.
-
-2005-10-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
-       __STDC_VERSION__, as IBM cc 7.0 doesn't define the latter either.
-       Problem reported by John P. Hartmann.
-       * data/yacc.c (YYMODERN_C): Likewise.  Don't define if the user has
-       already defined it.
-
-2005-10-12  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y (version_check): Exit 63 to please missing
-       (stands for "version mismatch).
-       * tests/input.at, doc/bison.texinfo: Adjust.
-
-2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Work around portability problems with Visual Age C compiler
-       (xlc and xlC_r) reported by John P. Hartmann.
-       * data/location.cc (initial_column, initial_line): Remove.
-       All uses replaced by 0 and 1.
-       * src/scan-gram.l (gram_wrap): Redefine to avoid bug in flex 2.5.31
-       that xlc complains about.
-       * src/scan-skel.l (skel_wrap): Likewise.
-       * data/c.m4 (b4_c_function_def): Look at __STDC_VERSION__ as well
-       as __STDC__.
-       * data/yacc.c (YYMODERN_C): New macro, which also looks at
-       __STDC_VERSION__.  Use it everywhere instead of looking at
-       __STDC__ and __cplusplus.
-
-2005-10-10  Akim Demaille  <akim@epita.fr>
-
-       * examples/calc++/test: Be quiet unless VERBOSE.
-
-2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/c.m4 (yydestruct, yysymprint):
-       Use YYUSE instead of casting to void.
-       * data/glr.c (YYUSE): New macro.
-       (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
-       Use it instead of rolling our own.
-       (YYLLOC_DEFAULT, YYCHK, YYDPRINTF, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
-       (YYCHK1):
-       Use /*CONSTCOND*/ to suppress lint warnings.
-       * data/lalr1.cc (YYLLOC_DEFAULT, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
-       (YY_STACK_PRINT): Use 'false' not '0'.
-       (YYUSE): New macro.
-       (yysymprint_, yydestruct_): Use it instead of rolling our own.
-       * data/yacc.c (YYUSE): New macro.
-       (YYCOPY, YYSTACK_RELOCATE, YYBACKUP, YYLLOC_DEFAULT):
-       (YYDPRINTF, YY_SYMBOL_PRINT, YY_STACK_PRINT, YY_REDUCE_PRINT):
-       (yyerrorlab): Use /*CONSTCOND*/ to suppress lint warnings.
-
-
-       * data/m4sugar/m4sugar.m4 (_m4_map): New macro.
-       (m4_map, m4_map_sep): Use it.  Handle the empty list correctly.
-
-2005-10-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Undo the parts of the unlocked-I/O change that substituted
-       putc or puts for printf.  This might hurt performance a bit,
-       but some people prefer the printf style.
-       * data/c.m4 (yysymprint): Prefer printf to puts and putc.
-       * data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): Remove.
-       All uses replaced by YYFPRINTF and YYDPRINTF.
-       * data/yacc.c: Likewise.
-       * lib/bitset.c (bitset_print): Likewise.
-       * lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer printf to
-       putc and puts.
-       * lib/lbitset.c (debug_lbitset): Likewise.
-       * src/closure.c (print_firsts, print_fderives): Likewise.
-       * src/gram.c (grammar_dump): Likewise.
-       * src/lalr.c (look_ahead_tokens_print): Likewise.
-       * src/output.c (escaped_output): Likewise.
-       (user_actions_output): Break apart two printfs.
-       * src/parse-gram.y (%printer): Prefer printf to putc and puts.
-       * src/reduce.c (reduce_print): Likewise.
-       * src/state.c (state_rule_look_ahead_tokens_print): Likewise.
-       * src/system.h: Include unlocked-io.h rathe than stdio.h.
-
-       * data/glr.c (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
-       Use assignments rather than casts-to-void to suppress
-       unused-variable warnings.  This pacifies 'lint'.
-       * data/lalr1.cc (yysymprint_, yydestruct_): Use a call to suppress
-       unused-variable warnings.
-
-2005-10-03  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       * Makefile.am: DJGPP specific files added to EXTRA_DIST.
-
-2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use unlocked I/O for a minor performance improvement on hosts like
-       GNU/Linux and Solaris that support unlocked I/O.  The basic idea
-       is to use the gnlib unlocked-io module, and to prefer putc and
-       puts to printf when either will work (since the latter doesn't
-       come in an unlocked flavor).
-       * bootstrap (gnulib_modules): Add unlocked-io.
-       * data/c.m4 (yysymprint): Prefer puts and putc to printf.
-       * data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): New macros.
-       Prefer them to YYFPRINTF and YYDPRINTF if either will do,
-       and similarly for puts and putc and printf.
-       * data/yacc.c: Likewise.
-       * lib/bitset.c (bitset_print): Likewise.
-       * lib/bitset.h [USE_UNLOCKED_IO]: Include unlocked-io.h.
-       * lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer putc and puts
-       to printf.
-       * lib/lbitset.c (debug_lbitset): Likewise.
-       * src/closure.c (print_firsts, print_fderives): Likewise.
-       * src/gram.c (grammar_dump): Likewise.
-       * src/lalr.c (look_ahead_tokens_print): Likewise.
-       * src/output.c (escaped_output): Likewise.
-       (user_actions_output): Coalesce two printfs.
-       * src/parse-gram.y (%printer): Prefer putc and puts to printf.
-       * src/reduce.c (reduce_print): Likewise.
-       * src/state.c (state_rule_look_ahead_tokens_print): Likewise.
-       * src/system.h: Include unlocked-io.h rather than stdio.h.
-
-       * data/lalr1.cc: Don't put an unmatched ' in a dnl comment, as
-       this confuses xgettext.
-
-2005-10-02  Akim Demaille  <akim@epita.fr>
-
-       * bootstrap (gnulib_modules): Add strverscmp.
-       * lib/.cvsignore: Add strverscmp.c, strverscmp.h.
-       * m4/.cvsignore: Add strverscmp.m4.
-       * src/parse-gram.y (%require): New token, new rule.
-       (version_check): New.
-       * src/scan-gram.l (%require): Adjust.
-       * tests/input.at (AT_REQUIRE): New.
-       Use it.
-       * doc/bison.texinfo (Require Decl): New.
-       (Calc++ Parser): Use %require.
-
-2005-10-02  Akim Demaille  <akim@epita.fr>
-
-       * data/location.cc: New.
-
-2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>,
-           Akim Demaille  <akim@epita.fr>
-
-       Make sure -odir/foo.cc creates dir/location.hh etc.
-       * src/files.h (spec_outfile, parser_file_name, spec_name_prefix)
-       (spec_file_prefix, spec_verbose_file, spec_graph_file)
-       (spec_defines_file): Now const.
-       (dir_prefix): New.
-       (short_base_name): Remove.
-       * src/files.c: Adjust.
-       (dirname.h): Include.
-       (base_name): Don't prototype it.
-       (finput): Remove, duplicates gram_in.
-       (full_base_name, short_base_name): Replace by...
-       (all_but_ext, all_but_tab_ext): these.
-       (compute_base_names): Rename as...
-       (compute_file_name_parts): this.
-       Update to compute the new variables, including dir_prefix.
-       Adjust dependencies.
-       * src/output.c (prepare): Output them.
-       * src/reader.c: Adjust to use gram_in, not finput.
-       * src/scan-skel.l (@dir_prefix@): New.
-
-2005-10-02  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
-
-       * lib/subpipe.c: New function end_of_output_subpipe() added
-       to allow support for non-posix systems. This is a no-op function
-       for posix systems.
-
-       * lib/subpipe.h: New function end_of_output_subpipe() added
-       to allow support for non-posix systems. This is a no-op function
-       for posix systems.
-
-       * src/output.c (output_skeleton): Use end_of_output_subpipe() to
-       handle the lack of pipe/fork functionality on non-posix systems.
-
-       * djgpp/Makefile.maint: DJGPP specific file.
-
-       * djgpp/README.in: DJGPP specific file.
-
-       * djgpp/config.bat: DJGPP specific configuration file.
-
-       * djgpp/config.sed: DJGPP specific configuration file.
-
-       * djgpp/config.site: DJGPP specific configuration file.
-
-       * djgpp/config_h.sed: DJGPP specific configuration file.
-
-       * djgpp/subpipe.c: DJGPP specific replacement file for lib/subpipe.c.
-
-       * djgpp/subpipe.h: DJGPP specific replacement file for lib/subpipe.h.
-
-2005-10-02  Akim Demaille  <akim@epita.fr>
-
-       * data/location.cc: New, extract from...
-       * data/lalr1.cc: here.
-       (location.hh): Include it after the user prologue, in case the
-       filename type is defined by the user.
-       Forward declation location and position before the pre-prologue.
-       (yyresult_): Rename as...
-       (yyresult): this, it's a local variable, not an attribute.
-       * data/Makefile.am (dist_pkgdata_DATA): Adjust.
-
-2005-10-01  Akim Demaille  <akim@epita.fr>
-
-       * examples/extexi: Restore the #line generation.
-
-2005-09-30  Akim Demaille  <akim@epita.fr>,
-           Alexandre Duret-Lutz <adl@gnu.org>
-
-       Move the token type and YYSTYPE in the parser class.
-       * data/lalr1.cc (stack.hh, location.hh): Include earlier.
-       (parser::token): New, from the moved free definition of tokens.
-       (parser::semantic_value): Now a full definition instead of an
-       indirection to YYSTYPE.
-       (b4_post_prologue): No longer included in the header file, but
-       in the implementation file.
-       * doc/bison.texi (C+ Language Interface): Update.
-       * src/parse-gram.y: Support unary %define.
-       * tests/actions.at: Define global_tokens_and_yystype for backward
-       compatibility until we update the tests.
-       * tests/calc.at: Idem.
-       (first_line, first_column, last_line, last_column): Define for lalr1.cc
-       to simplify the code.
-
-2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Port to SunOS 4.1.4, which lacks strtoul and strerror.
-       Ah, the good old days!  Problem reported by Peter Klein.
-       * bootstrap (gnulib_modules): Add strerror, strtoul.
-       * lib/.cvsignore: Add strerror.c, strtol.c, strtoul.c
-       * m4/.cvsignore: Add strerror.m4, strtol.m4, strtoul.m4.
-
-2005-09-29  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_error_verbose_if): New.
-       * data/lalr1.cc: Use it.
-       (YYERROR_VERBOSE_IF): Remove.
-       (yyn_, yylen_, yystate_, yynerrs_, yyerrstatus_): Remove as
-       parser members, replaced by...
-       (yyn, yylen, yystate, yynerss, yyerrstatus): these parser::parse
-       local variables.
-       (yysyntax_error_): Takes the state number as argument.
-       (yyreduce_print_): Use the argument yyrule, not the former
-       attribute yyn_.
-
-2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap (gnulib_modules): Add verify.
-       * lib/.cvsignore: Add verify.h.
-       * src/getargs.c: Use ARGMATCH_VERIFY rather than verify.
-       * src/system.h (verify): Remove.
-       Include verify.h instead.
-       * src/tables.c (tables_generate): Use new API for 'verify'.
-
-2005-09-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Do not use
-       local variables whose names begin with 'yy'.
-       * tests/calc.at (_AT_DATA_CALC_Y): Likewise.
-       Trivial changes from Joel E. Denny.
-
-       * bootstrap (gnulib_modules): Remove alloca.  Bison doesn't need
-       it itself.
-       * src/main.c (main) [C_ALLOCA]: Don't flush alloca'ed memory; we
-       don't use alloca any more.
-
-       * data/yacc.c [YYSTACK_USE_ALLOCA && !defined __GNUC__ && ! defined
-       __BUILTIN_VA_ARG_INCR && ! defined _AIX && ! defined _MSC_VER &&
-       defined _ALLOCA_H]: Don't include <stdlib.h>; not needed in this case.
-       * tests/torture.at (Exploding the Stack Size with Alloca): Adjust
-       to match yacc.c, to test more hosts.
-
-2005-09-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (YYSIZE_T): Reindent to make it clearer.  This
-       doesn't affect behavior.
-       (YYSTACK_ALLOC) [YYSTACK_USE_ALLOCA]: Improve support for
-       Solaris, AIX, MSC.
-       (_STDLIB_H): Renamed from YYINCLUDED_STDLIB_H.  All uses changed.
-       This works a bit better with glibc, if user code has already included
-       stdlib.h.
-       * doc/bison.texinfo (Bison Parser): Document that users can't
-       arbitrarily use malloc and free for other purposes.  Document
-       that <alloca.h> and <malloc.h> might be included.
-       (Table of Symbols): Under YYSTACK_USE_ALLOCA, Don't claim that the
-       user must declare alloca.
-
-       * HACKING (release): Forwarn the Translation Project about
-       stable releses.
-
-2005-09-20  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c: Use b4_token_enums, not b4_token_enums_defines.
-
-2005-09-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (YYSIZE_MAXIMUM): New macro.
-       (YYSTACK_ALLOC_MAXIMUM): Use it.
-       (yysyntax_error): New function.
-       (yyparse) [YYERROR_VERBOSE]: Don't leak memory indefinitely if
-       multiple syntax errors are reported, and alloca is being used.
-       Instead, reallocate buffers twice as big each time, so that
-       we waste at most half the allocated memory.  Start with a small
-       (128-byte) buffer that will suffice in most cases anyway.
-       Use yysyntax_error to do most of the work.
-
-       * doc/bison.texinfo (Error Reporting, Table of Symbols):
-       yynerrs is the number of errors reported, not the number of
-       errors encountered.
-
-       * tests/glr-regression.at (Duplicated user destructor for lookahead):
-       Mark it as expected to fail.
-       Cast result of malloc; problem reported by twlevo@xs4all.nl.
-       * tests/actions.at, tests/calc.at, tests/glr-regression.at:
-       Don't start user-code symbols with "yy", to avoid name space problems.
-
-2005-09-19  Akim Demaille  <akim@epita.fr>
-
-       Remove the traits, failed experiment.
-       It never proved useful, and anyway because of the current
-       definition, it was not possible to have several specialization of
-       this traits, making it useless.
-       * data/lalr1.cc (yy:traits): Remove.
-       Inline its definitions in the parser class.
-
-2005-09-19  Akim Demaille  <akim@epita.fr>
-
-       * tests/atlocal.in (LIBS): Pass INTLLIBS to address failures on at
-       least Mac OSX with a /usr/local install of gettext.
-
-2005-09-19  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (yyparse): Rename yylooka and yyilooka as yychar
-       and yytoken for similarity with the other skeletons.
-
-2005-09-19  Akim Demaille  <akim@epita.fr>
-
-       * NEWS, configure.ac: update version number to 2.1a.
-
-2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 2.1.
-
-       * NEWS: Remove notice of yytname change, since it was never in an
-       official release.
-       * data/glr.c (yydestroyGLRState): Rename local var to avoid shadowing
-       diagnostic.
-       * src/output.c (prepare): Likewise.
-       * data/lalr1.cc (YYERROR_VERBOSE_IF): New macro.
-       (yysyntax_error_): Use it to avoid GCC warning when YYERROR_VERBOSE
-       is not defined.  This is an awful hack, but it's enough for now.
-       All callers changed.
-       * tests/glr-regression-at (make_value): Args are const pointers now,
-       to avoid GCC warning.
-       (Duplicated user destructor for lookahead): New test.  Currently
-       skipped.  It fails on my host but I'm not sure it'll always fail.
-
-2005-09-16  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h (struct symbol): Declare the printer and destructor
-       as const, to avoid accidental calls to free.
-       (symbol_destructor_set, symbol_printer_set): Adjust.
-       * src/symtab.c: Adjust.
-
-2005-09-16  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_token_enums): New.
-       (b4_token_defines): Rename as...
-       (b4_token_enums_defines): this.
-       (b4_token_defines): New, output only the #defines.
-       * data/yacc.c, data/glr.c: Adjust.
-       * data/lalr1.cc: Use b4_token_enums instead of b4_token_enums_defines.
-       * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Define
-       as default values.
-
-2005-09-16  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (yylex_): Remove, inline its code.
-       (yyreport_syntax_error_): Remove, replaced by...
-       (yysyntax_error_): this which returns a string and leaves to the
-       caller the call to the users' error function.
-       (yylooka_, yyilooka_, yylval, yylloc, yyerror_range_, yyval, yyloc):
-       Move from members of the parser object...
-       (yylooka, yyilooka, yylval, yylloc, yyerror_range, yyval, yyloc):
-       to local variables of the parse function.
-
-2005-09-16  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Calc++ Parser): Don't promote defining YYEOF
-       since it's in Bison's name space.
-
-2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyresolveValue): Add default case to pacify
-       gcc -Wswitch-default.  Problem reported by twlevo@xs4all.nl.
-
-       * NEWS: Document when yyparse started to return 2.
-       * doc/bison.texinfo (Parser Function): Document when yyparse
-       returns 2.
-
-       * data/lalr1.cc: Revert part of previous change, as it's incompatible.
-       (b4_filename_type): Renamed back from b4_file_name_type.  All uses
-       changed.
-       (class position): file_name -> filename (reverting).  All uses changed.
-
-2005-09-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * examples/calc++/Makefile.am ($(calc_sources_generated)): Don't
-       do anything if $@ exists.  This reverts part of the 2005-07-07
-       patch.
-
-2005-09-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * Makefile.am (EXTRA_DIST): Do not distribute REFERENCES; it
-       contains obsolete information and isn't worth distributing as a
-       separate file anyway.
-       * data/glr.c [defined YYSETJMP]: Don't include <setjmp.h>.
-       (YYJMP_BUF, YYSETJMP, YYLONGJMP) [!defined YYSETJMP]: New macros.
-       All uses of jmp_buf, setjmp, longjmp changed to use these instead.
-       (yyparse): Abort if user code uses longjmp to throw an unexpected
-       value.
-
-2005-09-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/c.m4 (b4_identification): Define YYBISON_VERSION.
-       Suggested by twlevo@xs4all.nl.
-
-       * data/glr.c (YYCHK1): Do not assume YYE is in range.
-       This avoids a diagnostic from gcc -Wswitch-enum.
-       Problem reported by twlevo@xs4all.nl.
-
-       * doc/bison.texinfo: Don't use "filename", as per GNU coding
-       standards.  Use "file name" or "file" or "name", depending on
-       the context.
-       (Invocation): The output of "bison hack/foo.y" goes to foo.tab.c,
-       not to hack/foo.tab.c.
-       (Calc++ Top Level): 2nd arg of main is not const.
-       * data/glr.c: b4_filename -> b4_file_name.
-       * data/lalr1.cc: Likewise.  Also, b4_filename_type -> b4_file_name_type.
-       All uses changed.
-       (class position): filename -> file_name.  All uses changed.
-       * data/yacc.c: b4_filename -> b4_file_name.
-       * lib/bitset.h: filename -> file_name in local vars.
-       * lib/bitset_stats.c: Likewise.
-       * src/files.c: Likewise.
-       * src/scan-skel.l ("@output ".*\n): Likewise.
-       * src/files.c (file_name_split): Renamed from filename_split.
-       * src/muscle_tab.c (muscle_init): Output b4_file_name, not b4_filename.
-
-2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lib/.cvsignore: Add pipe-safer.c, stdio--.h, unistd--.h,
-       to accommodate latest gnulib.
-
-       * tests/glr-regression.at (Duplicate representation of merged trees):
-       Add casts to pacify g++.  Problem reported by twlevo@xs4all.nl.
-
-       * bootstrap: Add comment as to why the AM_LANGINFO_CODESET hack is
-       needed.
-
-2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yydestroyGLRState): Renamed from yydestroyStackItem.
-       All uses changed.  Invoke user destructor after an error during a
-       split parse (trivial change from Joel E. Denny).
-
-       * tests/glr-regression.at
-       (User destructor after an error during a split parse):  New test case.
-       Problem reported by Joel E. Denny in:
-       http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00029.html
-
-2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * README-cvs: Give URLs for recommended tools.
-       Mention Gzip version problem, and bootstrapping issues.
-       Remove troubleshooting section, as it's somewhat obsolete.
-
-       * bootstrap (no_cache): New var, to accommodate different wget
-       variants.  Use it instead of '-C off'.  Problem reported by
-       twlevo@xs4all.nl.
-
-       * data/glr.c (yydestroyStackItem): New function.
-       (yyrecoverSyntaxError, yyreturn): Use it to improve quality of
-       debugging information.  Problem reported by Joel E. Denny.
-
-2005-08-25  Akim Demaille  <akim@epita.fr>
-
-       * tests/local.at (AT_COMPILE_CXX): Pass $LINKS too.
-
-2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyrecoverSyntaxError, yyreturn):
-       Don't invoke destructor on unresolved entries.
-       * tests/glr-regression.at
-       (User destructor for unresolved GLR semantic value): New test case.
-       Problem reported by Joel E. Denny in:
-       http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00016.html
-
-2005-08-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lib/.cvsignore: Remove realloc.c, strncasecmp.c, xstrdup.c.
-       Add strnlen.c.
-       * m4/.cvsignore: Remove codeset.m4, gettext.m4, lib-ld.m4,
-       lib-prefix.m4, po.m4.
-
-       * data/glr.c (yyreturn): Use "Cleanup:" rather than "Error:"
-       in yydestruct diagnostic, since it might not be an error.
-       Problem reported by Joel Denny near end of
-       <http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
-       * data/lalr1.cc (yyerturn): Likewise.
-       * data/yacc.c (yyreturn): Likewise.
-       * tests/calc.at (_AT_CHECK_CALC_ERROR): Adjust to the above change.
-
-       * src/files.c: Remove obsolete FIXME comment.
-
-       * data/glr.c (YY_SYMBOL_PRINT): Append a newline, for consistency
-       with the other templates, and to fix bogus run-on messages such
-       as the one reported at the end of
-       <http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
-       All callers changed to avoid the newline.
-       (yyprocessOneStack): Output two lines rather than one, to accommodate
-       the above change.  This changes the debug output format slightly.
-
-       * data/glr.c (yyresolveValue): Fix redundant parse tree problem
-       reported by Joel E. Denny in
-       <http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00004.html>
-       (trivial change).
-       * tests/glr-regression.at (Duplicate representation of merged trees):
-       New test, from Joel E. Denny in:
-       <http://lists.gnu.org/archive/html/help-bison/2005-07/msg00013.html>.
-       * THANKS: Add Joel E. Denny.
-
-       * configure.ac (AC_INIT): Bump to 2.0c.
-
-2005-07-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 2.0b.
-
-       * Makefile.am (SUBDIRS): Put examples before tests, so that
-       "make check" doesn't finish with "All 1 tests passed".
-
-       * tests/regression.at (Token definitions): Don't rely on
-       AT_PARSER_CHECK for data that contains backslashes.  It currently
-       uses 'echo', and 'echo' isn't portable if its argument contains
-       backslashes.  Problem found on OpenBSD 3.4.  Also, do not assume
-       that the byte '\0xff' is not printable in the C locale; it is,
-       under OpenBSD 3.4 (!).  Luckily, '\0x80' through '\0x9e' are
-       not printable, so use '\0x81' to test.
-
-       * data/glr.c (YYOPTIONAL_LOC): Define even if it's not a recent
-       version of GCC, since the macro is used with non-GCC compilers.
-
-       Fix core dump reported by Pablo De Napoli in
-       <http://lists.gnu.org/archive/html/bug-bison/2005-07/msg00053.html>.
-       * tests/regression.at (Invalid inputs with {}): New test.
-       * src/parse-gram.y (token_name): Translate type before using
-       it as an index.
-
-       * data/glr.c (ATTRIBUTE_UNUSED): Remove, since it infringes on
-       the user's name space.  All uses changed to __attribute__
-       ((__unused__)).
-       (yyFail, yyMemoryExhausted, yyreportAmbiguity):
-       Add __attribute__ ((__noreturn__)).
-
-       * etc/clcommit: Remove.  We weren't using it, and it failed
-       "make maintainer-distcheck".
-       * Makefile.maint: Merge from coreutils.
-       (CVS_LIST, CVS_LIST_EXCEPT): New macros.
-       (syntax-check-rules): Change list of rules as described below.
-       (sc_cast_of_alloca_return_value, sc_dd_max_sym_length):
-       (sc_file_system, sc_obsolete_symbols, sc_prohibit_atoi_atof):
-       (sc_prohibit_jm_in_m4, sc_root_tests, sc_tight_scope):
-       (sc_trailing_space): New rules.
-       (sc_xalloc_h_in_src): Remove.
-       (sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value):
-       (sc_space_tab, sc_error_exit_success, sc_changelog):
-       (sc_system_h_headers, sc_sun_os_names, sc_unmarked_diagnostics):
-       (makefile-check, po-check, author_mark_check):
-       (makefile_path_separator_check, copyright-check):
-       Use grep -n, to make it easier to find violations.
-       Use CVS_LIST and CVS_LIST_EXCEPT.
-       (header_regexp, h_re): Remove.
-       (dd_c): New macro.
-       (sc_dd_max_sym_length, .re-list, news-date-check): New rules.
-       (my-distcheck): Use more-modern GCC flags.
-       (signatures, %.asc): Remove.
-       (rel-files, announcement): Remove signatures.
-       Restore old updating code, even though we don't use it, so
-       that we're the same as coreutils.
-       (alpha, beta, major): Depend on news-date-check.
-       Make the upload commands.
-
-       * data/c.m4, data/lalr1.cc, data/yacc.c: Normalize white space.
-       * lib/abitset.h, lib/bbitset.h, lib/bitset.h: Likewise.
-       * lib/bitset_stats.c, lib/ebitset.h, lib/lbitset.c: Likewise.
-       * lib/libitset.h, lib/timevar.c, lib/vbitset.h: Likewise.
-       * src/Makefile.am, src/gram.c, src/muscle_tab.h: Likewise.
-       * src/parse-gram.y, src/system.h, src/tables.c, src/vcg.c: Likewise.
-       * src/vcg_defaults.h, tests/cxx-type.at, tests/existing.at: Likewise.
-       * tests/sets.at: Likewise.
-
-       * data/m4sugar/m4sugar.m4: Sync from Autoconf, except that
-       we comment out the Autoconf version number.
-       * doc/bison.texinfo (Calc++ Scanner): Don't use atoi, as
-       it's error-prone and "make maintainer-distcheck" rejects it.
-
-       * lib/subpipe.c: Include <fcntl.h> without checking for HAVE_FCNTL_H.
-       Indent calls to "error" to pacify "make maintainer-distcheck",
-       when the calls are not intended to be translated.
-       * m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't check for fcntl.h.
-
-       * src/Makefile.am (DEFS): Use +=, to pacify
-       "make maintainer-distcheck".
-       (bison_SOURCES): Add scan-skel.h.
-       (sc_tight_scope): New rule, from coreutils.
-
-       * src/files.c (src_extension, header_extension):
-       Now static, not extern.
-       * src/getargs.c (short_options): Likewise.
-       * src/muscle_tab.c (muscle_table): Likewise.
-       * src/parse-gram.y (current_class, current_type, current_prec):
-       Likewise.
-       * src/reader.c (grammar_end, previous_rule_end): Likewise.
-       * src/getargs.h: Redo comments to pacify "make maintainer-distcheck".
-       * src/main.c (main): Cast bindtextdomain and textdomain calls to
-       void, to avoid warning when NLS is disabled.
-       * src/output.c: Include scan-skel.h.
-       (scan_skel): Remove decl, since scan-skel.h does this.
-       (output_skeleton):
-       Indent calls to "error" to pacify "make maintainer-distcheck".
-       * src/print_graph.c: Don't include <obstack.h>, as system.h does this.
-       * src/reader.h (gram_end, gram_lineno): New decls to pacify
-       "make maintainer-distcheck".
-       * src/scan-skel.l (skel_lex, skel_get_lineno, skel_get_in):
-       (skel_get_out, skel_get_leng, skel_get_text, skel_set_lineno):
-       (skel_set_in, skel_set_out, skel_get_debug, skel_set_debug):
-       (skel_lex_destroy, scan_skel): Move these decls to...
-       * src/scan-skel.h: New file.
-       * src/uniqstr.c (uniqstr_assert):
-       Indent calls to "error" to pacify "make maintainer-distcheck".
-
-       * tests/Makefile.am ($(srcdir)/package.m4): Use $(VAR),
-       not @VAR@.
-
-       * tests/torture.at: Revamp to avoid misuse of atoi that
-       "make maintainer-distcheck" complained about.
-
-       * examples/extexi (message): Don't print a message more than once,
-       and omit line-number decoration that makes Emacs compile think
-       that informative messages are worth worrying about.
-
-2005-07-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * configure.ac: Update version number.
-
-       * Makefile.am (SUBDIRS): Add examples; somehow this got removed
-       accidentally.
-       * examples/calc++/calc++-parser.yy: Remove from CVS, as it's
-       autogenerated by the maintainer.
-       * examples/calc++/.cvsignore: Add *.yy.
-
-       * lib/bitset.c (bitset_alloc): Don't cast xcalloc result.
-       * lib/bitset_stats.c (bitset_stats_init): Likewise.
-       * lib/bitsetv.c (bitsetv_alloc): Likewise.
-
-       * po/POTFILES.in: Add lib/xalloc-die.c; remove lib/xmalloc.c.
-
-       * src/relation.c (relation_transpose): Rewrite to avoid bogus complaint
-       from maintainer-distcheck about casting the argument of 'free'.
-
-       * NEWS: Mention recent yytname changes.
-       * THANKS: Add Anthony Heading, twlevo@xs4all.nl.
-
-       * bootstrap: For translations that have not yet been upgraded to
-       the new runtime-po domain, prime the pump by extracting the
-       relevant strings from the obsolete translations.  This code can be
-       removed once the bison-runtime domain has been translated by each
-       team.
-
-       * src/scan-gram.l (<SC_PRE_CODE>.): Don't double-quote token names,
-       now that token names are already quoted.
-
-       Fix problem reported by Anthony Heading.
-       * data/glr.c (YYTOKEN_TABLE): New macro.
-       (yytname): Define if YYTOKEN_TABLE.
-       * data/yacc.c (YYTOKEN_TABLE, yytname): Likewise.
-       * data/lalr1.cc (YYTOKEN_TABLE, yytname_): Likewise.
-       (YYERROR_VERBOSE): Define the same way the other skeletons do.
-       * src/output.c (prepare_symbols): Output token_table_flag.
-
-2005-07-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyinitGLRStack, yyreturn): Don't call malloc
-       again if the first call fails.
-
-       * data/glr.c (yytnamerr): New function.
-       (yyreportSyntaxError): Use it to dequote most string literals.
-       * data/lalr1.c (yytname_): Renamed from yyname_, for compatibility
-       with other skeletons.  All uses changed.
-       (yytnameerr_): New function.
-       (yyreport_syntax_error): Use it to dequote most string literals.
-       * data/yacc.c (yytnamerr): New function.
-       (yyerrlab): Use it to decode most string literals.
-       * doc/bison.texinfo (Decl Summary, Calling Convention):
-       Clarify quoting convention of yytname.
-       * src/output.c (prepare_symbols): Quote all names.  This undoes
-       the 2005-04-17 change, which is now accomplished (mostly) via
-       changes in the parsers as described above.
-       * tests/regression.at (Token definitions, Web2c Actions):
-       Undo most 2005-04-17 change here, too.
-
-2005-07-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix more problems reported by twlevo@xs4all.nl.
-       * tests/cxx-type.at: Don't pipe output of ./types through sed to
-       remove trailing spaces.  This loses the exit status of ./types,
-       and isn't needed since ./types shouldn't be emitting trailing
-       spaces.
-       * data/glr.c (yyreturn): Don't pop stack if yyinitStateSet failed,
-       as the stack isn't valid in that case.
-
-       * src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
-       (gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
-       (gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
-       Add declarations to pacify "gcc -Wmissing-prototypes" when flex 2.5.31
-       is used.
-       * src/scan-skel.l (skel_get_lineno, skel_get_in, skel_get_out):
-       (skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
-       (skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
-       Likewise.
-
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Work even with
-       overly-picky compilers that reject 'char *foo = "bar";'.
-
-       * src/symtab.c (SYMBOL_ATTR_PRINT, symbol_print): Direct output
-       to FILE * parameter, not to stderr.  This fixes a typo introduced
-       in the 2005-07-12 change.
-
-       * lib/subpipe.c (create_subpipe): Rewrite slightly to avoid
-       warnings from GCC 4.
-
-       * data/glr.c (yyexpandGLRStack, yyaddDeferredAction, yyexpandGLRStack):
-       (yyglrShiftDefer, yysplitStack):
-       Remove unused parameters b4_pure_formals.  All uses changed.
-       (yyglrShift): Remove unused parameters b4_user_formals.
-       All uses changed.
-       (yyglrReduce): Removed unused parameter yylocp.  All uses changed.
-
-2005-07-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Destructor cleanups and regularization among the three skeletons.
-       * NEWS: Document the behavior changes.
-       * data/glr.c (yyrecoverSyntaxError): Don't bother to pop the
-       stack before failing, as the cleanup code will do it for us now.
-       * data/lalr1.cc (yyerrlab): Likewise.
-       * data/glr.c (yyparse): Pop everything off the stack before
-       freeing it, so that destructors get called properly.
-       * data/lalr1.cc (yyreturn): Likewise.
-       * data/yacc.c (yyreturn): Pop and destroy the start symbol, too.
-       This is more consistent.
-       * doc/bison.texinfo (Destructor Decl): Mention more reasons
-       why destructors might be called.  1.875 -> 2.1.
-       (Destructor Decl, Decl Summary, Table of Symbols):
-       Some English-language cleanups for %destructor.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
-       Add output line for destructor of start symbol.
-       * tests/calc.at (AT_CHECK_CALC): Add one to line counts,
-       because of that same extra output line.
-
-       * NEWS: Document minor wording changes in diagnostics of
-       Bison-generated parsers.
-       * data/glr.c (yyMemoryExhausted): Renamed from yyStackOverflow.
-       Remove unused formals.  All uses changed.
-       (yyreportAmbiguity): "ambiguity detected" -> "syntax is ambiguous".
-       (yyparse): Rename yyoverflowlab to yyexhaustedlab.
-       * data/yacc.c (yyparse): "parser stack overflow" -> "memory exhausted".
-       Rename yyoverflowab to yyexhaustedlab.
-       When memory exhaustion occurs during syntax-error reporting,
-       report it separately rather than in a single diagnostic; this
-       eases translation.
-       * doc/bison.texinfo (Memory Management): Renamed from Stack Overflow.
-       (Memory Exhausted): Renamed from Parser Stack Overflow.
-       Revamp wording slightly to prefer "memory exhaustion".
-       * tests/actions.at: "parser stack overflow" -> "memory exhausted".
-
-       * data/c.m4 (b4_yysymprint_generate): Use YYFPRINTF, not fprintf.
-
-       Add i18n support to the GLR skeleton.  Partially fix the C++
-       skeleton; a C++ expert needs to finish this.  Remove debugging
-       msgids; there's little point to having them translated, since they
-       can be understood only by someone who can read the
-       (English-language) source code.
-
-       Generate runtime-po/bison-runtime.pot automatically, so that we
-       don't have to worry about garbage getting in that file.  We'll
-       make sure after the next official release that old msgids don't
-       get lost.  See
-       <http://lists.gnu.org/archive/html/bison-patches/2005-07/msg00119.html>.
-
-       * runtime-po/Makefile.in.in, runtime-po/bison-runtime.pot: Remove.
-       Now auto-generated.
-       * PACKAGING: Don't claim that Gawk, GCC, Perl use this method yet.
-       Fix typos in explanations of the runtime file.
-       * bootstrap: Change gettext keyword from YYI18N to YY_.
-       Use standard Makefile.in.in in runtime-po, since we'll arrange
-       for backward-compatible bison-runtime.po files in a different way.
-       * data/glr.c (YY_): New macro, from yacc.c.
-       (yyuserAction, yyreportAmbiguity, yyreportSyntaxError, yyparse):
-       Translate messages intended for users.
-       (yyreportSyntaxError): Change "virtual memory" to "memory" to match
-       the wording in the other skeletons.  We don't know that the memory
-       is virtual.
-       * data/lalr1.cc (YY_): Renamed from _.  All uses changed.
-       Use same method that yacc.c uses.
-       Don't translate debugging messages.
-       (yy::yyreport_syntax_error): Put in a FIXME for the i18n stuff;
-       it doesn't work (yet), and requires C++ expertise to fix.
-       * data/yacc.c (YY_): Renamed from YY18N.  All uses changed.
-       Move defn to a more logical place, to be consistent with other
-       skeletons.
-       Don't translate debugging messages.
-       Don't assume line numbers fit in unsigned int; use unsigned long fmts.
-       * doc/bison.texinfo: Mention <libintl.h>.  Change glibc cross reference
-       to gettext cross reference.  Add indexing terms.  Mention YYENABLE_NLS.
-       * runtime-po/POTFILES.in: Add data/glr.c, data/lalr1.cc.
-
-       Fix yyerror / yylex test glitches noted by twlevo@xs4all.nl.
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Have yyerror return
-       void, not int.
-       * tests/glr-regression.at (Badly Collapsed GLR States):
-       Likewise.
-       (Improper handling of embedded actions and dollar(-N) in GLR parsers):
-       yylex should return 0 at EOF rather than aborting.
-
-       Improve tests for stack overflow in GLR parser.
-       Problem reported by twlevo@xs4all.nl.
-       * data/glr.c (struct yyGLRStack): Remove yyerrflag member.
-       All uses removed.
-       (yyStackOverflow): Just longjmp, but with value 2 so that caller
-       can handle the problem.
-       (YYCHK1): Use goto (a la yacc.c) rather than setting a flag.
-       (yyparse): New local variable yyresult to record the result.
-       Use result of setjmp to set it, rather than storing itinto
-       struct.
-       (yyDone): Remove label.
-       (yyacceptlab, yyabortlab, yyoverflowlab, yyreturn): New labels,
-       to mimic yacc.c.  Do not discard lookahead if it's EOF (possible
-       if YYABORT is used).
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Exit with
-       yyparse status; put status > 1 into diagnostic.
-       Check that status==2 works.
-       * tests/calc.at, tests/cxx-type.at, tests/glr-regression.at:
-       Use exit status 3 for failure to open (which shouldn't happen).
-
-2005-07-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/conflicts.at (%nonassoc and eof):  Don't exit with status
-       1 on syntax error; just let yyparse do its thing.
-       * tests/glr-regression.at (Badly Collapsed GLR States): Likewise.
-       * tests/torture.at (AT_DATA_STACK_TORTURE): Likewise.
-       (Exploding the Stack Size with Alloca):
-       (Exploding the Stack Size with Malloc):
-       Expect exit status 2, not 1, since the parser is supposed to blow
-       its stack.  Problem reported by twlevo@xs4all.nl.
-
-       * data/glr.c (yyparse): Don't assume that the initial calls
-       to YYMALLOC succeed; in that case, yyparse incorrectly returned 0.
-       Print a stack-overflow message and fail instead.
-       Initialize the line-number information before creating the stack,
-       so that the stack-overflow message can report line zero safely.
-
-2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix problems reported by twlevo@xs4all.nl.
-       * data/glr.c (YYSTACKEXPANDABLE): Don't define if already defined.
-       (yyuserMerge): Provide a default case if b4_mergers is empty.
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Define YYSTACKEXPANDABLE.
-       * tests/glr-regression.at
-       (Improper handling of embedded actions and dollar(-N) in GLR parsers):
-       Add casts to pacify C++ compilers.
-       * tests/glr-regression.at (Improper merging of GLR delayed action
-       sets): Declare yylex before using it.
-       * tests/Makefile.am (maintainer-check-g++): Fix a stray
-       $(GXX) that escaped the renaming of GXX to CXX.  Remove bogus
-       test for valgrind; valgrind is independent of g++.
-       (maintainer-check-posix): Add _POSIX2_VERSION=200112, to check
-       for compatibility with POSIX 1003.1-2001 (if running coreutils).
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Port to stricter C++.
-       Use a destructor, so that we can expand the stack.  Change
-       YYSTYPE to char * so that we can free it.  Cast result of malloc.
-
-2005-07-13  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
-
-       * data/glr.c (yyuserAction): Fix uninitialized variable that caused
-       a valgrind failure.  Problem reported by twlevo@xs4all.nl.
-
-2005-07-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * PACKAGING: New file, suggested by Bruno Haible and taken from
-       similar wording in gettext's PACKAGING file.
-       * NEWS: Mention PACKAGING.
-       * Makefile.am (EXTRA_DIST): Add PACKAGING.
-
-2005-07-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Document recent i18n improvements.
-       * bootstrap: Get runtime translations into runtime-po.
-       Create runtime-po files automatically, if possible.
-       * configure.ac: Invoke BISON_I18N, so that we eat our own dog food.
-       * data/yacc.c: Rewrite inclusion of <libintl.h> so that ENABLE_NLS
-       does not infringe on the user's name space.
-       (YYENABLE_NLS): Renamed from ENABLE_BISON_NLS.
-       * doc/bison.texinfo (Internationalization): Revamp the English
-       and Texinfo syntax a bit, to try to make it clearer.
-       (Bison Options, Option Cross Key): Mention --print-localedir.
-       * m4/bison-i18n.m4 (BISON_I18N): Rename ENABLE_BISON_NLS to
-       YYENABLE_NLS.  Quote a bit more.
-       * runtime-po/.cvsignore: New file.
-       * runtime-po/Makefile.in.in (mostlyclean): Remove *.old.pot.
-       * runtime-po/Rules-quot: Remove; now created by bootstrap.
-       * runtime-po/quot.sed: Likewise.
-       * runtime-po/boldquot.sed: Likewise.
-       * runtime-po/en@quot.header: Likewise.
-       * runtime-po/en@boldquot.header: Likewise.
-       * runtime-po/insert-header.sin: Likewise.
-       * runtime-po/remove-potcdate.sin: Likewise.
-       * runtime-po/Makevars: Likewise.
-       * runtime-po/LINGUAS: Likewise.
-       * runtime-po/de.po: Likewise; we will rely on the translation project
-       to maintain this, so "bootstrap" should get it.
-       * src/getarg.c (PRINT_LOCALEDIR_OPTION): Let the C compiler determine
-       its value.
-       * src/main.c (main): Bind the bison-runtime domain, too.
-
-2005-07-12  Bruno Haible  <bruno@clisp.org>
-
-       * data/yacc.c: Include <libintl.h> when NLS is enabled.
-       (YYI18N): Renamed from _. Use dgettext when NLS is enabled.
-       * po/POTFILES.in: Remove autogenerated file src/parse-gram.c.
-       * runtime-po: New directory.
-       * runtime-po/Makefile.in.in: New file, copied from po/, with modified
-       $(DOMAIN).pot-update rule, so that old messages are never dropped.
-       * runtime-po/Rules-quot: New file, copied from po/.
-       * runtime-po/quot.sed: Likewise.
-       * runtime-po/boldquot.sed: Likewise.
-       * runtime-po/en@quot.header: Likewise.
-       * runtime-po/en@boldquot.header: Likewise.
-       * runtime-po/insert-header.sin: Likewise.
-       * runtime-po/remove-potcdate.sin: Likewise.
-       * runtime-po/Makevars: New file.
-       * runtime-po/POTFILES.in: New file.
-       * runtime-po/LINGUAS: New file.
-       * runtime-po/bison-runtime.pot: New file.
-       * runtime-po/de.po: New file.
-       * m4/bison.m4: New file.
-       * Makefile.am (SUBDIRS): Add runtime-po.
-       (aclocaldir, aclocal_DATA): New variables.
-       * configure.ac: Add AC_CONFIG_FILES of runtime-po/Makefile.in.
-       Define aclocaldir.
-       * src/getargs.c (usage): Document --print-localedir option.
-       (PRINT_LOCALEDIR_OPTION): New enum item.
-       (long_options): Add --print-localedir option.
-       (getargs): Handle --print-localedir option.
-       * doc/bison.texinfo (Bison Parser): Remove paragraph about _().
-       (Internationalization): New section.
-
-2005-07-12  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h, src/symtab.c (symbol_print): Swap the arguments,
-       for consistency with the rest of the code.
-       * src/symlist.h, src/symlist.c (symbol_list_print): Ditto.
-       Add separators.
-
-2005-07-12  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y: Use %printer instead of YYPRINT.
-
-2005-07-12  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h, src/symtab.c (symbol_print): New.
-       * src/symlist.h, src/symlist.c (symbol_list_print): New.
-       * src/symlist.c (symbol_list_n_type_name_get): Report the culprit.
-
-2005-07-12  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c (b4_syncline): Fix (swap) the definitions of
-       b4_at_dollar and b4_dollar_dollar.
-
-2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Mystery Conflicts): Add reference to DeRemer
-       and Pennello's paper.
-
-2005-07-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (yyparse): Undo previous patch.  Instead,
-       set yylsp[0] and yyvsp[0] only if the initial action
-       sets yylloc and yylval, respectively.
-
-       * data/yacc.c (yyparse): In the initial action, set
-       yylsp[0] and yyvsp[0] rather than yylloc and yylval.
-       This avoids the use of undefined variables if the initial
-       action does not set yylloc and/or yylval.
-
-2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * examples/calc++/calc++-driver.cc, examples/calc++/calc++-driver.hh:
-       * examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc:
-       Remove from CVS.  These files are automatically generated.
-       * examples/extexi: Clarify that this file is now part of Bison,
-       not GNU M4, and that it works with any POSIX-compatible Awk.
-       * examples/calc++/Makefile.am (run_extexi): Remove; not used.
-       ($(calc_extracted)): Renamed from $(calc_sources_extracted),
-       so that we also get calc++-parser.yy.  Geneate it.
-       Use $(AWK), not gawk, since any conforming Awk will do.
-       Put comment before action, since older 'make' can't handle comment
-       in action.
-       $(BUILT_SOURCES): List all built sources, not just some of them.
-       $(MAINTAINERCLEANFILES): Remove *.stamp, and all built sources.
-       $($(srcdir)/calc++-parser.stamp): Work even if POSIXLY_CORRECT.
-       $($(calc_sources_generated)): Remove unnecessary test for existence
-       of target.  (This had a shell syntax error anyway; a stray "x".)
-       (calc_extracted): List $(srcdir)/calc++-parser.yy, not
-       calc++-parser.yy.
-       * examples/.cvsignore, examples/calc++/.cvsignore: New files.
-
-       * bootstrap (gnulib_modules): Add gettext, now that it's no longer
-       implied by the other modules.
-
-2005-07-06  Akim Demaille  <akim@epita.fr>
-
-       Bind examples/calc++ to the package.
-       * examples/calc++/Makefile: Remove, replaced by...
-       * examples/calc++/Makefile.am: ... this new file.
-       * examples/calc++/test: Remove input.
-       * examples/calc++/compile: Remove.
-       * examples/Makefile.am: New.
-       * configure.ac, Makefile.am: Adjust.
-       * doc/Makefile.am (clean-local): New, for more recent texi2dvis.
-
-2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyFail): Drastically simplify; since the format argument
-       never had any % directives, we can simply pass it to yyerror.
-       (yyparse): Use "t a; a=b;" rather than "t a = b;" when a will
-       be modified later, as that is the usual style in glr.c.
-       Problems reported by Paul Hilfinger.
-
-       Rewrite GLR parser to catch more buffer overrun, storage exhaustion,
-       and size overflow errors.
-       * data/glr.c: Include <stdio.h> etc. after user prolog, not before,
-       in case the user prolog sets feature-test macros like _GNU_SOURCE.
-       (YYSIZEMAX): New macro.
-       (yystpcpy): New function, taken from yacc.c.
-       (struct yyGLRStack.yyspaceLeft): Now size_t, not int.
-       (yyinitGLRStack, yyfreeGLRstack): Remove unnecessary forward decls,
-       so that we don't have to maintain their signatures.
-       (yyFail): Check for buffer overflow, by using vsnprintf rather
-       than vsprintf.  Allocate a bigger buffer if possible.
-       Report an error if buffer allocation fails.
-       (yyStackOverflow): New function.
-       (yyinitStateSet, yyinitGLRStack): Return a boolean indicating whether
-       the initialization was successful.  It might fail if storage was
-       exhausted.
-       (yyexpandGLRStack): Add more checks for storage allocation failure.
-       Use yyStackOverflow to report failures.
-       (yymarkStackDeleted, yyglrShift, yyglrShiftDefer, yydoAction):
-       (yysplitStack, yyprocessOneStack, yyparse, yypstack):
-       Don't assume stack number fits in int.
-       (yysplitStack): Check for storage allocation failure.
-       (yysplitStack, yyprocessOneStack): Add pure_formals, so that we
-       can print diagnostics on storage allocation failure.  All callers
-       changed.
-       (yyresolveValue): Use yybool for boolean.
-       (yyreportSyntaxError): Check for size-calculation overflow.
-       This code is taken from yacc.c.
-       (yyparse): Check for storage allocation errors when allocating
-       the initial stack.
-
-2005-07-05  Akim Demaille  <akim@epita.fr>
-
-       Extract calc++ from the documentation.
-       * doc/bison.texinfo (Calc++): Add the extraction marks.
-       * examples/extexi: New, from the aborted GNU Programming 2E.
-       Separate the different paragraph of a file with empty lines.
-       * examples/Makefile: Use it to extract the whole calc++ example.
-
-2005-06-24  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (C++ Parser Interface): Use defcv to define
-       class typedefs.
-
-2005-06-22  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (C++ Language Interface): First stab.
-       (C++ Parsers): Remove.
-
-2005-06-22  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (yylex_): Honor %lex-param.
-
-2005-06-22  Akim Demaille  <akim@epita.fr>
-
-       Start a set of simple examples.
-       * examples/calc++/Makefile, examples/calc++/calc++-driver.cc,
-       * examples/calc++/calc++-driver.hh,
-       * examples/calc++/calc++-parser.yy,
-       * examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc,
-       * examples/calc++/compile, examples/calc++/test: New.
-
-2005-06-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (malloc, free) [defined __cplusplus]: Wrap inside
-       extern "C" {}.  This fixes a problem reported by Paul Hilfinger,
-       which stems from the 2005-05-27 patch.
-
-2005-06-06  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
-
-       * data/glr.c: Modify treatment of unused parameters to permit use
-       of g++ (which doesn't allow __attribute__ ((unused)) for parameters).
-
-2005-05-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix infringement on user name space reported by Janos Zoltan Szabo.
-       * data/yacc.c (yyparse): strlen -> yystrlen.
-
-2005-05-30  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (_): New.
-       Translate the various messages.
-
-2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix infringement on user name space reported by Bruno Haible.
-       * data/yacc.c (YYSIZE_T): Define first, so that later decls can use it.
-       Prefer GCC's __SIZE_TYPE__ if available, so that we don't infringe on
-       the user's name space.
-       (alloca): Include <stdlib.h> to get it, if it's not built in.
-       (YYMALLOC, YYFREE): Define only if needed.
-       (malloc, free): Declare, but only if needed, as this infringes on
-       the user name space.
-
-2005-05-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix BeOS, FreeBSD, MacOS porting problems reported by Bruno Haible.
-       * lib/bitset.c (bitset_print): Don't assume size_t can be printed
-       with %d format.
-       * lib/ebitset.c (min, max): Undef before defining.
-       * lib/vbitset.c (min, max): Likewise.
-       * lib/subpipe.c (create_subpipe): Save local variables in case
-       vfork clobbers them.
-
-2005-05-24  Bruno Haible  <bruno@clisp.org>
-
-       * tests/synclines.at (AT_SYNCLINES_COMPILE): Add support for the
-       error message syntax used by gcc-4.0.
-
-2005-05-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * README: Mention m4 1.4.3.  Remove obsolete advice about
-       Sun Forte Developer 6 update 2, VMS, and MS-DOS.
-
-       * bootstrap: Remove workaround for problem I encountered with
-       gettext 0.14.1; it seems to be fixed now.
-
-2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 2.0a.
-
-       * src/files.c: Include "stdio-safer.h"; this fixes a typo in
-       the previous change.
-
-       Various maintainer cleanups.
-       * .cvsignore: Add a.exe, a.out, b.out,, conf[0-9]*, confdefs*,
-       conftest*, for benefit of CVS commands run at the same time as
-       "configure".  Add build-aux, since "bootstrap" now creates it and
-       its subfiles.
-       * Makefile.cfg (move_if_change): Remove.
-       * Makefile.maint: Remove the update stuff; we now use "bootstrap".
-       (ftp-gnu, www-gnu, move_if_change, local_updates, update):
-       (po_repo, do-po-update, po-update, wget_files, get-targets):
-       (config.guess-url_prefix, config.sub-url_prefix):
-       (ansi2knr.c-url_prefix, texinfo.tex-url_prefix):
-       (standards.texi-url_prefix, make-stds.texi-url_prefix, taget, url):
-       ($(get-targets), cvs-files, automake_repo, wget-update, cvs-update):
-       Remove.
-       * configure.ac (AC_CONFIG_AUX_DIR): Change from config to build-aux;
-       this is now the recommended name.
-       * config/.cvsignore: Remove config.guess, config.rpath, config.sub,
-       depcomp, install-sh, mdate-sh, missing, mkinstalldirs, texinfo.tex,
-       ylwrap.  These files now go into build-aux.
-       * config/move-if-change: Remove.
-       * config/prev-version.txt: Bump from 1.75 to 2.0.
-
-       * bootstrap: Add stdio-safer, unistd-safer modules.
-       Remove m4/glibc2.m4 (introduced by latest gnulib, but
-       we don't need it).
-       * lib/.cvsignore: Add dup-safer.c, fd-safer.c,
-       fopen-safer.c, stdio-safer.h, unistd-safer.h.
-       * lib/subpipe.c: Include "unistd-safer.h".
-       (create_subpipe): Make sure all the newly-created
-       file descriptors are > 2, so that diagnostics don't
-       get sent down them (which might cause Bison to hang, in theory).
-       * m4/.cvsignore: Add stdio-safer.m4, unistd-safer.m4.
-       * src/files.c (xfopen): Use fopen_safer, not fopen.
-
-       * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Port
-       yesterday's yacc.c fix.
-
-2005-05-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c, data/lalr1.cc: Update copyright date.
-
-       Fix a destructor bug reported by Wolfgang Spraul in
-       <http://lists.gnu.org/archive/html/bug-bison/2005-05/msg00042.html>.
-       * data/yacc.c (yyabortlab): Don't call destructor, and
-       don't set yychar to EMPTY.
-       (yyoverflowlab): Don't call destructor.
-       (yyreturn): Call destructor, if yychar is neither YYEOF nor YYEMPTY.
-       * tests/calc.at (AT_CHECK_CALC): Expect one fewer output lines,
-       since we no longer output the message "discarding lookahead token
-       end of input ()".
-
-2005-05-20  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
-
-       * data/glr.c (YY_SYMBOL_PRINT): Don't print newline at end to
-       fix a small glitch in debugging output.
-       (yyprocessOneStack, yyrecoverSyntaxError, yyparse): Print newline
-       after YY_SYMBOL_PRINT where needed.
-
-       (struct yyGLRState): Add some comments.
-       (struct yySemanticOption): Add some comments.
-       (union yyGLRStackItem): Add comment.
-
-       (yymergeOptionSets): Correct this to properly perform the union,
-       avoiding infinite reported by Michael Rosien.
-       Update comment.
-
-       * tests/glr-regression.at: Add test for GLR merging error reported
-       by M. Rosien.
-
-2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * COPYING, ChangeLog, GNUmakefile, HACKING, Makefile.am,
-       Makefile.cfg, Makefile.maint, NEWS, README, README-alpha,
-       README-cvs, TODO, bootstrap, configure.ac, data/Makefile.am,
-       data/README, data/c.m4, data/glr.c, data/lalr1.cc, data/yacc.c,
-       data/m4sugar/m4sugar.m4, doc/Makefile.am, doc/bison.texinfo,
-       doc/fdl.texi, doc/gpl.texi, doc/refcard.tex, lib/Makefile.am,
-       lib/abitset.c, lib/abitset.h, lib/bbitset.h, lib/bitset.c,
-       lib/bitset.h, lib/bitset_stats.c, lib/bitset_stats.h,
-       lib/bitsetv-print.c, lib/bitsetv-print.h, lib/bitsetv.c,
-       lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/get-errno.c,
-       lib/get-errno.h, lib/lbitset.c, lib/lbitset.h, lib/libiberty.h,
-       lib/main.c, lib/subpipe.c, lib/subpipe.h, lib/timevar.c,
-       lib/timevar.def, lib/timevar.h, lib/vbitset.c, lib/vbitset.h,
-       lib/yyerror.c, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4, m4/timevar.m4,
-       m4/warning.m4, src/LR0.c, src/LR0.h, src/Makefile.am, src/assoc.c,
-       src/assoc.h, src/closure.c, src/closure.h, src/complain.c,
-       src/complain.h, src/conflicts.c, src/conflicts.h, src/derives.c,
-       src/derives.h, src/files.c, src/files.h, src/getargs.c,
-       src/getargs.h, src/gram.c, src/gram.h, src/lalr.c, src/lalr.h,
-       src/location.c, src/location.h, src/main.c, src/muscle_tab.c,
-       src/muscle_tab.h, src/nullable.c, src/nullable.h, src/output.c,
-       src/output.h, src/parse-gram.c, src/parse-gram.h,
-       src/parse-gram.y, src/print.c, src/print.h, src/print_graph.c,
-       src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c,
-       src/reduce.h, src/relation.c, src/relation.h, src/scan-gram.l,
-       src/scan-skel.l, src/state.c, src/state.h, src/symlist.c,
-       src/symlist.h, src/symtab.c, src/symtab.h, src/system.h,
-       src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h,
-       src/vcg.c, src/vcg.h, src/vcg_defaults.h, tests/Makefile.am,
-       tests/actions.at, tests/c++.at, tests/calc.at, tests/conflicts.at,
-       tests/cxx-type.at, tests/existing.at, tests/glr-regression.at,
-       tests/headers.at, tests/input.at, tests/local.at, tests/output.at,
-       tests/reduce.at, tests/regression.at, tests/sets.at,
-       tests/synclines.at, tests/testsuite.at, tests/torture.at:
-       Update FSF postal mail address.
-
-2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/local.at (AT_COMPILE_CXX): Treat LDFLAGS like AT_COMPILE does.
-       Problem reported by Ralf Menzel.
-
-2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/actions.at: Test that stack overflow invokes destructors.
-       From Marcus Holland-Moritz.
-       * data/yacc.c (yyerrlab): Move the code that destroys the stack
-       from here....
-       (yyreturn): to here.  That way, destructors are called properly
-       even if the stack overflows, or the user calls YYACCEPT or
-       YYABORT.  Stack-overflow problem reported by Marcus Holland-Moritz.
-       (yyoverflowlab): Destroy the lookahead.
-
-2005-04-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (YYSTACK_ALLOC_MAXIMUM): Add more-descriptive comment.
-
-2005-04-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Bison-generated C parsers no longer quote literal strings
-       associated with tokens.
-       * src/output.c (prepare_symbols): Don't escape strings,
-       since users don't want to see C escapes.
-       * tests/calc.at (AT_CHECK_CALC): Adjust to lack of quotes
-       in diagnostics.
-       * tests/input.at (Torturing the Scanner): Likewise.
-       * tests/regression.at (Token definitions, Web2c Actions): Likewise.
-
-2005-04-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/torture.at (AT_INCREASE_DATA_SIZE): Skip the test if
-       the data size is known to be too small and we can't increase it.
-       This works around an HP-UX 11.00 glitch reported by Andrew Benham.
-
-2005-04-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/parse-gram.y: Include quotearg.h.
-       (string_as_id): Quote $1 before using it as a key, since the
-       lexer no longer quotes it for us.
-       (string_content): Don't strip quotes, since lexer no longer
-       quotes it for us.
-       * src/scan-gram.l: Include quotearg.h.
-       ("\""): Omit quote.
-       ("'"<SC_ESCAPED_CHARACTER>): Quote symbol before using it as
-       a key, since the rest of the lexer doesn't quote it.
-       * src/symtab.c (symbol_get): Don't quote symbol; caller does it now.
-       * tests/regression.at (Token definitions): Check for backslashes
-       in token strings.
-
-       * data/yacc.c (YYSTACK_ALLOC_MAXIMUM): New macro.
-       (YYSIZE_T): Define to unsigned long int when using an older compiler.
-       (yyparse): Revamp code to generate long syntax error message, to
-       make it easier to translate, and to avoid problems with arithmetic
-       overflow.  Change "virtual memory" to "memory" in diagnostic, since
-       we don't know whether the memory is virtual.
-
-2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Bison-generated C parsers now use the _ macro to
-       translate strings.
-       * data/yacc.c (_) [!defined _]: New macro.
-       All English strings wrapped inside this macro.
-       * doc/bison.texinfo (Bison Parser): Document _.
-       * po/POTFILES.in: Include src/parse-gram.c, since it now
-       includes translateable strings that parse-gram.y doesn't.
-
-2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/symtab.c (symbol_make_alias): Call symbol_type_set,
-       reverting the 2004-10-11 change to this function.
-       (symbol_check_alias_consistency): Don't call symbol_type_set
-       if the type name is already correct.
-       * tests/input.at (Typed symbol aliases): New test, from Tim Van Holder.
-
-2005-03-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/regression.at (Token definitions): Don't use a token named
-       c, as that generates a "#define c ..." that runs afoul of buggy
-       stdlib.h that uses the identifier c as a member of struct
-       drand48_data.  Problem reported by Horst Wente.
-
-2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap: Change translation URL from
-       http://www2.iro.umontreal.ca/~gnutra/po/maint/bison/ to
-       http://www.iro.umontreal.ca/translation/maint/bison/ to avoid
-       redirection glitches.  Problem reported by twlevo@xs4all.nl.
-
-2005-03-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Don't put options
-       after operands; POSIX says this isn't portable for the c99 command.
-
-2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/glr-regression.at (glr-regr2a.y): Try to dump core
-       immediately if a data overrun has occurred; this may help us track
-       down what may be a spurious failure on MacOS.
-
-2005-03-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Respond to problems reported by twlevo@xs4all.nl.
-
-       * bootstrap: Use "trap - 0" rather than the unportable "trap 0".
-
-       * src/vcg.h: Comment fix.
-       * src/vcg_defaults.h: Parenthesize macro bodies to make them safe.
-       (G_CMAX): Change to -1 instead of INT_MAX.
-
-       * data/yacc.c (yyparse): Omit spaces before #line.
-
-2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/tables.c (state_number_to_vector_number): Put it inside an
-       "#if 0", since it's not currently used.  Problem reported by
-       Roland McGrath.
-
-2005-03-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/output.c (escaped_output): Renamed from
-       escaped_file_name_output, since we now use it for symbol tags as
-       well.  All uses changed.
-       (symbol_destructors_output, symbol_printers_output):
-       Escape symbol tags too.
-       Problem reported by Matyas Forstner in
-       <http://lists.gnu.org/archive/html/bug-bison/2005-03/msg00009.html>.
-
-       * src/muscle_tab.c (muscle_code_grow): Don't quote numbers; it's
-       not needed.
-       * src/output.c (user_actions_output, token_definitions_output,
-       symbol_destructors_output, symbol_printers_output): Likewise.
-       * src/reader.c (prologue_augment): Likewise.
-       * src/scan-gram.l (handle_action_dollar, handle_action_at): Likewise.
-
-       * src/vcg.c (output_edge): Don't quote linestyle arg.
-       Problem reported by twlevo@xs4all.nl.
-
-2005-02-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Semantic Tokens): Fix scoping problem in
-       example, reported by Derek M Jones.  Also, make the example even
-       more outrageous, to better illustrate how bad the problem is.
-
-2005-02-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Mfcalc Symtab): Correct the prototype for
-       putsym.  Typo reported by Sebastian Piping.
-
-2005-02-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Language and Grammar): some -> same
-       (Epilogue): int he -> in the
-       Typos reported by Sebastian Piping via Justin Pence.
-
-2005-02-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/glr-regression.at (Improper handling of embedded actions
-       and dollar(-N) in GLR parsers): Renamed from "Improper handling of
-       embedded actions and $-N in GLR parsers", work around an Autoconf bug
-       with dollar signs in test names.
-       * tests/input.at (Invalid dollar-n): Renamed from "Invalid \$n",
-       for a similar reason.
-
-2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/vcg.c (output_graph): G_VIEW -> normal_view in case someone
-       wants to redefine G_VIEW.
-
-2005-01-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/vcg.c (get_view_str): Remove case for normal_view.
-       Problem reported by twlevo@xs4all.nl.
-
-2005-01-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * configure.ac (O0CFLAGS, O0CXXFLAGS): Fix quoting bug.
-       Problem reported by twlevo@xs4all.nl.
-
-       * doc/bison.texinfo: Change @dircategory from "GNU programming
-       tools" to "Software development".  Requested by Richard Stallman
-       via Karl Berry.
-
-2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/c++.at (AT_CHECK_DOXYGEN): Don't use options after operands.
-       Problem reported by twlevo@xs4all.nl.
-
-2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (YYCOPY, yystpcpy, yyparse): Remove "register"
-       keyword; it's not needed with modern compilers, and it doesn't
-       affect correctness with older compilers.  Suggested by
-       twlevo@xs4all.nl.
-
-2005-01-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyuserAction): Add "default: break;" case to pacify
-       gcc -Wswitch-default.
-       * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
-       * data/yacc.c (yyparse): Likewise.
-
-2005-01-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/system.h (OUTPUT_EXT, TAB_EXT): Define only if not defined
-       already.  Let config.h define any nonstandard values.
-
-2005-01-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * tests/calc.at (_AT_DATA_CALC_Y): Use alarm (100), not alarm (10),
-       for the benefit of slower hosts.  Problem reported by
-       Nelson H. F. Beebe.
-
-2005-01-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/yacc.c (yyparse): Pacify non-GCC compilers about yyerrorlab
-       being defined and not used.
-       * data/lalr1.cc (yyparse): Likewise.
-       Use "if (false)" rather than "if (0)".
-
-2005-01-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * TODO: Mention that we should allow NUL bytes in tokens.
-
-2005-01-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/scan-skel.l (<<EOF>>): Don't close standard output.
-       Problem reported by Hans Aberg.
-
-2005-01-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/getargs.c (version): Happy new year; update overall
-       program copyright date from 2004 to 2005.
-
-       * src/scan-skel.l ("@output ".*\n): Don't close standard output.
-       Problem reported by Hans Aberg.
-       * tests/output.at (AT_CHECK_OUTPUT): New arg SHELLIO.
-       (Output file names.): Add a test for the case when standard output
-       is closed.
-
-2004-12-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (@copying): Update FDL version number to 1.2,
-       to fix an oversight in the Bison 2.0 manual.
-
-2004-12-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 2.0.  Reformat the existing news items since
-       1.875, so that related items are grouped together.
-       * configure.ac (AC_INIT): Bump version to 2.0.
-       * src/parse-gram.c, src/parse-gram.h: Regenerate with 2.0.
-
-       * tests/torture.at (Exploding the Stack Size with Alloca): Set
-       YYSTACK_USE_ALLOCA to 1 if __GNUC__ or alloca are defined;
-       otherwise, we're not testing alloca.  Unfortunately there's no
-       simple way to consult HAVE_ALLOCA here.
-
-       * data/lalr1.cc (yydestruct_): Pacify unused variable warning
-       for yymsg, too.
-
-       * src/LR0.c (new_itemsets): Use memset rather than zeroing by
-       hand.  This avoids a warning about comparing int to size_t when
-       GCC warnings are enabled.
-
-2004-12-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Bison-generated parsers no longer default to using the
-       alloca function (when available) to extend the parser stack, due
-       to widespread problems in unchecked stack-overflow detection.
-       * data/glr.c (YYMAXDEPTH): Remove undef when zero.  It's the user's
-       responsibility to set it to a positive value.  This lets the user
-       specify a value that is not a preprocessor constant.
-       * data/yacc.c (YYMAXDEPTH): Likewise.
-       (YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero.
-       * doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs
-       to be a compile-time constant.  However, explain the constraints on it.
-       Also, explain the constraints on YYINITDEPTH.
-       (Table of Symbols): Explain that alloca is no longer the default.
-       Explain the user's responsibility if they define YYSTACK_USE_ALLOCA
-       to 1.
-
-       * doc/bison.texinfo (Location Default Action): Mention that n must
-       be zero when k is zero.  Suggested by Frank Heckenbach.
-
-2004-12-22  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (parser::token_number_type, parser::rhs_number_type)
-       (parser::state_type, parser::semantic_type, parser::location_type):
-       Private, not public.
-       (parser::parse): Return ints, not bool.
-       Returning a bool introduces a problem: 0 corresponds to false, and
-       it seems weird to return false on success.  Returning true changes
-       the conventions for yyparse.
-       Alternatively we could return void and send an exception.
-       There is no clear consensus (yet?).
-       (state_stack, semantic_stack, location_stack): Rename as...
-       (state_stack_type, semantic_stack_type, location_stack_type): these.
-       Private, not public.
-       * tests/c++.at: New.
-       * tests/testsuite.at, tests/Makefile.am: Adjust.
-
-2004-12-21  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (parser::parse): Return a bool instead of an int.
-
-2004-12-21  Akim Demaille  <akim@epita.fr>
-
-       Don't impose std::string for filenames.
-
-       * data/lalr1.cc (b4_filename_type): New.
-       (position::filename): Use it.
-       (parser.hh): Move the inclusion of stack.hh and location.hh below
-       the user code, so that needed headers for the filename type can be
-       included first.
-       Forward declare them before the user code.
-       * tests/Makefile.am (check-local, installcheck-local): Pass
-       TESTSUITEFLAGS to the TESTSUITE.
-
-2004-12-20  Akim Demaille  <akim@epita.fr>
-
-       Use more STL like names: my_class instead of MyClass.
-
-       * data/lalr1.cc (LocationStack, LocationType, RhsNumberType)
-       (SemanticStack, SemanticType, StateStack, StateType)
-       (TokenNumberType, Stack, Slice, Traits, Parser::location)
-       (Parser::value): Rename as...
-       (location_stack, location_type, rhs_number_type, semantic_stack)
-       (semantic_type, state_stack, state_type, token_number_type, stack)
-       (slice, traits, parser::yylloc, parser::yylval): these.
-
-       * tests/calc.at, tests/regression.at, tests/actions.at: Adjust.
-
-2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (YYLLOC_DEFAULT): Use GNU spacing conventions.
-       * data/yacc.c (YYLLOC_DEFAULT): Likewise.
-
-2004-12-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove uses of 'short int' and 'unsigned short int'.  This raises
-       some arbitrary limits.  It uses more memory but nowadays that's
-       not much of an issue.
-
-       This change does not affect the generated parsers; that's a different
-       task, as some users will want to conserve memory there.
-
-       Ideally we should use size_t to represent all object counts, and
-       something like ptrdiff_t to represent signed differences of object
-       counts; but that will require more code-cleanup than I have the
-       time to do right now.
-
-       * src/LR0.c (allocate_itemsets, new_itemsets, save_reductions):
-       Use size_t, not int or short int, to count objects.
-       * src/closure.c (nritemset, closure): Likewise.
-       * src/closure.h (nritemset, closure): Likewise.
-       * src/nullable.c (nullable_compute): Likewise.
-       * src/print.c (print_core): Likewise.
-       * src/print_graph.c (print_core): Likewise.
-       * src/state.c (state_compare, state_hash): Likewise.
-       * src/state.h (struct state): Likewise.
-       * src/tables.c (default_goto, goto_actions): Likewise.
-
-       * src/gram.h (rule_number, rule): Use int, not short int.
-       * src/output.c (prepare_rules): Likewise.
-       * src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions,
-       errs, reductions): Likewise.
-       * src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol):
-       Likewise.
-       * src/tables.c (vector_number, tally, action_number,
-       ACTION_NUMBER_MINIMUM): Likewise.
-       * src/output.c (muscle_insert_short_int_table): Remove.
-
-2004-12-17  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: Extensive Doxygenation.
-       (error_): Rename as...
-       (error): this, since it is visible to the user.
-       Adjust callers.
-       (Parser::message): Now an automatic variable from...
-       (Parser::yyreport_syntax_error_): here.
-       * tests/actions.at, tests/calc.at, tests/regression.at: Adjust to
-       Parser::error.
-       * tests/input.at: Escape $.
-
-2004-12-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):
-       Parenthesize rhs to avoid obscure problems with mistakes like
-       "foo$$bar = foo$1bar;".  Problem reported by twlevo at xs4all.
-       * data/lalr1.cc (b4_lhs_value, b4_rhs_value, b4_lhs_location,
-       b4_rhs_location): Likewise.
-       * data/yacc.c (b4_lhs_value, b4_rhs_value, b4_lhs_location,
-       b4_rhs_location): Likewise.
-
-2004-12-16  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (yyreport_syntax_error_): Catch up with glr.c and
-       yacc.c: be sure to stay within yycheck_.
-       * tests/actions.at: Re-enable C++ tests.
-
-2004-12-16  Akim Demaille  <akim@epita.fr>
-
-       * src/print_graph.c (print_graph): Remove layoutalgorithm uses for
-       real.
-
-2004-12-16  Akim Demaille  <akim@epita.fr>
-
-       Use #define to handle the %name-prefix.
-
-       * data/glr.c, data/yacc.c: Comment changes.
-       * data/lalr1.cc (yylex): Use #define to select the name of yylex,
-       so that one can refer to yylex in the parser file, and have it
-       renamed, as is the case with other skeletons.
-
-2004-12-16  Akim Demaille  <akim@epita.fr>
-
-       Move lalr1.cc internals into yy*.
-
-       * data/lalr1.cc (semantic_stack_, location_stack_, state_stack_)
-       (semantic_stack_, location_stack_, pact_, pact_ninf_, defact_)
-       (pgoto_, defgoto_, table_, table_ninf_, check_, stos_, r1_, r2_)
-       (name_, rhs_, prhs_, rline_, token_number_, eof_, last_, nnts_)
-       (empty_, final_, terror_, errcode_, ntokens_)
-       (user_token_number_max_, undef_token_, n_, len_, state_, nerrs_)
-       (looka_, ilooka_, error_range_, nerrs_):
-       Rename as...
-       (yysemantic_stack_, yylocation_stack_, yystate_stack_)
-       (yysemantic_stack_, yylocation_stack_, yypact_, yypact_ninf_)
-       (yydefact_, yypgoto_, yydefgoto_, yytable_, yytable_ninf_)
-       (yycheck_, yystos_, yyr1_, yyr2_, yyname_, yyrhs_, yyprhs_)
-       (yyrline_, yytoken_number_, yyeof_, yylast_, yynnts_, yyempty_)
-       (yyfinal_, yyterror_, yyerrcode_, yyntokens_)
-       (yyuser_token_number_max_, yyundef_token_, yyn_, yylen_, yystate_)
-       (yynerrs_, yylooka_, yyilooka_, yyerror_range_, yynerrs_):
-       these.
-
-2004-12-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix some problems reported by twlevo at xs4all.
-       * src/symtab.c (symbol_new): Report an error if the input grammar
-       contains too many symbols.  This is better than calling abort() later.
-       * src/vcg.h (enum layoutalgorithm): Remove.  All uses removed.
-       (struct node, struct graph):
-       Rename member expand to stretch.  All uses changed.
-       (struct graph): Remove member layoutalgorithm.  All uses removed.
-       * src/vcg.c (get_layoutalgorithm_str): Remove.  All uses removed.
-       * src/vcg_defaults.h (G_STRETCH): Renamed from G_EXPAND.
-       All uses changed.
-       (N_STRETCH): Rename from N_EXPAND.  All uses changed.
-
-2004-12-15  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: Normalize /** \brief ... */ to ///.
-       Add more Doxygen comments.
-       (symprint_, stack_print_, reduce_print_, destruct_, pop)
-       (report_syntax_error_, translate_): Rename as...
-       (yysymprint_, yystack_print_, yyreduce_print_, yydestruct_)
-       (yypop_, yyreport_syntax_error_, yytranslate_): this.
-
-2004-12-15  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (lex_): Rename as...
-       (yylex_): this.
-       Move the trace here.
-       Take the %name-prefix into account.
-       Reported by Alexandre Duret-Lutz.
-
-2004-12-15  Akim Demaille  <akim@epita.fr>
-
-       Simplify the C++ parser constructor.
-
-       * data/lalr1.cc (debug_): Rename as...
-       (yydebug_): so that the parser's internals are always in the yy*
-       pseudo namespace.
-       Adjust uses.
-       (b4_parse_param_decl): Remove the leading comma as it is now only
-       called as unique argument list.
-       (Parser::Parser): Remove the constructor accepting a location and
-       an initial debugging level.
-       Remove from the other ctor the argument for the debugging level.
-       (debug_level_type, debug_level, set_debug_level): New.
-
-       * tests/actions.at, tests/calc.at, tests/regression.at: Adjust
-       constructor calls.
-
-2004-12-15  Akim Demaille  <akim@epita.fr>
-
-       Remove b4_root related material: failure experiment
-       (which goal was to allow to derive from a class).
-
-       * data/lalr1.cc (b4_root, b4_param, b4_constructor): Remove
-       definitions and uses.
-
-2004-12-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (struct yyGLRStack): yyerror_range now has 3 items,
-       not 2, since it's not portable to subtract 1 from the start of an
-       array.  The new item 0 is never set or used.  All uses changed.
-
-       (yyrecoverSyntaxError): Use YYLLOC_DEFAULT instead of assuming
-       the default definition of YYLLOC_DEFAULT.  Problem reported
-       by Frank Heckenbach.
-
-2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (YYRHSLOC): Don't have two definitions, one for
-       the normal case and one for the error case.  Just use the
-       first one uniformly.  Problem reported by Frank Heckenbach.
-       (YYLLOC_DEFAULT): Use the conventions of yacc.c, so we can
-       use exactly the same macro in both places.
-       (yyerror_range): Now of type yyGLRStackItem, not YYLTYPE,
-       so that the normal-case YYRHSLOC works for the error case too.
-       All uses changed.
-       * data/yacc.c (YYRHSLOC): New macro, taken from glr.c.
-       (YYLLOC_DEFAULT): Use the same macro as glr.c.
-       * doc/bison.texinfo (Location Default Action): Don't claim that
-       we have an array of locations.  Use the same macro for both glr
-       and lalr parsers.  Mention YYRHSLOC.  Mention what happens when
-       the index is 0.
-
-2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * HACKING: Update email addresses to send announcements to.
-
-       * configure.ac (AC_INIT): Bump version to 1.875f.
-
-2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 1.875e.
-       * src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875e.
-
-       * src/scan-skel.l: Include "complain.h", for "fatal".
-
-       * src/relation.h (relation_print, relation_digraph):
-       Relation sizes are of type relation_node, not size_t (this is
-       merely a doc fix, since the two types are equivalent).
-       (relation_transpose): Relation sizes are of type relation_node,
-       not int.
-       * src/relation.c: Likewise.
-       (top, infinity): Now of type relation_node, not int.
-       (traverse, relation_transpose): Use relation_node, not int.
-
-       * data/glr.c (yyuserAction, yyrecoverSyntaxError): Mark args
-       with ATTRIBUTE_UNUSED if they're not used, to avoid GCC warning.
-       (yyparse): Remove unused local introduced in 2004-10-25 patch.
-
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg
-       specifying whether the test should be skipped.  Use it tp
-       specify that the [%defines %skeleton "lalr1.cc"] tests currently
-       fail on some hosts, and should be skipped.
-
-2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/system.h (CALLOC, MALLOC, REALLOC): Remove.  All callers
-       changed to use xcalloc, xnmalloc, xnrealloc, respectively,
-       unless otherwise specified below.
-
-       * src/LR0.c (allocate_itemsets): Use xnmalloc, not xcalloc,
-       to allocate kernel_base, kernel_items, kernel_size, since
-       they needn't be initialized to 0.
-       (allocate_storgae): Likewise, for shiftset, redset, shift_symbol.
-       * src/closure.c (new_closure): Likewise, for itemset.
-       * src/derives.c (derives_compute): Likewise, for delts, derives, q.
-       * src/lalr.c (set_goto_map): Likewise, for temp_map.
-       (initialize_F): Likewise, for reads, edge, reads[i], includes[i].
-       (build_relations): Likewise for edge, states1, includes.
-       * src/nullable.c (nullable_compute): Likewise, for squeue, relts.
-       * src/reader.c (packgram): Likewise, for ritem, rules.
-       * src/reduce.c (nonterminals_reduce): Likewise for nontermmap.
-       * src/relation.c (relation_digraph): Likewise for VERTICES.
-       (relation_transpose): Likewise for new_R, end_R.
-       * src/symtab.c (symbols_token_translations_init): Likewise for
-       token_translations.
-       * src/tables.c (save_row): Likewise for froms, tos, conflict_tos.
-       (token_actions): Likewise for yydefact, actrow, conflrow,
-       conflict_list.
-       (save_column): Likewise for froms[symno], tos[symno].
-       (goto_actions): Likewise for state_count.
-       (pack_table): Likewise for base, pos, check.
-       (tables_generate): Likewise for width.
-
-       * src/LR0.c (set_states): Don't reuse kernel_size and kernel_base
-       for initial core.  Just have a separate core, so we needn't worry
-       about whether kernel_size and kernel_base are initialized.
-
-       * src/LR0.c (shift_symbol, redset, shiftset, kernel_base,
-       kernel_size, kernel_items): Remove unnecessary initialization.
-       * src/conflicts.c (conflicts): Likewise.
-       * src/derives.c (derives): Likewise.
-       * src/muscle_tablc (muscle_insert): Likewise.
-       * src/relation.c (relation_digraph): Likewise.
-       * src/tables.c (froms, tos, conflict_tos, tally, width, actrow, order,
-       conflrow, conflict_table, conflict_list, table, check):
-       Likewise.
-
-       * src/closure.c (new_closure): Arg is of type unsigned int, not int.
-       This is because all callers pass unsigned int.
-       * src/closure.h (new_closure): Likewise.
-
-       * src/lalr.c (initialize_F): Initialize reads[i] in all cases.
-       (build_relations): Initialize includes[i] in all cases.
-       * src/reader.c (packgram): Always initialize rules[ruleno].prec
-       and rules[ruleno].precsym.  Initialize members in order.
-       * src/relation.c (relation_transpose): Always initialize new_R[i]
-       and end_R[i].
-       * src/table.c (conflict_row): Initialize 0 at end of conflict_list.
-
-       * src/output.c (prepare_actions): Pass 0 instead of conflict_list[0];
-       conflict_list[0] was always 0, but now it isn't initialized.
-
-       * src/table.c (table_grow): When conflict_table grew, the grown
-       area wasn't cleared.  Fix this.
-
-       * lib/.cvsignore: Add strdup.c, strdup.h.
-       * m4/.cvsignore: Add strdup.m4.
-
-2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/lalr.h (GOTO_NUMBER_MAXIMUM): New macro.
-       * src/lalr.c (set_goto_map): Don't allow ngotos to equal
-       GOTO_NUMBER_MAXIMUM, since we occasionally compute
-       ngotos + 1 without checking for overflow.
-       (build_relations): Use END_NODE, not -1, to denote end of edges.
-       * src/lalr.c (set_goto_map, map_goto, initialize_F, add_loopback_edge,
-       build_relations): Use goto_number, not int, for goto numbers.
-       * src/tables.c (save_column, default_goto): Likewise.
-
-2004-11-23  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (YYSTYPE): Define it as is done for C, instead
-       of #defining from yystype.
-       Don't typedef yystype, C++ does not need it.
-       This lets it possible to forward declare it as union.
-
-2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bootstrap (gnulib_modules): Add extensions.
-       Problem reported by Jim Meyering.
-
-2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/LR0.c, src/closure.c, src/derives.c, src/gram.c,
-       src/lalr.c, src/nullable.c, src/relation.c, src/scan-skel.l,
-       src/system.h, src/tables.c: XFREE -> free, to accommodate
-       recent change to gnulib xalloc.h.
-       Problem reported by Jim Meyering.
-
-2004-11-17  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (symprint_): Use cdebug_ to avoid warnings.
-
-2004-11-17  Akim Demaille  <akim@epita.fr>,
-           Alexandre Duret-Lutz <adl@gnu.org>
-
-       * data/lalr1.cc (Parser::yycdebug_): New, a pointer, to allow
-       changes.
-       (YYCDEBUG): Adjust.
-       Use it instead of cdebug_.
-       (Parser::debug_stream, Parser::set_debug_stream): New.
-       (Parser::symprint_): Define cdebug_ for temporary backward
-       compatibility.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use
-       debug_stream ().
-
-2004-11-17  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (Parser:print_): Remove, use %printer instead.
-       * tests/regression.at (_AT_DATA_DANCER_Y): Adjust.
-       * tests/calc.at (_AT_DATA_CALC_Y): Ditto.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.
-
-2004-10-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yyloc_default): Remove; not used.
-       Problem reported by Frank Heckenbach.
-
-2004-10-25  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c (YYRHSLOC): Move its definition next to its uses.
-       Introduce another definition to address simple location arrays.
-       (yyGLRStack): New member: yyerror_range.
-       (yyrecoverSyntaxError, yyparse): Update it.
-       (yyrecoverSyntaxError): Use it when shifting the error token to
-       have an accurate range, equivalent to the one computed by both
-       yacc.c and lalr1.cc.
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Change its yylex so
-       that column numbers start at column 0, as per GNU Coding
-       Standards, the others tests, and the doc.
-       (_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT_WITH_LOC):
-       Adjust to the above change (first column is 0).
-       And adjust the location of the "<error>", now covering the whole
-       line.
-
-2004-10-22  Akim Demaille  <akim@epita.fr>
-       and Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove some arbitrary limits on goto numbers and relations.
-       * src/lalr.c (goto_map, ngotos, from_state, to_state): Omit
-       initial values, since they're never used.
-       (set_goto_map): ngotos is now unsigned, so test for overflow
-       by seeing whether it wraps around to zero.
-       * src/lalr.h (goto_number): Now size_t, not short int.
-       (GOTO_NUMBER_MAXIMUM): Remove.
-       * src/relation.c (relation_print, traverse, relation_transpose):
-       Check for END_NODE rather than looking at sign.
-       * src/relation.h (END_NODE): New macro.
-       (relation_node): Now size_t, not short int.
-
-2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo (Language and Grammar): In example, "int" is a
-       keyword, not an identifier.  Problem reported by Baron Schwartz in
-       <http://lists.gnu.org/archive/html/bug-bison/2004-10/msg00017.html>.
-
-2004-10-11  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.c (symbol_check_alias_consistency): Also check
-       type names, destructors, and printers.
-       Reported by Alexandre Duret-Lutz.
-       Recode the handling of associativity and precedence in terms
-       of symbol_precedence_set.
-       Accept no redeclaration at all, not even equal to the previous
-       value.
-       (redeclaration): New.
-       Use it to factor redeclaration complaints.
-       (symbol_make_alias): Don't set the type of the alias, let
-       symbol_check_alias_consistency do it as for other features.
-       * src/symtab.h (symbol): Add new member prec_location, and
-       type_location.
-       * src/symtab.c (symbol_precedence_set, symbol_type_set): Set them.
-       * tests/input.at (Incompatible Aliases): New.
-
-2004-10-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       .cvsignore fixes to accommodate gnulib changes,
-       and the practice of naming build directories "_build".
-       * .cvsignore: Add "_*".  Sort.
-       * lib/.cvsignore: Add getopt_.h, xalloc-die.c.
-       * m4/.cvsignore: Add "*_gl.m4".
-
-2004-10-06  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y (add_param): Fix the truncation of trailing
-       spaces.
-
-2004-10-05  Akim Demaille  <akim@epita.fr>
-
-       In Bison 1.875's yacc.c, YYLLOC_DEFAULT was called regardless
-       whether the reducion was empty or not.  This leaves room to
-       improve the use of YYLLOC_DEFAULT in such a case.
-       lalr1.cc is still experimental, so changing this is acceptable.
-       And finally, there are probably not many users who changed the
-       handling of locations in GLR, so changing is admissible too.
-
-       * data/glr.c, data/lalr1.cc, data/yacc.c (YYLLOC_DEFAULT): On an
-       empty reduction, set @$ to an empty location ending the previously
-       stacked symbol.
-       Adjust uses to make sure the code is triggered on empty
-       reductions.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust the
-       expected output: empty reductions have empty locations.
-
-2004-09-29  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: Move towards a more standard C++ coding style
-       for templates: Class < T > -> Class<T>.
-
-2004-09-29  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: Reinstall the former ctor, for sake of
-       compatibility, but warn it will be removed.
-       Move towards a more standard C++ coding style (i.e., type *var ->
-       type* var).
-
-2004-09-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/parse-gram.y (add_param): Rewrite to avoid strchr,
-       since it's less likely to work if NULs are involved in the future.
-
-2004-09-27  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c (YY_LOCATION_PRINT): Fix its default declaration.
-
-2004-09-27  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (b4_parse_param_decl_1): New.
-       (b4_parse_param_decl): Use it to have different names between attribute
-       and argument names.
-       (b4_cc_constructor_call): Likewise.
-
-2004-09-24  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y (add_param): Strip the leading and trailing
-       blanks from a formal argument declaration.
-       (YY_LOCATION_PRINT): New.
-
-2004-09-24  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_yysymprint_generate): Move the YYINPUT invocation
-       after the location.
-
-2004-09-24  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Table of Symbols): Sort.
-
-2004-09-21  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c, data/glr.c (b4_at_dollar, b4_dollar_dollar): Remove
-       the useless parentheses.
-       Suggested by Paul Eggert.
-
-2004-09-20  Akim Demaille  <akim@epita.fr>
-
-       Let the initial-action act on the look-ahead, and use it for the
-       "initial push" (corresponding to an hypothetical beginning-of-file).
-       And let lalr1.cc honor %initial-action.
-
-       * doc/bison.texinfo (Initial Action Decl): Clarify, and add an
-       example.
-       * data/lalr1.cc (Parser::initlocation_): Remove, bad experiment.
-       (Parser::Parser): Remove the ctor that used to initialize it.
-       (Parser::parse): Like in the other skeletons, issue the "starting
-       parse" message before any action.
-       Honor %initial-action.
-       Initialize the stacks with the lookahead.
-       * data/yacc.c: Let $$ and @$ in %initial-action designate the
-       look-ahead.
-       Push them in the stacks.
-       * tests/actions.at, tests/calc.at: Adjust the C++ ctor invocations.
-
-2004-09-20  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Initial Action Decl): New.
-
-2004-09-20  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c (YY_LOCATION_PRINT): Use YYLTYPE_IS_TRIVIAL as a
-       clearer criterion to define it.
-       (parse): Initialize the initial location when YYLTYPE_IS_TRIVIAL.
-       When reducing on an empty RHS, use the latest stacked location as
-       location.
-       yylloc is not always available.
-       * data/glr.c: Likewise.
-       Also, honor initial-actions.
-
-2004-09-20  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c (YY_LOCATION_PRINT): New.
-       Define when we know YYLTYPE's structure, i.e., when the default
-       YYLLOC_DEFAULT is used.
-       * data/c.m4 (b4_yysymprint_generate): Use it.
-       * data/lalr1.cc (YYLLOC_DEFAULT): Stop relying on the initial
-       value of the result.
-       (error_start_): Replace with...
-       (error_range_): this location array.
-       This allows to replace code relying on the implementation of
-       locations by portable code.
-       * data/yacc.c (yylerrsp): Replace with...
-       (yyerror_range): this.
-       Every time a token is popped, update yyerror_range[0], to have an
-       accurate location for the error token.
-       * data/glr.c (YY_LOCATION_PRINT): New.
-       (yyprocessOneStack): Fix an invocation of YY_SYMBOL_PRINT:
-       deference a pointer.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): No longer
-       report the location in %printers.
-
-       * src/scan-skel.l: Instead of abort, report error messages to ease
-       understanding skeleton scanning failures.
-
-2004-09-16  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (Stack::Iterator, Stack::ConstIterator): Rename as...
-       (iterator, const_iterator): these, to be more in the C++ spirit.
-       Also, return reverse iterators so that when displaying the stack
-       we display its bottom first.
-       (Parser::stack_print_, Parser::reduce_print_): Match the messages
-       from yacc.c.
-       We should probably use vector here though.
-
-2004-09-16  Akim Demaille  <akim@epita.fr>
-
-       Have more complete shift traces.
-
-       * data/yacc.c, data/lalr1.c, data/glr.c: Use YY_SYMBOL_PRINT
-       to report Shifts instead of ad hoc YYDPRINTF invocations,
-       including for the error token.
-       * data/lalr1.cc (symprint_): Output the location.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): In C++, don't
-       output the location within the %printer.
-       Activate GLR tests, at least to make sure they compile properly.
-       They still don't pass though.
-       * tests/calc.at: Adjust expect verbose output, since now "Entering
-       state..." is on a different line than the "Shifting" message.
-
-2004-09-08  Akim Demaille  <akim@epita.fr>
-
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Move the
-       Bison directive from the Bison file to the invocation of this
-       macro, so that these directives are passed to
-       AT_BISON_OPTION_PUSHDEFS to get correct help macros.
-       Use these helping macros (e.g., AT_LOC, AT_VAL and so forth).
-       Move the AT_SETUP/AT_CLEANUP outside, to report as test title
-       the extra Bison directives instead of the whole series.
-       Change the grammar so that there are recoverable errors, and
-       unrecoverable errors.  Now we can have the parser give up before
-       consuming the whole input.  As a result we now can observe that
-       the lookahead is freed when needed.
-       Change the parser source to parse argv[1] instead of a hard coded
-       string.
-       Simplify yylex, and give a value and location to EOF.
-       Simplify some invocations of AT_CHECK_PRINTER_AND_DESTRUCTOR that
-       passed directives already coded in the file.
-       Add some tests to check the location of "error".
-       For some tests, the C++ parser is correct, and not yacc.c.
-       For other tests, they provide different, but unsatisfying, values,
-       so keep the C++ value so that at least one parser is "correct"
-       according to the test suite.
-       (Actions after errors): Remove, this is subsumed by the
-       AT_CHECK_PRINTER_AND_DESTRUCTOR series.
-
-2004-09-06  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: Adjust the indentation of the labels.
-       (Parser::pop): New.
-       Use it.
-
-2004-09-06  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.cc, data/glr.cc (yydestruct): Accept an additional
-       argument, an informative message.
-       Call YY_SYMBOL_PRINT.
-       Adjust all callers: integrate the associated YY_SYMBOL_PRINT.
-       * data/lalr1.cc (destruct_): Likewise.
-       In addition, no longer depend on b4_yysymprint_generate and
-       b4_yydestruct_generate to generate these functions, do it "by
-       hand".
-
-2004-09-03  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c, data/lalr1.cc, data/yacc.c: When YYABORT was
-       invoked, yydestruct the lookahead.
-       * tests/calc.at (Calculator $1): Update the expected lengths of
-       traces: there is an added line for the discarded lookahead.
-       * doc/bison.texinfo (Destructor Decl): Some rewording.
-       Define "discarded" symbols.
-
-2004-09-02  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (translate_, destruct_): No reason to be static.
-
-2004-09-02  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c, yacc.c (YYDSYMPRINT): Remove, not used.
-       (YYDSYMPRINTF): Rename as...
-       (YY_SYMBOL_PRINT): this.
-       * data/lalr1.cc (YY_SYMBOL_PRINT): New, modeled after the previous
-       two.
-       Use it instead of direct symprint_ calls.
-       (yybackup): Tweak the "Now at end of input" case to match yacc.c's
-       one.
-
-2004-09-02  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (b4_yysymprint_generate): New.
-       (symprint_): New member function, defined when YYDEBUG.
-       Use it consistently instead of token/nterm debugging output by
-       hand.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust
-       %printer calls to use cdebug_ when using lalr1.cc.
-
-2004-08-30  Florian Krohm  <florian@edamail.fishkill.ibm.com>
-
-       * data/glr.c: Guard the declarations of yypstack and yypdumpstack
-       with #ifdef YYDEBUG.
-
-2004-08-26  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Implementing Loops): Rename as...
-       (Implementing Gotos/Loops): this.
-
-2004-08-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Adjust to latest gnulib.
-       * bootstrap (gnulib_modules): Add xalloc-die.
-       Set LC_ALL=C so that file names sort consistently.
-       Prefer the gnulib copies of gettext.m4, glibc21.m4,
-       inttypes_h.m4, lib-ld.m4, lib-prefix.m4, po.m4, stdint_h.m4,
-       uintmax_t.m4, ulonglong.m4.
-       (intl_files_to_remove): Add gettext.m4, lib-ld.m4, lib-prefix.m4,
-       po.m4 since we are now using _gl.m4 instead.
-
-2004-08-10  Florian Krohm  <florian@edamail.fishkill.ibm.com>
-
-       * src/scan-action.l: Remove. Scanning of semantic actions is
-       handled in scan-gram.l.
-
-2004-08-07  Florian Krohm  <florian@edamail.fishkill.ibm.com>
-
-       * src/scan-gram.l (handle_syncline): Use uniqstr_new not xstrdup.
-
-       * src/location.h (struct): The file member is a uniqstr.
-       (equal_boundaries): Use UNIQSTR_EQ for comparison.
-
-2004-07-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix bug with non-%union parsers that have printers or destructors,
-       which led to a Bison core dump.  Reported by Peter Fales in
-       <http://lists.gnu.org/archive/html/bug-bison/2004-07/msg00014.html>.
-
-       * data/c.m4 (b4_symbol_actions): Don't assume %union was used.
-       * data/lalr1.cc (yystype) [defined YYSTYPE]: Define to YYSTYPE,
-       not to our own type.
-       * src/output.c (symbol_destructors_output, symbol_printers_output):
-       Don't assume %union.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR,
-       AT_CHECK_PRINTER_AND_DESTRUCTOR): New argument
-       UNION-FLAG.  All callers changed.
-       (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't assume %union.
-       Use type char, not unsigned int, when declaring an array of char;
-       this lets us remove a cast.
-       (Printers and Destructors): Add non-%union test cases.
-
-2004-06-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc/bison.texinfo: Minor editorial changes, mostly to the new
-       GLR writeups.  E.g., avoid frenchspacing and the future tense,
-       change "lookahead" to "look-ahead", and change "wrt" to "with
-       respect to".
-
-2004-06-21  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
-
-       * doc/bison.texinfo (Merging GLR Parses, Compiler Requirements):
-       New sections, split off from the GLR Parsers section.  Put the new
-       Simple GLR Parser near the start of the GLR section, for clarity.
-       Rewrite connective text.
-
-2004-06-21  Frank Heckenbach  <frank@g-n-u.de>
-
-       * doc/bison.texinfo (Simple GLR Parsers): New section.
-
-2004-06-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS, TODO, doc/bison.texinfo:
-       Use "look-ahead" instead of "lookahead", to be consistent.
-       * REFERENCES: Fix incorrect reference to DeRemer and Pennello,
-       while we're fixing "look-ahead".
-       * src/conflicts.c (shift_set): Renamed from shiftset.
-       (look_ahead_set): Renamed from lookaheadset.
-       * src/print.c: Likewise.
-       * src/getargs.c (report_args): Add "look-ahead" as the new canonical
-       name for "lookahead".
-       (report_types, usage): Likewise.
-       * src/getargs.h (report_look_ahead_tokens): Renamed from
-       report_lookaheads.
-       * src/lalr.c (compute_look_ahead_tokens): Renamed from
-       compute_lookaheads.
-       (state_look_ahead_tokens_count): Renamed from state_lookaheads_count.
-       (look_ahead_tokens_print): Renamed from lookaheads_print.
-       * src/state.c (state_rule_look_ahead_tokens_print): Renamed from
-       state_rule_lookaheads_print.
-       * src/state.h: Likewise.
-       (reductions.look_ahead_tokens): Renamed from lookaheads.
-       * tests/torture.at (AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR): Renamed from
-       AT_DATA_LOOKAHEADS_GRAMMAR.
-
-2004-06-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * README: Update location of patched M4 distribution.
-
-2004-05-30  Albert Chin-A-Young  <china@thewrittenword.com>
-
-       Don't assume the C++ compiler takes the same arguments as the C compiler
-       (trivial change).
-       * configure.ac (O0CXXFLAGS): New var.
-       * tests/atlocal.in (CXXFLAGS): Use it.
-
-2004-05-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix some "make check" problems with C++ reported by
-       Albert Chin-A-Young for Tru64 C++ in this thread:
-       http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00049.html
-
-       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check for std::cerr.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
-       Output to a .cc file for C++, not to a .c file.
-       * tests/calc.at (AT_CHECK_CALC): Likewise.
-       * tests/regression.at (AT_CHECK_DANCER): Likewise.
-       * tests/local.at (AT_COMPILE_CXX): Default to OUTPUT.cc, not OUTPUT.c.
-
-2004-05-28  Albert Chin-A-Young  <china@thewrittenword.com>
-
-       * tests/calc.at, tests/actions.at: Workaround for SGI
-       C++ compiler.  (trivial change)
-
-2004-05-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Spent a few hours checking out which prerequisite versions the
-       current sources actually require.  I went all the way back to
-       Gettext 0.10.40, Automake 1.4, and Autoconf 2.57 and investigated
-       a seemingly endless set of combinations of versions more recent
-       than that.  The bottom line is that the current sources require
-       fairly recent versions of the build tools, and it'll be some work
-       to change this.
-       * configure.ac (AC_PREREQ): Increase from 2.58 to 2.59.
-       (AM_INIT_AUTOMAKE): Increase from 1.7 to 1.8.
-       (AM_GNU_GETTEXT_VERSION): Increase from 0.11.5 to 0.12.
-       Add comments explaining why those particular versions are
-       currently needed.
-
-       * src/parse-gram.y (lloc_default): Rewrite to avoid compiler bug
-       in SGI MIPSpro 7.4.1m.  Problem reported by Albert Chin-A-Young in
-       <http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00037.html>.
-
-       * configure.ac (AC_PREREQ): Bump to 2.58, since 2.57 doesn't work
-       (it fails with a Autoconf-without-aclocal-m4 diagnostic).
-
-2004-05-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * configure.ac (AM_GNU_GETTEXT_VERSION): Lower it from 0.14.1 to
-       0.11.5.  Suggested by Bruno Haible.
-       * bootstrap: Remove gettext version checking.
-
-       * doc/bison.texinfo (Decl Summary): Also mention that %union
-       can depend on prerequisite types.  Problem reported by Tim
-       Van Holder.
-
-2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * README: Mention GNU m4 1.4 bugs and Akim's patched version.
-       * README-alpha: Don't tell people not to package this.
-
-       * bootstrap: Don't assume $(...) works; use `...` instead.
-       Problem reported by Paul Hilfinger.  Also, diagnose non-GNU
-       gettext better.
-
-       * doc/bison.texinfo (Decl Summary, Bison Options): Clarify what's
-       put into the -d output file, and mention what to do if YYSTYPE is
-       defined as a macro.
-
-2004-05-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Undo change made earlier today: it caused autopoint to not bring
-       in ABOUT-NLS.  Ouch.  Instead, substitute our own diagnostic for
-       autopoint's.
-
-       * bootstrap: Check that gettext version matches what's in
-       configure.ac.  Warn users to ignore robots.txt ERROR 404.
-       * bootstrap: Undo today's earlier change (logged below).
-       * configure.ac (AM_GNU_GETTEXT_VERSION): Likewise.
-
-       The gettext version checking is causing more trouble than it's
-       curing; remove it.  Problem reported by Paul Hilfinger.
-
-       * bootstrap: Issue a warning that one can expect a message
-       'AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION'.
-       * configure.ac (AM_GNU_GETTEXT_VERSION): Remove.
-
-2004-05-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Ensure that the C++ compiler used for testing actually works on a
-       simple test program; if not, skip the C++-related tests.  Problem
-       reported by Vin Shelton in:
-       http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00026.html
-
-       * m4/cxx.m4: New file.
-       * configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add.
-       * tests/atlocal.in (BISON_CXX_WORKS): Add.
-       * tests/local.at (AT_COMPILE_CXX): Use it.
-
-2004-05-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * data/glr.c (yylloc): Output this macro even if locations are not
-       being generated, as the GLR parser needs it even in that case.
-       Problem reported by Troy A. Johnson
-       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=195946>.
-
-       * configure.ac (AC_INIT): Update to 1.875e.
-
-2004-05-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Version 1.875d.
-       * configure.ac (AC_INIT): Likewise.
-       * src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875d.
-
-       * configure.ac (--enable-gcc-warnings): Do not enable -Wshadow,
-       -Wmissing-prototypes, or -Wstrict-prototypes for C++.  The current
-       lalr1.cc runs afoul of the first, and the last two are no longer
-       supported by GCC 3.4.0.
-       * README: Mention GNU m4 1.4 or later; mention m4 patches.
-       * HACKING: Use ./bootstrap, not "make update" to import foreign files.
-
-2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * src/muscle_tab.c (hash_muscle): Accept and return size_t, not
-       unsigned int, for compatibility with latest gnulib hash module.
-       * src/state.c (state_hash, state_hasher): Likewise.
-       * src/symtab.c (hash_symbol, hash_symbol_hasher): Likewise.
-       * src/uniqstr.c (hash_uniqstr): Likewise.
-
-2004-05-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * NEWS: Unescaped newlines are no longer allowed in char & strings.
-
-       * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER,
-       SC_CHARACTER,SC_STRING>): Reject unescaped newlines in
-       character and string literals.
-       (unexpected_end): New function.
-       (unexpected_eof): Use it.
-       (unexpected_newline): New function.
-       (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>): Coalesce duplicate
-       actions.
-
-       * NEWS: Document %expect-rr.
-
-       * bootstrap (--gnulib-srcdir=*, --cvs-user=*):
-       Fix typo by replacing $1 with $option.
-       Remove more 'intl'-related files.
-       Don't DEFUN AM_INTL_SUBDIR twice.
-
-       * lib/.cvsignore: Add strndup.h.  Remove memchr.c, memcmp.c,
-       memrchr.c, strcasecmp.c, strchr.c, strrchr.c, strspn.c, strtol.c,
-       strtoul.c.
-       * m4/.cvsignore: Add exitfail.m4, extensions.m4, gnulib.m4,
-       hard-locale.m4, mbstate_t.m4, strerror_r.m4, strndup.m4,
-       xstrndup.m4.  Remove glibc21.m4, intdiv0.m4, inttypes-pri.m4,
-       inttypes.m4, inttypes_h.m4, isc-posix.m4, lcmessage.m4,
-       stdint_h.m4, uintmax_t.m4, ulonglong.m4.
-       * src/.cvsignore: Add *.output.
-
-       * src/parse-gram.y: Put copyright notice inside %{ %} so it
-       gets copied to the output file.
-
-2004-04-28  Paul Eggert  <eggert@twinsun.com>
-
-       Get files from the gnulib and po repositories, instead of relying
-       on them being in our CVS.  Upgrade to latest versions of gnulib
-       and Automake.
-
-       * Makefile.am (SUBDIRS): Remove m4; Automake now does m4.
-       * bootstrap: Bootstrap from gnulib and po repositories.
-       Much of this code was stolen from GNU diff and GNU tar's bootstrap.
-       * README-cvs: Document these changes.  Remove version numbers from
-       mentions of build tools, since they change so often.  Mention Flex.
-
-       * configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg.
-       (gl_USE_SYSTEM_EXTENSIONS): Add.
-       (AC_GNU_SOURCE, AC_AIX, AC_MINIX):
-       Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS
-       does this for us.
-       (AC_ISC_POSIX): Remove; we no longer support this
-       ancient OS, as it gets in the way of latest Autoconf & gnulib.
-       (AC_HEADER_STDC): Remove: we now assume C89 or better.
-       (AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS.
-       Do not check for C89 headers, except for locale.h which is used
-       by the Yacc library and must port to K&R hosts.
-       (AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS.
-       Do not check for C89 functions, except for setlocale which is
-       used by the Yacc library.
-       (AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed.
-       (gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR,
-       gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL,
-       gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE,
-       gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC,
-       AM_GNU_GETTEXT): Remove; now done by:
-       (GNULIB_AUTOCONF_SNIPPET): Add.  "bootstrap" builds this for us.
-       (AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this
-       for us.
-
-       * lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap".
-       (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES):
-       Define to empty, as gnulib.mk will do the rest for us.
-       ($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this
-       for us.
-       (libbison_a_SOURCES): Define to $(lib_SOURCES) now.
-       (lib_SOURCES): New symbol, containing only the non-gnulib libs.
-
-       * src/files.c: Include gnulib's xstrndup.h.
-
-       * src/system.h (MALLOC): Use xnmalloc, for better overflow checking.
-       (REALLOC): Use xnrealloc, for likewise.
-       (xstrndup, stpcpy): Remove decls, as gnulib does this for us now.
-       (strnlen, memrchr): Remove decls; functions no longer used.
-       Include <stpcpy.h>.
-
-       * config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c,
-       lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
-       lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
-       lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h,
-       lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c,
-       lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h,
-       lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
-       lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c,
-       lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c,
-       lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h,
-       lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c,
-       m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
-       m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4,
-       m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4,
-       m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4,
-       m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4,
-       m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4,
-       m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in,
-       po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po,
-       po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po,
-       po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po:
-       Remove, as these files are now generated automatically
-       by bootstrap or automake.
-
-       * po/ChangeLog: Remove: all but one entry was a duplicate
-       of this file, and I moved that 2000-11-02 entry here.
-
-       * config/.cvsignore: Add Makefile, depcomp, install-sh.
-       * lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c,
-       argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h,
-       exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c,
-       getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h,
-       hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c,
-       memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h,
-       quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h,
-       strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c,
-       strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c,
-       unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c,
-       xstrndup.h.
-       * m4/.cvsignore: Remove Makefile, Makefile.in.  Add alloca.m4,
-       dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4,
-       mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4,
-       stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4.
-       * po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars.
-       * src/.cvsignore: Remove *_.c.
-
-
-       * Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't
-       support it.  (The latest stable gzip doesn't.)
-
-2004-04-27  Paul Eggert  <eggert@twinsun.com>
-
-       * data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this
-       case, as stos_ is now used by destructors due to the 2004-02-09
-       change.
-
-       Remove more K&R C support.
-       * lib/libiberty.y (PARAMS): Remove.  All uses removed.
-       * lib/subpipe.c (errno): Remove decl.
-       Include <stdlib.h> unconditionally.
-       (EXIT_FAILURE): Remove macro.
-       * src/complain.c (vfprintf, strerror): Remove.
-       * src/system.h: Include limits.h, stdlib.h, string.h, locale.h
-       unconditionally.
-       (EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns.
-       Use latest Autoconf recommendations for including inttypes.h, stdint.h.
-       (strchr, strspn, memchr): Remove decls.
-       * tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h
-       unconditionally.  Do not declare perror.
-       * tests/conflicts.at (%nonassoc and eof): Include stdlib.h
-       unconditionally.
-
-       * src/complain.c (_): Remove useless defn, as system.h defines this.
-
-       * lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed
-       with latest obstack.h.
-       * lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args
-       to procedure types, as obstack.h now does that for us.
-       * lib/lbitset.c (lbitset_elt_alloc): Likewise.
-
-       * lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>,
-       so that this include file can stand alone.
-       * lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h
-       does this now.  Include subpipe.h first after config.h, to
-       test whether it can stand alone.
-
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't
-       declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the
-       unused declaration.
-
-       * tests/synclines.at (%union synch line): Put a dummy member in
-       the union, because empty unions aren't allowed in C.  Caught
-       by GCC 3.4.0.
-
-2004-04-13  Jim Meyering  <jim@meyering.net>
-
-       * src/conflicts.c (conflicts_print): Correct format string typo:
-       use `%%' to produce literal `%'.  (trivial change)
-
-2004-03-30  Paul Eggert  <eggert@twinsun.com>
-
-       * src/getargs.c (version): Update copyright year to 2004.
-
-       * data/c.m4 (b4_int_type): Use 'short int' rather than
-       'short', and similarly for 'long', 'unsigned', etc.
-       * data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum,
-       yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError,
-       yy_yypstack, yydumpstack): Likewise.
-       * data/lalr1.cc (user_token_number_max_, user_token_number_max_,
-       translate_, seq_, [], pop, Slice, range_, operator+, operator+=):
-       Likewise.
-       * data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char,
-       yy_stack_print, yyparse): Likewise.
-       * doc/bison.texinfo (Prologue, Multiple Types): Likewise.
-       * lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise.
-       * lib/bitset.c (bitset_print): Likewise.
-       * lib/bitset_stats.c (bitste_log_histogram_print): Likewise.
-       * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
-       * lib/bitsetv.c (bitsetv_dump): Likewise.
-       * lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise.
-       * lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset):
-       Likewise.
-       * src/LR0.c (allocate_itemsets): Likewise.
-       * src/gram.h (rule_number, rule): Likewise.
-       * src/lalr.h (goto_number): Likewise.
-       * src/nullable.c (nullable_compute): Likewise.
-       * src/output.c (prepare_rules): Likewise.
-       * src/relation.c (relation_print, relation_digraph): Likewise.
-       * src/relation.h (relation_node): Likewise.
-       * src/state.h (state_number, transitions, errs, reductions,
-       struct state): Likewise.
-       * src/symtab.h (symbol_number, struct symbol): Likewise.
-       * src/tables.c (vector_number, tally, action_number,
-       default_goto, goto_actions): Likewise.
-       * tests/existing.at (GNU Cim Grammar): Likewise.
-       * tests/regression.at (Web2c Actions): Likewise.
-
-       * src/output.c (muscle_insert_short_int_table): Renamed from
-       muscle_insert_short_table.  All uses changed.
-
-2004-03-25  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
-
-       * src/parse-gram.y: Define PERCENT_EXPECT_RR.
-       (declaration): Replace expected_conflicts with expected_sr_conflicts.
-       Add %expect-rr rule.
-
-       * src/scan-gram.l: Recognize %expect-rr.
-
-       * src/conflicts.h (expected_sr_conflicts): Rename from
-       expected_conflicts.
-       (expected_rr_conflicts): Declare.
-
-       * src/conflicts.c (expected_sr_conflicts): Rename from
-       expected_conflicts.
-       (expected_rr_conflicts): Define.
-       (conflicts_print): Check r/r conflicts against expected_rr_conflicts
-       for GLR parsers.
-       Use expected_sr_conflicts in place of expected_conflicts.
-       Warn if expected_rr_conflicts used in non-GLR parser.
-
-       * doc/bison.texinfo: Add documentation for %expect-rr.
-
-2004-03-08  Paul Eggert  <eggert@gnu.org>
-
-       Add support for hex token numbers.  Suggested by Odd Arild Olsen in
-       <http://lists.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
-
-       * NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
-       in lalr1.cc.
-       * doc/bison.texinfo (Token Decl): Add hexadecimal token numbers.
-       * src/scan-gram.l (scan_integer): New function.
-       ({int}): Use it.
-       (0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers.
-       (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+,
-       handle_action_dollar, handle_action_at, convert_ucn_to_byte):
-       Say "long int", not "long", for uniformity with GNU style.
-
-2004-02-25  Paul Eggert  <eggert@twinsun.com>
-
-       * tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from
-       compilers.  This fixes a problem with Intel's C++ compiler being
-       chatty, reported by Guido Trentalancia in
-       <http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
-
-2004-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
-
-       Support %destructor and merge error locations in lalr1.cc.
-
-       * data/lalr1.cc (b4_cxx_destruct_def): New macro.
-       (Parser::stos_): Define unconditionally.
-       (Parser::destruct_): New method.  Generate its body with
-       b4_yydestruct_generate.
-       (Parser::error_start_): New attribute.
-       (Parser::parse) <yyerrlab, yyerrlab1>: Call destruct_ on erroneous
-       token which are discarded.
-       (Parser::parse) <yyerrlab, yyerrorlab, yyerrlab1>: Update
-       error_start_ when erroneous token are discarded.
-       (Parser::parse) <yyerrlab1>: Compute the location of the error
-       token so that it covers all the discarded tokens.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust so
-       it can be called with `%skeleton "lalr1.cc"', and do that.
-
-2004-02-02  Paul Eggert  <eggert@twinsun.com>
-
-       * src/Makefile.am (AM_CPPFLAGS): New macro.  It mentions
-       $(top_srcdir)/lib and ../lib.  This fixes a bug reported
-       by Paul Hilfinger; the old INCLUDES value didn't mention ../lib.
-       There's no need to mention top_builddir since Automake does that
-       for us.
-       (INCLUDES): Remove, as Automake says it's obsolescent.
-       Contents migrated into AM_CPPFLAGS as described above.
-       * lib/Makefile.am (INCLUDES): Remove; obsolescent.
-
-2004-01-14  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
-
-       * data/glr.c (yytokenName): Bullet-proof against YYEMPTY token.
-       (yyreportSyntaxError): Handle case where lookahead token is
-       YYEMPTY.
-
-2004-01-13  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * data/glr.c: Put casts on uses of YYREALLOC and YYMALLOC so that
-       resulting parsers are compilable with C++.
-
-2003-12-23  Paul Eggert  <eggert@twinsun.com>
-
-       * config/depcomp, config/install-sh: Sync with Automake 1.8.
-       * src/output.c (output_skeleton): Rename local var.
-       * tests/input.at (Torturing the Scanner): Don't use \x0 or \0 in
-       Bison tokens, as this runs afoul of the 2003-10-07 change that
-       disallowed NUL bytes in character constants or string literals.
-
-       * tests/local.at: Require Autoconf 2.59's Autotest.
-       * tests/testsuite.at: Don't include local.at, since we now assume
-       Autoconf 2.59 or later.  Autoconf 2.59 had some problems with
-       including it.
-       * tests/Makefile.am ($(TESTSUITE)): Remove warning about ignoring
-       multiple inclusion warnings.
-
-2003-12-02  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (How Can I Reset the Parser): More about start
-       conditions.
-       From Bruno Haible.
-
-2003-11-18  Alexandre Duret-Lutz  <adl@gnu.org>
-
-       * doc/bison.texinfo (Bison Options): Escape `@' in `$@'.
-
-2003-10-07  Paul Eggert  <eggert@twinsun.com>
-
-       * tests/Makefile.am (clean-local): Don't run 'testsuite --clean'
-       if testsuite doesn't exist.
-
-       * doc/bison.texinfo (Symbols): NUL bytes are not allowed in string
-       literals, unfortunately.
-       * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
-       Complain about NUL bytes in character constants or string literals.
-
-2003-10-05  Paul Eggert  <eggert@twinsun.com>
-
-       * NEWS: Don't document %no-default-prec, as it's still
-       too experimental.
-       * doc/bison.texinfo: Document %no-default-prec only if
-       the defaultprec flag is set.  Normally it's not.
-
-2003-10-04  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (b4_rhs_value, b4_rhs_location): Yield a
-       non-modifiable lvalue, instead of a modifiable one.
-       * doc/bison.texinfo (Actions): Document that $$ can
-       be assigned to.  Do not claim that $$ and $N are
-       array element references: user code should not rely on this.
-
-2003-10-01  Paul Eggert  <eggert@twinsun.com>
-
-       * src/parse-gram.h (PERCENT_NO_DEFAULT_PREC): New token.
-       (grammar_declaration): Use it.
-       * src/scan-gram.l: New token %no-default-prec.
-       * tests/conflicts.at: Revamp tests to use %no-default-prec.
-       * NEWS, doc/bison.texinfo: Document the above.
-
-2003-10-01  Akim Demaille  <akim@epita.fr>
-
-       VCG no longer supports long_straight_phase.
-
-       * src/vcg.c, src/vcg.h: Remove the handling of long_straight_phase.
-       * src/print_graph.c (print_graph): Adjust.
-
-2003-09-30  Frank Heckenbach  <frank@g-n-u.de>
-       and Paul Eggert  <eggert@twinsun.com>
-
-       * doc/bison.texinfo (Decl Summary, Contextual Precedence,
-       Table of Symbols): Document %default-prec.
-       * src/parse-gram.y (PERCENT_DEFAULT_PREC): New token.
-       (grammar_declaration): Set default_prec on %default-prec.
-       * src/scan-gram.l (%default-prec): New token.
-       * src/reader.h (default_prec): New flag.
-       * src/reader.c: Likewise.
-       (packgram): Handle it.
-       * tests/conflicts.at (%default-prec without %prec,
-       %default-prec with %prec, %default-prec 1): New tests.
-
-2003-09-30  Paul Eggert  <eggert@twinsun.com>
-
-       * tests/testsuite.at: Include local.at, not input.at, fixing
-       a typo in the 2003-08-25 patch.
-
-2003-08-27  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (yyparse) [__GNUC__]: "Use" yyerrorlab to pacify
-       GCC warnings.
-
-2003-08-26  Akim Demaille  <akim@epita.fr>
-
-       * config/announce-gen (print_changelog_deltas): Neutralize "<#" as
-       "<\#" to avoid magic from Gnus when posting parts of this script.
-
-2003-08-26  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (Parser::report_syntax_error_): New, extracted from
-       (Parser::parse): here.
-       Adjust: nerrs and errstatus is now replaced by...
-       (Parser::nerrs_, Parser::errstatus_): New.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       * config/announce-gen, Makefile.cfg: New.
-       * Makefile.am: Adjust.
-       * GNUmakefile, Makefile.maint: Update from CVS Autoconf, but
-       keeping local WGET and WGETFLAGS modifications from Paul Eggert.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       When reducing initial empty rules, Bison parser read an initial
-       location that is not defined.  This results in garbage, and that
-       affects Bison's own parser.  Therefore we need (i) to extend Bison
-       to support a means to initialize this location, and (ii) to use
-       this CVS Bison to fix CVS Bison's parser.
-
-       * src/reader.h, reader.c (epilogue_augment): Remove, replace
-       with...
-       * src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this.
-       * src/parse-gram.y: Adjust.
-       (%initial-action): New.
-       (%error-verbose): Since we require CVS Bison, there is no reason
-       not to use it.
-       * src/scan-gram.l: Adjust.
-       * src/Makefile.am (YACC): New, to make sure we use our own parser.
-       * data/yacc.c (yyparse): Use b4_initial_action.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Don't promote stdout for error messages.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (Parser::reduce_print_): Remove unused yyi.
-       From Alexandre Duret-Lutz.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       Version 1.875c.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New.
-       Use them.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (Parser::reduce_print_): New.
-       Use it.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       Have lalr1.cc catch with Paul Eggert's patch to fix the infinite
-       error recovery loops.  This patch is based on
-       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>.
-       Also, augment the similarity between lalr1.cc and yacc.c.
-       Note: the locations of error recovery rules are not correct yet.
-
-       * data/lalr1.cc: Comment changes to augment the similarity between
-       lalr1.cc and yacc.c.
-       (YYERROR): Goto to yyerrorlab, not yyerrlab1.
-       (yyerrlab1): Remove, but where it used to be (now the bottom part of
-       yyerrlab), when hitting EOF, pop the whole stack here instead of
-       merely falling thru the default error handling mechanism.
-       (yyerrorlab): New label, with the old contents of YYERROR,
-       plus the following change: pop the stack of rhs corresponding
-       to the production that invoked YYERROR.  That is how Yacc
-       behaves (required by POSIX).
-       * tests/calc.at (AT_CHECK_CALC_LALR1_CC): No longer expected to
-       fail.
-
-2003-08-25  Akim Demaille  <akim@epita.fr>
-
-       Tune local.at so that people can "autom4te -l autotest calc.at -o
-       calc" for instance, to extract a sub test suite.
-
-       * tests/testsuite.at: Move the initialization, Autotest version
-       requirement, and AT_TESTED invocation into...
-       * tests/local.at: here.
-       * tests/testsuite.at: Include it for compatibility with Autoconf
-       2.57.
-       * tests/Makefile.am ($(TESTSUITE)): Report that the warning should
-       be ignore.
-
-2003-08-04  Paul Eggert  <eggert@twinsun.com>
-
-       Rework code slightly to avoid gcc -Wtraditional warnings.
-       * data/glr.c (yyuserMerge): Return void, not YYSTYPE.
-       The returned value is now stored in *YY0.  All callers changed.
-       * src/output.c (merge_output): Adjust to the above change.
-
-2003-07-26  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (YYASSERT): New macro.
-       (yyfillin, yydoAction, yyglrReduce, yysplitStack,
-       yyresolveStates, yyprocessOneStack):
-       Use `YYASSERT (FOO);' rather than `if (! (FOO)) abort ();'.
-       Derived from a suggestion by Frank Heckenbach.
-
-2003-07-25  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (yyglrReduce): Don't use C89 string concatenation,
-       for portability to K&R C (after ansi2knr, presumably).  See
-       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>
-       by Frank Heckenbach, though I have omitted the structure-initialization
-       part of his glr-knr.diff patch since I recall that the Portable
-       C Compiler didn't require that change.
-
-       Let the user specify how to allocate and free memory.
-       Derived from a suggestion by Frank Heckenbach in
-       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>.
-       * data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
-       All uses of free, malloc, realloc changed to use these macros,
-       and unnecessary casts removed.
-       * data/yacc.c (YYFREE, YYMALLOC): Likewise.
-
-2003-07-06  Matthias Mann  <MatthiasMann@gmx.de>
-
-       * data/lalr1.cc (operator<<(std::ostream&, const Position&)):
-       use s.empty() rather than s == "" to test for empty string; see
-       <http://lists.gnu.org/archive/html/bison-patches/2003-07/msg00003.html>
-       (trivial change)
-
-2003-06-25  Akim Demaille  <akim@epita.fr>
-
-       * config/depcomp, config/install-sh: Update from masters.
-
-2003-06-20  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (YYLLOC_DEFAULT): Parenthesize arguments as needed,
-       and return properly parenthesized result.
-       * data/lalar1.cc (YYLLOC_DEFAULT): Likewise.
-       * data/yacc.c (YYLLOC_DEFAULT): Likewise.
-       Remove unnecessary parentheses from uses.
-       * doc/bison.texinfo (Location Default Action): Describe the
-       conventions for parentheses.
-
-2003-06-19  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (yyremoveDeletes, yy_reduce_print, yyglrReduce,
-       yyreportTree): Do not assume that size_t is the same width as int,
-       when printing sizes.  Print sizes using an unsigned format.
-       Problem reported by Frank Heckenbach in
-       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>.
-
-       Port to Forte Developer 7 C compiler.
-       * data/glr.c (struct YYLTYPE): If locations are not being used,
-       declare a single dummy member, as empty structs do not conform
-       to the C standard.
-       (YYERROR, YYBACKUP): Do not use "do { ...; return foo; } while (0)";
-       the Forte Developer 7 C compiler complains that end-of-loop
-       code is not reached.
-
-2003-06-17  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/libiberty.h (PARAMS): Spell argument as Args, not as X, to
-       avoid warnings from picky compilers about redefinition of PARAMS.
-
-2003-06-17  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.875b.
-
-       * NEWS: Document 1.875b.
-
-       * lib/bbitset.h: Do not include config.h; that's the includer's job.
-       Do not include <sys/types.h>; shouldn't be needed on a C89 host.
-       * lib/bitset.h (bitset_compatible_p): Indent as per GNU standard.
-       Don't use 'index' in comments, as it's a builtin fn on some hosts.
-       * lib/bitset_stats.c: Include gettext.h unconditionally, as
-       per recent gettext manual's suggestion.
-       * lib/ebitset.c (ebitset_resize, ebitset_unused_clear):
-       Use prototypes, not old-style definitions.
-       * lib/lbitset.c (lbitset_unused_clear): Likewise.
-       * lib/vbitset.c (vbitset_resize, vbitset_ones, vbitset_zero,
-       vbitset_empty_p, vbitset_copy1, vbitset_not, vbitset_equal_p,
-       vbitset_subset_p, vbitset_disjoint_p, vbitset_and, vbitset_and_cmp,
-       vbitset_andn, vbitset_andn_cmp, vbitset_or, vbitset_or_cmp,
-       vbitset_xor, vbitset_xor_cmp, vbitset_and_or, vbitset_and_or_cmp,
-       vbitset_andn_or, vbitset_andn_or_cmp, vbitset_or_and,
-       vbitset_or_and_cmp, vbitset_copy): Likewise.
-
-       * lib/libiberty.h: Do not include config.h; that's the includer's job.
-       Do not include <stdlib.h>.
-       (PARAMS): Define unconditionally for C89.
-       (ATTRIBUTE_NORETURN): Remove.
-       (ATTRIBUTE_UNUSED): Define unconditionally.
-
-       Upgrade to 2003-06-08 libbitset, submitted by Michael Hayes in:
-       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00005.html>
-       * lib/Makefile.am (bitsets_sources): Add vbitset.c, vbitset.h.
-       * lib/vbitset.c, lib/vbitset.h: New files.
-       * lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
-       lib/bitset_stats.c, lib/ebitset.c, lib/lbitset.c: Import
-       from libbitset.
-
-       * doc/bison.texinfo (How Can I Reset the Parser): Renamed from
-       `How Can I Reset @code{yyparse}', since texinfo does not allow
-       arbitrary @ in node names.
-
-       * m4/Makefile.am (EXTRA_DIST): Add the following files, which
-       shouldn't be needed according to the gettext 0.12.1 documentation
-       but which seem to be needed anyway: codeset.m4 glibc21.m4
-       intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4
-       lcmessage.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4.
-       * po/Makefile.in.in: Upgrade to gettext 0.12.1 version.
-
-       * lib/.cvsignore: Add stdbool.h.
-       * m4/.cvsignore: Add nls.m4, po.m4.
-
-       Upgrade to CVS gnulib.
-       * stdbool_.h: File renamed from stdbool.h.in.
-       * configure.ac (AM_STDBOOL_H): Invoke this instead of
-       AC_HEADER_STDBOOL.
-       (AM_GNU_GETTEXT): Put brackets around args, as latest manual suggests.
-       (AM_GNU_GETTEXT_VERSION): Update to 0.12.1.
-       * lib/Makefile.am (EXTRA_DIST): Add stdbool_.h.
-       (MOSTLYCLEANFILES): New var.
-       ($(libbison_a_OBJECTS)): Depend on $(STDBOOL_H).
-       (stdbool.h): New rule.
-       * lib/dirname.c, lib/dirname.h, lib/hash.c, lib/hash.h,
-       lib/malloc.c, lib/obstack.h, lib/quote.c, lib/realloc.c,
-       lib/strcasecmp.c, lib/xalloc.h, m4/alloca.m4, m4/onceonly.m4,
-       m4/quote.m4: Upgrade to today's gnulib.
-
-       * tests/calc.at (AT_CHECK_CALC): New option EXPECTED-TO-FAIL.
-       (AT_CHECK_CALC_LALR1_CC): Use it, since the C++ LALR parser fails
-       the tests right now.
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Ensure yylex and
-       yyerror are declared before use; C99 requires this.
-
-2003-06-09  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * data/glr.c (YYERROR): Update definition to reset yyerrState to 0
-       first.
-       (yyrecoverSyntaxError): Correct the logic for setting and testing
-       yyerrState.
-       Correct comment on handling EOF.
-       Allow states with only a default reduction, rather than failing
-       (I can't quite reconstruct why these were not allowed before).
-
-       Fixes to avoid problem that $-N rules in GLR parsers can cause
-       buffer overruns, corrupting state.
-
-       * src/output.c (prepare_rules): Output max_left_semantic_context
-       definition.
-       * src/reader.h (max_left_semantic_context): New variable declaration.
-       * src/scan-gram.l (max_left_semantic_context): Define.
-       (handle_action_dollar): Update max_left_semantic_context.
-       * data/glr.c (YYMAXLEFT): New definition.
-       (yydoAction): Increase size of yyrhsVals by YYMAXLEFT.
-       (yyresolveAction): Ditto.
-
-       Fixes to problems with location handling in GLR parsers reported by
-       Frank Heckenbach (2003/06/05).
-
-       * data/glr.c (YYLTYPE): Make trivial if locations not used.
-       (YYRHSLOC): Add parentheses, and define only if locations used.
-       (YYLLOC_DEFAULT): Add parentheses, and give trivial definition if
-       locations not used.
-       (yyuserAction): Use YYLLOC_DEFAULT to set *yylocp.
-       (yydoAction): Remove redundant initialization of *yyvalp and *yylocp.
-
-       * tests/cxx-type.at: Exercise location information; update tests
-       to differentiate output with and without locations.
-       Remove forward declarations of yylex and yyerror---caused errors
-       because default YYLTYPE not yet defined.
-       Change semantic actions to compute strings, rather than printing
-       them directly (to test proper passing of semantics values).  Change
-       output to prefix notation and update test data and expected results.
-       (yylex): Track locations.
-       (stmtMerge): Return value rather than printing, and include arguments
-       in value.
-
-2003-06-03  Paul Eggert  <eggert@twinsun.com>
-
-       Avoid warnings generated by GCC 2.95.4 when Bison is
-       configured with --enable-gcc-warnings.
-       * data/lalr1.cc (yy::]b4_parser_class_name[::parse,
-       yy::]b4_parser_class_name[::translate_,
-       yy::Stack::operator[] (unsigned),
-       yy::Stack::operator[] (unsigned) const,
-       yy::Slice::operator[] (unsigned),
-       yy::Slice::operator[] (unsigned) const):
-       Rename local vars to avoid warnings.
-       * tests/glr-regression.at (Improper handling of embedded actions
-       and $-N in GLR parsers): Remove unused local variable from yylex.
-       * tests/regression.at (_AT_DATA_DANCER_Y): Declare yylex to take
-       (void) as arg when not pure, since we now assume C89 when building
-       Bison.  Pacify GCC by using parameter.
-
-2003-06-02  Paul Eggert  <eggert@twinsun.com>
-
-       * data/lalr1.cc (yy::Position::lines, yy::Position::columns,
-       yy::Location::lines, yy::Location::columns): Rename arguments
-       to avoid shadowing; this removes a warning generated by GCC 3.3.
-
-2003-06-01  Paul Eggert  <eggert@twinsun.com>
-
-       Don't pass C-only warning optins (e.g., -Wmissing-declarations)
-       to g++, as GCC 3.3 complains if you do it.
-       * configure.ac (WARNING_CXXFLAGS): New subst.  Set it to
-       everything that WARNING_CFLAGS has, except omit warnings
-       not suitable for C++.
-       (AC_PROG_CXX): Use this instead of AC_CHECK_PROGS([CXX], [g++]).
-       * tests/atlocal.in (CXXFLAGS): New var.
-       * tests/local.at (AT_COMPILE_CXX): Use it instead of CFLAGS.
-
-       Fix a GLR parser bug I reported in February; see
-       <http://lists.gnu.org/archive/html/bison-patches/2003-02/msg00008.html>.
-       The problem was that GLR parsers did not conform to the C standard,
-       because actions like { $1 = $2 + $3; } expanded to expressions
-       that invoked YYFILL in separate subexpressions, and YYFILL assigned
-       to a local variable.  The C standard says that expressions
-       like (var = f ()) + (var = f ()) have undefined behavior.
-       Another problem was that GCC sometimes issues warnings that
-       yyfill and its parameters are unused.
-
-       * data/glr.c (yyfillin): Renamed from the old yyfill.  Mark
-       as possibly unused.
-       (yyfill): New function.
-       (YYFILL): Use it.
-       (yyuserAction): Change type of yynormal to bool, so that it matches
-       the new yyfill signature.  Mark it as possibly unused.
-
-
-       Follow up on a bug I reported in February, where a Bison-generated
-       parser can loop.  Provide a test case and a fix for yacc.c.  I
-       don't have a fix for lalr1.cc or for glr.c, unfortunately.
-       The original bug report is in:
-       <http://lists.gnu.org/archive/html/bison-patches/2003-02/msg00044.html>
-
-       * data/yacc.c (YYERROR): Now just 'goto yyerrorlab', since the
-       macro's size was becoming unwieldy.
-       (yyerrlab): Do not discard an empty lookahead symbol, as this
-       might destroy garbage.
-       (yyerrorlab): New label, with the old contents of YYERROR,
-       plus the following change: pop the stack of rhs corresponding
-       to the production that invoked YYERROR.  That is how Yacc
-       behaves, and POSIX requires this behavior.
-       (yyerrlab1): Use YYPOPSTACK instead of its definiens.
-       * tests/calc.at (_AT_DATA_CALC_Y): Include unistd.h if available.
-       Define 'alarm' to do nothing if unistd.h is not available.
-       Add a new rule "exp: '-' error;" to test the above change to
-       data/yacc.c.  Use 'alarm' to abort any test taking longer than
-       10 seconds, as it's probably looping.
-       (AT_CHECK_CALC): Test recovery from error in new grammar rule.
-       Also, the new yacc.c generates two fewer diagnostics for an
-       existing test.
-
-2003-05-24  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (YYSTACKEXPANDABLE): Do not evaluate
-       YYSTYPE_IS_TRIVIAL or YYSTYPE_IS_TRIVIAL unless they are defined.
-       This fixes a problem reported by John Bowman when the Compaq/HP
-       Alpha cxx compiler happy (e.g. using cxx -D__USE_STD_IOSTREAM
-       -ansi -Wall -gall).
-       * data/yacc.c (union yyalloc): Likewise.
-       (YYCOPY): Do not evaluate __GNUC__ unless it is defined.
-
-       Switch from 'int' to 'bool' where that makes sense.
-
-       * lib/abitset.c (abitset_test, abitset_empty_p, abitset_equal_p,
-       abitset_subset_p, abitset_disjoint_p, abitset_and_cmp,
-       abitset_andn_cmp, abitset_or_cmp, abitset_xor_cmp, abitset_and_or,
-       abitset_and_or_cmp, abitset_andn_or_cmp, abitset_or_and_cmp):
-       Return or accept bool, not int.  All callers changed.
-       * lib/bbitset.h: (bitset_toggle_, bitset_copy_, bitset_and_or_cmp_,
-       bitset_andn_or_cmp_, bitset_or_and_cmp_): Likewise.
-       * lib/bitset.c (bitset_only_set_p, bitset_print, bitset_toggle_,
-       bitset_copy_, bitset_op4_cmp, bitset_and_or_cmp_, bitset_andn_or_cmp_,
-       bitset_or_and_cmp_): Likewise.
-       * lib/bitset.h (bitset_test, bitset_only_set_p): Likewise.
-       * lib/bitset_stats.c (bitset_stats_print, bitset_stats_toggle,
-       bitset_stats_test, bitset_stats_empty_p, bitset_stats_disjoint_p,
-       bitset_stats_equal_p, bitset_stats_subset_p, bitset_stats_and_cmp,
-       bitset_stats_andn_cmp, bitset_stats_or_cmp, bitset_stats_xor_cmp,
-       bitset_stats_and_or_cmp, bitset_stats_andn_or_cmp,
-       bitset_stats_or_and_cmp): Likewise.
-       * lib/ebitset.c (ebitset_elt_zero_p, ebitset_equal_p, ebitset_copy_cmp,
-       ebitset_test, ebitset_empty_p, ebitset_subset_p, ebitset_disjoint_p,
-       ebitset_op3_cmp, ebitset_and_cmp, ebitset_andn_cmp, ebitset_or_cmp,
-       ebitset_xor_cmp): Likewise.
-       * lib/lbitset.c (lbitset_elt_zero_p, lbitset_equal_p, lbitset_copy_cmp,
-       lbitset_test, lbitset_empty_p, lbitset_subset_p, lbitset_disjoint_p,
-       lbitset_op3_cmp, lbitset_and_cmp, lbitset_andn_cmp, lbitset_or_cmp,
-       lbitset_xor_cmp): Likewise.
-       * lib/bbitset.h: Include <stdbool.h>.
-       (struct bitset_vtable): The following members now return bool, not
-       int: toggle, test, empty_p, disjoint_p, equal_p, subset_p,
-       and_cmp, andn_cmp, or_cmp, xor_cmp, and_or_cmp, andn_or_cmp,
-       or_and_cmp).
-       * src/conflicts.c (count_rr_conflicts): Likewise.
-       * lib/bitset_stats.h (bitset_stats_enabled): Now bool, not int.
-       All uses changed.
-       * lib/ebitset.c (ebitset_obstack_init): Likewise.
-       * lib/lbitset.c (lbitset_obstack_init): Likewise.
-       * src/getargs.c (debug_flag, defines_flag, locations_flag,
-       no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
-       graph_flag): Likewise.
-       * src/getargs.h (debug_flag, defines_flag, locations_flag,
-       no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
-       graph_flag): Likewise.
-       * src/output.c (error_verbose): Likewise.
-       * src/output.h (error_verbose): Likewise.
-       * src/reader.c (start_flag, typed): Likewise.
-       * src/reader.h (typed): Likewise.
-       * src/getargs.c (LOCATIONS_OPTION): New constant.
-       (long_options, getargs): Use it.
-       * src/lalr.c (build_relations): Use bool, not int.
-       * src/nullable.c (nullable_compute): Likewise.
-       * src/print.c (print_reductions): Likewise.
-       * src/tables.c (action_row, pack_vector): Likewise.
-       * src/muscle_tab.h (MUSCLE_INSERT_BOOL): New macro.
-       * src/output.c (prepare): Use it.
-       * src/output.c (token_definitions_output,
-       symbol_destructors_output, symbol_destructors_output): Use string,
-       not boolean integer, to keep track of whether to output separator.
-       * src/print_graph.c (print_core): Likewise.
-       * src/state.c (state_rule_lookaheads_print): Likewise.
-
-       * config/install-sh: Sync from automake 1.7.5.
-
-2003-05-14  Paul Eggert  <eggert@twinsun.com>
-
-       * src/parse-gram.y (rules_or_grammar_declaration): Require a
-       semicolon after a grammar declaration, in the interest of possible
-       future changes to the Bison input language.
-       Do not allow a stray semicolon at the start of the grammar.
-       (rhses.1): Allow one or more semicolons after any rule, including
-       just before "|" as required by POSIX.
-       * tests/input.at (Torturing the Scanner): Add tests for ";|" in a
-       grammar.
-
-2003-05-14  Alexandre Duret-Lutz  <adl@gnu.org>
-
-       %parse-param support for lalr1.cc.
-
-       * data/lalr1.cc (b4_parse_param_decl, b4_parse_param_cons,
-       b4_cc_constructor_calls, b4_cc_constructor_call,
-       b4_parse_param_vars, b4_cc_var_decls, b4_cc_var_decl): New m4
-       definitions.
-       (yy::b4_parser_class_name::b4_parser_class_name): Take extra
-       parse-param arguments.
-       (yy::b4_parser_class_name): Declare instance variables to
-       hold parse-param arguments.
-       * tests/calc.at: s/value/semantic_value/ because value clashes
-       with a member of yy::b4_parser_class_name.  Adjust C++ code
-       to handle %parse-param.  Enable %parse-param test in C++.
-
-2003-05-12  Paul Eggert  <eggert@twinsun.com>
-
-       * doc/bison.texinfo (How Can I Reset @code{yyparse}): Reword the
-       English a bit.  Fix fclose typo.  Change "const char" to "char
-       const", and use ANSI C rather than K&R for "main".  Suggest
-       YY_FLUSH_BUFFER over yyrestart (as that is what Flex recommends)
-       and suggest yy_switch_to_buffer.
-
-2003-05-05  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/bitset.h (__INT_TO_PTR): Define to a value that presumes
-       C89.  This avoids a diagnostic on compilers that define __STDC__
-       to 0, fixing a problem with Tru64 cc reported by Martin Mokrejs in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
-
-2003-05-03  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/bitset.h (BITSET_FOR_EACH, BITSET_FOR_EACH_REVERSE):
-       Do not overrun array bounds.
-       This should fix a bug reported today by Olatunji Oluwabukunmi in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-05/msg00004.html>.
-
-2003-04-29  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h, src/gram.c (pure_parser, glr_parser): Move to...
-       * src/getargs.c, src/getargs.h: here, as bool, not int.
-       (nondeterministic_parser): New.
-       * src/parse-gram.y, src/scan-gram.l: Support
-       %nondeterministic-parser.
-       * src/output.c (prepare): Use nondeterministic_parser instead
-       of glr_parser where appropriate.
-       * src/tables.c (conflict_row, action_row, save_row)
-       (token_actions, token_actions, pack_vector): Ditto.
-
-2003-04-29  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (C++ Parsers, Implementing Loops): New.
-
-2003-04-29  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at: Also test yacc.c and glr.c (but not lalr1.cc yet)
-       with %pure-parser and %locations to exercise the patch from Yakov
-       Markovitch below.
-
-2003-04-28  Tim Van Holder <tim.van.holder@pandora.be>
-
-       * data/yacc.c: (b4_lex_param): Corrected for the case where
-       %lex-param is provided and %pure-parser isn't.
-
-2003-04-27  Paul Eggert  <eggert@twinsun.com>
-
-       Avoid gcc -Wundef warnings reported by Gerald Pfeifer in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00044.html>.
-       * data/yacc.c (YYSTACK_ALLOC): Don't evaluate YYSTACK_USE_ALLOCA
-       if it is not defined.
-       (YYMAXDEPTH): Don't evaluate YYMAXDEPTH if it is not defined.
-
-2003-04-26  Paul Eggert  <eggert@twinsun.com>
-
-       * data/lalr1.cc (yy::Parser::pact_ninf_, yy::Parser::table_ninf_):
-       Declare to be of type suitable for the ninf value itself, not of
-       type suitable for the corresponding table, since the latter might
-       be unsigned but the ninf value might be negative.  This fixes a
-       bug reported by Alexandre Duret-Lutz in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00017.html>.
-
-       * configure.ac (AC_FUNC_ERROR_AT_LINE): Remove, since gl_ERROR
-       invokes it.  We shouldn't invoke it twice because it will attempt
-       to put error.o in the archive twice.  This fixes a glitch reported
-       by Martin Mokrejs in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
-
-2003-04-21  Paul Eggert  <eggert@twinsun.com>
-
-       * m4/error.m4: Update from Bruno Haible's 2003-04-14 patch
-       to gnulib.
-
-2003-04-21  Yakov Markovitch <Markovitch@iso.ru>
-
-       * data/glr.c (yyexpandGLRStack) [!YYSTACKEXPANDABLE]:
-       Fix obvious typo that results in uncompilable GLR parsers
-       when both %pure-parser and %locations are used.  (trivial change)
-
-2003-04-17  Paul Eggert  <eggert@twinsun.com>
-
-       * src/scan-gram.l: Add %option nounput, since we no longer use unput.
-       (unexpected_eof): Renamed from unexpected_end_of_file, for brevity.
-       Do not insert the expected token via unput, as this runs afoul
-       of a POSIX-compatibility bug in flex 2.5.31.
-       All uses changed to BEGIN the parent state,
-       since we no longer insert the expected token via unput.
-       * tests/regression.at (Invalid inputs): Remove cascaded diagnostic
-       that is no longer emitted after the above change.
-
-       * src/conflicts.c (set_conflicts): Resolve all conflicts, not just
-       the first one.  This change is from Paul Hilfinger, and it fixes
-       regression reported by Werner Lemberg in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
-
-       (resolve_sr_conflict): Don't invoke state_errs_set
-       unless one or more tokens have been explicitly made errors.
-       Otherwise, the above change causes Bison to abort.
-
-       * tests/existing.at (GNU pic Grammar): New test case, taken from
-       Lemberg's email.
-
-2003-03-31  Akim Demaille  <akim@epita.fr>
-
-       * doc/Makefile.am (AM_MAKEINFOFLAGS): Don't split the info file.
-
-2003-03-31  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (prepare_symbols): Avoid trailing spaces in the
-       output.
-
-2003-03-31  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Strings are Destroyed): s/losses/loses/.
-       From Paul Hilfinger.
-
-2003-03-29  Akim Demaille  <akim@epita.fr>
-
-       * m4/error.m4: Do not put under dynamic conditions some code which
-       expansion is under static control.
-
-2003-03-29  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (How Can I Reset @code{yyparse}): New.
-
-2003-03-29  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Strings are Destroyed): New.
-
-2003-03-13  Paul Eggert  <eggert@twinsun.com>
-
-       * .cvsignore: Add configure.lineno.
-       * src/.cvsignore: Add yacc.
-       * tests/.cvsignore: Add testsuite.log.
-       * doc/fdl.texi: Sync with latest FSF version.
-
-2003-03-12  Paul Eggert  <eggert@twinsun.com>
-
-       * scan-gram.l (YY_USER_INIT): Initialize code_start, too.
-       (<INITIAL><<EOF>>, <SC_PRE_CODE><<EOF>>): Set *loc to the scanner
-       cursor, instead of leaving it undefined.  This fixes a bug
-       reported by Tim Van Holder in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-03/msg00023.html>.
-       * tests/input.at (Torturing the Scanner): Test the scanner on
-       an empty input file, which was Tim Van Holder's test case.
-
-       * m4/timevar.m4 (BISON_PREREQ_TIMEVAR): When checking whether
-       <sys/resource.h> can be included, include sys/time.h and
-       sys/times.h first, if available.  This works around the SunOS
-       4.1.4 porting bug reported by Bruce Becker in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-03/msg00018.html>.
-
-       * m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't
-       AC_CHECK_HEADERS([sys/wait.h]), as this interferes with
-       AC_HEADER_SYS_WAIT.
-
-       Merge changes from gnulib.  This was prompted because the CVS
-       snapshot didn't build on Solaris 7 due to strnlen problems.
-
-       These changes need to be merged back into gnulib:
-       * lib/hash.c: Include <stdbool.h> unconditionally.
-       * m4/onceonly.m4 (m4_quote): New macro.
-       (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
-       Quote AC_FOREACH variable-expansions properly.
-       The 2003-01-03 obstack.h change also needs merging.
-       {end of changes requiring merging}
-
-       * lib/stdbool.h.in, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
-       m4/getopt.m4, m4/hash.m4, m4/malloc.m4, m4/memchr.m4,
-       m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/quote.m4,
-       m4/quotearg.m4, m4/realloc.m4, m4/stpcpy.m4, m4/strnlen.m4,
-       m4/strtol.m4, m4/strtoul.m4, m4/unlocked-io.m4, m4/xalloc.m4:
-       New files, imported from gnulib.
-       * m4/Makefile.am (EXTRA_DIST): Add the new m4/*.m4 files mentioned
-       above.
-
-       * lib/mbswidth.c, m4/error.m4, m4/mbrtowc.m4, m4/mbswidth.m4,
-       m4/memcmp.m4, m4/prereq.m4, m4/stdbool.m4: Update to current
-       gnulib sources.
-
-       * configure.ac (gl_DIRNAME, gl_GETOPT, gl_HASH, gl_QUOTE, gl_XALLOC):
-       Add.
-       (gl_ERROR): New, replacing jm_PREREQ_ERROR.
-       (gl_FUNC_ALLOCA): New, replacing AC_FUNC_ALLOCA.
-       (gl_FUNC_STPCPY): New, replacing AC_REPLACE_FUNCS(stpcpy).
-       (gl_FUNC_STRNLEN): New, replacing AC_FUNC_STRNLEN.
-       (gl_MBSWIDTH): New, replacing jm_PREREQ_MBSWIDTH.
-       (gl_OBSTACK): New, replacing AC_FUNC_OBSTACK.
-       (gl_QUOTEARG): New, replacing jm_PREREQ_QUOTEARG.
-       (jm_FUNC_GLIBC_UNLOCKED_IO, gl_FUNC_STPCPY, gl_FUNC_STRTOL): New.
-       (jm_FUNC_MALLOC): New, replacing AC_FUNC_MALLOC.
-       (jm_FUNC_REALLOC): New, replacing AC_FUNC_REALLOC.
-       (jm_PREREQ_ARGMATCH): Remove.
-       (AC_REPLACE_FUNCS): Remove memchr, memrchr, stpcpy, strtol, strtoul.
-       * lib/Makefile.am (libbison_a_SOURCES): Add argmatch.c, argmatch.h.
-
-       * src/system.h: Include <stdbool.h> unconditionally.
-
-       * lib/bbitset.h: Include <limits.h> unconditionally.  We have been
-       assuming at least C89 in the bitset code for some time now.
-
-2003-03-03  Akim Demaille  <akim@epita.fr>
-
-       * ro.po: New.
-
-2003-03-02  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Table of Symbols): Reactivate the
-       documentation for %lex-param, and %parse-param.
-
-2003-03-02  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c, data/glr.c, data/lal1.cc: Use similar code to
-       generate verbose error messages.
-       Use the number of tokens as an upper bound in yytname, as it
-       cannot be a non terminal.
-
-2003-03-02  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (_AT_DATA_DANCER_Y): Fix the expected error
-       message.
-
-2003-03-02  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (_AT_DATA_DANCER_Y, AT_CHECK_DANCER): New.
-       Use them to exercise yycheck overrun.
-       Based on Andrew Suffield's grammar.
-
-2003-03-02  Akim Demaille  <akim@epita.fr>
-
-       Create tests/local.at for Bison generic testing macros.
-
-       * tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Move to...
-       * tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
-       This new file.
-       * tests/calc.at (AT_CHECK_CALC): Adjust.
-       * tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR)
-       (AT_COMPILE, AT_COMPILE_CXX, AT_PARSER_CHECK): Move to...
-       * tests/local.at: here.
-       (AT_COMPILE_CXX): Tags the tests using it as c++.
-       Ignore the test if CXX is not functional.
-
-2003-03-01  Paul Eggert  <eggert@twinsun.com>
-
-       * src/scan-gram.l (code_start): Initialize it to scanner_cursor,
-       not loc->end, since loc->end might contain garbage and this leads
-       to undefined behavior on some platforms.
-       (id_loc, token_start): Use (IF_LINTed) initial values that do not
-       depend on *loc, so that the reader doesn't give the the false
-       impression that *loc is initialized.
-       (<INITIAL>"%%"): Do not bother setting code_start, since its value
-       does not survive the return.
-
-2003-03-01  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l (code_start): Always initialize it when entering
-       into yylex, as SC_EPILOGUE is activated *before* the corresponding
-       yylex invocation.  An alternative would be making it static, but
-       then it starts with the second %%'s beginning, instead of its end.
-
-2003-02-28  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/mbswidth.c: Include <wchar.h> before "mbswidth.h", to work
-       around a UnixWare 7.1.1 porting bug reported by John Hughes in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00030.html>.
-
-2003-02-26  Paul Eggert  <eggert@twinsun.com>
-
-       * README: Mention compiler bug in Sun Forte Developer 6 update 2.
-       Remove Sequent/Pyramid discussion (nobody uses them any more).
-       Merge VMS and MS-DOS discussion; these ports may well be dead
-       but let's keep mentioning them for now.  Put <> around email
-       addresses.  Add copyright notice.
-
-2003-02-24  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (yy_reduce_print): yylineno -> yylno,
-       to avoid collision with flex use of yylineno.
-       Problem reported by Bruce Lilly in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00016.html>.
-       * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
-       * data/yacc.c (yy_reduce_print): Likewise.
-
-       * config/depcomp: Sync with Automake 1.7.3.
-
-2003-02-21  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: Use temporary variables instead of casts to
-       change integer types.
-       Suggested by Paul Eggert.
-
-2003-02-21  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Use "location" consistently to refer to @n,
-       to avoid confusions with lalr1.cc's notion of Position.
-       Suggested by Paul Eggert.
-
-2003-02-20  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (position.hh): Make sure "columns" never pushes
-       before initial_columns.
-       (location.hh): Use consistent variable names when defining the
-       operator<<.
-       Use "last" so that we subtract from Positions, not from unsigned.
-
-2003-02-20  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (position.hh): New subfile, including the extended
-       and Doxygen'ed documentation of class Position.
-       (location.hh): Use it.
-       Document a` la Doxygen.
-       With the help of Benoit Perrot.
-
-2003-02-20  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Define
-       AT_YACC_IF.
-       Redefine AT_YYERROR_SEES_LOC_IF using it.
-       (_AT_DATA_CALC_Y): Don't declare yyerror when lalr1.cc, as it is
-       not defined.
-       Don't use the location in yy::Parser::error_ and
-       yy::Parser::print_ when not %locations.
-       Activate more lalr1.cc tests.
-
-2003-02-19  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: When displaying a line number, be sure to make it
-       an int.
-
-2003-02-19  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (b4_stack_depth_init, yy::Parser::initdepth_):
-       Remove, useless.
-       (YYABORT, YYACCEPT, YYERROR): New.
-       * tests/calc.at: Renable the lalr1.cc test.
-
-2003-02-19  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at (AT_CHECK_CALC): Check different scenarios of
-       error recovery, mixing with/without pops and discarding of the
-       lookahead.
-       Exercise YYERROR.
-       Disable the lalr1.cc tests as currently it doesn't support YYERROR.
-
-2003-02-17  Paul Eggert  <eggert@twinsun.com>
-
-       * tests/atlocal.in (LDFLAGS, LIBS): New vars.
-       * tests/testsuite.at (AT_COMPILE): Use them.
-       This fixes the testsuite problem reported by Robert Lentz in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00011.html>.
-
-2003-02-12  Paul Eggert  <eggert@twinsun.com>
-
-       * data/yacc.c (yyerrlab) [YYERROR_VERBOSE]:
-       Avoid subscript error in yycheck.  Bug reported by Andrew Suffield in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00003.html>.
-       * data/glr.c (yyreportSyntaxError) [YYERROR_VERBOSE]: Likewise.
-       Check for malloc failure, for consistency with yacc.c.
-       (yytname_size): Remove, for consistency with yacc.c.
-
-       The bug still remains in data/lalr1.cc, as I didn't have time
-       to fix it there.
-
-2003-02-06  Akim Demaille  <akim@epita.fr>
-
-       * configure.ac (GXX): Rename as...
-       (CXX): this, to keep the original Autoconf semantics.
-       Require 2.57.
-       * data/lalr1.cc: Fix b4_copyright invocations.
-       If YYDEBUG is not defined, don't depend upon name_ being defined.
-       (location.hh): Include string and iostream.
-       (Position::filename): New member.
-       (Position::Position ()): New.
-       (operator<< (Position)): New.
-       (operator- (Position, int)): New.
-       (Location::first, Location::last): Rename as...
-       (Location::begin, Location::end): these, to mock the conventional
-       iterator names.
-       (operator<< (Location)): New.
-       * tests/atlocal.in (CXX): New.
-       * tests/testsuite.at (AT_COMPILE_CXX): New.
-       * tests/calc.at (_AT_DATA_CALC_Y): Adjust yyerror to report the
-       locations in a more synthetic way.
-       (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF is positive if
-       lalr1.cc is used.
-       Adjust the C locations to match those from Emacs: first column is
-       column 0.
-       Change all the expected results.
-       Conform to the GCS: simplify the locations when applicable.
-       (LOC, VAL, YYLLOC_FORMAL, YYLLOC_ARG, USE_YYLLOC, LEX_FORMALS)
-       (LEX_ARGS, USE_LEX_ARGS, LEX_PRE_FORMALS, LEX_PRE_ARGS): Replace
-       these CPP macros with the m4 macros new defined by...
-       (AT_CHECK_PUSHDEFS): this, i.e.:
-       (AT_LALR1_CC_IF, AT_PURE_LEX_IF, AT_LOC, AT_VAL, AT_LEX_FORMALS)
-       (AT_LEX_ARGS, AT_USE_LEX_ARGS, AT_LEX_PRE_FORMALS, AT_LEX_PRE_ARGS)
-       New macros.
-       (AT_CHECK_POPDEFS): Undefine them.
-       (AT_CHECK_CALC_LALR1_CC): New.
-       Use it for the first lalr1.cc test.
-
-2003-02-04  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc (YYLLOC_DEFAULT): Fix its definition: be based on
-       Location as is defined.
-
-2003-02-04  Akim Demaille  <akim@epita.fr>
-
-       * data/lalr1.cc: If YYDEBUG is not defined, don't depend upon
-       name_ being defined.
-
-2003-02-03  Paul Eggert  <eggert@twinsun.com>
-
-       * src/gram.h (start_symbol): Remove unused decl.
-
-       Use more-consistent naming conventions for local vars.
-
-       * src/derives.c (derives_compute): Change type of local var from
-       int to rule_number.
-       * src/gram.c (grammar_rules_partial_print): Likewise.
-       * src/print.c (print_core): Likewise.
-       * src/reduce.c (reduce_grammar_tables): Likewise.
-
-       * src/gram.c (grammar_dump): Change name of item_number *
-       local var from r to rp.
-       * src/nullable.c (nullable_compute): Likewise.
-
-       * src/gram.h (ISTOKEN, ISVAR): Use i, not s, for int var.
-
-       * src/gram.h (symbol_number_as_item_number): Use sym, not s,
-       for symbol or symbol_number var.
-       * src/reader.c (grammar_start_symbol_set): Likewise.
-       * src/reader.h (grammar_start_symbol_set, grammar_symbol_append):
-       Likewise.
-       * src/state.c (transitions_to): Likewise.
-       * src/state.h: Likewise.
-       * src/tables.c (symbol_number_to_vector_number): Likewise.
-
-       * src/muscle_tab.h (MUSCLE_OBSTACK_SGROW): Use p, not s, for
-       char * var.
-
-       * src/parse-gram.y (lloc_default): Use loc, not r, for YYLTYPE
-       var.
-
-       * src/scan-gram.l (no_cr_read): Use bytes_read, not s, for size
-       var.
-
-       * src/system.h (xstrndup, strchr, strspn, strnlen, memchr, memrchr):
-       Use str, not s, for char * var.  Use ch, not c, for character var.
-       Use size for size var.
-
-       * src/uniqstr.c (uniqstr_new, uniqstr_assert): Use str, not s, for
-       char * var.
-       (uniqstr_print, uniqst_print_processor): Use ustr, not s, for
-       uniqstr var.
-       * src/uniqstr.h: Likewise.
-
-       * src/vcg.c (get_color_str, get_textmode_str, get_shape_str,
-       get_layoutalgorithm_str, get_decision_str, get_orientation_str,
-       get_node_alignment_str, get_arrow_mode_str, get_crossing_type_str,
-       get_view_str, get_linestyle_str, get_arrowstyle_str): Rename
-       param to have same name as that of enum, so that we don't use
-       "s" to stand for a non-state.
-
-2003-02-02  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-skel.l: Scan more than one inert character per yylex
-       invocation.
-
-2003-02-01  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.875a.
-
-       * po/LINGUAS: Add ms.
-
-2003-01-30  Akim Demaille  <akim@epita.fr>
-
-       * doc/Makefile.am (CLEANFILES): Add bison.fns for distcheck.
-
-2003-01-29  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * tests/cxx-type.at: Correct apparent typo in Bison input: $$ instead
-       of $1.
-
-       Changes in response to error report by S. Eken: GLR mode does not
-       handle negative $ indices or $ indices in embedded rules correctly.
-       See <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00076.html>.
-
-       * data/glr.c (b4_rhs_value): Change to use YYFILL macro.
-       (b4_rhs_location): Ditto.
-       (yyfill): New function to copy from stack tree into array
-       incrementally.
-       (yyuserAction): Modify to allow incremental move of semantic values
-       to rhs array when in GLR mode.
-       Define YYFILL to use in user-defined actions to fill semantic array
-       as needed.
-       Remove dummy use of yystack, as there is now a guaranteed use.
-       (yydoAction): Modify to allow incremental move of semantic values
-       to rhs array when in GLR mode.
-       (yyresolveAction): Ditto.
-       (yyglrShiftDefer): Update comment.
-       (yyresolveStates): Use X == NULL for pointers, not !X.
-       (yyglrReduce): Ditto.
-       (yydoAction): Ditto
-
-       * tests/glr-regr1.at: Rename to ...
-       * tests/glr-regression.at: Add new regression test for the problems
-       described above (adapted from S. Eken).
-       Update copyright notice.
-       * tests/testsuite.at: Rename glr-regr1.at to glr-regression.at.
-       * tests/Makefile.am: Ditto.
-
-2003-01-28  Paul Eggert  <eggert@twinsun.com>
-
-       * data/lalr1.cc: Do not use @output_header_name@ unless
-       b4_defines_flag is set.  This fixes two bugs reported by
-       Tim Van Holder in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00071.html>
-       and <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00073.html>.
-
-2003-01-21  Paul Eggert  <eggert@twinsun.com>
-
-       * data/yacc.c (YYERROR): Move code from yyerrlab1 to here, so that
-       we don't need to worry about yyerrlab1 being reported as an
-       "unused label" by non-GCC C compilers.  The downside is that if
-       locations are used then a couple of statements are duplicated each
-       time YYERROR is invoked, but the upside is that the warnings
-       should vanish.
-       (yyerrlab1): Move code to YERROR.
-       (yyerrlab2): Remove.  Change uses back to yyerrlab1.
-       This reverts some of the 2002-12-27 change.
-
-2003-01-17  Paul Eggert  <eggert@twinsun.com>
-
-       * src/output.c (symbol_printers_output): Fix typo that led
-       to core dump.  Problem reported by Antonio Rus in
-       <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00058.html>.
-
-2003-01-13  Akim Demaille  <akim@epita.fr>,
-               Quoc Peyrot <chojin@lrde.epita.fr>,
-               Robert Anisko <anisko_r@lrde.epita.fr>
-
-       * data/lalr1.cc (parse::yyerrlab1): When popping the stack, stop
-       when the stacks contain one element, as the loop would otherwise
-       free the last state, and then use the top state (the one we just
-       popped).  This means that the initial elements will not be freed
-       explicitly, as is the case in yacc.c; it is not a problem, as
-       these elements have fake values.
-
-2003-01-11  Paul Eggert  <eggert@twinsun.com>
-
-       * NEWS: %expect-violations are now just warnings, reverting
-       to Bison 1.30 and 1.75 behavior.  This fixes the GCC 3.2
-       bootstrapping problem reported by Matthias Klose; see
-       <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00053.html>.
-       * src/conflicts.c (conflicts_print): Likewise.
-       * tests/conflicts.at (%expect not enough, %expect too much,
-       %expect with reduce conflicts): Likewise.
-       * doc/bison.texinfo (Expect Decl): Document this.  Also mention
-       that the warning is enabled if the number of conflicts changes
-       (not necessarily increases).
-
-       * src/getargs.c (version): Update copyright year.
-
-2003-01-09  Akim Demaille  <akim@epita.fr>
-
-       * src/Makefile.am, lib/Makefile.am: Use $(VAR) instead of @VAR@.
-
-2003-01-08  Paul Eggert  <eggert@twinsun.com>
-
-       * Makefile.maint (WGETFLAGS):
-       New macro, containing "-C off" to disable proxy caches.
-       All uses of $(WGET) changed to $(WGET) $(WGETFLAGS).
-       (rel-check): Use $(WGET) instead of wget.
-
-2003-01-06  Paul Eggert  <eggert@twinsun.com>
-
-       * doc/bison.texinfo (Generalized LR Parsing): Add a reference to
-       the GLR paper of Scott, Johnstone and Hussain.
-
-2003-01-04  Paul Eggert  <eggert@twinsun.com>
-
-       * configure.ac (AC_ARG_ENABLE): Add --disable-yacc.
-       (YACC_SCRIPT, YACC_LIBRARY): New vars to AC_SUBST.
-       * lib/Makefile.am (lib_LIBRARIES): liby.a -> @YACC_LIBRARY@.
-       (EXTRA_LIBRARIES): New var, for liby.a.
-       * src/Makefile.am (bin_SCRIPTS): yacc -> @YACC_SCRIPT@.
-       (EXTRA_SCRIPTS): New var, for yacc.
-
-       * data/yacc.c (yyerrlab1): Omit attribute if __cplusplus is defined,
-       since GNU C++ (as of 3.2.1) does not allow attributes on labels.
-       Problem reported by Nelson H. F. Beebe.
-
-2003-01-03  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/obstack.h (__INT_TO_PTR) [__STDC__]: Cast result to
-       (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
-       when compiling Bison 1.875's `bitset bset = obstack_alloc
-       (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
-
-       * src/scan-skel.l (QPUTS): Omit redundant `;' from macro definition.
-       ([^@\n]): Renamed from [^@\n]+ so that the token buffer does not
-       grow to a huge size with typical invocation.
-
-       * lib/hash.c (_Bool, bool, false, true, __bool_true_false_are_defined):
-       Use the pattern recommended by Autoconf 2.57, except also protect
-       against double-definition.
-       * src/system.h: Likewise.
-       Portability issues reported by Nelson H. F. Beebe.
-
-       * data/glr.c (yybool): Renamed from bool, to avoid collisions in C.
-       All uses changed.  Provide a definition in both C and C++.
-       (yytrue, yyfalse): Define even if defined (__cplusplus).
-
-       * lib/bitset_stats.c (bitset_stats_list): Remove unused var.
-       Reported by Nelson H. F. Beebe.
-
-       * src/scan-skel.l ("@oline@"): Output lineno+1, not lineno.
-
-2003-01-02  Paul Eggert  <eggert@twinsun.com>
-
-       * data/yacc.c (yyerrlab1): Append `;' after attribute, to
-       pacify the buggy "smart preprocessor" in MacOS 10.2.3.
-       Bug reported by Nelson H. F. Beebe.
-
-2003-01-01  Paul Eggert  <eggert@twinsun.com>
-
-       * Version 1.875.
-
-2002-12-30  Paul Eggert  <eggert@twinsun.com>
-
-       * src/scan-gram.l (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>","):
-       Moved here from...
-       (<INITIAL>","): Here.  This causes stray "," to be treated
-       more uniformly.
-
-       * src/scan-gram.l (<SC_BRACED_CODE>"}"): Output ";" before the
-       last brace in braced code when not in Yacc mode, for compatibility
-       with Bison 1.35.  This resurrects the 2001-12-15 patch to
-       src/reader.c.
-
-       * src/reader.h (YYDECL): Use YYSTYPE, not its deprecated alias
-       yystype.  This follows up the 2002-12-24 YYSTYPE bug fix.
-
-2002-12-28  Paul Eggert  <eggert@twinsun.com>
-
-       * src/symtab.c (symbol_make_alias): Set type of SYMVAL to be
-       that of SYM's type.  This fixes Debian bug 168069, reported by
-       Thomas Olsson.
-
-2002-12-28  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.75f.
-
-       Switch back to the Yacc style of conflict reports, undoing some
-       of the 2002-07-30 change.
-       * doc/bison.texinfo (Understanding): Use Yacc style for
-       conflict reports.  Also, use new way of locating rules.
-       * src/conflicts.c (conflict_report):
-       Renamed from conflict_report_yacc, removing the old
-       'conflict_report'.  Translate the entire conflict report at once,
-       so that we don't assume that "," has the same interpretation in
-       all languages.
-       (conflicts_output): Use Yacc-style conflict report for each state,
-       instead of our more-complicated style.
-       (conflicts_print): Use Yacc-style conflict report, except print
-       the input file name when not emulating Yacc.
-       * tests/conflicts.at (Unresolved SR Conflicts, Defaulted
-       Conflicted Reduction, %expect not enough, %expect too much,
-       %expect with reduce conflicts): Switch to Yacc-style conflict reports.
-       * tests/existing.at (GNU Cim Grammar): Likewise.
-       * tests/glr-regr1.at (Badly Collapsed GLR States): Likewise.
-
-       * src/complain.c (warn_at, warn, complain_at, complain, fatal_at,
-       fatal): Don't invoke fflush; it's not needed and it might even be
-       harmful for stdout, as stdout might not be open.
-       * src/reduce.c (reduce_print): Likewise.
-
-2002-12-27  Paul Eggert  <eggert@twinsun.com>
-
-       Fix a bug where error locations were not being recorded correctly.
-       This problem was originally reported by Paul Hilfinger in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00086.html>.
-
-       * data/yacc.c (yyparse): New local var yylerrsp, to record the
-       top of the location stack's error locations.
-       (yyerrlab): Set it.  When discarding a token, push its location
-       onto yylerrsp so that we don't lose track of the error's end.
-       (yyerrlab1): Now is only the target of YYERROR, so that we can
-       properly record the location of the action that failed.  For GCC
-       2.93 and later, insert an __attribute__ ((__unused__)) to avoid
-       GCC warning about yyerrlab1 being unused if YYERROR is unused.
-       (yyerrlab2): New label, which yyerrlab now falls through to.
-       Compute the error's location by applying YYLLOC_DEFAULT to
-       the locations of all the symbols that went into the error.
-       * doc/bison.texinfo (Location Default Action): Mention that
-       YYLLOC_DEFAULT is also invoked for syntax errors.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
-       Error locations include the locations of all the tokens that were
-       discarded, not just the last token.
-
-2002-12-26  Paul Eggert  <eggert@twinsun.com>
-
-       * src/files.c: Include quote.h.
-       (compute_output_file_names): Warn if we detect conflicting
-       outputs to the same file.  This should catch the misunderstanding
-       exemplified by Debian Bug 165349, reported by Bruce Stephens..
-
-       * src/conflicts.c (conflicts_print): If the user specifies
-       "%expect N", report an error if there are any reduce/reduce
-       conflicts.  This is what the manual says should happen.
-       This fixes Debian bug 130890, reported by Anthony DeRobertis.
-       * tests/conflicts.at (%expect with reduce conflicts): New test.
-
-       Don't use m4_include on relative file names, as it doesn't work as
-       desired if there happens to be a file with that name under ".".
-
-       * m4sugar/version.m4: Remove; it was included but it wasn't used.
-       * data/Makefile.am (dist_m4sugar_DATA): Remove m4sugar/version.m4.
-       * data/m4sugar/m4sugar.m4: Don't include m4sugar/version.m4.
-       * data/glr.c, data/lalr1.cc, data/yacc.c: Don't include c.m4.
-       * src/output.c (output_skeleton): Use full path names when
-       specifying a file to include; don't rely on include path, as
-       it's unreliable when the working file contains a file with
-       that name.
-
-2002-12-25  Paul Eggert  <eggert@twinsun.com>
-
-       Remove obsolete references to bison.simple and bison.hairy.
-       Problem mentioned by Aubin Mahe in
-       <http://lists.gnu.org/archive/html/help-bison/2002-12/msg00010.html>.
-       * data/glr.c: Comment fix.
-       * doc/bison.1: Remove references.  Also, mention "yacc".
-
-       * src/getargs.c (getargs) [MSDOS]: Don't assume optarg != NULL
-       with -g option.
-
-       * src/parse-gram.y (declaration): Use enum "report_states" rather
-       than its numeric value 1.
-
-       * src/scan-skel.l ("@output ".*\n): Close any old yyout before
-       opening a new one.  This fixes Debian bug 165349, reported by
-       Bruce Stephens.
-
-2002-12-24  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.75e.
-
-       * Makefile.maint (cvs-update): Don't assume that the shell
-       supports $(...), as Solaris sh doesn't.
-
-       * src/parse-gram.y (lloc_default): Remove test for empty
-       nonterminals at the end, since it didn't change the result.
-
-2002-12-24  Paul Eggert  <eggert@twinsun.com>
-
-       If the user does not define YYSTYPE as a macro, Bison now declares it
-       using typedef instead of defining it as a macro.  POSIX requires this.
-       For consistency, YYLTYPE is also declared instead of defined.
-
-       %union directives can now have a tag before the `{', e.g., the
-       directive `%union foo {...}' now generates the C code
-       `typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
-       The default union tag is `YYSTYPE', for compatibility with Solaris 9
-       Yacc.  For consistency, YYLTYPE's struct tag is now `YYLTYPE'
-       instead of `yyltype'.
-
-       `yystype' and `yyltype' are now obsolescent macros instead of being
-       typedefs or tags; they are no longer documented and will be
-       withdrawn in a future release.
-
-       * data/glr.c (b4_location_type): Remove.
-       (YYSTYPE): Renamed from yystype.
-       (YYSTYPE_IS_DECLARED): New macro, used to prevent double-typedef.
-       (struct YYLTYPE): Renamed from struct yyltype.
-       (YYLTYPE): Renamed from yyltype.
-       (yyltype, yystype): New (and obsolescent) macros,
-       for backward compatibility.
-       * data/yacc.c: Likewise.
-
-       * data/yacc.c (YYSTYPE): Declare as union YYSTYPE if the user
-       does not specify a union tag.  This is for compatibility with
-       Solaris 9 yacc.
-
-       * src/parse-gram.y (add_param): 2nd arg is now char * not char
-       const *, since it is now modified by stripping surrounding { }.
-       (current_braced_code): Remove.
-       (PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_UNION,
-       PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Change names to include
-       trailing " {...}".  Now of type <chars>.
-       (grammar_declaration): Adjust to bundled tokens.
-       (code_content): Remove; stripping is now done by add_param.
-       (print_token_value): Print contents of bundled tokens.
-       (token_name): New function.
-
-       * src/reader.h (braced_code, current_braced_code): Remove.
-       (token_name): New decl.
-
-       * src/scan-gram.l (handle_dollar, handle_at): Now takes int
-       token_type, not braced_code code_kind.  All uses changed.
-       (SC_PRE_CODE): New state, for scanning after a keyword that
-       has (or usually has) an immediately-following braced code.
-       (token_type): New local var, to keep track of which token type
-       to return when scanning braced code.
-       (<INITIAL>"%destructor", <INITIAL>"%lex-param",
-       <INITIAL>"%parse-param", <INITIAL>"%printer",
-       <INITIAL>"%union"): Set token type and BEGIN SC_PRE_CODE
-       instead of returning a token type immediately.
-       (<INITIAL>"{"): Set token type.
-       (<SC_BRACED_CODE>"}"): Use it.
-       (handle_action_dollar, handle_action_at): Now returns bool
-       indicating success.  Fail if ! current_rule; this prevents a core dump.
-       (handle_symbol_code_dollar, handle_symbol_code_at):
-       Remove; merge body into caller.
-       (handle_dollar, handle_at): Complain in invalid contexts.
-
-       * NEWS, doc/bison.texinfo: Document the above.
-       * NEWS: Fix years and program names in copyright notice.
-
-2002-12-17  Paul Eggert  <eggert@twinsun.com>
-
-       * NEWS, doc/bison.texinfo (Parser Function, Pure Calling, Error
-       Reporting, Table of Symbols): Omit mentions of %lex-param and
-       %parse-param from the documentation for now.
-
-2002-12-15  Paul Eggert  <eggert@twinsun.com>
-
-       Undo most of the 2002-11-12 yychar -> yytoken patch, as it broke
-       GCC 3.2.1 (which depends on yychar == YYEMPTY when there is no
-       lookahead symbol, and which sets yychar in parser actions) and it
-       disagreed with the Bison documentation.  Bug
-       reported by Andrew Walrond.
-
-       * data/yacc.c (YYTRANSLATE): Don't check for negative argument,
-       as the caller now does that.
-       (yyclearin, YYBACKUP, yyparse): Use yychar, not yytoken.
-       (YYEMPTY): Parenthesize right hand side, since others use it.
-       (yyparse): Don't assume that our generated code is the only code
-       that sets yychar.
-
-2002-12-13  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.75d.
-
-       POSIX requires a "yacc" command.
-       * src/Makefile.am (bin_SCRIPTS): New macro, for yacc.
-       (MOSTLYCLEANFILES): Add yacc.
-       (yacc): New rule.
-       * doc/bison.texinfo (Invocation, Bison Options): Mention yacc
-       as an alias for bison y.
-
-       * po/LINGUAS: Add da.
-
-       * src/getargs.c (__GNU_LIBRARY__) [lint]: Define to work around
-       problem with latest <getopt.h>.
-       (HACK_FOR___GNU_LIBRARY___PROTOTYPE): New macro.
-
-       * doc/fdl.texi: Upgrade to 1.2.
-       * lib/alloca.c, lib/error.c, lib/getopt.c, lib/getopt.h
-       lib/getopt1.c, lib/gettext.h, lib/memrchr.c, lib/obstack.c,
-       lib/obstack.h, lib/strnlen.c, lib/unlocked-io.h: Sync with
-       gnulib.
-       * config/install-sh: Sync with autotools.
-
-       Fix a bad interaction with flex 2.5.23 reported by Bruce Lilly in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
-       * data/yacc.c (YYLTYPE, struct yyltype): Do not define unless
-       locations are requested.
-       (union yyalloc): Do not depend on YYLTYPE_IS_TRIVIAL unless
-       locations are requested.
-
-2002-12-12  Paul Eggert  <eggert@twinsun.com>
-
-       Remove unportable casts and storage allocation tricks.
-       While we're at it, remove almost all casts, since they
-       usually aren't needed and are a sign of trouble.
-
-       * configure.ac (AC_CHECK_TYPES): Check for uintptr_t.
-
-       * src/derives.c (derives_compute): Do not subtract NTOKENS from
-       the pointer DSET returned by malloc; this isn't portable.
-       Instead, always use DSET[i - NTOKENS] rather than DSET[i].
-       Similarly for DERIVES.
-       * src/lalr.c (set_goto_map): Likewise, for GOTO_MAP and TEMP_MAP.
-       * src/nullable.c (nullable_compute): Likewise, for RSETS and NULLABLE.
-       * src/reduce.c (reduce_grammar_tables): Likewise, for nontermmap
-
-       * src/derives.c (derives_compute): Do not bother invoking
-       int_of_rule_number, since rule numbers are integers.
-
-       * src/files.c (concat2, tr, compute_base_name): Use xmalloc (N)
-       rather than XMALLOC (char, N).
-
-       * src/files.c (filename_split): Rewrite to avoid cast.
-
-       * src/gram.h (symbol_number_as_item_number,
-       item_number_as_symbol_number, rule_number_as_item_number,
-       item_number_as_rule_number):
-       Now inline functions rather than macros, to avoid casts.
-       * src/state.h (state_number_as_int): Likewise.
-       * src/tables.c (state_number_to_vector_number,
-       symbol_number_to_vector_number): Likewise.
-
-       * src/gram.h (int_of_rule_number): Remove; no longer used.
-
-       * src/lalr.c (add_lookback_edge): Use malloc rather than calloc,
-       since the resulting storage is always stored into.
-
-       * src/main.c (alloca) [C_ALLOCA]: Add decl here, the only place
-       where it's needed.
-
-       * src/muscle_tab.c (muscle_m4_output):
-       Now inline.  Return bool, not int.
-       * src/state.c (state_compare): Likewise.
-       * src/symtab.c (symbol_check_defined,
-       symbol_check_alias_consistency, symbol_pack, symbol_translation,
-       hash_compare_symbol, hash_symbol):
-       Likewise.
-       * src/uniqstr.c (uniqstr_print): Likewise.
-       * src/muscle_tab.c (muscle_m4_output_processor):
-       New function, to avoid casts.
-       * src/state.c (state_comparator, stage_hasher): Likewise.
-       * src/symtab.c (symbol_check_defined_processor,
-       symbol_check_alias_consistency_processor, symbol_pack_processor,
-       symbol_translation_processor, hash_symbol_comparator,
-       hash_symbol_hasher): Likewise.
-       * src/uniqstr.c (uniqstr_print_processor): Likewise.
-       * src/muscle_tab.c (muscles_m4_output):
-       Use new functions instead of casting old functions unportably.
-       * src/state.c (state_hash_new): Likewise.
-       * src/symtab.c (symbols_new, symbols_do, symbols_check_defined,
-       symbols_token_translations_init):
-       Likewise.
-       * src/uniqstr.c (uniqstrs_new, hash_initialize, uniqstrs_do): Likewise.
-
-       * src/output.c (GENERATE_MUSCLE_INSERT_TABLE): Use long local
-       var instead of casting to long, to avoid casts.
-       (prepare_states): Use MALLOC rather than alloca, so that we don't
-       have to worry about alloca.
-       * src/state.c (state_hash_lookup): Likewise.
-
-       * src/scan-gram.l (<SC_ESCAPED_CHARACTER>"'"): Use unsigned char
-       local var instead of casting to unsigned char, to avoid casts.
-
-       * src/state.c (TRANSITIONS_ALLOC, ERRS_ALLOC, REDUCTIONS_ALLOC,
-       STATE_ALLOC): Remove.
-       (transitions_new, errs_new, reductions_new, state_new): Use malloc
-       rather than calloc, and use offsetof to avoid allocating slightly
-       too much storage.
-       (state_new): Initialize all members.
-
-       * src/state.c (state_hash): Use unsigned accumulator, not signed.
-
-       * src/symtab.c (symbol_free): Remove; unused.
-       (symbol_get): Remove cast in lhs of assignment.
-       (symbols_do): Now static.  Accept generic arguments, not
-       hashing-related ones.
-
-       * src/symtab.h: (NUMBER_UNDEFINED): Remove unnecessary cast.
-       (symbol_processor): Remove.
-       (symbols_do): Remove decl; now static.
-
-       * src/system.h (alloca): Remove; decl no longer needed.
-       (<stddef.h>): Include, for offsetof.
-       (<inttypes.>, <stdint.h>): Include if available.
-       (uintptr_t): New type, if system lacks it.
-       (CALLOC, MALLOC, REALLOC): New macros.
-       All uses of XCALLOC, XMALLOC, and XREALLOC changed to use these
-       new macros.
-
-       * src/tables.c (table_size): Now int, to pacify GCC.
-       (table_grow, table_ninf_remap): Use signed table size.
-       (save_row): Don't bother initializing locals when not needed.
-       (default_goto, goto_actions, pack_vector): Remove unnecessary casts.
-       * src/uniqstr.c (hash_compare_uniqstr):  Likewise.
-
-       * src/vcg.h: Correct misspellings.
-
-       * src/vcg_defaults.h (G_CMAX): Now INT_MAX.
-
-
-       * src/getargs.c (getargs): Don't assume EOF == -1.
-
-2002-12-09  Paul Eggert  <eggert@twinsun.com>
-
-       Change identifier spellings to avoid collisions with names
-       that are reserved by POSIX.
-
-       Don't use names ending in _t, since POSIX reserves them.
-       For consistency, remove _e and _s endings -- they're weren't
-       needed to remove ambiguity.  All uses changed.
-       * src/uniqstr.h (uniqstr): Renamed from uniqstr_t, which in
-       turn was just renamed from struniq_t.
-       * src/uniqstr.c (uniqstr_processor): Renamed from struniq_processor,
-       which in turn was just renamed from struniq_processor_t.
-       (hash_compare_uniqstr): Renamed from hash_compare_struniq, which
-       in turn was renamed from hash_compare_struniq_t.
-       * src/LR0.c (struct state_list): Renamed from struct state_list_s.
-       (state_list): Renamed from state_list_t.
-       * src/assoc.h (assoc): Renamed from assoc_t.
-       * src/conflicts.c (enum conflict_resolution): Renamed from
-       enum conflict_resolution_e.
-       * src/derives.c (struct rule_list): Renamed from struct rule_list_s.
-       (rule_list): Renamed from rule_list_t.
-       * src/getargs.h (enum trace): Renamed from enum trace_e.
-       (enum report): Renamed from enum report_e.
-       * src/gram.h (item_number): Renamed from item_number_t.
-       (rule_number): Renamed from rule_number_t.
-       (struct rule_s): Remove the "rule_s" part; not used.
-       (rule): Renamed from rule_t.
-       (rule_filter): Renamed from rule_filter_t.
-       * src/lalr.c (struct goto_list): Renamed from struct goto_list_s.
-       (goto_list): Renamed from goto_list_t.
-       * src/lalr.h (goto_number): Renamed from goto_number_t.
-       * src/location.h (location): Renamed from location_t.
-       * src/muscle_tab.c (muscle_entry): Renamed from muscle_entry_t,
-       and moved here from:
-       * src/muscle_tab.h (muscle_entry_t): here.
-       * src/nullable.c (struct rule_list): Renamed from struct rule_list_s.
-       (rule_list): Renamed from rule_list_t.
-       * src/print_graph.c (static_graph): Renamed from graph.
-       * src/reader.h (braced_code): Renamed from braced_code_t.
-       Remove brace_code_e tag.
-       * src/relation.h (relation_node): Renamed from relation_node_t.
-       (relation_nodes): Renamed from relation_nodes_t.
-       (relation): Renamed from relation_t.
-       * src/state.h (state_number): Renamed from state_number_t.
-       (struct state): Renamed from struct state_s.
-       (state): Renamed from state_t.
-       (transitions): Renamed from transitions_t.  Unused (and
-       misspelled) transtion_s tag removed.
-       (errs): Renamed from errs_t.  Unused errs_s tag removed.
-       (reductions): Renamed from reductions_t.  Unused tag
-       reductions_s removed.
-       * src/symlist.h (symbol_list): Renamed from symbol_list_t.
-       (struct symbol_list): Renamed from struct symbol_list_s.
-       * src/symtab.h (symbol_number): Renamed from symbol_number_t.
-       (struct symbol): Renamed from struct symbol_s.
-       (symbol): Renamed from symbol_t.
-       * src/tables.c (vector_number): Renamed from vector_number_t.
-       (action_number): Renamed from action_t.
-       * src/tables.h (base_number): Renamed from base_t.
-       * src/vcg.h (enum color): Renamed from enum color_e.
-       (enum textmode): Renamed from enum textmode_e.
-       (enum shape): Renamed from enum shape_e.
-       (struct colorentry): Renamed from struct colorentry_s.
-       (struct classname): Renamed from struct classname_s.
-       (struct infoname): Renamed from struct infoname_s.
-       (enum layoutalgorithm): Renamed from enum layoutalgorithm_e.
-       (enum decision): Renamed from enum decision_e.
-       (enum orientation): Renamed from enum orientation_e.
-       (enum alignment): Renamed from enum alignment_e.
-       (enum arrow_mode): Renamed from enum arrow_mode_e.
-       (enum crossing_type): Renamed from enum crossing_type_e.
-       (enum view): Renamed from enum view_e.
-       (struct node): Renamed from struct node_s.
-       (node): Renamed from node_t.
-       (enum linestyle): Renamed from enum linestyle_e.
-       (enum arrowstyle): Renamed from enum arrowstyle_e.
-       (struct edge): Renamed from struct edge.
-       (edge): Renamed from edge_t.
-       (struct graph): Renamed from struct graph_s.
-       (graph): Renamed from graph_t.
-       * tests/calc.at (_AT_DATA_CALC_Y, Simple LALR Calculator):
-       Rename value_t -> value.
-       * tests/input.at (Torturing the Scanner): Rename value_t -> value,
-       value_t_as_yystype -> value_as_yystype.
-
-       Don't include <errno.h> in the mainstream code, since it
-       reserves E[A-Z0-9]* and we want to use symbols like 'EQUALS'.
-       * lib/get-errno.c, lib/get-errno.h: New files.
-       * lib/Makefile.am (libbison_a_SOURCES): Add get-errno.h,
-       get-errno.c.
-       * src/files.c (xfopen, xfclose): Use get_errno instead of errno.
-       * src/output.c (output_skeleton): Likewise.
-       * src/scan-gram.l (<INITIAL>{int}): Use set_errno and get_errno
-       instead of errno.
-       (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>\\x[0-9abcdefABCDEF]+):
-       Likewise.
-       (handle_action_dollar, handle_action_at): Likewise.
-       * src/system.h: Do not include <errno.h>.
-       (TAB_EXT): Renamed from EXT_TAB.
-       (OUTPUT_EXT): Renamed from EXT_OUTPUT.
-
-       Avoid str[a-z]*, since <string.h> reserves that name space.
-       Change all instances of "struniq" in names to "uniqstr", and
-       likewise for "STRUNIQ" and "UNIQSTR".
-       * src/uniqstr.c: Renamed from src/struniq.c.
-       * src/uniqstr.h: Renamed from src/struniq.h.
-       * src/Makefile.am (bison_SOURCES): Adjust to these renamings.
-       * src/files.c (strsuffix): Remove; unused.
-       (concat2): Renamed from stringappend.  Now static.
-       * src/files.h (strsuffix, stringappend): Remove; unused.
-       * src/parse-gram.y (<chars>): Renamed from <string>.
-       (<uniqstr>): Renamed from <struniq>.
-       * src/scan-gram.l (obstack_for_string): Renamed from string_obstack.
-       * src/vcg.h (struct node_s.expand): Renamed from struct node_s.stretch.
-       (struct graph_s.expand): Renamed from struct graph_s.stretch.
-       * src/vcg_defaults.h (G_EXPAND): Renamed from G_STRETCH.
-       (G_LONG_STRAIGHT_PHASE): Renamed from G_STRAIGHT_PHASE.
-       (N_EXPAND): Renamed from N_STRETCH.
-
-       Avoid *_MAX and *_MIN, since <limits.h> reserves that name space.
-       * data/yacc.c (YYSTACK_GAP_MAXIMUM): Renamed from YYSTACK_GAP_MAX.
-       * src/gram.h (ITEM_NUMBER_MAX, ITEM_NUMBER_MIN, RULE_NUMBER_MAX):
-       Remove; unused.
-       * src/lalr.h (GOTO_NUMBER_MAXIMUM): Renamed from GOTO_NUMBER_MAX.
-       * src/state.h (STATE_NUMBER_MAXIMUM): Renamed from STATE_NUMBER_MAX.
-       * src/symtab.h (SYMBOL_NUMBER_MAXIMUM): Renamed from SYMBOL_NUMBER_MAX.
-       * src/tables.c (VECTOR_NUMBER_MAX, VECTOR_NUMBER_MIN): Remove; unused.
-       (BASE_MAXIMUM): Renamed from BASE_MAX.
-       (BASE_MINIMUM): Renamed from BASE_MIN.
-       (ACTION_MAX): Remove; unused.
-       (ACTION_NUMBER_MINIMUM): Renamed from ACTION_MIN.
-       Unnecessary casts removed from above defines.
-
-
-       Fix misspelling in names.
-       * src/vcg.h (enum_alignment_e): Renamed from enum_alignement_e.
-       * src/vcg_defaults.h (G_NODE_ALIGNMENT): Renamed from
-       G_NODE_ALIGNEMENT.
-
-
-       * lib/timevar.c (timevar_report): Renamed from time_report,
-       for consistency with other names.
-       * lib/timevar.h (timevar_report): New decl.
-       * src/system.h (time_report): Remove; decl is now in lib/timevar.h.
-
-
-       Sort include-file uses.
-
-       Reorder all include files under src to be in the order "system.h".
-       then the ../lib include files in angle brackets (alphabetized),
-       then the . include files in double-quotes (alphabetized).  Fix
-       dependency breakages encountered in this process, as follows:
-       * src/closure.h, src/derives.h, src/state.h: Include "gram.h".
-       * src/complain.c: Don't include stdlib.h, string.h _LIBC stuff.
-       * src/state.h: Include "symtab.h".
-
-2002-12-08  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c, data/lalr1.cc, data/yacc.c: Do not use __file__,
-       since this causes problems when __file__ contains character
-       sequences like "@" that are treated specially by src/scan-skel.l.
-       Instead, just use the file's basename.  This fixes the bug
-       reported by Martin Mokrejs in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-12/msg00007.html>.
-
-2002-12-06  Paul Eggert  <eggert@twinsun.com>
-
-       Add support for rules that do not have trailing semicolons, as
-       POSIX requires.  Improve the quality of locations in Bison
-       diagnostics.
-
-       * src/location.c: Include <quotearg.h>.
-       (empty_location): Now const.
-       (location_print): New function.  Follow the recommendation of the
-       GNU Coding Standards for locations that span file boundaries.
-       * src/location.h: Do not include <quotearg.h>; no longer needed.
-       (boundary): New type.
-       (location_t): Use it.  This allows locations to span file boundaries.
-       All member uses changed: file -> start.file or end.file (as needed),
-       first_line -> start.line, first_column -> start.column,
-       last_line -> end.line, last_column -> end.column.
-       (equal_boundaries): New function.
-       (LOCATION_RESET, LOCATION_STEP): Remove.
-       (LOCATION_PRINT): Remove.  All callers changed to use location_print.
-       (empty_location): Now const.
-       (location_print): New decl.
-       * src/parse-gram.y (lloc_default): New function, which handles
-       empty locations more accurately.
-       (YYLLOC_DEFAULT): Use it.
-       (%token COLON): Remove.
-       (%token ID_COLON): New token.
-       (rules): Use it.
-       (declarations, rules): Remove trailing semicolon.
-       (declaration, rules_or_grammar_declaration):
-       Allow empty (";") declaration.
-       (symbol_def): Remove empty actions; no longer needed.
-       (rules_or_grammar_declaration): Remove trailing semicolon.
-       (semi_colon.opt): Remove.
-       * src/reader.h: Include location.h.
-       (scanner_cursor): New decl.
-       * src/reduce.c (nonterminals_reduce): Use warn_at rather than
-       rolling our own.
-       * src/scan-gram.l (YY_USER_INIT): Initialize scanner_cursor instead
-       of *loc.
-       (STEP): Remove.  No longer needed, now that adjust_location does
-       the work.  All uses removed.
-       (scanner_cursor): New var.
-       (adjust_location): Renamed from extend_location.  It now sets
-       *loc and adjusts the scanner cursor.  All uses changed.
-       Don't bother testing for CR.
-       (handle_syncline): Remove location arg; now updates scanner cursor.
-       All callers changed.
-       (unexpected_end_of_file): Now accepts start boundary of token or
-       comment, not location.  All callers changed.  Update scanner cursor,
-       not the location.
-       (SC_AFTER_IDENTIFIER): New state.
-       (context_state): Renamed from c_context.  All uses changed.
-       (id_loc, code_start, token_start): New local vars.
-       (<INITIAL,SC_AFTER_IDENTIFIER>): New initial context.  Move all
-       processing of Yacc white space and equivalents here.
-       (<INITIAL>{id}): Save id_loc.  Begin state SC_AFTER_IDENTIFIER
-       instead of returning ID immediately, since we need to search for
-       a subsequent colon.
-       (<INITIAL>"'", "\""): Save token_start.
-       (<INITIAL>"%{", "{", "%%"): Save code_start.
-       (<SC_AFTER_IDENTIFIER>): New state, looking for a colon.
-       (<SC_YACC_COMMENT>, <SC_COMMENT>, <SC_LINE_COMMENT>):
-       BEGIN context_state at end, not INITIAL.
-       (<SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'",
-       <SC_BRACED_CODE>"}", <SC_PROLOGUE>"%}", <SC_EPILOGUE><<EOF>>):
-       Return correct token start.
-       (<SC_BRACED_CODE,SC_PROLOGUE,SC_EPILOGUE>): Save start boundary when
-       the start of a character, string or multiline comment is found.
-       * tests/conflicts.at (S/R in initial, Defaulted Conflicted
-       Reduction): Adjust reported locations to match the more-precise
-       results now expected.
-       * tests/input.at (Invalid $n, Invalid @n, Type Clashes): Likewise.
-       * tests/reduce.at (Useless Rules, Reduced Automaton,
-       Underivable Rules): Likewise.
-       * tests/regression.at (Invalid inputs): No longer `expecting ";"
-       or "|"' now that so many other tokens are allowed by the new grammar.
-
-       * src/complain.h (current_file): Remove duplicate decl;
-       current_file is now owned by files.h.
-       * src/complain.c, src/scan-gram.l: Include files.h.
-
-2002-12-06  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (yy_reduce_print): Don't assume that yyrline[yyrule]
-       promotes to int; it might be unsigned int.
-       * data/yacc.c (yy_reduce_print): Likewise.
-
-       * doc/bison.texinfo (Table of Symbols): YYERROR_VERBOSE should
-       be #defined in the prologue, not in the Bison declarations.
-       This fixes Debian Bug 102878, reported by Shaul Karl.
-
-2002-12-02  Paul Eggert  <eggert@twinsun.com>
-
-       * configure.ac (AC_REPLACE_FUNCS): Add strtoul.
-       * lib/strtoul.c: New file, from gnulib.
-       This fixes a porting bug reported by Peter Klein in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-12/msg00000.html>.
-
-2002-11-30  Paul Eggert  <eggert@twinsun.com>
-
-       * src/scan-gram.l (no_cr_read, extend_location): Move to epilogue,
-       and put only a forward declaration in the prologue.  This is for
-       consistency with the other scanner helper functions.
-
-       Type clashes now generate warnings, not errors, since it
-       appears that POSIX may allow some grammars with type clashes.
-       * src/reader.c (grammar_current_rule_check): Warn about
-       type clashes instead of complaining.
-       * tests/input.at (Type Clashes): Expect warnings, not complaints.
-
-       Add Yacc library, since POSIX requires it.
-       * doc/bison.texinfo (Yacc Library): New node.  Regenerate top menu.
-       * lib/Makefile.am (lib_LIBRARIES, liby_a_SOURCES): New macros.
-       * lib/main.c, lib/yyerror.c: New files.
-
-       gram_error can be static; it need not be extern.
-       * src/reader.h (gram_error): Remove decl.
-       * src/parse-gram.y (gram_error): Now static.  Add static decl.
-       (print_token_value): Omit parameter names from forward decl,
-       for consistency.
-
-2002-11-29  Paul Eggert  <eggert@twinsun.com>
-
-       * doc/bison.texinfo: Emphasize that yylex and yyerror must
-       be declared before being used.  E.g., one should typically
-       declare them in the prologue.  Use GNU coding style in examples.
-       Put "const" consistently after the type it modifies.  Mention
-       that C99 supports "inline".  Mention that yyerror traditionally
-       returns "int".
-
-       %parse-param and %lex-param now take just one argument, the
-       declaration; the argument name is deduced from the declaration.
-
-       * doc/bison.texinfo (Parser Function, Pure Calling, Error
-       Reporting, Table of Symbols): Document this.
-       * src/parse-gram.y (add_param): New function.
-       (COMMA): Remove.
-       (declaration): Implement new rule for %parse-param and %lex-param.
-       * src/scan-gram.l: "," now elicits a warning, rather than being
-       a token; this is more compatible with byacc.
-       * tests/calc.at (Simple LALR Calculator): Adopt new convention.
-
-2002-11-27  Paul Eggert  <eggert@twinsun.com>
-
-       Rename identifiers to avoid real and potential collisions.
-
-       * data/c.m4 (b4_yysymprint_generate): yyout -> yyoutput,
-       to avoid collision with lex macro described by Bruce Lilly in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.
-       * doc/bison.texinfo (Prologue, Tracing): yyprint -> print_token_value.
-       * src/parse-gram.y (print_token_value): Renamed from yyprint.
-       All uses changed.
-       (YYPARSE_PARAM, YYLEX_PARAM, yycontrol): Remove.  All uses changed.
-       The name "yycontrol" violates the name space rules, and this stuff
-       wasn't being used anyway.
-       (input): Remove action; this stuff wasn't being used.
-       (gram_error): Rename local variable yylloc -> loc.
-       * src/reader.h (struct gram_control_s, gram_control_t): Remove.
-       (YY_DECL): Don't use "yy" at start of local variables.
-       All uses changed, e.g., yylloc -> loc.
-       * src/scan-gram.l (STEP): Renamed from YY_STEP.  All uses changed.
-       (STRING_GROW): Renamed from YY_OBS_GROW.  All uses changed.
-       (STRING_FINISH): Renamed from YY_OBS_FINISH.  All uses changed.
-       (STRING_FREE): Renamed from YY_OBS_FREE.  All uses changed.
-
-       * src/parse-gram.y (gram_error): loc is now const *.
-       * src/reader.h (gram_error): Likewise.
-
-2002-11-24  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.75c.
-
-       * tests/actions.at (Actions after errors): Use an output format
-       more similar to that of the Printers and Destructors test.
-       Test the position of the ';' token too.
-       (Printers and Destructors): Likewise.
-       (Printers and Destructors: %glr-parser): Remove for now, to avoid
-       unnecessarily alarming people when the test fails.
-
-       * data/yacc.c (yyerrlab1): Move this label down, so that the
-       parser does not discard the lookahead token if the user code
-       invokes YYERROR.  This change is required for POSIX conformance.
-
-       * lib/error.c: Sync with gnulib.
-
-2002-11-22  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/quotearg.c, lib/quotearg.h: Sync with gnulib.
-       * lib/mbswidth.c, lib/mbswidth.h: Likewise.
-       * lib/xmalloc.c: Likewise.
-
-2002-11-20  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/argmatch.c, lib/argmatch.h: Sync with gnulib.
-
-2002-11-20  Paul Eggert  <eggert@twinsun.com>
-
-       Avoid use of <assert.h>, as the GNU Coding Standards hint that one
-       should use `if (! x) abort ();' rather than `assert (x);', and
-       anyway it's one less thing to worry about configuring.
-
-       * data/glr.c, lib/hash.c, src/system.h: Do not include <assert.h>.
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise,
-       and replace all instances of assert with abort.
-       * tests/calc.at (_AT_DATA_CALC_Y): Likewise.
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Likewise.
-
-       * data/glr.c (yydoAction, yyglrReduce, yysplitStack, yyresolveStates,
-       yyresolveAction, yyprocessOneStack): Use abort rather than assert.
-       * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
-       hash_find_entry, hash_rehash, hash_insert): Likewise.
-       * src/conflicts.c (resolve_sr_conflict): Likewise.
-       * src/lalr.c (set_goto_map, map_goto): Likewise.
-       * src/nullable.c (nullable_compute): Likewise.
-       * src/output.c (prepare_rules, token_definitions_output): Likewise.
-       * src/reader.c (packgram, reader): Likewise.
-       * src/state.c (state_new, state_free, state_transitions_set,
-       state_reduction_find): Likewise.
-       * src/symtab.c (symbol_user_token_number_set, symbol_make_alias,
-       symbol_pack): Likewise.
-       * src/tables.c (conflict_row, pack_vector): Likewise.
-       * src/vcg.c (get_color_str, get_textmode_str, get_shape_str,
-       get_layoutalgorithm_str, get_decision_str, get_orientation_str,
-       get_node_alignement_str, get_arrow_mode_str, get_crossing_type_str,
-       get_view_str, get_linestyle_str, get_arrowstyle_str): Likewise.
-
-       * lib/argmatch.h (ARRAY_CARDINALITY): Do not bother to #undef.
-       (ARGMATCH_CONSTRAINT): New macro.
-       (ARGMATCH_ASSERT): Use it.
-
-       * src/system.h (verify): New macro.
-       * src/getargs.c (trace_argmatch, report_argmatch): Use verify
-       rather than assert.
-       * src/tables.c (tables_generate): Likewise.
-
-       * src/struniq.c (struniq_assert): Now returns void, and aborts
-       if the assertion is false.
-       (struniq_assert_p): Remove.
-       * src/struniq.h: Likewise.
-
-2002-11-18  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (yygetLRActions): Replace `yyindex' with
-       `yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch.
-       This fixes the regression with Sun ONE Studio 7 cc that I reported in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00077.html>.
-
-2002-11-18  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Tracing): `yyprint' shouldn't prepend a
-       space.
-       From Tim Van Holder.
-
-2002-11-17  Paul Eggert  <eggert@twinsun.com>
-
-       Pacify Sun ONE Studio 7 lint.  Also, rename "ParseError"
-       to "SyntaxError" for consistency with my 2002-11-15 change.
-
-       * data/glr.c (YYDPRINTF, YYDSYMPRINT, YYDSYMPRINTF) [!YYDEBUG]: Do
-       not define to {}, since this breaks the common use of `YYDPRINTF
-       ((...));' if a single statement is desired (e.g. before `else').
-       Work around GCC warnings by surrounding corresponding calls with
-       {} if needed.
-       (yyhasResolvedValue): Remove unused function.
-       (yymergeOptionSets, yyresolvStack): Use `continue;' for empty
-       loop body.
-       (yyreportSyntaxError): Renamed from yyreportParseError.
-       (yyrecoverSyntaxError): Renamed from yyrecoverParseError.
-       All uses changed.
-       * tests/calc.at (_AT_DATA_CALC_Y): Make vars static instead of
-       extern when possible.  Remove unused initializations.
-
-2002-11-16  Akim Demaille  <akim@epita.fr>
-
-       Augment the similarity between GLR and LALR traces.
-
-       * data/yacc.c (yy_stack_print, YY_STACK_PRINT, yy_reduce_print)
-       (YY_REDUCE_PRINT): New.
-       (yyparse): Use them.
-       * data/glr.c (yy_reduce_print): Use YYFPRINTF, no need for
-       YYDPRINT here.
-       (yyglrReduce, yyrecoverParseError, yyparse): Don't report the
-       state reached after the reduction/recovery, since...
-       (yyparse, yyprocessOneStack): Report the state we are entering in.
-
-2002-11-16  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.h, src/getargs.c (trace_e, trace_args, trace_types):
-       Add support for --trace=skeleton.
-       * src/scan-skel.l: %option debug.
-       Scan strings of non-@ or \n instead of character by character.
-       (scan_skel): Handle trace_skeleton.
-       (QPUTS): New.
-       (@output_parser_name@, @output_header_name@): ``Restore'' their
-       support (used to be M4 macros).
-       * data/yacc.c: Quote larger chunks, a la glr.c.
-       * data/lalr1.cc: Likewise.
-       The header guards are no longer available, so use some other
-       string than `YYLSP_NEEDED'.
-
-2002-11-16  Akim Demaille  <akim@epita.fr>
-
-       Make the ``Printers and Destructors'' test more verbose, taking
-       `yacc.c''s behavior as (possibly wrong) reference.
-
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use printf
-       instead of fprint on stdout.
-       Set and report the last_line of the symbols.
-       Consistently display values and locations.
-
-2002-11-16  Paul Eggert  <eggert@twinsun.com>
-
-       * data/yacc.c: Avoid over-quoting of __line__ and __file__.
-
-2002-11-15  Paul Eggert  <eggert@twinsun.com>
-
-       * tests/actions.at (Actions after errors): New test case.
-
-       * data/glr.c, data/lalr1.cc, data/yacc.cc, doc/bison.texinfo,
-       src/conflicts.c, src/parse-gram.y, src/tables.c, src/tables.h,
-       tests/action.at, tests/calc.at, tests/conflicts.at,
-       tests/cxx-type.at, tests/regression.at:
-       "parse error" -> "syntax error" for POSIX compatibility.
-       "parsing stack overflow..." -> "parser stack overflow" so
-       that code matches Bison documentation.
-
-2002-11-15  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y (declaration): Have %parse-param and %lex-param
-       take two BRACED_CODE, not two string_content.
-       Free the scanner's obstack when we are done.
-       (code_content): New.
-       * tests/calc.at: Adjust.
-       * doc/bison.texinfo: Adjust.
-       Also, make sure to include the `,' for these declarations.
-
-2002-11-15  Tim Van Holder  <tim.van.holder@pandora.be>
-
-       * m4/prereq.m4: Removed the commented jm_PREREQ_HASH
-       definition; avoids potential autoreconf problems.
-
-2002-11-15  Akim Demaille  <akim@epita.fr>
-
-       Always check the value returned by yyparse.
-
-       * tests/calc.at (_AT_DATA_CALC_Y): Have `main' exit with the value
-       returned by yyparse.
-       (_AT_CHECK_CALC_ERROR): Take the expected exit value as argument.
-       Adjust calls.
-       * tests/glr-regr1.at (glr-regr1.y): Have `main' exit with the value
-       returned by yyparse.
-
-2002-11-14  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * data/glr.c (yyFail): Always set yyerrflag.  Corrects regression
-       on input.at test.
-
-2002-11-14  Paul Eggert  <eggert@twinsun.com>
-
-       * src/output.c (output_skeleton): Call xfopen instead of
-       duplicating xfopen's body.
-
-       Fix bugs reported by Nelson H. F. Beebe in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00078.html>.
-
-       * tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that
-       "$CC -E foo.h" is allowed, as this doesn't work with the Portland
-       Group compiler.  Instead, use "$CC -E bar.c".  Include the .h
-       file twice in the grammar, as an extra check.
-
-       * tests/input.at (Torturing the Scanner): Surround the
-       backslash-newline tests with "#if 0", to make it less likely that
-       we'll run into compiler bugs.  Bring back solitary \ inside
-       comment, but add a closing comment to work around HP C bug.  Don't
-       test backslash-newline in C character constant.
-
-2002-11-14  Akim Demaille  <akim@epita.fr>
-
-       * tests/synclines.at (AT_SYNCLINES_COMPILE): Ignore the exit
-       status of the compiler.
-       Calling `exit 1' is no longer needed.
-       Reported by Nelson H. F. Beebe.
-
-2002-11-14  Akim Demaille  <akim@epita.fr>
-
-       * tests/atlocal.in (CPPFLAGS): We have config.h.
-       * tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR):
-       New.
-       * tests/actions.at, tests/calc.at, tests/conflicts.at,
-       * tests/cxx-type.at, tests/glr-regr1.at, tests/headers.at,
-       * tests/regression.at, tests/torture.at: Use them for all the
-       grammars that are to be compiled.
-       * tests/cxx-type.at (_AT_TEST_GLR_CALC): Rename as...
-       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): this.
-       * doc/bison.texinfo (GLR Parsers): Document `inline'.
-
-2002-11-14  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Various formatting changes (alignments in
-       samples, additional @group/@end group, GCS in samples.
-       Use @deffn instead of simple @table to define the directives,
-       macros, variables etc.
-
-2002-11-13  Paul Eggert  <eggert@twinsun.com>
-
-       Fix some bugs reported by Albert Chin-A-Young in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00066.html>.
-
-       * tests/input.at (Torturing the Scanner): Don't invoke "cc a.c b.c
-       -o c"; the HP C compiler chatters during compilation.
-       Instead, invoke "cc -c a.c -o a.o; cc -c b.c -o b.o; cc a.o b.o -o c".
-       * tests/headers.at (export YYLTYPE): Likewise.
-
-       * tests/input.at (Torturing the Scanner): Remove lines containing
-       solitary backslashes, as they tickle a bug in the HP C compiler.
-
-       * tests/glr-regr1.at (Badly Collapsed GLR States): Avoid //
-       comments, since they're not portable.  Use GNU coding style.
-
-2002-11-13  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c: Leave bigger chunks of quoted text.
-       (YYDSYMPRINTF): New.
-       Use it to report symbol activities.
-       * data/glr.c (YYDSYMPRINTF): New.
-       Use it.
-
-2002-11-12  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.75b.
-
-       * data/glr.c (yydoAction): Return YYRESULTTAG, not int.
-       (yyglrReduce): Return yyok, not 0.
-       This should avoid the enumerated-type warnings reported
-       by Nelson H. F. Beebe in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00057.html>.
-
-       * lib/bbitset.h (BITSET_INLINE): Remove.
-       * lib/bitset.h [! BITSET_INLINE]: Remove.
-       (bitset_set, bitset_reset, bitset_test): Rename local vars
-       to avoid shadowing warnings by GCC.
-
-       * data/glr.c (inline): Remove #define.  It's the user's
-       responsibility to #define it away, just like 'const'.
-       This fixes one of the bugs reported by Nelson H. F. Beebe in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00058.html>.
-
-       * Makefile.maint (po-check): Scan .l and .y files instead of the
-       .c and the .h files that they generate.  This fixes the bug
-       reported by Tim Van Holder in:
-       <http://lists.gnu.org/archive/html/bison-patches/2002-11/msg00062.html>
-       Look for N_ as well as for _.  Try to avoid matching #define for
-       N_ and _.
-       * po/POTFILES.in: Remove src/parse-gram.c, src/scan-gram.c,
-       src/system.h.  Add src/parse-gram.y, src/scan-gram.l.
-       * src/scan-gram.l: Revamp regular expressions so that " and '
-       do not confuse xgettext.
-
-       * src/struniq.h (struniq_new): Do not declare the return type
-       to be 'const'; this violates the C standard.
-       * src/struniq.c (struniq_new): Likewise.
-
-2002-11-12  Albert Chin-A-Young <china@thewrittenword.com>
-
-       * src/Makefile.am (LDADD): Link $(LIBINTL) last to avoid the
-       duplicate definition of optind on Tru64 UNIX 4.0D with the Compaq
-       linker.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.maint: Sync with Autoconf:
-       (local_updates): New.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * po/POTFILES.in (src/lalr.c, src/state.c): Remove
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Display the
-       locations.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_yysymprint_generate): Pass *yyvaluep to YYPRINT,
-       not yyvalue.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * tests/actions.at (AT_CHECK_PRINTER_AND_DESTRUCTOR): New.
-       Use it to test the GLR parser.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (input.y): s/YYEOF/MYEOF/, as the skeleton
-       defines it.
-       * data/glr.c (yystos): New.
-       (b4_yysymprint_generate, b4_yydestruct_generate): Invoke.
-       (YYDSYMPRINT): New.
-       (yyval): Don't define it, it is handled via M4.
-       (yyrecoverParseError): Free verbosely the discarded symbols.
-       * data/yacc.c (yysymprint): Remove, rather...
-       (b4_yysymprint_generate): invoke.
-       * data/c.m4 (b4_yysymprint_generate): New.
-       Accept pointers as arguments, as opposed to the version from
-       yacc.c.
-       (b4_yydestruct_generate): Likewise.
-       * tests/cations.at (Printers and Destructors): Use Bison directives
-       instead of CPP macros.
-       Don't rely on internal details.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_yydestruct_generate, b4_symbol_actions): New.
-       * data/yacc.c: Rename yychar1 as yytoken, as in glr.c.
-       Don't work on yychar (i.e., do set it to YYEMPTY, don't match
-       it against YYEMPTY and so forth), work on yytoken (i.e., set
-       it to YYEMPTY etc.).
-       (yydestruct): Replace with a b4_yydestruct_generate invocation.
-       (b4_symbol_actions): Remove.
-       * data/glr.c (YYTRANSLATE): As for yacc.c, if negative, it stands
-       for 0, end-of-input.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Destructor Decl): New.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/tables.c (tables_generate): Use free for pointers that
-       cannot be NULL, not XFREE.
-       (pack_vector): Use assert, not fatal, for bound violations.
-       * src/state.c (state_new): Likewise.
-       * src/reader.c (reader): Likewise.
-       * src/lalr.c (set_goto_map): Likewise.
-       * src/location.h (LOCATION_PRINT): If first_line is 0, just issue
-       the file name.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l, src/reader.h (scanner_last_string_free):
-       Restore.
-       * src/scan-gram.l (last_string): Is global to the file, not to
-       yylex.
-       * src/parse-gram.y (input): Don't append the epilogue here,
-       (epilogue.opt): do it here, and free the scanner's obstack.
-       * src/reader.c (epilogue_set): Rename as...
-       (epilogue_augment): this.
-       * data/c.m4 (b4_epilogue): Defaults to empty.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (long_options): Remove duplicates.
-       * src/vmsgetargs.c, src/build.com, src/bison.cld, src/vmshlp.mar:
-       Remove.
-       * doc/bison.rnh: Remove.
-       * doc/bison.texinfo (VMS Invocation): Remove.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/struniq.h, src/struniq.c (struniq_t): Is const.
-       (STRUNIQ_EQ, struniq_assert, struniq_assert_p): New.
-
-       Use struniq for symbols.
-
-       * src/symtab.h (symbol_t): The tag member is a struniq.
-       (symbol_type_set): Adjust.
-       * src/symtab.c (symbol_new): Takes a struniq.
-       (symbol_free): Don't free the tag member.
-       (hash_compare_symbol_t, hash_symbol_t): Rename as...
-       (hash_compare_symbol, hash_symbol): these.
-       Use the fact that tags as struniqs.
-       (symbol_get): Use struniq_new.
-       * src/symlist.h, src/symlist.c (symbol_list_n_type_name_get):
-       Returns a strniq.
-       * src/reader.h (merger_list, grammar_currentmerge_set): The name
-       and type members are struniqs.
-       * src/reader.c (get_merge_function)
-       (grammar_current_rule_merge_set): Adjust.
-       (TYPE, current_type): Are struniq.
-
-       Use struniq for file names.
-
-       * src/files.h, src/files.c (infile): Split into...
-       (grammar_file, current_file): these.
-       * src/scan-gram.c (YY_USER_INIT, handle_syncline): Adjust.
-       * src/reduce.c (reduce_print): Likewise.
-       * src/getargs.c (getargs): Likewise.
-       * src/complain.h, src/complain.c: Likewise.
-       * src/main.c (main): Call struniqs_new early enough to use it for
-       file names.
-       Don't free the input file name.
-
-2002-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.c (symbol_free): Remove dead deactivated code:
-       type_name are properly removed.
-       Don't use XFREE to free items that cannot be NULL.
-       * src/struniq.h, src/struniq.c: New.
-       * src/main.c (main): Initialize/free struniqs.
-       * src/parse-gram.y (%union): Add astruniq member.
-       (yyprint): Adjust.
-       * src/scan-gram.l (<{tag}>): Return a struniq.
-       Free the obstack bit that used to store it.
-       * src/symtab.h (symbol_t): The 'type_name' member is a struniq.
-
-2002-11-11  Paul Eggert  <eggert@twinsun.com>
-
-       Revamp to fix many (but not all) of the C- and M4-related quoting
-       problems.  Among other things, this fixes the Bison bug reported
-       by Jan Hubicka when processing the Bash grammar; see:
-       <http://lists.gnu.org/archive/html/bison-patches/2002-11/msg00039.html>
-
-       Use new @ escapes consistently.  Represent brackets with @{ and @}
-       rather than @<:@ and @:>@, since this works a bit better with dumb
-       editors like vi.  Represent @ with @@, since @ is now consistently
-       an escape.  Use @oline@ and @ofile@ rather than __oline__ and
-       __ofile__, to avoid unexpected expansions.  Similarly, use @output
-       rather than #output.
-
-       * data/c.m4 (b4_copyright): Omit file name from comment, since
-       the file name could contain "*/".
-       (b4_synclines_flag): Don't quote the 2nd argument; it should already
-       be quoted.  All uses changed.
-
-       * data/glr.c: Use new @ escapes consistently.
-       (b4_input_suffix, b4_output_parser_suffix, b4_output_parser_name,
-       b4_output_header_suffix, b4_output_header_name, b4_header_guard):
-       Remove, since they couldn't handle arbitrary characters in file
-       names.
-       * data/lalr1.cc: Likewise.
-       * data/yacc.c: Likewise.
-
-       * src/files.c (output_infix): Remove; all uses removed.
-       * src/files.h: Likewise.
-
-       * data/glr.c: Remove use of "#ifdef b4_header_guard", since it
-       mishandled funny characters in file names, and anyway it isn't
-       needed any more.
-       * data/yacc.c: Likewise.
-       * data/lalr1.cc: Use YYSLP_NEEDED instead of b4_header_guard.
-
-       * data/glr.c (YYSTYPE_IS_TRIVIAL): Define when the .h file would.
-       * data/yacc.c: Likewise.
-
-       * src/muscle_tab.c: Include quotearg.h, since we need to quote C
-       strings now.
-       (muscle_init): Quote filename as a C string.
-       * src/muscle_tab.h (MUSCLE_GROW_STRING_PAIR): Remove; unused.
-       (MUSCLE_OBSTACK_SGROW, MUSCLE_INSERT_C_STRING): New macros.
-       * src/output.c (escaped_file_name_output): New function.
-       (prepare_symbols): Quote tokens for M4.
-       (prepare): Don't insert output_infix, output_prefix,
-       output_parser_name, output_header_name; this is now down by scan-skel.
-       Insert skeleton as a C string.
-
-       * src/output.c (user_actions_output, symbol_destructors_output,
-       symbol_printers_output): Quote filenames for C and M4.
-       * src/reader.c (prologue_augment, epilogue_set): Likewise.
-
-       * src/scan-gram.l (<SC_CHARACTER>): Don't worry about any backslash
-       escapes other than \\ and \'; this simplifies the code.
-       (<SC_STRING>): Likewise, for \\ and \".
-       (<SC_COMMENT,SC_LINE_COMMENT,SC_STRING,SC_CHARACTER,SC_BRACED_CODE,
-       SC_PROLOGUE,SC_EPILOGUE>): Escape $ and @, too.
-       Use new escapes @{ and @} for [ and ].
-
-       * src/scan-skel.l (yylineno, yyoutname): Remove static vars, replacing
-       them with auto vars.
-       Switch to new escape scheme, where @ is the escape character uniformly.
-       Abort if a stray escape character is found.  Avoid unbounded input
-       buffer when parsing non-escaped text.
-
-       * tests/input.at (Torturing the Scanner): Add tests that @oline@,
-       __oline__, #output, $@, and @{ do not have unintended meanings.
-
-2002-11-09  Paul Eggert  <eggert@twinsun.com>
-
-       Fix the test failure due to GCC warnings described in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00000.html>.
-       * data/glr.c (yyis_pact_ninf, yyis_table_ninf): New macros, which
-       evaluate to 0 if it's impossible for NINF to be in the respective
-       table.
-       (yygetLRActions, yyrecoverParseError): Use them.
-
-       * src/scan-gram.l (unexpected_end_of_file): Fix bug: columns were
-       counted in the token inserted at end of file.  Now takes
-       location_t *, not location_t, so that the location can be
-       adjusted.  All uses changed.
-
-       * tests/regression.at (Invalid inputs): Adjust wording in
-       diagnostic to match the new behavior.
-
-       * tests/torture.at (AT_DATA_TRIANGULAR_GRAMMAR,
-       AT_DATA_HORIZONTAL_GRAMMAR, AT_DATA_LOOKAHEADS_GRAMMAR,
-       AT_DATA_STACK_TORTURE): Replace `assert (x);' with `if (! (x))
-       abort ();'.  This reduces the runtime of the "Many lookaheads"
-       test from 27.6 to 2.7 minutes on a 440 MHz Ultrasparc III running
-       GCC 3.2.
-
-2002-11-07  Paul Eggert  <eggert@twinsun.com>
-
-       * src/parse-gram.y (CHARACTER): Remove unused token.
-       All uses removed.
-
-       * src/scan-gram.l: Remove stack option.  We no longer use the
-       stack, since the stack was never deeper than 1; instead, use the
-       new auto var c_context to record the stacked value.
-
-       Remove nounput option.  At an unexpected end of file, we now unput
-       the minimal input necessary to end cleanly; this simplifies the
-       code.
-
-       Avoid unbounded token sizes where this is easy.
-
-       (unexpected_end_of_file): New function.
-       Use it to systematize the error message on unexpected EOF.
-       (last-string): Now auto, not static.
-       (YY_OBS_FREE): Remove unnecessary do while (0) wrapper.
-       (scanner_last_string_free): Remove; not used.
-       (percent_percent_count): Move decl to just before use.
-       (SC_ESCAPED_CHARACTER): Return ID at unexpected end of file,
-       not the (never otherwised-used) CHARACTER.
-
-2002-11-07  Akim Demaille  <akim@epita.fr>
-
-       Let yyerror always receive the msg as last argument, so that
-       yyerror can be variadic.
-
-       * data/yacc.c (b4_yyerror_args): New.
-       Use it when calling yyerror.
-       * data/glr.c (b4_yyerror_args, b4_lyyerror_args): New.
-       Use it when calling yyerror.
-       * doc/bison.texinfo (Error Reporting): Adjust.
-       * tests/calc.at (_AT_DATA_CALC_Y): Adjust.
-       * tests/cxx-type.at (_AT_TEST_GLR_CALC): Adjust.
-
-2002-11-06  Akim Demaille  <akim@epita.fr>
-
-       #line should have quoted strings.
-       Ideally, this should be done by m4_quotearg.
-
-       * src/scan-skel.l: Include quotearg.h.
-       Quote __ofile__.
-       * src/output.c (symbol_printers_output)
-       (symbol_destructors_output): Quote the file name.
-
-2002-11-06  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Invalid inputs): Adjust to the recent
-       messages.
-
-2002-11-06  Akim Demaille  <akim@epita.fr>
-
-       Restore --no-lines.
-       Reported by Jim Kent.
-
-       * data/c.m4 (b4_syncline): New.
-       * data/glr.c, data/yacc.c, data/lalr1.cc: Use it.
-       * src/reader.c (prologue_augment, epilogue_set): Use b4_syncline.
-       * src/output.c (user_actions_output): Likewise.
-       (prepare): Define 'b4_synclines_flag'.
-       * src/muscle_tab.c (muscle_init): Don't define b4_linef.
-
-2002-11-06  Akim Demaille  <akim@epita.fr>
-
-       * src/main.c (main): Free `infile'.
-       * src/scan-gram.l (handle_syncline): New.
-       Recognize `#line'.
-       * src/output.c (user_actions_output, symbol_destructors_output)
-       (symbol_printers_output): Use the location's file name, not
-       infile.
-       * src/reader.c (prologue_augment, epilogue_set): Likewise.
-
-2002-11-05  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * src/tables.c (matching_state): Don't allow states to match if
-       either has GLR conflict entries.
-
-2002-11-05  Paul Eggert  <eggert@twinsun.com>
-
-       * src/scan-gram.l: Use more accurate diagnostics, e.g.
-       "integer out of range" rather than "invalid value".
-       * tests/input.at (Invalid $n, Invalid @n): Change expected wording
-       accordingly.
-
-       Scan <% and %> digraphs in C code as POSIX 1003.1-2001 requires.
-       Also, remove one static variable in the scanner.
-
-       * src/scan-gram.l (braces_level): Now auto, not static.
-       Initialize to zero if the compiler is being picky.
-       (INITIAL): Clear braces_level instead of incrementing it.
-       (SC_BRACED_CODE): Treat <% and %> as { and } when inside C code,
-       as POSIX 1003.1-2001 requires.
-       * src/system.h (IF_LINT): New macro, taken from coreutils.
-       * configure.ac: Define "lint" if --enable-gcc-warnings.
-
-2002-11-05  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l: When it starts with `%', complain about the
-       whole directive, not just that `invalid character: %'.
-
-2002-11-04  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.maint: Update from Autoconf.
-       (update, cvs-update, po-update, do-po-update): New.
-
-2002-11-04  Akim Demaille  <akim@epita.fr>
-
-       * tests/glr-regr1.at (Badly Collapsed GLR States): Prototype yylex
-       and yyerror.
-       Have yyerror `use' its arguments.
-       * tests/calc.at (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF
-       returns true when location & yacc & pure & parse-param.
-       (_AT_DATA_CALC_Y): Let yyerror ``use'' its arguments.
-
-2002-11-04  Akim Demaille  <akim@epita.fr>
-
-       * src/location.h (LOCATION_PRINT): Use quotearg slot 3 to avoid
-       clashes.
-       * src/scan-gram.l: Use [\'] instead of ['] to pacify
-       font-lock-mode.
-       Use complain_at.
-       Use quote, not quote_n since LOCATION_PRINT no longer uses the
-       slot 0.
-
-2002-11-03  Paul Eggert  <eggert@twinsun.com>
-
-       * src/reader.c (get_merge_function, grammar_current_rule_check):
-       Use consistent diagnostics for reporting type name clashes.
-       Quote the types with <>, for consistency with Yacc.
-       * tests/input.at (Type Clashes): Adjust to diagnostic changes.
-
-2002-11-03  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_identification, b4_user_args, b4_parse_param):
-       New.
-       * data/yacc.m4 (b4_pure_args, b4_Pure_args): New.
-       (b4_parse_param): Remove.
-       Use b4_identification.
-       Propagate b4_pure_args where needed to pass them to yyerror.
-       * data/glr.m4 (b4_parse_param): Remove.
-       (b4_user_formals, b4_pure_args, b4_pure_formals, b4_lpure_args)
-       (b4_lpure_formals): New.
-       Use b4_identification.
-       (YY_USER_FORMALS, YY_USER_ARGS): Remove, replaced by
-       b4_user_formals and b4_user_args.
-       (yyexpandGLRStack, yyFail, yyaddDeferredAction, yyglrShiftDefer)
-       (yyreportAmbiguity): When using a pure parser, also need
-       the location, and the parse-params.
-       Adjust callers.
-       (yyuserAction, yyglrShift, yyreportParseError, yyrecoverParseError):
-       When using a pure parser, also need the parse-params.
-       Adjust callers.
-       * tests/calc.at: Test pure (%pure-parser) and absolutely pure
-       (%pure-parser + %parse-param) LALR and GLR parsers.
-       (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): New, define AT_PARAM_IF,
-       AT_LOCATION_IF, AT_PURE_IF, AT_GLR_IF, AAT_PURE_AND_LOC_IF,
-       AT_GLR_OR_PARAM_IF, AT_YYERROR_ARG_LOC_IF, AT_YYERROR_SEES_LOC_IF.
-       (_AT_DATA_CALC_Y): Equip for purity of yyerror.
-       (_AT_CHECK_CALC_ERROR): Use AT_YYERROR_SEES_LOC_IF.
-       * tests/cxx-type.at (_AT_TEST_GLR_CALC): Equip for yyerror purity.
-       * doc/bison.texinfo: Untabify the whole file.
-       (Parser Function): Document %parse-param, deprecate YYPARSE_PARAM.
-       (Pure Calling): Document %lex-param, deprecate YYLEX_PARAM.
-       (Error Reporting): Adjust to these new directives.
-       Document %error-verbose, deprecate YYERROR_VERBOSE.
-
-2002-11-03  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at: Change all the AT_CHECK_CALC_LALR and
-       AT_CHECK_CALC_GLR invocations to use % directives, instead of
-       command line options.
-       * tests/cxx-type.at: Formatting changes.
-
-2002-11-03  Paul Eggert  <eggert@twinsun.com>
-
-       * src/scan-gram.l: Revamp to fix POSIX incompatibilities,
-       to count columns correctly, and to check for invalid inputs.
-
-       Use mbsnwidth to count columns correctly.  Account for tabs, too.
-       Include mbswidth.h.
-       (YY_USER_ACTION): Invoke extend_location rather than LOCATION_COLUMNS.
-       (extend_location): New function.
-       (YY_LINES): Remove.
-
-       Handle CRLF in C code rather than in Lex code.
-       (YY_INPUT): New macro.
-       (no_cr_read): New function.
-
-       Scan UCNs, even though we don't fully handle them yet.
-       (convert_ucn_to_byte): New function.
-
-       Handle backslash-newline correctly in C code.
-       (SC_LINE_COMMENT, SC_YACC_COMMENT): New states.
-       (eols, blanks): Remove.  YY_USER_ACTION now counts newlines etc.;
-       all uses changed.
-       (tag, splice): New EREs.  Do not allow NUL or newline in tags.
-       Use {splice} wherever C allows backslash-newline.
-       YY_STEP after space, newline, vertical-tab.
-       ("/*"): BEGIN SC_YACC_COMMENT, not yy_push_state (SC_COMMENT).
-
-       (letter, id): Don't assume ASCII; e.g., spell out a-z.
-
-       ({int}, handle_action_dollar, handle_action_at): Check for integer
-       overflow.
-
-       (YY_STEP): Omit trailing semicolon, so that it's more like C.
-
-       (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>): Allow \0 and \00
-       as well as \000.  Check for UCHAR_MAX, not 255.
-       Allow \x with an arbitrary positive number of digits, as in C.
-       Check for overflow here.
-       Allow \? and UCNs, for compatibility with C.
-
-       (handle_symbol_code_dollar): Use quote_n slot 1 to avoid collision
-       with quote slot used by complain_at.
-
-       * tests/input.at: Add tests for backslash-newline, m4 quotes
-       in symbols, long literals, and funny escapes in strings.
-
-       * configure.ac (jm_PREREQ_MBSWIDTH): Add.
-       * lib/Makefile.am (libbison_a_SOURCES): Add mbswidth.h, mbswidth.c.
-       * lib/mbswidth.h, lib/mbswidth.c: New files, from GNU gettext.
-       * m4/Makefile.am (EXTRA_DIST): Add mbswidth.m4.
-       * m4/mbswidth.m4: New file, from GNU coreutils.
-
-       * doc/bison.texinfo (Grammar Outline): Document // comments.
-       (Symbols): Document that trigraphs have no special meaning in Bison,
-       nor is backslash-newline allowed.
-       (Actions): Document that trigraphs have no special meaning.
-
-       * src/location.h (LOCATION_COLUMNS, LOCATION_LINES): Remove;
-       no longer used.
-
-2002-11-02  Paul Eggert  <eggert@twinsun.com>
-
-       * src/reader.c: Don't include quote.h; not needed.
-       (get_merge_function): Reword warning to be consistent with
-       type clash diagnostic in grammar_current_rule_check.
-
-       * lib/quotearg.c (quotearg_buffer_restyled): Fix off-by-two
-       bug in trigraph handling.
-
-       * src/output.c (prepare_symbols): When printing token names,
-       escape "[" as "@<:@" and likewise for "]".
-
-       * src/system.h (errno): Remove declaration, as we are now
-       assuming C89 or better, and C89 guarantees errno.
-
-2002-10-30  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/bitset_stats.c (bitset_stats_read, bitset_stats_write):
-       Check for close failures.
-       * src/files.h (xfclose): Return void, not int, since it always
-       returned zero.
-       * src/files.c (xfclose): Likewise.  Report I/O error if ferror
-       indicates one.
-       * src/output.c (output_skeleton): Use xfclose rather than fclose
-       and ferror.  xfclose now checks ferror.
-
-       * data/glr.c (YYLEFTMOST_STATE): Remove.
-       (yyreportTree): Use a stack-based leftmost state.  This avoids
-       our continuing battles with bogus warnings about initializers.
-
-2002-10-30  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: Don't use #ifdef/#ifndef on HAVE_ values, only
-       #if.
-
-2002-10-29  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * tests/glr-regr1.at: New test for reported regressions.
-       * tests/testsuite.at: Add glr-regr1.at test.
-       * tests/Makefile.am: Add glr-regr1.at test.
-
-2002-10-24  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.75a.
-
-       * tests/calc.at (_AT_DATA_CALC_Y): Remove unused strcat declaration.
-       * tests/cxx-type.at (_AT_TEST_GLR_CALC): Include stdlib.h, since
-       we use malloc.  Don't assume 'A' through 'Z' are contiguous.
-       Don't assume strdup exists; POSIX says its an XSI extension.
-       Check for buffer overflow on input.
-
-2002-10-24  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_skeleton): Don't disable M4sugar comments
-       too soon: it results in comments being expanded.
-       * data/yacc.c, data/glr.c, data/lalr1.cc: Do it right before the
-       first output.
-
-2002-10-24  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c (m4_int_type): New.
-       * data/c.m4 (m4_int_type): Don't use yysigned_char, but `signed
-       char' as only yacc.c wants K&R portability.
-       * data/glr.c (yysigned_char): Remove.
-       * data/lalr1.cc: Rename the trailing b4_name as b4_parser_class_name.
-       Reported by Quoc Peyrot.
-
-2002-10-23  Paul Eggert  <eggert@twinsun.com>
-
-       * src/main.c (main): With --trace=time, report times even if a
-       non-fatal error occurs.  Formerly, the times were reported in some
-       such cases but not in others.
-       * src/reader.c (reader): Just return if a complaint has been issued,
-       instead of exiting, so that 'main' can report times.
-
-2002-10-22  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: Include sys/types.
-       Reported by Bert Deknuydt.
-
-2002-10-23  Paul Eggert  <eggert@twinsun.com>
-
-       * configure.ac (AC_PROG_LEX): Use instead of AM_PROG_LEX.
-       Suggested by Art Haas.
-
-2002-10-22  Paul Eggert  <eggert@twinsun.com>
-
-       * src/complain.c (exit) [! (STDC_HEADERS || _LIBC)]: Remove exit
-       decl; not needed any more.
-       * src/main.c (main): Use return to exit, undoing yesterday's change.
-       The last OS that we could find where this wouldn't work is
-       SunOS 3.5, and that's too old to worry about now.
-
-       * data/glr.c (struct yyltype): Define members even when not
-       doing locations.  This is more consistent with yacc.c, and it
-       works around the following bug reports:
-       http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00106.html
-       http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00111.html
-
-       * doc/bison.texinfo: Minor spelling and typographical fixes.  Use
-       @acronym consistently.  Standardize on "Yacc" instead of "YACC",
-       "Algol" instead of "ALGOL".  Give a bit more history about BNF.
-
-2002-10-22  Akim Demaille  <akim@epita.fr>
-
-       * data/README: New.
-
-2002-10-21  Paul Eggert  <eggert@twinsun.com>
-
-       Be consistent about 'bool'; the old code used an enum in one
-       module and an int in another, and this violates the C standard.
-       * m4/stdbool.m4: New file, from coreutils 4.5.3.
-       * configure.ac (AC_HEADER_STDBOOL): Add.
-       * m4/Makefile.am (EXTRA_DIST): Add stdbool.m4.
-       * src/muscle_tab.c (hash_compare_muscles): (a ? FALSE : TRUE) -> (! a)
-       * src/symtab.c (hash_compare_symbol_t): Likewise.
-       * src/system.h (bool, false, true): Use a definition consistent
-       with ../lib/hash.c.  All uses changed.
-
-       * src/complain.c (warning_issued): Renamed from warn_message_count,
-       so that we needn't worry about integer overflow (!).
-       Now of type bool.  All uses changed.
-       (complaint_issued): Renamed from complain_message_count; likewise.
-
-       * src/main.c (main): Use exit to exit with failure.
-
-       * src/complain.c (fatal_at, fatal): Use EXIT_FAILURE and EXIT_SUCCESS
-       rather than 1 and 0.
-       * src/main.c (main): Likewise.
-       * src/getargs.c (getargs): Likewise.
-       * src/reader.c (reader): Likewise.
-
-       * src/getarg.c (getargs): Remove duplicate code for
-       "Try `bison --help'".
-
-       * src/files.c (xfopen, xfclose): Use EXIT_FAILURE rather than 2.
-       What was that "2" for?
-
-       * src/complain.h (fatal, fatal_at): Add __attribute__((__noreturn__)).
-       * src/getargs.c (usage): Likewise.
-
-       * src/getargs.c (getargs): When there are too few operands, report
-       the last one.  When there are too many, report the first extra
-       one.  This is how diffutils does it.
-
-2002-10-20  Paul Eggert  <eggert@twinsun.com>
-
-       Remove K&R vestiges.
-       * configure.ac (AC_C_CONST, AM_C_PROTOTYPES): Remove.
-       * src/complain.c (VA_START): Remove.  Assume prototypes.
-       (vfprintf) [! (HAVE_VPRINTF || defined vfprintf)]: New macro.
-       (private_strerror, warn_at, warn, complain_at, complain, fatal_at,
-       fatal): Assume prototypes.
-       * src/complain.h: Assume prototypes.
-       * src/system.h (PARAMS): Remove.
-       Include <limits.h> unconditionally, since it's guaranteeed even
-       for a freestanding C89 compiler.
-       (SHRT_MIN, SHRT_MAX): Remove, since C89 guarantees them.
-       * src/vmsgetargs.c (getargs, cli_present, cli_get_value): Prototype.
-
-2002-10-20  Akim Demaille  <akim@epita.fr>
-
-       * src/muscle_tab.c (muscle_grow): Remove trailing debugging code.
-       * data/glr.c (YY_USER_FORMALS, YY_USER_ARGS): New.
-       (yyuserAction, yydoAction, yyglrReduce, yyresolveValue)
-       (yyresolveStates, yyresolveAction, yyresolveStack)
-       (yyprocessOneStack): Use them.
-       (yy_reduce_print): New.
-       * tests/calc.at (_AT_DATA_CALC_Y): Exercise %parse-param.
-
-2002-10-20  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_c_ansi_args): Recognize functions with no
-       arguments and output `void'.
-       (b4_c_function): Rename as...
-       (b4_c_function_def): this.
-       (b4_c_function_decl, b4_c_ansi_function_def)
-       (b4_c_ansi_function_decl): New.
-       Change the interpretation of the arguments: before `int, foo', now
-       `int foo, foo'.
-       * data/yacc.c (yyparse): Prototype and define thanks to these.
-       Adjust b4_c_function_def uses.
-       * data/glr.c (yyparse): Likewise, but ANSI only.
-
-2002-10-20  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (prepare): Move the definition of `tokens_number',
-       `nterms_number', `undef_token_number', `user_token_number_max'
-       to...
-       (prepare_tokens): Here.
-       (prepare_tokens): Rename as...
-       (prepare_symbols): this.
-       (prepare): Move the definition of `rules_number' to...
-       (prepare_rules): here.
-       (prepare): Move the definition of `last', `final_state_number',
-       `states_number' to...
-       (prepare_states): here.
-       * data/yacc.c, data/lalr1.cc, data/glr.c: Normalize `>' into `<'.
-
-2002-10-20  Akim Demaille  <akim@epita.fr>
-
-       * src/tables.h, src/tables.c, src/output.c: Comment changes.
-
-2002-10-20  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
-       * data/c.m4: here.
-
-2002-10-20  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (prepare): Use MUSCLE_INSERT_STRING.
-       * src/muscle_tab.c (muscle_pair_list_grow): Rename `val as
-       `pair'.
-       (muscle_init): Move the `b4_ltype', `b4_maxdepth', `b4_initdepth',
-       `name' to...
-       * data/glr.c, data/lalr1.cc, data/yacc.c (b4_location_type)
-       (b4_stack_depth_init, b4_stack_depth_max, b4_parser_class_name):
-       These.
-
-2002-10-19  Paul Eggert  <eggert@twinsun.com>
-
-       Do not create a temporary file, as that involves security and
-       cleanup headaches.  Instead, use a pair of pipes.
-       Derived from a suggestion by Florian Krohm.
-       * lib/subpipe.c, lib/subpipe.h, m4/subpipe.m4: New files.
-       * lib/mkstemp.c, lib/readpipe.c, lib/tempname.c, m4/mkstemp.m4: Remove.
-       * configure.ac (UTILS_FUNC_MKSTEMP, jm_PREREQ_TEMPNAME): Remove.
-       (BISON_PREREQ_SUBPIPE): Add.
-       * lib/Makefile.am (libbison_a_SOURCES): Remove readpipe.c.
-       Add subpipe.h, subpipe.c.
-       * m4/Makefile.am (EXTRA_DIST): Remove mkstemp.m4.  Add subpipe.m4.
-       * po/POTFILES.in: Add lib/subpipe.c.
-       * src/output.c: Include "subpipe.h".
-       (m4_invoke): Remove decl.
-       (scan_skel): New decl.
-       (output_skeleton): Use pipe rather than temporary file for m4 input.
-       Check that m4sugar.m4 is readable, to avoid deadlock.
-       Check for pipe I/O error.
-       * src/scan-skel.l (readpipe): Remove decl.
-       (scan_skel): New function, to be used in place of m4_invoke.
-       Read from stream rather than file.
-
-       * lib/timevar.c (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Do not cast to
-       float, as this generates a warning on Solaris 8 + GCC 3.2 with
-       --enable-gcc-warnings.  Instead, divide into 1.0 rather than 1;
-       this generates a more-accurate value anyway.
-
-       * lib/timevar.c (timervar_accumulate): Rename locals to
-       avoid confusion with similarly-named more-global.
-       * src/muscle_tab.c (muscle_pair_list_grow): Likewise.
-
-       * src/output.c (prepare): Use xstrdup to convert char const *
-       to char *, to avoid GCC warning.
-
-2002-10-19  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at (_AT_DATA_CALC_Y): Define VAL, LOC, LEX_FORMALS,
-       LEX_PRE_FORMALS, LEX_ARGS, LEX_PRE_ARGS, USE_LEX_ARGS.
-       Use them to have `calc.y' ready for %pure-parser.
-       * data/yacc.c (YYLEX): Pass a yylex return type to
-       b4_c_function_call.
-
-2002-10-19  Akim Demaille  <akim@epita.fr>
-
-       Prototype support of %lex-param and %parse-param.
-
-       * src/parse-gram.y: Add the definition of the %lex-param and
-       %parse-param tokens, plus their rules.
-       Drop the `_' version of %glr-parser.
-       Add the "," token.
-       * src/scan-gram.l (INITIAL): Scan them.
-       * src/muscle_tab.c: Comment changes.
-       (muscle_insert, muscle_find): Rename `pair' as `probe'.
-       * src/muscle_tab.h (MUSCLE_INSERT_PREFIX): Remove unused.
-       (muscle_entry_s): The `value' member is no longer const.
-       Adjust all dependencies.
-       * src/muscle_tab.c (muscle_init): Adjust: use
-       MUSCLE_INSERT_STRING.
-       Initialize the obstack earlier.
-       * src/muscle_tab.h, src/muscle_tab.c (muscle_grow)
-       (muscle_pair_list_grow): New.
-       * data/c.m4 (b4_c_function_call, b4_c_args): New.
-       * data/yacc.c (YYLEX): Use b4_c_function_call to honor %lex-param.
-       * tests/calc.at: Use %locations, not --locations.
-       (AT_CHECK_CALC_GLR): Use %glr-parser, not %glr_parser.
-
-2002-10-19  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (usage): Take status as argument and exit
-       accordingly.
-       Report the traditional `Try ... --help' message when status != 0.
-       (usage, version): Don't take a FILE * as arg, it is pointless.
-       (getargs): When there is an incorrect number of arguments, make it
-       an error, and report it GNUlically thanks to `usage ()'.
-
-2002-10-18  Paul Eggert  <eggert@twinsun.com>
-
-       * data/glr.c (yyreportParseError): Don't assume that sprintf
-       yields the length of the printed string, as this is not true
-       on SunOS 4.1.4.  Reported by Peter Klein.
-
-       * tests/calc.at (_AT_DATA_CALC_Y): #undef memcmp and realloc.
-       * tests/conflicts.at (%nonassoc and eof): Likewise.
-       Fixes SunOS 4.1.4 test failure reported by Peter Klein.
-
-2002-10-17  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.h (trace_e): Add trace_scan, and trace_parse.
-       * src/getargs.c (trace_types, trace_args): Adjust.
-       * src/reader.c (grammar_current_rule_prec_set)
-       (grammar_current_rule_dprec_set, grammar_current_rule_merge_set):
-       Standardize error messages.
-       And s/@prec/%prec/!
-       (reader): Use trace_flag to enable scanner/parser debugging,
-       instead of an adhoc scheme.
-       * src/scan-gram.l: Remove trailing debugging code.
-
-2002-10-16  Paul Eggert  <eggert@twinsun.com>
-
-       * src/muscle_tab.h (MUSCLE_TAB_H_): Was misspelled as
-       MUSCLE_TAB_H.
-
-       * NEWS: Officially drop support for building Bison with K&R C,
-       since it didn't work anyway and it's not worth worrying about.
-       * Makefile.maint (wget_files): Remove ansi2knr.c.
-       (ansi2knr.c-url_prefix): Remove.
-       * lib/.cvsignore: Remove ansi2knr, ansi2knr.*.
-       * lib/Makefile.am (AUTOMAKE_OPTIONS): Remove.
-       * src/Makefile.am (AUTOMAKE_OPTIONS): Remove.
-
-2002-10-15  Paul Eggert  <eggert@twinsun.com>
-
-       Stop using the "enum_" trick for K&R-style function definitions;
-       it confused me, and I was the author!  Instead, assume that people
-       who want to use K&R C compilers (when using these modules in GCC,
-       perhaps?) will run ansi2knr.
-
-       * lib/bbitset.h: (enum_bitset_ops, enum_bitset_type): Remove.
-       All uses of "enum_" changed to "enum ".
-       * lib/ebitset.c (enum_ebitset_find_mode): Likewise.
-       * lib/lbitset.c (enum_lbitset_find_mode): Likewise.
-
-       * lib/abitset.c (abitset_and, abitset_and_cmp, abitset_and_or,
-       abitset_and_or_cmp, abitset_andn, abitset_andn_cmp,
-       abitset_andn_or, abitset_andn_or_cmp, abitset_bytes, abitset_copy,
-       abitset_copy1, abitset_disjoint_p, abitset_empty_p,
-       abitset_equal_p, abitset_init, abitset_list, abitset_list_reverse,
-       abitset_not, abitset_ones, abitset_or, abitset_or_and,
-       abitset_or_and_cmp, abitset_or_cmp, abitset_reset, abitset_set,
-       abitset_size, abitset_small_list, abitset_subset_p, abitset_test,
-       abitset_unused_clear, abitset_xor, abitset_xor_cmp, abitset_zero):
-       Use function prototypes; this removes the need for declaring
-       static functions simply to provide their prototypes.
-       * lib/bitset.c (bitset_alloc, bitset_and_or_, bitset_and_or_cmp_,
-       bitset_andn_or_, bitset_andn_or_cmp_, bitset_bytes, bitset_copy_,
-       bitset_count_, bitset_create, bitset_dump, bitset_first,
-       bitset_free, bitset_init, bitset_last, bitset_next,
-       bitset_obstack_alloc, bitset_obstack_free, bitset_only_set_p,
-       bitset_op4_cmp, bitset_or_and_, bitset_or_and_cmp_, bitset_prev,
-       bitset_print, bitset_release_memory, bitset_toggle_,
-       bitset_type_choose, bitset_type_get, bitset_type_name_get,
-       debug_bitset): Likewise.
-       * lib/bitset.h (bitset_set, bitset_reset, bitset_test): Likewise.
-       * lib/bitset_stats.c (bitset_log_histogram_print,
-       bitset_percent_histogram_print, bitset_stats_and,
-       bitset_stats_and_cmp, bitset_stats_and_or,
-       bitset_stats_and_or_cmp, bitset_stats_andn, bitset_stats_andn_cmp,
-       bitset_stats_andn_or, bitset_stats_andn_or_cmp, bitset_stats_copy,
-       bitset_stats_count, bitset_stats_disable, bitset_stats_disjoint_p,
-       bitset_stats_dump, bitset_stats_empty_p, bitset_stats_enable,
-       bitset_stats_equal_p, bitset_stats_free, bitset_stats_init,
-       bitset_stats_list, bitset_stats_list_reverse, bitset_stats_not,
-       bitset_stats_ones, bitset_stats_or, bitset_stats_or_and,
-       bitset_stats_or_and_cmp, bitset_stats_or_cmp, bitset_stats_print,
-       bitset_stats_print_1, bitset_stats_read, bitset_stats_reset,
-       bitset_stats_set, bitset_stats_size, bitset_stats_subset_p,
-       bitset_stats_test, bitset_stats_toggle, bitset_stats_type_get,
-       bitset_stats_write, bitset_stats_xor, bitset_stats_xor_cmp,
-       bitset_stats_zero): Likewise.
-       * lib/bitsetv.c (bitsetv_alloc, bitsetv_create, bitsetv_free,
-       bitsetv_zero, bitsetv_ones, bitsetv_transitive_closure,
-       bitsetv_dump, debug_bitsetv): Likewise.
-       * lib/ebitset.c (ebitset_and, ebitset_and_cmp, ebitset_andn,
-       ebitset_andn_cmp, ebitset_bytes, ebitset_copy, ebitset_copy_,
-       ebitset_copy_cmp, ebitset_disjoint_p, ebitset_elt_add,
-       ebitset_elt_alloc, ebitset_elt_calloc, ebitset_elt_find,
-       ebitset_elt_free, ebitset_elt_last, ebitset_elt_remove,
-       ebitset_elt_zero_p, ebitset_elts_grow, ebitset_empty_p,
-       ebitset_equal_p, ebitset_free, ebitset_init, ebitset_list,
-       ebitset_list_reverse, ebitset_not, ebitset_ones, ebitset_op3_cmp,
-       ebitset_or, ebitset_or_cmp, ebitset_release_memory, ebitset_reset,
-       ebitset_set, ebitset_size, ebitset_subset_p, ebitset_test,
-       ebitset_weed, ebitset_xor, ebitset_xor_cmp, ebitset_zero):
-       Likewise.
-       * lib/lbitset.c (debug_lbitset, lbitset_and, lbitset_and_cmp,
-       lbitset_andn, lbitset_andn_cmp, lbitset_bytes, lbitset_copy,
-       lbitset_copy_cmp, lbitset_disjoint_p, lbitset_elt_alloc,
-       lbitset_elt_calloc, lbitset_elt_find, lbitset_elt_free,
-       lbitset_elt_link, lbitset_elt_unlink, lbitset_elt_zero_p,
-       lbitset_empty_p, lbitset_equal_p, lbitset_free, lbitset_init,
-       lbitset_list, lbitset_list_reverse, lbitset_not, lbitset_ones,
-       lbitset_op3_cmp, lbitset_or, lbitset_or_cmp, lbitset_prune,
-       lbitset_release_memory, lbitset_reset, lbitset_set, lbitset_size,
-       lbitset_subset_p, lbitset_test, lbitset_weed, lbitset_xor,
-       lbitset_xor_cmp, lbitset_zero): Likewise.
-
-2002-10-14  Akim Demaille  <akim@epita.fr>
-
-       Version 1.75.
-
-2002-10-14  Akim Demaille  <akim@epita.fr>
-
-       * tests/Makefile.am (maintainer-check-posix): New.
-
-2002-10-14  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c [YYDEBUG] (YYLEFTMOST_STATE): Initialize the yyloc
-       member.
-
-2002-10-14  Akim Demaille  <akim@epita.fr>
-
-       * src/tables.c (table_ninf_remap): base -> tab.
-       Reported by Matt Rosing.
-
-2002-10-14  Paul Eggert  <eggert@twinsun.com>
-
-       * tests/action.at, tests/calc.at, tests/conflicts.at,
-       tests/cxx-type.at, tests/headers.at, tests/input.at,
-       tests/regression.at, tests/synclines.at, tests/torture.at:
-       Say "bison -o foo.c foo.y", not "bison foo.y -o foo.c",
-       so that the tests still work even if POSIXLY_CORRECT is set.
-       * doc/bison.texinfo (Rpcalc Compile, Invocation): Likewise.
-
-       * data/c.m4 (b4_int_type): Use yysigned_char instead of signed char,
-       for portability to K&R hosts.  Fix typo: signed char is guaranteed
-       only to 127, not to 128.
-       * data/glr.c (yysigned_char): New type.
-       * data/yacc.c (yysigned_char): Likewise.
-       * tests/regression.at (Web2c Actions): signed char -> yysigned_char.
-
-2002-10-13  Paul Eggert  <eggert@twinsun.com>
-
-       * data/yacc.c (yyparse): Rewrite to avoid "comparison is always
-       true due to limited range of data type" warning from GCC.
-
-       * data/c.m4 (b4_token_defines): Protect against double-inclusion
-       by wrapping enum yytokentype's definition inside #ifndef
-       YYTOKENTYPE.  This undoes a bug I introduced on 2002-10-12.
-
-2002-10-13  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c (yyglrShiftDefer, yyaddDeferredAction, yydoAction):
-       Un yy- yyrhs to avoid the name clash with the global YYRHS.
-
-2002-10-13  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.maint: Update from Autoconf 2.54.
-       * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Remove, shipped with 2.54.
-
-2002-10-13  Akim Demaille  <akim@epita.fr>
-
-       * src/print.c (print_state): Separate the list of solved conflicts
-       from the other items.
-       * tests/conflicts.at (Resolved SR Conflicts): Adjust.
-
-2002-10-13  Akim Demaille  <akim@epita.fr>
-
-       Let nondeterministic skeletons be usable with deterministic
-       tables.
-
-       With the patch, GAWK compiled by GCC without -O2 passes its test
-       suite using a GLR parser driven by LALR tables.  It fails with -O2
-       because `struct stat' gives two different answers on my machine:
-       88 (definition of an auto var) and later 96 (memset on this var).
-       Hence the stack is badly corrumpted.  The headers inclusion is to
-       blame: if I move the awk.h inclusion before GLR's system header
-       inclusion, the two struct stat have the same size.
-
-       * src/tables.c (pack_table): Always create conflict_table.
-       (token_actions): Always create conflict_list.
-       * data/glr.c (YYFLAG): Remove, unused.
-
-2002-10-13  Akim Demaille  <akim@epita.fr>
-
-       * configure.ac (AC_GNU_SOURCE): Use it instead of hand written code.
-       (O0FLAGS): New.
-       (VALGRIND, GXX): New.
-       * tests/atlocal.in (CFLAGS): Use O0FLAGS.
-       * tests/bison.in: Run $PREBISON a pre-command.
-       * tests/Makefile.am (maintainer-check, maintainer-check-valgrind)
-       (maintainer-check-g++): New.
-       * Makefile.am (maintainer-check): New.
-
-2002-10-13  Akim Demaille  <akim@epita.fr>
-
-       * data/glr.c: Formatting changes.
-       Tweak some trace messages to match yacc.c's.
-
-2002-10-13  Akim Demaille  <akim@epita.fr>
-
-       GLR parsers sometimes raise parse errors instead of performing the
-       default reduction.
-       Reported by Charles-Henry de Boysson.
-
-       * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't
-       check the length of the traces when %glr.
-       (_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from
-       GLR's traces.
-       (AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New.
-       Test GLR parsers.
-       * data/glr.c (YYLEFTMOST_STATE): Fix its value.
-       (yyltype): Remove the yy prefix from the member names.
-       (yytable): Complete its comment.
-       (yygetLRActions): Map error action number from YYTABLE from
-       YYTABLE_NINF to 0.
-       (yyisErrorAction): No longer compare YYACTION to YYPACT_NINF
-       (which was a bug: it should have been YYTABEL_NINF, and yet it was
-       not satisfying as we could compare an YYACTION computed from
-       YYDEFACT to YYTABLE_NINF although they are unrelated): 0 is the
-       only value for error actions.
-       (yyreportParseError): In verbose parse error messages, don't issue
-       `error' in the list of expected tokens.
-       * data/yacc.c (yyparse) <yybackup>: Rewrite the decoding of the
-       next action to perform to match glr.c's decoding.
-       (yytable): Complete its comment.
-
-2002-10-13  Paul Eggert  <eggert@twinsun.com>
-
-       Fix problem reported by Henrik Grubbstroem in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00098.html>:
-       "nonterm: { $$ = 123; } { $$ = $1; };" was wrongly rejected,
-       because the Bison parser reads the second action before reducing
-       the first one.
-       * src/scan-gram.l (rule_length): New static var.
-       Use it to keep track of the rule length in the scanner, since
-       we can't expect the parser to be in lock-step sync with the scanner.
-       (handle_action_dollar, handle_action_at): Use this var.
-       * tests/actions.at (Exotic Dollars): Test for the problem.
-
-2002-10-12  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/timevar.c [! IN_GCC && HAVE_SYS_TIME_H]: Include <sys/time.h>.
-       * m4/timevar.m4 (BISON_PREREQ_TIMEVAR): Check for <sys/time.h>.
-       Include <sys/time.h> when checking for clock_t and struct tms.
-       Use same include order as source.
-       This is for the SunOS 4.1.4 porting bug reported by Peter Klein in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00016.html>.
-
-       * lib/timevar.c: Update copyright date and clarify comments.
-       (get_time) [IN_GCC]: Keep the GCC version for reference.
-
-       * lib/timevar.c, lib/timevar.h, lib/timevar.def: Import
-       GCC version as of today, then merge Bison's changes.
-       Change "GCC" to "Bison" in copyright notice.  timevar.def's
-       author is Akim, so change that too.
-
-       * src/reader.c (grammar_current_rule_check):
-       Don't worry about the default action if $$ is untyped.
-       Prevents bogus warnings reported by Jim Gifford in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00015.html>.
-
-       * data/c.m4 (b4_token_enum): Do not define YYTOKENTYPE.
-       * data/glr.c, data/lalr1.cc, data/yacc.c:
-       Output token definitions before the first part of user declarations.
-       Fixes compatibility problem reported by Jim Gifford for kbd in
-       <http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00014.html>.
-
-2002-10-11  Paul Eggert  <eggert@twinsun.com>
-
-       * data/yacc.c (yyreport_parse_error): Remove, putting its body into...
-       (yyparse): here.  This undoes some of the 2002-07-25 change.
-       Compatibility problem reported by Ralf S. Engelschall with
-       OSSP cfg <http://www.ossp.org/pkg/lib/cfg/>.
-
-2002-10-11  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at Characters Escapes): New.
-       * src/scan-gram.l (SC_ESCAPED_CHARACTER): Accept \' in strings and
-       characters.
-       Reported by Jan Nieuwenhuizen.
-
-2002-10-11  Akim Demaille  <akim@epita.fr>
-
-       * po/id.po: New.
-
-2002-10-10  Paul Eggert  <eggert@twinsun.com>
-
-       Portability fixes for bitsets; this also avoids several GCC
-       warnings.
-
-       * lib/abitset.c: Include <stddef.h>, for offsetof.
-       * lib/lbitset.c: Likewise.
-
-       * lib/abitset.c (abitset_bytes): Return a size that is aligned
-       properly for vectors of objects.  Do not assume that adding a
-       header size to a multiple of a word size yields a value that is
-       properly aligned for the whole union.
-       * lib/bitsetv.c (bitsetv_alloc): Likewise.
-
-       * lib/bitset_stats.c (bitset_stats_bytes): Adjust to new,
-       unique names for structures.
-       * lib/ebitset.c (ebitset_bytes): Likewise.
-       * lib/lbitset.c (lbitset_bytes): Likewise.
-
-       * lib/abitset.c (abitset_ones, abitset_zero, abitset_empty_p,
-       abitset_copy1, abitset_not, abitset_equal_p, abitset_subset_p,
-       abitset_disjoint_p, abitset_and, abitset_and_cmp, abitset_andn,
-       abitset_andn_cmp, abitset_or, abitset_or_cmp, abitset_xor,
-       abitset_xor_cmp, abitset_and_or, abitset_and_or_cmp,
-       abitset_andn_or, abitset_andn_or_cmp, abitset_or_and,
-       abitset_or_and_cmp, abitset_copy): Supply prototype decls,
-       to improve the type-checking that GCC can do.
-       * lib/bitset.c (bitset_op4_cmp): Likewise.
-       * lib/bitset_stats.c (bitset_stats_count,
-       bitset_stats_empty_p, bitset_stats_ones, bitset_stats_zero,
-       bitset_stats_copy, bitset_stats_disjoint_p,
-       bitset_stats_equal_p, bitset_stats_not, bitset_stats_subset_p,
-       bitset_stats_and, bitset_stats_and_cmp, bitset_stats_andn,
-       bitset_stats_andn_cmp, bitset_stats_or, bitset_stats_or_cmp,
-       bitset_stats_xor, bitset_stats_xor_cmp, bitset_stats_and_or,
-       bitset_stats_and_or_cmp, bitset_stats_andn_or,
-       bitset_stats_andn_or_cmp, bitset_stats_or_and,
-       bitset_stats_or_and_cmp): Likewise.
-       * lib/lbitset.c (lbitset_and, lbitset_and_cmp, lbitset_andn,
-       lbitset_andn_cmp, lbitset_or, lbitset_or_cmp, lbitset_xor,
-       lbitset_xor_cmp, lbitset_empty_p, lbitset_ones, lbitset_not,
-       lbitset_subset_p, lbitset_disjoint_p, debug_lbitset): Likewise.
-
-       * lib/abitset.h: Include bitset.h, not bbitset.h.
-       * lib/ebitset.h: Likewise.
-       * lib/lbitset.h: Likewise.
-
-       * lib/bbitset.h: (enum_bitset_ops, enum_bitset_type): New types.
-       All instances of parameters of type enum bitset_opts are now of
-       type enum_bitset_opts, to conform to the C Standard, and similarly
-       for enum_bitset_type.
-       * lib/ebitset.c (enum_ebitset_find_mode): Likewise.
-       * lib/lbitset.c (enum_lbitset_find_mode): Likewise.
-
-       Do not use "struct bitset_struct" to mean different things in
-       different modules.  Not only is this confusing, it violates
-       the C Standard, which requires that structure types in different
-       modules must be compatible if one is to be passed to the other.
-       * lib/bbitset.h (bitset): Now points to a union, not to a struct.
-       All instances of "struct bitset_struct *" replaced with "bitset".
-       * lib/bitset.h (struct bitset_struct): Remove, replacing with....
-       (union bitset_union, struct abitset_struct, struct ebitset_struct,
-       struct lbitset_struct, struct bitset_stats_struct): New types.
-       All uses of struct bitset_struct changed to union bitset_union,
-       etc.
-       * lib/abitset.c (struct abitset_struct, abitset,
-       struct bitset_struct): Remove.
-       * lib/bitset_stats.c (struct bitset_stats_struct, bitset_stats,
-       struct bitset_struct): Remove.
-       * lib/ebitset.c (struct ebitset_struct, ebitset, struct
-       bitset_struct): Remove.
-       * lib/lbitset.c (struct lbitset_struct, lbitset, bitset_struct):
-       Likewise.
-
-       Do not call a function of type T using a call that assumes the
-       function is of a different type U.  Standard C requires that a
-       function must be called with a type that is compatible with its
-       definition.
-       * lib/bbitset.h (bitset_and_or_, bitset_andn_or_, bitset_or_and_):
-       New decls.
-       * lib/bitset.c (bitset_and_or_, bitset_andn_or_, bitset_or_and_):
-       New functions.
-       * lib/ebitset.c (PFV): Remove.
-       * lib/lbitset.c (PFV): Likewise.
-       * lib/ebitset.c (ebitset_and, ebitset_andn, ebitset_or,
-       ebitset_xor, ebitset_copy, ebitset_ones, ebitset_empty_p): New
-       decls.
-       (ebitset_and, ebitset_andn, ebitset_or, ebitset_xor): New functions.
-       (ebitset_vtable): Use them.
-       * lib/lbitset.c (lbitset_and, lbitset_andn, lbitset_or,
-       lbitset_xor): New functions.
-       (lbitset_vtable): Use them.
-
-       * lib/bitset.h (bitset_next, bitset_prev, bitset_only_set_p):
-       Declare.
-
-       * lib/bitsetv.c (bitsetv_alloc): Add a cast to (void *) to avoid a
-       GCC warning.
-       * lib/lbitset.c (LBITSET_CURRENT1): Likewise.
-       Use offsetof, for simplicity.
-
-2002-10-06  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/bitset.h (bitset_reset): Do not assume that bitset_word is
-       the same width as int.  This reapplies a hunk of the 2002-08-12 patch
-       <http://lists.gnu.org/archive/html/bison-patches/2002-08/msg00007.html>,
-       which was inadvertently undone by the 2002-09-30 patch.
-       * lib/lbitset.c (debug_lbitset): Do not assume that bitset_word is
-       the same width as int.
-
-2002-10-04  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.50.
-
-       * configure.ac (AC_INIT), NEWS: Increment version number.
-
-       * doc/bison.texinfo: Minor spelling, grammar, and white space
-       fixes.
-       (Symbols): Mention that any negative value returned from yylex
-       signifies end-of-input.  Warn about negative chars.  Mention
-       the portable Standard C character set.
-
-       The GNU coding standard says CFLAGS and YFLAGS are reserved
-       for the installer to set.
-       * lib/Makefile.am (AM_CFLAGS): Renamed from CFLAGS.
-       * src/Makefile.am (AM_CFLAGS): Likewise.
-       (AM_YFLAGS): Renamed from YFLAGS.
-
-       Fix some MAX and MIN problems.
-       * src/gram.h (ITEM_NUMBER_MIN): MIN_MAX -> INT_MIN.
-       * src/lalr.h (GOTO_NUMBER_MAX): INT_MAX -> SHRT_MAX.
-       * src/symtab.h (SYMBOL_NUMBER_MAX): New macro.
-       * src/reader.c (reader): Use it.
-
-       * tests/regression.at (Braces parsing): Use grep, not fgrep, as
-       POSIX 1003.1-2001 has removed fgrep.
-
-2002-10-04  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
-
-       * lib/bbitset.h (BITSET_WINDEX_MAX): Redefine so that it cannot be
-       interpreted as signed.
-       * lib/ebitset.c (ebitset_list): Fix bug.
-
-2002-10-01  Paul Eggert  <eggert@twinsun.com>
-
-       More fixes for 64-bit hosts and large bitsets.
-
-       * lib/abitset.c (struct abitset_struct.n_bits, abitset_small_list,
-       abitset_size, abitset_list, abitset_list_reverse, abitset_list):
-       Use bitset_bindex, not int or unsigned int or size_t, to count bits.
-       * lib/bbitset.h (struct bitset_vtable.size, struct bitset_vtable.count,
-       struct bitset_vtable.list, struct bitset_vtable.list_reverse,
-       bitset_count_, bitset_next, bitset_prev, bitset_first, bitset_last,
-       bitset_count_): Likewise.
-       * lib/bitset.h (bitset_iterator.num, bitset_iterator.i,
-       bitset_first, bitset_last): Likewise.
-       * lib/bitset_stats.c (bitset_stats_size, bitset_stats_list,
-       bitset_stats_list_reverse, bitset_stats_size,
-       bitset_stats_count, bitset_stats_list, bitset_stat_list_reverse):
-       Likewise.
-       * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
-       * lib/bitsetv.c (bitsetv_alloc, bitsetv_create, bitsetv_free,
-       bitsetv_zero, bitsetv_ones, bitsetv_transitive_closure,
-       bitsetv_reflexive_transitive_closure): Likewise.
-       * lib/bitsetv.h (bitsetv_alloc, bitsetv_create): Likewise.
-       * lib/ebitset.c (ebitset_size, ebitset_list, ebitset_list_reverse):
-       Likewise.
-       * lib/lbitset.c (lbitset_size, lbitset_list, lbitset_list_merge):
-       Likewise.
-
-       * lib/abitset.c (abitset_ones, abitset_zero, abitset_bytes):
-       Use size_t, not unsigned int, to count bytes.
-       * lib/abitset.h (abitset_bytes): Likewise.
-       * lib/bitset.c (bitset_bytes, bitset_alloc, bitset_obstack_alloc):
-       Likewise.
-       * lib/bitset.h (bitset_bytes): Likewise.
-       * lib/bitset_stats.c (bitset_stats_bytes, bitset_stats_init): Likewise.
-       * lib/bitset_stats.h (bitset_stats_bytes): Likewise.
-       * lib/bitsetv.c (bitsetv_alloc): Likewise.
-       * lib/ebitset.c (ebitset_bytes): Likewise.
-       * lib/ebitset.h (ebitset_bytes): Likewise.
-       * lib/lbitset.c (lbitset_bytes): Likewise.
-       * lib/lbitset.h (lbitset_bytes): Likewise.
-
-       * lib/abitset.c (abitset_empty_p, abitset_not, abitset_equal_p,
-       abitset_subset_p, abitset_disjoint_p, abitset_and,
-       abitset_and_cmp, abitset_andn, abitset_andn_cmp, abitset_or,
-       abitset_or_cmp, abitset_xor, abitset_xor_cmp, abitset_and_or,
-       abitset_and_or_cmp, abitset_andn_or, abitset_andn_or_cmp,
-       abitset_or_and, abitset_or_and_cmp):
-       Use bitset_windex instead of unsigned int.
-       * lib/bitsetv.c (bitsetv_dump, debug_bitsetv): Likewise.
-       * lib/ebitset.c (struct ebitset_struct.size, ebitset_elts_grow,
-       ebitset_elt_add, ebitset_elt_remove, ebitset_weed,
-       ebitset_elt_find, ebitset_list_reverse, ebitset_list, ebitset_init):
-       Likewise.
-       * lib/lbitset.c (lbitset_ones, lbitset_not): Likewise.
-
-       * lib/bitset.c (bitset_print):
-       Use proper printf formats for widths of integer types.
-       * lib/bitset_stats.c (bitset_percent_histogram_print,
-       bitset_log_histogram_print, bitset_stats_print_1): Likewise.
-       * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
-       * lib/bitsetv.c (bitsetv_dump, debug_bitsetv): Likewise.
-       * lib/lbitset.c (lbitset_bytes): Likewise.
-
-       * lib/bbitset.h (BITSET_BINDEX_MAX, BITSET_WINDEX_MAX,
-       BITSET_SIZE_MAX): New macros.
-       (BITSET_INDEX_MAX): Remove.  It wasn't right, since it assumed that
-       sizeof (bitset_word) == sizeof (bitset_windex).  All uses changed
-       to BITSET_WINDEX_MAX.
-
-       * lib/bitset.c (bitset_next, bitset_prev, bitset_first,
-       bitset_last): Return BITSET_BINDEX_MAX (not -1) for no value,
-       since we now return the bitset_bindex type (not int).
-
-       * lib/bitsetv.c (bitsetv_alloc): Check for arithmetic overflow
-       when computing sizes.
-       * lib/ebitset.c (ebitset_elts_grow): Likewise.
-
-       * lib/lbitset.c (lbitset_elt_find): Simplify windex calculation
-       and avoid cast to unsigned.
-
-2002-09-30  Akim Demaille  <akim@epita.fr>
-
-       * lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
-       * lib/bitset_stats.c, lib/bitsetv.c, lib/ebitset.c, lib/lbitset.c:
-       Updates from Michael Hayes.
-
-2002-09-30  Art Haas  <ahaas@neosoft.com>
-
-       * configure.ac: Update AC_OUTPUT and AM_CONFIG_HEADER
-       invocations.
-       * tests/cxx-type.at (declarator): Don't rely on NDEBUG being not
-       defined.
-
-2002-09-27  Akim Demaille  <akim@epita.fr>
-
-       Version 1.49c.
-
-2002-09-27  Akim Demaille  <akim@epita.fr>
-
-       * configure.ac (AM_INIT_AUTOMAKE): We _need_ 1.7.
-       (Because of AC_LIBSOURCE).
-
-2002-09-27  Akim Demaille  <akim@epita.fr>
-
-       Playing with Autoscan.
-
-       * configure.ac: Remove the old LIBOBJ tweaks.
-       (AC_REPLACE_FUNCS): Add strrchr and strtol.
-       * lib/strrchr.c: New.
-       * lib/strtol.c: New, from the Coreutils 4.5.1.
-
-2002-09-27  Akim Demaille  <akim@epita.fr>
-
-       Playing with Autoscan.
-
-       * m4/prereq.m4 (jm_PREREQ_ARGMATCH, jm_FUNC_ARGMATCH): New.
-       * lib/Makefile.am (libbison_a_SOURCES): No longer include
-       argmatch.c and argmatch.h, since they are AC_LIBSOURCE'd.
-       * lib/strcasecmp.c, lib/strncasecmp.c, lib/memcmp.c: New, from the
-       Coreutils 4.5.1.
-
-2002-09-24  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Stack Overflow): xref to Recursion.
-       (Frequently Asked Questions, Parser Stack Overflow): New.
-
-2002-09-13  Akim Demaille  <akim@epita.fr>
-
-       Playing with autoscan.
-
-       * src/reader.c (get_merge_function): Use xstrdup, not strdup.
-       * src/files.c (skeleton_find): Remove, unused.
-       * m4/memcmp.m4: New, from the Coreutils 4.5.1.
-       * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Run jm_FUNC_MEMCMP.
-
-2002-09-13  Akim Demaille  <akim@epita.fr>
-
-       * configure.ac (AM_INIT_AUTOMAKE): Require Automake 1.6.3.
-       * Makefile.am (AUTOMAKE_OPTIONS): Don't.
-
-2002-09-13  Akim Demaille  <akim@epita.fr>
-
-       * configure.ac: Require 2.54.
-       s/jm_FUNC_MALLOC/AC_FUNC_MALLOC/.
-       s/jm_FUNC_REALLOC/AC_FUNC_REALLOC/.
-       * m4/c-bs-a.m4, m4/malloc.m4, m4/mbstate_t.m4, m4/realloc.m4:
-       Remove, provided by Autoconf macros.
-
-2002-09-12  Akim Demaille  <akim@epita.fr>
-
-       * m4/prereq.m4: Update, from Coreutils 4.5.1.
-
-2002-09-12  Akim Demaille  <akim@epita.fr>
-
-       * m4/prereq.m4: Update, from Fileutils 4.1.5.
-       * configure.ac (jm_PREREQ_TEMPNAME): Invoke it.
-       Reported by Martin Mokrejs.
-
-2002-09-10  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y: Associate a human readable string to each
-       token type.
-       * tests/regression.at (Invalid inputs): Adjust.
-
-2002-09-10  Gary V. Vaughan  <gary@gnu.org>
-
-       * tests/Makefile.am ($(srcdir)/package.m4): Bison now ships
-       with an Autoconf-2.5x style configure.ac.
-
-2002-09-06  Paul Eggert  <eggert@twinsun.com>
-
-       * doc/bison.texinfo (Conditions): Make explicit that the GPL
-       exception applies only to yacc.c.  This is a modification of a
-       patch originally suggested by Akim Demaille.
-
-2002-09-06  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_copyright): Move the GPL exception comment from
-       here to...
-       * data/yacc.c: here.
-
-       * data/lalr1.cc (struct yyltype): Don't define it, since we use
-       LocationType.
-       (b4_ltype): Default to yy::Location from location.hh.
-
-2002-09-04  Jim Meyering  <jim@meyering.net>
-
-       * data/yacc.c: Guard the declaration of yytoknum also with
-       `#ifdef YYPRINT', so it is declared only when used.
-
-2002-09-04  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Rename as...
-       * configure.ac: this.
-       Bump to 1.49c.
-
-2002-09-04  Akim Demaille  <akim@epita.fr>
-
-       * src/assoc.c, src/closure.c, src/gram.c, src/injections.c,
-       * src/lalr.c, src/LR0.c, src/relation.c, src/tables.c: Don't
-       translate maintainer only messages.
-
-2002-08-12  Paul Eggert  <eggert@twinsun.com>
-
-       Version 1.49b.
-
-       * Makefile.am (SUBDIRS): Remove intl.
-       (DISTCLEANFILES): Remove.
-       * NEWS: Mention that GNU M4 is now required.  Clarify what is
-       meant by "larger grammars".  Mention the pt_BR translation.
-       * configure.in (AC_CHECK_DECLS): Add getenv, getopt.
-       (AM_GNU_GETTEXT_VERSION): New macro, replacing GETTEXT_VERSION var.
-       Bump version from 0.11.2 to 0.11.5.
-       (BISON_PREREQ_STAGE): Remove.
-       (AM_GNU_GETTEXT): Use external gettext.
-       (AC_OUTPUT): Remove intl/Makefile.
-
-       * config/depcomp, config/install-sh: Sync with Automake 1.6.3.
-
-       * data/glr.c: Include string.h, for strlen.
-       (yyreportParseError): Use size_t for yysize.
-       (yy_yypstack): No longer nested inside yypstates, as nested
-       functions are not portable.  Do not assume size_t is the
-       same width as int.
-       (yypstates): Do not assume that ptrdiff_t is the same width
-       as int, and similarly for yyposn and YYINDEX.
-
-       * data/yacc.c: Fix comment about `$$ = $1': it can copy garbage.
-
-       * lib/Makefile.am (INCLUDES): Do not include from the intl
-       directory, which has been removed.
-       * src/Makefile.am (INCLUDES): Likewise.
-
-       * lib/Makefile.am (libbison_a_SOURCES): Add unlocked-io.h.
-       (bitsets_sources, additional_bitsets_sources, timevars_sources):
-       New vars.
-
-       * lib/Makefile.am (libbison_a_SOURCES): Avoid +=, a GNU make extension.
-       * tests/Makefile.am (EXTRA_DIST): Likewise.
-
-       * lib/abitset.c (abitset_reverse_list, ebitset_reverse_list):
-       Do not assume that bitset_windex is the same width as unsigned.
-
-       * lib/abitset.c (abitset_unused_clear): Do not assume that
-       bitset_word is the same width as int.
-       * lib/bbitset.h (BITSET_INDEX_MAX, BITSET_MSB): Likewise.
-       * lib/bitset.h (bitset_set, bitset_reset): Likewise.
-       * lib/bitset_stats.c (bitset_stats_set, bitset_stats_reset): Likewise.
-       * lib/ebitset.c (ebitset_set, ebitset_reset): Likewise.
-       * lib/lbitset.c (lbitset_set, lbitset_reset): Likewise.
-
-       * lib/abitset.c (abitset_op1): Use -1, not ~0, as memset arg (for
-       portability to one's complement hosts!).
-       * lib/ebitset.c (ebitset_op1): Likewise.
-       * lib/lbitset.c (lbitset_op1): Likewise.
-
-       * lib/argmatch.c, lib/quotearg.c, quotearg.h: Sync with GNU tar.
-       * lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
-       lib/hash.c, lib/hash.h, lib/strnlen.c, lib/xmalloc.c:
-       Sync with fileutils.
-       * lib/error.c, lib/getopt.c, lib/getopt.h, lib/getopt1.c,
-       lib/gettext.h: Sync with diffutils.
-
-       * lib/memrchr.c, lib/mkstemp.c, lib/strchr.c, lib/strnlen.c,
-       lib/strspn.c, lib/tempname.c: Use GPL, not LGPL.
-
-       * lib/obstack.c, lib/obstack.h: Sync with fileutils, except use
-       PROTOTYPES to check for prototypes, and "defined __STDC__" to
-       check for void *.
-
-       * lib/bbitset.h (BITSET_WORD_BITS): Now of type unsigned, not
-       size_t; the old version tried to do this but casted improperly.
-       (bitset_bindex, bitset_windex): Now size_t, not unsigned long.
-       (bitset_test): Now returns int, not unsigned long.
-
-       * lib/bitset_stats.c: Include "gettext.h".
-       (_): New macro.
-       (bitset_stats_set, bitset_stats_reset, bitset_stats_test): Don't
-       name locals "index", as it generates unnecessary warnings on some
-       hosts that have an "index" function.
-
-       * lib/bitset_stats.c (bitset_stats_print_1, bitset_stats_print,
-       bitset_stats_read, bitset_stats_write): Wrap strings in _() if
-       they need translation.
-       * src/LR0.c (state_list_append, new_itemsets, get_state,
-       append_states, generate_states): Likewise.
-       * src/assoc.c (assoc_to_string): Likewise.
-       * src/closure.c (print_closure, set_firsts, closure): Likewise.
-       * src/gram.c (grammar_dump): Likewise.
-       * src/injections.c (injections_compute): Likewise.
-       * src/lalr.c (lookaheads_print): Likewise.
-       * src/relation.c (relation_transpose): Likewise.
-       * src/scan-gram.l: Likewise.
-       * src/tables.c (table_grow, pack_vector): Likewise.
-
-       * m4/Makefile.am (EXTRA_DIST): Remove codeset.m4,
-       glibc21.m4, isc-posix.m4 lcmessage.m4, stage.m4.
-       * m4/malloc.m4, m4/realloc.m4: Sync with diffutils.
-       * m4/mbstate_t.m4: Sync with fileutils.
-       * m4/prereq.m4 (jm_PREREQ_QUOTEARG): AC_MBSTATE_T -> AC_TYPE_MBSTATE_T.
-
-       * po/LINGUAS: Add pt_BR.
-       * po/POTFILES.in: Add src/assoc.c, src/closure.c, src/gram.c,
-       src/main.c, src/relation.c, src/state.c, lib/bitset_stats.c,
-       lib/timevar.c.
-       Use src/parse-gram.y instead of src/parse-gram.c, as the gettext
-       manual recommends.
-       Similarly, use src/scan-gram.l instead of src/scan-gram.c.
-
-       * src/complain.c (strerror_r): Remove decl; not needed.
-       (strerror): Use same pattern as ../lib/error.c.
-
-       * src/files.c, src/files.h (compute_header_macro): Remove; unused.
-
-       * src/gram.c (grammar_dump): Do not assume ptrdiff_t fits in int.
-
-       * src/main.c (main): Cast result of bindtextdomain and textdomain
-       to void, to avoid a GCC warning when --disable-nls is in effect.
-
-       * src/scan-gram.l: Use strings rather than escapes when possible,
-       to minimize the number of warnings from xgettext.
-       (handle_action_dollar, handle_action_at): Don't use isdigit,
-       as it mishandles negative chars and it may not work as expected
-       outside the C locale.
-
-       * src/symtab.c (symbol_get): Don't cast LHS of an assignment;
-       this is a GCC extension and is not portable to other compilers.
-
-       * src/system.h (alloca): Use same pattern as ../lib/error.c.
-       Do not include <ctype.h>; no longer needed.
-       Do not include <malloc.h>; no longer needed (and generates
-       warnings on OpenBSD 3.0).
-
-       * tests/cxx-type.at (yylex): Do not pass signed char to isupper;
-       it's not portable.
-
-       * tests/regression.at: Do not use 'cc -c input.c -o input';
-       Sun C rejects this.  Instead, use 'cc -c input.c -o input.o'.
-
-       * tests/synclines.at (AC_SYNCLINES_COMPILE): Accept any nonzero
-       exit status as failure, not just exit status 1.  Sun C exits
-       with status 2 sometimes.
-
-       * tests/torture.at (AT_INCREASE_DATA_SIZE): New macro.
-       Use it for the two large tests.
-
-2002-08-02  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (conflicts_output): Don't output rules never
-       reduced here, since anyway that computation doesn't work.
-       * src/gram.h, src/gram.h (rule_filter_t, rule_useful_p)
-       (rule_useless_p, rule_never_reduced_p): New.
-       (grammar_rules_partial_print): Use a filter instead of a range.
-       Display the title only if needed.
-       (grammar_rules_print): Adjust.
-       (grammar_rules_never_reduced_report): New.
-       * src/tables.c (action_row): Move the computation of rules never
-       reduced to...
-       (token_actions): here.
-       * src/main.c (main): Make the parser before making the report, so
-       that rules never reduced are computed.
-       Call grammar_rules_never_reduced_report.
-       * src/print.c (print_results): Report rules never reduced.
-       * tests/conflicts.at, tests/reduce.at: Adjust.
-
-2002-08-01  Akim Demaille  <akim@epita.fr>
-
-       Instead of attaching lookaheads and duplicating the rules being
-       reduced by a state, attach the lookaheads to the reductions.
-
-       * src/state.h (state_t): Remove the `lookaheads',
-       `lookaheads_rule' member.
-       (reductions_t): Add a `lookaheads' member.
-       Use a regular array for the `rules'.
-       * src/state.c (reductions_new): Initialize the lookaheads member
-       to 0.
-       (state_rule_lookaheads_print): Adjust.
-       * src/state.h, src/state.c (state_reductions_find): New.
-       * src/conflicts.c (resolve_sr_conflict, set_conflicts)
-       (count_rr_conflicts): Adjust.
-       * src/lalr.c (LArule): Remove.
-       (add_lookback_edge): Adjust.
-       (state_lookaheads_count): New.
-       (states_lookaheads_initialize): Merge into...
-       (initialize_LA): this.
-       (lalr_free): Adjust.
-       * src/main.c (main): Don't free nullable and derives too early: it
-       is used by --verbose.
-       * src/print.c, src/print_graph.c, src/tables.c: Adjust.
-
-2002-08-01  Akim Demaille  <akim@epita.fr>
-
-       * src/derives.h, src/derives.c (derives): A `rule_t***' instead of
-       `rule_number_t**'.
-       (set_derives, free_derives): Rename as...
-       (derives_compute, derives_free): this.
-       Adjust all dependencies.
-       * src/nullable.c (set_nullable, free_nullable): Rename as...
-       (nullable_compute, nullable_free): these.
-       (rule_list_t): Store rule_t *, not rule_number_t.
-       * src/state.c (state_rule_lookaheads_print): Directly compare rule
-       pointers, instead of their numbers.
-       * src/main.c (main): Call nullable_free, and derives_free earlier,
-       as they were lo longer used.
-
-2002-08-01  Akim Demaille  <akim@epita.fr>
-
-       * lib/timevar.c (get_time): Include children time.
-       * src/lalr.h (LA, LArule): Don't export them: used with the
-       state_t.
-       * src/lalr.c (LA, LArule): Static.
-       * src/lalr.h, src/lalr.c (lalr_free): New.
-       * src/main.c (main): Call it.
-       * src/tables.c (pack_vector): Check whether loc is >= to the
-       table_size, not >.
-       (pack_tables): Don't free froms, tos, conflict_tos, and pos...
-       (tables_generate): do it, since that's also it which allocates
-       them.
-       Don't free LA and LArule, main does.
-
-2002-07-31  Akim Demaille  <akim@epita.fr>
-
-       Separate parser tables computation and output.
-
-       * src/output.c (nvectors, base_t, base, base_ninf, conflict_table)
-       (conflict_list, conflict_list_cnt, table, check, table_ninf)
-       (yydefgoto, yydefact, high): Move to...
-       * src/tables.h, src/tables.c: here.
-       * src/output.c (vector_number_t, VECTOR_NUMBER_MAX)
-       (VECTOR_NUMBER_MIN, state_number_to_vector_number)
-       (symbol_number_to_vector_number, nvectors, BASE_MAX, BASE_MIN)
-       (froms, tos, conflict_tos, tally, width, action_t, ACTION_MAX)
-       (ACTION_MIN, actrow, order, nentries, pos, conflrow)
-       (conflict_list_free, table_size, lowzero, table_grow, conflict_row)
-       (action_row, save_row, token_actions, save_column, default_goto)
-       (goto_actions, sort_actions, matching_state, pack_vector)
-       (table_ninf_remap, pack_table, prepare_actions): Move to...
-       * src/tables.c: here.
-       * src/tables.h, src/tables.c(tables_generate, tables_free): New.
-       * src/output.c (token_actions, output_base, output_conflicts)
-       (output_check): Merge into...
-       (prepare_actions): this.
-       (actions_output): Rename as...
-       (user_actions_output): this.
-       * src/main.c (main): Call tables_generate and tables_free.
-
-2002-07-31  Akim Demaille  <akim@epita.fr>
-
-       Steal GCC's --time-report support.
-
-       * lib/timevar.c, lib/timevar.h, lib/timevar.def: New,
-       stolen/adjusted from GCC.
-       * m4/stage.m4: Remove time related checks.
-       * m4/timevar.m4: New.
-       * configure.in: Adjust.
-       * src/system.h: Adjust to using timevar.h.
-       * src/getargs.h, src/getargs.c: Support trace_time for
-       --trace=time.
-       * src/main.c (stage): Remove.
-       (main): Replace `stage' invocations with timevar calls.
-       * src/output.c: Insert pertinent timevar calls.
-
-2002-07-31  Akim Demaille  <akim@epita.fr>
-
-       Let --trace have arguments.
-
-       * src/getargs.h (enum trace_e): New.
-       * src/getargs.c (trace_args, trace_types, trace_argmatch): New.
-       (long_options, short_options): --trace/-T takes an optional
-       argument.
-       Change all the uses of trace_flag to reflect the new flags.
-       * tests/sets.at (Firsts, Nullable, Broken Closure): Use --trace=sets.
-
-       Strengthen `stage' portability.
-
-       * m4/stage.m4 (BISON_PREREQ_STAGE): New.
-       * configure.in: Use it.
-       Don't check for malloc.h and sys/times.h.
-       * src/system.h: Include them when appropriate.
-       * src/main.c (stage): Compile only when mallinfo, struct mallinfo,
-       times and struct tms are available.
-
-2002-07-30  Akim Demaille  <akim@epita.fr>
-
-       In verbose parse error message, don't report `error' as an
-       expected token.
-       * tests/actions.at (Printers and Destructors): Adjust.
-       * tests/calc.at (Calculator $1): Adjust.
-       * data/yacc.c, data/glr.c, data/lalr1.c: When making the verbose
-       error message, do not report the parser accepts the error token in
-       that state.
-
-2002-07-30  Akim Demaille  <akim@epita.fr>
-
-       Normalize conflict related messages.
-
-       * src/complain.h, src/complain.c (warn, complain): New.
-       * src/conflicts.c (conflicts_print): Use them.
-       (conflict_report_yacc): New, extracted from...
-       (conflicts_print): here.
-       * tests/conflicts.at, tests/existing.at: Adjust.
-
-2002-07-30  Akim Demaille  <akim@epita.fr>
-
-       Report rules which are never reduced by the parser: those hidden
-       by conflicts.
-
-       * src/LR0.c (save_reductions): Don't make the final state too
-       different: save its reduction (accept) instead of having a state
-       without any action (no shift or goto, no reduce).
-       Note: the final state is now a ``regular'' state, i.e., the
-       parsers now contain `reduce 0' as default reduction.
-       Nevertheless, since they decide to `accept' when yystate =
-       final_state, they still will not reduce rule 0.
-       * src/print.c (print_actions, print_reduction): Adjust.
-       * src/output.c (action_row): Track reduced rules.
-       (token_actions): Report rules never reduced.
-       * tests/conflicts.at, tests/regression.at: Adjust.
-
-2002-07-30  Akim Demaille  <akim@epita.fr>
-
-       `stage' was accidently included in a previous patch.
-       Initiate its autoconfiscation.
-
-       * configure.in: Look for malloc.h and sys/times.h.
-       * src/main.c (stage): Adjust.
-       Report only when trace_flag.
-
-2002-07-29  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h, src/state.c (transitions_t): Holds state_t*'s, not
-       state_number_t.
-       (errs_t): symbol_t*, not symbol_number_t.
-       (reductions_t): rule_t*, not rule_number_t.
-       (FOR_EACH_SHIFT): New.
-       * src/LR0.c, src/conflicts.c, src/lalr.c, src/output.c
-       * src/print.c, src/print_graph.c: Adjust.
-
-2002-07-29  Akim Demaille  <akim@epita.fr>
-
-       Use $accept and $end, as BYacc and BTYacc do, instead of $axiom and $.
-
-       * src/symtab.h, src/symtab.c (eoftoken, axiom): Rename as...
-       (endtoken, accept): these.
-       * src/reader.c (reader): Set endtoken's default tag to "$end".
-       Set undeftoken's tag to "$undefined" instead of "$undefined.".
-       * doc/bison.texinfo (Table of Symbols): Mention $accept and $end.
-       Adjust.
-
-2002-07-29  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (reduce_grammar): When the language is empty,
-       complain about the start symbol, not the axiom.
-       Use its location.
-       * tests/reduce.at (Empty Language): New.
-
-2002-07-26  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.h, src/reader.c (gram_error): ... can't get
-       yycontrol without making too strong assumptions on the parser
-       itself.
-       * src/output.c (prepare_tokens): Use the real 0th value of
-       token_translations instead of `0'.
-       * src/parse-gram.y (yyerror): Don't rely on yycontrol being
-       visible here.
-       * data/yacc.c (yyreport_parse_error): Rename yylocation as yylloc
-       for the time being: %locations ought to provide it to yyerror.
-
-2002-07-25  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (prepare_tokens): Go up to ntokens, not ntokens + 1.
-       * doc/bison.texinfo (Decl Summary): s/$illegal/$undefined./.
-       * tests/regression.at (Web2c Actions): Adjust.
-
-2002-07-25  Akim Demaille  <akim@epita.fr>
-
-       Stop storing rules from 1 to nrules + 1.
-
-       * src/LR0.c, src/closure.c, src/derives.c, src/gram.c, src/lalr.c
-       * src/nullable.c, src/output.c, src/print.c, src/reader.c
-       * src/reduce.c: Allocate and free from &rules[0], not &rules[1].
-       Iterate from 0 to nrules.
-       Use rule_number_as_item_number and item_number_as_rule_number.
-       Adjust to `derive' now containing possibly 0.
-       * src/gram.h (rule_number_as_item_number, item_number_as_rule_number):
-       Handle the `- 1' part in rule numbers from/to item numbers.
-       * src/conflicts.c (log_resolution): Fix the message which reversed
-       shift and reduce.
-       * src/output.c (action_row): Initialize default_rule to -1.
-       (token_actions): Adjust.
-       * tests/sets.at (Nullable, Firsts): Fix the previously bogus
-       expected output.
-       * tests/conflicts.at (Resolved SR Conflicts): Likewise.
-
-2002-07-25  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_c_function, b4_c_ansi_args, b4_c_ansi_arg)
-       (b4_c_knr_arg_names, b4_c_knr_arg_name, b4_c_knr_arg_decls)
-       (b4_c_knr_arg_decl): New.
-       * data/yacc.c: Use it to define yysymprint, yydestruct, and
-       yyreport_parse_error.
-
-2002-07-25  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c (yyreport_parse_error): New, extracted from...
-       (yyparse): here.
-       (yydestruct, yysymprint): Move above yyparse.
-       Be K&R compliant.
-
-2002-07-25  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_ints_in, b4_int_type, b4_int_type_for): New,
-       replace...
-       (b4_sint_type, b4_uint_type): these.
-       * data/yacc.c, data/glr.c, data/lalr1.cc: Use b4_int_type_for.
-       * tests/regression.at (Web2c Actions): Adjust.
-
-2002-07-25  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (TIEM_NUMBER_MAX): New.
-       (item_number_of_rule_number, rule_number_of_item_number): Rename
-       as...
-       (rule_number_as_item_number, item_number_as_rule_number): these.
-       Adjust dependencies.
-       * src/output.c (vector_number_t, VECTOR_NUMBER_MAX)
-       (VECTOR_NUMBER_MIN, state_number_to_vector_number)
-       (symbol_number_to_vector_number): New.
-       (order): Of vector_number_t* type.
-       (base_t, BASE_MAX, BASE_MIN): New.
-       (froms, tos, width, pos, check): Of base_t type.
-       (action_number_t, ACTION_MIN, ACTION_MAX): New.
-       (actrow): Of action_number_t type.
-       (conflrow): Of unsigned int type.
-       (table_ninf, base_ninf): New.
-       (GENERATE_MUSCLE_INSERT_TABLE): Also output the `*_min' value.
-       (muscle_insert_int_table, muscle_insert_base_table)
-       (muscle_insert_rule_number_table): New.
-       (prepare_tokens): Output `toknum' as int_table.
-       (action_row): Returns a rule_number_t.
-       Use ACTION_MIN, not SHRT_MIN.
-       (token_actions): yydefact is rule_number_t*.
-       (table_ninf_remap): New.
-       (pack_table): Use it for `base' and `table'.
-       * data/yacc.c, data/glr.c, data/lalr1.cc (YYFLAG): Remove,
-       replaced with...
-       (YYPACT_NINF, YYTABLE_NINF): these.
-       (yypact, yytable): Compute their types instead of hard-coded
-       `short'.
-       * tests/regression.at (Web2c Actions): Adjust.
-
-2002-07-19  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l (id): Can start with an underscore.
-
-2002-07-16  Akim Demaille  <akim@epita.fr>
-
-       * src/assoc.c, src/asssoc.h (assoc_t, assoc_to_string): New.
-       Adjust all former `associativity' dependencies.
-       * src/symtab.c (symbol_new): Default associativity is `undef', not
-       `right'.
-       (symbol_check_alias_consistence): Adjust.
-
-2002-07-09  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Properly set the ``header'' part.
-       Use @dircategory ``GNU programming tools'' as per Texinfo's
-       documentation.
-       Use @copying.
-
-2002-07-09  Akim Demaille  <akim@epita.fr>
-
-       * lib/quotearg.h: Protect against multiple inclusions.
-       * src/location.h (location_t): Add a `file' member.
-       (LOCATION_RESET, LOCATION_PRINT): Adjust.
-       * src/complain.c (warn_at, complain_at, fatal_at): Drop
-       `error_one_per_line' support.
-
-2002-07-09  Akim Demaille  <akim@epita.fr>
-
-       * src/complain.h, src/complain.c (warn, complain): Remove, unused.
-       * src/reader.c (lineno): Remove.
-       Adjust all dependencies.
-       (get_merge_function): Take a location and use complain_at.
-       * src/symtab.h, src/symtab.c (symbol_make_alias): Likewise.
-       * tests/regression.at (Invalid inputs, Mixing %token styles):
-       Adjust.
-
-2002-07-09  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y (rules_or_grammar_declaration): Add an error
-       recovery rule, and forbid extensions when --yacc.
-       (gram_error): Use complain_at.
-       * src/reader.c (reader): Exit if there were parse errors.
-
-2002-07-09  Akim Demaille  <akim@epita.fr>
-
-       * tests/synclines.at (AT_SYNCLINES_COMPILE): New.
-       (AT_TEST_SYNCLINE): Adjust to unusual GCC outputs.
-       Reported by R Blake <blakers@mac.com>.
-
-2002-07-09  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c: Output the copyright notive in the header.
-
-2002-07-03  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (froms, tos): Are state_number_t.
-       (save_column): sp, sp1, and sp2 are state_number_t.
-       (prepare): Rename `final' as `final_state_number', `nnts' as
-       `nterms_number', `nrules' as `rules_number', `nstates' as
-       `states_number', and `ntokens' as `tokens_number'.  Remove `nsym',
-       unused.
-       * data/yacc.c, data/glr.c, data/lalr1.cc: Adjust.
-       * data/lalr1.cc (nsym_): Remove, unused.
-
-2002-07-03  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h, src/lalr.c (goto_number_t): New.
-       * src/lalr.c (goto_list_t): New.
-       Propagate them.
-       * src/nullable.c (rule_list_t): New.
-       Propagate.
-       * src/types.h: Remove.
-
-2002-07-03  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (print_fderives): Use rule_rhs_print.
-       * src/derives.c (print_derives): Use rule_rhs_print.
-       (rule_list_t): New, replaces `shorts'.
-       (set_derives): Add comments.
-       * tests/sets.at (Nullable, Firsts): Adjust.
-
-2002-07-03  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (prepare_actions): Free `tally' and `width'.
-       (prepare_actions): Allocate and free `order'.
-       * src/symtab.c (symbols_free): Free `symbols'.
-       * src/scan-gram.l (scanner_free): Clear Flex's scanners memory.
-       * src/output.c (m4_invoke): Move to...
-       * src/scan-skel.l: here.
-       (<<EOF>>): Close yyout, and free its name.
-
-2002-07-03  Akim Demaille  <akim@epita.fr>
-
-       Fix some memory leaks, and fix a bug: state 0 was examined twice.
-
-       * src/LR0.c (new_state): Merge into...
-       (state_list_append): this.
-       (new_states): Merge into...
-       (generate_states): here.
-       (set_states): Don't ensure a proper `errs' state member here, do it...
-       * src/conflicts.c (conflicts_solve): here.
-       * src/state.h, src/state.c: Comment changes.
-       (state_t): Rename member `shifts' as `transitions'.
-       Adjust all dependencies.
-       (errs_new): For consistency, also take the values as argument.
-       (errs_dup): Remove.
-       (state_errs_set): New.
-       (state_reductions_set, state_transitions_set): Assert that no
-       previous value was assigned.
-       (state_free): New.
-       (states_free): Use it.
-       * src/conflicts.c (resolve_sr_conflict): Don't use an `errs_t' as
-       temporary storage: use `errs' and `nerrs' as elsewhere.
-       (set_conflicts): Allocate and free this `errs'.
-
-2002-07-02  Akim Demaille  <akim@epita.fr>
-
-       * lib/libiberty.h: New.
-       * lib: Update the bitset implementation from upstream.
-       * src/closure.c, src/lalr.c, src/output.c, src/print_graph.c,
-       * src/state.c: Use BITSET_FOR_EACH, not BITSET_EXECUTE.
-       * src/main.c: Adjust bitset stats calls.
-
-2002-07-01  Paul Eggert  <eggert@twinsun.com>
-
-       * src/scan-gram.l (<SC_ESCAPED_CHARACTER>): Convert to unsigned
-       char, so that negative chars don't collide with $.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       Have the GLR tests be `warning' checked, and fix the warnings.
-
-       * data/glr.c (YYFPRINTF): Always define it, not only when YYDEBUG
-       (yyuserAction, yyreportAmbiguity): `Use' all the arguments.
-       (yyremoveDeletes): `yyi' and `yyj' are size_t.
-       Use YYFPRINTF when under if (YYDEBUG) to avoid empty `if' bodies.
-       (yyaddDeferredAction): static.
-       (yyglrReduce): yyi, yyk, amd yyposn are size_t.
-       (yyreportParseError): yyprefix is const.
-       yytokenp is used only when verbose.
-       (yy__GNUC__): Replace with __GNUC__.
-       (yypdumpstack): yyi is size_t.
-       (yypreference): Un-yy local variables and arguments, to avoid
-       clashes with `yyr1'.  Anyway, we are not in the user name space.
-       (yytname_size): be an int, as is compared with ints.
-       * tests/testsuite.at (AT_COMPILE, AT_PARSER_CHECK): New.
-       Use them.
-       * tests/cxx-gram.at: Use quotation to protect $1.
-       Use AT_COMPILE to enable warnings hunts.
-       Prototype yylex and yyerror.
-       `Use' argc.
-       Include `string.h', not `strings.h'.
-       Produce and prototype stmtMerge only when used.
-       yylex takes a location.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       We spend a lot of time in quotearg, in particular when --verbose.
-
-       * src/symtab.c (symbol_get): Store a quoted version of the key.
-       (symbol_tag_get, symbol_tag_get_n, symbol_tag_print): Remove.
-       Adjust all callers.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (reductions_t): Rename member `nreds' as num.
-       (errs_t): Rename members `nerrs' and `errs' as `num' and `symbols'.
-       * src/state.c (ERRS_ALLOC, REDUCTIONS_ALLOC): Use the correct types.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h, src/state.c (shift_t, SHIFT_SYMBOL, SHIFT_IS_SHIFT)
-       (SHIFT_IS_GOTO, SHIFT_IS_ERROR, SHIFT_DISABLE, SHIFT_IS_DISABLED)
-       (shifts_to): Rename as...
-       (transition_t, TRANSITION_SYMBOL, TRANSITION_IS_TRANSITION)
-       (TRANSITION_IS_GOTO, TRANSITION_IS_ERROR, TRANSITION_DISABLE)
-       (TRANSITION_IS_DISABLED, transitions_to): these.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/print.c (print_shifts, print_gotos): Merge into...
-       (print_transitions): this.
-       (print_transitions, print_errs, print_reductions): Align the
-       lookaheads columns.
-       (print_core, print_transitions, print_errs, print_state,
-       print_grammar): Output empty lines separator before, not after.
-       (state_default_rule_compute): Rename as...
-       (state_default_rule): this.
-       * tests/conflicts.at (Defaulted Conflicted Reduction),
-       (Unresolved SR Conflicts, Resolved SR Conflicts): Adjust.
-       * tests/regression.at (Rule Line Numbers, Web2c Report): Adjust.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       Display items as we display rules.
-
-       * src/gram.h, src/gram.c (rule_lhs_print): New.
-       * src/gram.c (grammar_rules_partial_print): Use it.
-       * src/print.c (print_core): Likewise.
-       * tests/conflicts.at (Defaulted Conflicted Reduction),
-       (Unresolved SR Conflicts): Adjust.
-       (Unresolved SR Conflicts): Adjust and rename as...
-       (Resolved SR Conflicts): this, as was meant.
-       * tests/regression.at (Web2c Report): Adjust.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/print.c (state_default_rule_compute): New, extracted from...
-       (print_reductions): here.
-       Pessimize, but clarify the code.
-       * tests/conflicts.at (Defaulted Conflicted Reduction): New.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (action_row): Let default_rule be always a rule
-       number.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (print_firsts, print_fderives, closure):
-       Use BITSET_EXECUTE.
-       * src/lalr.c (lookaheads_print): Likewise.
-       * src/state.c (state_rule_lookaheads_print): Likewise.
-       * src/print_graph.c (print_core): Likewise.
-       * src/print.c (print_reductions): Likewise.
-       * src/output.c (action_row): Likewise.
-       Use SHIFT_IS_DISABLED, SHIFT_IS_SHIFT and SHIFT_SYMBOL.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/print_graph.c: Use report_flag.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (traverse, digraph, matrix_print, transpose): Move
-       to...
-       * src/relation.h, src/relation.c (traverse, relation_digraph)
-       (relation_print, relation_transpose): New.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h, src/state.c (shifts_to): New.
-       * src/lalr.c (build_relations): Use it.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (rule_number_t, RULE_NUMBER_MAX, int_of_rule_number)
-       (item_number_of_rule_number, rule_number_of_item_number): New.
-       * src/LR0.c, src/closure.c, src/derives.c, src/derives.h,
-       * src/gram.c, src/lalr.c, src/nullable.c, src/output.c, src/print.c,
-       * src/print_graph.c, src/reader.c, src/reduce.c, src/reduce.h:
-       Propagate their use.
-       Much remains to be done, in particular wrt `shorts' from types.h.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.c (symbol_new): Initialize the `printer' member.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (save_reductions): Remove, replaced by...
-       * src/state.h, src/state.c (state_reductions_set): New.
-       (reductions, errs): Rename as...
-       (reductions_t, errs_t): these.
-       Adjust all dependencies.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (state_list_t, state_list_append): New.
-       (first_state, last_state): Now symbol_list_t.
-       (this_state): Remove.
-       (new_itemsets, append_states, save_reductions): Take a state_t as
-       argument.
-       (set_states, generate_states): Adjust.
-       (save_shifts): Remove, replaced by...
-       * src/state.h, src/state.c (state_shifts_set): New.
-       (shifts): Rename as...
-       (shifts_t): this.
-       Adjust all dependencies.
-       * src/state.h (state_t): Remove the `next' member.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/vcg.c (quote): Use slot 2, since we often pass symbol tag
-       escaped in slot 0.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       Use hash.h for the state hash table.
-
-       * src/LR0.c (STATE_HASH_SIZE, state_hash): Remove.
-       (allocate_storage): Use state_hash_new.
-       (free_storage): Use state_hash_free.
-       (new_state, get_state): Adjust.
-       * src/lalr.h, src/lalr.c (states): Move to...
-       * src/states.h (state_t): Remove the `link' member, no longer
-       used.
-       * src/states.h, src/states.c: here.
-       (state_hash_new, state_hash_free, state_hash_lookup)
-       (state_hash_insert, states_free): New.
-       * src/states.c (state_table, state_compare, state_hash): New.
-       * src/output.c (output_actions): Do not free states now, since we
-       still need to know the final_state number in `prepare', called
-       afterwards.  Do it...
-       * src/main.c (main): here: call states_free after `output'.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h, src/state.c (state_new): New, extracted from...
-       * src/LR0.c (new_state): here.
-       * src/state.h (STATE_ALLOC): Move to...
-       * src/state.c: here.
-       * src/LR0.h, src/LR0.c (nstates, final_state): Move to...
-       * src/state.h, src/state.c: here.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (gensym): Rename as...
-       * src/symtab.h, src/symtab.c (dummy_symbol_get): this.
-       (getsym): Rename as...
-       (symbol_get): this.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (state_number_t, STATE_NUMBER_MAX): New.
-       * src/LR0.c, src/LR0.h, src/conflicts.c, src/lalr.c, src/lalr.h,
-       * src/output.c, src/print.c, src/print_graph.c: Propagate.
-       * src/LR0.h, src/LR0.h (final_state): Is a state_t*.
-
-2002-06-30  Akim Demaille  <akim@epita.fr>
-
-       Make the test suite pass with warnings checked.
-
-       * tests/actions.at (Printers and Destructors): Improve.
-       Avoid unsigned vs. signed issues.
-       * tests/calc.at: Don't exercise the scanner here, do it...
-       * tests/input.at (Torturing the Scanner): here.
-
-2002-06-28  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * data/glr.c: Correct typo in Emacs-mode directive.  Slightly
-       reorganize first lines parallel to yacc.c.
-
-2002-06-28  Akim Demaille  <akim@epita.fr>
-
-       * data/c.m4 (b4_copyright, b4_sint_type, b4_uint_type, b4_token_define)
-       (b4_token_enum, b4_token_defines): New, factored from...
-       * data/lalr1.cc, data/yacc.c, glr.c: here.
-
-2002-06-28  Akim Demaille  <akim@epita.fr>
-
-       * data/yacc.c (yydestruct, yysymprint): Pacify GCC warnings for
-       unused variables.
-       * src/output.c (merger_output): static.
-
-2002-06-28  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
-       * src/conflicts.c (conflicts_total_count): `i' is unsigned, to
-       pacify GCC.
-       * src/output.c (save_row): Initialize all the variables to pacify GCC.
-
-2002-06-27  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       Accumulated changelog for new GLR parsing features.
-
-       * src/conflicts.c (count_total_conflicts): Change name to
-       conflicts_total_count.
-       * src/conflicts.h: Ditto.
-       * src/output.c (token_actions): Use the new name.
-       (output_conflicts): Change conflp => conflict_list_heads, and
-       confl => conflict_list for better readability.
-       * data/glr.c: Use the new names.
-       * NEWS: Add self to GLR announcement.
-
-       * src/reader.c (free_merger_functions): Cleanup: XFREE->free.
-
-       * doc/bison.texinfo (GLR Parsers): Make corrections suggested by
-       Akim Demaille.
-
-       * data/bison.glr: Change name to glr.c
-       * data/glr.c: Renamed from bison.glr.
-       * data/Makefile.am: Add glr.c
-
-       * src/getargs.c:
-
-       * src/symlist.h:  Add dprec and merger fields to symbol_list_s.
-       * src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
-
-       Originally 2002-06-16  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * data/bison.glr: Be sure to restore the
-       current #line when returning to the skeleton contents after having
-       exposed the input file's #line.
-
-       Originally 2002-06-13  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * data/bison.glr: Bring up to date with changes to bison.simple.
-
-       Originally 2002-06-03  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * data/bison.glr: Correct definitions that use b4_prefix.
-       Various reformatting.
-       (GLRStack): Make yychar (in YYPURE case) and yytokenp as part of stack.
-       (yyreportParseError, yyrecoverParseError, yyprocessOneStack): remove
-       yytokenp argument; now part of stack.
-       (yychar): Define to behave as documented.
-       (yyclearin): Ditto.
-
-       Originally 2002-05-14  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * src/reader.h: Add declaration for free_merger_functions.
-
-       * src/reader.c (merge_functions): New variable.
-       (get_merge_function): New function.
-       (free_merger_functions): New function.
-       (readgram): Check for %prec that is not followed by a symbol.
-       Handle %dprec and %merge declarations.
-       (packgram): Initialize dprec and merger fields in rules array.
-
-       * src/output.c (conflict_tos, conflrow, conflict_table, conflict_list,
-       conflict_list_cnt, conflict_list_free): New variables.
-       (table_grow): Also grow conflict_table.
-       (prepare_rules): Output dprec and merger tables.
-       (conflict_row): New function.
-       (action_row): Output conflict lists for GLR parser.  Don't use
-       default reduction in conflicted states for GLR parser so that there
-       are spaces for the conflict lists.
-       (save_row): Also save conflict information.
-       (token_actions): Allocate conflict list.
-       (merger_output): New function.
-       (pack_vector): Pack conflict table, too.
-       (output_conflicts): New function to output yyconflp and yyconfl.
-       (output_check): Allocate conflict_tos.
-       (output_actions): Output conflict tables, also.
-       (output_skeleton): Output b4_mergers definition.
-       (prepare): Output b4_max_rhs_length definition.
-       Use 'bison.glr' as default skeleton for GLR parsers.
-
-       * src/gram.c (glr_parser): New flag.
-       (grammar_free): Call free_merger_functions.
-
-       * src/conflicts.c (count_rr_conflicts): Augment to optionally count
-       all pairs of conflicting reductions, rather than just all tokens
-       causing conflicts.  Needed to size conflict tables.
-       (conflicts_output): Modify call to count_rr_conflicts for new
-       interface.
-       (conflicts_print): Ditto.
-       (count_total_conflicts): New function.
-
-       * src/reader.h (merger_list): New type.
-       (merge_functions): New variable.
-
-       * src/lex.h (tok_dprec, tok_merge): New token types.
-
-       * src/gram.h (rule_s): Add dprec and merger fields.
-       (glr_parser): New flag.
-
-       * src/conflicts.h (count_total_conflicts): New function.
-
-       * src/options.c (option_table): Add %dprec, %merge, and %glr-parser.
-
-       * doc/bison.texinfo (Generalized LR Parsing): New section.
-       (GLR Parsers): New section.
-       (Language and Grammar): Mention GLR parsing.
-       (Table of Symbols): Add %dprec, %glr-parser, %merge, GLR
-       Correct typo ("tge" -> "the").
-
-       * data/bison.glr: New skeleton for GLR parsing.
-
-       * tests/cxx-gram.at: New tests for GLR parsing.
-
-       * tests/testsuite.at: Include cxx-gram.at.
-
-       * tests/Makefile.am: Add cxx-gram.at.
-
-       * src/parse-gram.y:
-
-       * src/scan-gram.l: Add %dprec, %glr-parser, %merge.
-
-       * src/parse-gram.y: Grammar for %dprec, %merge, %glr-parser.
-
-2002-06-27  Akim Demaille  <akim@epita.fr>
-
-       * src/options.h, src/options.c: Remove.
-       * src/getargs.c (short_options, long_options): New.
-
-2002-06-27  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple, data/bison.c++: Rename as...
-       * data/yacc.c, data/lalr1.cc: these.
-       * doc/bison.texinfo (Environment Variables): Remove.
-
-2002-06-25  Raja R Harinath  <harinath@cs.umn.edu>
-
-       * src/getargs.c (report_argmatch): Initialize strtok().
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (b4_symbol_actions): New, replaces...
-       (b4_symbol_destructor, b4_symbol_printer): these.
-       (yysymprint): Be sure to call YYPRINT only for tokens, and using
-       user token numbers.
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (yydestructor): Rename as...
-       (yydestruct): this.
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h, src/symtab.c (symbol_type_set)
-       (symbol_destructor_set, symbol_precedence_set): The location is
-       the last argument.
-       Adjust all callers.
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y (YYPRINT, yyprint): Don't mess with the parser
-       internals.
-       * src/reader.h, src/reader.c (grammar_current_rule_prec_set):
-       Takes a location.
-       * src/symtab.h, src/symtab.c (symbol_class_set)
-       (symbol_user_token_number_set): Likewise.
-       Adjust all callers.
-       Promote complain_at.
-       * tests/input.at (Type Clashes): Adjust.
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (YYLEX): Fix the declaration when
-       %pure-parser.
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (yysymprint): Don't print the token number,
-       just its name.
-       * tests/actions.at (Destructors): Rename as...
-       (Printers and Destructors): this.
-       Also exercise %printer.
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (YYDSYMPRINT): New.
-       Use it to remove many of the #if YYDEBUG/if (yydebug).
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h, src/symtab.c (symbol_t): printer and
-       printer_location are new members.
-       (symbol_printer_set): New.
-       * src/parse-gram.y (PERCENT_PRINTER): New token.
-       Handle its associated rule.
-       * src/scan-gram.l: Adjust.
-       (handle_destructor_at, handle_destructor_dollar): Rename as...
-       (handle_symbol_code_at, handle_symbol_code_dollar): these.
-       * src/output.c (symbol_printers_output): New.
-       (output_skeleton): Call it.
-       * data/bison.simple (yysymprint): New.  Cannot be named yyprint
-       since there are already many grammar files with a user `yyprint'.
-       Replace the calls to YYPRINT to calls to yysymprint.
-       * tests/calc.at: Adjust.
-       * tests/torture.at (AT_DATA_STACK_TORTURE): Remove YYPRINT: it was
-       taking advantage of parser very internal details (stack size!).
-
-2002-06-20  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l: Complete the scanner with the missing patterns
-       to pacify Flex.
-       Use `quote' and `symbol_tag_get' where appropriate.
-
-2002-06-19  Akim Demaille  <akim@epita.fr>
-
-       * tests/actions.at (Destructors): Augment to test locations.
-       * data/bison.simple (yydestructor): Pass it the current location
-       if locations are enabled.
-       Prototype only when __STDC__ or C++.
-       Change the argument names to move into the yy name space: there is
-       user code here.
-
-2002-06-19  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (b4_pure_if): New.
-       Use it instead of #ifdef YYPURE.
-
-2002-06-19  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (b4_location_if): New.
-       Use it instead of #ifdef YYLSP_NEEDED.
-
-2002-06-19  Akim Demaille  <akim@epita.fr>
-
-       Prepare @$ in %destructor, but currently don't bind it in the
-       skeleton, as %location use is not cleaned up yet.
-
-       * src/scan-gram.l (handle_dollar, handle_destructor_at)
-       (handle_action_at): New.
-       (handle_at, handle_action_dollar, handle_destructor_dollar): Take
-       a braced_code_t and a location as additional arguments.
-       (handle_destructor_dollar): Instead of requiring `b4_eval', just
-       unquote one when outputting `b4_dollar_dollar'.
-       Adjust callers.
-       * data/bison.simple (b4_eval): Remove.
-       (b4_symbol_destructor): Adjust.
-       * tests/input.at (Invalid @n): Adjust.
-
-2002-06-19  Zack Weinberg  <zack@codesourcery.com>
-
-       * doc/bison.texinfo: Document ability to have multiple
-       prologue sections.
-
-2002-06-18  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (compute_base_names): When computing the output file
-       names from the input file name, strip the directory part.
-
-2002-06-18  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple.new: Comment changes.
-       Reported by Andreas Schwab.
-
-2002-06-18  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * data/bison.simple (yyoverflowlab): #ifndef yyoverflow, so that
-       there are no `label `yyoverflowlab' defined but not used' warnings
-       when yyoverflow is defined.
-
-2002-06-18  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h, src/symtab.c (symbol_t): destructor_location is a
-       new member.
-       (symbol_destructor_set): Adjust.
-       * src/output.c (symbol_destructors_output): Output the destructor
-       locations.
-       Output the symbol name.
-       * data/bison.simple (b4_symbol_destructor): Adjust.
-
-2002-06-18  Cris Bailiff  <c.bailiff@awayweb.com>
-       and Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple.new (yyerrlab1): Be sure to pop and destroy
-       what's left on the stack when the error recovery hits EOF.
-       * tests/actions.at (Destructors): Complete to exercise this case.
-
-2002-06-17  Akim Demaille  <akim@epita.fr>
-
-       * data/m4sugar/m4sugar.m4 (m4_map): Recognize when the list of
-       arguments is really empty, not only equal to `[]'.
-       * src/symtab.h, src/symtab.c (symbol_t): `destructor' is a new
-       member.
-       (symbol_destructor_set): New.
-       * src/output.c (symbol_destructors_output): New.
-       * src/reader.h (brace_code_t, current_braced_code): New.
-       * src/scan-gram.l (BRACED_CODE): Use it to branch on...
-       (handle_dollar): Rename as...
-       (handle_action_dollar): this.
-       (handle_destructor_dollar): New.
-       * src/parse-gram.y (PERCENT_DESTRUCTOR): New.
-       (grammar_declaration): Use it.
-       * data/bison.simple (yystos): Is always defined.
-       (yydestructor): New.
-       * tests/actions.at (Destructors): New.
-       * tests/calc.at (_AT_CHECK_CALC_ERROR): Don't rely on egrep.
-
-2002-06-17  Akim Demaille  <akim@epita.fr>
-
-       * src/symlist.h, src/symlist.c (symbol_list_length): New.
-       * src/scan-gram.l (handle_dollar, handle_at): Compute the
-       rule_length only when needed.
-       * src/output.c (actions_output, token_definitions_output): Output
-       the full M4 block.
-       * src/symtab.c: Don't access directly to the symbol tag, use
-       symbol_tag_get.
-       * src/parse-gram.y: Use symbol_list_free.
-
-2002-06-17  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.h, src/reader.c (symbol_list, symbol_list_new)
-       (symbol_list_prepend, get_type_name): Move to...
-       * src/symlist.h, src/symlist.c (symbol_list_t, symbol_list_new)
-       (symbol_list_prepend, symbol_list_n_type_name_get): here.
-       Adjust all callers.
-       (symbol_list_free): New.
-       * src/scan-gram.l (handle_dollar): Takes a location.
-       * tests/input.at (Invalid $n): Adjust.
-
-2002-06-17  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.h, src/reader.c (symbol_list_new): Export it.
-       (symbol_list_prepend): New.
-       * src/parse-gram.y (%union): `list' is a new member.
-       (symbols.1): New, replaces...
-       (terms_to_prec.1, nterms_to_type.1): these.
-       * src/symtab.h, src/symtab.c (symbol_type_set, symbol_precedence_set)
-       Take a location as additional argument.
-       Adjust all callers.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y: Move %token in the declaration section so that
-       we don't depend upon CVS Bison.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h, src/state.c (state_rule_lookaheads_print): New.
-       * src/print.c (print_core): Use it.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (log_resolution): Accept the rule involved in
-       the sr conflicts instead of the lookahead number that points to
-       that rule.
-       (flush_reduce): Accept the current lookahead vector as argument,
-       instead of the index in LA.
-       (resolve_sr_conflict): Accept the current number of lookahead
-       bitset to consider for the STATE, instead of the index in LA.
-       (set_conflicts): Adjust.
-       * src/lalr.c, src/lalr.h, src/state.h: Comment changes.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (state_t): Replace the `lookaheadsp' member, a
-       short, with `lookaheads' (bitsetv), `lookaheads_rule' (rule_t**).
-       Adjust all dependencies.
-       * src/lalr.c (initialize_lookaheads): Split into...
-       (states_lookaheads_count, states_lookaheads_initialize): these.
-       (lalr): Adjust.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h, src/gram.c (grammar_rules_partial_print): New, eved
-       out of...
-       (grammar_rules_print): here.
-       * src/reduce.c (reduce_output): Use it.
-       * tests/reduce.at (Useless Rules, Reduced Automaton)
-       (Underivable Rules): Adjust.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       Copy BYacc's nice way to report the grammar.
-
-       * src/gram.h, src/gram.c (grammar_rhs_print, grammar_rules_print):
-       New.
-       Don't print the rules' location, it is confusing and useless.
-       (rule_print): Use grammar_rhs_print.
-       * src/print.c (print_grammar): Use grammar_rules_print.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       Complete and rationalize `useless thing' warnings.
-
-       * src/symtab.h, src/symtab.c (symbol_tag_get, symbol_tag_get_n)
-       (symbol_tag_print): New.
-       Use them everywhere in place of accessing directly the tag member.
-       * src/gram.h, src/gram.c (rule_print): New.
-       Use it where a rule used to be printed `by hand'.
-       * src/reduce.c (nonterminals_reduce): Report the use nonterminals.
-       (reduce_grammar_tables): Report the useless rules.
-       (reduce_print): Useless things are a warning, not an error.
-       Report it as such.
-       * tests/reduce.at (Useless Nonterminals, Useless Rules):
-       (Reduced Automaton, Underivable Rules): Adjust.
-       * tests/regression.at (Web2c Report, Web2c Report): Adjust.
-       * tests/conflicts.at (Unresolved SR Conflicts)
-       (Solved SR Conflicts): Adjust.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       Let symbols have a location.
-
-       * src/symtab.h, src/symtab.c (symbol_t): Location is a new member.
-       (getsym): Adjust.
-       Adjust all callers.
-       * src/complain.h, src/complain.c (complain_at, fatal_at, warn_at):
-       Use location_t, not int.
-       * src/symtab.c (symbol_check_defined): Take advantage of the
-       location.
-       * tests/regression.at (Invalid inputs): Adjust.
-
-2002-06-15  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y (YYLLOC_DEFAULT, current_lhs_location): New.
-       (input): Don't try to initialize yylloc here, do it in the
-       scanner.
-       * src/scan-gram.l (YY_USER_INIT): Initialize yylloc.
-       * src/gram.h (rule_t): Change line and action_line into location
-       and action_location, of location_t type.
-       Adjust all dependencies.
-       * src/location.h, src/location.c (empty_location): New.
-       * src/reader.h, src/reader.c (grammar_start_symbol_set)
-       (grammar_symbol_append, grammar_rule_begin, grammar_rule_end)
-       (grammar_current_rule_symbol_append)
-       (grammar_current_rule_action_append): Expect a location as argument.
-       * src/reader.c (grammar_midrule_action): Adjust to attach an
-       action's location as dummy symbol location.
-       * src/symtab.h, src/symtab.c (startsymbol_location): New.
-       * tests/regression.at (Web2c Report, Rule Line Numbers): Adjust
-       the line numbers.
-
-2002-06-14  Akim Demaille  <akim@epita.fr>
-
-       Grammar declarations may be found in the grammar section.
-
-       * src/parse-gram.y (rules_or_grammar_declaration): New.
-       (declarations): Each declaration may end with a semicolon, not
-       just...
-       (grammar_declaration): `"%union"'.
-       (grammar): Branch to rules_or_grammar_declaration.
-
-2002-06-14  Akim Demaille  <akim@epita.fr>
-
-       * src/main.c (main): Invoke scanner_free.
-
-2002-06-14  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (m4_invoke): Extracted from...
-       (output_skeleton): here.
-       Free tempfile.
-
-2002-06-14  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-gram.y (directives, directive, gram)
-       (grammar_directives, precedence_directives, precedence_directive):
-       Rename as...
-       (declarations, declaration, grammar, grammar_declaration)
-       (precedence_declaration, precedence_declarator): these.
-       (symbol_declaration): New.
-
-2002-06-14  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (action_obstack): Remove, unused.
-       (output_obstack): Remove it, and all its dependencies, as it is no
-       longer needed.
-       * src/reader.c (epilogue_set): Build the epilogue in the
-       muscle_obstack.
-       * src/output.h, src/output.c (muscle_obstack): Move to...
-       * src/muscle_tab.h, src/muscle_tab.h: here.
-       (muscle_init): Initialize muscle_obstack.
-       (muscle_free): New.
-       * src/main.c (main): Call it.
-
-2002-06-14  Akim Demaille  <akim@epita.fr>
-
-       * src/location.h: New, extracted from...
-       * src/reader.h: here.
-       * src/Makefile.am (noinst_HEADERS): Merge into
-       (bison_SOURCES): this.
-       Add location.h.
-       * src/parse-gram.y: Use location_t instead of Bison's.
-       * src/reader.h, src/reader.c (prologue_augment, epilogue_set):
-       Use location_t instead of ints.
-
-2002-06-14  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple, data/bison.c++: Be sure to restore the
-       current #line when returning to the skeleton contents after having
-       exposed the input file's #line.
-
-2002-06-12  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l (SC_BRACED_CODE): Don't use `<.*>', it is too
-       eager.
-       * tests/actions.at (Exotic Dollars): New.
-
-2002-06-12  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l (SC_PROLOGUE): Don't eat characters amongst
-       ['"/] too eagerly.
-       * tests/input.at (Torturing the Scanner): New.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l (YY_OBS_INIT): Remove, replace with...
-       [SC_COMMENT,SC_STRING,SC_CHARACTER,SC_BRACED_CODE,SC_PROLOGUE]
-       [SC_EPILOGUE]: Output the quadrigraphs only when not in a comment.
-       * src/reader.h, src/scan-gram.l (scanner_initialize): this.
-       * src/reader.c (reader): Use it.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l (YY_OBS_FINISH): Don't set yylval.
-       Adjust all callers.
-       (scanner_last_string_free): New.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       * src/scan-gram.l (YY_INIT, YY_GROW, YY_FINISH): Rename as...
-       (YY_OBS_INIT, YY_OBS_GROW, YY_OBS_FINISH): these.
-       (last_string, YY_OBS_FREE): New.
-       Use them when returning an ID.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       Have Bison grammars parsed by a Bison grammar.
-
-       * src/reader.c, src/reader.h (prologue_augment): New.
-       * src/reader.c (copy_definition): Remove.
-
-       * src/reader.h, src/reader.c (gram_start_symbol_set, prologue_augment)
-       (grammar_symbol_append, grammar_rule_begin, grammar_midrule_action)
-       (grammar_current_rule_prec_set, grammar_current_rule_check)
-       (grammar_current_rule_symbol_append)
-       (grammar_current_rule_action_append): Export.
-       * src/parse-gram.y (symbol_list_new, symbol_list_symbol_append_
-       (symbol_list_action_append): Remove.
-       Hook the routines from reader.
-       * src/scan-gram.l: In INITIAL, characters and strings are tokens.
-       * src/system.h (ATTRIBUTE_NORETURN, ATTRIBUTE_UNUSED): Now.
-
-       * src/reader.c (read_declarations): Remove, unused.
-
-       * src/parse-gram.y: Handle the epilogue.
-       * src/reader.h, src/reader.c (gram_start_symbol_set): Rename as...
-       (grammar_start_symbol_set): this.
-       * src/scan-gram.l: Be sure to ``use'' yycontrol to keep GCC quiet.
-       * src/reader.c (readgram): Remove, unused.
-       (reader): Adjust to insert eoftoken and axiom where appropriate.
-
-       * src/reader.c (copy_dollar): Replace with...
-       * src/scan-gram.h (handle_dollar): this.
-       * src/parse-gram.y: Remove `%thong'.
-
-       * src/reader.c (copy_at): Replace with...
-       * src/scan-gram.h (handle_at): this.
-
-       * src/complain.h, src/complain.c (warn_at, complain_at, fatal_at):
-       New.
-
-       * src/scan-gram.l (YY_LINES): Keep lineno synchronized for the
-       time being.
-
-       * src/reader.h, src/reader.c (grammar_rule_end): New.
-
-       * src/parse.y (current_type, current_class): New.
-       Implement `%nterm', `%token' support.
-       Merge `%term' into `%token'.
-       (string_as_id): New.
-       * src/symtab.h, src/symtab.c (symbol_make_alias): Don't pass the
-       type name.
-
-       * src/parse-gram.y: Be sure to handle properly the beginning of
-       rules.
-
-       * src/parse-gram.y: Handle %type.
-       * src/reader.c (grammar_rule_end): Call grammar_current_rule_check.
-
-       * src/parse-gram.y: More directives support.
-       * src/options.c: No longer handle source directives.
-
-       * src/parse-gram.y: Fix %output.
-
-       * src/parse-gram.y: Handle %union.
-       Use the prologue locations.
-       * src/reader.c (parse_union_decl): Remove.
-
-       * src/reader.h, src/reader.c (epilogue_set): New.
-       * src/parse-gram.y: Use it.
-
-       * data/bison.simple, data/bison.c++: b4_stype is now either not
-       defined, then default to int, or to the contents of %union,
-       without `union' itself.
-       Adjust.
-       * src/muscle_tab.c (muscle_init): Don't predefine `stype'.
-
-       * src/output.c (actions_output): Don't output braces, as they are
-       already handled by the scanner.
-
-       * src/scan-gram.l (SC_CHARACTER): Set the user_token_number of
-       characters to themselves.
-
-       * tests/reduce.at (Reduced Automaton): End the grammars with %% so
-       that the epilogue has a proper #line.
-
-       * src/parse-gram.y: Handle precedence/associativity.
-
-       * src/symtab.c (symbol_precedence_set): Requires the symbol to be
-       a terminal.
-       * src/scan-gram.l (SC_BRACED_CODE): Catch strings and characters.
-       * tests/calc.at: Do not use `%token "foo"' as it makes not sense
-       at all to define terminals that cannot be emitted.
-
-       * src/scan-gram.l: Escape M4 characters.
-
-       * src/scan-gram.l: Working properly with escapes in user
-       strings/characters.
-
-       * tests/torture.at (AT_DATA_TRIANGULAR_GRAMMAR)
-       (AT_DATA_HORIZONTAL_GRAMMAR): Respect the `%token ID NUM STRING'
-       grammar.
-       Use more modest sizes, as for the time being the parser does not
-       release memory, and therefore the process swallows a huge amount
-       of memory.
-
-       * tests/torture.at (AT_DATA_LOOKAHEADS_GRAMMAR): Adjust to the
-       stricter %token grammar.
-
-       * src/symtab.h (associativity): Add `undef_assoc'.
-       (symbol_precedence_set): Do nothing when passed an undef_assoc.
-       * src/symtab.c (symbol_check_alias_consistence): Adjust.
-
-       * tests/regression.at (Invalid %directive): Remove, as it is now
-       meaningless.
-       (Invalid inputs): Adjust to the new error messages.
-       (Token definitions): The new grammar doesn't allow too many
-       eccentricities.
-
-       * src/lex.h, src/lex.c: Remove.
-       * src/reader.c (lastprec, skip_to_char, read_signed_integer)
-       (copy_character, copy_string2, copy_string, copy_identifier)
-       (copy_comment, parse_token_decl, parse_type_decl, parse_assoc_decl)
-       (parse_muscle_decl, parse_dquoted_param, parse_skel_decl)
-       (parse_action): Remove.
-       * po/POTFILES.in: Adjust.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (parse_action): Don't store directly into the
-       rule's action member: return the action as a string.
-       Don't require `rule_length' as an argument: compute it.
-       (grammar_current_rule_symbol_append)
-       (grammar_current_rule_action_append): New, eved out from
-       (readgram): here.
-       Remove `action_flag', `rulelength', unused now.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (grammar_current_rule_prec_set).
-       (grammar_current_rule_check): New, eved out from...
-       (readgram): here.
-       Remove `xaction', `first_rhs': useless.
-       * tests/input.at (Type clashes): New.
-       * tests/existing.at (GNU Cim Grammar): Adjust.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (grammar_midrule_action): New, Eved out from
-       (readgram): here.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (grammar_rule_begin, previous_rule, current_rule):
-       New.
-       (readgram): Use them as replacement of inlined code, crule and
-       crule1.
-
-2002-06-11  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (grammar_end, grammar_symbol_append): New.
-       (readgram): Use them.
-       Make the use of `p' as local as possible.
-
-2002-06-10  Akim Demaille  <akim@epita.fr>
-
-       GCJ's parser requires the tokens to be defined before the prologue.
-
-       * data/bison.simple: Output the token definition before the user's
-       prologue.
-       * tests/regression.at (Braces parsing, Duplicate string)
-       (Mixing %token styles): Check the output from bison.
-       (Early token definitions): New.
-
-2002-06-10  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.c (symbol_user_token_number_set): Don't complain when
-       assigning twice the same user number to a token, so that we can
-       use it in...
-       * src/lex.c (lex): here.
-       Also use `symbol_class_set' instead of hand written code.
-       * src/reader.c (parse_assoc_decl): Likewise.
-
-2002-06-10  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.c, src/symtab.c (symbol_class_set)
-       (symbol_user_token_number_set): New.
-       * src/reader.c (parse_token_decl): Use them.
-       Use a switch instead of ifs.
-       Use a single argument.
-
-2002-06-10  Akim Demaille  <akim@epita.fr>
-
-       Remove `%thong' support as it is undocumented, unused, duplicates
-       `%token's job, and creates useless e-mail traffic with people who
-       want to know what it is, why it is undocumented, unused, and
-       duplicates `%token's job.
-
-       * src/reader.c (parse_thong_decl): Remove.
-       * src/options.c (option_table): Remove "thong".
-       * src/lex.h (tok_thong): Remove.
-
-2002-06-10  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.c, src/symtab.c (symbol_type_set)
-       (symbol_precedence_set): New.
-       * src/reader.c (parse_type_decl, parse_assoc_decl): Use them.
-       (value_components_used): Remove, unused.
-
-2002-06-09  Akim Demaille  <akim@epita.fr>
-
-       Move symbols handling code out of the reader.
-
-       * src/reader.h, src/reader.c (errtoken, undeftoken, eoftoken)
-       (axiom): Move to...
-       * src/symtab.h, src/symtab.c: here.
-
-       * src/gram.c (start_symbol): Remove: use startsymbol->number.
-       * src/reader.c (startval): Rename as...
-       * src/symtab.h, src/symtab.c (startsymbol): this.
-       * src/reader.c: Adjust.
-
-       * src/reader.c (symbol_check_defined, symbol_make_alias)
-       (symbol_check_alias_consistence, symbol_pack, symbol_translation)
-       (token_translations_init)
-       Move to...
-       * src/symtab.c: here.
-       * src/reader.c (packsymbols): Move to...
-       * src/symtab.h, src/symtab.c (symbols_pack): here.
-       * src/symtab.h, src/symtab.c (symbol_make_alias): Takes SYMVAL as
-       argument.
-
-2002-06-03  Akim Demaille  <akim@epita.fr>
-
-       * src/muscle_tab.c (muscle_insert, muscle_find): Declarations,
-       then statements.
-
-2002-06-03  Akim Demaille  <akim@epita.fr>
-
-       * src/muscle_tab.c (muscle_find, muscle_insert): Don't initialize
-       structs with non literals.
-       * src/scan-skel.l: never-interactive.
-       * src/conflicts.c (enum conflict_resolution_e): No trailing
-       comma.
-       * src/getargs.c (usage): Split long literal strings.
-       Reported by Hans Aberg.
-
-2002-05-28  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.c++: Use C++ ostreams.
-       (cdebug_): New member.
-
-2002-05-28  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_skeleton): Be sure to allocate enough room
-       for `/' _and_ for `\0' in full_skeleton.
-
-2002-05-28  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.c++: Catch up with bison.simple:
-       2002-05-24  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-       and Paul Eggert  <eggert@twinsun.com>: `error' handing.
-       2002-05-26  Akim Demaille  <akim@epita.fr>: stos_, token_number_,
-       and popping traces.
-
-2002-05-27  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * src/output.c (output_skeleton): Put an explicit path in front of
-       the skeleton file name, rather than relying on the -I directory,
-       to partially alleviate effects of having a skeleton file lying around
-       in the current directory.
-
-2002-05-27  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * src/conflicts.c (log_resolution): Correct typo:
-       obstack_printf should be obstack_fgrow1.
-
-2002-05-26  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (state_t): `solved_conflicts' is a new member.
-       * src/LR0.c (new_state): Set it to 0.
-       * src/conflicts.h, src/conflicts.c (print_conflicts)
-       (free_conflicts, solve_conflicts): Rename as...
-       (conflicts_print, conflicts_free, conflicts_solve): these.
-       Adjust callers.
-       * src/conflicts.c (enum conflict_resolution_e)
-       (solved_conflicts_obstack): New, used by...
-       (log_resolution): this.
-       Adjust to attach the conflict resolution to each state.
-       Complete the description with the precedence/associativity
-       information.
-       (resolve_sr_conflict): Adjust.
-       * src/print.c (print_state): Output its solved_conflicts.
-       * tests/conflicts.at (Unresolved SR Conflicts)
-       (Solved SR Conflicts): Exercise --report=all.
-
-2002-05-26  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
-       * src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
-       * src/reader.c, src/reduce.c, src/state.h, src/symtab.h
-       (token_number_t, item_number_as_token_number)
-       (token_number_as_item_number, muscle_insert_token_number_table):
-       Rename as...
-       (symbol_number_t, item_number_as_symbol_number)
-       (symbol_number_as_item_number, muscle_insert_symbol_number_table):
-       these, since it is more appropriate.
-
-2002-05-26  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at (AT_CHECK_CALC): Adjust: there are now additional
-       `Error:' lines.
-       * data/bison.simple (yystos) [YYDEBUG]: New.
-       (yyparse) [YYDEBUG]: Display the symbols which are popped during
-       error recovery.
-       * tests/regression.at (Web2c Actions): Adjust: yystos is output now.
-
-2002-05-25  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Debugging): Split into...
-       (Tracing): this new section, its former contents, and...
-       (Understanding): this new section.
-       * src/getargs.h, src/getargs.c (verbose_flag): Remove, replaced
-       by...
-       (report_flag): this.
-       Adjust all dependencies.
-       (report_args, report_types, report_argmatch): New.
-       (usage, getargs): Report/support -r, --report.
-       * src/options.h
-       (struct option_table_struct): Rename as..,
-       (struct option_table_s): this.
-       Rename the `set_flag' member to `flag' to match with getopt_long's
-       struct.
-       * src/options.c (option_table): Split verbose into an entry for
-       %verbose, and another for --verbose.
-       Support --report/-r, so remove -r from the obsolete --raw.
-       * src/print.c: Attach full item sets and lookaheads reports to
-       report_flag instead of trace_flag.
-       * lib/argmatch.h, lib/argmatch.c: New, from Fileutils 4.1.
-
-2002-05-24  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-       and Paul Eggert  <eggert@twinsun.com>
-
-       * data/bison.simple (yyparse): Correct error handling to conform to
-       POSIX and yacc.  Specifically, after syntax error is discovered,
-       do not reduce further before shifting the error token.
-       Clean up the code a bit by removing the labels yyerrdefault,
-       yyerrhandle, yyerrpop.
-       * NEWS: Document the above.
-
-2002-05-20  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * data/bison.simple (yyr1): Don't use yy_token_number_type as element
-       type; it isn't always big enough, since it doesn't necessarily
-       include non-terminals.
-       (yytranslate): Expand definition of yy_token_number_type, so that
-       the latter can be removed.
-       (yy_token_number_type): Remove, only one use.
-       * data/bison.c++ (r1_): Parallel change to yyr1 in bison.simple---
-       don't use TokenNumberType as element type.
-
-       * tests/regression.at: Modify expected output to agree with change
-       to yyr1 and yytranslate.
-
-2002-05-13  Florian Krohm  <florian@edamail.fishkill.ibm.com>
-
-       * src/reader.c (parse_action): Use copy_character instead of
-       obstack_1grow.
-
-2002-05-13  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Token definitions): Prototype yylex and
-       yyerror.
-
-2002-05-12  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
-
-       * src/scan-skel.l: Correct off-by-one error in handling of __oline__.
-       * data/bison.simple (b4_sint_type, b4_uint_type): Correct to reflect
-       32-bit arithmetic.
-       * data/bison.c++ (b4_sint_type, b4_uint_type): Ditto.
-
-2002-05-07  Akim Demaille  <akim@epita.fr>
-
-       * tests/synclines.at: Be sure to prototype yylex and yyerror to
-       avoid GCC warnings.
-
-2002-05-07  Akim Demaille  <akim@epita.fr>
-
-       Kill GCC warnings.
-
-       * src/reduce.c (nonterminals_reduce): Don't loop over RITEM: loop
-       over the RHS of each rule.
-       * src/gram.h, src/gram.c (nritems): Is `unsigned int', not int.
-       * src/state.h (state_t): Member `nitems' is unsigned short.
-       * src/LR0.c (get_state): Adjust.
-       * src/reader.c (packgram): Likewise.
-       * src/output.c (GENERATE_MUSCLE_INSERT_TABLE): `max' is of type
-       `Type'.
-       (muscle_insert_int_table): Remove, unused.
-       (prepare_rules): Remove `max'.
-
-2002-05-06  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (print_firsts): Display of the symbol tags.
-       (bitmatrix_print): Move to...
-       * lib/bitsetv-print.h, lib/bitsetv-print.c (bitsetv_matrix_dump):
-       here.
-       * tests/sets.at (Nullable, Broken Closure, Firsts): Adjust.
-
-2002-05-06  Akim Demaille  <akim@epita.fr>
-
-       * src/muscle_tab.c (muscle_m4_output): Must return TRUE for
-       hash_do_for_each.
-
-2002-05-06  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (new_state, get_state): Instead of using the global
-       `kernel_size' and `kernel_base', have two new arguments:
-       `core_size' and `core'.
-       Adjust callers.
-
-2002-05-06  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (packgram): No longer end `ritem' with a 0
-       sentinel: it is not used.
-
-2002-05-05  Akim Demaille  <akim@epita.fr>
-
-       New experimental feature: display the lookaheads in the report and
-       graph.
-
-       * src/print (print_core): When --trace-flag, display the rules
-       lookaheads.
-       * src/print_graph.c (print_core): Likewise.
-       Swap the arguments.
-       Adjust caller.
-
-2002-05-05  Akim Demaille  <akim@epita.fr>
-
-       * tests/torture.at (Many lookaheads): New test.
-
-2002-05-05  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (GENERATE_OUTPUT_TABLE): Replace with...
-       (GENERATE_MUSCLE_INSERT_TABLE): this.
-       (output_int_table, output_unsigned_int_table, output_short_table)
-       (output_token_number_table, output_item_number_table): Replace with...
-       (muscle_insert_int_table, muscle_insert_unsigned_int_table)
-       (muscle_insert_short_table, muscle_insert_token_number_table)
-       (muscle_insert_item_number_table): these.
-       Adjust all callers.
-       (prepare_tokens): Don't free `translations', since...
-       * src/reader.h, src/reader.c (grammar_free): do it.
-       Move to...
-       * src/gram.h, src/gram.c (grammar_free): here.
-       * data/bison.simple, data/bison.c++: b4_token_number_max is now
-       b4_translate_max.
-
-2002-05-05  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_unsigned_int_table): New.
-       (prepare_rules): `i' is unsigned.
-       `prhs', `rline', `r2' are unsigned int.
-       Rename muscle `rhs_number_max' as `rhs_max'.
-       Output muscles `prhs_max', `rline_max', and `r2_max'.
-       Free rline and r1.
-       * data/bison.simple, data/bison.c++: Adjust to use these muscles
-       to compute types instead of constant types.
-       * tests/regression.at (Web2c Actions): Adjust.
-
-2002-05-04  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h (SALIAS, SUNDEF): Rename as...
-       (USER_NUMBER_ALIAS, USER_NUMBER_UNDEFINED): these.
-       Adjust dependencies.
-       * src/output.c (token_definitions_output): Be sure not to output a
-       `#define 'a'' when fed with `%token 'a' "a"'.
-       * tests/regression.at (Token definitions): New.
-
-2002-05-03  Paul Eggert  <eggert@twinsun.com>
-
-       * data/bison.simple (b4_token_defines): Also define YYTOKENTYPE
-       for K&R C.
-
-2002-05-03  gettextize  <bug-gnu-gettext@gnu.org>
-
-       * Makefile.am (SUBDIRS): Remove intl.
-       (EXTRA_DIST): Add config/config.rpath.
-
-2002-05-03  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (m4_if): Don't output empty enums.
-       And actually, output valid enum definitions :(.
-
-2002-05-03  Akim Demaille  <akim@epita.fr>
-
-       * configure.bat: Remove, completely obsolete.
-       * Makefile.am (EXTRA_DIST): Adjust.
-       Don't distribute config.rpath...
-       * config/Makefile.am (EXTRA_DIST): Do it.
-
-2002-05-03  Akim Demaille  <akim@epita.fr>
-
-       * configure.in (GETTEXT_VERSION): New.
-       Suggested by Bruno Haible for the forthcoming Gettext 0.10.3.
-
-2002-05-03  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (b4_token_enum): New.
-       (b4_token_defines): Use it to output tokens both as #define and
-       enums.
-       Suggested by Paul Eggert.
-       * src/output.c (token_definitions_output): Don't output spurious
-       white spaces.
-
-2002-05-03  Akim Demaille  <akim@epita.fr>
-
-       * data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
-
-2002-05-02  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Adapt expansion of $s and @s to the C++ parser.
-       Update the stack class, give a try to deque as the default container.
-
-2002-05-02  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (yyparse): Do not implement @$ = @1.
-       (YYLLOC_DEFAULT): Adjust to do it.
-       * doc/bison.texinfo (Location Default Action): Fix.
-
-2002-05-02  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (parse_braces): Merge into...
-       (parse_action): this.
-
-2002-05-02  Akim Demaille  <akim@epita.fr>
-
-       * configure.in (ALL_LINGUAS): Remove.
-       * po/LINGUAS, hr.po: New.
-
-2002-05-02  Akim Demaille  <akim@epita.fr>
-
-       Remove the so called hairy (semantic) parsers.
-
-       * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove.
-       * src/gram.h, src/gram.c (semantic_parser): Remove.
-       (rule_t): Remove the guard and guard_line members.
-       * src/lex.h (token_t): remove tok_guard.
-       * src/options.c (option_table): Remove %guard and %semantic_parser
-       support.
-       * src/output.c, src/output.h (guards_output): Remove.
-       (prepare): Adjust.
-       (token_definitions_output): Don't output the `T'
-       tokens (???).
-       (output_skeleton): Don't output the guards.
-       * src/files.c, src/files.c (attrsfile): Remove.
-       * src/reader.c (symbol_list): Remove the guard and guard_line
-       members.
-       Adjust dependencies.
-       (parse_guard): Remove.
-       * data/bison.hairy: Remove.
-       * doc/bison.texinfo (Environment Variables): Remove occurrences of
-       BISON_HAIRY.
-
-2002-05-02  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_at, copy_dollarm parse_braces, parse_action)
-       (parse_guard): Rename the formal argument `stack_offset' as
-       `rule_length', which is more readable.
-       Adjust callers.
-       (copy_at, copy_dollar): Instead of outputting the hard coded
-       values of $$, $n and so forth, output invocation to b4_lhs_value,
-       b4_lhs_location, b4_rhs_value, and b4_rhs_location.
-       Note: this patch partially drops `semantic-parser' support: it
-       always does `rule_length - n', where semantic parsers ought to
-       always use `-n'.
-       * data/bison.simple, data/bison.c++ (b4_lhs_value)
-       (b4_lhs_location, b4_rhs_value, and b4_rhs_location: New.
-
-2002-05-02  Akim Demaille  <akim@epita.fr>
-
-       * configure.in (AC_INIT): Bump to 1.49b.
-       (AM_INIT_AUTOMAKE): Short invocation.
-
-2002-05-02  Akim Demaille  <akim@epita.fr>
-
-       Version 1.49a.
-
-2002-05-01  Akim Demaille  <akim@epita.fr>
-
-       * src/skeleton.h: Remove.
-
-2002-05-01  Akim Demaille  <akim@epita.fr>
-
-       * src/skeleton.h: Fix the #endif.
-       Reported by Magnus Fromreide.
-
-2002-04-26  Paul Eggert  <eggert@twinsun.com>
-
-       * data/bison.simple (YYSTYPE_IS_TRIVIAL, YYLTYPE_IS_TRIVIAL):
-       Define if we define YYSTYPE and YYLTYPE, respectively.
-       (YYCOPY): Fix [] quoting problem in the non-GCC case.
-
-2002-04-25  Robert Anisko  <robert@lrde.epita.fr>
-
-       * src/scan-skel.l: Postprocess quadrigraphs.
-
-       * src/reader.c (copy_character): New function, used to output
-       single characters while replacing `[' and `]' with quadrigraphs, to
-       avoid troubles with M4 quotes.
-       (copy_comment): Output characters with copy_character.
-       (read_additionnal_code): Likewise.
-       (copy_string2): Likewise.
-       (copy_definition): Likewise.
-
-       * tests/calc.at: Exercise M4 quoting.
-
-2002-04-25  Akim Demaille  <akim@epita.fr>
-
-       * tests/sets.at (AT_EXTRACT_SETS): Sed portability issue: no space
-       between `!' and the command.
-       Reported by Paul Eggert.
-
-2002-04-24  Robert Anisko  <robert@lrde.epita.fr>
-
-       * tests/calc.at: Exercise prologue splitting.
-
-       * data/bison.simple, data/bison.c++: Use `b4_pre_prologue' and
-       `b4_post_prologue' instead of `b4_prologue'.
-
-       * src/output.c (prepare): Add the `pre_prologue' and `post_prologue'
-       muscles.
-       (output): Free pre_prologue_obstack and post_prologue_obstack.
-       * src/files.h, src/files.c (attrs_obstack): Remove.
-       (pre_prologue_obstack, post_prologue_obstack): New.
-       * src/reader.c (copy_definition): Add a parameter to specify the
-       obstack to fill, instead of using attrs_obstack unconditionally.
-       (read_declarations): Pass pre_prologue_obstack to copy_definition if
-       `%union' has not yet been seen, pass post_prologue_obstack otherwise.
-
-2002-04-23  Paul Eggert  <eggert@twinsun.com>
-
-       * data/bison.simple: Remove unnecessary commentary and white
-       space differences from 1_29-branch.
-       Depend on YYERROR_VERBOSE, not defined (YYERROR_VERBOSE).
-
-       (union yyalloc, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYCOPY,
-       YYSTACK_RELOCATE): Do not define if yyoverflow is defined, or
-       if this is a C++ parser and YYSTYPE or YYLTYPE has nontrivial
-       constructors or destructors.
-
-       (yyparse) [! defined YYSTACK_RELOCATE]: Do not relocate the stack.
-
-2002-04-23  Akim Demaille  <akim@epita.fr>
-
-       * tests/sets.at (AT_EXTRACT_SETS): Don't use 8 char long sed labels.
-       * tests/synclines.at (AT_TEST_SYNCLINE): Be robust to GCC's
-       location with columns.
-       * tests/conflicts.at (%nonassoc and eof): Don't use `error.h'.
-       All reported by Paul Eggert.
-
-2002-04-22  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (dump_grammar): Move to...
-       * src/gram.h, src/gram.c (grammar_dump): here.
-       Be sure to separate long item numbers.
-       Don't read the members of a rule's prec if its nil.
-
-2002-04-22  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (table_size, table_grow): New.
-       (MAXTABLE): Remove, replace uses with table_size.
-       (pack_vector): Instead of dying when the table is too big, grow it.
-
-2002-04-22  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.simple (yyr1): Its type is that of a token number.
-       * data/bison.c++ (r1_): Likewise.
-       * tests/regression.at (Web2c Actions): Adjust.
-
-2002-04-22  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (token_translations_init): 256 is now the default
-       value for the error token, i.e., it will be assigned another
-       number if the user assigned 256 to one of her tokens.
-       (reader): Don't force 256 to error.
-       * doc/bison.texinfo (Symbols): Adjust.
-       * tests/torture.at (AT_DATA_HORIZONTAL_GRAMMAR)
-       (AT_DATA_TRIANGULAR_GRAMMAR): Number the tokens as 1, 2, 3
-       etc. instead of 10, 20, 30 (which was used to `jump' over error
-       (256) and undefined (2)).
-
-2002-04-22  Akim Demaille  <akim@epita.fr>
-
-       Propagate more token_number_t.
-
-       * src/gram.h (token_number_as_item_number)
-       (item_number_as_token_number): New.
-       * src/output.c (GENERATE_OUTPUT_TABLE): New.
-       Use it to create output_item_number_table and
-       output_token_number_table.
-       * src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
-       * src/lex.c, src/nullable.c, src/output.c, src/print.c,
-       * src/print_graph.c, src/reader.c, src/reduce.c, src/state.h,
-       * src/symtab.c, src/symtab.h: Use token_number_t instead of shorts.
-
-2002-04-22  Akim Demaille  <akim@epita.fr>
-
-       * src/output.h, src/output.c (get_lines_number): Remove.
-
-2002-04-19  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Actions): Make clear that `|' is not the same
-       as Lex/Flex'.
-       (Debugging): More details about enabling the debugging features.
-       (Table of Symbols): Describe $$, $n, @$, and @n.
-       Suggested by Tim Josling.
-
-2002-04-19  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Remove the uses of the obsolete @refill.
-
-2002-04-10  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: Rely on HAVE_LIMITS_H.
-       Suggested by Paul Eggert.
-
-2002-04-09  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at (_AT_CHECK_CALC_ERROR): Receive as argument the
-       full stderr, and strip it according to the bison options, instead
-       of composing the error message from different bits.
-       This makes it easier to check for several error messages.
-       Adjust all the invocations.
-       Add an invocation exercising the error token.
-       Add an invocation demonstrating a stupid error message.
-       (_AT_DATA_CALC_Y): Follow the GCS: initial column is 1, not 0.
-       Adjust the tests.
-       Error message are for stderr, not stdout.
-
-2002-04-09  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h, src/gram.c (error_token_number): Remove, use
-       errtoken->number.
-       * src/reader.c (reader): Don't specify the user token number (2)
-       for $undefined, as it uselessly prevents using it.
-       * src/gram.h (token_number_t): Move to...
-       * src/symtab.h: here.
-       (state_t.number): Is a token_number_t.
-       * src/print.c, src/reader.c: Use undeftoken->number instead of
-       hard coded 2.
-       (Even though this 2 is not the same as above: the number of the
-       undeftoken remains being 2, it is its user token number which
-       might not be 2).
-       * src/output.c (prepare_tokens): Rename the `maxtok' muscle with
-       `user_token_number_max'.
-       Output `undef_token_number'.
-       * data/bison.simple, data/bison.c++: Use them.
-       Be sure to map invalid yylex return values to
-       `undef_token_number'.  This saves us from gratuitous SEGV.
-
-       * tests/conflicts.at (Solved SR Conflicts)
-       (Unresolved SR Conflicts): Adjust.
-       * tests/regression.at (Web2c Actions): Adjust.
-
-2002-04-08  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
-       Adding #line.
-       Remove the duplicate `typedefs'.
-       (RhsNumberType): Fix the declaration and various other typos.
-       Use __ofile__.
-       * data/bison.simple: Use __ofile__.
-       * src/scan-skel.l: Handle __ofile__.
-
-2002-04-08  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (item_number_t): New, the type of item numbers in
-       RITEM.  Note that it must be able to code symbol numbers as
-       positive number, and the negation of rule numbers as negative
-       numbers.
-       Adjust all dependencies (pretty many).
-       * src/reduce.c (rule): Remove this `short *' pointer: use
-       item_number_t.
-       * src/system.h (MINSHORT, MAXSHORT): Remove.
-       Include `limits.h'.
-       Adjust dependencies to using SHRT_MAX and SHRT_MIN.
-       (shortcpy): Remove.
-       (MAXTABLE): Move to...
-       * src/output.c (MAXTABLE): here.
-       (prepare_rules): Use output_int_table to output rhs.
-       * data/bison.simple, data/bison.c++: Adjust.
-       * tests/torture.at (Big triangle): Move the limit from 254 to
-       500.
-       * tests/regression.at (Web2c Actions): Ajust.
-
-       Trying with bigger grammars shows various phenomena: at 3000 (28Mb
-       of grammar file) bison is killed by my system, at 2000 (12Mb) bison
-       passes, but produces negative #line number, once fixed, GCC is
-       killed while compiling 14Mb, at 1500 (6.7 Mb of grammar, 8.2Mb of
-       C), it passes.
-       * src/state.h (state_h): Code input lines on ints, not shorts.
-
-2002-04-08  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (reduce_grammar): First reduce the nonterminals,
-       and then the grammar.
-
-2002-04-08  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: No longer using strndup.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/muscle_tab.h (MUSCLE_INSERT_LONG_INT): New.
-       * src/output.c (output_table_data): Return the longest number.
-       (prepare_tokens): Output `token_number_max').
-       * data/bison.simple, data/bison.c++ (b4_sint_type, b4_uint_type):
-       New.
-       Use them to define yy_token_number_type/TokenNumberType.
-       Use this type for yytranslate.
-       * tests/torture.at (Big triangle): Push the limit from 124 to
-       253.
-       * tests/regression.at (Web2c Actions): Adjust.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * tests/torture.at (Big triangle): New.
-       (GNU AWK Grammar, GNU Cim Grammar): Move to...
-       * tests/existing.at: here.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h, src/gram.c (nitems): Remove, it is an alias of
-       nritems.
-       Adjust dependencies.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c: Normalize increments to prefix form.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c, symtab.c: Remove debugging code.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       Rename all the `bucket's as `symbol_t'.
-
-       * src/gram.c, src/gram.h, src/lex.c, src/lex.h, src/output.c,
-       * src/reader.c, src/reader.h, src/reduce.c, src/state.h,
-       * src/symtab.c, src/symtab.h (bucket): Rename as...
-       (symbol_t): this.
-       (symbol_list_new, bucket_check_defined, bucket_make_alias)
-       (bucket_check_alias_consistence, bucket_pack, bucket_translation)
-       (bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
-       (buckets_new, buckets_free, buckets_do): Rename as...
-       (symbol_list_new, symbol_check_defined, symbol_make_alias)
-       (symbol_check_alias_consistence, symbol_pack, symbol_translation)
-       (symbol_new, symbol_free, hash_compare_symbol_t, hash_symbol_t)
-       (symbols_new, symbols_free, symbols_do): these.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       Use lib/hash for the symbol table.
-
-       * src/gram.c (ntokens): Initialize to 1, to reserve a slot for
-       EOF.
-       * src/lex.c (lex): Set the `number' member of new terminals.
-       * src/reader.c (bucket_check_defined, bucket_make_alias)
-       (bucket_check_alias_consistence, bucket_translation): New.
-       (reader, grammar_free, readgram, token_translations_init)
-       (packsymbols): Adjust.
-       (reader): Number the predefined tokens.
-       * src/reduce.c (inaccessable_symbols): Just use hard coded numbers
-       for predefined tokens.
-       * src/symtab.h (bucket): Remove all the hash table related
-       members.
-       * src/symtab.c (symtab): Replace by...
-       (bucket_table): this.
-       (bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
-       (buckets_new, buckets_do): New.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.c (nitems, nrules, nsyms, ntokens, nvars, nritems)
-       (start_symbol, max_user_token_number, semantic_parser)
-       (error_token_number): Initialize.
-       * src/reader.c (grammar, start_flag, startval, typed, lastprec):
-       Initialize.
-       (reader): Don't.
-       (errtoken, eoftoken, undeftoken, axiom): Extern.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (rule_s): prec and precsym are now pointers
-       to the bucket giving the priority/associativity.
-       Member `associativity' removed: useless.
-       * src/reduce.c, src/conflicts.c: Adjust.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c, src/LR0.c, src/closure.c, src/gram.c, src/reduce.c:
-       Properly escape the symbols' TAG when outputting them.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h (LA): Is a bitsetv, not bitset*.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h, src/lalr.c (LAruleno): Replace with...
-       (LArule): this, which is an array to rule_t*.
-       * src/print.c, src/conflicts.c: Adjust.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (rule_t): Rename `number' as `user_number'.
-       `number' is a new member.
-       Adjust dependencies.
-       * src/reduce.c (reduce_grammar_tables): Renumber rule_t.number.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       As a result of the previous patch, it is no longer needed
-       to reorder ritem itself.
-
-       * src/reduce.c (reduce_grammar_tables): Don't sort RITEM.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       Be sure never to walk through RITEMS, but use only data related to
-       the rules themselves. RITEMS should be banished.
-
-       * src/output.c (output_token_translations): Rename as...
-       (prepare_tokens): this.
-       In addition to `translate', prepare the muscles `tname' and
-       `toknum', which were handled by...
-       (output_rule_data): this.
-       Remove, and move the remainder of its outputs into...
-       (prepare_rules): this new routines, which also merges content from
-       (output_gram): this.
-       (prepare_rules): Be sure never to walk through RITEMS.
-       (output_stos): Rename as...
-       (prepare_stos): this.
-       (output): Always invoke prepare_states, after all, just don't use it
-       in the output if you don't need it.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (new_state): Display `nstates' as the name of the
-       newly created state.
-       Adjust to initialize first_state and last_state if needed.
-       Be sure to distinguish the initial from the final state.
-       (new_states): Create the itemset of the initial state, and use
-       new_state.
-       * src/closure.c (closure): Now that the initial state has its
-       items properly set, there is no need for a special case when
-       creating `ruleset'.
-
-       As a result, now the rule 0, reducing to $axiom, is visible in the
-       outputs.  Adjust the test suite.
-
-       * tests/conflicts.at (Solved SR Conflicts)
-       (Unresolved SR Conflicts): Adjust.
-       * tests/regression.at (Web2c Report, Rule Line Numbers): Idem.
-       * tests/conflicts.at (S/R in initial): New.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (allocate_itemsets): Don't loop over ritem: loop over
-       the RHS of the rules.
-       * src/output.c (output_gram): Likewise.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (rule_t): `lhs' is now a pointer to the symbol's
-       bucket.
-       Adjust all dependencies.
-       * src/reduce.c (nonterminals_reduce): Don't forget to renumber the
-       `number' of the buckets too.
-       * src/gram.h: Include `symtab.h'.
-       (associativity): Move to...
-       * src/symtab.h: here.
-       No longer include `gram.h'.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h, src/gram.c (rules_rhs_length): New.
-       (ritem_longest_rhs): Use it.
-       * src/gram.h (rule_t): `number' is a new member.
-       * src/reader.c (packgram): Set it.
-       * src/reduce.c (reduce_grammar_tables): Move the useless rules at
-       the end of `rules', and count them out of `nrules'.
-       (reduce_output, dump_grammar): Adjust.
-       * src/print.c (print_grammar): It is no longer needed to check for
-       the usefulness of a rule, as useless rules are beyond `nrules + 1'.
-       * tests/reduce.at (Reduced Automaton): New test.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (inaccessable_symbols): Fix a buglet: because of a
-       lacking `+ 1' to nrules, Bison reported as useless a token if it
-       was used solely to set the precedence of the last rule...
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.c++, data/bison.simple: Don't output the current file
-       name in #line, to avoid useless diffs between two identical
-       outputs under different names.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c, src/print.c, src/reader.c, src/reduce.c:
-       Normalize loops to using `< nrules + 1', not `<= nrules'.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * TODO: Update.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c, src/reader.c, src/symtab.c, src/symtab.h: Rename
-       bucket.value as bucket.number.
-
-2002-04-07  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c, src/derives.c, src/gram.h, src/lalr.c,
-       * src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
-       * src/reader.c, src/reduce.c: Let rule_t.rhs point directly to the
-       RHS, instead of being an index in RITEMS.
-
-2002-04-04  Paul Eggert  <eggert@twinsun.com>
-
-       * doc/bison.texinfo: Update copyright date.
-       (Rpcalc Lexer, Symbols, Token Decl): Don't assume ASCII.
-       (Symbols): Warn about running Bison in one character set,
-       but compiling and/or running in an incompatible one.
-       Warn about character code 256, too.
-
-2002-04-03  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.data (YYSTACK_ALLOC): Depend on whether
-       YYERROR_VERBOSE is nonzero, not whether it is defined.
-
-       Merge changes from bison-1_29-branch.
-
-2002-03-20  Paul Eggert  <eggert@twinsun.com>
-
-       Merge fixes from Debian bison_1.34-1.diff.
-
-       * configure.in (AC_PREREQ): 2.53.
-
-2002-03-20  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (log_resolution): Argument `resolution' is const.
-
-2002-03-19  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (YYCOPY): New macro.
-       (YYSTACK_RELOCATE): Use it.
-       Remove Type arg; no longer needed.  All callers changed.
-       (yymemcpy): Remove; no longer needed.
-
-       * Makefile.am (AUTOMAKE_OPTIONS): 1.6.
-       * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.
-
-2002-03-19  Akim Demaille  <akim@epita.fr>
-
-       Test and fix the #line outputs.
-
-       * tests/atlocal.at (GCC): New.
-       * tests/synclines.at (AT_TEST_SYNCLINE): New macro.
-       (Prologue synch line, %union synch line, Postprologue synch line)
-       (Action synch line, Epilogue synch line): New tests.
-       * src/reader.c (parse_union_decl): Define the muscle stype_line.
-       * data/bison.simple, data/bison.c++: Use it.
-
-2002-03-19  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (%nonassoc and eof, Unresolved SR Conflicts)
-       (Solved SR Conflicts, %expect not enough, %expect right)
-       (%expect too much): Move to...
-       * tests/conflicts.at: this new file.
-
-2002-03-19  Akim Demaille  <akim@epita.fr>
-
-       * data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
-       * data/bison.simple, data/bison.c++: Handle the `#define' part, so
-       that we can move to enums for instance.
-       * src/output.c (token_definitions_output): Output a list of
-       `token-name, token-number' instead of the #define.
-       (output_skeleton): Name this list `b4_tokens', not `b4_tokendefs'.
-
-2002-03-14  Akim Demaille  <akim@epita.fr>
-
-       Use Gettext 0.11.1.
-
-2002-03-09  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Make the user able to add members to the generated
-       parser by subclassing.
-
-2002-03-05  Robert Anisko  <robert@lrde.epita.fr>
-
-       * src/reader.c (read_additionnal_code): `c' should be an integer, not
-       a character.
-       Reported by Nicolas Tisserand and Nicolas Burrus.
-
-2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
-
-       * src/reader.c: Warn about lacking semi-colons, do not complain.
-
-2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Remove a debug line.
-
-2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Unmerge value as yylval and value as yyval.  Unmerge
-       location as yylloc and location as yyloc.  Use YYLLOC_DEFAULT, and
-       provide a default implementation.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * tests/input.at (Invalid $n, Invalid @n): Add the ending `;'.
-       * tests/output.at (AT_CHECK_OUTPUT): Likewise.
-       * tests/headers.at (AT_TEST_CPP_GUARD_H): Ditto.
-       * tests/semantic.at (Parsing Guards): Similarly.
-       * src/reader.at (readgram): Complain if the last rule is not ended
-       with a semi-colon.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/warshall.h, src/warshall.c (bitmatrix_print): Move to...
-       * src/closure.c: here.
-       (set_firsts): Use bitsetv_reflexive_transitive_closure instead of
-       RTC.
-       * src/warshall.h, src/warshall.c: Remove.
-       * tests/sets.at (Broken Closure): Adjust.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_skeleton): tempdir is const.
-       bytes_read is unused.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
-       * lib/bitsetv.h, lib/ebitset.c, lib/lbitset.c, lib/sbitset.c:
-       Update.
-       From Michael Hayes.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (closure): `r' is unused.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * tests/sets.at (Broken Closure): Add the ending `;'.
-       * src/reader.at (readgram): Complain if a rule is not ended with a
-       semi-colon.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (set_conflicts): Use bitset_disjoint_p.
-       (count_sr_conflicts): Use bitset_count.
-       * src/reduce.c (inaccessable_symbols): Ditto.
-       (bits_size): Remove.
-       * src/warshall.h, src/warshall.c: Convert to bitsetv.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c, src/conflicts.c, src/lalr.c, src/print.c,
-       * src/reduce.c: Remove the `bitset_zero's following the
-       `bitset_create's, as now it is performed by the latter.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * lib/bitset.c, lib/bitset.h, lib/bitsetv.c, lib/bitsetv.h,
-       * lib/ebitset.c, lib/ebitset.h, lib/lbitset.c, lib/lbitset.h,
-       * lib/sbitset.c, lib/sbitset.h, lib/bbitset.h: Update from the
-       latest sources from Michael.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output): Don't free the grammar.
-       * src/reader.c (grammar_free): New.
-       * src/main.c (main): Call it and don't free symtab here.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
-       before returning.
-       Reported by Benoit Perrot.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       Use bitset operations when possible, not loops over bits.
-
-       * src/conflicts.c (set_conflicts, count_sr_conflicts): Use
-       bitset_or.
-       * src/print.c (print_reductions): Use bitset_and, bitset_andn.
-       * src/reduce.c (useless_nonterminals): Formatting changes.
-       * src/warshall.c (TC): Use bitset_or.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
-       * src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET):
-       Ditto.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (F): Now a bitset*.
-       Adjust all dependencies.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (shiftset, lookaheadset): Now bitset.
-       Adjust all dependencies.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/L0.c, src/LR0.h (nstates): Be size_t.
-       Adjust comparisons (signed vs unsigned).
-       * src/conflics.c, src/lalr.c, src/lalr.h, src/output.c (LA): Now a
-       bitset*.
-       Adjust all dependencies.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (firsts): Now, also a bitset.
-       Adjust all dependencies.
-       (varsetsize): Remove, now unused.
-       * src/warshall.h, src/warshall.c: Now work on arrays of bitsets.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/print.c: Convert to use bitset.h, not hand coded iterations
-       over ints.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c: Convert to use bitset.h, not hand coded BSet.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (ruleset): Be a bitset.
-       (rulesetsize): Remove.
-
-2002-03-04  Akim Demaille  <akim@epita.fr>
-
-       * lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
-       * lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/lbitset.c,
-       * lib/lbitset.h, lib/sbitset.c, lib/sbitset.h: New.
-       * src/closure.c (fderives): Be an array of bitsets.
-
-2002-02-28  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Merge the two generated headers.  Insert a copyright
-       notice in each output file.
-
-2002-02-28  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.c++: Copy the prologue of bison.simple to fetch
-       useful M4 definitions, such as b4_header_guard.
-
-2002-02-25  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (version): Give the name of the authors, and use a
-       translator friendly scheme for the bgr
-       copyright notice.
-
-2002-02-25  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (header_output): Remove, now handled completely via
-       M4.
-
-2002-02-25  Akim Demaille  <akim@epita.fr>
-
-       * m4/m4.m4: New, from CVS Autoconf.
-       * configure.in: Invoke it.
-       * src/output.c (output_skeleton): Use its result instead of the
-       hard coded name.
-
-2002-02-25  Akim Demaille  <akim@epita.fr>
-
-       * lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from
-       Fileutils 4.1.5.
-       * configure.in: Invoke UTILS_FUNC_MKSTEMP.
-       * src/output.c (output_skeleton): Use mkstemp to create a real
-       temporary file.
-       Move the filling of `skeleton' and its muscle to...
-       (prepare): here.
-       (output): Move the definition of the prologue muscle to...
-       (prepare): here.
-       * src/system.h (DEFAULT_TMPDIR): New.
-
-2002-02-14  Paul Eggert  <eggert@twinsun.com>
-
-       Remove the support for C++ namespace cleanliness; it was
-       causing more problems than it was curing, since it didn't work
-       properly on some nonstandard C++ compilers.  This can wait
-       for a proper C++ parser.
-
-       * NEWS: Document this.
-       * doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
-       of C++, as it's treated like C now.
-       * src/bison.simple (YYSTD): Remove.
-       (YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
-       Treat C++ just like Standard C instead of trying to support
-       namespace cleanliness.
-
-2002-02-14  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (else): Adjust to Andreas' change.
-
-2002-02-14  Akim Demaille  <akim@epita.fr>
-
-       * lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.
-
-2002-02-13  Andreas Schwab  <schwab@suse.de>
-
-       * src/output.c (output_rule_data): Don't output NULL, it might
-       not be defined yet.
-
-2002-02-11  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
-       (Copyright notice): Update.
-
-2002-02-11  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (%nonassoc and eof): Don't include
-       nonportable headers.
-
-2002-02-08  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Correct error recovery.  Make the user able to
-       initialize the starting location.
-
-2002-02-07  Akim Demaille  <akim@epita.fr>
-
-       * tests/input.at: New.
-
-2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Replace some direct m4 expansions by constants.  Be
-       more consistent when naming methods and variables.  Put preprocessor
-       directives around tables only needed for debugging.
-
-2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
-       C++ parsers.
-       (yy::b4_name::parse): Use print_.
-
-2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++ (yy::b4_name::parse): Error recovery is back.
-
-2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
-       C++ parsers.
-       (yy::b4_name::parse): Build verbose error messages, and use error_.
-
-2002-02-06  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Fix m4 quoting in comments.
-
-2002-02-06  Robert Anisko  <robert@lrde.epita.fr>
-
-       * data/bison.c++: Adjust the parser code.  Fix some muscles that were
-       not expanded by m4.
-
-2002-02-05  Akim Demaille  <akim@epita.fr>
-
-       * data/bison.c++: Adjust to the M4 back end.
-       More is certainly needed.
-
-2002-02-05  Akim Demaille  <akim@epita.fr>
-
-       Give a try to M4 as a back end.
-
-       * lib/readpipe.c: New, from wdiff.
-       * src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and
-       BISON_HAIRY.
-       * src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS
-       specific values.  Now it is m4 that performs the lookup.
-       * src/parse-skel.y: Remove.
-       * src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New.
-       * src/output.c (actions_output, guards_output)
-       (token_definitions_output): No longer keeps track of the output
-       line number, hence remove the second argument.
-       (guards_output): Check against the guard member of a rule, not the
-       action member.
-       Adjust callers.
-       (output_skeleton): Don't look for the skeleton location, let m4 do
-       that.
-       Create `/tmp/muscles.m4'.  This is temporary, a proper temporary
-       file will be used.
-       Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton.
-       (prepare): Given that for the time being changesyntax is not
-       usable in M4, rename the muscles using `-' to `_'.
-       Define `defines_flag', `output_parser_name' and `output_header_name'.
-       * src/output.h (actions_output, guards_output)
-       (token_definitions_output): Adjust prototypes.
-       * src/scan-skel.l: Instead of scanning the skeletons, it now
-       processes the output of m4: `__oline__' and `#output'.
-       * data/bison.simple: Adjust to be used by M4(sugar).
-       * tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up
-       to date.
-       * tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR'
-       instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'.
-       * data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New,
-       shamelessly stolen from CVS Autoconf.
-
-2002-02-05  Akim Demaille  <akim@epita.fr>
-
-       * lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version.
-       * configure.in: Check for the declarations of free and malloc.
-       * src/muscle_tab.c: Adjust.
-
-2002-02-05  Akim Demaille  <akim@epita.fr>
-
-       * src/muscle_tab.c (muscle_init): Don't default to NULL muscle
-       which have no values.
-
-2002-02-05  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple, src/bison.hairy, src/bison.c++: Move to...
-       * data/: here.
-
-2002-01-29  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (YYSIZE_T): Do not define merely because
-       YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined.
-       On some platforms, <alloca.h> does not declare YYSTD (size_t).
-
-2002-01-27  Akim Demaille  <akim@epita.fr>
-
-       Fix `%nonassoc and eof'.
-
-       * src/state.c (errs_dup): Aaaah!  The failure was due to bytes
-       which were not properly copied!  Replace
-       memcpy (res->errs, src->errs, src->nerrs);
-       with
-       memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
-       !!!
-       * tests/regression.at (%nonassoc and eof): Adjust to newest
-       Autotest: `.' is not in the PATH.
-
-2002-01-27  Akim Demaille  <akim@epita.fr>
-
-       * tests/sets.at (AT_EXTRACT_SETS): New.
-       (Nullable): Use it.
-       (Firsts): New.
-
-2002-01-26  Akim Demaille  <akim@epita.fr>
-
-       * tests/actions.at, tests/calc.at, tests/headers.at,
-       * tests/torture.at: Adjust to the newest Autotest which no longer
-       forces `.' in the PATH.
-
-2002-01-25  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (%nonassoc and eof): New.
-       Suggested by Robert Anisko.
-
-2002-01-24  Akim Demaille  <akim@epita.fr>
-
-       Bison dumps core when trying to complain about broken input files.
-       Reported by Cris van Pelt.
-
-       * src/lex.c (parse_percent_token): Be sure to set token_buffer.
-       * tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
-       into...
-       (Invalid inputs): Strengthen: exercise parse_percent_token.
-
-2002-01-24  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/Makefile.am: Add bison.c++.
-       * src/bison.c++: New skeleton.
-
-2002-01-21  Paolo Bonzini <bonzini@gnu.org>
-
-       * po/it.po: New.
-
-2002-01-21  Kees Zeelenberg  <kzlg@users.sourceforge.net>
-
-       * src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
-
-2002-01-20  Marc Autret  <marc@gnu.org>
-
-       * src/files.c (compute_output_file_names): Fix
-
-2002-01-20  Marc Autret  <marc@gnu.org>
-
-       * tests/output.at: New test.
-       * src/files.c (compute_base_names): Don't map extensions when
-       the YACC flag is set, use defaults.
-       Reported by Evgeny Stambulchik.
-
-2002-01-20  Marc Autret  <marc@gnu.org>
-
-       * src/system.h: Need to define __attribute__ away for non-GCC
-       compilers as well (i.e., the vendor C compiler).
-       Suggested by Albert Chin-A-Young.
-
-2002-01-11  Tim Van Holder  <tim.van.holder@pandora.be>
-
-       * lib/hash.h, lib/hash.c: Renamed __P to PARAMS and used the
-       canonical definition.
-       * src/system.h: Use the canonical definition for PARAMS (avoids
-       a conflict with the macro from lib/hash.h).
-
-2002-01-11  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Use AC_FUNC_STRNLEN.
-       Fixes the failures observed on AIX 4.3 by H.Merijn Brand.
-
-2002-01-09  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c, src/files.h (output_infix): New.
-       (tab_extension): Remove.
-       (compute_base_names): Compute the former, drop the latter.
-       * src/output.c (prepare): Insert the muscles `output-infix', and
-       `output-suffix'.
-       * src/parse-skel.y (string, string.1): New.
-       (section.header): Use it.
-       (section.yacc): Remove.
-       (prefix): Remove too.
-       * src/scan-skel.l: Adjust.
-       * src/bison.simple, src/bison.hairy: Adjust.
-
-2002-01-09  Akim Demaille  <akim@epita.fr>
-
-       * configure.in (WERROR_CFLAGS): Compute it.
-       * src/Makefile.am (CFLAGS): Pass it.
-       * tests/atlocal.in (CFLAGS): Idem.
-       * src/files.c: Fix a few warnings.
-       (get_extension_index): Remove, unused.
-
-2002-01-08  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (AS_FILE_NAME): New.
-       (getargs): Use it to convert DOSish file names.
-       * src/files.c (base_name): Rename as full_base_name to avoid
-       clashes with `base_name ()'.
-       (filename_split): New.
-       (compute_base_names): N-th rewrite, using filename_split.
-
-2002-01-08  Akim Demaille  <akim@epita.fr>
-
-       * lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c:
-       New, stolen from the Fileutils 4.1.
-       * lib/Makefile.am (libbison_a_SOURCES): Adjust.
-       * configure.in: Check for the presence of memrchr, and of its
-       prototype.
-
-2002-01-07  Tim Van Holder  <tim.van.holder@pandora.be>
-
-       * lib/hash.h (__P): Added definition for this macro.
-       * src/Makefile.am: Add parse-skel.c and scan-skel.c to
-       BUILT_SOURCES, to ensure they are generated first.
-       * src/parse-skel.y: Use YYERROR_VERBOSE instead of
-       %error-verbose to allow bootstrapping with bison 1.30x.
-
-2002-01-06  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (parse_braces): Don't fetch the next char, the
-       convention is to fetch on entry.
-       * tests/torture.at (GNU Cim Grammar): Reintroduce their weird
-       'switch' without a following semicolon.
-       * tests/regression.at (braces parsing): New.
-
-2002-01-06  Akim Demaille  <akim@epita.fr>
-
-       Bison is dead wrong in its RR conflict reports.
-
-       * tests/torture.at (GNU Cim Grammar): New.
-       * src/conflicts.c (count_rr_conflicts): Fix.
-
-2002-01-06  Akim Demaille  <akim@epita.fr>
-
-       Creating package.m4 from configure.ac causes too many problems.
-
-       * tests/Makefile.am (package.m4): Create it by hand,
-       AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf.
-
-2002-01-06  Akim Demaille  <akim@epita.fr>
-
-       * src/Makefile.am (bison_SOURCES): Add parse-skel.h and
-       skeleton.h.
-
-2002-01-04  Paul Eggert  <eggert@twinsun.com>
-
-       * doc/bison.texinfo (Debugging):
-       Remove YYSTDERR; it's no longer defined or used.
-       Also, s/cstdio.h/cstdio/.
-
-2002-01-03  Akim Demaille  <akim@epita.fr>
-
-       * tests/bison.in, tests/atlocal.in: Adjust to CVS Autoconf.
-
-2002-01-03  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-skel.y (process_skeleton): Don't bind the parser's
-       tracing code to --trace, wait for a better --trace option, with
-       args.
-
-2002-01-03  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple (YYSTDERR): Remove, replace `stderr'.
-       The ISO C++ standard is extremely clear about it: stderr is
-       considered a macro, not a regular symbol (see table 94 `Header
-       <cstdio> synopsis', [lib.c.files] 27.8.2 C Library files).
-       Therefore std:: does not apply to it.  It still does with fprintf.
-       Also, s/cstdio.h/cstdio/.
-
-2002-01-03  Akim Demaille  <akim@epita.fr>
-
-       * lib/quotearg.c: Use `#include "..."' instead of `#include <...>'
-       for non system headers.
-
-2002-01-02  Akim Demaille  <akim@epita.fr>
-
-       Equip the skeleton chain with location tracking, runtime trace,
-       pure parser and scanner.
-
-       * src/parse-skel.y: Request a pure parser, locations, and prefix
-       renaming.
-       (%union): Having several members with the same type does not help
-       type mismatches, simplify.
-       (YYPRINT, yyprint): New.
-       (yyerror): ``Rename'' (there is a #define yyerror skel_error) as...
-       (skel_error): this.
-       Handle locations.
-       * src/scan-skel.l: Adjust to these changes.
-       * src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP)
-       (LOCATION_PRINT, skel_control_t): New.
-
-2001-12-30  Akim Demaille  <akim@epita.fr>
-
-       * src/parse-skel.y: Get rid of the shift/reduce conflict:
-       replace `gb' with BLANKS.
-       * src/scan-skel.l: Adjust.
-
-2001-12-30  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: We don't need nor want bcopy.
-       Throw away MS-DOS crap: we don't need getpid.
-       * configure.in: We don't need strndup.  It was even causing
-       problems: because Flex includes the headers *before* us,
-       _GNU_SOURCE is not defined by config.h, and therefore strndup was
-       not visible.
-       * lib/xstrndup.c: New.
-       * src/scan-skel.l: Use it.
-       Be sure to initialize yylval.muscle member when scanning a MUSCLE.
-       * src/parse-skel.y: Use %directives instead of #defines.
-
-2001-12-30  Akim Demaille  <akim@epita.fr>
-
-       * src/skeleton.h: New.
-       * src/output.c (output_parser, output_master_parser): Remove, dead
-       code.
-       * src/output.h (get_lines_number, actions_output, guards_output)
-       (token_definitions_output): Prototype them.
-       * src/parse-skel.y: Add the license notice.
-       Include output.h and skeleton.h.
-       (process_skeleton): Returns void, and takes a single parameter.
-       * src/scan-skel.l: Add the license notice.
-       Include skeleton.h.
-       Don't use %option yylineno: it seems that then Flex imagines
-       REJECT has been used, and therefore it won't reallocate its
-       buffers (which makes no other sense to me than a bug).  It results
-       in warnings for `unused: yy_flex_realloc'.
-
-2001-12-30  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/muscle_tab.h (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
-       (MUSCLE_INSERT_PREFIX): ...to there.
-       * src/output.c (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
-       (MUSCLE_INSERT_PREFIX): Move from here...
-
-       * src/bison.hairy: Add a section directive.  Put braces around muscle
-       names.  This parser skeleton is still broken, but Bison should not
-       choke on a bad muscle 'syntax'.
-       * src/bison.simple: Add a section directive.  Put braces around muscle
-       names.
-
-       * src/files.h (strsuffix, stringappend): Add declarations.
-       (tab_extension): Add declaration.
-       (short_base_name): Add declaration.
-
-       * src/files.c (strsuffix, stringappend): No longer static.  These
-       functions are used in the skeleton parser.
-       (tab_extension): New.
-       (compute_base_names): Use the computations done in this function
-       to guess if the generated parsers should have '.tab' in their
-       names.
-       (short_base_name): No longer static.
-
-       * src/output.c (output_skeleton): New.
-       (output): Disable call to output_master_parser, and give a try to
-       a new skeleton handling system.
-       (guards_output, actions_output): No longer static.
-       (token_definitions_output, get_lines_number): No longer static.
-
-       * configure.in: Use AM_PROG_LEX and AC_PROG_YACC.
-
-       * src/Makefile.am (bison_SOURCES): Add scan-skel.l and
-       parse-skel.y.
-
-       * src/parse-skel.y: New file.
-       * src/scan-skel.l: New file.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       %name-prefix is broken.
-
-       * src/files.c (spec_name_prefix): Initialize to NULL, not to "yy".
-       Adjust all dependencies.
-       * tests/headers.at (export YYLTYPE): Strengthen this test: use
-       %name-prefix.
-
-       Renaming yylval but not yylloc is not consistent.  Now we do.
-
-       * src/bison.simple: Prefix yylloc if used.
-       * doc/bison.texinfo (Decl Summary): Document that.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Promote `%long-directive' over
-       `%long_directive'.
-       Remove all references to fixed-output-files, yacc is enough.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple: Define YYDEBUG and YYERROR_VERBOSE *after* the
-       user prologue.  These are defaults.
-       * tests/actions.at (Mid-rule actions): Make sure the user can
-       define YYDEBUG and YYERROR_VERBOSE.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (header_output): Don't forget to export YYLTYPE and
-       yylloc.
-       * tests/headers.at (export YYLTYPE): New, make sure it does.
-       * tests/regression.at (%union and --defines, Invalid CPP headers):
-       Move to...
-       * tests/headers.at: here.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (rule_s): Member `assoc' is of type `associativity'.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * tests/actions.at (Mid-rule actions): Output on a single line
-       instead of several.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Formatting changes.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       Don't store the token defs in a muscle, just be ready to output it
-       on command.  Now possible via `symbols'.  Fixes a memory leak.
-
-       * src/output.c (token_definitions_output): New.
-       (output_parser, header_output): Use it.
-       * src/reader.c (symbols_save): Remove.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple: Do not provide a default for YYSTYPE and
-       YYLTYPE before the user's prologue.  Otherwise it's hardly... a
-       default.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       Mid-rule actions are simply... ignored!
-
-       * src/reader.c (readgram): Be sure to attach mid-rule actions to
-       the empty-rule associated to the dummy symbol, not to the host
-       rule.
-       * tests/actions.at (Mid-rule actions): New.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       Memory leak.
-
-       * src/reader.c (reader): Free grammar.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       Memory leak.
-
-       * src/LR0.c (new_itemsets): Don't allocate `shift_symbol' here,
-       since it allocates it for each state, although only one is needed.
-       (allocate_storage): Do it here.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/options.h, src/options.c (create_long_option_table): Rename
-       as...
-       (long_option_table_new): this, with a clearer prototype.
-       (percent_table): Remove, unused,
-       * src/getargs.c (getargs): Adjust.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c, src/conflicts.c, src/lalr.c, src/lalr.h, src/output.c
-       * src/print.c, src/print_graph.c, src/state.h: Rename state_table
-       as states.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (build_relations): Rename `states' as `states1'.
-       Sorry, I don't understand exactly what it is, no better name...
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c, src/conflicts.c, src/derives.c, src/gram.c
-       * src/gram.h, src/lalr.c, src/nullable.c, src/output.c, src/print.c
-       * src/print_graph.c, src/reader.c, src/reduce.c: Rename rule_table
-       as rules.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.c (rprec, rprecsym, rassoc): Remove, unused since long
-       ago.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c, src/reader.h (user_toknums): Remove.
-       Adjust all users to use symbols[i]->user_token_number.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.c, src/gram.h (sprec, sassoc): Remove.
-       Adjust all users to use symbols[i]->prec or ->assoc.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c, src/reader.h (tags): Remove.
-       Adjust all users to use symbols[i]->tag.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h, src/gram.c (symbols): New, similar to state_table
-       and rule_table.
-       * src/reader.c (packsymbols): Fill this table.
-       Drop sprec.
-       * src/conflicts.c (resolve_sr_conflict): Adjust.
-       * src/reduce.c (reduce_grammar): Adjust: just sort symbols, a
-       single table.
-       Use symbols[i]->tag instead of tags[i].
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at (_AT_DATA_CALC_Y): Also use %union.
-       In addition, put a comment in there, to replace...
-       * tests/regression.at (%union and C comments): Remove.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Web2c Actions): Blindly move the actual
-       output as expected output.  The contents *seem* right to me, but I
-       can't pretend reading perfectly parser tables...  Nonetheless, all
-       the other tests pass correctly, the table look OK, even though the
-       presence of `$axiom' is to be noted: AFAICS it is useless (but
-       harmless).
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (readgram): Don't add the rule 0 if there were no
-       rules read.  In other words, add it _after_ having performed
-       grammar sanity checks.
-       Fixes the `tests/regression.at (Invalid input: 1)' Failure.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Web2c Report): Catch up: the rule 0 is now
-       visible, and some states have now a different number.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (readgram): Bind the initial rule's lineno to that
-       of the first rule.
-       * tests/regression.at (Rule Line Numbers, Unresolved SR Conflicts):
-       (Solved SR Conflicts): Adjust rule 0's line number.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       Fix the `GAWK Grammar' failure.
-
-       * src/LR0.c (final_state): Initialize to -1 so that we do compute
-       the reductions of the first state which was mistakenly confused
-       with the final state because precisely final_state was initialized
-       to 0.
-       * tests/sets.at (Nullable): Adjust: state 0 does have lookaheads,
-       now noticed by Bison.
-       * tests/regression.at (Rule Line Numbers): Adjust: state 0 does
-       have a reduction on $default.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.c (ritem_print): Be sure to subtract 1 when displaying
-       rule line numbers.
-       * src/closure.c (print_closure): Likewise.
-       * src/derives.c (print_derives): Likewise.
-       * tests/sets.at (Nullable): Adjust: the rule numbers are correct
-       now.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (lookaheads_print): New.
-       (lalr): Call it when --trace-flag.
-       * tests/sets.at (Nullable): Adjust: when tracing, the lookaheads
-       are dumped.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/derives.c (print_derives): Be sure to use `>= 0', not `> 0',
-       when walking through ritem, even via rule->rhs.
-       * src/reduce.c (dump_grammar, useful_production, reduce_output)
-       (useful_production, useless_nonterminals): Likewise.
-       (reduce_grammar_tables): Likewise, plus update nritems.
-       * src/nullable.c (set_nullable): Likewise.
-       * src/lalr.c (build_relations): Likewise.
-       * tests/sets.at (Nullable): Adjust.
-       Fortunately, now, the $axiom is no longer nullable.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (generate_states): Use nritems, not nitems, nor using
-       the 0-sentinel.
-       * src/gram.c (ritem_longest_rhs): Likewise.
-       * src/reduce.c (nonterminals_reduce): Likewise.
-       * src/print_graph.c (print_graph): Likewise.
-       * src/output.c (output_rule_data): Likewise.
-       * src/nullable.c (set_nullable):  Likewise.
-
-2001-12-29  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c: Comment changes.
-
-2001-12-27  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special
-       cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and
-       Sparc, as they were causing more porting problems than the
-       (minor) performance improvement was worth.
-
-       Also, catch up with 1.31's YYSTD.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_gram): Rely on nritems, not the
-       0-sentinel.  See below.
-       Use -1 as separator, not 0.
-       * src/bison.simple (yyparse): Subtract 1 to the rule numbers.
-       Rely on -1 as separator in yyrhs, instead of 0.
-       * tests/calc.at (AT_CHECK_CALC): Now, the parsers no longer issue
-       twice `Now at end of input', therefore there are two lines less to
-       expect.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Unresolved SR Conflicts):
-       (Solved SR Conflicts, Rule Line Numbers): Adjust to the changes
-       below.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (new_state): Recognize the final state by the fact it
-       is reached by eoftoken.
-       (insert_start_shifting_state, insert_eof_shifting_state)
-       (insert_accepting_state, augment_automaton): Remove, since now
-       these states are automatically computed from the initial state.
-       (generate_states): Adjust.
-       * src/print.c: When reporting a rule number to the user, substract
-       1, so that the axiom rule is rule 0, and the first user rule is 1.
-       * src/reduce.c: Likewise.
-       * src/print_graph.c (print_core): For the time being, just as for
-       the report, depend upon --trace-flags to dump the full set of
-       items.
-       * src/reader.c (readgram): Once the grammar read, insert the rule
-       0: `$axiom: START-SYMBOL $'.
-       * tests/set.at: Adjust: rule 0 is now displayed, and since the
-       number of the states has changed (the final state is no longer
-       necessarily the last), catch up.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       Try to make the use of the eoftoken valid.  Given that its value
-       is 0 which was also used as a sentinel in ritem, (i) make sure >= 0
-       is used instead of > 0 where appropriate, (ii), depend upon nritems
-       instead of the 0-sentinel.
-
-       * src/gram.h, src/gram.c (nritems): New.
-       Expected to be duplication of nitems, but for the time being...
-       * src/reader.c (packgram): Assert nritems and nitems are equal.
-       * src/LR0.c (allocate_itemsets, new_itemsets): Adjust.
-       * src/closure.c (print_closure, print_fderives): Likewise.
-       * src/gram.c (ritem_print): Likewise.
-       * src/print.c (print_core, print_grammar): Likewise.
-       * src/print_graph.c: Likewise.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/main.c (main): If there are complains after grammar
-       reductions, then output the report anyway if requested, then die.
-       * src/symtab.c (bucket_new): Initialize `value' to -1, not 0.
-       * src/reader.c (eoftoken): New.
-       (parse_token_decl): If the token being defined has value `0', it
-       is the eoftoken.
-       (packsymbols): No longer hack `tags' to insert `$' by hand.
-       Be sure to preserve the value of the eoftoken.
-       (reader): Make sure eoftoken is defined.
-       Initialize nsyms to 0: now eoftoken is created just like the others.
-       * src/print.c (print_grammar): Don't special case the eof token.
-       * src/regression.at: Adjust: `$' has value 0, not -1, which was a
-       lie anyway, albeit pleasant.
-       * tests/calc.at: Exercise error messages with eoftoken.
-       Change the grammar so that empty input is invalid.
-       Adjust expectations.
-       When yyungeting, be sure to use a valid yylloc: use last_yylloc.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Check the protos of strchr ans strspn.
-       Replace strchr if needed.
-       * src/system.h: Provide the protos of strchr, strspn and memchr if
-       missing.
-       * lib/strchr.c: New.
-       * src/reader.c (symbols_save): Use strchr.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/print.c, src/print_graph.c (escape): New.
-       Use it to quote the TAGS outputs.
-       * src/print_graph.c (print_state): Now errors are in red, and
-       reductions in green.
-       Prefer high to wide: output the state number on a line of its own.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h, src/state.c (reductions_new): New.
-       * src/LR0.c (set_state_table): Let all the states have a
-       `reductions', even if reduced to 0.
-       (save_reductions): Adjust.
-       * src/lalr.c (initialize_LA, initialize_lookaheads): Adjust.
-       * src/print.c (print_reductions, print_actions): Adjust.
-       * src/output.c (action_row): Adjust.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h, src/state.c (errs_new, errs_dup): New.
-       * src/LR0.c (set_state_table): Let all the states have an errs,
-       even if reduced to 0.
-       * src/print.c (print_errs, print_reductions): Adjust.
-       * src/output.c (output_actions, action_row): Adjust.
-       * src/conflicts.c (resolve_sr_conflict): Adjust.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c, src/conflicts.h (print_reductions): Move to...
-       * src/print.c: here.
-       (lookaheadset, shiftset): New, used as additional storage by
-       print_reductions.
-       (print_results): Adjust.
-       (print_shifts, print_gotos, print_errs): New, extracted from...
-       (print_actions): here.
-       * src/print_graph.c (print_actions): Remove dead code.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_dollar, copy_at): Better checking of `n' in
-       `$n' and `@n'.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (add_lookback_edge): Use state_t instead of ints.
-       (build_relations): Adjust.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (set_goto_map): Remove a wrong but benign loop
-       duplication.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (packgram): Catch nitems overflows.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c, src/files.h (guard_obstack): Remove.
-       * src/output.c (output): Adjust.
-       * src/reader.c (parse_braces): New, factoring...
-       (copy_action, copy_guard): these two which are renamed as...
-       (parse_action, parse_guard): these.
-       As a voluntary consequence, using braces around guards is now
-       mandatory.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (rule_t): `guard' and `guard_line' are new members.
-       * src/reader.c (symbol_list): `guard' and `guard_line' are new
-       members.
-       (symbol_list_new): Adjust.
-       (copy_action): action_line is the first line, not the last.
-       (copy_guard): Just as for actions, store the `action' only, not
-       the switch/case/break flesh.
-       Don't parse the user action that might follow the guard, let...
-       (readgram): do it, i.e., now, there can be an action after a
-       guard.
-       In other words the guard is just explicitly optional.
-       (packgram): Adjust.
-       * src/output.c (guards_output): New.
-       (output_parser): Call it when needed.
-       (output): Also free the guard and attrs obstacks.
-       * src/files.c, src/files.h (obstack_save): Remove.
-       (output_files): Remove.
-       As a result, if one needs the former `.act' file, using an
-       appropriate skeleton which requires actions and guards is now
-       required.
-       * src/main.c (main): Adjust.
-       * tests/semantic.at: New.
-       * tests/regression.at: Use `input.y' as input file name.
-       Avoid 8+3 problems by requiring input.c when the test needs the
-       parser.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (symbol_list_new): Be sure to initialize all the
-       fields.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       All the hacks using a final pseudo state are now useless.
-
-       * src/LR0.c (set_state_table): state_table holds exactly nstates.
-       * src/lalr.c (nLA): New.
-       (initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
-       instead of lookaheadsp from the pseudo state (nstate + 1).
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (action_row, token_actions): Use a state_t instead
-       of a integer, and nlookaheads instead of the following state's
-       lookaheadsp.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (log_resolution, flush_shift)
-       (resolve_sr_conflict, set_conflicts, solve_conflicts)
-       (count_sr_conflicts, count_rr_conflicts, conflicts_output)
-       (conflicts_print, print_reductions): Use a state_t instead of an
-       integer when referring to a state.
-       As much as possible, depend upon nlookaheads, instead of the
-       `lookaheadsp' member of the following state (since lookaheads of
-       successive states are successive, the difference between state n + 1
-       and n served as the number of lookaheads for state n).
-       * src/lalr.c (add_lookback_edge): Likewise.
-       * src/print.c (print_core, print_actions, print_state)
-       (print_results): Likewise.
-       * src/print_graph.c (print_core, print_actions, print_state)
-       (print_graph): Likewise.
-       * src/conflicts.h: Adjust.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.hairy: Formatting/comment changes.
-       ANSIfy.
-       Remove `register' indications.
-       Add plenty of `static'.
-
-2001-12-27  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (prepare): Drop the muscle `ntbase' which
-       duplicates ntokens.
-       * src/bison.simple: Formatting/comment changes.
-       Use YYNTOKENS only, which is documented, but not YYNTBASE, which
-       is an undocumented synonym.
-
-2001-12-22  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_table_data): Change the prototype to use
-       `int' for array ranges: some invocations do pass an int, not a
-       short.
-       Reported by Wayne Green.
-
-2001-12-22  Akim Demaille  <akim@epita.fr>
-
-       Some actions of web2c.y are improperly triggered.
-       Reported by Mike Castle.
-
-       * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
-       * tests/regression.at (Web2c): Rename as...
-       (Web2c Report): this.
-       (Web2c Actions): New.
-
-2001-12-22  Akim Demaille  <akim@epita.fr>
-
-       Reductions in web2c.y are improperly reported.
-       Reported by Mike Castle.
-
-       * src/conflicts.c (print_reductions): Fix.
-       * tests/regression.at (Web2c): New.
-
-2001-12-18  Akim Demaille  <akim@epita.fr>
-
-       Some host fail on `assert (!"foo")', which expands to
-       ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
-       Reported by Nelson Beebee.
-
-       * src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
-       `#define it_succeeded 0' and `assert (it_succeeded)'.
-
-2001-12-17  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple: Don't hard code the skeleton line and filename.
-       * src/output.c (output_parser): Rename 'line' as 'output_line'.
-       New line counter 'skeleton_line' (skeleton-line muscle).
-
-2001-12-17  Paul Eggert  <eggert@twinsun.com>
-
-       * NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
-       YYDEBUG must be defined to a nonzero value.
-
-       * src/bison.simple (yytname): Do not assume that the user defines
-       YYDEBUG to a properly parenthesized expression.
-
-2001-12-17  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (state_t): Rename lookaheads as lookaheadsp.
-       nlookaheads is a new member.
-       Adjust all users.
-       * src/lalr.h (nlookaheads): Remove this orphan declaration.
-       * src/lalr.c (initialize_lookaheads): Set nlookaheads for each
-       state.
-
-2001-12-17  Akim Demaille  <akim@epita.fr>
-
-       * src/files.h, src/files.c (open_files, close_files): Remove.
-       * src/main.c (main): Don't open/close files, nor invoke lex_free,
-       let...
-       * src/reader.c (reader): Do it.
-
-2001-12-17  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (print_reductions): Formatting changes.
-
-2001-12-17  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (flush_shift): Also adjust lookaheadset.
-       (flush_reduce): New.
-       (resolve_sr_conflict): Adjust.
-
-2001-12-17  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_obstack): Be static and rename as...
-       (format_obstack): this, to avoid any confusion with files.c's
-       output_obstack.
-       * src/reader.h (muscle_obstack): Move to...
-       * src/output.h: here, since it's defined in output.c.
-
-2001-12-17  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (action_row, save_column, default_goto)
-       (sort_actions, matching_state, pack_vector): Better variable
-       locality.
-
-2001-12-17  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c: Various formatting changes.
-
-2001-12-17  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (output_files): Free the output_obstack.
-       * src/main.c (main): Call print and print_graph conditionally.
-       * src/print.c (print): Work unconditionally.
-       * src/print_graph.c (print_graph): Work unconditionally.
-       * src/conflicts.c (log_resolution): Output only if verbose_flag.
-
-2001-12-16  Marc Autret  <autret_m@epita.fr>
-
-       * src/output.c (actions_output): Fix. When we use %no-lines,
-       there is one less line per action.
-
-2001-12-16  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple: Remove a useless #line directive.
-       s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
-       * src/output.c (get_lines_number): New.
-       (output_parser): Adjust, now takes care about the lines of a
-       output muscles.
-       Fix line numbering.
-       (actions_output): Computes the number of lines taken by actions.
-       (output_master_parser): Insert new skeleton which is the name of
-       the output parser file name.
-
-2001-12-15  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
-
-2001-12-15  Marc Autret  <autret_m@epita.fr>
-
-       * src/output.c (output_gram): Keep track of the hairy one.
-
-2001-12-15  Akim Demaille  <akim@epita.fr>
-
-       Make `make distcheck' work.
-
-       * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
-       system.h which uses libgettext.h.
-
-2001-12-15  Akim Demaille  <akim@epita.fr>
-
-       * src/nullable.c (set_nullable): Useless rules must be skipped,
-       otherwise, since we range over their symbols, we might look at a
-       nonterminal which no longer ``exists'', i.e., it is not counted in
-       `nvars', hence we overflow our arrays.
-
-2001-12-15  Akim Demaille  <akim@epita.fr>
-
-       The header can also be produced directly, without any obstack!
-       Yahoo!
-
-       * src/files.c, src/files.h (defines_obstack): Remove.
-       (compute_header_macro): Global.
-       (defines_obstack_save): Remove.
-       * src/reader.c (parse_union_decl): No longer output to
-       defines_obstack: its content can be found in the `stype' muscle
-       anyway.
-       (output_token_translations): Merge into...
-       (symbols_output): this.
-       Rename as...
-       (symbols_save): this.
-       (reader): Adjust.
-       * src/output.c (header_output): New.
-       (output): Call it.
-
-2001-12-15  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (parse_union_decl): Instead of handling two obstack
-       simultaneously, use one to define the `stype' muscle, and use the
-       value of the latter to fill defines_obstack.
-       (copy_comment): Remove.
-       (copy_comment2): Work for a single obstack.
-       Rename as...
-       (copy_comment): this.
-
-2001-12-15  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.c, src/lex.h (xgetc): No longer static.
-       * src/reader.c (parse_union_decl): Revamp.
-
-2001-12-15  Akim Demaille  <akim@epita.fr>
-
-       Still making progress in separating Bison into (i) input, (ii)
-       process, (iii) output: now we can directly output the parser file
-       without using table_obstack at all.
-
-       * src/files.c, src/files.h (table_obstack): Bye bye.
-       (parser_file_name): New.
-       * src/files.c (compute_output_file_names): Compute it.
-       * src/output.c (actions_output, output_parser)
-       (output_master_parser): To a file instead of an obstack.
-
-2001-12-15  Akim Demaille  <akim@epita.fr>
-
-       Attach actions to rules, instead of pre-outputting them to
-       actions_obstack.
-
-       * src/gram.h (rule_t): action and action_line are new members.
-       * src/reader.c (symbol_list): Likewise.
-       (copy_action): Save the actions within the rule.
-       (packgram): Save them in rule_table.
-       * src/output.c (actions_output): New.
-       (output_parser): Use it on `%%actions'.
-       (output_rule_data): Don't free rule_table.
-       (output): Do it.
-       (prepare): Don't save the `action' muscle.
-       * src/bison.simple: s/%%action/%%actions/.
-
-2001-12-15  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_action): When --yacc, don't append a `;'
-       to the user action: let it fail if lacking.
-       Suggested by Arnold Robbins and Tom Tromey.
-
-2001-12-14  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.c (literalchar): Simply return the char you decoded, non
-       longer mess around with obstacks and int pointers.
-       Adjust all callers.
-
-2001-12-14  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.c (literalchar): Don't escape the special characters,
-       just decode them, and keep them as char (before, eol was output as
-       the 2 char string `\n' etc.).
-       * src/output.c (output_rule_data): Use quotearg to output the
-       token strings.
-
-2001-12-13  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
-       Do not infringe on the global user namespace when using C++.
-       (YYFPRINTF, YYSTDERR): New macros, needed for the above.
-       All uses of `fprintf' and `stderr' changed.
-
-       * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
-
-2001-12-13  Akim Demaille  <akim@epita.fr>
-
-       The computation of nullable is broken: it doesn't handle empty
-       RHS's properly.
-
-       * tests/torture.at (GNU AWK Grammar): New.
-       * tests/sets.at (Nullable): New.
-       * src/nullable.c (set_nullable): Instead of blindly looping over
-       `ritems', loop over the rules, and then over their rhs's.
-
-       Work around Autotest bugs.
-
-       * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
-       frame, because Autotest understand lines starting with a `+' as
-       traces from the shell.  Then, they are not processed properly.
-       Admittedly an Autotest bug, but we don't have time to wait for
-       Autotest to catch up.
-       * tests/regression.at (Broken Closure): Adjust to the new table
-       frames.
-       Move to...
-       * tests/sets.at: here.
-
-2001-12-13  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (closure): Use nrules instead of playing tricks
-       with BITS_PER_WORD.
-
-2001-12-13  Akim Demaille  <akim@epita.fr>
-
-       * src/print.c (print_actions): Output the handling of `$' as the
-       traces do: shifting the token EOF.  Before EOF was treated as a
-       nonterminal.
-       * tests/regression.at: Adjust some tests.
-       * src/print_graph.c (print_core): Complete the set of items via
-       closure.  The next-to-final and final states are still unsatisfying,
-       but that's to be addressed elsewhere.
-       No longer output the rule numbers, but do output the state number.
-       A single loop for the shifts + gotos is enough, but picked a
-       distinct color for each.
-       (print_graph): Initialize and finalize closure.
-
-2001-12-13  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (readgram): Remove dead code, an strip useless
-       braces.
-       (get_type): Remove, unused.
-
-2001-12-12  Akim Demaille  <akim@epita.fr>
-
-       * src/complain.h, src/complain.c: Remove error_one_per_line, rely
-       on that of lib/error.c.
-
-2001-12-12  Akim Demaille  <akim@epita.fr>
-
-       Some hosts don't like `/' in includes.
-
-       * src/system.h: Include libgettext.h without qualifying the path.
-       * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
-       $(top_srcdir).
-
-2001-12-11  Marc Autret  <autret_m@epita.fr>
-
-       * src/output.c (output_parser): Remove useless muscle.
-
-2001-12-11  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple: Remove #line just before %%epilogue. It
-       is now handled in ...
-       * src/reader.c (read_additionnal_code): Add the output of a
-       #line for the epilogue.
-
-2001-12-10  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (copy_definition): Re-use CPP-outed code which
-       replace precedent remove.
-       * src/bison.simple: Remove #line before %%prologue because
-       %%input-line is wrong at this time.
-
-2001-12-10  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (symbols_output): Clean up.
-       * src/output.c (output_gram, output): Clean up.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (initialize_lookaheads): New.  Extracted from...
-       * src/LR0.c (set_state_table): here.
-       * src/lalr.c (lalr): Call it.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (shifts): Remove the `number' member: shifts are
-       attached to state, hence no longer need to be labelled with a
-       state number.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       Now that states have a complete set of members, the linked list of
-       shifts is useless: just fill directly the state's shifts member.
-
-       * src/state.h (shifts): Remove the `next' member.
-       * src/LR0.c (first_state, last_state): Remove.
-       Adjust the callers.
-       (augment_automaton): Don't look for the shifts that must be added
-       a shift on EOF: it is those of the state we looked for!  But now,
-       since shifts are attached, it is no longer needed to looking
-       merely by its id: its number.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (augment_automaton): Better variable locality.
-       Remove an impossible branch: if there is a state corresponding to
-       the start symbol being shifted, then there is shift for the start
-       symbol from the initial state.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
-       only when appropriate: when insert_start_shifting_state' is not
-       invoked.
-       * tests/regression.at (Rule Line Numbers): Adjust.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (augment_automaton): Now that all states have shifts,
-       merge the two cases addition shifts to the initial state.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (set_state_table): Move to...
-       * src/LR0.c: here.
-       * src/lalr.c (lalr): Don't call it...
-       * src/LR0.c (generate_states): do it.
-       * src/LR0.h (first_state): Remove, only the table is used.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.h (first_shift, first_reduction): Remove.
-       * src/lalr.c: Don't use first_shift: find shifts through the
-       states.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c: Attach shifts to states as soon as they are
-       computed.
-       * src/lalr.c (set_state_table): Instead of assigning shifts to
-       state, just assert that the mapping was properly done.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (insert_start_shift): Rename as...
-       (insert_start_shifting_state): this.
-       (insert_eof_shifting_state, insert_accepting_state): New.
-       (augment_automaton): Adjust.
-       Better locality of the variables.
-       When looking if the start_symbol is shifted from the initial
-       state, using `while (... symbol != start_symbol ...)' sounds
-       better than `while (... symbol < start_symbol ...)': If fail
-       to see how the order between symbols could be relevant!
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.h: Don't declare `spec_name_prefix' and
-       `spec_file_prefix', declared by src/files.h.
-       * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
-       * src/muscle_tab.c (muscle_init): Default prefix to NULL.
-       * src/output.c (prepare): Adjust.
-       * src/reader.c (symbols_output): Likewise.
-       * src/vmsgetargs.c: Vaguely adjust, but who cares?
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/muscle_tab.c (muscle_init): NULL is a better default than
-       `"0"'.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (reader): Calling symbols_output once is enough.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       Now that states have a complete set of members, the linked list of
-       reductions is useless: just fill directly the state's reductions
-       member.
-
-       * src/state.h (struct reductions): Remove member `number' and
-       `next'.
-       * src/LR0.c (first_reduction, last_reduction): Remove.
-       (save_reductions): Don't link the new reductions, store them in
-       this_state.
-       * src/lalr.c (set_state_table): No need to attach reductions to
-       states, it's already done.
-       * src/output.c (output_actions): No longer free the shifts, then
-       the reductions, then the states: free all the states and their
-       members.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/options.c (OPTN, DRTV, BOTH): New.
-       (option_table): Use them.
-
-       * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
-       the job of system.h.
-       * src/options.c: Don't include stdio.h and xalloc.h for the same
-       reasons.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output, prepare): Make sure the values of the
-       muscles `action' and `prologue' are 0-terminated.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       Clean up GCC warnings.
-
-       * src/reader.c (copy_action): `buf' is not used.
-       (parse_skel_decl): Be static.
-       * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
-       * src/options.h (create_long_option_table): Have a real prototype.
-       * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
-       (hash_delete_at): Return const void *.
-       Adjust casts to preserve the const.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Require 2.52g.
-       M4 is not needed, but AUTOM4TE is.
-       * m4/m4.m4: Remove.
-       * tests/Makefile.am: Adjust.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       One structure for states is enough, even though theoretically
-       there are LR(0) states and LALR(1) states.
-
-       * src/lalr.h (state_t): Remove.
-       (state_table): Be state_t **, not state_t *.
-       * src/state.h (core, CORE_ALLOC): Rename as...
-       (state_t, STATE_ALLOC): this.
-       Add the LALR(1) members: shifts, reductions, errs.
-       * src/LR0.c (state_table): Rename as...
-       (state_hash): this, to avoid name clashes with the global
-       `state_table'.
-       * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
-       * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
-
-2001-12-10  Akim Demaille  <akim@epita.fr>
-
-       Bison dumps core on bash.y.
-       Reported by Pascal Bart.
-
-       * src/warshall.c (bitmatrix_print): New.
-       (TC): Use it.
-       When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
-       j must be the outer loop.
-       * tests/regression.at (Broken Closure): New.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
-       its argument.
-       Reported by Peter Hamorsky.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (err_table): Remove.
-       (resolve_sr_conflict): Adjust.
-       * src/lalr.h (state_t.reduction_table, state_t.shift_table):
-       Rename as...
-       (state_t.reductions, state_t.shifts): this.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (reduce_grammar_tables): No longer disable the
-       removal of useless rules via CPP but via `if (0)', so that the
-       compiler still check the code is valid.
-       For instance, it should have noticed `rline' no longer exists: use
-       the `line' member of rule_t.
-       * src/gram.c (dummy, rline): Remove, unused.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (pack_vector): Use assert, not berror.
-       * src/main.c (berror): Remove, unused.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       New experimental feature: if --verbose --trace output all the
-       items of a state, not only its kernel.
-
-       * src/print.c (print_core): If `trace_flag', then invoke closure
-       before outputting the items of the state (print_core is no longer
-       a correct name them).
-       (print_results): Invoke new_closure/free_closure if needed.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
-       * src/closure.c, src/closure.h (itemsetsize): Rename as...
-       (nitemset): for consistency with the rest of the project.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (print_closure): Improve.
-       (closure): Use it for printing input and output.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
-       indexed by nonterminals.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
-       what it was!).
-       * src/warshall.h: Remove accidental duplication of the content.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (set_fderives): De-obfuscate.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (print_firsts, print_fderives): De-obfuscate.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (set_firsts): De-obfuscate.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (action_row): De-obfuscate
-       using the good o' techniques: arrays not pointers, variable
-       locality, BITISSET, RESETBIT etc.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       Pessimize the code to simplify it: from now on, all the states
-       have a valid SHIFTS, which NSHIFTS is possibly 0.
-
-       * src/LR0.c (shifts_new): Be global and move to..
-       * src/state.c, src/state.h: here.
-       * src/conflicts, src/lalr.c, src/output.c, src/print.c,
-       * src/print_graph: Adjust.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
-       * src/conflicts.c: Use it.
-       Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
-       incorrectly ``simplified''.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
-       using the good o' techniques: arrays not pointers, variable
-       locality, BITISSET, RESETBIT etc.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (SHIFT_SYMBOL): New.
-       * src/conflicts.c: Use it to deobfuscate.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
-       (print_reductions): De-obfuscate using the good o' techniques:
-       arrays not pointers, variable locality, BITISSET.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (print_reductions): Arrays, not pointers.
-       Use BITISSET.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (print_reductions): Pessimize, but clarify.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (print_reductions): Improve variable locality.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (print_reductions): Pessimize, but clarify.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (print_reductions): Improve variable locality.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
-       * src/lalr.c: Use them.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (augment_automaton): Formatting changes.
-       Better variable locality.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (matrix_print): New.
-       (transpose): Use it.
-       Use arrays instead of pointers.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (maxrhs): Move to...
-       * src/gram.c, src/gram.h (ritem_longest_rhs): here.
-       * src/lalr.c (build_relations): Adjust.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (transpose): Free the memory allocated to the
-       argument, as it is replaced by the results by the unique caller.
-       (build_relations): Merely invoke transpose: it handles the memory
-       deallocation.
-       Improve variable locality.
-       Avoid variables used as mere abbreviations.
-       (compute_lookaheads): Use arrays instead of pointers.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (initialize_F): Improve variable locality.
-       Avoid variables used as mere abbreviations.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/derives.c (print_derives): Display the ruleno.
-       * src/lalr.c (initialize_F, transpose): Better variable locality
-       to improve readability.
-       Avoid variables used as mere abbreviations.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (traverse): Use arrays instead of pointers.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
-       the handling of squeue.
-       `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       Because useless nonterminals are now kept alive (instead of being
-       `destroyed'), we now sometimes examine them, and store information
-       related to them.  Hence we need to know their number, and adjust
-       memory allocations.
-
-       * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
-       static.
-       * src/LR0.c (allocate_itemsets): The memory allocated to
-       `symbol_count' was used for two different purpose: once to count
-       the number of occurrences of each symbol, and later reassigned to
-       `shift_symbol', containing the symbol that can be shifted from a
-       given state.
-       Deobfuscate, i.e., allocate, use and free `symbol_count' here
-       only, and...
-       (new_itemsets): Allocate `shift_symbol' here.
-       (allocate_itemsets): symbol_count includes useless nonterminals.
-       Make room for them.
-       (free_storage): Use `free', not `XFREE', for pointers that cannot
-       be null.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/nullable.c (set_nullable): Deobfuscate the handling of
-       ritem.
-       `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
-
-2001-12-05  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.c, src/gram.h (ritem_print): New.
-       * src/gram.c (dummy): Remove, now there is actual code in gram.c.
-       (This useless function was defined only to work around VMS linkers
-       that can't handle compilation units with variables only).
-       * src/reduce.c (dump_grammar): Use it to trace the construction of
-       ritem.
-
-2001-12-04  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (union yyalloc): Change member names
-       to be the same as the stack names.
-       (yyparse): yyptr is now union yyalloc *, not char *.
-       (YYSTACK_RELOCATE): Likewise.  This avoids a GCC warning,
-       and may generate better code on some machines.
-       (yystpcpy): Use prototype if __STDC__ is defined, not just
-       if __cplusplus is defined.
-
-2001-11-30  Akim Demaille  <akim@epita.fr>
-
-       * configure.in (WARNING_CFLAGS): Add -Werror when possible.
-       (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
-       Gettext doesn't compile cleanly, and dies with -Werror.
-       * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
-       Include WARNING_CFLAGS here.
-       * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
-       before being defined.
-
-2001-11-27  Paul Eggert  <eggert@twinsun.com>
-
-       * lib/quotearg.h (quotearg_n, quotearg_n_style):
-       First arg is int, not unsigned.
-       * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
-       (SIZE_MAX, UINT_MAX): New macros.
-       (quotearg_n_options): Abort if N is negative.
-       Avoid overflow check on hosts where size_t is 64 bits and int
-       is 32 bits, as overflow is impossible there.
-       Fix off-by-one typo that caused unnecessary reallocation.
-
-2001-11-29  Paul Eggert  <eggert@twinsun.com>
-
-       Name space cleanup in generated parser.
-
-       * doc/bison.texinfo (Bison Parser): Discuss system headers
-       and their effect on the user name space.
-
-       * src/bison.simple:
-       (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
-       YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
-       i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
-
-       (YYSIZE_T): New macro.  Use it instead of size_t, to avoid infringing
-       on user names when possible.
-
-       (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
-       Simplify test for whather <alloca.h> exists.
-
-       (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
-
-       (<stdio.h>): Include if YYDEBUG.
-
-       (yymemcpy): Renamed from __yy_memcpy.  Do not define unless
-       ! defined (yyoverflow) && ! defined (yymemcpy).
-
-       (yymemcpy, yyparse): Rename local variables as needed so that
-       they all begin with 'yy'.
-
-       (yystrlen, yystpcpy): New functions.
-
-       (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
-       All uses changed.
-
-       (yyparse): size_t -> YYSIZE_T.  Use yystrlen and yystpcpy
-       instead of relying on string.h functions.  Use YYSTACK_ALLOC
-       and YYSTACK_FREE instead of malloc and free.
-
-2001-11-30  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
-       before their first uses.
-       (YYBISON, YYPURE): Move to the top of the output.
-
-2001-11-30  Akim Demaille  <akim@epita.fr>
-
-       * tests/reduce.at (Useless Nonterminals): Fix.
-
-2001-11-30  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
-       if body instead of `;' to pacify GCC's warnings.
-
-2001-11-30  Akim Demaille  <akim@epita.fr>
-
-       Instead of mapping the LHS of unused rules to -1, keep the LHS
-       valid, but flag the rules as invalid.
-
-       * src/gram.h (rule_t): `useful' is a new member.
-       * src/print.c (print_grammar): Adjust.
-       * src/derives.c (set_derives): Likewise.
-       * src/reader.c (packgram, reduce_output): Likewise.
-       * src/reduce.c (reduce_grammar_tables): Likewise.
-       * tests/reduce.at (Underivable Rules, Useless Rules): New.
-
-2001-11-30  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (reduce_output): Formatting changes.
-       * src/print.c (print_results, print_grammar): Likewise.
-       * tests/regression.at (Rule Line Numbers)
-       (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
-
-2001-11-30  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (nonterminals_reduce): Instead of throwing away
-       useless nonterminals, move them at the end of the symbol arrays.
-       (reduce_output): Adjust.
-       * tests/reduce.at (Useless Nonterminals): Adjust.
-
-2001-11-30  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c: Various comment/formatting changes.
-       (nonterminals_reduce): New, extracted from...
-       (reduce_grammar_tables): here.
-       (reduce_grammar): Call nonterminals_reduce.
-
-2001-11-29  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (YYSTACK_REALLOC): Remove.
-       (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
-       (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
-       New macros.
-       (union yyalloc): New type.
-       (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
-       an arbitrary restriction on hosts where size_t is wider than int.
-
-       (yyparse): Don't dump core if alloca or malloc fails; instead, report
-       a parser stack overflow.  Allocate just one block of memory for all
-       three stacks, instead of allocating three blocks; this typically is
-       faster and reduces fragmentation.
-
-       Do not limit the number of items in the stack to a value that fits
-       in 'int', as this is an arbitrary limit on hosts with 64-bit
-       size_t and 32-bit int.
-
-2001-11-29  Marc Autret  <autret_m@epita.fr>
-
-       * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
-       of defining YYERROR_VERBOSE.
-       [AT_DATA]: $4 is now out of C declarations in the prologue.
-
-2001-11-28  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (parse_dquoted_param): New.
-       (parse_skel_decl): Use it.
-       * src/lex.h: Add its prototype.
-       * src/lex.c (literalchar): Become not static.
-
-2001-11-28  Marc Autret  <autret_m@epita.fr>
-
-       * src/output.h: And put its extern declaration here.
-       * src/output.c (error_verbose): Define here.
-       (prepare): Echo name modification.
-       * src/getargs.h: Clean its extern declaration.
-       * src/getargs.c (error_verbose_flag): Remove.
-       (getargs): Remove case 'e'.
-       * src/options.c (option_table): 'error-verbose' is now seen as simple
-       percent option.
-       Include output.h.
-
-       * src/reader.c (read_declarations): Remove case tok_include.
-       (parse_include_decl): Remove.
-       * src/lex.h (token_t): Remove tok_include.
-       * src/options.c (option_table): 'include' is now a simple command line
-       option.
-
-2001-11-28  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple: Adjust muscle names.
-       * src/muscle_tab.c (muscle_init): Also rename the muscles.
-       * src/output.c (prepare): s/_/-/ for the muscles names.
-       (output_parser): When scanning for a muscle, allow '-' instead of '_'.
-
-2001-11-28  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple: Fix debug.
-       [YYERROR_VERBOSE]: Re-integrate as an internal macro.
-
-2001-11-28  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (shifts_new): New.
-       (save_shifts, insert_start_shift, augment_automaton): Use it.
-
-2001-11-28  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (closure): `b' and `ruleno' denote the same value:
-       keep ruleno only.
-
-2001-11-28  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (closure): Instead of looping over word in array
-       then bits in words, loop over bits in array.
-
-2001-11-28  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (closure): No longer optimize the special case
-       where all the bits of `ruleset[r]' are set to 0, to make the code
-       clearer.
-
-2001-11-28  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (closure): `r' and `c' are new variables, used to
-       de-obfuscate accesses to RULESET and CORE.
-
-2001-11-28  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (reduce_print): Use ngettext.
-       (dump_grammar): Improve the trace accuracy.
-
-2001-11-28  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (dump_grammar): Don't translate trace messages.
-
-2001-11-28  Akim Demaille  <akim@epita.fr>
-
-       * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
-       * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
-       as all tags are free'ed afterwards.
-       From Enrico Scholz.
-
-2001-11-27  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
-       use alloca when we didn't want to, and vice versa.
-
-2001-11-27  Marc Autret  <autret_m@epita.fr>
-
-       * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
-       initialization.
-       * src/output.c (prepare): Remove its update.
-
-2001-11-27  Marc Autret  <autret_m@epita.fr>
-
-       * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
-       Use %error-verbose.
-
-2001-11-27  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple: Remove YYERROR_VERBOSE using.
-       Use %%error_verbose.
-       (yyparse): Likewise.
-       * src/output.c (prepare): Give its final value.
-       * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
-       * src/getargs.h: Add its extern declaration.
-       * src/getargs.c (error_verbose_flag): New int.
-       (getargs): Update to catch new case.
-       * src/options.c (option_table): 'error-verbose' is a new option.
-       (shortopts): Update.
-
-2001-11-27  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: Use intl/libgettext.h.
-       * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
-
-2001-11-27  Akim Demaille  <akim@epita.fr>
-
-       * tests/torture.at (Exploding the Stack Size with Malloc):
-       s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
-
-2001-11-27  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c: Include error.h.
-       Reported by Hans Aberg.
-
-2001-11-26  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (parse_include_decl): New, not yet implemented.
-       (read_declarations): Add case tok_include.
-       * src/getargs.h (include): Add its extern definition.
-       * src/getargs.c (include): New const char *.
-       (getargs): Add case '-I'.
-       * src/options.c (option_table): Add include as command line and
-       percent option.
-       * src/lex.h (token_t): Add tok_include.
-
-2001-11-26  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (readgram): Make sure rules for mid-rule actions
-       have a lineno equal to that of their host rule.
-       Reported by Hans Aberg.
-       * tests/regression.at (Rule Line Numbers): New.
-
-2001-11-26  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
-       size_ts.
-
-2001-11-26  Akim Demaille  <akim@epita.fr>
-
-       * src/complain.c, src/complain.h (error): Remove, provided by
-       lib/error.[ch].
-
-2001-11-26  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (read_declarations): Don't abort on tok_illegal,
-       issue an error message.
-       * tests/regression.at (Invalid %directive): New.
-       Reported by Hans Aberg.
-
-2001-11-26  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
-       * lib/Makefile.am (libbison_a_SOURCES): Adjust.
-
-2001-11-26  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (conflicts_print): Don't complain at all when
-       there are no reduce/reduce conflicts, and as many shift/reduce
-       conflicts as expected.
-       * tests/regression.at (%expect right): Adjust.
-
-2001-11-23  Akim Demaille  <akim@epita.fr>
-
-       * lib/alloca.c: Update, from fileutils.
-
-2001-11-23  Akim Demaille  <akim@epita.fr>
-
-       * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
-
-2001-11-23  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: Include alloca.h.
-       * src/main.c (main) [C_ALLOCA]: Call alloca (0).
-
-2001-11-23  Akim Demaille  <akim@epita.fr>
-
-       * src/print_graph.c (print_actions): Remove `rule', unused.
-       * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
-       pacify GCC's signed < unsigned warnings.
-       * src/closure.c (itemsetsize): Likewise.
-       * src/reader.c (symbol_list_new): Static.
-
-2001-11-23  Akim Demaille  <akim@epita.fr>
-
-       Attaching lineno to buckets is stupid, since only one copy of each
-       symbol is kept, only the line of the first occurrence is kept too.
-
-       * src/symtab.h, src/symtab.c (bucket): Remove the line member.
-       * src/reader.c (rline_allocated): Remove, unused.
-       (symbol_list): Have a `line' member.
-       (symbol_list_new): New.
-       (readgram): Use it.
-       * src/print.c (print_grammar): Output the rule line numbers.
-       * tests/regression.at (Solved SR Conflicts)
-       (Unresolved SR Conflicts): Adjust.
-       Reported by Hans Aberg.
-
-2001-11-22  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
-
-2001-11-22  Marc Autret  <autret_m@epita.fr>
-
-       * src/muscle_tab.c (muscle_init): Remove initialization of
-       skeleton muscle.
-       * src/output.c (output_master_parser): Do it here.
-
-2001-11-20  Akim Demaille  <akim@epita.fr>
-
-       * po/sv.po: New.
-       * configure.in (ALL_LINGUAS): Adjust.
-       * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
-       longer contains strings to translate.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (conflicts_print): Add a missing \n.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/nullable.c (nullable_print): New.
-       (set_nullable): Call it when tracing.
-       Better locality of variables.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/print.c (print_actions): Better locality of variables.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/derives.c (print_derives): Fix and enrich.
-       * src/closure.c (print_fderives): Likewise.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (itemsetend): Remove, replaced with...
-       (itemsetsize): new.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (kernel_end): Remove, replaced with...
-       (kernel_size): new.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (set_conflicts): Use arrays instead of pointers
-       to clarify.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c (closure): Use arrays instead of pointers to clarify.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c, src/derives.c, src/nullable.c: Adjust various
-       trace messages.
-       * src/LR0.c: Likewise.
-       (allocate_itemsets): Use arrays instead of pointers to clarify.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (statistics_flag): Replace with...
-       (trace_flag): New.
-       (longopts): Accept --trace instead of --statistics.
-       * src/getargs.h, src/options.c: Adjust.
-       * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
-       * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
-       pointers to clarify the code.
-       (save_reductions, save_shifts): Factor common parts of alternatives.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (new_state, get_state): Complete TRACE code.
-       * src/closure.c: Include `reader.h' to get `tags', needed by the
-       trace code.
-       Rename the conditional DEBUG as TRACE.
-       Output consistently TRACEs to stderr, not stdout.
-       * src/derives.c: Likewise.
-       * src/reduce.c: (inaccessable_symbols): Using if is better style
-       than goto.
-       Use `#if TRACE' instead of `#if 0' for tracing code.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h (LIST_FREE, shortcpy): New.
-       * src/LR0.c: Use them.
-       * src/output.c (free_itemsets, free_reductions, free_shifts):
-       Remove, replaced by LIST_FREE.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
-       (REDUCTIONS_ALLOC):  New.
-       * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
-       allocation.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.c (new_state): Complete trace code.
-       * src/nullable.c (set_nullable): Don't translate traces.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/print_graph.c (print_core): Better locality of variables.
-       * src/print.c (print_core): Likewise.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/vcg.c: You do the output, so you are responsible of the
-       handling of VCG syntax, in particular: use quotearg.
-       * src/print_graph.c: Don't.
-       (print_actions): Don't output the actions as part of the nodes,
-       since that's the job of the edges.
-       (print_state): Don't output by hand: fill the node description,
-       and ask for its output.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple (yyparse): When verbosely reporting an error,
-       no longer put additional quotes around token names.
-       * tests/calc.at: Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
-       * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
-       * src/output.c: Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
-       (rule_t): this.
-       * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (rule_t): New.
-       (rule_table): New.
-       (rrhs, rlhs): Remove, part of state_t.
-       * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
-       * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
-       * src/reader.c, src/reduce.c: Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (symbols_output): New, extracted from...
-       (packsymbols): Here.
-       (reader): Call it.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
-       (maxrhs): this new function.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (F): New macro to access the variable F.
-       Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h (LA): New macro to access the variable LA.
-       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
-       * src/lalr.c: Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.c (initialize_LA): Only initialize LA.  Let...
-       (set_state_table): handle the `lookaheads' members.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h (lookaheads): Removed array, whose contents is now
-       a member of...
-       (state_t): this structure.
-       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
-       Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h (consistent): Removed array, whose contents is now
-       a member of...
-       (state_t): this structure.
-       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
-       Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
-       contents are now members of...
-       (state_t): this structure.
-       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
-       Adjust.
-
-2001-11-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h (state_t): New.
-       (state_table): Be a state_t * instead of a core **.
-       (accessing_symbol): Remove, part of state_t.
-       * src/lalr.c: Adjust.
-       (set_accessing_symbol): Merge into...
-       (set_state_table): this.
-       * src/print_graph.c, src/conflicts.c: Adjust.
-
-2001-11-14  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at, tests/output.at, tests/regression.at,
-       * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
-       now the tests are run in private dirs, therefore AC_CLEANUP and
-       family can be simplified to 0-ary.
-       * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
-       use abs. path to find config.h.
-       * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
-       stderr, there can be way too much random noise.
-       Instead pass -Werror to GCC and rely on the exit status.
-       Reported by Wolfram Wagner.
-
-2001-11-14  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
-       defined only if yyoverflow is defined, to avoid `warning: unused
-       variable `yyvs1''.
-       Reported by The Test Suite.
-
-2001-11-14  Akim Demaille  <akim@epita.fr>
-
-       * src/print.c: Include reduce.h.
-       Reported by Hans Aberg.
-
-2001-11-14  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
-       Revert a previous patch:  these are really const.
-       * src/conflicts.c (conflict_report): Additional useless pair of
-       braces to pacify GCC's warnings for `if () if () {} else {}'.
-       * src/lex.c (parse_percent_token): Replace equal_offset with
-       arg_offset.
-       arg is const.
-       Be sure to strdup `arg' when used, since there is no reason for
-       token_buffer not to change.
-
-2001-11-14  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
-       definition.
-       * src/main.c (main): Use them.
-       Suggested by Hans Aberg.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h (ngettext): Now that we use ngettext, be sure to
-       provide a default definition when NLS are not used.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
-       Use @kbd to denote user input.
-       (Language and Grammar): ANSIfy the example.
-       Adjust its layout for info/notinfo.
-       (Location Tracking Calc): Output error messages to stderr.
-       Output locations in a more GNUtically correct way.
-       Fix a couple of Englishos.
-       Adjust @group/@end group pairs.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       %expect was not functioning at all.
-
-       * src/conflicts.c (expected_conflicts): Set to -1.
-       (conflict_report): Use ngettext.
-       (conflicts_print): Check %expect and make its violation an error.
-       * doc/bison.texinfo (Expect Decl): Adjust.
-       * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
-       * tests/regression.at (%expect not enough, %expect right)
-       (%expect too much): New.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Conflicts): Rename as...
-       (Unresolved SR Conflicts): this.
-       (Solved SR Conflicts): New.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.c (print_results): Rename as...
-       (reduce_output): This.
-       Output to OUT, passed as argument, instead of output_obstack.
-       (dump_grammar): Likewise.
-       (reduce_free): New.
-       Also free V1.
-       (reduce_grammar): No longer call reduce_output, since...
-       * src/print.c (print_results): do it.
-       * src/main.c (main): Call reduce_free;
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (print_reductions): Accept OUT as argument.
-       Output to it, not to output_obstack.
-       * src/print.c (print_actions): Adjust.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
-       the result instead of using...
-       (src_total, rrc_total, src_count, rrc_count): Remove.
-       (any_conflicts): Remove.
-       (print_conflicts): Split into...
-       (conflicts_print, conflicts_output): New.
-       * src/conflicts.h: Adjust.
-       * src/main.c (main): Invoke both conflicts_output and conflicts_print.
-       * src/print.c (print_grammar): Issue `\n' between two rules.
-       * tests/regression.at (Conflicts): New.
-       Reported by Tom Lane.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Invalid input): Remove, duplicate with
-       ``Invalid input: 1''.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * tests/torture.at (AT_DATA_STACK_TORTURE)
-       (Exploding the Stack Size with Alloca)
-       (Exploding the Stack Size with Malloc): New.
-
-2001-11-12  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple (YYSTACK_REALLOC): New.
-       (yyparse) [!yyoverflow]: Use it and free the old stack.
-       Reported by Per Allansson.
-
-2001-11-12  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/bison.simple: Define type yystype instead of YYSTYPE, and
-       define CPP macro, which substitute YYSTYPE by yystype.
-       * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
-       with yyltype/YYLTYPE.  This allows inclusion of the generated
-       header within the parser if the compiler, such as GGC, accepts
-       multiple equivalent #defines.
-       From Akim.
-
-2001-11-05  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (symbols_output): New, extracted from...
-       (packsymbols): here.
-       (reader): Adjust.
-
-2001-11-05  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.c (parse_percent_token): s/quotearg/quote/.
-
-2001-11-05  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
-       pattern.
-
-2001-11-05  Akim Demaille  <akim@epita.fr>
-
-       * src/options.h (struct option_table_struct): set_flags is void*.
-       * src/options.c (longopts): Support `--output' and `%output'.
-       (usage): Adjust.
-       * src/lex.h (tok_setopt): Remove, replaced with...
-       (tok_intopt, tok_stropt): these new guys.
-       * src/lex.c (getopt.h): Not needed.
-       (token_buffer, unlexed_token_buffer): Not const.
-       (percent_table): Promote `-' over `_' in directive names.
-       Active `%name-prefix', `file-prefix', and `output'.
-       (parse_percent_token): Accept possible arguments to directives.
-       Promote `-' over `_' in directive names.
-
-2001-11-04  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Decl Summary): Split the list into
-       `directives for grammars' and `directives for bison'.
-       Sort'em.
-       Add description of `%name-prefix', `file-prefix', and `output'.
-       Promote `-' over `_' in directive names.
-       (Bison Options): s/%locactions/%locations/.  Nice Freudian slip.
-       Simplify the description of `--name-prefix'.
-       Promote `-' over `_' in directive names.
-       Promote `--output' over `--output-file'.
-       Fix the description of `--defines'.
-       * tests/output.at: Exercise %file-prefix and %output.
-
-2001-11-02  Akim Demaille  <akim@epita.fr>
-
-       * doc/refcard.tex: Update.
-
-2001-11-02  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.h (SUNDEF): New.
-       * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
-       stand for `uninitialized', instead of 0.
-       * src/reader.c (packsymbols, parse_thong_decl): Adjust.
-       * src/lex.c (lex): Adjust.
-
-       * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
-       Number it 0.
-       Let yylex return it instead of a plain 0.
-       Reported by Dick Streefland.
-
-2001-11-02  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Mixing %token styles): New test.
-
-2001-11-02  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (parse_thong_decl): Formatting changes.
-       (token_translations_init): New, extracted from...
-       (packsymbols): Here.
-       Adjust.
-
-2001-11-01  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
-       Check that `9foo.y' produces correct cpp guards.
-       * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
-       guards.
-       Reported by Wwp.
-
-2001-11-01  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Invalid input: 2): New.
-       * src/lex.c (unlexed_token_buffer): New.
-       (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
-       too.
-       Reported by Wwp.
-
-2001-11-01  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at: Catch up with 1.30.
-       * configure.in: Bump to 1.49a.
-       Adjust to newer Autotest.
-
-2001-10-19  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/conflicts.c: Move global variables rrc_total and src_total ...
-       (print_conflicts): here.
-       * src/output.c (output): Free global variable user_toknums.
-       * src/lex.c (token_obstack): Become static.
-
-2001-10-18  Akim Demaille  <akim@epita.fr>
-
-       * tests/atlocal.in (GCC): Add.
-       * tests/calc.at: s/m4_match/m4_bmatch/.
-       s/m4_patsubst/m4_bpatsubst/.
-       (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
-       * configure.in: AC_SUBST(GCC).
-
-2001-10-14  Marc Autret  <autret_m@epita.fr>
-
-       * src/options.c (create_long_option_table): Fix.
-
-2001-10-10  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
-
-2001-10-04  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (parse_union_decl): Push the caracters in
-       union_obstack, not attrs_obstack.
-
-2001-10-04  Akim Demaille  <akim@epita.fr>
-
-       Merge in the branch 1.29.
-
-       * src/reader.c (packsymbols): Use a temporary obstack for
-       `%%tokendef', since output_stack is already used elsewhere.
-
-       2001-10-02  Akim Demaille  <akim@epita.fr>
-
-       Bump 1.29d.
-
-       2001-10-02  Akim Demaille  <akim@epita.fr>
-
-       Version 1.29c.
-
-       2001-10-02  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Invalid CPP headers): New.
-       From Alexander Belopolsky.
-       * src/files.c (compute_header_macro): Map non alnum chars to `_'.
-
-       2001-10-02  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.at (Invalid input): New.
-       * src/lex.c (lex): Be sure to set `token_buffer' in any case.
-       Reported by Shura.
-
-       2001-10-02  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at: Now that --debug works, the tests must be adjusted.
-
-       2001-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_parser): Assert `skeleton'.
-       * src/files.c (skeleton_find): Look harder for skeletons on DOSish
-       systems.
-       From Shura.
-
-       2001-10-01  Marc Autret  <autret_m@epita.fr>
-
-       * src/lex.h: Echo modifications.
-       * src/lex.c (unlex): Parameter is now token_t.
-       From Hans Aberg.
-
-       2001-10-01  Marc Autret  <autret_m@epita.fr>
-
-       * src/main.c: Include lex.h.
-       From Hans Aberg.
-
-       2001-09-29  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
-
-       2001-09-28  Akim Demaille  <akim@epita.fr>
-
-       * tests/testsuite.at: Update to newer Autotest.
-       * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
-
-       2001-09-27  Akim Demaille  <akim@epita.fr>
-
-       Position independent wrapper.
-
-       * tests/bison: Remove.
-       * tests/bison.in: New.
-       * configure.in: Adjust.
-
-       2001-09-27  Paul Eggert  <eggert@twinsun.com>
-
-       Port quotearg fixes from tar 1.13.24.
-
-       * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
-       tm to be declared.
-       (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
-       (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
-
-       * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
-       * m4/mbrtowc.m4: New file.
-       * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
-       Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
-
-       2001-09-27  Akim Demaille  <akim@epita.fr>
-
-       Bump to 1.29c.
-
-       2001-09-27  Akim Demaille  <akim@epita.fr>
-
-       Version 1.29b.
-
-       2001-09-25  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: Include `xalloc.h'.
-       Remove it from the C files.
-       * src/files.c (output_files): Free the obstacks.
-       * src/lex.c (init_lex): Rename as...
-       (lex_init): this.
-       (lex_free): New.
-       * src/main.c (main): Use it.
-
-       2001-09-24  Marc Autret  <autret_m@epita.fr>
-
-       * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
-       to output informations in fout (FILE*).
-       (open_graph, close_graph): Likewise.
-       (output_graph, output_edge, output_node): Likewise.
-       * src/vcg.h: Update function prototypes.
-       * src/print_graph.c (print_graph): Open output graph file.
-       (print_actions): Adjust.
-       * src/files.h: Remove extern declaration.
-       * src/files.c: Remove graph_obstack declaration.
-       (open_files): Remove graph_obstack initialization.
-       (output_files): Remove graph_obstack saving.
-
-       2001-09-24  Marc Autret  <autret_m@epita.fr>
-
-       * src/files.c (compute_output_file_names): Fix.
-
-       2001-09-24  Marc Autret  <autret_m@epita.fr>,
-                   Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (reader): Remove call to free_symtab ().
-       * src/main.c (main): Call it here.
-       Include symtab.h.
-       * src/conflicts.c (initialize_conflicts): Rename as...
-       (solve_conflicts): this.
-       * src/print.c (print_core, print_actions, print_state)
-       (print_grammar): Dump to a file instead a `output_obstack'.
-       (print_results): Dump `output_obstack', and then proceed with the
-       FILE *.
-       * src/files.c (compute_output_file_names, close_files): New.
-       (output_files): Adjust.
-       * src/main.c (main): Adjust.
-
-       2001-09-23  Marc Autret  <autret_m@epita.fr>
-
-       * src/files.c (compute_header_macro): Computes header macro name
-       from spec_defines_file when given.
-
-       2001-09-23  Marc Autret  <autret_m@epita.fr>
-
-       * src/files.c (output_files): Add default extensions.
-
-       2001-09-22  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (finalize_conflicts): Rename as...
-       (free_conflicts): this.
-
-       2001-09-22  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.c (gram_free): Rename back as...
-       (dummy): this.
-       (output_token_translations): Free `token_translations'.
-       * src/symtab.c (free_symtab): Free the tag field.
-
-       2001-09-22  Akim Demaille  <akim@epita.fr>
-
-       Remove `translations' as it is always set to true.
-
-       * src/gram.h: Adjust.
-       * src/reader.c (packsymbols, parse_token_decl): Adjust
-       * src/print.c (print_grammar): Adjust.
-       * src/output.c (output_token_translations): Adjust.
-       * src/lex.c (lex): Adjust.
-       * src/gram.c: Be sure the set pointers to NULL.
-       (dummy): Rename as...
-       (gram_free): this.
-
-       2001-09-22  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Invoke AM_LIB_DMALLOC.
-       * src/system.h: Use dmalloc.
-       * src/LR0.c: Be sure to have pointers initialized to NULL.
-       (allocate_itemsets): Allocate kernel_items only if needed.
-
-       2001-09-22  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Bump to 1.29b.
-       * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
-       * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
-       need xmalloc.c in calc.y.
-       From Pascal Bart.
-
-       2001-09-21  Akim Demaille  <akim@epita.fr>
-
-       Version 1.29a.
-       * Makefile.maint, config/config.guess, config/config.sub,
-       * config/missing: Update from masters.
-       * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
-       upon package.m4.
-       * configure.in (ALL_LINGUAS): Add `tr'.
-
-       2001-09-21  Akim Demaille  <akim@epita.fr>
-
-       * tests/Makefile.am (package.m4): Move to...
-       ($(srcdir)/$(TESTSUITE)): here.
-
-       2001-09-20  Akim Demaille  <akim@epita.fr>
-
-       * src/complain.c: No longer try to be standalone: use system.h.
-       Don't assume __STDC__ is defined to 1. Just test if it is defined.
-       * src/complain.h: Likewise.
-       * src/reduce.c (useless_nonterminals, inaccessable_symbols):
-       Remove the unused variable `n'.
-       From Albert Chin-A-Young.
-
-       2001-09-18  Marc Autret  <autret_m@epita.fr>
-
-       * doc/bison.1: Update.
-       * doc/bison.texinfo (Bison Options): Update --defines and --graph
-       descriptions.
-       (Option Cross Key): Update.
-       Add --graph.
-
-       2001-09-18  Marc Autret  <autret_m@epita.fr>
-
-       * tests/regression.at: New test (comment in %union).
-
-       2001-09-18  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
-       do that.
-       Reported by Keith Browne.
-
-       2001-09-18  Marc Autret  <autret_m@epita.fr>
-
-       * tests/output.at: Add tests for --defines and --graph.
-
-       2001-09-18  Marc Autret  <autret_m@epita.fr>
-
-       * tests/output.at: Removes tests of %{header,src}_extension features.
-
-       2001-09-18  Akim Demaille  <akim@epita.fr>
-
-       * tests/Makefile.am (package.m4): New.
-       * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
-       (_AT_CHECK_CALC_ERROR): Likewise.
-       Factor the `, ' part of verbose error messages.
-
-       2001-09-18  Marc Autret  <autret_m@epita.fr>
-
-       * src/getargs.c (longopts): Declare --defines and --graph as options
-       with optional arguments.
-       * src/files.h: Add extern declarations.
-       * src/files.c (spec_graph_file, spec_defines_file): New.
-       (output_files): Update.
-       Remove CPP-outed code.
-
-       2001-09-18  Marc Autret  <autret_m@epita.fr>
-
-       Turn off %{source,header}_extension feature.
-
-       * src/files.c (compute_exts_from_gf): Update.
-       (compute_exts_from_src): Update.
-       (output_files): CPP-out useless code.
-       * src/files.h: Remove {header,source}_extension extern declarations.
-       * src/reader.c (parse_dquoted_param): CPP-out.
-       (parse_header_extension_decl): Remove.
-       (parse_source_extension_decl): Remove.
-       (read_declarations): Remove cases tok_{hdrext,srcext}.
-       * src/lex.c (percent_table): Remove {header,source}_extension entries.
-       * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
-
-       2001-09-10  Akim Demaille  <akim@epita.fr>
-
-       * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
-       (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
-       (AT_CHECK_OUTPUT): this.
-       Merely check ls' exit status, its output is useless.
-
-       2001-09-10  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.at: Use m4_match.
-       (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
-
-       2001-09-10  Marc Autret  <autret_m@epita.fr>,
-                   Akim Demaille  <akim@epita.fr>
-
-       * src/vcg.h (graph_s): color, textcolor, bordercolor are now
-       enum color_e.
-       * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
-       to `normal'.
-       * src/reader.c (parse_token_decl): Initialize token with tok_eof.
-       * src/lex.h: Adjust prototype.
-       (token_t): Add `tok_undef'.
-       * src/lex.c (struct percent_table_struct): Retval is now a token_t.
-       (parse_percent_token): Now returns token_t.
-       Add default statement in switch.
-       (lex): Separate `c' as an input variable, from the token_t result
-       part.
-       (unlexed): Is a token_t.
-
-       2001-09-10  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Bump to 1.29a.
-
-       2001-09-07  Akim Demaille  <akim@epita.fr>
-
-       Version 1.29.
-
-       2001-08-30  Akim Demaille  <akim@epita.fr>
-
-       * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
-       * m4/atconfig.m4: Remove.
-       * tests/testsuite.at, tests/atlocal.in, tests/output.at,
-       * tests/bison: New.
-       * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
-       m4_if, m4_patsubst, and m4_regexp.
-       * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
-       `input' file instead of echo.
-
-       2001-08-29  Akim Demaille  <akim@epita.fr>
-
-       Bump to 1.28e.
-
-       2001-08-29  Akim Demaille  <akim@epita.fr>
-
-       Version 1.28d.
-
-       2001-08-29  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (yyparse): Don't take the address of an
-       item before the start of an array, as that doesn't conform to
-       the C Standard.
-
-       2001-08-29  Robert Anisko  <anisko_r@epita.fr>
-
-       * doc/bison.texinfo (Location Tracking Calc): New node.
-
-       2001-08-29  Paul Eggert  <eggert@twinsun.com>
-
-       * src/output.c (output): Do not define const, as this now
-       causes more problems than it cures.
-
-       2001-08-29  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
-       the nodes.
-       Be sure to tag the `detailmenu'.
-
-       2001-08-29  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.maint (do-po-update): Wget refuses to overwrite files:
-       download in a tmp dir.
-
-       2001-08-28  Marc Autret  <autret_m@epita.fr>
-
-       * config/depcomp: New file.
-
-       2001-08-28  Marc Autret  <autret_m@epita.fr>
-
-       * doc/bison.1 (mandoc): Adjust.
-       From Juan Manuel Guerrero.
-
-       2001-08-28  Marc Autret  <autret_m@epita.fr>
-
-       * src/print_graph.c (print_state): Fix.
-
-       2001-08-27  Marc Autret  <autret_m@epita.fr>
-
-       * src/vcg.h (classname_s, infoname_s, node_s): Constify the
-       char * members.
-       Echo modifications to the functions prototypes.
-       * src/vcg.c (add_classname, add_infoname): Adjust arguments.
-
-       2001-08-27  Marc Autret  <autret_m@epita.fr>
-
-       * src/vcg.c: Include `xalloc.h'.
-       (add_colorentry): New.
-       (add_classname): New.
-       (add_infoname): New.
-       * src/vcg.h: Add new prototypes.
-
-       2001-08-27  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.maint: Sync. again with CVS Autoconf.
-
-       2001-08-27  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.maint: Formatting changes.
-       (po-update, cvs-update, update): New targets.
-       (AMTAR): Remove.
-
-       2001-08-27  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
-       * Makefile.maint: Sync. with CVS Autoconf.
-
-       2001-08-27  Marc Autret  <autret_m@epita.fr>
-
-       * src/vcg.h (struct infoname_s): New.
-       (struct colorentry_s): New.
-       (graph_s): New fields {vertical,horizontal}_order in structure.
-       Add `infoname' field.
-       Add `colorentry' field;
-       * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
-       (G_HORIZONTAL_ORDER): New.
-       (G_INFONAME): New.
-       (G_COLORENTRY): New.
-       * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
-       Add output of `infoname'.
-       Add output of `colorentry'.
-
-       2001-08-27  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
-       This one shadowed a global parameter.
-
-       2001-08-24  Marc Autret  <autret_m@epita.fr>
-
-       * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
-       instead of `unsigned'.
-       (print_state): Do not call obstack_object_size () in obstack_grow ()
-       to avoid macro variables shadowing.
-
-       2001-08-23  Marc Autret  <autret_m@epita.fr>
-
-       * src/lex.c (percent_table): Typo: s/naem/name/.
-       Add graph option.
-       Normalize new options declarations.
-
-       2001-08-20  Pascal Bart  <pascal.bart@epita.fr>
-
-       * tests/suite.at: Exercise %header_extension and %source_extension.
-
-       2001-08-16  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (parse_dquoted_param): New.
-       (parse_header_extension_decl): Use it.
-       (parse_source_extension_decl): Likewise.
-
-       2001-08-16  Marc Autret  <autret_m@epita.fr>
-
-       * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
-       (get_xxxx_str): Use assert () instead of complain ().
-       Remove return invokations in default cases.
-       (get_decision_str): Modify default behaviour. Remove second argument.
-       Echo modifications on calls.
-       (output_graph): Fix.
-
-       2001-08-16  Marc Autret  <autret_m@epita.fr>
-
-       * src/getargs.c (usage): Update with ``-g, --graph''.
-
-       2001-08-16  Marc Autret  <autret_m@epita.fr>
-
-       * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
-       (Option Cross Key): Likewise.
-       * doc/bison.1: Update.
-
-2001-09-25  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/output.c (output_master_parser): Don't finish action_obstack.
-       (output_parser): Don't care about the muscle action, here.
-       (prepare): Copy the action_obstack in the action muscle.
-       (output): Free action_obstack.
-
-2001-09-23  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/reader.c (parse_union_decl): Add new obstack union_obstack.  Which
-       will contain `%union' declaration.
-       (parse_union_decl): Delete #line directive output.
-       (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
-       informations about %union.
-       (parse_union_decl): Copy the union_obstack in the muscle stype.
-       * src/bison.simple: Add new #line directive.
-       Add typdef %%stype YYSTYPE.
-
-2001-09-23  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/bison.simple: Add new `#line' directive.
-
-2001-09-22  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/bison.simple: New `#line' directive.
-       * src/output.c (output_parser): Support new dynamic muscle input_line.
-
-2001-09-22  Marc Autret  <autret_m@epita.fr>
-
-       * src/output.c (output_master_parser): New.
-       (output_parser): Be more re-entrant.
-
-2001-09-21  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (copy_definition, parse_union_decl): Update and use
-       `linef' muscle.
-       (copy_action): Likewise.
-       Use obstack_1grow ().
-       * src/muscle_tab.c (muscle_init): Add muscle `linef'.
-
-2001-09-21  Marc Autret  <autret_m@epita.fr>
-
-       * src/options.c (option_table): Adjust.
-       * src/lex.c (parse_percent_token): Fix.
-
-2001-09-20  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/options.c (symtab.h): Include it, need by lex.h.
-
-2001-09-20  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/lex.c (parse_percent_token): Change type of variable `tx', which
-       is now an option_table_struct*.
-       (option_strcmp): New function option_strcmp.
-       (parse_percent_token): Call option_strcmp.
-       * src/getargs.c (xalloc.h, options.h): Include it.
-       (getargs): Call create_long_option_table.
-       (getargs): Free longopts at the end of the function.
-       (shortopts): Move in options.c.
-       * src/options.c (create_long_option_table): New function.  Convert
-       information from option_table to option structure.
-       * src/reader.c (options.h): Include it.
-
-       * src/Makefile.am: Adjust.
-       * src/options.c (option_table): Create from longopts and percent_table.
-       * src/getargs.c (longopts): Delete.
-       * src/lex.c (struct percent_table_struct): Delete.
-       (percent_table): Delete.
-       (options.h): Include it.
-       * src/options.c: Create.
-       * src/options.h: Create.
-       Declare enum opt_access_e.
-       Define struct option_table_struct.
-
-2001-09-20  Marc Autret  <autret_m@epita.fr>
-
-       * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
-       sections of Bison.
-
-2001-09-19  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/bison.simple: s/%%filename/%%skeleton.
-       * src/muscle_tab.c (getargs.h): Include it.
-       (muscle_init): Insert new muscle skeleton.
-
-2001-09-18  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/output.c (output_parser): Delete unused variable actions_dumped.
-
-2001-09-07  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/output.c (output): Delete call to reader_output_yylsp.
-       * src/reader.c (reader): Likewise.
-       * src/reader.h: Delete declaration of reader_output_yylsp.
-
-2001-09-02  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c: Include muscle_tab.h.
-       (parse_union_decl): Update.
-       (parse_macro_decl): Rename parse_muscle_decl.
-       Update to use renamed functions and variable.
-       (read_declarations, copy_action, read_additionnal_code, : Updated
-       with correct variables and functions names.
-       (packsymbols, reader): Likewise.
-
-       * src/reader.h (muscle_obstack): Extern declaration update.
-
-       * src/output.c: Include muscle_tab.h
-       In all functions using macro_insert, change by using muscle_insert ().
-       (macro_obstack): Rename muscle_obstack.
-       Echo modifications in the whole file.
-       (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
-       (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
-       (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
-
-       * src/muscle_tab.h: Update double inclusion macros.
-       (macro_entry_s): Rename muscle_entry_s.
-       Update prototypes.
-
-       * src/muscle_tab.c: Include muscle_tab.h.
-       Rename macro_tabble to muscle_table.
-       (mhash1, mhash2, mcmp): Use muscle_entry.
-       (macro_init): Rename muscle_init. Update.
-       (macro_insert): Rename muscle_insert. Update.
-       (macro_find): Rename muscle_find. Update.
-
-       * src/main.c: Include muscle_tab.h.
-       (main): Call muscle_init ().
-       * src/Makefile.am (bison_SOURCES): Echo modifications.
-
-2001-09-02  Marc Autret  <autret_m@epita.fr>
-
-       Now the files macro_tab.[ch] are named muscle_tab.[ch].
-
-       * src/muscle_tab.c, src/muscle_tab.h: Add files.
-
-2001-09-02  Marc Autret  <autret_m@epita.fr>
-
-       * src/macrotab.c, src/macrotab.h: Remove.
-
-2001-09-01  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/reader.c (copy_guard): Use muscle to specify the `#line'
-       filename.
-
-2001-09-01  Marc Autret  <autret_m@epita.fr>
-
-       * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
-       to an explicit value to activate the feature. We do it here.
-
-2001-08-31  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/output.c (prepare): Delete the `filename' muscule insertion.
-       * src/reader.c (copy_action): Use `filename' muscule with `#line'.
-       (parse_union_decl): Likewise.
-       * src/macrotab.c (macro_init): Initialize filename by infile.
-
-2001-08-31  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple (YYLSP_NEEDED): New definition.
-       * src/output.c (prepare): Add macro insertion of `locations_flag'
-
-2001-08-31  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/output.c (prepare): Delete insertion of previous muscles,
-       and insert the `prefix' muscles.
-       * src/macrotab.c (macro_init): Likewise.
-       (macro_init): Initialization prefix directive by `yy'.
-       * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
-       %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
-       yylval, yydebug, yyerror, yynerrs and yyparse.
-       New directive `#define' to substitute yydebug, ... with option
-       name_prefix.
-
-2001-08-31  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/main.c (main): Standardize.
-       * src/output.c (output_table_data, output_parser): Likewise.
-       * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
-
-2001-08-31  Pascal Bart  <pascal.bart@epita.fr>, Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (read_additionnal_code): Rename %%user_code to
-       %%epilogue.
-       * src/output.c (output): Rename %%declarations to %%prologue.
-       * src/bison.simple: Echo modifications.
-
-2001-08-31  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (readgram): CleanUp.
-       (output_token_defines): Likewise.
-       (packsymbols): Likewise.
-       (reader): Likewise.
-       * src/output.c (output): CPP-out useless code.
-
-2001-08-31  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/reader.c (reader): Delete obsolete call to function
-       output_trailers and output_headers.
-       * src/output.h: Remove obsolete functions prototypes of output_headers
-       and output_trailers.
-
-2001-08-30  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/main.c: Include macrotab.h.
-       * src/macrotab.h (macro_entry_s): Constify fields.
-       Adjust functions prototypes.
-       * src/macrotab.c (macro_insert): Constify key and value.
-       (macro_find): Constify key.
-       (macro_insert): Include 'xalloc.h'
-       (macro_insert): Use XMALLOC.
-       (macro_find): Constify return value.
-       * src/output.c (output_table_data): Rename table to table_data.
-       (output_parser): Constify macro_key, macro_value.
-
-2001-08-30  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (parse_skel_decl): New.
-       (read_declarations): Add case `tok_skel', call parse_skel_decl ().
-       * src/lex.h (token_t): New token `tok_skel'.
-       * src/lex.c (percent_table): Add skeleton option entry.
-       Standardize.
-
-2001-08-29  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple: Add %%user_code directive at the end.
-       * src/reader.c (read_additionnal_code): New.
-       (reader): Use it.
-       * src/output.c (output_program): Remove.
-       (output): Update.
-
-2001-08-28  Marc Autret  <autret_m@epita.fr>
-
-       * src/output.c (output_actions): Clean up.
-       (output_gram): CPP-out useless code.
-       * src/reader.c (reader): Clean up, CPP-out useless code.
-
-2001-08-28  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/output.c (output): Copy attrs_obstack in the '%%definitions'
-       directive.
-       * src/bison.simple: Add `%%definitions'.
-
-2001-08-28  Marc Autret  <autret_m@epita.fr>
-
-       * config/depcomp: New file.
-
-2001-08-27  Paul Eggert  <eggert@twinsun.com>
-
-       * src/bison.simple (yyparse): Don't take the address of an
-       item before the start of an array, as that doesn't conform to
-       the C Standard.
-
-2001-08-27  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/output.c (output): Remove the initialization of the macro
-       obstack.  It was done too late here.
-
-       * src/reader.c (parse_macro_decl): Fix.  Use of the macro obstack was
-       completely wrong.
-       (reader): Initialize the macro obstack here, since we need it to grow
-       '%define' directives.
-
-       * src/reader.h: Declare the macro obstack as extern.
-
-2001-08-27  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/output.c (output_parser): Fix.  Store single '%' characters in
-       the output obstack instead of throwing them away.
-
-2001-08-27  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
-
-2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
-
-       * lib/Makefile.am: Adjust.
-
-2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/bison.simple: Update and add '%%' directives.
-
-2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/reader.c (reader): Remove calls to 'output_headers' and
-       'output_trailers'. Remove some C output.
-       (readgram): Disable a piece of code that was writing a default
-       definition for 'YYSTYPE'.
-       (reader_output_yylsp): Remove.
-       (packsymbols): Output token defintions to a macro.
-       (copy_definition): Disable C output.
-
-       * src/reader.c (parse_macro_decl): New function used to parse macro
-       declarations.
-       (copy_string2): Put the body of copy_string into this new function.
-       Add a parameter to let the caller choose whether he wants to copy the
-       string delimiters or not.
-       (copy_string): Be a simple call to copy_string2 with the last argument
-       bound to true.
-       (read_declarations): Add case for macro definition.
-       (copy_identifier): New.
-       (parse_macro_decl): Read macro identifiers using copy_identifier
-       rather than lex.
-
-2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/output.c (prepare): Add prefixed names.
-       (output_parser): Output semantic actions.
-       (output_parser): Fix bug on '%%line' directives.
-
-       * src/output.c (output_headers): Remove. The C code printed by this
-       function should now be in the skeletons.
-       (output_trailers): Remove.
-       (output): Disable call to 'reader_output_yylsp'.
-       (output_rule_data): Do not output tables to the table obstack.
-
-       * src/output.c: Remove some C dedicated output.
-       Improve the use of macro and output obstacks.
-       (output_defines): Remove.
-
-       * src/output.c (output_token_translations): Associate 'translate'
-       table with a macro. No output to the table obstack.
-       (output_gram): Same for 'rhs' and 'prhs'.
-       (output_stos): Same for 'stos'.
-       (output_rule_data): Same for 'r1' and 'r2'.
-       (token_actions): Same for 'defact'.
-       (goto_actions): Same for 'defgoto'.
-       (output_base): Same for 'pact' and 'pgoto'.
-       (output_table): Same for 'table'.
-       (output_check): Same for 'check'.
-
-       * src/output.c (output_table_data): New function.
-       (output_short_table): Remove.
-       (output_short_or_char_table): Remove.
-
-       * src/output.c (output_parser): Replace most of the skeleton copy code
-       with something new. Skeletons are now processed character by character
-       rather than line by line, and Bison looks for '%%' macros. This is the
-       first step in making Bison's output process (a lot) more flexible.
-       (output_parser): Use the macro table.
-
-2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/main.c (main): Initialize the macro table.
-
-2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/lex.c (percent_table): Add tok_define.
-       * src/lex.h: Add tok_define.
-
-2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
-
-       * src/macrotab.c: New file.
-       * src/macrotab.h: New file.
-       * src/Makefile.am: Update.
-
-2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
-
-       * lib/hash.c: New file.
-       * lib/hash.h: New file.
-       * lib/Makefile.am: Update.
-
-2001-08-15  Akim Demaille  <akim@epita.fr>
-
-       Version 1.28c.
-
-2001-08-15  Marc Autret  <autret_m@epita.fr>
-
-       * src/reader.c (readgram): Indent output macro YYSTYPE.
-       (packsymbols): Likewise.
-       (output_token_defines): Likewise.
-       * src/files.c: Standardize.
-       (compute_header_macro): New.
-       (defines_obstack_save): New. Use compute_header_macro.
-       (output_files): Update. Use defines_obstack_save.
-
-2001-08-15  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo (Table of Symbols): Document
-       YYSTACK_USE_ALLOCA.
-
-2001-08-15  Akim Demaille  <akim@epita.fr>
-
-       * missing: Update from CVS Automake.
-       * config/config.guess, config/config.sub, config/texinfo.tex:
-       Update from gnu.org.
-
-2001-08-15  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.maint: Sync with CVS Autoconf.
-
-2001-08-14  Pascal Bart  <pascal.bart@epita.fr>
-
-       * doc/bison.texinfo: Include GNU Free Documentation License from
-       `fdl.texi'.
-       * doc/fdl.texi: Add to package.
-
-2001-08-14  Marc Autret  <autret_m@epita.fr>
-
-       Turn on %{source,header}_extension features.
-
-       * src/lex.c (percent_table): Un-CPP out header_extension and
-       source_extension.
-       * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
-       (compute_exts_from_src): Remove conditions. It restores priorities
-       between options.
-
-2001-08-14  Marc Autret  <autret_m@epita.fr>
-
-       * src/files.c (compute_base_names): Add extensions computing when
-       `--file-prefix' used.
-       Standardize function calls.
-
-2001-08-13  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
-       defining it (defined but null disables alloca).
-
-2001-08-13  Marc Autret  <autret_m@epita.fr>
-
-       * src/bison.simple (_yy_memcpy): CPP reformat.
-
-2001-08-13  Pascal Bart  <pascal.bart@epita.fr>
-
-       * tests/atconfig.in (CPPFLAGS): Fix.
-
-2001-08-10  Pascal Bart  <pascal.bart@epita.fr>
-
-       * doc/bison.texinfo: Include GNU General Public License from
-       `gpl.texi'.
-       * doc/gpl.texi: Add to package.
-
-2001-08-10  Marc Autret  <autret_m@epita.fr>
-
-       * src/print_graph.h: Fix.
-       * src/reader.c (read_declarations): Use parse_header_extension_decl ().
-
-2001-08-10  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h: Provide default declarations for stpcpy, strndup,
-       and strnlen.
-
-2001-08-10  Robert Anisko  <anisko_r@epita.fr>
-
-       * doc/bison.texinfo (Locations): Update @$ stuff.
-
-2001-08-09  Robert Anisko  <anisko_r@epita.fr>
-
-       * src/bison.simple (YYLLOC_DEFAULT): Update.
-       (yyparse): Adjust.
-
-2001-08-08  Marc Autret  <autret_m@epita.fr>
-
-       * doc/bison.texinfo: Change @samp{$<@dots{}>} to
-       @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
-       Reported by Fabrice Bauzac.
-
-2001-08-08  Marc Autret  <autret_m@epita.fr>
-
-       * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
-       * src/vcg.c (output_node): Fix.
-       * src/vcg.h: Cleanup.
-       * src/print_graph.c: Add comments.
-       (node_output_size): New global variable. Simplify the formatting of
-       the VCG graph output.
-       (print_actions): Unused code is now used. It notifies the final state
-       and no action states in the VCG graph. It also give the reduce actions.
-       The `shift and goto' edges are red and the `go to state' edges are
-       blue.
-       Get the current node name and node_obstack by argument.
-       (node_obstack): New variable.
-       (print_state): Manage node_obstack.
-       (print_core): Use node_obstack given by argument.
-       A node is not only computed here but in print_actions also.
-       (print_graph): CPP out useless code instead of commenting it.
-
-2001-08-07  Pascal Bart  <pascal.bart@epita.fr>
-
-       * tests/atconfig.in (CPPFLAGS): Fix.
-
-2001-08-07  Akim Demaille  <akim@epita.fr>
-
-       * src/print_graph.c (quote): New.
-       (print_core): Use it.
-
-2001-08-06  Akim Demaille  <akim@epita.fr>, Marc Autret  <autret_m@epita.fr>
-
-       * src/vcg.c (complain.h): Include it.
-       Unepitaize `return' invocations.
-       [NDEBUG] (main): Remove.
-       * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
-       * src/files.c (open_files): Initialize graph_obstack.
-       * src/print_graph.c (print_actions): CPP out useless code.
-       (print_core): Don't output the last `\n' in labels.
-       Use `quote'.
-       * src/files.c (output_files): Output the VCG file.
-       * src/main.c (main): Invoke print_graph ();
-
-2001-08-06  Marc Autret  <autret_m@epita.fr>
-
-       Automaton VCG graph output.
-       Using option ``-g'' or long option ``--graph'', you can generate
-       a gram_filename.vcg file containing a VCG description of the LALR (1)
-       automaton of your grammar.
-
-       * src/main.c: Call to print_graph() function.
-       * src/getargs.h: Update.
-       * src/getargs.c (options): Update to catch `-g' and `--graph' options.
-       (graph_flag): New flag.
-       (longopts): Update.
-       (getargs): Add case `g'.
-       * src/files.c (graph_obstack): New obstack struct.
-       (open_files): Initialize new obstack.
-       (output_files): Saves graph_obstack if required.
-       * src/files.h (graph_obstack): New extern declaration.
-       * src/Makefile.am: Add new source files.
-
-2001-08-06  Marc Autret  <autret_m@epita.fr>
-
-       * src/print_graph.c, src/print_graph.h (graph): New.
-       * src/vcg.h: New file.
-       * src/vcg.c: New file, VCG graph handling.
-
-2001-08-06  Marc Autret  <autret_m@epita.fr>
-
-       Add of %source_extension and %header_extension which specify
-       the source or/and the header output file extension.
-
-       * src/files.c (compute_base_names): Remove initialisation of
-       src_extension and header_extension.
-       (compute_exts_from_gf): Update.
-       (compute_exts_from_src): Update.
-       (output_files): Update.
-       * src/reader.c (parse_header_extension_decl): New.
-       (parse_source_extension_decl): New.
-       (read_declarations): New case statements for the new tokens.
-       * src/lex.c (percent_table): Add entries for %source_extension
-       and %header_extension.
-       * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
-
-2001-08-06  Marc Autret  <autret_m@epita.fr>
-
-       * configure.in: Bump to 1.28c.
-       * doc/bison.texinfo: Texinfo thingies.
-
-2001-08-04  Pascal Bart  <pascal.bart@epita.fr>
-
-       * tests/atconfig.in (CPPFLAGS): Add.
-       * tests/calc.at (AT_CHECK): Use CPPFLAGS.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       Version 1.28b.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       * tests/Makefile.am (check-local): Ship testsuite.
-       * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
-       Include `string.h'.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Try using -Wformat when compiling.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Bump to 1.28b.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       * src/complain.c: Adjust strerror_r portability issues.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       Version 1.28a.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c, src/getarg.h (skeleton)): Constify.
-       * src/lex.c (literalchar): Avoid name clashes on `buf'.
-       * src/getargs.c: Include complain.h.
-       * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
-       * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (readgram): Display hidden chars in error messages.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       Update to gettext 0.10.39.
-
-2001-08-03  Akim Demaille  <akim@epita.fr>
-
-       * lib/strspn.c: New.
-
-2001-08-01  Marc Autret  <autret_m@epita.fr>
-
-       * doc/bison.texinfo: Update.
-       * doc/bison.1 (mandoc): Update.
-       * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
-       * src/files.c: Support output files extensions computing.
-       (src_extension): New static variable.
-       (header_extension): New static variable.
-       (tr): New function.
-       (get_extension_index): New function, gets the index of an extension
-       filename in a string.
-       (compute_exts_from_gf): New function, computes extensions from the
-       grammar file extension.
-       (compute_exts_from_src): New functions, computes extensions from the
-       C source file extension, file given by ``-o'' option.
-       (compute_base_names): Update.
-       (output_files): Update.
-
-2001-08-01  Robert Anisko  <anisko_r@epita.fr>
-
-       * doc/bison.texi: Document @$.
-       (Locations): New section.
-
-2001-07-18  Akim Demaille  <akim@epita.fr>
-
-       * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
-       * config/prev-version.txt, config/move-if-change: New.
-       * Makefile.am: Adjust.
-
-2001-07-08  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/bison.simple (yyparse): Suppress warning `comparaison
-       between signed and unsigned'.
-
-2001-07-05  Pascal Bart  <pascal.bart@epita.fr>
-
-       * src/getargs.h (raw_flag): Remove.
-       * src/getargs.c: Die on `-r'/`--raw'.
-       * src/lex.c (parse_percent_token): Die on `%raw'.
-       * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
-       * tests/calc.at: Suppress test with option `--raw'.
-
-2001-07-14  Akim Demaille  <akim@epita.fr>
-
-       * config/: New.
-       * configure.in: Require Autoconf 2.50.
-       Update to gettext 0.10.38.
-
-2001-03-16  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: ANSIfy the examples.
-
-2001-03-16  Akim Demaille  <akim@epita.fr>
-
-       * getargs.c (skeleton): New variable.
-       (longopts): --skeleton is a new option.
-       (shortopts, getargs): -S is a new option.
-       * getargs.h: Declare skeleton.
-       * output.c (output_parser): Use it.
-
-2001-03-16  Akim Demaille  <akim@epita.fr>
-
-       * m4/strerror_r.m4: New.
-       * m4/error.m4: Run AC_FUNC_STRERROR_R.
-       * lib/error.h, lib/error.c: Update.
-
-2001-03-16  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (longopts): Clean up.
-
-2001-02-21  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (gensym): `gensym_count' is your own.
-       Use a static buf to create the symbol name, as token_buffer is no
-       longer a buffer.
-
-2001-02-08  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (conflict_report): Be sure not to append to res
-       between two calls, which could happen if both first sprintf were
-       skipped, but not the first cp += strlen.
-
-2001-02-08  Akim Demaille  <akim@epita.fr>
-
-       * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
-       New, from fileutils 4.0.37.
-       * configure.in: Require Autoconf 2.49c.  I took some time before
-       making this decision.  This is the only way out for portability
-       issues in Bison, it would mean way too much duplicate effort to
-       import in Bison features implemented in 2.49c since 2.13.
-       AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
-
-2001-02-02  Akim Demaille  <akim@epita.fr>
-
-       * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
-       * lib/xalloc.h, lib/xmalloc.c: Update.
-
-2001-01-19  Akim Demaille  <akim@epita.fr>
-
-       Get rid of the ad hoc handling of token_buffer in the scanner: use
-       the obstacks.
-
-       * src/lex.c (token_obstack): New.
-       (init_lex): Initialize it.  No longer call...
-       (grow_token_buffer): this.  Remove it.
-       Adjust all the places which used it to use the obstack.
-
-2001-01-19  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.h: Rename all the tokens:
-       s/\bENDFILE\b/tok_eof/g;
-       s/\bIDENTIFIER\b/tok_identifier/g;
-       etc.
-       Let them be enums, not #define, to ease debugging.
-       Adjust all the code.
-
-2001-01-18  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
-       * src/lex.c (maxtoken, grow_token_buffer): Static.
-
-2001-01-18  Akim Demaille  <akim@epita.fr>
-
-       Since we now use obstacks, more % directives can be enabled.
-
-       * src/lex.c (percent_table): Also accept `%yacc',
-       `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
-       `%debug'.
-       Handle the actions for `%semantic_parser' and `%pure_parser' here,
-       instead of returning a token.
-       * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
-       * src/reader.c (read_declarations): Adjust.
-       * src/files.c (open_files): Don't call `compute_base_names', don't
-       compute `attrsfile' since they depend upon data which might be
-       *in* the input file now.
-       (output_files): Do it here.
-       * src/output.c (output_headers): Document the fact that this patch
-       introduces a guaranteed SEGV for semantic parsers.
-       * doc/bison.texinfo: Document them.
-       * tests/suite.at: Exercise these %options.
-
-2000-12-20  Akim Demaille  <akim@epita.fr>
-
-       Also handle the output file (--verbose) with obstacks.
-
-       * files.c (foutput): Remove.
-       (output_obstack): New.
-       Adjust all dependencies.
-       * src/conflicts.c: Return a string.
-       * src/system.h (obstack_grow_string): Rename as...
-       (obstack_sgrow): this.  Be ready to work with non literals.
-       (obstack_fgrow4): New.
-
-2000-12-20  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (open_files): Fix the computation of short_base_name
-       in the case of `-o foo.tab.c'.
-
-2000-12-20  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
-       (copy_dollar): Now that everything uses obstacks, get rid of the
-       FILE * parameters.
-
-2000-12-20  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (open_files): Actually the `.output' file is based
-       on the short_base_name, not base_name.
-       * tests/suite.at (Checking output file names): Adjust.
-
-2000-12-20  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1: Remove, we now use directly...
-       * src/bison.simple: this.
-       * src/Makefile.am: Use pkgdata instead of data.
-
-2000-12-20  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (guard_obstack): New.
-       (open_files): Initialize it.
-       (output_files): Dump it...
-       * src/files.h: Export it.
-       * src/reader.c (copy_guard): Use it.
-
-2000-12-19  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (outfile, defsfile, actfile): Removed as global
-       vars.
-       (open_files): Don't compute them.
-       (output_files): Adjust.
-       (base_name, short_base_name): Be global.
-       Adjust dependencies.
-
-2000-12-19  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (strsuffix): New.
-       (stringappend): Be just like strcat but allocate.
-       (base_names): Eve out from open_files.
-       Try to simplify the rather hairy computation of base_name and
-       short_base_name.
-       (open_files): Use it.
-       * tests/suite.at (Checking output file names): New test.
-
-2000-12-19  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h (obstack_grow_literal_string): Rename as...
-       (obstack_grow_string): this.
-       * src/output.c (output_parser): Recognize `%% actions' instead of
-       `$'.
-       * src/bison.s1: s/$/%% actions/.
-       * src/bison.hairy: Likewise.
-
-2000-12-19  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_parser): Compute the `#line' lines when
-       there are.
-       * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
-       Suggested by Hans Aberg.
-
-2000-12-19  Akim Demaille  <akim@epita.fr>
-
-       Let the handling of the skeleton files be local to the procedures
-       that use it.
-
-       * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
-       longer static.
-       (fparser, open_extra_files): Remove.
-       (open_files, output_files): Don't take care of fparser.
-       * src/files.h: Adjust.
-       * src/output.c (output_parser): Open and close the file to the
-       skeleton.
-       * src/reader.c (read_declarations): When %semantic_parser, open
-       fguard.
-
-2000-12-19  Akim Demaille  <akim@epita.fr>
-
-       * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
-       * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
-
-2000-12-19  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (open_files): Yipee!  We no longer need all the code
-       looking for `/tmp' since we have no tmp file.
-
-2000-12-19  Akim Demaille  <akim@epita.fr>
-
-       * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
-       New macros.
-       * src/files.c (open_files): Less dependency on MSDOS etc.
-
-2000-12-14  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1 (YYLLOC_DEFAULT): New macro.
-       Provide a default definition.
-       Use it when executing the default @ action.
-       * src/reader.c (reader_output_yylsp): No longer include
-       `timestamp' and `text' in the default YYLTYPE.
-
-2000-12-12  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_definition, parse_union_decl, copy_action)
-       (copy_guard): Quote the file names.
-       Reported by Laurent Mascherpa.
-
-2000-12-12  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_headers, output_program, output): Be sure
-       to escape special characters when outputting filenames.
-       (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
-       (output_headers): Don't depend on them, Use ACTSTR.
-
-2000-11-17  Akim Demaille  <akim@epita.fr>
-
-       * lib/obstack.h: Formatting changes.
-       (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
-       prevents type checking.
-       (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
-       cast the value to (void *): assigning a `foo *' to a `void *'
-       variable is valid.
-       (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
-       * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
-       append characters.
-
-2000-11-17  Akim Demaille  <akim@epita.fr>
-
-       * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
-       as...
-       (suite.m4, regression.m4, calc.m4): these.
-       * tests/atgeneral.m4: Update from CVS Autoconf.
-
-2000-11-17  Akim Demaille  <akim@epita.fr>
-
-       * tests/regression.m4 (%union and --defines): New test,
-       demonstrating a current bug in the obstack implementation.
-
-2000-11-17  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
-       macros.
-       Use them to declare the variables which are global or local to
-       `yyparse'.
-
-2000-11-17  Akim Demaille  <akim@epita.fr>
-
-       * acconfig.h: Remove, no longer used.
-
-2000-11-07  Akim Demaille  <akim@epita.fr>
-
-       * src: s/Copyright (C)/Copyright/g.
-
-2000-11-07  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
-       defining.
-       * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
-
-2000-11-07  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
-       Merge in a single CPP if/else.
-
-2000-11-07  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output): Remove useless variables.
-       * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
-       argument `data' for consistency with the prototypes.
-       Qualify it `const'.
-       (obstack_copy, obstack_copy0): Rename the second argument as
-       `address' for consistency.  Qualify it `const'.
-       * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
-       (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
-       `const' their input argument (`data' or `address').
-       Adjust the corresponding macros to include `const' in casts.
-
-2000-11-03  Akim Demaille  <akim@epita.fr>
-
-       * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
-       s/PFILE1/BISON_HAIRY/.
-       Adjust dependencies.
-
-2000-11-03  Akim Demaille  <akim@epita.fr>
-
-       For some reason, this was not applied.
-
-       * src/files.c [VMS]: No longer include `ssdef.h', no longer define
-       `unlink': it's no longer used.
-
-2000-11-03  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (skeleton_find): New function, eved out of...
-       (open_files, open_extra_files): here.
-
-2000-11-03  Akim Demaille  <akim@epita.fr>
-
-       Don't use `atexit'.
-
-       * src/files.c (obstack_save): New function.
-       (done): Rename as...
-       (output_files): this.
-       Use `obstack_save'.
-       * src/main.c (main): Don't use `atexit' to register `done', since
-       it no longer has to remove tmp files, just call `output_files'
-       when there are no errors.
-
-2000-11-02  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c [VMS]: No longer include `ssdef.h', no longer define
-       `unlink': it's no longer used.
-       * src/files.h: Formatting changes.
-
-2000-11-02  Akim Demaille  <akim@epita.fr>
-
-       Remove the last uses of mktemp and unlink/delete.
-
-       * src/files.c (fdefines, ftable): Removed.
-       (defines_ostack, table_obstack): New.
-       Adjust dependencies of the former into uses of the latter.
-       * src/output.c (output_short_or_char_table, output_short_table):
-       Convert to using obstacks.
-       * src/reader.c (copy_comment2): Accept one FILE * and two
-       obstacks.
-       (output_token_defines, reader_output_yylsp): Use obstacks.
-       * src/system.h (obstack_fgrow3): New.
-       * po/POTFILES.in: Adjust.
-
-2000-11-01  Akim Demaille  <akim@epita.fr>
-
-       Change each use of `fattrs' into a use of `attrs_obstack'.
-
-       * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
-       * src/files.c (fattrs): Remove.
-       (attrs_obstack): New.
-       Adjust all dependencies.
-       (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
-
-2000-11-01  Akim Demaille  <akim@epita.fr>
-
-       Introduce obstacks.
-       Change each use of `faction' into a use of `action_obstack'.
-
-       * lib/obstack.h, lib/obstack.c: New files.
-       * src/files.c (faction): Remove.
-       (action_obstack): New.
-       Adjust all dependencies.
-
-2000-10-20  Akim Demaille  <akim@epita.fr>
-
-       * lib/quote.h (PARAMS): New macro.  Use it.
-
-2000-10-16  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_short_or_char_table): New function.
-       (output_short_table, output_token_translations): Use it.
-       (goto_actions): Use output_short_table.
-
-2000-10-16  Akim Demaille  <akim@epita.fr>
-
-       * src/symtab.c (bucket_new): New function.
-       (getsym): Use it.
-
-       * src/output.c (output_short_table): New argument to display the
-       comment associated with the table.
-       Adjust dependencies.
-       (output_gram): Use it.
-       (output_rule_data): Nicer output layout for YYTNAME.
-
-2000-10-16  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.c (read_typename): New function.
-       (lex): Use it.
-       * src/reader.c (copy_dollar): Likewise.
-
-2000-10-16  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_comment2): Expect the input stream to be on
-       the `/' which is suspected to open a comment, instead of being
-       called after `//' or `/*' was read.
-       (copy_comment, copy_definition, parse_union_decl, copy_action)
-       (copy_guard): Adjust.
-
-2000-10-16  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (parse_expect_decl): Use `skip_white_space' and
-       `read_signed_integer'.
-
-2000-10-16  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_dollar): New function.
-       (copy_guard, copy_action): Use it.
-
-2000-10-16  Akim Demaille  <akim@epita.fr>
-
-       * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
-       * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
-       New files, from Fileutils 4.0.27.
-       * src/main.c (printable_version): Remove.
-       * src/lex.c, src/reader.c: Use `quote'.
-
-2000-10-04  Akim Demaille  <akim@epita.fr>
-
-       * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
-
-2000-10-04  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Various typos spotted by Neil Booth.
-
-2000-10-04  Akim Demaille  <akim@epita.fr>
-
-       When a literal string is used to define two different tokens,
-       `bison -v' segfaults.
-       Reported by Piotr Gackiewicz, and fixed by Neil Booth.
-
-       * tests/regression.m4: New file.
-       Include the core of the sample provided by Piotr Gackiewicz.
-       * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
-       properly.
-
-2000-10-04  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (parse_expect_decl): Keep `count' within the size
-       of `buffer'.
-       From Neil Booth.
-
-2000-10-02  Paul Eggert  <eggert@twinsun.com>
-
-       * bison.s1 (yyparse): Assign the default value
-       unconditionally, to avoid a GCC warning and make the parser a
-       tad smaller.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (getargs): Don't dump `--help' on unrecognized
-       options.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/derives.c, src/print.c, src/reduce.c: To ease the
-       translation, move some `\n' out of the translated strings.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       The location tracking mechanism is precious for parse error
-       messages.  Nevertheless, it is enabled only when `@n' is used in
-       the grammar, which is a different issue (you can use it in error
-       message, but not in the grammar per se).  Therefore, there should
-       be another means to enable it.
-
-       * src/getargs.c (getargs): Support `--locations'.
-       (usage): Report it.
-       * src/getargs.h (locationsflag): Export it.
-       * src/lex.c (percent_table): Support `%locations'.
-       * src/reader.c (yylsp_needed): Remove this variable, now replaced
-       with `locationsflag'.
-       * doc/bison.texinfo: Document `--locations' and `%locations'.
-       Sort the options.
-       * tests/calc.m4: Test it.
-
-       For regularity of the names, replace each
-       (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
-       (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
-       In addition replace each `flag' with `_flag'.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       Also test parse error messages, including with YYERROR_VERBOSE.
-
-       * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
-       associative).
-       Use it to check the computations.
-       Use it to check `nonassoc' is honored.
-       (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
-       `--yyerror-verbose'.
-       (_AT_CHECK_CALC): Adjust to this option.
-       (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       Test also `--verbose', `--defines' and `--name-prefix'.  Testing
-       the latter demonstrates a flaw in the handling of non debugging
-       parsers introduced by myself on 2000-03-16: `#define yydebug 0'
-       was used in order to simplify:
-
-       #if YYDEBUG
-       if (yydebug)
-       {
-       ...
-       }
-       #endif
-
-       into
-
-       if (yydebug)
-       {
-       ...
-       }
-
-       unfortunately this leads to a CPP conflict when
-       `--name-prefix=foo' is used since it produces `#define yydebug
-       foodebug'.
-
-       * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
-       (YYDPRINTF): New macro.
-       Spread its use.
-       * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
-       the bison options.
-       Also test `--verbose', `--defines' and `--name-prefix'.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       Improve the readability of the produced parsers.
-
-       * src/bison.s1: Formatting changes.
-       Improve the comment related to the `$' mark.
-       (yydefault): Don't fall through to `yyresume': `goto' there.
-       * src/output.c (output_parser): When the `$' is met, skip the end
-       of its line.
-       New variable, `number_of_dollar_signs', to check there's exactly
-       one `$' in the parser skeleton.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * lib/xstrdup.c: New file, from the fileutils.
-       * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
-       (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
-       instead of strlen + xmalloc + strcpy.
-       * src/symtab.c (copys): Remove, use xstrdup instead.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/gram.h (associativity): New enum type which replaces the
-       former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
-       `right_assoc', `left_assoc' and `non_assoc'.
-       Adjust all dependencies.
-       * src/reader.c: Formatting changes.
-       (LTYPESTR): Don't define it, use it as a literal in
-       `reader_output_yylsp'.
-       * src/symtab.h (symbol_class): New enum type which replaces the
-       former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
-       `sunknown', `stoken and `snterm'.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (fixed_outfiles): Rename as...
-       (yaccflag): for consistency and accuracy.
-       Adjust dependencies.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       Use the more standard files `xalloc.h' and `xmalloc.c' instead of
-       Bison's `allocate.c' and `alloc.h'.  This patch was surprisingly
-       difficult and introduced a lot of core dump.  It turns out that
-       Bison used an implementation of `xmalloc' based on `calloc', and
-       at various places it does depend upon the initialization to 0.  I
-       have not tried to isolate the pertinent places, and all the former
-       calls to Bison's `xmalloc' are now using `XCALLOC'.  Someday,
-       someone should address this issue.
-
-       * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
-       * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
-       files.
-       Adjust dependencies.
-       * src/warshall.h: New file.
-       Propagate.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       Various anti-`extern in *.c' changes.
-
-       * src/system.h: Include `assert.h'.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/state.h (nstates, final_state, first_state, first_shift)
-       (first_reduction): Move their exportation from here...
-       * src/LR0.h: to here.
-       Adjust dependencies.
-       * src/getargs.c (statisticsflag): New variable.
-       Add support for `--statistics'.
-       Adjust dependencies.
-
-       Remove a lot of now useless `extern' statements in most files.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/LR0.h: New file.
-       Propagate its use.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/print.h: New file.
-       Propagate its use.
-       * src/print.c: Formatting and ordering changes.
-       (verbose, terse): Replace with...
-       (print_results): this new function.
-       Adjust dependencies.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/conflicts.c (conflict_report): New function.
-       (conflict_log, verbose_conflict_log): Replace with...
-       (print_conflicts): this function.
-       Adjust dependencies.
-       * src/conflicts.h: New file.
-       Propagate its inclusion.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/nullable.h: New file.
-       Propagate its inclusion.
-       * src/nullable.c: Formatting changes.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/reduce.h: New file.
-       Propagate its inclusion.
-       * src/reduce.c: Topological sort and other formatting changes.
-       (bool, TRUE, FALSE): Move their definition to...
-       * src/system.h: here.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c: Formatting changes.
-       (tryopen, tryclose, openfiles): Rename as...
-       (xfopen, xfclose, open_files): this.
-       (stringappend): static.
-       * src/files.h: Complete the list of exported symbols.
-       Propagate its use.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.h: New file.
-       Propagate its use instead of tedious list of `extern' and
-       prototypes.
-       * src/reader.c: Formatting changes, topological sort,
-       s/register//.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/lex.h: Prototype `lex.c' exported functions.
-       * src/reader.c: Adjust.
-       * src/lex.c: Formatting changes.
-       (safegetc): Rename as...
-       (xgetc): this.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/lalr.h: New file.
-       Propagate its inclusion instead of prototypes and `extern'.
-       * src/lalr.c: Formatting changes, topological sorting etc.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (token_actions): Introduce a temporary array,
-       YYDEFACT, that makes it possible for this function to use
-       output_short_table.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       `user_toknums' is output as a `short[]' in `output.c', while it is
-       defined as a `int[]' in `reader.c'.  For consistency with the
-       other output tables, `user_toknums' is now defined as a table of
-       shorts.
-
-       * src/reader.c (user_toknums): Be a short table instead of an int
-       table.
-       Adjust dependencies.
-
-       Factor the short table outputs.
-
-       * src/output.c (output_short_table): New function.
-       * src/output.c (output_gram, output_stos, output_rule_data)
-       (output_base, output_table, output_check):  Use it.
-
-2000-10-02  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output): Topological sort of the functions, in
-       order to get rid of the `static' prototypes.
-       No longer use `register'.
-       * src/output.h: New file.
-       Propagate its inclusion in files explicitly prototyping functions
-       from output.c.
-
-2000-09-21  Akim Demaille  <akim@epita.fr>
-
-       * src/atgeneral.m4: Update from Autoconf.
-
-2000-09-21  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.h: New file.
-       * src/closure.c: Formatting changes, topological sort over the
-       functions, use of closure.h.
-       (initialize_closure, finalize_closure):  Rename as...
-       (new_closure, free_closure): these.  Adjust dependencies.
-       * src/LR0.c: Formatting changes, topological sort, use of
-       cloture.h.
-       (initialize_states): Rename as...
-       (new_states): this.
-       * src/Makefile.am (noinst_HEADERS): Adjust.
-
-2000-09-20  Akim Demaille  <akim@epita.fr>
-
-       * src/acconfig.h: Don't protect config.h against multiple
-       inclusion.
-       Don't define PARAMS.
-       * src/system.h: Define PARAMS.
-       Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
-       purpose of config.h.  system.h must not try to fix wrong
-       definitions in config.h.
-
-2000-09-20  Akim Demaille  <akim@epita.fr>
-
-       * src/derives.h: New file.
-       * src/main.c, src/derives.h: Use it.
-       Formatting changes.
-       * src/Makefile.am (noinst_HEADERS): Adjust.
-
-2000-09-20  Akim Demaille  <akim@epita.fr>
-
-       * tests/atgeneral.m4: Update from Autoconf.
-       * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
-       (AT_CHECK_CALC): New macros.
-       Use these macros to test bison with options `', `--raw',
-       `--debug', `--yacc', `--yacc --debug'.
-
-2000-09-19  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c: Formatting changes.
-       * src/machine.h: Remove, leaving its contents in...
-       * src/system.h: here.
-       Include stdio.h.
-       Adjust all dependencies on stdio.h and machine.h.
-       * src/getargs.h: New file.
-       Let all `extern' declarations about getargs.c be replaced with
-       inclusion of `getargs.h'.
-       * src/Makefile.am (noinst_HEADERS): Adjust.
-
-       * tests/calc.m4 (yyin): Be initialized in main, not on the global
-       scope.
-       (yyerror): Returns void, not int.
-       * doc/bison.texinfo: Formatting changes.
-
-2000-09-19  Akim Demaille  <akim@epita.fr>
-
-       * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
-       portable.
-
-2000-09-18  Akim Demaille  <akim@epita.fr>
-
-       * configure.in: Append WARNING_CFLAGS to CFLAGS.
-       * src/Makefile.am (INCLUDES): Don't.
-       Be ready to fetch headers in lib/.
-
-2000-09-18  Akim Demaille  <akim@epita.fr>
-
-       * doc/bison.texinfo: Update the copyright.
-       ANSIfy and GNUify the examples.
-       Remove the old menu.
-
-2000-09-18  Akim Demaille  <akim@epita.fr>
-
-       First set of tests: use the `calc' example from the documentation.
-
-       * src/bison.s1 (yyparse): Condition the code using `yytname' which
-       is defined only when YYDEBUG is.
-       * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
-       * src/files.c (tryopen, tryclose): Formatting changes.
-       Move to the top and be static.
-       * src/reader.c (read_signed_integer): Likewise.
-       * tests/calc.m4: New file.
-       * Makefile.am, suite.m4: Adjust.
-       * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
-
-2000-09-18  Akim Demaille  <akim@epita.fr>
-
-       Add support for an Autotest test suite for Bison.
-
-       * m4/m4.m4, m4/atconfig.m4: New files.
-       * m4/Makefile.am (EXTRA_DIST): Adjust.
-       * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
-       files.
-       * src/getargs.c: Display a more standard --version message.
-       * src/reader.c (reader): Formatting changes.
-       No longer depend upon VERSION_STRING.
-       * configure.in: No longer use `dnl'.
-       Set up the test suite and the new directory `tests/.
-       (VERSION_STRING): Remove.
-
-2000-04-14  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_comment2): New function, same as former
-       `copy_comment', but outputs into two FILE *.
-       (copy_comment): Use it.
-       (parse_union_decl): Use it.
-       (get_type, parse_start_decl): Use the same `invalid' message.
-       (parse_start_decl, parse_union_decl): Use the same `multiple'
-       message.
-       (parse_union_decl, copy_guard, copy_action): Use the same
-       `unmatched' message.
-       * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
-
-2000-03-31  Akim Demaille  <akim@epita.fr>
-
-       * src/files.c (tryopen, tryclose): Move to the top.
-       Be static.
-
-2000-03-31  Akim Demaille  <akim@epita.fr>
-
-       * src/main.c (main): Don't call `done', exit does it.
-
-2000-03-31  Akim Demaille  <akim@epita.fr>
-
-       * allocate.c: s/return (foo)/return foo/.
-       * lalr.c: Likewise.
-       * LR0.c: Likewise.
-       * output.c: Likewise.
-       * reader.c: Likewise.
-       * symtab.c: Likewise.
-       * vmsgetargs.c: Likewise.
-
-2000-03-31  Akim Demaille  <akim@epita.fr>
-
-       Clean up the error reporting functions.
-
-       * src/report.c: New file.
-       * src/report.h: Likewise.
-       * src/Makefile.am: Adjust.
-       * m4/error.m4: New file.
-       * m4/Makefile.am: Adjust.
-       * configure.in (jm_PREREQ_ERROR): Call it.
-       * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
-       Remove.
-       (fatal, fatals): Remove.  All callers use complain.c::fatal.
-       (warn, warni, warns, warnss, warnss): Remove.  All callers use
-       complain.c::complain.
-       (toomany): Remove, use fatal instead.
-       * src/files.c (done): No argument, use complain_message_count.
-       * src/main.c (main): Register `done' to `atexit'.
-
-       * src/getargs.c (usage): More `fputs', less `fprintf'.
-
-2000-03-28  Akim Demaille  <akim@epita.fr>
-
-       * lib/: New directory.
-       * Makefile.am (SUBDIRS): Adjust.
-       * configure.in: Adjust.
-       (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
-       useless.
-       * src/alloca.c: Moved to lib/.
-       * src/getopt.c: Likewise.
-       * src/getopt1.c: Likewise.
-       * src/getopt.h: Likewise.
-       * src/ansi2knr.c: Likewise.
-       * src/ansi2knr.1: Likewise.
-       * src/Makefile.am: Adjust.
-       * lib/Makefile.am: New file.
-
-2000-03-28  Akim Demaille  <akim@epita.fr>
-
-       * src/getargs.c (usage): Refresh the help message.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/getopt1.c: Updated from textutils 2.0e
-       * src/getopt.c: Likewise.
-       * src/getopt.h: Likewise.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/Makefile.am (bison.simple): Fix the awk program: quote only
-       the file name, not the whole `#line LINE FILE'.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       On syntax errors, report the token on which we choked.
-
-       * src/bison.s1 (yyparse): In the label yyerrlab, when
-       YYERROR_VERBOSE, add yychar in msg.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_at): New function.
-       (copy_guard): Use it.
-       (copy_action): Use it.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       Be kind to translators, save some useless translations.
-
-       * src/main.c (banner): New function.
-       (fatal_banner): Use it.
-       (warn_banner): Use it.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_definition): Use copy_string and
-       copy_comment.  Removed now unused `match', `ended',
-       `cplus_comment'.
-       (copy_comment, copy_string): Moved, to be visible from
-       copy_definition.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_string): Declare `static inline'.  No
-       problems with inline, since it is checked by configure.
-       (copy_comment): Likewise.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (packsymbols): Formatting changes.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_comment): New function, factored out from:
-       (copy_action): Use it.  Removed now unused `match', `ended',
-       `cplus_comment'.
-       (copy_guard): Likewise.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/reader.c (copy_string): New function, factored out from:
-       (copy_action): Use it.
-       (copy_guard): Likewise.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       Change the handling of @s so that they behave exactly like $s.
-       There is now a pseudo variable @$ (readble and writable), location
-       of the lhs of the rule (by default ranging from the location of
-       the first symbol of the rhs, to the location of the last symbol,
-       or, if the rhs is empty, YYLLOC).
-
-       * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
-       yyval.
-       (yyparse): When providing a default semantic action, provide a
-       default location action.
-       (after the $): No longer change `*YYLSP', just stack YYLOC the
-       same way you stack YYVAL.
-       * src/reader.c (read_declarations): Use warns.
-       (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
-       (copy_action, case '@'): Likewise.
-       Use a standard error message, to save useless work from
-       translators.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1: Formatting and cosmetics changes.
-       * src/reader.c: Likewise.
-       Update the Copyright notice.
-
-2000-03-17  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1 (#line): All set to `#line' only, since the
-       Makefile now handles them.
-
-2000-03-16  Akim Demaille  <akim@epita.fr>
-
-       * src/output.c (output_rule_data): Output the documentation of
-       some of the tables.
-       (Copyright notice): Update.
-       Formatting changes.
-
-2000-03-16  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1 [!YYDEBUG]: Define yydebug to 0.  This allows to
-       remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
-       One `#if YYDEBUG' remains, since it uses variables which are
-       defined only if `YYDEBUG != 0'.
-
-2000-03-16  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
-       and related variables so that the similarities are highlighted.
-
-2000-03-16  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1: Properly indent CPP directives.
-
-2000-03-16  Akim Demaille  <akim@epita.fr>
-
-       * src/bison.s1: Properly indent the `alloca' CPP section.
-
-2000-03-16  Akim Demaille  <akim@epita.fr>
-
-       Do not hard code values of directories in `configure.in'.
-       Update the `configure' tool chain.
-
-       * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
-       src/makefile.am.
-       (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
-       (AC_OUTPUT): Add m4/Makefile.
-       Bump to bison 1.28a, 1.29 has never been released.
-       * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
-       handled via src/Makefile.am.
-       (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
-       HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
-       autoheader.
-       * Makefile.am (SUBDIRS): Add m4.
-       (ACLOCAL_AM_FLAGS): New variable.
-       (AUTOMAKE_OPTIONS): Add check-news.
-       * src/Makefile.am (bison.simple): Use awk to replace #line lines with
-       the proper line number and file name.
-       (DEFS): Propagate the location of bison library files and of the
-       locale files.
-       (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
-       builddir.
-       * acinclude.m4: Remove, replaced by the directory m4.
-       * m4/Makefile.am (EXTRA_DIST): New variable.
-       * m4/gettext.m4: New file, from the fileutils.
-       * m4/lcmessage.m4: Likewise
-       * m4/progtest.m4: Likewise.
-       * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
-
-2000-03-10  Akim Demaille  <akim@epita.fr>
-
-       * src/closure.c:
-       Formatting changes of various comments.
-       Respect the GNU coding standards at various places.
-       Don't use `_()' when no translation is needed.
-
-1999-12-13  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/files.c:
-       OS/2 honors TMPDIR environment variable.
-
-1999-12-13  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/bison.texinfo: Tweaked spelling and grammar.
-       Updated ISBN.
-       Removed reference to price of printed copy.
-       Mention BISON_SIMPLE and BISON_HAIRY.
-
-1999-12-13  Jesse Thilo  <jthilo@gnu.org>
-
-       * configure.in, NEWS:
-       Bison 1.29 released.
-
-1999-10-27  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
-       Added reference card.
-
-1999-07-26  Jesse Thilo  <jthilo@gnu.org>
-
-       * po/ru.po: Added Russian translation.
-
-1999-07-26  Jesse Thilo  <jthilo@gnu.org>
-
-       * configure.in: Added Russian translation.
-
-1999-07-06  Jesse Thilo  <jthilo@gnu.org>
-
-       * configure.in, NEWS, README:
-       Released version 1.28.
-
-1999-06-14  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/system.h:
-       Squashed redefinition warning on some systems.
-
-       * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
-       Have configure build version string instead of relying on ANSI string
-       concatentation.
-
-1999-06-14  Jesse Thilo  <jthilo@gnu.org>
-
-       * po/POTFILES.in: Got rid of version.c.
-
-1999-06-14  Jesse Thilo  <jthilo@gnu.org>
-
-       * acconfig.h, configure.in:
-       Have configure build version string instead of relying on ANSI string
-       concatentation.
-
-1999-06-08  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/bison.1:
-       Dropped mention of `+' for long-named options.
-
-1999-05-30  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/files.c: Added <unistd.h> for unlink().
-
-       * src/Makefile.am, src/system.h:
-       I18n fixes.
-
-1999-05-30  Jesse Thilo  <jthilo@gnu.org>
-
-       * README: Added a FAQ list.
-
-       * configure.in, acconfig.h:
-       I18n fixes.
-
-1999-05-30  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/FAQ, doc/Makefile.am:
-       Added a FAQ list.
-
-1999-05-19  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/alloc.h, src/symtab.h, src/version.c:
-       Protected inclusion of "config.h" with HAVE_CONFIG_H.
-
-1999-04-18  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/.cvsignore, src/Makefile.am:
-       Reorganized: sources in `src', documentation in `doc'.
-
-       * src/lex.c (literalchar):
-       fixed the code for escaping double quotes (thanks
-       Jonathan Czisny.)
-
-1999-04-18  Jesse Thilo  <jthilo@gnu.org>
-
-       * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
-       Adjusted paths to reflect directory reorganization.
-
-1999-04-18  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/.cvsignore, doc/Makefile.am:
-       Reorganized: sources in `src', documentation in `doc'.
-
-1999-04-18  Jesse Thilo  <jthilo@gnu.org>
-
-       * configure.in:
-       Updated AC_INIT file to reflect directory reorganization.
-
-       * configure.in, .cvsignore, Makefile.am, POTFILES.in:
-       Reorganized: sources in `src', documentation in `doc'.
-
-1999-04-13  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/allocate.c:
-       Don't declare calloc() and realloc() if not necessary.
-
-1999-04-13  Jesse Thilo  <jthilo@gnu.org>
-
-       * configure.in, acconfig.h, acinclude.m4:
-       Don't declare calloc() and realloc() if not necessary.
-
-1999-03-23  Jesse Thilo  <jthilo@gnu.org>
-
-       * po/.cvsignore: Added i18n support.
-
-1999-03-23  Jesse Thilo  <jthilo@gnu.org>
-
-       * acconfig.h, configure.in, Makefile.am:
-       Added i18n support.
-
-1999-03-22  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/bison.s1: Fixed #line numbers.
-
-1999-03-15  Jesse Thilo  <jthilo@gnu.org>
-
-       * po/es.po, po/fr.po, po/nl.po, po/de.po:
-       Added PO files from Translation Project.
-
-1999-03-03  Jesse Thilo  <jthilo@gnu.org>
-
-       * Makefile.am:
-       Added support for non-ANSI compilers (ansi2knr).
-
-1999-02-16  Jesse Thilo  <jthilo@gnu.org>
-
-       * configure.in: Bumped version number to 1.27.
-
-       * Makefile.am:
-       Added `bison.simple' to list of files removed by `make distclean'.
-
-1999-02-12  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/files.c, src/files.h:
-       Defined locations of parser files in config.h instead of Makefile.
-
-1999-02-12  Jesse Thilo  <jthilo@gnu.org>
-
-       * acconfig.h, acinclude.m4, configure.in, Makefile.am:
-       Defined locations of parser files in config.h instead of Makefile.
-
-1999-02-09  Jesse Thilo  <jthilo@gnu.org>
-
-       * Makefile.am:
-       Removed inappropriate use of $< macro.
-
-1999-02-05  Jesse Thilo  <jthilo@gnu.org>
-
-       * po/Makefile.in.in, po/POTFILES.in:
-       Add `po' directory skeleton.
-
-1999-01-27  Jesse Thilo  <jthilo@gnu.org>
-
-       * README: Document help-bison list.
-
-       * configure.in: Add check for mkstemp().
-
-1999-01-20  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
-       Hush a few compiler warnings.
-
-       * src/files.c:
-       Add tryclose(), which verifies that fclose was successful.
-       Hush a couple of compiler warnings.
-
-1999-01-20  Jesse Thilo  <jthilo@gnu.org>
-
-       * Makefile.am, OChangeLog:
-       ChangeLog is now automatically generated.  Include the old version as
-       OChangeLog.
-
-1999-01-14  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/gram.h, src/lalr.c, src/lex.c, src/lex.h, src/machine.h, src/main.c, src/nullable.c, src/output.c, src/print.c, src/reader.c, src/reduce.c, src/state.h, src/symtab.c, src/symtab.h, src/types.h, src/vmsgetargs.c, src/warshall.c, src/allocate.c, src/alloc.h, src/bison.s1, src/closure.c, src/conflicts.c, src/derives.c, src/files.c, src/files.h, src/getargs.c, src/gram.c, src/LR0.c:
-       Update FSF address.
-
-1999-01-14  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/bison.texinfo: Fix formatting glitch.
-
-       * doc/bison.texinfo: Update FSF address.
-
-1999-01-14  Jesse Thilo  <jthilo@gnu.org>
-
-       * acconfig.h: Update FSF address.
-
-1999-01-08  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/system.h:
-       Don't define PACKAGE here, since config.h defines it.
-
-1998-12-30  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/reader.c: Update copyright date.
-
-       * src/main.c:
-       Ditch sprintf to statically-sized buffers in fatal/warn functions in
-       favor of output directly to stderr (avoids buffer overruns).
-
-       * src/reader.c: Some checks for premature EOF.
-
-       * src/allocate.c, src/alloc.h, src/closure.c, src/conflicts.c, src/derives.c, src/getargs.c, src/gram.c, src/lalr.c, src/lex.c, src/LR0.c, src/main.c, src/nullable.c, src/output.c, src/print.c, src/reduce.c, src/symtab.c, src/symtab.h, src/warshall.c:
-       Use prototypes if the compiler understands them.
-
-       * src/files.c: Honor TMPDIR on Unix hosts.
-       Use prototypes if the compiler understands them.
-
-       * src/reader.c:
-       Fix a couple of buffer overrun bugs.
-       Use prototypes if the compiler understands them.
-
-       * src/system.h: Include unistd.h and ctype.h.
-       Use #ifdef instead of #if for NLS symbols.
-
-1998-12-30  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/bison.texinfo:
-       Delete comment "consider using @set for edition number, etc..." since
-       we now are doing so.
-
-1998-12-30  Jesse Thilo  <jthilo@gnu.org>
-
-       * configure.in:
-       Use prototypes if the compiler understands them.
-
-       * NEWS: Document 1.26 highlights.
-
-       * Makefile.am: Require Automake 1.3 or later.
-
-       * acconfig.h:
-       Use prototypes if the compiler understands them.
-
-1998-12-29  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/version.c:
-       Use VERSION symbol from automake for version number.
-
-1998-12-29  Jesse Thilo  <jthilo@gnu.org>
-
-       * acconfig.h, configure.in, version.cin:
-       Use VERSION symbol from automake for version number.
-
-1998-11-28  Jesse Thilo  <jthilo@gnu.org>
-
-       * Makefile.am:
-       Distribute original version of simple parser (bison.s1), not built
-       version (bison.simple).
-
-1998-11-28  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/bison.texinfo: Add info dir entry.
-
-       * doc/bison.texinfo:
-       Let automake put version number into documentation.
-
-1998-11-26  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/bison.cld, src/build.com, src/vmshlp.mar:
-       Add non-RCS files from /gd/gnu/bison.
-
-1998-11-26  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/bison.1:
-       Document the BISON_HAIRY and BISON_SIMPLE variables.
-
-1998-11-25  Jesse Thilo  <jthilo@gnu.org>
-
-       * src/version.c: Build version.c automatically.
-
-       * src/reader.c:
-       Fix token numbering (used to start at 258, not 257).
-
-       * src/system.h: Include config.h.
-
-       * src/getargs.c: Update bug report address.
-
-       * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
-       Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
-
-1998-11-25  Jesse Thilo  <jthilo@gnu.org>
-
-       * Makefile.am:
-       Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
-
-       * configure.in, version.cin:
-       Build version.c automatically.
-
-       * AUTHORS: Add AUTHORS file.
-
-       * README: Update bug report address.
-
-       * bison.simple:
-       Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
-
-       * configure.in, Makefile.am, Makefile.in, stamp-h.in:
-       Add automake stuff.
-
-1998-11-25  Jesse Thilo  <jthilo@gnu.org>
-
-       * doc/bison.texinfo: Clean up some formatting.
-
-1998-05-05  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.texinfo:
-       Explain better why to make a pure parser.
-
-1998-01-05  Richard Stallman  <rms@gnu.org>
-
-       * 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@gnu.org>
-
-       * src/reader.c (stack_offset;):
-       Change some warni to warns.
-
-       * src/lex.c (literalchar): Use warns, not warni.
-
-1997-06-28  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: Add a Bison version comment.
-
-       * src/main.c (fatal, warn, berror):
-       Use program_name.
-
-1997-06-28  Richard Stallman  <rms@gnu.org>
-
-       * Makefile.in (bison_version): New variable.
-       (dist): Use that variable.
-       (bison.s1): Substitute the Bison version into bison.simple.
-
-       * bison.simple: Add a Bison version comment.
-
-1997-06-18  Richard Stallman  <rms@gnu.org>
-
-       * src/main.c (fatal, warn, berror):
-       Make error messages standard.
-       (toomany): Improve error message text.
-
-       * src/LR0.c, src/closure.c, src/conflicts.c, src/derives.c, src/files.c, src/lalr.c, src/lex.c, src/nullable.c, src/output.c, src/print.c, src/reader.c, src/reduce.c, src/symtab.c:
-       new.h renamed to alloc.h.
-
-1997-06-18  Richard Stallman  <rms@gnu.org>
-
-       * Makefile.in: new.h renamed to alloc.h.
-
-1997-05-24  Richard Stallman  <rms@gnu.org>
-
-       * src/lex.c (literalchar):
-       Fix the code for escaping \, " and '.
-
-       (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@gnu.org>
-
-       * src/bison.s1:
-       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-17  Richard Stallman  <rms@gnu.org>
-
-       * 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-04-23  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1:
-       (alloca) [__hpux]: Always define as __builtin_alloca.
-
-1997-04-23  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple:
-       (alloca) [__hpux]: Always define as __builtin_alloca.
-
-1997-04-22  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1:
-       [__hpux]: Include alloca.h (right for HPUX 10)
-       instead of declaring alloca (right for HPUX 9).
-
-       * src/bison.s1 (__yy_memcpy):
-       Declare arg `count' as unsigned int.
-       (yyparse): Cast third arg to __yy_memcpy to unsigned int.
-
-1997-04-22  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple:
-       [__hpux]: Include alloca.h (right for HPUX 10)
-       instead of declaring alloca (right for HPUX 9).
-
-       * bison.simple (__yy_memcpy):
-       Declare arg `count' as unsigned int.
-       (yyparse): Cast third arg to __yy_memcpy to unsigned int.
-
-1997-01-03  Richard Stallman  <rms@gnu.org>
-
-       * src/allocate.c: [__STDC__ or _MSC_VER]:
-       Declare calloc and realloc to return void *.
-
-1997-01-02  Richard Stallman  <rms@gnu.org>
-
-       * src/system.h:
-       [_MSC_VER]: Include stdlib.h and process.h.
-       [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
-
-       * src/main.c (main): Return FAILURE as a value.
-       (printable_version): Declare arg as int, not char.
-
-1997-01-02  Richard Stallman  <rms@gnu.org>
-
-       * Makefile.in (dist):
-       Explicitly check for symlinks, and copy them.
-
-1996-12-19  Richard Stallman  <rms@gnu.org>
-
-       * src/files.c:
-       [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
-
-1996-12-18  Paul Eggert  <eggert@gnu.org>
-
-       * src/bison.s1 (yyparse):
-       If __GNUC__ and YYPARSE_PARAM are both defined,
-       declare yyparse to have a void * argument.
-
-1996-12-18  Paul Eggert  <eggert@gnu.org>
-
-       * bison.simple (yyparse):
-       If __GNUC__ and YYPARSE_PARAM are both defined,
-       declare yyparse to have a void * argument.
-
-1996-12-17  Richard Stallman  <rms@gnu.org>
-
-       * src/reduce.c (nbits): Add some casts.
-
-1996-08-12  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: Test _MSDOS as well as _MSDOS_.
-
-1996-08-12  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: Test _MSDOS as well as _MSDOS_.
-
-1996-07-31  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1:
-       [__sun && __i386]: Include alloca.h.
-
-1996-07-31  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple:
-       [__sun && __i386]: Include alloca.h.
-
-1996-07-30  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: Comment change.
-
-       * src/bison.s1: Test _MSDOS_, not MSDOS.
-
-1996-07-30  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: Comment change.
-
-       * bison.simple: Test _MSDOS_, not MSDOS.
-
-1996-06-01  Richard Stallman  <rms@gnu.org>
-
-       * src/reduce.c, src/reader.c, src/print.c, src/output.c, src/nullable.c, src/lex.c, src/lalr.c, src/getargs.c, src/derives.c, src/conflicts.c, src/closure.c, src/allocate.c:
-       Insert `_' macro around many string constants.
-
-       * src/main.c:
-       Insert `_' macro around many string constants.
-
-       (main): Call setlocale, bindtextdomain and textdomain.
-
-       * 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.
-
-1996-06-01  Richard Stallman  <rms@gnu.org>
-
-       * POTFILES.in: New file.
-
-       * Makefile.in (allocate.o):
-       Define target explicitly.
-
-       * Makefile.in (CFLAGS): Set to @CFLAGS@.
-       (LDFLAGS): Set to @LDFLAGS@.
-       (configure): Run autoconf only if preceding `cd' succeeds.
-       (bison.s1): Redirect output to temporary file then move the
-       temporary to the target, rather than redirecting directly to bison.s1.
-       (clean): Remove config.status and config.log.
-       (distclean): Don't remove config.status here.
-
-1996-05-12  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1:
-       (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
-
-1996-05-12  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple:
-       (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
-
-1996-05-11  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1 (__yy_memcpy):
-       Really reorder the args, as was supposedly done on Feb 14 1995.
-       (yyparse): Calls changed accordingly.
-
-1996-05-11  Richard Stallman  <rms@gnu.org>
-
-       * Makefile.in (dist): Don't use $(srcdir).
-
-       * bison.simple (__yy_memcpy):
-       Really reorder the args, as was supposedly done on Feb 14 1995.
-       (yyparse): Calls changed accordingly.
-
-1996-01-27  Richard Stallman  <rms@gnu.org>
-
-       * src/output.c (output_rule_data):
-       Test YYERROR_VERBOSE in the conditional
-       around the definition of ttyname.
-
-1995-12-29  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1:
-       Fix line numbers in #line commands.
-
-1995-12-29  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple:
-       Fix line numbers in #line commands.
-
-1995-12-27  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1 (YYPARSE_PARAM_DECL):
-       In C++, make it always null.
-       (YYPARSE_PARAM_ARG): New macro.
-       (yyparse): Use YYPARSE_PARAM_ARG.
-
-1995-12-27  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple (YYPARSE_PARAM_DECL):
-       In C++, make it always null.
-       (YYPARSE_PARAM_ARG): New macro.
-       (yyparse): Use YYPARSE_PARAM_ARG.
-
-1995-11-29  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.texinfo:
-       Describe literal string tokens, %raw, %no_lines, %token_table.
-
-1995-11-29  Daniel Hagerty  <hag@gnu.org>
-
-       * doc/bison.texinfo: Fixed update date
-
-1995-10-16  Richard Stallman  <rms@gnu.org>
-
-       * src/version.c: Version 1.25.
-
-1995-10-16  Richard Stallman  <rms@gnu.org>
-
-       * NEWS: *** empty log message ***
-
-1995-10-16  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.1, doc/bison.rnh:
-       Add new options.
-
-1995-10-15  Richard Stallman  <rms@gnu.org>
-
-       * src/vmsgetargs.c, src/getargs.c:
-       Added -n, -k, and -raw switches.
-       (noparserflag, toknumflag, rawtoknumflag): New variables.
-
-       * src/symtab.h (SALIAS):
-       New #define for adding aliases to %token.
-       (struct bucket): Added `alias' field.
-
-       * src/reduce.c (reduce_grammar):
-       Revise error message.
-       (print_notices): Remove final `.' from error message.
-
-       * 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/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/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/lex.h:
-       Added THONG and NOOP for alias processing.
-       Added SETOPT for the new code that allows setting options with %flags.
-
-       * 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 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/gram.h: Comment changes.
-
-       * src/files.c (openfiles, open_extra_files, done):
-        Add faction flag
-       and actfile file.  Handle noparserflag.  Both for -n switch.
-
-       * src/conflicts.c (resolve_sr_conflict):
-       Remove use of alloca.
-
-1995-06-01  Jim Meyering  <meyering@gnu.org>
-
-       * doc/bison.texinfo: *** empty log message ***
-
-1995-05-06  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: Comment change.
-
-1995-05-06  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: Comment change.
-
-1995-05-03  Richard Stallman  <rms@gnu.org>
-
-       * src/version.c: Version now 1.24.
-
-       * src/bison.s1: Change distribution terms.
-
-       * src/version.c: Version now 1.23.
-
-1995-05-03  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.texinfo:
-       Rewrite "Conditions for Using Bison".
-       Update version to 1.24.
-
-1995-05-03  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: Change distribution terms.
-
-1995-02-23  Richard Stallman  <rms@gnu.org>
-
-       * src/files.c: Test __VMS_POSIX as well as VMS.
-
-1995-02-14  Jim Meyering  <meyering@gnu.org>
-
-       * src/bison.s1 (__yy_memcpy):
-       Renamed from __yy_bcopy to avoid
-       confusion.  Reverse FROM and TO arguments to be consistent with
-       those of memcpy.
-
-1995-02-14  Jim Meyering  <meyering@gnu.org>
-
-       * 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@gnu.org>
-
-       * NEWS: reformat
-
-       * NEWS: New file.
-
-       * Makefile.in (DISTFILES): Include NEWS.
-
-       * Makefile.in (DISTFILES):
-       Include install-sh, not install.sh.
-
-       * configure.in: Update to Autoconf v2 macro names.
-
-1994-10-05  David J. MacKenzie  <djm@gnu.org>
-
-       * Makefile.in: fix typo
-
-       * Makefile.in (prefix, exec_prefix):
-       Let configure set them.
-
-1994-09-28  David J. MacKenzie  <djm@gnu.org>
-
-       * Makefile.in: Set datadir to $(prefix)/share.
-
-1994-09-15  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1:
-       Update copyright notice and GPL version.
-
-1994-09-15  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple:
-       Update copyright notice and GPL version.
-
-1994-07-12  Richard Stallman  <rms@gnu.org>
-
-       * src/reduce.c, src/reader.c:
-       entered into RCS
-
-1994-05-05  David J. MacKenzie  <djm@gnu.org>
-
-       * Makefile.in: entered into RCS
-
-1994-03-26  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: entered into RCS
-
-1994-03-26  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: entered into RCS
-
-1994-03-25  Richard Stallman  <rms@gnu.org>
-
-       * src/main.c: entered into RCS
-
-1994-03-24  Richard Stallman  <rms@gnu.org>
-
-       * src/conflicts.c: entered into RCS
-
-1994-01-02  Richard Stallman  <rms@gnu.org>
-
-       * Makefile.in: *** empty log message ***
-
-1993-11-21  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: *** empty log message ***
-
-1993-11-21  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.texinfo: entered into RCS
-
-       * doc/bison.texinfo: *** empty log message ***
-
-1993-11-21  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: *** empty log message ***
-
-1993-10-25  David J. MacKenzie  <djm@gnu.org>
-
-       * doc/bison.texinfo: *** empty log message ***
-
-1993-10-19  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: *** empty log message ***
-
-1993-10-19  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: *** empty log message ***
-
-1993-10-14  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: *** empty log message ***
-
-1993-10-14  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: *** empty log message ***
-
-1993-09-14  David J. MacKenzie  <djm@gnu.org>
-
-       * doc/bison.texinfo: *** empty log message ***
-
-1993-09-13  Noah Friedman  <friedman@gnu.org>
-
-       * Makefile.in: *** empty log message ***
-
-1993-09-10  Richard Stallman  <rms@gnu.org>
-
-       * src/conflicts.c: *** empty log message ***
-
-       * src/system.h: entered into RCS
-
-1993-09-10  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.1: entered into RCS
-
-1993-09-06  Noah Friedman  <friedman@gnu.org>
-
-       * src/version.c: entered into RCS
-
-1993-09-06  Noah Friedman  <friedman@gnu.org>
-
-       * Makefile.in: *** empty log message ***
-
-1993-07-30  David J. MacKenzie  <djm@gnu.org>
-
-       * Makefile.in: *** empty log message ***
-
-1993-07-24  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: *** empty log message ***
-
-1993-07-24  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: *** empty log message ***
-
-1993-07-08  David J. MacKenzie  <djm@gnu.org>
-
-       * Makefile.in: *** empty log message ***
-
-1993-07-04  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: *** empty log message ***
-
-1993-07-04  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: *** empty log message ***
-
-1993-06-26  David J. MacKenzie  <djm@gnu.org>
-
-       * src/getargs.c: entered into RCS
-
-1993-06-26  David J. MacKenzie  <djm@gnu.org>
-
-       * doc/bison.texinfo: *** empty log message ***
-
-       * doc/bison.1: New file.
-
-1993-06-25  Richard Stallman  <rms@gnu.org>
-
-       * src/getargs.c: New file.
-
-1993-06-16  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: *** empty log message ***
-
-1993-06-16  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: *** empty log message ***
-
-1993-06-03  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.s1: New file.
-
-1993-06-03  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.texinfo: *** empty log message ***
-
-1993-06-03  Richard Stallman  <rms@gnu.org>
-
-       * bison.simple: New file.
-
-1993-05-19  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.texinfo: New file.
-
-1993-05-07  Noah Friedman  <friedman@gnu.org>
-
-       * Makefile.in: *** empty log message ***
-
-1993-04-28  Noah Friedman  <friedman@gnu.org>
-
-       * src/reader.c: *** empty log message ***
-
-1993-04-23  Noah Friedman  <friedman@gnu.org>
-
-       * src/alloc.h: entered into RCS
-
-1993-04-20  David J. MacKenzie  <djm@gnu.org>
-
-       * src/version.c: *** empty log message ***
-
-       * src/files.c, src/allocate.c:
-       entered into RCS
-
-       * src/reader.c: *** empty log message ***
-
-       * src/lex.c: entered into RCS
-
-       * src/conflicts.c: New file.
-
-       * src/symtab.c: entered into RCS
-
-       * src/alloc.h: New file.
-
-       * src/LR0.c: entered into RCS
-
-1993-04-18  Noah Friedman  <friedman@gnu.org>
-
-       * src/reader.c: New file.
-
-       * src/version.c: *** empty log message ***
-
-1993-04-18  Noah Friedman  <friedman@gnu.org>
-
-       * Makefile.in: *** empty log message ***
-
-1993-04-17  Noah Friedman  <friedman@gnu.org>
-
-       * Makefile.in: *** empty log message ***
-
-1993-04-15  Richard Stallman  <rms@gnu.org>
-
-       * src/main.c, src/files.c:
-       New file.
-
-1993-04-15  Noah Friedman  <friedman@gnu.org>
-
-       * configure.in: entered into RCS
-
-       * configure.in: *** empty log message ***
-
-       * configure.in: New file.
-
-1993-04-14  Richard Stallman  <rms@gnu.org>
-
-       * Makefile.in: New file.
-
-1993-04-13  Richard Stallman  <rms@gnu.org>
-
-       * src/version.c: New file.
-
-1993-03-25  Richard Stallman  <rms@gnu.org>
-
-       * src/output.c: entered into RCS
-
-1992-09-25  Richard Stallman  <rms@gnu.org>
-
-       * configure.bat: entered into RCS
-
-1992-06-22  Richard Stallman  <rms@gnu.org>
-
-       * src/vmsgetargs.c: entered into RCS
-
-1992-06-22  Richard Stallman  <rms@gnu.org>
-
-       * doc/bison.rnh: entered into RCS
-
-1992-04-20  David J. MacKenzie  <djm@gnu.org>
-
-       * README: entered into RCS
-
-1992-01-22  Richard Stallman  <rms@gnu.org>
-
-       * src/machine.h: entered into RCS
-
-1991-12-21  Richard Stallman  <rms@gnu.org>
-
-       * src/lalr.c, src/closure.c:
-       entered into RCS
-
-1991-12-20  Richard Stallman  <rms@gnu.org>
-
-       * src/state.h: entered into RCS
-
-1991-12-18  Richard Stallman  <rms@gnu.org>
-
-       * src/print.c, src/nullable.c, src/derives.c:
-       entered into RCS
-
-1991-11-03  David J. MacKenzie  <djm@gnu.org>
-
-       * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
-       entered into RCS
-
-1988-09-09  Richard Stallman  <rms@gnu.org>
-
-       * src/bison.hairy: entered into RCS
-
-1987-12-16  Richard Stallman  <rms@gnu.org>
-
-       * REFERENCES: entered into RCS
-
-
-       -----
-
-       Copyright (C) 1987-1988, 1991-2012 Free Software Foundation,
-       Inc.
-
-       Copying and distribution of this file, with or without
-       modification, are permitted provided the copyright notice and this
-       notice are preserved.
diff --git a/ChangeLog-1998 b/ChangeLog-1998
new file mode 100644 (file)
index 0000000..f34e2a3
--- /dev/null
@@ -0,0 +1,1500 @@
+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.
diff --git a/ChangeLog-2012 b/ChangeLog-2012
new file mode 100644 (file)
index 0000000..faa7e18
--- /dev/null
@@ -0,0 +1,26741 @@
+2012-01-15  Akim Demaille  <demaille@gostai.com>
+
+       java: fix reduction traces.
+       * data/lalr1.java (yy_reduce_print): Fix state index.
+       Reported by Tim Landscheidt.
+
+2012-01-12  Jim Meyering  <meyering@redhat.com>
+
+       build: avoid warning from coverity about lbitset_elt_find
+       * lib/lbitset.c (lbitset_elt_find): Remove unnecessary test of "elt",
+       at a point where we know it is non-NULL, due to prior dereference.
+
+2012-01-13  Jim Meyering  <meyering@redhat.com>
+
+       maint: get fdl.texi from gnulib
+       * bootstrap.conf (gnulib_modules): Add fdl.
+       * doc/fdl.texi: Remove file.
+       * doc/.gitignore: Add it here.
+
+       maint: spell "file system" as two separate words
+       * doc/Doxyfile.in: Spell it "file system", to avoid a
+       "make syntax-check" failure.
+
+       maint: avoid "the the"
+       * djgpp/README.in: s/the the/the/
+       * src/parse-gram.c (lloc_default): Likewise.
+       * src/parse-gram.y (lloc_default): Likewise, and remove a
+       trailing space.
+
+2012-01-13  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint: factor copyright year.
+       * configure.ac: Use $PACKAGE_COPYRIGHT_YEAR instead of repeating it.
+
+2012-01-13  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint: catch missing gnulib macros.
+       * configure.ac: Add m4_pattern_forbid.
+
+2012-01-11  Tim Landscheidt  <tim@tim-landscheidt.de>
+
+       java: remove used variable.
+       * data/lalr1.java (yyresult): remove, unused.
+
+2012-01-11  Akim Demaille  <demaille@gostai.com>
+
+       scanner: fix typo.
+       * src/scan-skel.l (@`): s/emtpy/empty/.
+       Reported by Tim Landscheidt.
+
+2012-01-06  Jim Meyering  <meyering@redhat.com>
+
+       build: avoid warnings about set-but-not-used variables
+       * lib/bitset_stats.c (bitset_stats_list): Remove declaration
+       and set of unused local, "type".
+       * lib/ebitset.c (ebitset_init): Likewise, for "size".
+       * lib/lbitset.c (lbitset_not): Likewise, for "elt".
+
+2011-08-21  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       lalr1.cc: remove trailing comma from enumerator list.
+       * data/lalr1.cc (yy::parser): Here.  This suppresses a -pedantic
+       warning.
+
+2011-08-21  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       tests: add -pedantic for --enable-gcc-warnings.
+       This should help to avoid some portability problems.  For example,
+       it would have revealed the empty unions fixed by the last patch
+       * configure.ac (WARN_CFLAGS_TESTS, WARN_CXXFLAGS_TEST): Implement.
+       * tests/synclines.at (AT_TEST_SYNCLINE): Avoid -pedantic warning
+       about an empty translation unit.
+
+2011-08-21  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       tests: fix empty unions.
+       Empty unions are not accepted by the ISO C99 grammar or by at
+       least some versions of Sun Studio.  Reported by Wolfgang S. Kechel
+       at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-08/msg00003.html>.
+       * NEWS (2.5.1): Document fix.
+       * THANKS (Wolfgang S. Kechel): Add.
+       * tests/existing.at (GNU Cim Grammar)
+       (GNU pic (Groff 1.18.1) Grammar.): Remove empty %union.
+
+2011-07-24  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       global: remove unnecessary horizontal tabs.
+       This change was made by applying emacs' untabify function to
+       nearly all files in Bison's repository.  Required tabs in make
+       files, ChangeLog, regexps, and test code were manually skipped.
+       Other notable exceptions and changes are listed below.
+       * bootstrap: Skip because we sync this with gnulib.
+       * data/m4sugar/foreach.m4
+       * data/m4sugar/m4sugar.m4: Skip because we sync these with
+       Autoconf.
+       * djgpp: Skip because I don't know how to test djgpp properly, and
+       this code appears to be unmaintained anyway.
+       * README-hacking (Hacking): Specify that tabs should be avoided
+       where not required.
+
+2011-07-10  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       build: avoid YACC typo inherited from Autoconf.
+       The typo shows up in the `configure --help' output.  Reported by
+       W.C.A. Wijngaards and Paul Eggert at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-07/msg00000.html>.
+       * README-hacking (Release Procedure): Remind about updating
+       maintainer tools before a release.
+       * THANKS (W.C.A. Wijngaards): Add.
+       * configure.ac (AC_PREREQ): Set to 2.68, which fixes the YACC
+       typo.
+
+2011-07-10  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       build: create xz instead of bzip2 tarballs.
+       Suggested by Jim Meyering at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-06/msg00012.html>.
+       * README-hacking (Release Procedure): Update example.
+       * configure.ac (AM_INIT_AUTOMAKE): Replace dist-bzip2 with
+       dist-xz.
+
+2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up references to `Locations Overview'.
+       * doc/bison.texinfo (Locations Overview): Rename node to...
+       (Locations): ... this, which is its section name.  Update menus to
+       match that and not to use the title `Tracking Locations', which is
+       a different section.
+
+2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up references to `Tracking Locations'.
+       * doc/bison.texinfo (Locations): Rename node to...
+       (Tracking Locations): ... this, which is its section name, and
+       update all cross references.  The trouble is that there is another
+       node about locations.  Its section name is `Locations', which was
+       easily confused with the node name of this node.  Moreover, its
+       node name is `Locations Overview', which was mistakenly used to
+       label some cross references to this node.
+
+2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up `Named References' a little.
+       * doc/bison.texinfo (Named References): Rename section to match
+       the node name, and update all cross references.  Don't use the
+       acronyms RHS and LHS given that we don't expand them anywhere in
+       the manual.  Try to use @samp and @code properly.  Mention that
+       named references are experimental as we've already stated in NEWS.
+       (Destructor Decl): Expand the only remaining use of RHS or LHS.
+
+2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: motivate named references.
+       Suggested by Hans Aberg at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
+       * doc/bison.texinfo (Named References): Explain briefly how
+       they're better than the traditional positional references.
+
+2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: discuss named references after locations.
+       Reported by Hans Aberg at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
+       * NEWS (2.5.1): Document.
+       * doc/bison.texinfo (Named References): Because it discusses
+       locations in addition to semantic values, move this subsection out
+       of the section `Defining Language Semantics', where locations have
+       not yet been introduced, to be a new section after the following
+       section, `Tracking Locations'.
+
+2011-05-29  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Prepare for the possibility of a 2.5.1 release.
+       * NEWS (2.5.1): New heading.
+
+2011-05-14  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Version 2.5.
+       * NEWS (2.5): Set date.
+
+2011-05-14  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Don't use IF_LINT in Bison sources.
+       It creates unnecessary differences between the sources that Bison
+       maintainers build and test (given that maintainers normally
+       configure with --enable-gcc-warnings) and the sources that Bison
+       users build.  Instead, use PACIFY_CC, which doesn't.  This change
+       fixes compiler warnings reported by Tys Lefering at
+       <http://lists.gnu.org/archive/html/bison-patches/2011-05/msg00004.html>.
+       * configure.ac: Don't AC_DEFINE lint regardless of the configure
+       options.  This change affects imported gnulib sources, where
+       IF_LINT still appears and depends on lint.
+       * src/scan-gram.l, src/scan-skel.l: Replace uses of IF_LINT with
+       PACIFY_CC.
+       * src/system.h (IF_LINT): Remove cpp macro.
+       (PACIFY_CC): New cpp macro.
+
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Fix precedence for end token.
+       Since Bison 2.3b, which restored the ability of precedence
+       directives to assign user token numbers, doing so for user token
+       number 0 has produced an assertion failure.
+       * NEWS (2.5): Document fix.
+       * src/symtab.c (symbol_user_token_number_set): In the case of the
+       end token, don't decrement ntokens if it was never incremented.
+       * tests/regression.at (Token number in precedence declaration):
+       Extend.
+
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Pacify -DGNULIB_POSIXCHECK.
+       * bootstrap.conf (gnulib_modules): Add all modules suggested by
+       -DGNULIB_POSIXCHECK.
+       * src/files.c (file_name_split)
+       * src/getargs.c (getargs)
+       * src/location.c (boundary_set_from_string)
+       * src/output.c (output_skeleton)
+       * src/parse-gram.y (prologue_declaration)
+       * src/scan-gram.l (handle_syncline)
+       * src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of
+       strchr and strrchr.  In the cases of command-line options, file
+       names, and thus locations, functionality may be improved.  In the
+       case of symbol names, there should be no functional difference as
+       all characters are ASCII, so the intended benefit is just warning
+       suppression.
+
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * NEWS (2.5): Fix minor typos.
+
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up quotation style in NEWS.
+       * NEWS (2.5): For multi-character tokens in example grammar rules,
+       use "token" not 'token'.  In English, use a consistent quotation
+       style; we might as well follow the precedent seen in info pages:
+       `quote' not "quote".
+
+2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       tests: pacify gcc 4.6.0's -Wunused-but-set-variable.
+       Reported by Jim Meyering at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
+       * tests/actions.at
+       (Default %printer and %destructor for mid-rule values): Define
+       YYLLOC_DEFAULT so that it uses its Rhs argument.
+
+2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       glr.c: omit yyresolveLocations when locations are disabled.
+       This prevents gcc 4.6.0's -Wunused-but-set-variable from warning
+       about yyresolveLocations's local yyrhsloc.  When locations are
+       enabled, there's no such warning because YYLLOC_DEFAULT then uses
+       yyrhsloc.  Reported by Jim Meyering at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
+       * data/glr.c (yyresolveLocations): Omit definition when locations
+       are disabled.
+       (yyresolveValue): Omit yyresolveLocations invocation when
+       locations are disabled.
+
+2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       gnulib, autoconf: update.
+       * README-hacking (Updating a submodule): Give advice on how to
+       determine the versions of gnulib and autoconf to which we should
+       update.
+       (Release Procedure): Note that submodules should be updated.
+       * bootstrap.conf (gnulib_modules): Rename pipe to spawn-pipe as
+       suggested in updated gnulib NEWS.
+       * gnulib: Choose a stable snapshot according to advice in Bison's
+       README-hacking.
+       * po/POTFILES.in (lib/pipe.c): Rename to...
+       (lib/spawn-pipe.c): ... this.
+       * src/output.c: Update to include spawn-pipe.h.
+       * submodules/autoconf: Update to latest for improvement in m4.m4
+       that excludes M4 with buggy strstr.  The only other changes to
+       files that we use are copyright updates.
+
+2011-04-09  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Fix missing updates to GPLv3.
+       Reported by Tys Lefering at
+       <http://lists.gnu.org/archive/html/bison-patches/2011-04/msg00000.html>.
+       * src/print-xml.c, src/print-xml.h: In these files.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Add -Wconflicts-sr and -Wconflicts-rr.
+       Thus, conflict reports are now affected by -Werror and -Wnone
+       (unless %expect or %expect-rr is specified).  Reported by George
+       Neuner at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
+       * NEWS (2.5): Document.
+       * doc/bison.texinfo (Bison Options): Document.
+       * src/complain.c, src/complain.h (set_warning_issued): Export
+       function.
+       * src/conflicts.c (conflicts_print): Suppress conflict report
+       based on -Wno-conflicts-sr and -Wno-conflicts-rr, and treat
+       conflicts as errors if -Werror.
+       * src/getargs.c (warnings_flag): Initialize with
+       warnings_conflicts_sr and warnings_conflicts_rr as well.
+       (warnings_args, warnings_types): Add entries for
+       warnings_conflicts_sr and warnings_conflicts_rr.
+       (usage): Update.
+       * src/getargs.h (enum warnings): Add entries for
+       warnings_conflicts_sr and warnings_conflicts_rr.
+       * tests/conflicts.at (-W versus %expect and %expect-rr): New test
+       group.
+       * tests/local.at (AT_BISON_CHECK_NO_XML): Update now that the
+       conflict report can produce a "warnings being treated as errors"
+       message.  Also, check that stderr is now fully scrubbed by -Wnone
+       when the exit status is 0.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Pacify maintainer-check-posix.
+       Adding command-line options after the grammar file name is not
+       permitted, so disable checks that do that when
+       maintainer-check-posix is running.
+       * tests/local.at (AT_BISON_CHECK_NO_XML): Don't run the
+       problematic checks when POSIXLY_CORRECT=1.  Also, for readability,
+       remove an unnecessary m4_if.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Add -Wother so -Wnone suppresses all warnings.
+       Reported by George Neuner at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
+       * NEWS (2.5): Document.
+       * THANKS (George Neuner): Add.
+       * doc/bison.texinfo (Bison Options): Document.
+       * src/complain.c, src/complain.h
+       (warn_at, warn_at_indent, warn): Suppress warning if -Wno-other.
+       (midrule_value_at): New warning function, similar to yacc_at in
+       that it's controlled by its own warning category.
+       * src/getargs.c (warnings_flag): Initialize to warnings_other.
+       (warnings_args, warnings_types): Add entry for warnings_other.
+       (usage): Update.
+       * src/getargs.h (enum warnings): Add entry for warnings_other.
+       * src/gram.c (grammar_rules_useless_report): If -Wno-other, then
+       don't print useless rules.
+       * src/reader.c (symbol_should_be_used): Rather than adjusting the
+       return value based on whether midrule value warnings are enabled,
+       accept a new parameter for telling the caller whether true is
+       being returned for a potential midrule warning.
+       (grammar_rule_check): Use midrule_value_at for midrule value
+       warnings, and continue to use warn_at for all other warnings.  Let
+       them check whether the warnings are enabled.
+       * tests/local.at (AT_BISON_CHECK): Update documentation.
+       (AT_BISON_CHECK_NO_XML): Check that -Wnone and --warnings=none
+       disable all warnings exercised in the test suite.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Don't let -Wnone disable -Werror.
+       Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2010-08/msg00009.html>.
+       * NEWS (2.5): Document.
+       * src/getargs.c (flags_argmatch): Accept a new argument that
+       specifies what flags "all" and thus "none" affect.
+       (FLAGS_ARGMATCH): Update flags_argmatch invocation.
+       * tests/input.at (-Werror is not affected by -Wnone and -Wall):
+       New test group.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * NEWS (2.5): Document fix for -Wno-CATEGORY.
+
+2011-03-20  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: fix confusing citation of LAC publication.
+       Suggested by Akim Demaille.
+       * doc/bison.texinfo (LAC): Here.
+
+2011-03-20  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       lr.default-reductions: rename "full" value to "most".
+       Unlike "consistent" and "accepting", "full" doesn't answer the
+       question of "which states".
+       * doc/bison.texinfo (%define Summary): Update.
+       (Default Reductions): Update.
+       * src/print.c (print_reductions): Update.
+       * src/reader.c (prepare_percent_define_front_end_variables):
+       Update.
+       * src/tables.c (action_row): Update.
+       * tests/input.at (%define enum variables): Update.
+       * tests/reduce.at (%define lr.default-reductions): Update.
+
+2011-03-13  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * src/parse-gram.c, src/parse-gram.h: Regenerate.
+
+2011-03-09  Akim Demaille  <akim@lrde.epita.fr>
+
+       named references: fix double free.
+       In `rhs[name]: "a" | "b"', do not free "name" twice.
+       Reported by Tys Lefering.
+       <http://lists.gnu.org/archive/html/bug-bison/2010-06/msg00002.html>
+       * src/named-ref.h, src/named-ref.c (named_ref_copy): New.
+       * src/parse-gram.y (current_lhs): Rename as...
+       (current_lhs_symbol): this.
+       (current_lhs): New function.  Use it to free the current lhs
+       named reference.
+       * src/reader.c: Bind lhs to a copy of the current named reference.
+       * src/symlist.c: Rely on free (0) being valid.
+       * tests/named-refs.at: Test this.
+
+2011-03-09  Akim Demaille  <akim@lrde.epita.fr>
+
+       tests: style changes.
+       * tests/named-refs.at (Redundant words in LHS brackets)
+       (Unresolved references): here.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       java: fix parser tracing bug.
+       * NEWS (2.5): Document.
+       * data/lalr1.java (YYParser::YYStack::print): Don't skip top
+       element.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       java: finish fixing parser stack popping bug.
+       * NEWS (2.5): Document.
+       * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
+       in clearing the location stack.  Also fix pop function that
+       accepts no arguments.
+
+2011-03-06  Angelo Borsotti  <angelo.borsotti@gmail.com>  (tiny change)
+
+       java: fix parser stack popping bug.
+       Reported at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-02/msg00005.html>.
+       * THANKS (Angelo Borsotti): Add.
+       * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
+       in clearing the value stack.  Previously, the top element of the
+       stack wasn't cleared and so the value was not garbage collected.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: cite publication for LAC.
+       * doc/bison.texinfo (LAC): Here.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up terminology for mysterious conflicts.
+       * doc/bison.texinfo (Mystery Conflicts): Rename node to...
+       (Mysterious Conflicts): ... this, which is already the section
+       title and the name used in the index.  Update all cross-references
+       to this node.  Also, don't imply that R/R conflicts are the only
+       kind of mysterious conflict.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       lr.default-reductions: rename "all" value to "full".
+       States that shift the error token do not have default reductions,
+       and GLR disables some default reductions, so "all" was a misnomer.
+       * doc/bison.texinfo (%define Summary): Update.
+       (Default Reductions): Update.
+       * src/print.c (print_reductions): Update.
+       * src/reader.c (prepare_percent_define_front_end_variables):
+       Update.
+       * src/tables.c (action_row): Update.
+       * tests/input.at (%define enum variables): Update.
+       * tests/reduce.at (%define lr.default-reductions): Update.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: create a new Tuning LR section in the manual.
+       And clean up all other documentation of the features described
+       there.
+       * NEWS (2.5): Tweak wording of lr.type and parse.lac entries a
+       bit, update the cross-references to the manual, and point out that
+       LAC has caveats.  Don't be so adamant that IELR+LAC=canonical LR.
+       That is, as the referenced section in the manual documents, LAC
+       does not fix infinite parsing loops on syntax errors.
+       * doc/bison.texinfo: Consistently drop the "(1)" suffix from LALR,
+       IELR, and LR in @cindex.
+       (%define Summary): Condense the entries for lr.default-reductions,
+       lr.keep-unreachable-states, lr.type, and parse.lac into brief
+       summaries, and cross-reference the appropriate subsections of
+       Tuning LR.  For parse.lac, mention that it's only implemented for
+       deterministic parsers in C.  In parse.error entry, mention LAC,
+       and add cross-reference to the LAC section.
+       (Error Reporting): When mentioning parse.error, mention LAC, and
+       add cross-reference to the LAC section.
+       (Tuning LR): New section with an extended version of the
+       documentation removed from %define Summary.  Change all
+       cross-references in the manual to point here instead of there.
+       (Calc++ Parser): When mentioning parse.error, mention LAC, and add
+       cross-reference to the LAC section.
+       (Table of Symbols): In %error-verbose entry, add cross-reference
+       to Error Reporting.
+       (Glossary): Capitalize entry titles consistently.  Add definitions
+       for "defaulted state" and "unreachable state".  Expand IELR
+       acronym in IELR's entry.
+
+2011-02-20  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: add bibliography to manual.
+       * doc/bison.texinfo (Mystery Conflicts): Cross-reference
+       bibliography instead of citing publications directly.
+       (Generalized LR Parsing): Likewise.
+       (Bibliography): New section.  Not all entries are cross-referenced
+       yet, but that will come in future patches.
+
+2011-02-19  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       java: test and document previous bug fix.
+       * NEWS (2.5): Document it.
+       * tests/java.at (_AT_DATA_JAVA_CALC_Y): To one of the yyerror
+       invocations, pass a location that spans multiple tokens.  Change
+       yyerror to report all of a location rather than just the begin
+       position.  Extend yylex and Position to count tokens on a line.
+       Remove getHashCode as it's unused.  Update all expected output.
+
+2011-02-19  Bernd Kiefer  <kiefer@dfki.de>  (tiny change)
+
+       java: fix location handling bug.
+       Reported at
+       <http://lists.gnu.org/archive/html/bison-patches/2011-02/msg00005.html>.
+       * data/lalr1.java (YYParser::yylloc): For non-empty RHS, fix
+       reversed access to location stack.
+       * THANKS (Bernd Kiefer): Add.
+
+2011-02-13  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: fix some minor inconsistencies.
+       * doc/bison.texinfo (%define Summary): Fix mislabeled entry for
+       lex_symbol.
+       (%code Summary): For consistency with the variable list in the
+       %define Summary, enclose the list of %code qualifiers in a table
+       instead of an itemize.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up new subsections in manual.
+       * doc/bison.texinfo (%define Summary): Reword so it reads well as
+       a separate section.  For example, add an intro, and move most of
+       the text outside of the @deffn so it is not indented so far.
+       (%code Summary): Likewise.
+       (Table of Symbols): Reword %code entry to match the %code entry in
+       Decl Summary.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: finish splitting apart the manual's Decl Summary section.
+       Suggested by Akim Demaille at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
+       * doc/bison.texinfo (Decl Summary): Extract most of the %define
+       entry into...
+       (%define Summary): ... this new subsection, and update all
+       cross-references.  For readability of the patches, rewriting of
+       the text so it makes sense as a separate subsection will come in a
+       later patch.  Moreover, the majority of the text describing the
+       various new LR features should likely move to another new section
+       somewhere.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: begin to split apart the manual's Decl Summary section.
+       Discussed in thread starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
+       * doc/bison.texinfo (Decl Summary): Extract most of the %code
+       entry into...
+       (%code Summary): ... this new subsection, and update all
+       cross-references.  For readability of the patches, rewriting of
+       the text so it makes sense as a separate subsection will come in a
+       later patch.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up naming of various Bison files.
+       The Bison manual's names for various files associated with a Bison
+       parser has devolved into inconsistency.  This patch makes the
+       naming consistent for the most important files.  First, it chooses
+       "grammar file" over "input file".  The former appears to be more
+       traditional in the Bison manual, and Bison has other input
+       files (skeletons).  Second, it chooses "parser implementation
+       file" over names like "parser file", "parser source file", "parser
+       source code file", and "parser output file".  The new name makes
+       it clearer where Bison generates the main parser implementation,
+       and it is easily distinguishable from "parser header file".
+       * doc/bison.texinfo: Implement throughout.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: give credit to more of Bison's developers.
+       * doc/bison.texinfo (Introduction): Don't imply that only Robert
+       Corbett, Richard Stallman, and Wilfred Hansen have contributed to
+       Bison.  However, I don't have time to write a full history, so
+       just point readers to THANKS and ChangeLog.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: document experimental features better.
+       * doc/bison.texinfo (Introduction): Say that IELR(1) and canonical
+       LR(1) are experimental.  Mention Java.  Normally experimental
+       features probably shouldn't be mentioned in the introduction.
+       However, if Bison's limitations to LALR(1), C, and C++ are so
+       important that they should be mentioned here, then it's important
+       to point out that Bison is beginning to escape those limitations.
+       Moreover, these particular experimental features have very little
+       chance of being removed.
+       * src/getargs.c (usage): Say that IELR(1) and canonical LR(1) are
+       experimental.
+
+2011-01-29  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Do not allow identifiers that start with a dash.
+       This cleans up our previous fixes for a bug whereby Bison
+       discarded `.field' in `$-1.field'.  The previous fixes were less
+       restrictive about where a dash could appear in an identifier, but
+       the restrictions were hard to explain.  That bug was reported and
+       this final fix was originally suggested by Paul Hilfinger.  This
+       also fixes a remaining bug reported by Paul Eggert whereby Bison
+       parses `%token ID -123' as `%token ID - 123' and handles `-' as an
+       identifier.  Now, `-' cannot be an identifier.  Discussed in
+       threads beginning at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00000.html>,
+       <http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00004.html>.
+       * NEWS (2.5): Update entry describing the dash extension to
+       grammar symbol names.  Also, move that entry before the named
+       references entry because the latter mentions the former.
+       * doc/bison.texinfo (Symbol): Update documentation for symbol
+       names.  As suggested by Paul Eggert, mention the effect of periods
+       and dashes on named references.
+       (Decl Summary): Update documentation for unquoted %define values,
+       which, as a side effect, can no longer start with dashes either.
+       * src/scan-code.l (id): Implement.
+       * src/scan-gram.l (id): Implement.
+       * tests/actions.at (Exotic Dollars): Extend test group to exercise
+       bug reported by Paul Hilfinger.
+       * tests/input.at (Symbols): Update test group, and extend to
+       exercise bug reported by Paul Eggert.
+       * tests/named-refs.at (Stray symbols in brackets): Update test
+       group.
+       ($ or @ followed by . or -): Likewise.
+       * tests/regression.at (Invalid inputs): Likewise.
+
+2011-01-24  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * data/yacc.c: Fix last apostrophe warning from xgettext.
+
+2011-01-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix minor problems encountered by a fresh bootstrap.
+       * data/glr.c, data/yacc.c: Do not use apostrophes in '#' comments,
+       as they confuse xgettext, which tries to parse them as C character
+       constants in a preprocessor directive.
+       * data/yacc.c (yy_lac): Don't use printf %d format on *yyesp, as
+       that expression might not promote to int on some platforms.
+       * src/parse-gram.c, src/parse-gram.h: Regenerate.
+
+2011-01-09  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Improve error messages for `$' or `@' followed by `.' or `-'.
+       Previously, for this special case of an invalid reference, the
+       usual "symbol not found in production:" was printed.  However,
+       because the symbol name was parsed as the empty string, that
+       message was followed immediately by a newline instead of a symbol
+       name.  In reality, this is a syntax error, so the reference is
+       invalid regardless of the symbols actually appearing in the
+       production.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2011-01/msg00012.html>.
+       * src/scan-code.l (parse_ref): Report the above case as a syntax
+       error.  Other than that, continue to handle this case like any
+       other invalid reference that Bison manages to parse because
+       "possibly meant" messages can still be helpful to the user.
+       * tests/named-refs.at ($ or @ followed by . or -): New test group.
+
+2011-01-08  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: don't use @acronym.
+       Lately, many GNU packages are dropping it.  See
+       <http://lists.gnu.org/archive/html/bison-patches/2011-01/msg00003.html>.
+       * doc/bison.texinfo: Remove all uses.
+
+2011-01-05  Alex Rozenman  <rozenman@gmail.com>
+
+       Do not allow identifiers that start with a negative number.
+       Reported by Paul Hilfinger as a side effect of named references
+       support at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-01/msg00000.html>.
+       Suggested by Paul Eggert.
+       * src/scan-code.l ({letter}, {id}): Adjust lexical definitions.
+       * src/scan-gram.l ({letter}, {id}): Likewise.
+
+2011-01-03  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * ChangeLog (2011-01-02): improve description.
+
+2011-01-03  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       maint: don't update copyright years in bootstrap.
+       * .x-update-copyright: Add entry for bootstrap.
+       * bootstrap: Remove 2011 from copyright years.  The bootstrap
+       version we're currently using comes from an older version of
+       gnulib.
+       * bootstrap.conf (bootstrap_sync): Add comments explaining this
+       issue.
+
+2011-01-02  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       maint: run "make update-copyright".
+
+2011-01-02  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       maint: prepare to use year ranges in copyright notices.
+       * README (Copyright statements): New section explaining the range
+       notation.  The GNU maintainers document requires this explanation:
+       <http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices>.
+       I copied our explanation from coreutils.
+       * build-aux/update-b4-copyright: Revert 2010-06-17 changes that
+       disabled Bison's automated use of ranges.
+       * cfg.mk (update-copyright-env): Likewise.
+
+2011-01-02  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Correct my email address.
+       * ChangeLog: In all recent entries.
+       * THANKS (Joel E. Denny): Here.
+
+2010-12-19  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: cleanup.
+       * NEWS (2.5): Try to sort entries according to how interesting
+       users might find them.
+
+2010-12-19  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: cleanup.
+       * NEWS (2.5): Make some minor improvements to wording, and format
+       entries more consistently.
+       * doc/bison.texinfo (Language and Grammar): Point out that IELR
+       and canonical LR are experimental features.
+       (Decl Summary): In list of %define variables, make wording more
+       consistent.  Improve discussion of using LALR for GLR.
+
+2010-12-19  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       parse.lac: document.
+       * NEWS (2.5): Add entry for LAC, and mention LAC in entry for
+       other corrections to verbose syntax error messages.
+       * doc/bison.texinfo (Decl Summary): Rewrite entries for
+       lr.default-reductions and lr.type to be clearer, to mention
+       %nonassoc's effect on canonical LR, and to mention LAC.  Add entry
+       for parse.lac.
+       (Glossary): Add entry for LAC.
+
+2010-12-11  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       parse.lac: implement exploratory stack reallocations.
+       * data/yacc.c: Rename %define variable parse.lac.es-capacity to
+       parse.lac.es-capacity-initial.  Accept parse.lac.memory-trace
+       with values of "failures" (default) or "full".
+       (b4_declare_parser_state_variables): Add yyesa, yyes, and
+       yyes_capacity variables.
+       (YYSTACK_USE_ALLOCA): Ignore it if LAC requested.
+       (YYSTACK_ALLOC, YYSTACK_FREE, YYSTACK_ALLOC_MAXIMUM): Define if
+       LAC requested.
+       (YYCOPY_NEEDED): New cpp macro.
+       (YYCOPY): Define if LAC requested.
+       (yy_lac_stack_realloc): New function implementing stack
+       reallocations.  Use YYMAXDEPTH for maximum stack size given that
+       the stack should never need to grow larger than the main state
+       stack needs to grow without LAC.
+       (YY_LAC_ESTABLISH): Update yy_lac invocation.
+       (yy_lac): Add arguments for exploratory stack memory data
+       recorded in the main parser.  Invoke yy_lac_stack_realloc when
+       reallocation is necessary.
+       (yysyntax_error): Add the same new arguments and pass them to
+       yy_lac.
+       (yypstate_delete): Free yyes if necessary.
+       (yyesa, yyes, yyes_capacity): #define these to yypstate members
+       in the case of push parsing.
+       (yyparse, yypush_parse): Initialize yyes and yyes_capacity.
+       Update yysyntax_error invocations.  At yyreturn, free yyes if
+       necessary.
+       * src/parse-gram.y: %define parse.lac full.
+       * tests/input.at (LAC: errors for %define): Extend for
+       parse.lac-memory-trace.
+       * tests/regression.at (LAC: Exploratory stack): Extend to check
+       that stack reallocs happen when expected.
+       (LAC: Memory exhaustion): Update to use YYMAXDEPTH and
+       parse.lac.es-capacity-initial.
+
+2010-12-11  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       parse.lac: implement as %define variable.
+       LAC = lookahead correction.  See discussion at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-09/msg00034.html>.
+       However, one point there must be corrected: because of %nonassoc,
+       LAC is *not* always redundant for lr.type=canonical-lr.
+       * data/yacc.c: Accept values of "none" (default) or "full" for
+       parse.lac.  Accept %define parse.lac.es-capacity to specify
+       capacity of LAC's temporary exploratory stack.  It defaults to 20
+       and, for now, will not grow dynamically.
+       (b4_lac_flag, b4_lac_if): New m4 macros.  Evaluate as true for
+       parse.lac!=none.
+       (YYBACKUP): Invoke YY_LAC_DISCARD.
+       (YY_LAC_ESTABLISH, YY_LAC_DISCARD): New cpp macros that invoke
+       yy_lac and track when it needs to be invoked
+       (yy_lac): New function that, given the current stack, determines
+       whether a token can eventually be shifted.  Return status mimics
+       yyparse return status.
+       (yysyntax_error): Change yystate argument to yyssp so stack top
+       can be passed to yy_lac.  If LAC is requested, build expected
+       token list by invoking yy_lac for every token instead of just
+       checking the current state for lookaheads.  Return 2 if yy_lac
+       exhausts memory.
+       (yyparse, yypush_parse): Use local variable yy_lac_established and
+       cpp macros YY_LAC_ESTABLISH and YY_LAC_DISCARD to implement LAC.
+       Update yysyntax_error invocation.  Add yyexhaustedlab code if LAC
+       is requested.
+       * tests/conflicts.at (%nonassoc and eof): Extend to check the
+       effect of each of -Dlr.type=canonical-lr and -Dparse.lac=full.
+       (parse.error=verbose and consistent errors): Likewise.
+       (LAC: %nonassoc requires splitting canonical LR states): New test
+       group demonstrating how LAC can fix canonical LR.
+       * tests/input.at (LAC: Errors for %define): New test group.
+       * tests/regression.at (LAC: Exploratory stack): New test group.
+       (LAC: Memory exhaustion): New test group.
+
+2010-11-21  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       build: use gnulib's new bootstrap_sync option.
+       Now, whenever we update bison's copy of gnulib, bootstrap will
+       update itself the next time it's run.
+       * bootstrap: Copy from latest gnulib for bootstrap_sync support.
+       * bootstrap.conf (bootstrap_sync): Set to true.
+       * gnulib: Update to latest so bootstrap is in sync now.
+
+2010-11-07  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       yysyntax_error: fix for consistent error with lookahead.
+       * NEWS (2.5): Document.
+       * data/yacc.c (yysyntax_error): In a verbose syntax error
+       message while in a consistent state with a default action (which
+       must be an error action given that yysyntax_error is being
+       invoked), continue to drop the expected token list, but don't
+       drop the unexpected token unless there actually is no lookahead.
+       Moreover, handle that internally instead of returning 1 to tell
+       the caller to do it.  With that meaning of 1 gone, renumber
+       return codes more usefully.
+       (yyparse, yypush_parse): Update yysyntax_error usage.  Most
+       importantly, set yytoken to YYEMPTY when there's no lookahead.
+       * data/glr.c (yyreportSyntaxError): As in yacc.c, don't drop the
+       unexpected token unless there actually is no lookahead.
+       * data/lalr1.cc (yy::parser::parse): If there's no lookahead,
+       pass yyempty_ not yyla.type to yysyntax_error_.
+       (yy::parser::yysyntax_error_): Again, don't drop the unexpected
+       token unless there actually is no lookahead.
+       * data/lalr1.java (YYParser::parse): If there's no lookahead,
+       set yytoken to yyempty_ before invoking yysyntax_error.
+       (YYParser::yysyntax_error): Again, don't drop the unexpected
+       token unless there actually is no lookahead.
+       * tests/conflicts.at (parse.error=verbose and consistent
+       errors): Extend test group to further reveal how the previous
+       use of the simple "syntax error" message was too general.  Test
+       yacc.c, glr.c, lalr1.cc, and lalr1.java.  No longer an expected
+       failure.
+       * tests/java.at (AT_JAVA_COMPILE, AT_JAVA_PARSER_CHECK): Move
+       to...
+       * tests/local.at: ... here.
+       (_AT_BISON_OPTION_PUSHDEFS): Push AT_SKEL_JAVA_IF definition.
+       (AT_BISON_OPTION_POPDEFS): Pop it.
+       (AT_FULL_COMPILE): Extend to handle Java.
+
+2010-11-07  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       yysyntax_error: more preparation for readability of next patch.
+       There are no behavioral changes here.
+       * data/glr.c (yyreportSyntaxError): Reorganize.
+       * data/lalr1.cc (yy::parser::yysyntax_error_): Reorganize.
+       * tests/conflicts.at (parse.error=verbose and consistent errors):
+       Reorganize.
+
+2010-11-07  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       yysyntax_error: prepare for readability of next patches.
+       These are purely whitespace changes that result in ugly code
+       but that make the next couple of patches much easier to read.
+       * data/glr.c (yyreportSyntaxError): Reindent.
+       * data/lalr1.cc (yy::parser::yysyntax_error_): Reindent.
+       * data/lalr1.java (YYParser::yysyntax_error): Reindent.
+       * data/yacc.c (yysyntax_error): Reindent.
+
+2010-10-31  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Fix memory leak.
+       * src/output.c (prepare_rules): Free temporary array.
+
+2010-10-31  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       yysyntax_error: improve invocation readability.
+       * data/yacc.c (yyparse, yypush_parse): For yysyntax_error
+       invocation, get rid of the while loop, which is misleading
+       because there are really at most two iterations.
+
+2010-10-31  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * ChangeLog: Correct some errors in previous entries.
+
+2010-10-17  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       maint: re-anchor all .gitignore entries.
+       * bootstrap: Copy from gnulib's latest for the fix to
+       automatically anchor entries it constructs.
+       * gnulib: Update to latest just so it has the same bootstrap.
+       * .gitignore, build-aux/.gitignore, doc/.gitignore:
+       * lib/.gitignore, m4/.gitignore, po/.gitignore:
+       * runtime-po/.gitignore: Re-anchor all entries.
+
+2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix portability problem on OpenBSD 4.7.
+
+       Jim Meyering reported this in
+       <http://lists.gnu.org/archive/html/bug-bison/2010-10/msg00007.html>.
+       * data/yacc.c: Use EXIT_SUCCESS as a witness for stdlib.h,
+       not _STDLIB_H.  EXIT_SUCCESS has been defined by the standard
+       for quite some time.
+       * src/parse-gram.c, src/parse-gram.h: Regenerate.
+       * tests/regression.at: Tamper with the renamed witness.
+
+       Adjust to recent changes to gnulib bootstrap.
+
+       * .cvsignore, build-aux/.cvsignore, doc/.cvsignore, etc/.cvsignore:
+       * examples/calc++/.cvsignore, lib/.cvsignore, m4/.cvsignore:
+       * po/.cvsignore, runtime-po/.cvsignore, src/.cvsignore:
+       * tests/.cvsignore: Remove; I don't use CVS to maintain Bison
+       anymore and don't know of anybody else who does.  If someone needs
+       these files, they can resurrect them.
+       * .gitignore, build-aux/.gitignore, doc/.gitignore, lib/.gitignore:
+       * m4/.gitignore, po/.gitignore, runtime-po/.gitignore:
+       Omit leading '/', since bootstrap omits it.
+       Adjust file names to match current contents better.
+       * bootstrap: Sync from gnulib: this contains the new gnulib_mk_hook
+       installed just for us.
+       * bootstrap.conf (excluded_files): Don't exclude codeset.m4,
+       glibc21.m4, inttypes_h.m4, size_max.m4, xsize.m4, as they are now
+       needed somehow.  Don't have time to look into why.
+       (gnulib_modules): Change malloc to malloc-gnu.  Do we really assume
+       the GNU malloc behavior, where malloc (0) != NULL unless we're
+       out of storage?  If not, we can omit malloc-gnu; but for now I left
+       it in to be safe.
+       (vc_ignore): Remove.
+       (gnulib_mk_hook): New function.
+       * README-hacking: Renamed from HACKING, since gnulib bootstrap now
+       uses that convention.
+
+2010-09-09  Paul Hilfinger  <hilfinger@cs.berkeley.edu>
+
+       * data/glr.c (yySymbol): Define as int to avoid compiler warnings about
+       possible change of value.
+
+2010-09-08  Paul Hilfinger  <hilfinger@cs.berkeley.edu>
+
+       * data/glr.c (yy_reduce_print): Change yyrhsVals to yyvsp to remove
+       compiler errors when using %debug.
+       Add declaration of yylow when locations in use to avoid compilation
+       error.
+       (yyglrReduce): Conditionalize message "Parse ... rejected by rule..."
+       on whether we are in split mode, for consistency with behavior of
+       non-GLR parsing.
+
+2010-09-01  Akim Demaille  <demaille@gostai.com>
+
+       Address GCC warnings about shadowed local variables (yyflag).
+       * data/glr.c (YYCHK): Rename yyflag as yychk_flag.
+       (yyprocessOneStack): Reduce the scope of yyaction, yyconflicts,
+       yyrule, and yyflag.
+
+2010-08-05  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Version 2.4.3.
+       * NEWS (2.4.3): Set date.
+
+2010-08-04  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       maint: add gettext version to release announcements.
+       Suggested by Paul Hilfinger at
+       <http://lists.gnu.org/archive/html/bison-patches/2010-07/msg00019.html>
+       <http://lists.gnu.org/archive/html/bison-patches/2010-08/msg00002.html>.
+       * cfg.mk (bootstrap-tools): Add gettext.
+
+2010-08-04  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: fix -W and %expect documentation some.
+       * NEWS (2.4.3): Mention that there are documentation fixes.
+       * doc/bison.texinfo (Expect Decl): Make it clear that %expect
+       turns conflicts into errors not warnings.
+       (Shift/Reduce): Likewise.
+       (Bison Options): Don't mention -Wsyntax.  It doesn't exist.
+
+2010-08-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       -Werror: fix for rules useless in parser after conflicts.
+       * NEWS (2.4.3): Document fix.
+       * src/complain.c (error_message): Extend to handle incomplete
+       error messages so warn and warn_at can be used in more cases.
+       * src/gram.c (grammar_rules_useless_report): Use warn_at so that
+       -Werror is always obeyed.
+       * src/reduce.c (reduce_print): Use warn so that the "warnings
+       being treated as errors" message is printed consistently before
+       the first warning message.  This makes testing easier.
+       * tests/local.at (AT_BISON_WERROR_MSG): New macro.
+       (AT_BISON_CHECK_NO_XML): Extend to check -Werror and
+       --warnings=error when warnings appear in bison's stderr.
+
+2010-07-29  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       maint: enable gnits only at stable releases.
+       * configure.ac (AM_INIT_AUTOMAKE): Underscore or dash in a
+       version string should disable gnits.  Explain in comments.
+
+2010-07-28  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       i18n: update.
+       * po/POTFILES.in: Add src/graphviz.c.
+
+2010-07-28  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       i18n: fix for gnulib.
+       * po/POTFILES.in: Add remaining gnulib files that have
+       translatable strings.
+
+2010-07-25  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       build: fix our adjustments for gnulib files in lib.
+       * configure.ac: For prepending lib/ to the values of config
+       variables, fix detection of empty values.  Also, due to recent
+       gnulib changes, add LIBUNISTRING_UNITYPES_H and
+       LIBUNISTRING_UNIWIDTH_H to the list of those variables.
+
+2010-07-25  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       maint: use announce-gen's new --mail-headers.
+       * HACKING (Announce): Update instructions.
+       * cfg.mk (announcement_Cc_): Define.
+       * configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.18 as
+       required by latest gnulib.
+       * gnulib: Update to latest.
+
+2010-07-24  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       tests: handle Valgrind that complains about >&-.
+       * tests/output.at (AT_CHECK_OUTPUT): Extend to accept pre-tests.
+       (Output files: -dv >&-): Skip test group if running
+       maintainer-check-valgrind.
+
+2010-07-23  Paul Hilfinger  <hilfingr@EECS.Berkeley.EDU>
+
+       * NEWS: Describe new semantic-predicate feature.
+       * data/c.m4 (b4_predicate_case): New definition.
+       * data/java.m4 (b4_predicate_case): New definition.
+       * data/glr.c (yyimmediate): Add definition.
+       (yydoAction): Remove comment, now obsolete.
+       Do YY_REDUCE_PRINT here.
+       (yyglrReduce): Alter comment to indicate that semantic values
+       need not be deferred.
+       Remove YY_REDUCE_PRINT from here; done in yydoAction.
+       (yyprocessOneStack): Pass immediate flag.
+       Delete stacks rejected by predicates in newly split-off parsers.
+       Change handling of yyerr so that only current stack gets deleted
+       when semantic predicate fails.
+       (yyfillin): Don't crash if a semantic value is unresolved (as may
+       happen in predicate rules).
+       Copy lr state as well in debugging mode.
+       Update comment on setting of yysval to include yyloc as well.
+       (yy_reduce_print): Add yynormal argument.  Perform fillin properly.
+       Report unresolved RHS values.
+       (yyimmediate): New table.
+       * src/gram.h (struct rule): Add is_predicate field.
+       * src/output.c (user_actions_output): Use b4_predicate_case for
+       predicates.
+       (prepare_symbols): Output yyimmediate.
+       * src/scan-gram.l: Add %? token, SC_PREDICATE state.
+       * src/scan-code.l (code_props_rule_action_init): Add is_predicate
+       argument.
+       * src/scan-code.h (struct code_props): Add is_predicate field.
+       (code_props_rule_action_init): New interface.
+       * src/parse-gram.y (%?{...}): New token.
+       (rhs): Add %?{...} rule.
+       * src/parse-gram.c: Regenerate.
+       * src/parse-gram.h: Regenerate.
+       * src/reader.c (grammar_current_rule_action_append): Add
+       immediate argument.
+       (grammar_midrule_action): Use new interface for
+       code_props_rule_action_init.
+       (grammar_current_rule_action_append): Ditto.
+       (packgram): Transfer is_predicate value.
+       * src/reader.h (grammar_current_rule_action_append): New interface.
+       * doc/bison.texinfo: Document semantic predicates (%?).
+
+       * data/glr.c (yylhsNonterm, yyisDefaultedState,yyDefaultAction)
+       (yygetLRActions,yynewGLRStackItem,yyaddDeferredAction,yyinitStateSet)
+       (yyinitGLRStack,yyexpandGLRStack,yyupdateSplit,yymarkStackDeleted)
+       (yyundeleteLastStack,yyglrShift,yyglrShiftDefer,yydoAction,yyglrReduce)
+       (yyidenticalOptions,yymergeOptionSets,yyresolveStates,yyresolveAction)
+       (yyresolveLocations,yyresolveValue,yyreducePrint): Update parameter
+       names in comments and mention all parameters.
+       (struct yyGLRState): Fix description of yyposn field.
+       (yyresolveLocations): Correct comment so as not to imply action when
+       yyn1==0.
+
+2010-06-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update from GFDL GFDL 1.2 to 1.3.
+       * doc/bison.texinfo: Update GFDL version number.
+       * doc/fdl.texi: Update to version 1.3, taken from:
+       http://www.gnu.org/licenses/fdl.texi
+
+       Do not use date ranges in copyright notices.
+       See http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
+
+       * HACKING, Makefile.am, NEWS, PACKAGING, README, README-alpha:
+       * TODO, bootstrap, bootstrap.conf:
+       * build-aux/update-b4-copyright, cfg.mk, configure.ac:
+       * data/README, data/bison.m4, data/c++-skel.m4, data/c++.m4:
+       * data/c-skel.m4, data/c.m4, data/glr.c, data/glr.cc:
+       * data/java-skel.m4, data/java.m4, data/lalr1.cc:
+       * data/lalr1.java, data/local.mk, data/location.cc:
+       * data/stack.hh, data/variant.hh, data/xslt/bison.xsl:
+       * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl:
+       * data/xslt/xml2xhtml.xsl, data/yacc.c, djgpp/Makefile.maint:
+       * djgpp/README.in, djgpp/config.bat, djgpp/config.sed:
+       * djgpp/config.site, djgpp/config_h.sed, djgpp/djunpack.bat:
+       * djgpp/local.mk, djgpp/subpipe.c, djgpp/subpipe.h:
+       * djgpp/testsuite.sed, doc/bison.texinfo, doc/local.mk:
+       * doc/refcard.tex, etc/README, etc/bench.pl.in, etc/local.mk:
+       * examples/calc++/Makefile.am, examples/extexi:
+       * examples/local.mk, lib/abitset.c, lib/abitset.h:
+       * lib/bbitset.h, lib/bitset.c, lib/bitset.h:
+       * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c:
+       * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h:
+       * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c:
+       * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h:
+       * lib/libiberty.h, lib/local.mk, lib/main.c, lib/timevar.c:
+       * lib/timevar.def, lib/timevar.h, lib/vbitset.c:
+       * lib/vbitset.h, lib/yyerror.c, m4/bison-i18n.m4:
+       * m4/c-working.m4, m4/cxx.m4, m4/subpipe.m4, m4/timevar.m4:
+       * src/AnnotationList.c, src/AnnotationList.h:
+       * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c:
+       * src/LR0.h, src/Sbitset.c, src/Sbitset.h, src/assoc.c:
+       * src/assoc.h, src/closure.c, src/closure.h, src/complain.c:
+       * src/complain.h, src/conflicts.c, src/conflicts.h:
+       * src/derives.c, src/derives.h, src/files.c, src/files.h:
+       * src/flex-scanner.h, src/getargs.c, src/getargs.h:
+       * src/gram.c, src/gram.h, src/graphviz.c, src/ielr.c:
+       * src/ielr.h, src/lalr.c, src/lalr.h, src/local.mk:
+       * src/location.c, src/location.h, src/main.c:
+       * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c:
+       * src/named-ref.h, src/nullable.c, src/nullable.h:
+       * src/output.c, src/output.h, src/parse-gram.y:
+       * src/print-xml.c, src/print-xml.h, src/print.c, src/print.h:
+       * src/print_graph.c, src/print_graph.h, src/reader.c:
+       * src/reader.h, src/reduce.c, src/reduce.h, src/relation.c:
+       * src/relation.h, src/scan-code.h, src/scan-code.l:
+       * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h:
+       * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c:
+       * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h:
+       * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h:
+       * tests/actions.at, tests/atlocal.in, tests/c++.at:
+       * tests/calc.at, tests/conflicts.at, tests/cxx-type.at:
+       * tests/existing.at, tests/glr-regression.at:
+       * tests/headers.at, tests/input.at, tests/java.at:
+       * tests/local.at, tests/local.mk, tests/named-refs.at:
+       * tests/output.at, tests/push.at, tests/reduce.at:
+       * tests/regression.at, tests/sets.at, tests/skeletons.at:
+       * tests/synclines.at, tests/testsuite.at, tests/torture.at:
+       Don't use date ranges in copyright notices.
+
+2010-05-11  Akim Demaille  <demaille@gostai.com>
+
+       lalrl1.cc: give a chance to user defined YYLLOC_DEFAULT.
+       * data/lalr1.cc (YYLLOC_DEFAULT): Move its definition from the
+       header file to the implementation file, after the user %code
+       sections.
+       * NEWS (2.5): Document this.
+
+2010-05-11  Akim Demaille  <demaille@gostai.com>
+
+       doc: please Emacs.
+       * doc/bison.texinfo (Local Variables): Move this after the
+       LocalWords, since the latter are looked for in the whole document,
+       while the former are looked for only at its end.
+       Require american spell checking.
+
+2010-05-10  Akim Demaille  <demaille@gostai.com>
+
+       doc: fix lalr1.cc documentation.
+       * doc/bison.texinfo (C++ Scanner Interface): Fix yylex signature.
+       (C++ Bison Interface): Fix lalr1.cc skeleton name.
+       (C++ Parser Interface): Fix semantic_type and location_type names.
+       Document yy::parser::token.
+       Reported by Jerry Quinn.
+
+2010-05-10  Akim Demaille  <demaille@gostai.com>
+
+       c++: use YYRHSLOC.
+       * data/lalr1.cc (YYRHSLOC): New.
+       (YYLLOC_DEFAULT): Use it.
+       * data/glr.cc: If location_type was user defined, do not include
+       location.hh, and do not produce location.hh and position.hh.
+       * tests/calc.at (YYLLOC_DEFAULT): Use YYRHSLOC.
+       Check that glr.cc supports user defined location_type.
+       * NEWS: Document this.
+
+2010-05-07  Akim Demaille  <demaille@gostai.com>
+
+       doc: fix typo.
+       * tests/synclines.at: here.
+
+2010-05-04  Akim Demaille  <demaille@gostai.com>
+
+       tests: enhance AT_SYNCLINES_COMPILE.
+       * tests/synclines.at (AT_SYNCLINES_COMPILE): More distcc patterns.
+       (AT_TEST_SYNCLINE): Remove GCC 4.5 protection which is already
+       taken care of in AT_SYNCLINES_COMPILE.
+
+2010-05-04  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: don't generate location.hh when location_type is defined
+       * data/bison.m4 (b4_percent_define_get): Accept a default value.
+       * data/c++.m4: Do not provide a default value for the %define
+       variable location_type, rather, use b4_percent_define_get with a
+       default argument where its value is needed.
+       * data/lalr1.cc: Do not load location.cc (which outputs both
+       location.hh and position.hh) if the user defined location_type.
+       Do not include location.hh either.
+
+2010-05-04  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: minor refactoring.
+       * data/lalr1.cc: Don't issue empty namespaces.
+
+2010-05-04  Akim Demaille  <demaille@gostai.com>
+
+       tests: fix %printer.
+       Currently, there is no check that %printer ... <foo> (nor
+       %destructor) is about an existing <foo> type.  This C++ test had
+       it wrong (<::std::string> vs. <std::string>).
+
+       * tests/c++.at (AT_CHECK_VARIANTS): In list.yy, redefine the
+       pretty-printing of lists into something better for parser traces.
+       Update the expected output.
+       Fix correspondance between %type/%token and %printer.
+
+2010-05-04  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: location_type: make sure we don't depend on loc.(begin|end).
+       * tests/calc.at (Span): Instead of begin/end, as in the built-in
+       location class, use first and last.
+       Define YYLLOC_DEFAULT to adjust to these changes.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Adjust to the
+       location_type changes.
+
+2010-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       tests: fix maintainer-xml-check.
+       * data/xslt/xml2dot.xsl (xsl:template match="bison-xml-report"):
+       Update output to include comments now produced by --graph.
+       (xsl:template match="automaton"): As for --graph, name the
+       digraph after the grammar file.
+       * src/print-xml.c (escape_bufs): Enlarge array.
+       (print_xml): Add bug-report and url attributes to
+       bison-xml-report element.
+
+2010-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       In DOT output, convert from "/*" comments to "//" comments.
+       This handles the possibility that a "*/" might appear in
+       variable portions of those comments at some point in the future.
+       * src/graphviz.c (start_graph): Implement.
+
+2010-04-30  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Document that undefined %prec identifier warnings will remain.
+       * NEWS (2.4.3): Here.
+       (2.4.2): Here.
+
+2010-04-30  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Revert 2009-12-30 change for undefined %prec token complaints.
+       That is, keep them as warnings because that should be sufficient
+       to satisfy POSIX without creating backward compatibility issues.
+       Suggested by Richard Stallman at
+       <http://lists.gnu.org/archive/html/bison-patches/2010-03/msg00033.html>.
+       * NEWS (2.5): Remove mention of complaint.
+       * src/reader.c (grammar_rule_check): Convert complaint back to
+       warning.
+       * tests/input.at (%prec's token must be defined): Update.
+
+2010-04-25  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       build: don't require src/bison during bootstrap.
+       Suggested by Eric Blake at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00003.html>.
+       * bootstrap.conf (bootstrap_epilogue): New function to make sure
+       src/parse-gram.[ch] are stamped later than src/parse-gram.y.
+
+2010-04-25  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       i18n: fix untranslatable string.
+       Reported by Goran Uddeborg at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00000.html>.
+       * src/muscle-tab.c (muscle_percent_define_insert): Here.
+
+2010-04-13  Akim Demaille  <demaille@gostai.com>
+
+       tests: calc: minor refactoring.
+       * tests/calc.at (_AT_DATA_CALC_Y): Simplify yylex.
+
+2010-04-13  Akim Demaille  <demaille@gostai.com>
+
+       tests: calc: simplify location management.
+       * tests/local.at (AT_LOC_PUSHDEF, AT_LOC_POPDEF): New.
+       (_AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS): Use them to
+       define the appropriate AT_LOC accessors.
+       * tests/calc.at: Use AT_LOC accessors.
+
+2010-04-13  Akim Demaille  <demaille@gostai.com>
+
+       test location_type.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS):
+       Define AT_LOCATION_TYPE_IF.
+       (_AT_BISON_OPTION_POPDEFS): Undefine AT_LOCATION_TYPE_IF.
+       * tests/calc.at (_AT_DATA_CALC_Y): When %define location_type is
+       used, provide a user location type and use it.
+       (Simple LALR1 C++ Calculator): Add a test case for location_type.
+
+2010-04-13  Akim Demaille  <demaille@gostai.com>
+
+       tests: check fclose's return value.
+       * tests/calc.at (_AT_DATA_CALC_Y): Check fclose's return status.
+
+2010-04-13  Akim Demaille  <demaille@gostai.com>
+
+       tests: don't depend on the actual location type.
+       * tests/calc.at: Use yy::parser::location_type rather than
+       yy::location, since the former is always right, and might point to
+       another type than the latter.
+
+2010-04-13  Akim Demaille  <demaille@gostai.com>
+
+       formatting changes.
+       * tests/calc.at: Formatting changes.
+
+2010-04-13  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: remove useless forward declaration.
+       * data/lalr1.cc: Include location.hh before stack.hh.
+       Remove the useless forward declarations of position and location.
+       Reported by Chris Morley.
+       * data/glr.cc: Likewise.
+
+2010-04-11  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * NEWS (2.4.3): Mention fix for Sun Studio C++.
+
+2010-04-10  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       tests: fix for newer Sun Studio C++.
+       Reported by Dagobert Michelsen at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00023.html>.
+       * THANKS (Dagobert Michelsen): Add.
+       * configure.ac (AC_PREREQ): Set to 2.64 so we get the latest
+       Autoconf macro for handling the restrict keyword.
+       * gnulib: Update to latest, which no longer overrides that macro
+       from Autoconf.
+
+2010-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       portability: fix pointer arithmetic to conform to C standard.
+       Reported by Tys Lefering at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00035.html>.
+       This fix is already implemented in glr.c and does not apply to
+       lalr1.java.
+       * data/lalr1.cc (yy::parser::parse): Increase size of
+       yyerror_range and adjust subscripting so you don't have to
+       subtract one from the beginning of the array.
+       * data/yacc.c (b4_declare_parser_state_variables,
+       yyparse, yypush_parse): Likewise.
+
+2010-04-05  Akim Demaille  <demaille@gostai.com>
+
+       remove useless include.
+       * src/graphviz.h: Don't include stdbool.h.
+
+2010-04-05  Akim Demaille  <demaille@gostai.com>
+
+       graph: sign the output file.
+       * src/graphviz.c (start_graph): Issue comments about Bison.
+       Suggested by Tys Lefering.
+
+2010-03-31  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       portability: fix test suite for GCC 4.5's new #error message.
+       Reported by Tys Lefering at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00030.html>.
+       * NEWS (2.4.3): Mention.
+       * tests/synclines.at (AT_TEST_SYNCLINE): Implement.
+
+2010-03-30  Akim Demaille  <demaille@gostai.com>
+
+       fix comments.
+       * src/graphviz.h: Add missing license notice.
+       Document.
+
+2010-03-25  Akim Demaille  <demaille@gostai.com>
+
+       tests: fix 250: parse.error=verbose overflow.
+       * tests/regression.at (parse.error=verbose overflow): Avoid the
+       double inclusion of stdlib.h as it triggers hard errors.
+
+2010-03-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       portability: fix for BSD make.
+       Reported by Johan van Selst at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00016.html>.
+       * tests/local.mk ($(TESTSUITE)): Qualify package.m4 in
+       this dependency list as in package.m4's target rule.
+
+2010-03-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       portability: fix spawning on at least FreeBSD 8 and FreeBSD 9.
+       Reported by Johan van Selst at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00014.html>.
+       * NEWS (2.4.3): New.
+       * THANKS (Johan van Selst): Add.
+       * etc/prefix-gnulib-mk (prefix): Adjust regex for makefile
+       targets so that gnulib's new c++defs.h is matched.
+       * gnulib: Update to latest.
+
+2010-03-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       maint: update for changes to gnulib's announce-gen.
+       * HACKING (Announce): RELEASE_TYPE=major must now be written
+       RELEASE_TYPE=stable.
+
+2010-03-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Version 2.4.2.
+       * NEWS (2.4.2): Set version and date.  For the recent test suite
+       portability fixes, don't be so optimistic about their success
+       given the lack of feedback on the affected platforms.
+
+2010-02-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       tests: fix maintainer-xml-check for recent changes.
+       * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Use
+       AT_BISON_CHECK_NO_XML rather than AT_BISON_CHECK because an
+       output file whose name conflicts with a previous output file
+       is now never generated.
+
+2010-02-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       portability: fix several issues with M4 subprocess.
+
+       M4's output pipe was not being drained upon fatal errors during
+       scan_skel.  As a result, broken-pipe messages from M4 were seen
+       on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a
+       failure in the test suite.  The problem was that, on platforms
+       where the default disposition for SIGPIPE is ignore instead of
+       terminate, M4 sometimes saw fwrite fail with errno=EPIPE and
+       then reported it.  However, there's some sort of race condition,
+       because the new test group occasionally succeeded.
+       Reported by Albert Chin at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-02/msg00004.html>.
+
+       There were also problems with the test suite livelocking on
+       Tru64 5.1b.  Reported by Didier Godefroy at
+       <http://lists.gnu.org/archive/html/bug-bison/2009-05/msg00005.html>.
+       Switching to create_pipe_bidi suggested by Akim Demaille.
+
+       To attempt to solve both of these problems, switch to gnulib's
+       create_pipe_bidi and register M4 process as a slave.  Along the
+       way, clean up file name conflict handling, which was affected by
+       the broken-pipe problem before the switch.
+       * NEWS (2.4.2): Document.
+       * THANKS (Didier Godefroy): Add.
+       * bootstrap.conf (gnulib_modules): Add pipe.
+       * gnulib: Update to latest to make sure we have all the latest
+       fixes.
+       * lib/local.mk (lib_libbison_a_SOURCES): Remove subpipe.h and
+       subpipe.c.
+       * po/POTFILES.in (lib/subpipe.c): Remove.
+       * src/files.c (compute_output_file_names): Update invocations
+       of output_file_name_check.
+       (output_file_name_check): In the case that the grammar file
+       would be overwritten, use complain instead of fatal, but replace
+       the output file name with /dev/null.  Use the /dev/null solution
+       for the case of two conflicting output files as well because it
+       seems safer in case Bison one day tries to open both files at
+       the same time.
+       * src/files.h (output_file_name_check): Update prototype.
+       * src/output.c (output_skeleton): Use create_pipe_bidi and
+       wait_subprocess.  Assert that scan_skel completely drains the
+       pipe.
+       * src/scan-skel.l (at_directive_perform): Update
+       output_file_name_check invocation.
+       * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Check that the
+       grammar file actually isn't overwritten.
+       (Conflicting output files: -o foo.y): Update expected output.
+       * tests/skeletons.at (Fatal errors but M4 continues producing
+       output): New test group.
+
+2010-02-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update POTFILES.
+       * HACKING (Release Procedure): Add reminder about keeping
+       POTFILES files up-to-date.
+       * po/POTFILES.in (src/muscle-tab.c, src/scan-skel.l): Add.
+
+2010-02-01  Joel E. Denny  <jdenny@clemson.edu>
+
+       Code cleanup.
+       * tests/atlocal.in (abs_top_srcdir): Remove shell variable,
+       which is already defined in atconfig.
+
+2010-01-22  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: fix missing include caught by g++ 4.4.1.
+       Reported by Tys Lefering.
+       * HACKING (Release checks): Add note about trying a recent GCC.
+       * tests/regression.at (_AT_DATA_DANCER_Y): For C++, include
+       cstdlib for abort.
+       (_AT_DATA_EXPECT2_Y): Likewise.
+
+2010-01-21  Joel E. Denny  <jdenny@clemson.edu>
+
+       * cfg.mk (gnulib_dir): Assume gnulib is a subdirectory.
+
+2010-01-21  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: automate PACKAGE_COPYRIGHT_YEAR update, and update it.
+       * HACKING (Release Procedure): Update notes on copyright years.
+       * Makefile.am (update-package-copyright-year): New target rule.
+       * build-aux/update-package-copyright-year: New file.
+       * cfg.mk (update-copyright): Add update-package-copyright-year
+       as a dependency.
+
+2010-01-19  Joel E. Denny  <jdenny@clemson.edu>
+
+       * bootstrap: Import improvements from latest gnulib.
+
+2010-01-19  Joel E. Denny  <jdenny@clemson.edu>
+
+       build: require Automake 1.11.1 to avoid a security flaw.
+       * HACKING (Release Procedure): Don't document Automake security
+       flaw here.
+       * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1, and explain
+       why here.
+
+2010-01-19  Joel E. Denny  <jdenny@clemson.edu>
+
+       gnulib: update to latest.
+
+2010-01-19  Joel E. Denny  <jdenny@clemson.edu>
+
+       ChangeLog (2006-09-15): add Odd Arild Olsen's role for push.c.
+
+2010-01-15  Joel E. Denny  <jdenny@clemson.edu>
+
+       Thank the developer of the initial push parser implementation.
+       This unfortunate oversight is several years old.
+       * THANKS (Odd Arild Olsen): Add.
+
+2010-01-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix some comments concerning LR(0) versus LALR(1).
+
+       Stop equating LR(0) with nondeterminism and LALR(1) with
+       determinism.  That is, if all states are consistent, then LR(0)
+       tables are deterministic.  On the other hand, LALR(1) tables
+       might be nondeterministic before conflict resolution, and GLR
+       permits LALR(1) tables to remain nondeterministic.
+       * src/LR0.c, src/LR0.h: Here.
+       * src/lalr.c, src/lalr.h: Here.
+       * src/main.c (main): Here.
+       * src/state.c, src/state.h: Here.
+
+       * src/ielr.h (ielr): In preconditions, expect LR(0) not LALR(1)
+       parser tables.
+
+2010-01-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: run "make update-copyright"
+
+2009-12-30  Joel E. Denny  <jdenny@clemson.edu>
+
+       POSIX: complain if %prec's token was not defined.
+       * NEWS (2.5): Document.
+       * src/reader.c (grammar_rule_check): Convert warning to
+       complaint.
+       * tests/input.at (%prec's token must be defined): Update.
+
+2009-12-30  Joel E. Denny  <jdenny@clemson.edu>
+
+       POSIX: warn if %prec's token was not defined.
+       Reported by Florian Krohm at
+       <http://lists.gnu.org/archive/html/bug-bison/2009-12/msg00005.html>.
+       * NEWS (2.4.2): Document.
+       * src/reader.c (grammar_rule_check): Implement.
+       (grammar_current_rule_prec_set): Add comments explaining that we
+       here assume a %prec identifier is a token, but we still manage
+       to support POSIX.
+       * tests/input.at (%prec's token must be defined): New test
+       group.
+
+2009-12-31  Joel E. Denny  <jdenny@clemson.edu>
+
+       * HACKING (Release Procedure): Recommend a secure automake.
+
+2009-12-29  Joel E. Denny  <jdenny@clemson.edu>
+
+       portability: `<' and `>' are not always defined on addresses.
+       Specifically, don't sort objects by their memory addresses when
+       they're not allocated in the same array or other object.  Though
+       I haven't found a test case where that fails on my platform, C
+       says the behavior is undefined.
+       * src/AnnotationList.c (AnnotationList__insertInto): Remove
+       FIXME.  Use new id field of InadequacyList nodes rather than
+       their memory addresses when sorting.
+       (AnnotationList__compute_from_inadequacies): Add
+       inadequacy_list_node_count argument to pass to
+       InadequacyList__new_conflict.
+       * src/AnnotationList.h
+       (AnnotationList__compute_from_inadequacies): Update prototype
+       and documentation for new argument.
+       * src/InadequacyList.c (InadequacyList__new_conflict): Add
+       node_count argument and use it to assign a unique ID.
+       * src/InadequacyList.h (InadequacyListNodeCount): New typedef.
+       (InadequacyList): Add id field.
+       (InadequacyList__new_conflict): Update prototype and
+       documentation for new argument.
+       * src/ielr.c (ielr_compute_annotation_lists): Update
+       AnnotationList__compute_from_inadequacies invocation.
+
+2009-12-20  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix handling of yychar manipulation in user semantic actions.
+       The problem was that yacc.c didn't always update the yychar
+       translation afterwards.  However, other skeletons appear to be
+       fine.  glr.c appears to already translate yychar before every
+       use.  lalr1.cc does not define yychar and does not document its
+       replacement, yyla, for users.  It does provide yyclearin, but
+       that does not manipulate yyla and thus requires no translation
+       update.  In lalr1.java, yychar is out of scope during semantic
+       actions.
+       * NEWS (2.5): Document.
+       * data/yacc.c (YYBACKUP): Don't bother translating yychar into
+       yytoken here.
+       (yyparse, yypush_parse): Instead, translate before every use of
+       yytoken, and add comments explaining this approach.
+       * tests/actions.at (Destroying lookahead assigned by semantic
+       action): New test group checking that translation happens before
+       lookahead destructor calls at parser return.  Previously,
+       incorrect destructors were called.
+       * tests/conflicts.at (parse.error=verbose and consistent
+       errors): New test group checking that translation happens at
+       syntax error detection before the associated verbose error
+       message and the associated lookahead destructor calls.  While
+       the destructor call is fixed by this patch, the verbose error
+       message is currently incorrect due to another bug (see
+       comments in test group), so this is an expected failure for now.
+
+2009-12-21  Joel E. Denny  <jdenny@clemson.edu>
+
+       YYFAIL: warn about uses and remove from lalr1.java.
+       * NEWS (2.5): Document.
+       * data/lalr1.java (YYParser::YYFAIL): Rename to YYERRLAB,
+       and make it private.  Update all uses.
+       * src/scan-code.l (SC_RULE_ACTION): Implement warning.
+
+2009-12-21  Joel E. Denny  <jdenny@clemson.edu>
+
+       YYFAIL: deprecate.
+       * NEWS (2.4.2): Document deprecation and the phase-out plan.
+       * data/lalr1.java (YYParser::YYFAIL): Add comment about
+       deprecation.
+       * data/yacc.c (YYFAIL): Likewise, and suppress warnings about
+       YYFAIL from GCC cpp's -Wunused-macros.
+       * doc/bison.texinfo (Java Action Features): Remove YYFAIL
+       documentation.
+       (LocalWords): Remove YYFAIL.
+
+2009-12-20  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: cleanup.
+       * tests/c++.at (Syntax error discarding no lookahead): Don't
+       ignore stderr.  Instead, eliminate remaining warnings.
+
+2009-12-18  Joel E. Denny  <jdenny@clemson.edu>
+
+       lalr1.cc: don't discard non-existent lookahead on syntax error.
+       * data/lalr1.cc (yy::parser::parse): Check yyempty first.
+       * tests/c++.at (Syntax error discarding no lookahead): New test
+       group.
+
+2009-12-17  Joel E. Denny  <jdenny@clemson.edu>
+
+       Code cleanup.
+       * src/symtab.c, src/symtab.h (symbol_class_get_string): Remove
+       function, which is no longer used.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       Add gcc's -Wundef to test suite and fix another warning from it.
+       * NEWS (2.4.2): Update description of -Wundef fix.
+       * configure.ac (WARN_CXXFLAGS_TEST): New substitution.
+       (WARN_CFLAGS_TEST): New substitution.
+       * data/glr.c: Avoid warning about __STRICT_ANSI__.
+       * tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of
+       WARN_CFLAGS.
+       (NO_WERROR_CFLAGS): Likewise.
+       (CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       * data/yacc.c: Reformat m4 a little.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       Document gcc -Wundef fix.
+       * NEWS (2.4.2): Here.
+       * THANKS (Jonathan Nieder): Add.
+
+2009-12-15  Jonathan Nieder  <jrnieder@gmail.com>  (tiny change)
+
+       Simplify y.tab.c when location tracking is disabled.
+       * data/yacc.c: Do not check YYLTYPE_IS_TRIVIAL if location
+       tracking is not enabled.  Instead, unconditionally define
+       YY_LOCATION_PRINT as a no-op for backward compatibility.
+
+2009-12-15  Jonathan Nieder  <jrnieder@gmail.com>  (tiny change)
+
+       Avoid warnings from gcc -Wundef y.tab.c.
+       * data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are
+       defined before using them.
+       * data/lalr1.cc: Likewise.
+       * data/yacc.c: Likewise.
+
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+       autoconf: update to latest for fix of M4 detection.
+       Reported by Eric Blake.
+       * submodules/autoconf: Update.
+
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+       portability: use -DGNULIB_POSIXCHECK.
+       Reported by Eric Blake.  See discussions at
+       <http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html>
+       and
+       <http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>.
+       * HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK.
+       * bootstrap.conf (gnulib_modules): Add all the printf modules
+       suggested by -DGNULIB_POSIXCHECK.  Add realloc-posix as
+       suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c.
+       (excluded_files): Remove m4/printf-posix.m4.
+       * tests/atlocal.in (LIBS): As for LDADD in src/local.mk, add
+       lib/libbison.a so gnulib libraries can be linked.
+
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+       gnulib: update for fix of fprintf-posix, which we'll use soon.
+       * etc/prefix-gnulib-mk (prefix): Adjust regex for make file
+       targets so that gnulib's new arg-nonnull.h and link-warning.h
+       are matched.
+       * gnulib: Update.
+
+2009-12-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       Enable assertion output and --disable-assert for configure.
+       * bootstrap.conf (gnulib_modules): Add assert module.
+       * src/system.h (aver): Define as assert, and summarize the
+       discussion on this issue.
+
+2009-12-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       Expand GLR acronym in summary of Bison.
+       Based on discussion with Akim Demaille starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>.
+       * doc/bison.texinfo (Introduction): Here.
+       * src/getargs.c (usage): Here.
+
+2009-10-03  Alex Rozenman  <rozenman@gmail.com>
+
+       Document named references.
+       * doc/bison.texinfo (Actions): Add new example and xref to
+       Using Named References node.
+       (Using Named References): New node.
+
+2009-10-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       cleanup.
+       * src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
+       of char*.
+       (Sbitset__isEmpty): Use Sbitset instead of char*.
+       * src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
+       instead of char.  This helps to avoid casting errors.
+       (Sbitset__or): Use Sbitset instead of char*.
+
+2009-10-16  Joel E. Denny  <jdenny@clemson.edu>
+
+       portability: don't assume 8-bit bytes.
+       That is, use CHAR_BIT and UCHAR_MAX instead of 8 and 0xff.
+       * src/Sbitset.h (Sbitset__nbytes): Here.
+       (Sbitset__byteAddress): Here.
+       (Sbitset__bit_mask): Here.
+       (Sbitset__last_byte_mask): Here.
+       (Sbitset__ones): Here.
+       (SBITSET__FOR_EACH): Here.
+
+2009-10-11  Joel E. Denny  <jdenny@clemson.edu>
+
+       portability: use va_start and va_end in the same function.
+       * src/complain.c (error_message): Move va_end from here...
+       (ERROR_MESSAGE): ... to here.
+
+2009-10-08  Joel E. Denny  <jdenny@clemson.edu>
+
+       * data/bison.m4: Update comments for rename to muscle-tab.h.
+
+2009-10-07  Joel E. Denny  <jdenny@clemson.edu>
+
+       Minor code cleanup.
+       * src/muscle-tab.c (MUSCLE_USER_NAME_CONVERT): Remove macro and
+       replace all uses with UNIQSTR_CONCAT.
+       * src/uniqstr.c (uniqstr_vsprintf): New function.
+       * src/uniqstr.h (uniqstr_vsprintf): Add prototype.
+       (UNIQSTR_CONCAT, UNIQSTR_GEN_FORMAT, UNIQSTR_GEN_FORMAT_): New
+       macros.
+
+2009-10-06  Joel E. Denny  <jdenny@clemson.edu>
+
+       * TODO (Complaint submessage indentation): New.
+
+2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       Minor code cleanup.
+       * src/parse-gram.y: Clean up sorting of declarations.
+       Use types to simplify %printer declarations where possible.
+       Provide %printer for BRACKETED_ID and symbol.prec.
+       * src/symtab.c: Whitespace change.
+
+2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: skip tests of file names that platform does not support.
+       Reported by Michael Raskin at
+       <http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
+       * THANKS (Michael Raskin): Add.
+       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
+       to fail at least for file names containing ":" or "\".
+
+2009-09-23  Joel E. Denny  <jdenny@clemson.edu>
+
+       yysyntax_error: avoid duplicate lookahead collection.
+       Except when memory reallocation is required, this change
+       eliminates the need to invoke yysyntax_error twice and thus to
+       repeat the collection of lookaheads.  It also prepares for
+       future extensions that will make those repetitions more
+       expensive and that will require additional memory management in
+       yysyntax_error.  Finally, it fixes an obscure bug already
+       exercised in the test suite.
+       * data/yacc.c (yysyntax_error): Add arguments for message
+       buffer variables stored in the parser.  Instead of size, return
+       status similar to yyparse status but indicating success of
+       message creation.  Other than the actual reallocation of the
+       message buffer, import and clean up memory management code
+       from...
+       (yyparse, yypush_parse): ... here.
+       * tests/regression.at (parse.error=verbose overflow): No longer
+       an expected failure.
+
+2009-09-23  Joel E. Denny  <jdenny@clemson.edu>
+
+       yysyntax_error: test memory management more.
+       * tests/atlocal.in (NO_WERROR_CFLAGS): New cpp macro.
+       * tests/regression.at (parse.error=verbose and
+       YYSTACK_USE_ALLOCA): New test group.
+       (parse.error=verbose overflow): New test group that reveals an
+       obscure bug.  Expected fail for now.
+
+2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       benchmarks: use %debug consistently among grammars.
+       * etc/bench.pl.in (generate_grammar_triangular): Do not activate
+       %debug by default.  It can affect the timings even if yydebug=0.
+       (generate_grammar_calc): For consistency with other grammars,
+       use YYDEBUG environment variable to set yydebug.
+
+2009-10-03  Joel E. Denny  <jdenny@clemson.edu>
+
+       Remove dead code.
+       * src/symtab.c (symbol_pack): Here because every symbol's number
+       is always defined by this time.
+
+2009-10-03  Alex Rozenman  <rozenman@gmail.com>
+
+       Add additional space after periods in NEWS.
+       * NEWS (2.5): here.
+
+2009-09-29  Joel E. Denny  <jdenny@clemson.edu>
+
+       Use the correct conversion specifier for size_t.
+       Reported by Jim Meyering.
+       * src/Sbitset.h (SBITSET__INDEX__CONVERSION_SPEC): New, "zu"
+       because Sbitset__Index is size_t.
+       * src/Sbitset.c (Sbitset__fprint): Use it instead of %d.
+
+2009-09-27  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: don't abuse AT_BISON_CHECK.
+       * tests/regression.at (parse-gram.y: LALR = IELR): Move
+       additional shell commands outside of AT_BISON_CHECK.
+
+2009-09-26  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: check that parse-gram.y's IELR and LALR are identical.
+       * tests/atlocal.in (abs_top_srcdir): New shell variable.
+       * tests/regression.at (parse-gram.y: LALR = IELR): New test
+       group.
+
+2009-09-19  Alex Rozenman  <rozenman@gmail.com>
+
+       Keep sub-messages aligned. Fix strings for translation.
+       * src/location.h (location_print): Add return value.
+       * src/location.c (location_print): Return number of printed
+       characters.
+       * src/complain.h (complain_at_indent, warn_at_indent): Prototype
+       new functions.
+       * src/complain.cpp (indent_ptr): New static variable.
+       (error_message, complain_at_indent, warn_at_indent): Implement
+       the alignment mechanism.
+       * src/scan-code.l (parse_ref, show_sub_messages): Fix strings
+       for translations. Use new alignment mechanism.
+       * tests/named-ref.at: Adjust test-cases.
+       * NEWS (2.5): Add an announcement about named references.
+
+2009-09-17  Akim Demaille  <demaille@gostai.com>
+
+       doc: fixes.
+       * doc/bison.texinfo: here.
+       Reported by Alex Rozenman.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       doc: lalr1.cc and variants.
+       * doc/bison.texinfo (Decl Summary): Document the "lex_symbol" and
+       "variant" %define variables.
+       (C++ Semantic Values): Split into...
+       (C++ Unions, C++ Variants): these.
+       The latter is new.
+       (C++ Parser Interface): Fix type names.
+       Document parser::syntax_error.
+       Document the fact that locations are not mandatory.
+       (C++ Scanner Interface): Split into...
+       (Split Symbols, Complete Symbols): these.
+       The later is new.
+       (Calc++ Parsing Driver): Use variants.
+       Add more comments.
+       Adjust style.
+       (Calc++ Parser): Declare all the tokens, no
+       longer accept raw characters.
+       Remove %union.
+       Adjust types and printers.
+       Remove destructors.
+       (Calc++ Scanner): Use make_<SYMBOL> functions.
+       Use strerror in error message.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       doc: spell checking.
+       * doc/bison.texinfo: here.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       doc: comment changes.
+       * doc/bison.texinfo: Comment changes.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: factor the yytranslate_ invocation in make_SYMBOLS.
+       * data/c++.m4, data/lalr1.cc (parser::symbol_type): Change the
+       constructor to take a token_type instead of the (internal) symbol
+       number.
+       Call yytranslate_.
+       * data/variant.hh (b4_symbol_constructor_define_): Therefore,
+       don't call yytranslate_ here.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+       TODO: statistics.
+       * TODO (Figures): New.
+
+2009-09-13  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: clean up push.at test group titles.
+       * tests/push.at: Remove "Push Parsing: " from test group titles
+       because these are already under the banner "Push Parsing Tests".
+
+2009-09-12  Alex Rozenman  <rozenman@gmail.com>
+
+       Provide an additional sub-message for clarity.
+       Add "symbol not found in production" error message when
+       an "invalid reference" is detected in named references
+       resolution.
+       * src/scan-code.l: Update "invalid reference" case.
+       * tests/named-ref.at: Adjust test-cases.
+
+2009-09-10  Joel E. Denny  <jdenny@clemson.edu>
+
+       Clean up yacc.c a little.
+       * data/yacc.c: Clean up M4 for readability, and make output
+       whitespace more consistent.  For the main parse function
+       comment, instead of saying "yyparse or yypush_parse", say either
+       "yyparse" or "yypush_parse" depending on which it actually is.
+
+2009-09-10  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix --enable-gcc-warnings.
+       * src/parse-gram.y (%printer <param>): Handle param_none.
+
+2009-09-09  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: syntax_error as exceptions.
+       It is common to use sort of factories in the user actions.  These
+       factories may check some "syntactic" constraints that are not
+       enforced by the grammar itself.  This is possible using YYERROR
+       within the action itself.  Provide the user with a means to throw
+       a syntax_error exception.
+
+       * data/c++.m4 (b4_public_types_declare, b4_public_types_define):
+       Declare and define yy::parser::syntax_error.
+       * data/lalr1.cc: Include stdexcept.
+       (yy::parser::parse): Wrap the user action within a try/catch.
+       * data/glr.cc: Include stdexcept.
+
+2009-09-09  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: add missing "inline".
+       * data/c++.m4 (b4_public_types_define): Add missing inline to
+       implementations provided in headers.
+
+2009-09-09  Akim Demaille  <demaille@gostai.com>
+
+       %param: documentation.
+       * NEWS (2.6): Document %param, %lex-param, and %parse-param
+       changes.
+       * doc/bison.texinfo: Document that %lex-param and %parse-param
+       are n-ary.
+       Changes some examples to demonstrate it.
+       (Calc++ Parser): Use %param.
+
+2009-09-09  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+
+2009-09-09  Akim Demaille  <demaille@gostai.com>
+
+       style changes.
+       * src/parse-gram.y (add_param): Scope changes.
+
+2009-09-09  Akim Demaille  <demaille@gostai.com>
+
+       %parse: support several arguments.
+       * src/parse-gram.y (current_param): New.
+       (param_type): Add param_none.
+       (params): New nonterminal.
+       Use it.
+
+2009-09-09  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+
+2009-09-09  Akim Demaille  <demaille@gostai.com>
+
+       %param.
+       Provide a means to factor lex-param and parse-param common
+       declarations.
+
+       * src/parse-gram.y (param_type): New.
+       Define a %printer for it.
+       (add_param): Use it.
+       (%parse-param, %lex-param): Merge into...
+       (%parse): this new token.
+       Adjust the grammar to use it.
+       * src/scan-gram.l (RETURN_VALUE): New.
+       (RETURN_PERCENT_FLAG): Use it.
+       (RETURN_PERCENT_PARAM): New.
+       Use it to support %parse-param, %lex-param and %param.
+
+2009-09-03  Joel E. Denny  <jdenny@clemson.edu>
+
+       Use aver not assert.
+       * src/output.c: Don't include assert.h.
+       (output_skeleton): Use aver not assert.
+       * src/system.h (aver): In documentation of why, add links to
+       Paul Eggert's explanations in the mailing lists.
+
+2009-09-05  Alex Rozenman  <rozenman@gmail.com>
+
+       Use "Unresolved reference" error message when no symbols were found
+       in a symbolic reference resolution. Remove .expr and -expr from
+       the shown reference when the reference is unresolved.
+       * src/scan-code.l: Change the error message, adjust location columns,
+       rename variable "exact_mode" to "explicit_bracketing".
+       * tests/named-ref.at: Adjust existing tests and add a new one.
+
+2009-09-04  Akim Demaille  <demaille@gostai.com>
+
+       Adjust synclines in src/parse-gram.[ch].
+       * tests/bison.in: Do some magic (including working around issues
+       with ylwrap) when this wrapper is used to compile
+       src/parse-gram.y.
+
+2009-09-03  Joel E. Denny  <jdenny@clemson.edu>
+
+       Complain about unused %define variables and %code qualifiers.
+       * NEWS (2.5): Document.
+       * data/bison.m4 (b4_check_user_names): Complain instead of warn.
+       * doc/bison.texinfo (Decl Summary): Document complaint, and
+       improve %define documentation a little otherwise.
+       * tests/input.at (Reject unused %code qualifiers): Update.
+       (%define errors): Update.
+       (%define, --define, --force-define): Update.
+       (%define backward compatibility): Update.
+       (Unused %define api.pure): Update.
+       * tests/push.at (Push Parsing: Unsupported Skeletons): Update.
+
+2009-09-03  Joel E. Denny  <jdenny@clemson.edu>
+
+       Don't suppress warnings about unused parse.error.
+       * data/bison.m4 (b4_error_verbose_flag): Don't examine value of
+       %define variable parse.error unless b4_error_verbose_flag is
+       actually expanded in a skeleton.
+
+2009-09-03  Akim Demaille  <demaille@gostai.com>
+
+       * NEWS (2.4.2): Add "Internationalization" item.
+
+2009-09-03  Akim Demaille  <demaille@gostai.com>
+
+       bootstrap: fix/improve find_tool.
+       * bootstrap (find_tool): Improve error messages.
+       Fix typo about find_tool_names.
+
+2009-08-29  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix gcc 3.4.4 shadowing warning reported by Eric Blake.
+       See
+       <http://lists.gnu.org/archive/html/bison-patches/2009-08/msg00093.html>.
+       * src/scan-code.h (code_props_rule_action_init): Rename
+       named_ref arg to name so it doesn't shadow named_ref type.  This
+       makes it consistent with the function definition in scan-code.l
+       anyway.
+
+2009-08-28  Joel E. Denny  <jdenny@clemson.edu>
+
+       %define: accept unquoted values.
+       * NEWS (2.5): Group all %define changes together, and document
+       this one.  Remove quotes in IELR and canonical LR entry.
+       * doc/bison.texinfo: Remove quotes in most examples throughout.
+       (Decl Summary): Update %define documentation.
+       (Table of Symbols): Likewise.
+       * src/ielr.c (LrType): Update documentation.
+       * src/parse-gram.y (content.opt): Add production for ID.
+       * tests/actions.at: Remove quotes in most tests.
+       * tests/calc.at: Likewise.
+       * tests/existing.at: Likewise.
+       * tests/input.at: Likewise.
+       * tests/local.at: Likewise.
+       * tests/push.at: Likewise.
+       * tests/reduce.at: Likewise.
+       * tests/torture.at: Likewise.
+
+2009-08-28  Joel E. Denny  <jdenny@clemson.edu>
+
+       %define lr.type: make values lowercase IDs.
+       That is, "LALR" => "lalr", "IELR" => "ielr", and
+       "canonical LR" => "canonical-lr".
+       * NEWS (2.5): Update documentation.
+       * doc/bison.texinfo (Decl Summary): Likewise.
+       * src/ielr.c (ielr): Use new values.
+       * src/ielr.h (ielr): Update documentation.
+       * src/reader.c (prepare_percent_define_front_end_variables): Use
+       and validate new values.
+       * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): Update test
+       grammars.
+       * tests/reduce.at (AT_TEST_LR_TYPE): Likewise.
+
+2009-08-27  Eric Blake  <ebb9@byu.net>
+
+       scan-gram: avoid portability trap with ctype usage.
+       * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
+       Avoid compiler warning.
+
+2009-08-27  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: use perl for printing special sequences to files.
+       And skip tests if perl is not available.  This is better than
+       playing tricks with shell portability.  Suggested by Akim
+       Demaille.
+       * tests/input.at (Bad character literals): Use it here for
+       omitting final newlines.
+       (Bad escapes in literals): Use it here for special characters.
+
+2009-08-26  Joel E. Denny  <jdenny@clemson.edu>
+
+       tests: show a use of %define lr.default-reductions "consistent"
+       * tests/conflicts.at (%nonassoc and eof): Extend to test that it
+       prevents the omission of expected tokens for %error-verbose.
+
+2009-08-26  Akim Demaille  <demaille@gostai.com>
+
+       tests: portability fix.
+       * tests/input.at (Bad escapes in literals): Don't expect "echo
+       '\0'" to output \ then 0.
+
+2009-08-26  Joel E. Denny  <jdenny@clemson.edu>
+
+       Actually handle the yytable zero value correctly this time.
+       * data/bison.m4 (b4_integral_parser_tables_map): Don't mention
+       zero values in the YYTABLE comments.
+       * data/glr.c (yytable_value_is_error): Don't check for zero
+       value.
+       * data/lalr1.cc (yy_table_value_is_error_): Likewise.
+       * data/yacc.c (yytable_value_is_error): Likewise.
+       * data/lalr1.java (yy_table_value_is_error_): Likewise.
+       (yysyntax_error): Fix typo in code: use yytable_ not yycheck_.
+       * src/tables.h: In header comments, explain why it's useless to
+       check for a zero value in yytable.
+
+2009-08-25  Joel E. Denny  <jdenny@clemson.edu>
+
+       More fixes related to last two patches.
+       * data/bison.m4 (b4_integral_parser_tables_map): Fix YYTABLE
+       comments: zero indicates syntax error not default action.
+       * data/c.m4 (b4_table_value_equals): Comment that YYID must be
+       defined.
+       * data/glr.c (yyis_pact_ninf): Rename to...
+       (yypact_value_is_default): ... this.
+       (yyisDefaultedState): Update for rename.
+       (yyis_table_ninf): Rename to...
+       (yytable_value_is_error): ... this, and check for value zero
+       besides just YYTABLE_NINF.
+       (yygetLRActions): Check for default value from yypact.  It
+       appears that this check is always performed before this function
+       is invoked, and so adding the check here is probably redundant.
+       However, the code may evolve after this subtlety is forgotten.
+       Also, update for rename to yytable_value_is_error.  Because that
+       macro now checks for zero, a different but equivalent branch of
+       the if-then-else here is evaluated.
+       (yyreportSyntaxError): Update for rename to
+       yytable_value_is_error.  The zero condition was mishandled
+       before.
+       (yyrecoverSyntaxError): Update for renames.  No behavioral
+       changes.
+       * data/lalr1.cc, data/lalr1.java (yy_pact_value_is_default_):
+       New function.
+       (yy_table_value_is_error_): New function.
+       (parse): Use new functions where possible.  No behavioral
+       changes.
+       (yysyntax_error_, yysyntax_error): Use yy_table_value_is_error_.
+       The zero condition was mishandled before.
+       * data/yacc.c (yyis_pact_ninf): Rename to...
+       (yypact_value_is_default): ... this.
+       (yyis_table_ninf): Rename to...
+       (yytable_value_is_error): ... this, and check for value zero
+       besides just YYTABLE_NINF.
+       (yysyntax_error): Update for rename to yytable_value_is_error.
+       The zero condition was mishandled before.
+       (yyparse): Update for renames.  No behavioral changes.
+       * src/tables.h: Improve comments about yypact, yytable, etc.
+       more.  Most importantly, say yytable value of zero means syntax
+       error not default action.
+
+2009-08-25  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix %error-verbose for conflicts resolved by %nonassoc.
+       * NEWS (2.5): Document.
+       * data/glr.c (yyreportSyntaxError): Fix this by checking
+       yyis_table_ninf.
+       * data/yacc.c (yysyntax_error): Likewise.
+       * data/lalr1.cc (yysyntax_error_): Fix this by checking
+       yytable_ninf_.
+       * data/lalr1.java (yysyntax_error): Likewise.
+       * tests/conflicts.at (%nonassoc and eof): Update expected output
+       and remove FIXME.
+
+2009-08-25  Joel E. Denny  <jdenny@clemson.edu>
+
+       Some code and documentation improvements.
+       * data/c.m4 (b4_table_value_equals): New macro to capture
+       some repeated code.
+       * data/glr.c (yyis_pact_ninf): Use it here.
+       (yyis_table_ninf): Likewise.
+       (yyreportSyntaxError): Improve internal comments.
+       * data/yacc.c (yyis_pact_ninf): New macro copied from glr.c.
+       Use it everywhere possible.
+       (yyis_table_ninf): Likewise.
+       (yysyntax_error): Improve internal comments.
+       * data/lalr1.cc (yysyntax_error_): Likewise.
+       * data/lalr1.java (yysyntax_error): Likewise.
+       * src/tables.h: Improve comments about yypact, yytable, etc.
+
+2009-08-21  Joel E. Denny  <jdenny@clemson.edu>
+
+       Use locale when quoting.
+       * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): Use
+       quote rather than implementing quoting here.
+
+2009-08-20  Eric Blake  <ebb9@byu.net>
+
+       Make previous patch more robust.
+       * src/output.c (ARRAY_CARDINALITY): New macro, copied from
+       argmatch.h.
+       (output_skeleton): Use it.
+       Suggested by Akim Demaille.
+
+       Import latest m4/m4.m4.
+       * submodules/autoconf: Update to autoconf 2.64.
+       * configure.ac (M4_GNU_OPTION): New define.
+       * src/output.c (output_skeleton): Use it to resolve FIXME.
+       * NEWS: Mention this.
+
+2009-08-19  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix complaints about escape sequences.
+       Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-08/msg00036.html>.
+       * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER):
+       For a \0 and similar escape sequences meaning the null
+       character, report an invalid escape sequence instead of an
+       invalid null character because the latter does not actually
+       appear in the user's input.
+       In all escape sequence complaints, don't escape the initial
+       backslash, and don't quote when the sequence appears at the end
+       of the complaint line unless there's whitespace that quotearg
+       won't escape.
+       Consistently say "invalid" not "unrecognized".
+       Consistently prefer "empty character literal" over "extra
+       characters in character literal" warning for invalid escape
+       sequences; that is, consistently discard those sequences.
+       * tests/input.at (Bad escapes in literals): New.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       doc: fixes.
+       * doc/bison.texinfo: Fix minor Texinfo errors.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       tests: distcc compliance.
+       * tests/synclines.at (AT_SYNCLINES_COMPILE): Discard distcc's
+       error messages from the output.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       variables: simplify the upgrade of namespace into api.namespace.
+
+       This patch simplifies "variables: rename namespace as
+       api.namespace", commit 67501061076ba46355cfd9f9361c7eed861b389c.
+       Suggested by Joel E. Denny in
+       http://lists.gnu.org/archive/html/bison-patches/2009-07/msg00006.html
+
+       * src/muscle-tab.c (muscle_percent_variable_update): New.
+       (muscle_percent_define_insert): Use it in replacement of the
+       previous tr invocation.
+       Remove variable_tr, no longer needed.
+       * data/bison.m4 (b4_percent_define_copy_, b4_percent_define_copy):
+       Remove.
+       * data/c++.m4: No longer handle namespace -> api.namespace.
+       * tests/input.at (%define backward compatibility): Check that
+       namespace is treated as api.namespace.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       doc: %initial-action to initialize yylloc.
+       Reported by Bill Allombert.
+       * doc/bison.texinfo: Set fill-column to 76.
+       (Location Type): Document the use of %initial-action to initialize
+       yylloc.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: use state_type.
+       * data/lalr1.cc (yysyntax_error_): Use state_type.
+       Move argument names into yy*.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: get rid of yyparse's yystate.
+       yystate and yystack_[0].state are equal, keep only the latter.
+       The former was also used as a temporary variable to compute the
+       post-reduction state.  Move this computation into an auxiliary
+       function.
+
+       * data/glr.c (yyLRgotoState): Fuse variable definition and first
+       assignment.
+       * data/lalr1.cc (yy_lr_goto_state_): New.
+       (yyparse): Use it.
+       Replace remaining uses of yystate by yystate_[0].state.
+       Remove the former.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: destroy $$ when YYERROR is called.
+       * data/lalr1.cc (yyreduce): Compute the resulting state before
+       running the user action so that yylhs is a valid symbol.
+       (yyerrorlab): Since yylhs is complete (it knows its type), we can
+       simply call yy_destroy_ to destroy $$ on YYERROR invocations.
+       * tests/c++.at (AT_CHECK_VARIANTS): Test YYERROR with variants.
+
+2009-08-18  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: update for gnulib's recent update-copyright changes
+       * gnulib: Update.
+       * .x-update-copyright (COPYING): Add as it's no longer implied
+       when .x-update-copyright is present.
+       * cfg.mk (update-copyright-local): Remove, now ignored.
+       (update-copyright): Declare update-b4-copyright as a dependency.
+
+2009-08-17  Akim Demaille  <demaille@gostai.com>
+
+       build: require gettext 0.17.
+
+       Suggested by Bruno Haible.
+       http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00009.html
+       * configure.ac: require gettext 0.17 to ensure compatibility with
+       gnulib.
+
+2009-08-17  Akim Demaille  <demaille@gostai.com>
+
+       build: lower gettext requirements.
+
+       Bison was uselessly requiring the formatstring macros from
+       gettext, which resulted in mo files not being installed on systems
+       that perfectly supported Bison mo files.  Lower the requirement.
+       http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html
+
+       * configure.ac: Require need-ngettext instead of
+       need-formatstring-macros.
+       Reported by Martin Jabocs.
+       Suggested by Bruno Haible.
+       * INSTALL: Restructure.
+       (Internationalization): New.
+
+2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: fix use of copyright year intervals.
+       * gnulib: Update.
+       * bootstrap.conf (gnulib_modules): Update getopt to getopt-gnu
+       as now recommended in gnulib/NEWS.
+       * build-aux/update-b4-copyright: Fix.
+       * cfg.mk (update-copyright-env): Configure update-copyright.
+
+2009-08-13  Joel E. Denny  <jdenny@clemson.edu>
+
+       Make it easier to write deterministic tests.
+       Continues Akim's work from his 2009-06-10 commits.
+       * src/reader.c (check_and_convert_grammar): Don't add any
+       symbols after the first symbols_do invocation.
+       * src/symtab.c (symbols_sorted): New static global.
+       (user_token_number_redeclaration): Update comments.
+       (symbol_from_uniqstr): If a new symbol is being created, assert
+       that symbols_sorted hasn't been allocated yet.
+       (symbols_free): Free symbols_sorted.
+       (symbols_cmp, symbols_cmp_qsort): New functions.
+       (symbols_do): Sort symbol_table into symbols_sorted on first
+       invocation.
+       * tests/input.at (Numbered tokens): Recombine tests now that the
+       output should be deterministic across multiple numbers.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       tests: GCC 4.5 compliance.
+       * tests/synclines.at (AT_SYNCLINES_COMPILE): Adjust to GCC 4.5's
+       messages about #error.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       build: fix the generation of the documentation.
+       Some of our targets use "bison --help", but they can't depend on
+       "bison" itself (to avoid additional requirements on the user), so
+       they used to call "make src/bison" in the commands.  Then
+       concurrent builds may fail: one make might be aiming one of its
+       jobs at compiling src/bison, and another job at generating the man
+       page.  If the latter is faster than the former, then we have two
+       makes that concurrently try to compile src/bison.
+
+       This might also be a more convincing explanation for the failure
+       described in the patch "build: fix paths".
+
+       * Makefile.am (SUFFIXES): Initialize.
+       * build-aux/move-if-change: New, symlink to gnulib's.
+       * build-aux/local.mk: Ship it.
+       * doc/common.x: Remove, merged into...
+       * doc/bison.x: here.
+       * doc/local.mk (doc/bison.help): New.
+       ($(CROSS_OPTIONS_TEXI)): Depend on it.
+       Use src/bison.
+       (.x.1): Replace with...
+       (doc/bison.1): this explicit, simpler, target.
+       (common_dep): Remove, inlined where appropriate.
+       (SUFFIXES, PREPATH): Remove, unused.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       gnulib: improve prefixing.
+       * configure.ac (gl_PREFIXED_LIBOBJS): Don't rename it, rather,
+       change the value of...
+       (gl_LIBOBJS): this.
+       Adjust more variables.
+       * etc/prefix-gnulib-mk (prefix_assignment): Don't rename
+       gl_LIBOBJS.
+       (prefix): Also transform rules whose targets have slashes.
+       Use $prefix liberally.
+       Map @MKDIR_P@ to $(MKDIR_P).
+       Prefix directories that are mkdir'd.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       build: fix paths.
+       When using $(top_builddir) inconsistently, Make (including GNU
+       Make) is sometimes confused.  As a result it may want to build
+       lib/libbison.la and $(top_builddir)/lib/libbison.la (the same
+       file, different names) concurrently, which, amusingly enough,
+       might end with:
+
+         ranlib lib/libbison.a
+         ranlib lib/libbison.a
+         make[2]: *** [lib/libbison.a] Segmentation fault
+
+       on OS X.
+
+       * doc/local.mk, src/local.mk: Do not use $(top_builddir) when not
+       needed.
+
+2009-08-12  Akim Demaille  <demaille@gostai.com>
+
+       distcheck: fix.
+
+       * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp.
+
+2009-08-10  Joel E. Denny  <jdenny@clemson.edu>
+
+       * tests/local.mk (TESTSUITE_AT): Add named-refs.at.
+
+2009-08-10  Joel E. Denny  <jdenny@clemson.edu>
+
+       Miscellaneous code readability improvements.
+
+       * src/reader.c (reader): Move %define front-end variable
+       defaults and checking into...
+       (prepare_percent_define_front_end_variables): ... this new
+       function.
+
+       * src/scan-gram.l (INITIAL): For consistency with string
+       literals, don't store open quote on character literal.  It's
+       discarded before returning anyway.
+       (SC_ESCAPED_CHARACTER): Similarly, don't store close quote.
+       Make length test more readable, and make the character stored
+       for an empty literal more obvious while consistent with the
+       previous behavior.
+
+       * src/symtab.c, src/symtab.h: Rename USER_NUMBER_ALIAS to
+       USER_NUMBER_HAS_STRING_ALIAS throughout.
+       * src/symtab.c (symbol_make_alias): Remove comment from symtab.c
+       that is repeated in symtab.h.  Improve argument names to make it
+       clear which side of the symbol-string alias pair is which.
+       (symbol_check_alias_consistency): Improve local variable names
+       for the same purpose.
+       * src/symtab.h (struct symbol): Make comments about aliases
+       clearer.
+       (symbol_make_alias): Improve comments and argument name.
+       * src/output.c (token_definitions_output): Update for rename to
+       USER_NUMBER_HAS_STRING_ALIAS and improve comments about aliases.
+
+2009-08-08  Alex Rozenman  <rozenman@gmail.com>
+
+       Convert "misleading reference" messages to warnings.
+       * src/scan-code.l: New function 'show_sub_messages', more
+       factoring.
+       * tests/named-ref.at: Adjust tests.
+
+2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: run "make update-copyright"
+
+2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: make update-b4-copyright easier to use
+       * build-aux/update-b4-copyright: In warnings, report line
+       numbers rather than character positions.
+       * cfg.mk (update-copyright-local): Set to update-b4-copyright so
+       that update-copyright runs it.
+       * gnulib: Update.
+
+2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: clean up update-b4-copyright code
+       * build-aux/update-b4-copyright: Do not accept 2-digit
+       UPDATE_COPYRIGHT_YEAR, which was not handled correctly.
+       Don't accept a `[' in a b4_copyright argument.
+       Format code more consistently.
+       Don't assume b4*copyright never occurs.
+
+2009-08-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: automate b4_copyright updates.
+       * Makefile.am (update-b4-copyright): New target rule.
+       * build-aux/local.mk (EXTRA_DIST): Add update-b4-copyright.
+       * build-aux/update-b4-copyright: New.
+       * data/yacc.c: Remove stray characters around b4_copyright
+       invocations.
+
+2009-08-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint: automate annual package-wide copyright-year update.
+       * .x-update-copyright: New.
+       * Makefile.am (EXTRA_DIST): Remove maint.mk.
+       * bootstrap.conf (gnulib_modules): Add maintainer-makefile and
+       update-copyright.  Remove gnumakefile, which is implied by
+       maintainer-makefile.
+       * cfg.mk (bootstrap-tools): Copy from old maint.mk.
+       * gnulib: Update.
+       * maint.mk: Remove, now copied from gnulib.
+       * examples/extexi: Add missing "(C)" in copyright statement so
+       update-copyright can recognize it.
+       * src/LR0.h: Likewise.
+       * src/print.h: Likewise.
+       * src/print_graph.h: Likewise.
+       * src/gram.c: Add missing comma in copyright statement.
+       * src/gram.h: Likewise.
+
+2009-08-04  Joel E. Denny  <jdenny@clemson.edu>
+
+       Fix "make distcheck".
+       * examples/calc++/Makefile.am: Say $(srcdir)/calc.stamp instead
+       of just calc.stamp.
+
+2009-08-01  Joel E. Denny  <jdenny@clemson.edu>
+
+       Pacify "gcc -Wunused" for the input function from Flex.
+       Reported by Alex Rozenman.  This warning shows up with gcc-4.3.0
+       and later.
+       * src/scan-code.l: Add "%option noinput", which I cannot find in
+       the Flex manual, but which Flex has supported since at least as
+       far back as 2.5.4.  However, if any of our developers still use
+       Flex 2.5.4, they'll need to stop configuring with
+       --enable-gcc-warnings because "%option noinput" didn't work
+       correctly until Flex 2.5.6.
+       * src/scan-gram.l: Likewise.
+       * src/scan-skel.l: Likewise.
+
+2009-07-31  Alex Rozenman  <rozenman@gmail.com>
+
+       Fix --enable-gcc-warnings problems.
+       * src/reader.c: Adjust variable names.
+       * src/scan-code.l: Fix prototypes and adjust names.
+       * src/named-ref.c: Remove redundant "if".
+
+2009-07-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix a --enable-gcc-warnings problem.
+       * src/scan-gram.l (SC_ESCAPED_CHARACTER): Actually use length
+       variable.
+
+2009-07-24  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Warn about character literals not of length one.
+       * NEWS (2.5): Document.
+       * src/scan-gram.l (INITIAL): Remove comment that we don't check
+       the length.
+       (SC_ESCAPED_CHARACTER): Warn if length is wrong.
+       * tests/input.at (Bad character literals): New test group.
+
+2009-07-24  Alex Rozenman  <rozenman@gmail.com>
+
+       Fix some memory leaks.
+       * src/named-ref.c: Add a pointer check (named_ref_free).
+       * src/scan-code.l: New function (variant_table_free). Called in
+       code_scanner_free.
+       * src/symlist.c: Call to named_ref_free (symbol_list_free).
+
+2009-07-24  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/lalr.c (state_lookahead_tokens_count): Correct comment.
+
+2009-07-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Some M4 cleanup in the testsuite.
+       Suggested by Eric Blake at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00083.html>.
+       * tests/existing.at (_AT_TEST_EXISTING_GRAMMAR): Do not
+       complicate the code by distinguishing between a missing value
+       and an empty string value for an optional argument.  This fix is
+       allowed by the similar fix in AT_TEST_TABLES_AND_PARSE below.
+       * tests/local.at (_AT_TEST_TABLES_AND_PARSE): Merge into...
+       (AT_TEST_TABLES_AND_PARSE): ... this now that the special
+       arguments are not needed because of the following changes.
+       Fix stale comments.
+       Bison developers should use GNU M4 and should not use
+       POSIXLY_CORRECT when building the test suite, so do not
+       complicate the code by avoiding $10 and above.
+       Do not quote an empty string value for an optional argument, and
+       do not distinguish between a missing value and an empty string
+       value.
+
+2009-07-15  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Revert unnecessary column realignment in --help output.
+       Reported by Akim Demaille at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-06/msg00010.html>.
+       * src/getargs.c (usage): Here.
+
+2009-07-04  Alex Rozenman  <rozenman@gmail.com>
+
+       Alphabetical order in src/local.mk.
+       * src/local.mk: Adjust.
+
+2009-07-04  Alex Rozenman  <rozenman@gmail.com>
+
+       Style changes and factoring.
+       * src/named-ref.h: Add comments.
+       * src/parse-gram.y: Readability and style changes.
+       * src/reader.c: Factoring: assign_named_ref function.
+       * src/scan-code.l: Factoring and style changes. Rename
+       parse_named_ref to parse_ref. Use "c-ctype.h" from gnulib.
+       Use "unsigned" type for variant index. Improve readablity.
+       * src/scan-gram.l: Change error messages and add comments.
+       * src/symlist.h: symbol_list_null: New function decl.
+       * src/symlist.c: symbol_list_null: Implement here.
+       * tests/named-refs.at: Adjust for new error messages.
+
+2009-06-29  Eric Blake  <ebb9@byu.net>
+
+       scan-code: avoid compiler warnings
+       * src/scan-code.l (parse_named_ref): Use correct specifiers.
+
+2009-06-29  Akim Demaille  <demaille@gostai.com>
+
+       build: avoid concurrent extraction of calc++.
+       * examples/calc++/Makefile.am (calc.stamp): New.
+       Depend on it to create the sources of calc++ so that concurrent
+       builds don't launch several "extexi" in parallel.
+       Not only this is inefficient, this also builds incorrect sources
+       with several extractions mixed together.
+
+2009-06-29  Akim Demaille  <demaille@gostai.com>
+
+       parse.error: fix.
+       * data/bison.m4: Move code related to specific variables after the
+       definition of the variable-maintaining macros so that we don't
+       "invoke" b4_percent_define_check_values before it is defined.
+
+2009-06-29  Akim Demaille  <demaille@gostai.com>
+
+       variables: parse.error
+
+       Implement, document, and test the replacement of %error-verbose
+       by %define parse.error "verbose".
+       * data/bison.m4 (b4_error_verbose_if): Reimplement to track the
+       values of the parse.error variable.
+       Make "simple" its default value.
+       Check the valid values.
+       * src/parse-gram.y: Use %define parse.error.
+       (PERCENT_ERROR_VERBOSE): New token.
+       Support it.
+       * src/scan-gram.l: Support %error-verbose.
+
+       * doc/bison.texinfo (Decl Summary): Replace the documentation of
+       %define error-verbose by that of %define parse.error.
+       * NEWS: Document it.
+
+       * tests/actions.at, tests/calc.at: Use parse.error instead of
+       %error-verbose.
+
+2009-06-27  Alex Rozenman  <rozenman@gmail.com>
+
+       Implement support for named symbol references.
+       * src/parse-gram.y: Add new syntax (named_ref.opt).
+       * src/reader.c: Store named refs in symbol lists.
+       * src/reader.h: New argument for symbol_append and
+       action_append functions.
+       * src/scan-code.h: Add new field (named_ref) into
+       code_props data structure. Keeps named ref of midrule
+       actions.
+       * src/scan-code.l: Support for named refs in semantic
+       action code. New function 'parse_named_ref'.
+       * src/scan-gram.l: Support bracketed id.
+       * src/symlist.c: Store named refs in symbol lists.
+       * src/symlist.h: New field in symbol list: named_ref.
+       * src/named-ref.h: New file, a struct for named_ref.
+       * src/named-ref.cp: New file, named_ref_new function.
+       * src/local.mk: Add two new files.
+       * tests/testsuite.at: Include new test group:
+       * tests/named-refs.at: this new file.
+
+2009-06-25  Akim Demaille  <demaille@gostai.com>
+
+       hash: check insertion for memory exhaustion.
+       * src/uniqstr.c (uniqstr_new): New.
+
+2009-06-24  Akim Demaille  <demaille@gostai.com>
+
+       variables: rename namespace as api.namespace.
+       Discussed in
+       http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00033.html
+
+       * data/bison.m4 (b4_percent_define_copy_, b4_percent_define_copy):
+       New.
+       (b4_percent_define_use): New.
+       Use it where applicable.
+       * data/c++.m4: Replace uses of the variable "namespace" by
+       "api.namespace".
+       Default the latter to the former.
+       * doc/bison.texinfo (Decl Summary): Document "namespace" as
+       obsolete.
+       Document api.namespace.
+       Use @samp to document %define uses, keep @code for identifiers.
+       * NEWS: Likewise.
+       * tests/c++.at, tests/input.at: Test api.namespace instead of
+       namespace. (The tests passed with namespace.)
+
+2009-06-11  Akim Demaille  <demaille@gostai.com>
+
+       style changes.
+       * data/xslt/xml2dot.xsl, data/xslt/xml2xhtml.xsl: Space changes.
+       * src/print-xml.c: Style changes.
+       * tests/conflicts.at: Comment changes.
+
+2009-06-11  Akim Demaille  <demaille@gostai.com>
+
+       xml: beware of user strings used to give a %prec to rules.
+       * tests/conflicts.at (%prec with user strings): New.
+       * src/gram.c (grammar_rules_print_xml): Escape the precedence for
+       XML output.
+
+2009-06-11  Akim Demaille  <demaille@gostai.com>
+
+       hash: check insertion for memory exhaustion.
+       * src/muscle-tab.c (muscle_insert, muscle_grow)
+       * src/state.c (state_hash_insert): Check the return value of
+       hash_insert.
+
+2009-06-11  Akim Demaille  <demaille@gostai.com>
+
+       tests: honor TESTSUITEFLAGS in every check target.
+       * tests/local.mk (RUN_TESTSUITE): New.
+       (check-local, installcheck-local, maintainer-check-g++)
+       (maintainer-check-posix, maintainer-check-valgrind): Use it.
+
+2009-06-10  Akim Demaille  <demaille@gostai.com>
+
+       deterministic test suite.
+       Some consistency checks on symbols are performed after all the
+       symbols were read, by an iteration over the symbol table.  This
+       traversal is nondeterministic, which can be a problem for test
+       cases.
+       Avoid this.
+       Addresses another form of nondeterminism reported by Joel E. Denny.
+       http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
+
+       * tests/input.at (Numbered tokens): Split the hexadecimal/decimal
+       test in two.
+       Use different file names for the three tests to make the
+       maintenance easier.
+
+2009-06-10  Akim Demaille  <demaille@gostai.com>
+
+       gnulib: update.
+       * gnulib: Update to latest.
+       * lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
+       * m4/.gitignore: Regen.
+       * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
+       Call xalloc_die on hash_insert failures.
+       Requested by the new __warn_unused_result__ attribute of
+       hash_insert.
+
+2009-06-10  Akim Demaille  <demaille@gostai.com>
+
+       deterministic user-token-number redeclaration errors.
+       Address nondeterminism reported by Joel E. Denny.
+       http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
+
+       * src/uniqstr.h: Comment changes.
+       * src/location.h (boundary_cmp, location_cmp): New.
+       * src/symtab.c (user_token_number_redeclaration): New.
+       (symbol_translation): Use it.
+       * tests/input.at (Numbered tokens): Adjust the expected output.
+
+2009-05-25  Akim Demaille  <demaille@gostai.com>
+
+       build: avoid ignored errors.
+       * doc/local.mk ($(CROSS_OPTIONS_TEXI)): Don't generate ignored
+       errors, they pollute the output.
+
+2009-05-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Convert multiple variable definition warnings to complaints.
+       * NEWS (2.5): Add a new entry for that change.
+       * doc/bison.texinfo (Decl Summary): Update %define entry.
+       (Bison Options): Update -D/--define/-F/--force-define entry.
+       * src/muscle-tab.c (muscle_percent_define_insert): Implement.
+       * src/muscle-tab.h (muscle_percent_define_insert): Update
+       comments.
+       * tests/input.at (`%define errors'): Update.
+       (`%define, --define, --force-define'): Update.
+
+2009-05-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       -F/--force-define and relative %define/-D/--define priorities.
+       * NEWS (2.5): Add documentation to -D/--define entry.
+       * build-aux/cross-options.pl: Hard-code association of
+       --force-define with %define.
+       * doc/bison.texinfo (Decl Summary): In %define entry,
+       cross-reference command-line options.
+       (Bison Options): Add documentation to -D/--define entry.
+       (Option Cross Key): Widen column for --force-define row.
+       * src/getargs.c (usage): Document -F/--force-define.  Realign
+       options in output.
+       (short_options, long_options, getargs): Parse -F/--force-define,
+       and update muscle_percent_define_insert invocations.
+       * src/muscle-tab.h (muscle_percent_define_how): New enum type.
+       (muscle_percent_define_insert): Add argument with that type.
+       * src/muscle-tab.c (muscle_percent_define_insert): Implement
+       -F/--force-define behavior and priorities.
+       (muscle_percent_define_ensure): Update
+       muscle_percent_define_insert invocation.
+       * src/parse-gram.y (prologue_declaration): Update
+       muscle_percent_define_insert invocations.
+       * tests/input.at (`%define, --define'): Rename to...
+       (`%define, --define, --force-define'): ... this and extend.
+
+2009-05-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update some comments to make sense for -D.
+       * data/bison.m4 (b4_check_user_names): In header comments, say
+       "user occurrence" instead of "grammar occurrence".
+       * src/muscle-tab.h (muscle_percent_define_insert): Likewise.
+       (muscle_percent_code_grow): Likewise just for consistency.
+
+2009-05-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/c++.m4 (b4_namespace_close): Simplify slightly.
+
+2009-05-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Handle a trailing `:' in a user-supplied C++ namespace better.
+       * data/c++.m4 (b4_namespace_close): Don't let it be printed
+       among the closing braces here.  This fix might make the
+       generated code easier to debug, but otherwise it should be
+       insignificant because a trailing `:' is a C++ error already.
+
+2009-05-19  Akim Demaille  <demaille@gostai.com>
+
+       remove useless variable.
+       * src/getargs.c (skeleton_arg): Remove now useless variable.
+       Should help the compiler see that this printf-like call is sane.
+
+2009-05-15  Akim Demaille  <demaille@gostai.com>
+
+       Rename token.prefix as api.tokens.prefix.
+       Discussed here.
+       http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00024.html.
+
+       * NEWS, data/bison.m4, data/c.m4, data/java.m4, doc/bison.texinfo,
+       * tests/c++.at, tests/calc.at, tests/java.at, tests/local.at
+       (token.prefix): Rename as...
+       (api.tokens.prefix): this.
+
+2009-05-11  Akim Demaille  <demaille@gostai.com>
+
+       doc: use C++ headers.
+       * doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C
+       headers.
+
+2009-05-11  Akim Demaille  <demaille@gostai.com>
+
+       doc: token.prefix
+       * doc/bison.simple (Decl Summary): Document token.prefix.
+       (Calc++ Parser): Various fixes.
+       Formatting changes.
+       Use token.prefix.
+       Introduce a macro TOKEN to shorten the code and make it more
+       readable.
+       (Calc++ Scanner): Adjust.
+       * NEWS (Variable token.prefix): New.
+
+2009-05-04  Akim Demaille  <demaille@gostai.com>
+
+       bison: catch bad symbol names.
+       * src/scan-gram.l({int}{id}): Report as an invalid identifier.
+       * tests/input.at: Adjust.
+
+2009-05-04  Akim Demaille  <demaille@gostai.com>
+
+       identifiers: dashes are letters.
+       Dashes can now start identifiers (symbols and directives).
+
+       * src/scan-gram.l ({letter}): Add dash.
+       ({id}): Remove it.
+       * tests/input.at (Symbols): Adjust.
+       Remove stray comment.
+       * tests/regression.at (Invalid inputs): Adjust error message.
+       * doc/bison.texinfo (Symbols): Update.
+
+2009-05-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Declare %code to be a permanent feature.
+       * NEWS (2.4.2): Here.
+       * doc/bison.texinfo (Prologue Alternatives): Don't say it's
+       experimental.
+       (Decl Summary): Likewise.
+
+2009-04-30  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Convert underscores to dashes in some %define variable names.
+       For now, just api.push-pull and lr.keep-unreachable-states.
+       Maintain old names for backward compatibility.
+       * NEWS (2.5): Document.
+       * data/c.m4 (b4_identification): Update comment.
+       * data/yacc.c: Update access.
+       * doc/bison.texinfo: Update.
+       * etc/bench.pl.in (bench_push_parser): Update use.
+       * src/files.c (tr): Move to...
+       * src/getargs.c, src/getargs.h (tr): ... here because I can't
+       think of a better place to expose it.  My logic is that, for all
+       uses of tr so far, command-line arguments can be involved, and
+       getargs.h is already included.
+       * src/main.c (main): Update access.
+       * src/muscle_tab.c (muscle_percent_define_insert): Convert old
+       variable names to new variable names before assigning value.
+       * src/reader.c (reader): Update setting default.
+       * tests/calc.at: Update uses.
+       * tests/conflicts.at (Unreachable States After Conflict
+       Resolution): Update use.
+       * tests/input.at (%define enum variables): Update use.
+       (%define backward compatibility): New test group.
+       * tests/push.at: Update uses.
+       * tests/reduce.at: Update uses.
+       * tests/torture.at: Update uses.
+
+2009-04-30  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Set all front-end %define defaults in one place.
+       * src/main.c (main): Move lr.keep_unreachable_states default...
+       * src/reader.c (reader): ... to here.
+
+2009-04-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Rename lr.default_reductions to lr.default-reductions.
+       * NEWS (2.5): Here.
+       * doc/bison.texinfo: Here.
+       * src/lalr.c (initialize_LA): Here.
+       * src/print.c (print_reductions): Here.
+       * src/reader.c (reader): Here.
+       * src/tables.c (action_row): Here.
+       * tests/input.at (%define enum variables): Here.
+       * tests/reduce.at (AT_TEST_LR_DEFAULT_REDUCTIONS): Here.
+
+2009-04-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Pacify ./configure --enable-gcc-warnings.
+       * tests/input.at (Symbols): Prototype yyerror and yylex.
+
+2009-04-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Document how `%define "var" "value"' is not M4-friendly.
+       * src/parse-gram.y (variable): In comments here.
+
+2009-04-24  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up recent patches a little.
+       Reported by Akim Demaille.
+       * doc/bison.texinfo (Understanding): Fix typos.
+       * src/print.c (print_reductions): Don't use negated variable.
+
+2009-04-24  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       List accepted values for a %define enum variable with an invalid value.
+       Suggested by Akim Demaille at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00082.html>.
+       * data/bison.m4 (_b4_percent_define_check_values): Implement.
+       * src/muscle-tab.c (muscle_percent_define_check_values): Implement.
+       * tests/input.at (%define lr.default_reductions invalid values): Merge
+       into...
+       (%define enum variables): ... here, and update output.
+
+2009-04-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Rename "default rule" to "default reduction".
+       This includes changing variable names in code, changing
+       comments, and renaming %define lr.default_rules to %define
+       lr.default_reductions.
+       * NEWS (2.5): Update IELR documentation.
+       * data/bison.m4 (b4_integral_parser_tables_map): Adjust YYDEFACT
+       documentation.
+       * data/glr.c, data/lalr1.java: Sync copyright dates.
+       * doc/bison.texinfo (Decl Summary): Adjust lr.default_reductions
+       and lr.type documentation.  Make some other wording
+       improvements.
+       (Glossary): Adjust cross-references and Default Reduction
+       definition.
+       * src/lalr.c (state_lookahead_tokens_count): Adjust code.
+       Remove a confusing comment pointed out by Akim Demaille.
+       (initialize_LA): Adjust code.
+       * src/print-xml.c (print_reductions): Adjust code.
+       * src/print.c (print_reductions): Adjust code.
+       * src/reader.c (reader): Adjust code.
+       * src/tables.c (action_row): Adjust code.
+       (token_actions): Adjust code.
+       * src/tables.h: Adjust YYDEFACT documentation.
+       * tests/input.at (%define lr.default_rules invalid values):
+       Rename test group to...
+       (%define lr.default_reductions invalid values): ... this, and
+       update grammar file and expected output.
+       * tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): Rename to...
+       (AT_TEST_LR_DEFAULT_REDUCTIONS): ... this, and update.
+
+2009-04-21  Akim Demaille  <demaille@gostai.com>
+
+       tests: check the use of dashes and periods in symbols.
+       * tests/input.at (Symbol): New test group.
+
+2009-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Document %define lr.type and lr.default_rules.
+       * NEWS (2.5): Add an entry.
+       * src/getargs.c (usage): Mention IELR(1) and canonical LR(1)
+       besides just LALR(1) and GLR(1).
+       * doc/bison.texinfo (Introduction): Likewise.
+       (Language and Grammar): Bison is no longer limited to LALR(1)
+       restrictions.
+       (GLR parsing): Say deterministic or LR(1) rather than LALR(1)
+       when trying to distinguish from GLR.  Talk about LR(1) grammars
+       rather than LALR(1) grammars.
+       (Decl Summary): In %define api.push_pull entry, say it applies
+       to deterministic parsers in C rather than LALR(1) parsers in C.
+       Add lr.default_rules entry.
+       Add lr.type entry.
+       (Mystery Conflicts): Bison is no longer limited to LALR(1)
+       restrictions.
+       (Generalized LR Parsing): Same changes as for the previous GLR
+       section.
+       (Memory Management): Say deterministic rather than LALR(1).
+       (Understanding): Correct some bison output.
+       Index discussion of "accepting state".
+       Say deterministic rather than LALR(1).
+       (Bison Options): In --yacc entry, say deterministic rather than
+       LALR(1).
+       In --report, --graph, and --xml entries, just don't mention
+       LALR(1).
+       (C++ Parsers): Say deterministic rather than LALR(1).
+       (Table of Symbols): Likewise in YYSTACK_USE_ALLOCA entry.
+       (Glossary): Add Accepting State, Consistent State, Default Rule,
+       and IELR(1) definitions.
+       In Generalized LR (GLR) definition, make same changes as in
+       previous GLR sections.
+       In LALR(1) definition, say Bison uses LALR(1) by default rather
+       than implying Bison is limited to LALR(1).
+       (LocalWords): Add IELR.
+
+2009-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Finish implementing %define lr.type.
+       Its value can be "LALR", "IELR", or "canonical LR".
+       * lib/timevar.def (TV_IELR_PHASE1): New var.
+       (TV_IELR_PHASE2): New var.
+       (TV_IELR_PHASE3): New var.
+       (TV_IELR_PHASE4): New var.
+       * src/Makefile.am (bison_SOURCES): Add AnnotationList.c,
+       AnnotationList.h, InadequacyList.c, InadequacyList.h, Sbitset.c,
+       Sbitset.h, ielr.h, and ielr.c.
+       * src/getargs.h, src/getargs.c (enum trace, trace_args,
+       trace_types): Add trace_ielr.
+       * src/lalr.h, src/lalr.c (ngotos): Export it.
+       (F): Rename to...
+       (goto_follows): ... this, update all uses, and export it.
+       (set_goto_map): Export it.
+       (map_goto): Export it.
+       (compute_lookahead_tokens): Don't free goto_follows yet.  Now
+       handled in ielr.
+       (initialize_LA): Export it.  Move lookback allocation to...
+       (lalr): ... here because, for canonical LR, initialize_LA must
+       be invoked but lookback and much of the rest of LALR isn't
+       needed.
+       * main.c (main): Instead of lalr, invoke ielr, which invokes
+       lalr.
+       * src/reader.c (reader): Default lr.type to "LALR".
+       Default lr.default_rules to "accepting" if lr.type is "canonical
+       LR".  Leave the default as "all" otherwise.
+       Check for a valid lr.type value.
+       * src/state.h, src/state.c (struct state_list): Add state_list
+       member.
+       (state_new): Initialize state_list member to NULL.
+       (state_new_isocore): New function, exported.
+       * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): New macro that
+       exercises all values of lr.type.
+       (GNU AWK Grammar): Rename test group to...
+       (GNU AWK 3.1.0 Grammar): ... this, and extend to use
+       AT_TEST_EXISTING_GRAMMAR.
+       (GNU Cim Grammar): Extend to use AT_TEST_EXISTING_GRAMMAR.
+       (GNU pic Grammar): Rename test group to...
+       (GNU pic (Groff 1.18.1) Grammar): ... this, and extend to use
+       AT_TEST_EXISTING_GRAMMAR.
+       * tests/reduce.at (AT_TEST_LR_TYPE): New macro that exercises
+       all values of lr.type.
+       (Single State Split): New test groups using AT_TEST_LR_TYPE.
+       (Lane Split): Likewise.
+       (Complex Lane Split): Likewise.
+       (Split During Added Lookahead Propagation): Likewise.
+
+2009-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add new files for IELR and canonical LR implementation.
+       * src/AnnotationList.c: New.
+       * src/AnnotationList.h: New.
+       * src/InadequacyList.c: New.
+       * src/InadequacyList.h: New.
+       * src/Sbitset.c: New.
+       * src/Sbitset.h: New.
+       * src/ielr.c: New.
+       * src/ielr.h: New.
+
+2009-04-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Implement %define lr.default_rules.
+       Its value describes the states that are permitted to contain
+       default rules: "all", "consistent", or "accepting".
+       * src/reader.c (reader): Default lr.default_rules to "all".
+       Check for a valid lr.default_rules value.
+       * src/lalr.c (state_lookahead_tokens_count): If lr.default_rules
+       is "accepting", then only mark the accepting state as
+       consistent.
+       (initialize_LA): Tell state_lookahead_tokens_count whether
+       lr.default_rules is "accepting".
+       * src/tables.c (action_row): If lr.default_rules is not "all",
+       then disable default rules in inconsistent states.
+       * src/print.c (print_reductions): Use this opportunity to
+       perform some assertions about whether lr.default_rules was
+       obeyed correctly.
+       * tests/local.at (AT_TEST_TABLES_AND_PARSE): New macro that
+       helps with checking the parser tables for a grammar.
+       * tests/input.at (%define lr.default_rules invalid values): New
+       test group.
+       * tests/reduce.at (AT_TEST_LR_DEFAULT_RULES): New macro using
+       AT_TEST_TABLES_AND_PARSE.
+       (`no %define lr.default_rules'): New test group generated by
+       AT_TEST_LR_DEFAULT_RULES.
+       (`%define lr.default_rules "all"'): Likewise.
+       (`%define lr.default_rules "consistent"'): Likewise.
+       (`%define lr.default_rules "accepting"'): Likewise.
+
+2009-04-20  Akim Demaille  <demaille@gostai.com>
+
+       Formatting change.
+
+2009-04-20  Akim Demaille  <demaille@gostai.com>
+
+       bison: factoring.
+       * src/output.c (token_definitions_output): Use symbol_id_get
+       instead of duplicating its logic.
+       * TODO (YYERRCODE): Extend.
+
+2009-04-20  Akim Demaille  <demaille@gostai.com>
+
+       variables: prefer error-verbose to error_verbose.
+       * data/bison.m4 (b4_error_verbose_if): Based on error-verbose
+       instead of error_verbose.
+       * src/scan-gram.l (%error-verbose): Map to the error-verbose
+       variable.
+       * doc/bison.texinfo: Promote %define error-verbose instead of
+       %error-verbose.
+       * tests/actions.at: Prefer %define error-verbose to %error-verbose.
+
+2009-04-15  Akim Demaille  <demaille@gostai.com>
+
+       variables: accept dashes.
+       * data/bison.m4 (b4_percent_define_if_define_): Also map dashes to
+       underscores.
+       * src/scan-gram.l ({id}): Also accept dashes after the initial
+       letter.
+       ({directive}): Use {id}.
+       * src/parse-gram.y: Comment and formatting changes.
+       * doc/bison.texinfo (Symbols): Adjust the lexical definitions of
+       symbols.
+       * src/complain.h, src/complain.c (yacc_at): New.
+       * src/symtab.c (symbol_new): Use yacc_at to report inappropriate
+       symbol names.
+       * src/output.c (token_definitions_output): Do not #define token
+       names with dashes.
+
+2009-04-20  Akim Demaille  <demaille@gostai.com>
+
+       Consistently refer to Yacc, not YACC.
+       * src/getargs.c (usage, warnings_args): s/YACC/Yacc/.
+
+2009-04-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Pacify make maintainer-check-posix.
+       * tests/input.at (%define, --define): Move bison command-line
+       options before grammar file name.
+
+2009-04-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Document semicolon warnings.
+       * NEWS (2.5): Here.
+
+2009-04-14  Akim Demaille  <demaille@gostai.com>
+
+       variables: use `parse.assert' instead of `assert'.
+       * TODO (assert): Remove.
+       * data/bison.m4 (b4_assert_if): Replace with...
+       (b4_parse_assert_if): this.
+       * data/lalr1.cc, data/variant.hh, tests/c++.at: Adjust.
+       * doc/bison.texinfo (Decl Summary): Document parse.assert.
+
+2009-04-14  Akim Demaille  <demaille@gostai.com>
+
+       variables: use `parse.trace' instead of `debug'.
+       * src/getargs.c (getargs): Map -t to %define trace.parse.
+       * src/scan-gram.l (%debug): Map to %define trace.parse.
+       * data/bison.m4 (b4_percent_define_if_define): Map `.' in variable
+       names to `_' in macro names.
+       (b4_debug_if): Replace with...
+       (b4_parse_trace_if): this.
+       * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
+       * data/yacc.c: Adjust.
+       * doc/bison.texinfo (Decl Summary): Document %debug as obsoleted.
+       Use @code to label the variable list.
+       Document the variable parse.trace.
+       (Tracing): Promote the parse.trace variable.
+       * TODO: %printer is not documented.
+
+2009-04-14  Akim Demaille  <demaille@gostai.com>
+
+       doc: minor fixes.
+       * doc/bison.texinfo (Decl Summary): Fix entry about %debug.
+       (Table of Symbols): Remove duplicate entry for %debug.
+
+2009-04-10  Eric Blake  <ebb9@byu.net>
+
+       submodules: update to latest
+       * submodules/autoconf: Use latest upstream Autoconf.
+
+2009-04-06  Eric Blake  <ebb9@byu.net>
+
+       Work around autoconf 2.63b bug in testsuite.
+       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Avoid tripping
+       autoconf bug related to # in test.
+
+2009-04-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS (2.5): New section.  Describe new -D/--define feature.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+       * src/parse-gram.h, src/parse-gram.c: Regen.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+       rename muscle_tab.* as muscle-tab.* for consistency.
+       * src/muscle_tab.h, src/muscle_tab.c: Rename as...
+       * src/muscle-tab.h, src/muscle-tab.c: these.
+       * src/getargs.c, src/local.mk, src/main.c, src/output.c,
+       * src/parse-gram.y, src/reader.c, src/scan-code.l: Adjust.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+       Makefile: introduce $(BISON).
+       * src/local.mk (BISON): New.
+       (YACC): Use it.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+       parser: handle %locations as %define locations.
+       * src/getargs.h, src/getargs.c (locations_flag): Remove.
+       * src/getargs.c, src/scan-code.l: Use muscle_percent_define_ensure
+       to set "locations" to true.
+       * src/output.c (prepare): Don't output "locations".
+       * src/scan-gram.l (%locations): Handle it as a %<flag>.
+       * src/parse-gram.y: It's no longer a token.
+       Don't handle it.
+       * data/bison.m4 (b4_locations_if): Define it with
+       b4_percent_define_if_define.
+       * data/c.m4, data/glr.cc: Adjust.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+       * src/parse-gram.c: Regen.
+
+2009-04-06  Akim Demaille  <demaille@gostai.com>
+
+       muscle: factor the handling of obsolete of obsolete directives.
+       Suggested by Joel E. Denny.
+
+       * src/muscle_tab.h, src/muscle_tab.c (muscle_percent_define_ensure):
+       New, extracted from...
+       * src/parse-gram.y (prologue_declaration: pure-parser): here.
+       Remove it.
+       (prologue_declaration: "%<flag>"): Use
+       muscle_percent_define_ensure.
+       (%error-verbose, %pure-parser): No longer tokens.
+       * src/scan-gram.l (pure-parser): Return as a %<flag>.
+
+2009-04-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix options documentation.
+       * build-aux/cross-options.pl: As in --help output, write optional
+       arguments as [=ARG] not =[ARG].
+       * doc/bison.texinfo (Bison Options): Add -W/--warnings argument.
+
+2009-04-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4.
+       If the first m4 in $PATH is wrong, it keeps looking.  Moreover, its
+       requirements for a correct m4 are stricter.
+       * m4/m4.m4: Make it a symbolic link to submodules/autoconf/m4/m4.m4.
+       * configure.ac: Update to use AC_PROG_GNU_M4.
+       Reported by Eric Blake.
+
+2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Help with updating web manual.
+       * HACKING: Incorporate instructions from gnulib/doc/README.
+       * bootstrap.conf (gnulib_modules): Add gendocs.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+       * src/parse-gram.h, src/parse-gram.c: Regen.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+       Factor %FLAG at scan level.
+       * src/parse-gram.y (PERCENT_DEBUG, PERCENT_ERROR_VERBOSE): Token
+       definitions and associated rules, replaced by....
+       (PERCENT_FLAG): this new token type, and rule.
+       * src/scan-gram.l (RETURN_PERCENT_FLAG): New.
+       Use it for %debug and %error-verbose.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+       * src/parse-gram.h, src/parse-gram.c: Regen.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+       Treat %debug as %define debug.
+       * data/bison.m4 (b4_debug_if): New.
+       * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c,
+       * data/lalr1.java: Use it instead of b4_debug_flag.
+       * src/getargs.h, src/getargs.c (debug_flag): Remove.
+       * src/output.c (prepare): Don't output it.
+       * src/parse-gram.y: Treat %debug as %define debug.
+
+2009-04-03  Akim Demaille  <demaille@gostai.com>
+
+       Treat %error-verbose as %define error_verbose.
+       This allows to pass -Derror_verbose on the command line.  Better
+       yet, it allows to pass -Derror_verbose=$(ERROR_VERBOSE), with
+       ERROR_VERBOSE being defined as false or true.
+       * data/bison.m4 (b4_percent_define_if_define): Instead of relying
+       on b4_percent_define_ifdef, for does not check the defined value,
+       but only whether the symbol is defined, rely on
+       b4_percent_define_flag_if, so that a value of "false" is processed
+       as a false.
+       If not defined, define the flag to "false".
+       (b4_error_verbose_if): New.
+       * data/glr.c, data/lalr1.cc, data/yacc.c: Use it instead of
+       b4_error_verbose_flag.
+       * src/getargs.h, src/getargs.c (error_verbose_flag): Remove.
+       * src/output.c (prepare): Don't output it.
+       * src/parse-gram.y (%error-verbose): Treat as %define error_verbose.
+
+2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix strange %define locations for default values.
+       Reported by Akim Demaille at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-12/msg00001.html>
+       and discussed again starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2008-11/msg00102.html>.
+       * data/bison.m4 (b4_percent_define_default): Leave syncline blank
+       because location information is bogus.
+       Use angle brackets to delimit fake file name because square brackets
+       look like underexpanded m4.  Choose a better fake file name.
+       Use negative line numbers.
+       * src/muscle_tab.c (muscle_percent_define_default): Likewise.
+       * src/location.c (location_print): If line for a boundary is negative,
+       only print that boundary's file name.
+       * src/location.h: Document that.
+       * tests/skeletons.at (%define Boolean variables: invalid skeleton
+       defaults): Update output.
+
+2009-04-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Pacify ./configure --enable-gcc-warnings.
+       * Makefile.am (AM_CFLAGS): Remove $(WERROR_CFLAGS) because many files
+       in lib won't compile with it.
+       * src/local.mk (src_bison_CFLAGS): Use $(WERROR_CFLAGS) here only.
+
+2009-03-31  Akim Demaille  <demaille@gostai.com>
+
+       bootstrap: --help to stdout.
+       * bootstrap (usage): Don't send --help to stderr.
+       Use a here doc instead of a long string.
+
+2009-03-31  Akim Demaille  <demaille@gostai.com>
+
+       bootstrap: README-hacking no longer exists
+       * bootstrap (checkout_only_file): Set to HACKING.
+
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+       doc: merge HACKING and README-hacking.
+       Two files is confusing.
+       Reported by Alexandre Duret-Lutz.
+
+       * README-hacking: Merge into...
+       * HACKING (Working from the repository): here.
+
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+       doc: update README-hacking.
+       * README-hacking: We now use git and git submodules.
+       Reported by Ralf Wildenhues and Alexandre Duret-Lutz.
+
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+       lalr1.cc: avoid GCC 4.3 warnings.
+       GCC 4.3 now warns about "a || b && c" and asks for explicit
+       parentheses.
+       Reported by Alexandre Duret-Lutz.
+       * data/location.cc: Update copyright years.
+       (Position::operator==): Use parens to make precedence explicit.
+       Compare lines and columns first, as they are more likely to be
+       different, and they are faster to compare.
+
+2009-03-26  Akim Demaille  <demaille@gostai.com>
+
+       gnulib: update.
+       * gnulib: Update to latest.
+       * src/local.mk (AM_CFLAGS): Move to...
+       * Makefile.am: here.
+       * etc/prefix-gnulib-mk (prefix_assignment): Also transform
+       AM_CFLAGS.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Share b4_yytranslate_define.
+       * data/lalr1.cc (b4_yytranslate_define): Move to...
+       * data/c++.m4: here.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Use locations in the variant example.
+       Yes, this obfuscates the point of this example, variants only.
+       But glr.cc cannot work (yet?) without locations.  This change
+       makes it easier to use this example with glr.cc.
+
+       * examples/variant.yy (assert): %define it.
+       (locations): Request them.
+       (yylex): Bind the location to the stage.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Dub make_TOKEN as a public type interface.
+       * data/c++.m4 (b4_symbol_constructor_declare)
+       (b4_symbol_constructor_define): New empty stubs.
+       (b4_public_types_declare, b4_public_types_define): Use them.
+       * data/lalr1.cc (b4_symbol_constructor_declare)
+       (b4_symbol_constructor_declare_)
+       (b4_symbol_constructor_define_, b4_symbol_constructor_define):
+       Move to...
+       * data/variant.hh: here.
+       Remove the "b4_variant_if" parts, as variant.hh is loaded only if
+       needed.
+       * data/lalr1.cc: No longer invoke b4_symbol_constructor_define and
+       b4_symbol_constructor_declare, as it is now done by
+       b4_public_types_define and b4_public_types_declare.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Coding style changes.
+       * data/lalr1.cc (b4_symbol_constructor_declaration_)
+       (b4_symbol_constructor_declarations)
+       (b4_symbol_constructor_definition_)
+       (b4_symbol_constructor_definitions)
+       (b4_yytranslate_definition): Rename as...
+       (b4_symbol_constructor_declare_)
+       (b4_symbol_constructor_declare)
+       (b4_symbol_constructor_define_)
+       (b4_symbol_constructor_define)
+       (b4_yytranslate_define): these.
+       * data/variant.hh (b4_variant_definition): Rename as...
+       (b4_variant_define): this.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Factor b4_assert_if, b4_lex_symbol_if, and b4_variant_if.
+       * data/bison.m4 (b4_percent_define_if_define): New.
+       * data/c++.m4 (b4_variant_if): Move to...
+       * data/bison.m4: Here, using b4_percent_define_if_define.
+       * data/lalr1.cc (b4_assert_if, b4_lex_symbol_if): Move to...
+       * data/bison.m4: Here, using b4_percent_define_if_define.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       Dub symbol_type_base as a public type.
+       * data/c++.m4 (b4_public_types_declare): Now define
+       symbol_type_base and symbol_type.
+       (b4_public_types_define): New.
+       In both cases, the definitions are taken verbatim from lalr1.cc.
+       * data/lalr1.cc: Adjust.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       b4_public_types_declare.
+       * data/c++.m4 (b4_public_types_declare): New.
+       * data/glr.cc, data/lalr1.cc: Use it.
+
+2009-03-02  Akim Demaille  <demaille@gostai.com>
+
+       b4_semantic_type_declare.
+       * data/c++.m4 (b4_semantic_type_declare): New.
+       Factors and generalizes what was in glr.cc and lalr1.cc.
+       * data/variant.hh (b4_semantic_type_declare): Redefine it for
+       variants.
+       * data/lalr1.cc, data/glr.cc: Use it.
+
+2009-02-26  Akim Demaille  <demaille@gostai.com>
+
+       Upgrade gnulib.
+       * gnulib: Upgrade from master.
+       * lib/.cvsignore, lib/.gitignore, m4/.cvsignore, m4/.gitignore:
+       Regen.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Remove useless arguments.
+       * data/glr.c (yy_reduce_print): $$ and @$ are not used and not
+       relevant.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/lalr1.cc: here.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Fix glr.cc's debug level handling.
+       * data/glr.cc (yydebug_): Remove, as it is actually yydebug from
+       glr.c which is used.
+       (debug_level, set_debug_level): Adjust.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Copyright years.
+       * data/glr.c: Add 2007 and 2008 here, consistenly with the comments.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Style changes.
+       * etc/bench.pl.in (generate_grammar_list): Consitently use
+       location_type, not yy::location.
+
+2009-02-25  Akim Demaille  <demaille@gostai.com>
+
+       Comment change.
+       * data/lalr1.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Make yyparser::error public.
+       * data/lalr1.cc: here.
+       There is no good reason to keep it private (and it is convenient
+       to use it from the scanner for instance).  It is already public in
+       glr.cc.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/glr.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Remove trailing blanks.
+       The epilogue has its own ending \n, no need to add another.
+
+       * data/glr.c, data/lalr1.java, data/yacc.c: dnl when outputing the
+       epilogue.
+       * data/glr.cc: dnl when extending the epilogue.
+       Remove stray "private:".
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_c_modern.
+       * data/c.m4 (b4_c_function_decl): Here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/lalr1.cc: here.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Extract variant.hh
+       * data/variant.hh: New, extracted from...
+       * data/lalr1.cc: here.
+       Adjust.
+       * data/local.mk: Adjust.
+
+2009-02-19  Akim Demaille  <demaille@gostai.com>
+
+       Extract stack.hh from lalr1.cc.
+       * data/stack.hh: New.
+       * data/lalr1.cc: Extract from here.
+       * data/local.mk: Adjust.
+
+2009-02-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add reminder about uploading public key to keys.gnupg.net.
+       * HACKING (Release Procedure): Here.
+
+2009-01-28  Akim Demaille  <demaille@gostai.com>
+
+       * NEWS: Update information about 2.4.1 and 2.4.2.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Reformat NEWS.
+       * NEWS: Use more outline-mode markup.
+       Suggested by Jim Meyering.
+
+2009-01-08  Akim Demaille  <demaille@gostai.com>
+
+       Fix grep portability issues.
+       Grep on Solaris does not support -q.
+       Reported by Summum Bonum.
+
+       * NEWS: Add a stub for 2.4.2.
+       * THANKS: Add Summum Bonum.
+       * tests/atlocal.in (EGREP): New.
+       (CC, CXX, XSLTPROC): Make it possible to override them via
+       envvars.
+       * tests/java.at: Use $EGREP instead of egrep.
+       Use AT_CHECK's ignore instead of grep's -q.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Pass the token type to yysyntax_error.
+       * data/yacc.c (yysyntax_error): Take the transated token instead
+       of the raw number.
+       Adjust callers.
+       * TODO: Update.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * data/glr.c: Formatting changes.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Propagate i18n changes into glr.c.
+       * TODO: Update.
+       * data/glr.c (yyreportSyntaxError): Use "switch" instead of
+       building the error message format dynamically.
+       * data/lalr1.java: Formatting changes.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Use testsuite -C.
+       * tests/local.mk: Replace "cd && testsuite" by "testsuite -C".
+       Solves problems when top_srcdir is an absolute path.
+       Suggested by Eric Blake.
+       * configure.ac: Require Autoconf 2.62.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+       Simplify the i18n of the error messages.
+       * data/lalr1.cc: Comment changes.
+       * data/yacc.c (yysyntax_error): Rewrite, using a switch as in
+       lalr1.cc instead of building dynamically the format string.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+       Fix portability issue in the test suite.
+       * tests/local.at (AT_MATCHES_CHECK): New.
+       Based on Perl instead of Sed.  Sed has too many portability
+       pitfalls, not ever Sed is GNU Sed.
+       * tests/actions.at (Fix user actions without a trailing semicolon):
+       Use it.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+       Update data/README.
+       * data/README: Document glr.cc, lalr1.java, m4sugar and xslt.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+       Install autoconf as a submodule to get m4sugar.
+       * .gitmodules: Add submodules/autoconf.
+       * data/m4sugar/foreach.m4, data/m4sugar/m4sugar.m4: Now links into
+       submodules/autoconf.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+       Test token.prefix in all the skeletons.
+       * data/java.m4 (b4_token_enum): Use the token.prefix.
+       * tests/local.at (AT_BISON_OPTION_PUSHDEFS): Define AT_TOKEN_PREFIX.
+       * tests/calc.at (_AT_DATA_CALC_Y): Use it.
+       Add checks for yacc.c, glr.c, lalr1.cc and glr.cc.
+       * tests/java.at: Comment changes.
+       (AT_CHECK_JAVA_MINIMAL): Define the END token.
+       (Java parser class and package names): Add token.prefix check.
+
+2008-12-08  Akim Demaille  <demaille@gostai.com>
+
+       Fix regeneration of atconfig.
+       * tests/local.mk (tests/atconfig): The rule was incorrect, but
+       remove it: now that there is no tests/Makefile.am, the top-level
+       Makefile properly updates atconfig when needed.
+
+2008-12-07  Di-an Jan  <dianj@freeshell.org>
+
+       Implement the FIXME that ends an user action with a semicolon
+       if it seems necessary.
+       * src/scan-code.l (flex rules section): Flag cpp directive from
+       any `#' to the first unescaped end-of-line.  Semicolon is not
+       needed after `;', `{', '}', or cpp directives and is needed after
+       any other token (whitespaces and comments have no effect).
+       * tests/actions.at (Fix user actions without a trailing semicolon):
+       New test.
+       * tests/input.at (AT_CHECK_UNUSED_VALUES): Add semicolons to
+       to make user actions complete statements.
+       Adjust column numbers in error messages.
+       * tests/regression.at (Fix user actions without a trailing semicolon):
+       Remove.  Covered by new test.
+
+2008-12-07  Akim Demaille  <demaille@gostai.com>
+
+       Update gnulib.
+       * gnulib: Update from master.
+
+2008-12-05  Eric Blake  <ebb9@byu.net>
+
+       Avoid compiler warning.
+       * src/output.c (muscle_insert_item_number_table): Delete unused
+       function.
+
+2008-12-02  Eric Blake  <ebb9@byu.net>
+
+       Build testsuite with newer autoconf.
+       * tests/output.at (m4_expand): Don't override in newer autoconf,
+       where the underlying implementation changed.
+       * tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT)
+       (_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT)
+       (_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR)
+       (_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings,
+       since some of them contain unbalanced ')'.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_symbol for printers and destructors everywhere.
+       * data/bison.m4 (b4_symbol_action_location): New.
+       * data/c.m4 (b4_symbol_actions): Remove.
+       Adjust all callers to use by b4_symbol_foreach and the corresponding
+       b4_symbol_printer/destructor macro.
+       * data/glr.cc: Adjust.
+       * data/lalr1.java: Adjust the %destructor sanity check.
+       * src/output.c (symbol_code_props_output): Remove, we no longer
+       need the b4_symbol_printers/destructors tables.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_symbol_case_.
+       * data/lalr1.cc, data/bison.m4 (b4_symbol_action): Use
+       b4_symbol_case_.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Move b4_symbol based macro to bison.m4.
+       * data/lalr1.cc (b4_symbol_, b4_symbol, b4_symbol_if)
+       (b4_symbol_action, b4_symbol_destructor, b4_symbol_printer)
+       (b4_symbol_case_, b4_symbol_foreach, b4_type_action_)
+       (b4_type_foreach): Move to...
+       * data/bison.m4: Here.
+       * data/lalr1.cc (b4_symbol_action): Specialize for C++: use
+       b4_symbol_value_template instead of b4_symbol_value.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       b4_symbol/type_foreach.
+       * data/lalr1.cc (b4_symbol_foreach, b4_type_foreach): New.
+       Use them.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Use the symbol properties to output the printer/destructor for lalr1.cc.
+       Instead of defining complex list of tuples to define various
+       properties of the symbols, we now prefer to define symbols as
+       "structs" in m4: using the symbol key (its number), and the
+       property name, b4_symbol gives it value.  Use this to handle
+       destructors and printers.
+
+       * src/output.c (CODE_PROP): New.
+       (prepare_symbol_definitions): Use it to define the printer and
+       destructor related attributes of the symbols.
+       * data/lalr1.cc (b4_symbol_actions): Rename as...
+       (b4_symbol_action): this.
+       Use b4_symbol instead of 6 arguments.
+       (b4_symbol_printer, b4_symbol_destructor): New.
+       Use them instead of b4_symbol_actions.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Avoid capturing variables too easily.
+       * src/muscle_tab.h (MUSCLE_INSERT_BOOL, MUSCLE_OBSTACK_SGROW): Use
+       v__ and p__ instead of v and p.
+
+2008-12-01  Akim Demaille  <demaille@gostai.com>
+
+       Remove spurious empty line before syncline.
+       * data/bison.m4 (b4_syncline): Don't output an empty line before
+       the output.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Convert lib/Makefile.am into lib/local.mk.
+       The real problem is rather gnulib.mk, which itself is extracted
+       from a Makefile.am that gnulib expects to the "recursive".  The
+       tool prefix-gnulib-mk converts such a gnulib.mk to be
+       non-recursive.  Also, some AC_SUBST variables need to be adjusted.
+
+       * etc/prefix-gnulib-mk: New.
+       * bootstrap (slurp): Use it to convert further gnulib.mk.
+       No longer try to avoid re-creation of lib/gnulib.mk as the changes
+       are deeper.
+       * lib/Makefile.am: Rename as...
+       * lib/local.mk: this.
+       Adjust to be prefixed.
+       * Makefile.am, configure.ac: Adjust.
+       * src/local.mk (AM_CPPFLAGS): Extend it, don't define it.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       s/_FLAGS/FLAGS/.
+       * tests/local.mk (TESTSUITE_FLAGS, AUTOTEST_FLAGS): Rename as...
+       (TESTSUITEFLAGS, AUTOTESTFLAGS): these to compy with the GCS.
+       Reported by Eric Blake.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_parser_tables_define in glr.cc.
+       * data/glr.c: Use b4_parser_tables_define instead of defining the
+       (deterministic integral) tables by hand.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_parser_tables_define in Java.
+       * data/java.m4 (b4_typed_parser_table): Rename as...
+       (b4_typed_parser_table_define): this, for consistency.
+       Accept a comment as $4.
+       Move $2 into yy*_.
+       (b4_integral_parser_table): Rename as...
+       (b4_integral_parser_table_define): this.
+       * data/lalr1.java: Adjust all uses.
+       Use b4_parser_tables_define instead of generation by hand.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Prepare the convergence bw C style and Java table generation.
+       * data/bison.m4 (b4_tables_map, b4_tables_declare)
+       (b4_tables_define): Rename as...
+       (b4_integral_parser_tables_map, b4_parser_tables_declare)
+       (b4_parser_tables_define): these.
+       * data/c.m4 (b4_table_define): Rename as...
+       (b4_integral_parser_table_define): this.
+       * data/lalr1.cc: Adjust.
+       (b4_table_define, b4_table_declare): Rename as...
+       (b4_integral_parser_table_define)
+       (b4_integral_parser_table_declare): these.
+       (yyrline_): Move the comment where it is actually used.
+       * data/yacc.c: Adjust.
+       (yyrline): Use b4_integral_parser_table_define.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+       * src/parse-gram.h, src/parse-gram.c: Regen.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Factor the generation of the (integral) tables bw yacc.c and lalr1.cc.
+       * data/lalr1.cc (b4_tables_map): Move to...
+       * data/bison.m4: here.
+       Update the comment for yytable during the flight.
+       (b4_tables_declare, b4_tables_define): New.
+       * data/lalr1.cc: Use them.
+       * data/c.m4 (b4_table_define): New.
+       * data/yacc.c: Use b4_tables_define instead of output the tables
+       by hand.
+       * tests/regression.at (Web2c Actions): Adjust the expected output,
+       the order of the tables changed.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Get rid of (yy)rhs and (yy)prhs.
+       These tables are no longer needed in the parsers, and they don't seem to
+       be useful.  They are not documented either.
+
+       * src/output.c (prepare_rules): Get rid of rhs and prhs.
+       Adjust the computation of (yy)r2.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Rule length is unsigned.
+       * src/gram.h, src/gram.c (rule_rhs_length): Return a size_t.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Get rid of lalr1-split.cc.
+       It was no longer maintainer.
+
+       * data/lalr1-split.cc: Remove.
+       * etc/bench.pl.in (bench_fusion_parser): Remove.
+       Adjust.
+
+2008-11-26  Akim Demaille  <demaille@gostai.com>
+
+       Use yy* consistently.
+       * data/glr.c: Now that yyrhs no longer exists as a global
+       variable, rename local "rhs" variables into "yyrhs" for
+       consistency.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Get rid of yyrhs and yyprhs in glr.c.
+       * data/glr.c (yyrhs, yyprhs): Remove.
+       Instead, use the state stack and yystos.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Flag glr tests.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): If glr, declare it
+       as an Autotest keyword.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Prefer TESTSUITE_FLAGS.
+       TESTSUITEFLAGS is barely readable.
+
+       * tests/local.mk (TESTSUITE_FLAGS): Default to $(TESTSUITEFLAGS)
+       for backward compatibility.
+       Use the former instead of the latter.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Get rid of yyrhs and yyprhs in larl1.java.
+       * data/lalr1.java (yyrhs_, yyprhs_): Remove.
+       (yy_reduce_print): Rather, use yystos_ and the state stack.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Get rid of yyrhs and yyprhs in yacc.c.
+       They were used to get the symbol types, given a rule number, when
+       displaying the top of the stack before a reduction.  But the
+       symbol type is available from the state stack.  This has two be
+       benefits: two tables less in the parser (making it smaller), and a
+       more consistent use of the three stacks which will help to fuse
+       them.
+
+       * data/yacc.c (yyprhs, yyrhs): Remove.
+       (YY_REDUCE_PRINT): Pass yyssp to yy_reduce_print.
+       (yy_reduce_print): Take yyssp as argument.
+       Use it, together with yystos, to get the symbol type.
+       * tests/regression.at (Web2c Report): Remove these tables from the
+       expected output.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       b4_tables_map.
+       The point is to factor the generation of the tables across skeletons.
+       This is language dependant.
+
+       * data/c.m4 (b4_comment_): New.
+       Should be usable to define how to generate tables independently of
+       the language.
+       (b4_c_comment): New.
+       (b4_comment): Bounce to b4_c_comment.
+       Now support $2 = [PREFIX] for indentation.
+       * data/lalr1.cc (b4_table_declare): Don't output a comment if
+       there is no comment.
+       Indent it properly when there is one.
+       Output the ending semicolon.
+       (b4_table_define): Space changes.
+       Output the ending semicolon.
+       (b4_tables_map): New.
+       Use it twice instead of declaring and defining the (integral)
+       tables by hand.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       b4_table_declare.
+       * data/lalr1.cc (b4_table_declare): New.
+       Use it to declare the tables defined with b4_table_define.
+       (b4_table_define): Declare a third arg to match b4_table_declare
+       signature.
+       Move all the comments around invocations of b4_table_define into
+       the invocations itselves.
+       Move things around to have the order for declarations and
+       definitions.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * data/lalr1.java: here.
+
+2008-11-25  Akim Demaille  <demaille@gostai.com>
+
+       b4_args is more general than only C++.
+       * data/lalr1.cc (b4_args, _b4_args): Move to...
+       * data/bison.m4: here.
+
+2008-11-21  Di-an Jan  <dianj@freeshell.org>
+
+       Implement no-XXX arguments for --warnings, --report, --trace.
+       * src/getargs.c (flags_argmatch): Handles no-XXX.
+       Fix typo in doxygen comment.
+
+2008-11-21  Akim Demaille  <demaille@gostai.com>
+
+       Display the changes in cross-options.texi.
+       * build-aux/cross-options.pl ($sep): New, to separate items.
+       * doc/local.mk ($(CROSS_OPTIONS_TEXI)): Use diff to display the
+       changes.
+
+2008-11-20  Di-an Jan  <dianj@freeshell.org>
+
+       Improves options in the manual.
+       * doc/bison.texinfo (-g, -x): Add space before argument.
+       (Option Cross Key): Implement FIXME: listing directives also.
+       * build-aux/cross-options.pl:  Read from <STDIN> rather than <>.
+       (Short Option): Special case -d.  Put arguments inside @option.
+       (Bison Directive): Add column, automatically extracted from
+       src/scan-gram.l (actual name passed as the first argument)
+       with special case for %define.
+       * doc/local.mk (doc/cross-options.texi): Pass src/scan-gram.l
+       to build-aux/cross-options.pl.
+       * src/getargs.c (usage): Document limitations of cross-options.pl.
+       * src/scan-gram.l: Likewise.
+
+2008-11-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix unexpanded macros in GLR defines file.
+       Reported by Csaba Raduly at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00048.html>.
+       * THANKS (Csaba Raduly): Add.
+       * data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc.
+       * tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate
+       lexer in a separate module that includes the defines file.
+       (AT_CHECK_CALC): From AT_FULL_COMPILE, request compilation of lexer
+       source.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF.
+       Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX.
+       (AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF.
+       (AT_DATA_SOURCE_PROLOGUE): New.
+       (AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE.
+       (AT_DATA_SOURCE): New.
+       (AT_FULL_COMPILE): Extend to support an additional source file.
+
+2008-11-18  Akim Demaille  <demaille@gostai.com>
+
+       More TODO.
+       * TODO: More short term issues.
+
+2008-11-18  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+       * src/parse-gram.h, src/parse-gram.c: Regen.
+
+2008-11-18  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_subtract where possible.
+       * data/lalr1.cc (b4_subtract): Move to...
+       * data/bison.m4: here.
+       * data/glr.c (b4_rhs_data): Use it.
+       * data/yacc.c (b4_rhs_value, b4_rhs_location): Use it.
+
+2008-11-18  Akim Demaille  <demaille@gostai.com>
+
+       Remove incorrect mode specification.
+       * data/glr.cc: Don't pretend it's C code.
+
+2008-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Simplify last patch slightly.
+       * src/getargs.c (getargs): Here.
+
+2008-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix last warning from --enable-gcc-warnings.
+       * src/getargs.c (getargs): Don't assign const address to non-const
+       pointer.
+
+2008-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't let maintainer-*-check targets force a version update.
+       * cfg.mk (_is-dist-target): Implement.  maintainer-check* was already
+       handled.
+
+2008-11-17  Di-an Jan  <dianj@freeshell.org>
+
+       * doc/bison.texinfo: Synchronize ``Detail Node Listing''.
+       Align menus.  Adjust word wrapping.  Use node names for menu names.
+       (Examples): Don't abbreviate node names.
+       (LocalWords): Remove abbreviations.
+       (Copying): Make description a sentence.
+       (Java Action Features): Remove period to match the rest of menu.
+
+2008-11-17  Di-an Jan  <dianj@freeshell.org>
+
+       Handles several --enable-gcc-warnings.
+       * src/getargs.c (command_line_location): Set parameters to void.
+       * src/output.c (symbol_type_name_cmp): Make static.
+       (symbols_by_type_name): Set parameters to void.
+       (symbol_definitions_output): Remove unused parameter.  Rename as...
+       (prepare_symbol_definitions): this.
+       (muscles_output): Move symbol_definitions_output to...
+       (output): here as prepare_symbol_definitions.
+       * tests/c++.at (AT_CHECK_VARIANTS): Remove unused parameters of main.
+       (AT_CHECK_NAMESPACE): Make unused parameter lloc unnamed.
+
+2008-11-17  Di-an Jan  <dianj@freeshell.org>
+
+       * tests/c++.at (AT_CHECK_VARIANTS): Fixes tests 198-202.
+       Use AT_DATA_GRAMMAR instead of AT_DATA for compiled tests.
+
+2008-11-16  Akim Demaille  <demaille@gostai.com>
+
+       Add missing $(EXEEXT).
+       * doc/local.mk ($(CROSS_OPTIONS_TEXI)): The target is
+       "src/bison$(EXEEXT)".
+       Reported by Di-an Jan.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       * TODO: Update.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * tests/input.at: here.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove duplicate header inclusion.
+       * src/LR0.c: here.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       * src/parse-gram.h, src/parse-gram.c: Regen.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Support parametric types.
+
+       There are two issues to handle: first scanning nested angle
+       bracket pairs to support types such as std::pair< std::string,
+       std::list<std::string> > >.
+
+       Another issue is to address idiosyncracies of C++: do not glue two
+       closing angle brackets together (otherwise it's operator>>), and
+       avoid sticking blindly a TYPE to the opening <, as it can result
+       in '<:' which is a digraph for '['.
+
+       * src/scan-gram.l (brace_level): Rename as...
+       (nesting): this.
+       (SC_TAG): New.
+       Implement support for complex tags.
+       (tag): Accept
+       , but not <.
+       * data/lalr1.cc (b4_symbol_value, b4_symbol_value_template)
+       (b4_symbol_variant): Leave space around types as parameters.
+       * examples/variant.yy: Use nested template types and leading ::.
+       * src/parse-gram.y (TYPE, TYPE_TAG_ANY, TYPE_TAG_NONE, type.opt):
+       Rename as...
+       (TAG, TAG_ANY, TAG_NONE, tag.opt): these.
+       * tests/c++.at: Test parametric types.
+
+2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
+
+       Test token.prefix.
+       This is not sufficient, but we test at least that the make_SYMBOL
+       interface is not affected by token.prefix.  A more general test
+       will be implemented when the support of token.prefix is generalized
+       to more skeletons.
+
+       * tests/c++.at: One more variant test, using token.prefix.
+
+2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
+
+       Test the make_TOKEN interface.
+       * tests/c++.at (AT_CHECK_VARIANTS): Require and use locations.
+       Factor the common code in yylex.
+       Use it to test "%define lex_symbol".
+
+2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
+
+       Formatting change.
+
+2008-11-15  Akim Demaille  <akim@betelgeuse.gostai.ensta.fr>
+
+       Simplify code for variants bench marks.
+       * etc/bench.pl.in (&generate_grammar_list): Define and use
+       location_type.
+       Factor the common code in yylex.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Better error message.
+       * bootstrap (find_tool): Fix the error message.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Update variant.yy to newest interface.
+       * examples/variant.yy: Define lex_symbol.
+       Adjust.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Don't use locations in variant.yy.
+       * examples/variant.yy: Adjust to not using locations.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/local.mk, etc/local.mk, examples/local.mk: Use Automake
+       comments for the license.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove tests/Makefile.am.
+       * tests/Makefile.am: Rename as...
+       * tests/local.mk: this.
+       * Makefile.am, configure.ac: Adjust.
+       * Makefile.am (DISTCLEANFILES): Define.
+       (maintainer-check, maintainer-xml-check, maintainer-push-check):
+       Remove, we no longer need to bounce to the real targets.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       djgpp/local.mk.
+       * Makefile.am (EXTRA_DIST): Move djgpp related part to...
+       * djgpp/local.mk: this new file.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove doc/Makefile.am.
+       * doc/Makefile.am: Rename as...
+       * doc/local.mk: this.
+       Adjust paths
+       * Makefile.am, configure.ac: Adjust.
+       * Makefile.am (MOSTLYCLEANFILES): New.
+       * src/local.mk: Adjust.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Move sc_tight_scope into maint.mk.
+       It does not work, and I don't know how it was supposed to work: it
+       seems to be looking for sources in the build tree.  I just moved
+       it at a better place, fixing it is still required.
+
+       * src/local.mk (echo): Remove.
+       (sc_tight_scope): Move to...
+       * maint.mk: here.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+       * src/parse-gram.h, src/parse-gram.h: Regen.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove src/Makefile.am.
+       * src/Makefile.am: Rename as...
+       * src/local.mk: this.
+       Prefix all the paths with src/.
+       (AUTOMAKE_OPTIONS): Build object files in the sub dirs.
+       (AM_CPPFLAGS): Find find in builddir/src.
+       (YACC): Move the flags into...
+       (AM_YFLAGS): here.
+       * maint.mk (sc_tight_scope): Disable.
+       It used to bounce to the version in src/Makefile.am which is now
+       part of this very Makefile.
+       * Makefile.am, configure.ac: Adjust.
+       * src/scan-code-c.c, src/scan-code.l: We can no longer rely on
+       include "..." to find files "here": we are no longer in src/, so
+       qualify the includes with src/.
+       * doc/Makefile.am (PREPATH): No longer include the top_builddir
+       prefix.
+       (.x.1): Adjust to be able to create src/foo from the top level
+       Makefile, instead of going bounce to src/Makefile the creation of
+       foo.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove useless variable.
+       * doc/Makefile.am (srcsrcdir): Remove.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove data/Makefile.am.
+       * data/Makefile.am: Rename as...
+       * data/local.mk: this.
+       Adjust paths.
+       * Makefile.am, configure.ac: Adjust.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove etc/Makefile.am.
+       * etc/Makefile.am: Rename as...
+       * etc/local.mk: this.
+       Adjust.
+       * Makefile.am, configure.ac: Adjust.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove examples/local.mk.
+       examples/calc++/Makefile.am might be interesting to keep as is, since
+       it is an example in itself.
+
+       * examples/Makefile.am: Rename as...
+       * examples/local.mk: this.
+       Adjust.
+       * Makefile.am, configure.ac: Adjust.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove build-aux/Makefile.am.
+       Recursive Makefiles are really way too slow, let's get rid of some of
+       them.
+
+       * build-aux/Makefile.am: Rename as...
+       * build-aux/local.mk: this.
+       Adjust paths.
+       * Makefile.am, configure.ac: Adjust.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Provide convenience constructors for locations and positions.
+       * data/location.cc (position::position): Accept file, line and
+       column as arguments with default values.
+       Always qualify initial line and column literals as unsigned.
+       (location::location): Provide convenience constructors.
+
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Instead of using make_symbol<TOK_FOO>, generate make_FOO for each
+       token type.
+       Using template buys us nothing, and makes it uselessly complex to
+       construct a symbol.  Besides, it could not be generalized to other
+       languages, while make_FOO would work in C/Java etc.
+
+       * data/lalr1.cc (b4_symbol_): New.
+       (b4_symbol): Use it.
+       (b4_symbol_constructor_declaration_)
+       (b4_symbol_constructor_definition_): Instead of generating
+       specializations of an overloaded template function, just generate
+       several functions whose names are forged from the token names
+       without the token.prefix.
+       (b4_symbol_constructor_declarations): Generate them for all the
+       symbols, not just by class of symbol type, now that instead of
+       specializing a function template by the token, we generate a
+       function named after the token.
+       (b4_symbol_constructor_specialization_)
+       (b4_symbol_constructor_specializations): Remove.
+       * etc/bench.pl.in: Adjust to this new API.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       %define token.prefix.
+       Provide a means to add a prefix to the name of the tokens as
+       output in the generated files.  Because of name clashes, it is
+       good to have such a prefix such as TOK_ that protects from names
+       such as EOF, FILE etc.  But it clutters the grammar itself.
+
+       * data/bison.m4 (token.prefix): Empty by default.
+       * data/c.m4 (b4_token_enum, b4_token_define): Use it.
+       * data/lalr1.cc (b4_symbol): Ditto.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Compute at M4 time some of the subtractions.
+       * data/lalr1.cc (b4_subtract): New.
+       (b4_rhs_data): Use it.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       symbol::token.
+       This allows the user to get the type of a token returned by yylex.
+
+       * data/lalr1.cc (symbol::token): New.
+       (yytoknum_): Define when %define lex_symbol, independently of
+       %debug.
+       (yytoken_number_): Move into...
+       (symbol::token): here, since that's the only use.
+       The other one is YYPRINT which was not officially supported
+       by lalr1.cc, and anyway it did not work since YYPRINT uses this
+       array under a different name (yytoknum).
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       YYERRCODE.
+       * TODO (YYERRCODE): Mention the case of $undef.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       TODO: YYPRINT.
+       * TODO (YYPRINT): New.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+       * data/lalr1.cc, data/yacc.c: Fix the description of the
+       yytranslate and yytoknum tables.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Define make_symbol in the header.
+       To reach good performances these functions should be inlined (yet
+       this is to measure precisely).  To this end they must be available
+       to the caller.
+
+       * data/lalr1.cc (b4_symbol_constructor_definition_): Qualify
+       location_type with the class name.
+       Since will now be output in the header, declare "inline".
+       No longer use b4_symbol_constructor_specializations, but
+       b4_symbol_constructor_definitions in the header.
+       Don't call it in the *.cc file.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Define yytranslate in the header for lex_symbol.
+       * data/lalr1.cc: Move the invocation of b4_yytranslate_definition
+       into the header file when using %define lex_symbol.
+       (yytranslate_): Declare inline.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Define the constructors of symbol_type in
+       b4_symbol_constructor_definitions.
+       The constructors are called by the make_symbol functions, which a
+       forthcoming patch will move elsewhere.  Hence the interest of
+       putting them together.
+
+       The stack_symbol_type does not need to be moved, it is used only
+       by the parser.
+
+       * data/lalr1.cc: Move symbol_type and symbol_base_type
+       constructors into...
+       (b4_symbol_constructor_definitions): here.
+       Adjust.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Make it easier to move the definition of yytranslate_.
+       Forthcoming changes will make it possible to use yytranslate_
+       from outside the parser implementation file.
+
+       * data/lalr1.cc (b4_yytranslate_definition): New.
+       Use it.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Remove useless class specification.
+       * data/lalr1.cc (b4_symbol_constructor_specialization_): No need
+       to refer to the class name to use a type defined by the class for
+       arguments of member functions.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Finer input type for yytranslate.
+       This patch is debatable: the tradition expects yylex to return an int
+       which happens to correspond to token_number (which is an enum).  This
+       allows for instance to return characters (such as '*' etc.).  But this
+       goes against the stronger typing I am trying to have with the new
+       lex interface which return a symbol_type.  So in this case, feed
+       yytranslate_ with a token_type.
+
+       * data/lalr1.cc (yytranslate_): When in %define lex-symbol,
+       expect a token_type.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Honor lex-params in %define lex_symbol mode.
+       * data/lalr1.cc: Use b4_lex_param.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Simplify names.
+       * src/output.c (symbol_definitions_output): Rename symbol
+       attributes type_name and has_type_name as type and has_type.
+       * data/lalr1.cc: Adjust uses.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_type_names for the union type.
+       The union used to compute the size of the variant used to iterate
+       over the type of all the symbols, with a lot of redundancy.  Now
+       iterate over the lists of symbols having the same type-name.
+
+       * data/lalr1.cc (b4_char_sizeof_): New.
+       (b4_char_sizeof): Use it.
+       Adjust to be called with a list of numbers instead of a single
+       number.
+       Adjust its caller for new-line issues.
+
+2008-11-13  Akim Demaille  <demaille@gostai.com>
+
+       Define the "identifier" of a symbol.
+       Symbols may have several string representations, for instance if
+       they have an alias.  What I call its "id" is a string that can be
+       used as an identifier.  May not exist.
+
+       Currently the symbols which have the "tag_is_id" flag set are
+       those that don't have an alias.  Look harder for the id.
+
+       * src/output.c (is_identifier): Move to...
+       * src/symtab.c (is_identifier): here.
+       * src/symtab.h, src/symtab.c (symbol_id_get): New.
+       * src/output.c (symbol_definitions_output): Use it to define "id"
+       and "has_id".
+       Remove the definition of "tag_is_id".
+       * data/lalr1.cc: Use the "id" and "has_id" whereever "tag" and
+       "tag_is_id" were used to produce code.
+       We still use "tag" for documentation.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Locations are no longer required by lalr1.cc.
+       * data/lalr1.cc (_b4_args, b4_args): New.
+       Adjust all uses of locations to make them optional.
+       * tests/c++.at (AT_CHECK_VARIANTS): No longer use the locations.
+       (AT_CHECK_NAMESPACE): Check the use of locations.
+       * tests/calc.at (_AT_DATA_CALC_Y): Adjust to be usable with or
+       without locations with lalr1.cc.
+       Test these cases.
+       * tests/output.at: Check lalr1.cc with and without location
+       support.
+       * tests/regression.at (_AT_DATA_EXPECT2_Y, _AT_DATA_DANCER_Y):
+       Don't use locations.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       AT_FULL_COMPILE.
+       * tests/local.at (AT_FULL_COMPILE): New.
+       * tests/actions.at, tests/calc.at, tests/regression.at: Use it.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Support parens in calc++.
+       * doc/bison.texinfo (Calc++ Scanner, Calc++ Parser): Support parens.
+       * examples/calc++/test (run): Check the expected output.
+       Adjust callers.
+       Check parens too.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Simplify lalr1.cc since %defines is mandatory.
+       * data/lalr1.cc: Remove useless calls to b4_defines_if.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       TODO: yyfmt.
+       * TODO (yysyntax_error): New item.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Prefer M4 to CPP.
+       * data/lalr1.cc: Use b4_error_verbose_if instead of #if
+       YYERROR_VERBOSE.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Support i18n of the parse error messages.
+       * TODO (lalr1.cc/I18n): Remove.
+       * data/lalr1.cc (yysyntax_error_): Support the translation of the
+       error messages, as done in yacc.c.
+       Stay within the yy* pseudo namespace.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       More TODO.
+       * TODO (single stack, yysyntax_error): New.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Make it possible to return a symbol_type from yylex.
+       * data/lalr1.cc (b4_lex_symbol_if): New.
+       (parse): When lex_symbol is defined, expected yylex to return the
+       complete lookahead.
+       * etc/bench.pl.in (generate_grammar_list): Extend to support this
+       yylex interface.
+       (bench_variant_parser): Exercise it.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Remove useless bench case.
+       * etc/bench.pl.in (bench_variant_parser): VARIANT_DESTROY is
+       no longer used.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Improve display of directives.
+       * etc/bench.pl.in (parse_term): Don't add useless eol.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Use string_cast in the bench.
+       * etc/bench.pl.in (generate_grammar_list): Define and use
+       string_cast.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Replace yychar with a Boolean.
+       * data/lalr1.cc (parse::yychar): Replace by...
+       (parse::yyempty): this.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Factor the tables.
+       * TODO: New item.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Let yytranslate handle the eof case.
+       * data/lalr1.cc (yytranslate_): Handle the EOF case.
+       Adjust callers.
+       No longer expect yychar to be equal to yyeof_, rather, test the
+       lookahead's (translated) kind.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       yychar cannot be empty in yyerrlab.
+       * TODO (yychar == yyempty_): New.
+       * data/lalr1.cc: Remove the handling of this case.
+       This eases forthcoming changes related to yychar and yytranslate.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Bench: syntactic sugar for %define/#define.
+       * etc/bench.pl.in (parse_dirs): Support %d and #d with arguments.
+       (&bench_push_parser, bench_variant_parser): Use this feature.
+       (&eat): New.
+       Use it.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Less memory pressure on the "list" bench.
+       * etc/bench.pl.in (generate_grammar_list): Do not accumulate all
+       the values, to limit memory pressure.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Introduce make_symbol.
+       make_symbol provides a means to construct a full symbol (kind,
+       value, location) in a single shot.  It is meant to be a Symbol
+       constructor, parameterized by the symbol kind so that overloading
+       would prevent incorrect kind/value pairs.  Unfortunately
+       parameterized constructors do not work well in C++ (unless the
+       parameter also appears as an argument, which is not acceptable),
+       hence the use of a function instead of a constructor.
+
+       * data/lalr1.cc (b4_symbol_constructor_declaration_)
+       (b4_symbol_constructor_declarations)
+       (b4_symbol_constructor_specialization_)
+       (b4_symbol_constructor_specializations)
+       (b4_symbol_constructor_definition_)
+       (b4_symbol_constructor_definitions): New.
+       Use them where appropriate to generate declaration, declaration of
+       the specializations, and implementations of the templated
+       overloaded function "make_symbol".
+       (variant::variant): Always define a default ctor.
+       Also provide a copy ctor.
+       (symbol_base_type, symbol_type): New ctor overloads for value-less
+       symbols.
+       (symbol_type): Now public, so that functions such as yylex can use
+       it.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Inform m4 whether a tag is a valid id.
+       * src/output.c (is_identifier): New.
+       (symbol_definitions_output): Use it to define tag_is_id.
+       But maybe this should be done at m4 level?
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+       Test 214 was failing: it greps with a pattern containing [     ]*
+       which obviously meant to catch spaces and tabs, but contained only
+       spaces. Tabulations in sources are a nuisance, so to simplify the
+       matter, get rid of all the tabulations in the Java sources.  The
+       other skeletons will be treated equally later.
+
+       * data/java.m4, data/lalr1.java: Untabify.
+       * tests/java.at: Simplify AT_CHECK_JAVA_GREP invocations:
+       tabulations are no longer generated.
+
+2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       * bootstrap.conf: Replace m4/warning.m4 with warnings module.
+       * configure.ac: Adjust usage.
+       * lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
+       * src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS).
+       * tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS).
+
+2008-11-10  Di-an Jan  <dianj@freeshell.org>
+
+       Workaround Java's ``code too large'' problem for parser tables
+       in most cases, by using one function per initialization.
+       * data/java.m4 (b4_typed_parser_table, b4_integral_parser_table): New.
+       * data/lalr1.java (yypact_, yydefact_, yypgoto_, yydefgoto_,
+       yytable_, yycheck_, yystos_, yytoken_number_, yyr1_, yyr2_, yyrhs_
+       yyprhs_, yyrline_, yytranslate_table_): Use b4_integral_parser_table.
+       (yytname_): Use b4_typed_parser_table.
+       * doc/bison.texinfo (Java Bison Interface): Add note on Java's
+       ``code too large'' error.
+
+2008-11-10  Di-an Jan  <dianj@freeshell.org>
+
+       * NEWS: Document them.
+
+       General Java skeleton improvements.
+       * configure.ac (gt_JAVACOMP): Request target of 1.4, which allows
+       using gcj < 4.3 in the testsuite, according to comments in
+       gnulib/m4/javacomp.m4.
+       * data/java.m4 (stype, parser_class_name, lex_throws, throws,
+       location_type, position_type): Remove extraneous brackets from
+       b4_percent_define_default.
+       (b4_lex_param, b4_parse_param): Remove extraneous brackets from
+       m4_define and m4_define_default.
+       * data/lalr1.java (b4_pre_prologue): Change to b4_user_post_prologue,
+       which marks the end of user code with appropriate syncline, like all
+       the other skeletons.
+       (b4_user_post_prologue): Add.  Don't silently drop.
+       (yylex): Remove.
+       (parse): Inline yylex.
+       * doc/bison.texinfo (bisonVersion, bisonSkeleton): Document.
+       (%{...%}): Fix typo of %code imports.
+       * tests/java.at (AT_JAVA_COMPILE): Add "java" keyword.
+
+       Support annotations on parser class with %define annotations.
+       * data/lalr1.java (annotations): Add to parser class modifier.
+       * doc/bison.texinfo (Java Parser Interface): Document
+       %define annotations.
+       (Java Declarations Summary): Document %define annotations.
+       * tests/java.at (Java parser class modifiers): Test annotations.
+
+       Do not generate code for %error-verbose unless requested.
+       * data/lalr1.java (errorVerbose): Rename to yyErrorVerbose.
+       Make private.  Make conditional on %error-verbose.
+       (getErrorVerbose, setErrorVerbose): New.
+       (yytnamerr_): Make conditional on %error-verbose.
+       (yysyntax_error): Make some code conditional on %error-verbose.
+       * doc/bison.texinfo (Java Bison Interface): Remove the parts
+       about %error-verbose having no effect.
+       (getErrorVerbose, setErrorVerbose): Document.
+
+       Move constants for token names to Lexer interface.
+       * data/lalr1.java (Lexer): Move EOF, b4_token_enums(b4_tokens) here.
+       * data/java.m4 (b4_token_enum): Indent for move to Lexer interface.
+       (parse): Qualify EOF to Lexer.EOF.
+       * doc/bison.texinfo (Java Parser Interface): Move documentation of
+       EOF and token names to Java Lexer Interface.
+       * tests/java.at (_AT_DATA_JAVA_CALC_Y): Remove Calc qualifier.
+
+       Make yyerror public.
+       * data/lalr1.java (Lexer.yyerror): Use longer parameter name.
+       (yyerror): Change to public.  Add Javadoc comments.  Use longer
+       parameter names.  Make the body rather than the declarator
+       conditional on %locations.
+       * doc/bison.texinfo (yyerror): Document.  Don't mark as protected.
+
+       Allow user to add code to the constructor with %code init.
+       * data/java.m4 (b4_init_throws): New, for %define init_throws.
+       * data/lalr1.java (YYParser.YYParser): Add b4_init_throws.
+       Add %code init to the front of the constructor body.
+       * doc/bison.texinfo (YYParser.YYParser): Document %code init
+       and %define init_throws.
+       (Java Declarations Summary): Document %code init and
+       %define init_throws.
+       * tests/java.at (Java %parse-param and %lex-param): Adjust grep.
+       (Java constructor init and init_throws): Add tests.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Update TODO.
+       * TODO (-D): is implemented.
+       (associativity): Same precedence must have the same associativity.
+       For instance, how can a * b / c be parsed if * is %left and / is
+       %right?
+       (YYERRORCODE, YYFAIL, YYBACKUP): New.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       More information about the symbols.
+       * src/output.c (type_names_output): Document all the symbols,
+       including those that don't have a type-name.
+       (symbol_definitions_output): Define "is_token" and
+       "has_type_name".
+       * data/lalr1.cc (b4_type_action_): Skip symbols that have an empty
+       type-name, now that they are defined too in b4_type_names.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Make parser::yytranslate static.
+       Small speedup (1%) on the list grammar.  And makes yytranslate_
+       available in non member functions.
+
+       * data/lalr1.cc (yytranslate_): Does not need to be a instance
+       function.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Avoid trailing spaces.
+       * data/c.m4: b4_comment(TEXT): Don't indent empty lines.
+       * data/lalr1.cc: Don't indent before rule and symbol actions, as
+       they can be empty, and anyway this incorrectly indents the first
+       action.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Comment changes.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Use "enum" for integral constants.
+       This is just nicer to read, I observed no speedup.
+
+       * data/lalr1.cc (yyeof_, yylast_, yynnts_, yyempty_, yyfinal_)
+       (yterror_, yyerrcode_, yyntokens_): Define as members of an enum.
+       (yyuser_token_number_max_, yyundef_token_): Move into...
+       (yytranslate_): here.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Shortcuts in bench directives.
+       * etc/bench.pl.in (parse_dirs): New.
+       Use it.
+       (bench_variant_parser, bench_fusion_parser): Use %s and %d.
+       Create the benches in "benches/".
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * data/lalr1.cc: here.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Adjust verbose message to using emacs.
+       * etc/bench.pl.in: Inform compilation-mode when we change the
+       directory.
+       (generate_grammar_list): Recognize %define "variant" in addition
+       to %define variant.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Classify symbols by type-name.
+       * src/uniqstr.h (UNIQSTR_CMP): New.
+       * src/output.c (symbol_type_name_cmp, symbols_by_type_name)
+       (type_names_output): New.
+       (muscles_output): Use it.
+       * data/lalr1.cc (b4_symbol_action_): Remove.
+       (b4_symbol_case_, b4_type_action_): New.
+       Adjust uses of b4_symbol_action_ to use b4_type_action_.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Change the handling of the symbols in the skeletons.
+       Before we were using tables which lines were the symbols and which
+       columns were things like number, tag, type-name etc.  It is was
+       difficult to extend: each time a column was added, all the numbers had
+       to be updated (you asked for colon $2, not for "tag").  Also, it was
+       hard to filter these tables when only a subset of the symbols (say the
+       tokens, or the nterms, or the tokens that have and external number
+       *and* a type-name) was of interest.
+
+       Now instead of monolithic tables, we define one macro per cell.  For
+       instance "b4_symbol(0, tag)" is a macro name which contents is
+       self-decriptive.  The macro "b4_symbol" provides easier access to
+       these cells.
+
+       * src/output.c (type_names_output): Remove.
+       (symbol_numbers_output, symbol_definitions_output): New.
+       (muscles_output): Call them.
+       (prepare_symbols): Define b4_symbols_number.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       --trace=muscles
+       * src/getargs.h, src/getargs.c (trace_muscle): New.
+       (trace_types, trace_args): Support it.
+       * src/output.c (output_skeleton): Use it.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       muscles_output.
+       * src/output.c (muscles_output): New, extracted from...
+       (output_skeleton): here.
+       Adjust.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Update the variant example.
+       * examples/variant.yy: Formatting changes.
+       One stage build.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Support constructor with an argument.
+       This improves the "list" bench by 2%.
+
+       * data/lalr1.cc (variant::build): Add an overloaded version with
+       an argument.
+       * tests/c++.at (AT_CHECK_VARIANT): Check it.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Test variants.
+       * tests/c++.at (AT_CHECK_VARIANTS): New.
+       Use it with and without %define assert.
+
+2008-11-10  Akim Demaille  <demaille@gostai.com>
+
+       Add %precedence support.
+       Unfortunately it is not possible to reuse the %prec directive.  This
+       is because to please POSIX, we do not require to end the rules with a
+       semicolon.  As a result,
+
+       foo: bar %prec baz
+
+       is ambiguous: either a rule which precedence is that of baz, or a rule,
+       and then a declaration of the precedence of the token baz.
+
+       * doc/bison.texinfo: Document %precedence.
+       (Precedence Only): New.
+       * src/assoc.h, src/assoc.c (precedence_assoc): New.
+       * src/conflicts.c (resolve_sr_conflict): Support it.
+       * src/scan-gram.l, src/parse-gram.y (%precedence): New token.
+       Parse it.
+       * tests/calc.at: Use %precedence for NEG.
+       * tests/conflicts.at (%precedence does not suffice)
+       (%precedence suffices): New tests.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Make benches in a sub dirs.
+       * etc/bench.pl.in ($dir): New.
+       Use it.
+       Check the use of constructors with an argument.
+       (bench_variant_parser): Fix.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       fix eof condition
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Fix --help.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Require the generation of parse-gram.output.
+       * src/Makefile.am (YACC): Pass --report=all.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Update TODO.
+       * TODO: Remove obsolete items.
+       Update others.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Enhance bench.pl.
+       * etc/bench.pl.in (parse, parse_expr, parse_term, parse_fact)
+       (@token, $grammar, $bench): New.
+       (generate_grammar_variant): Rename as...
+       (generate_grammar_list): this.
+       (generate_grammar): Adjust.
+       (bench_grammar): Rename as...
+       (bench): this.
+       Use it in the various bench-marking routines.
+       (-b, -g): New options.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Use a static hierarchy for symbols in the C++ parser.
+       * data/lalr1.cc (symbol_base_type, symbol_type)
+       (stack_symbol_type): Make it a static hierarchy.
+       Adjust dependencies.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       bench.pl -d, --directive.
+       * etc/bench.pl.in (@directive): New.
+       (&bench_grammar): Use it.
+       (&bench_list_grammar): New, to provide access to the "variant"
+       grammar.
+       Use it.
+       (getopts): Support -d, --directive.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Use inline for small operations.
+       * data/lalr1.cc (symbol_base_type, symbol_type)
+       (stack_symbol_type): Declare constructor and other operations as
+       inline.
+       (yy_destroy_): Inline.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Introduce a hierarchy for symbols.
+       * data/lalr1.cc (symbol_base_type, symbol_type): New.
+       (data_type): Rename as...
+       (stack_symbol_type): this.
+       Derive from symbol_base_type.
+       (yy_symbol_value_print_): Merge into...
+       (yy_symbol_print_): this.
+       Rename as...
+       (yy_print_): this.
+       (yydestruct_): Rename as...
+       (yy_destroy_): this.
+       (b4_symbols_actions, YY_SYMBOL_PRINT): Adjust.
+       (parser::parse): yyla is now of symbol_type.
+       Use its type member instead of yytoken.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Rename data_type and stack_symbol_type.
+       * data/lalr1.cc (data_type): Rename as...
+       (stack_symbol_type): this.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Handle semantic value and location together.
+       * data/lalr1.cc (b4_symbol_actions): Bounce $$ and @$ to
+       yydata.value and yydata.location.
+       (yy_symbol_value_print_, yy_symbol_print_, yydestruct_)
+       (YY_SYMBOL_PRINT): Now take semantic value and location as a
+       single arg.
+       Adjust all callers.
+       (yydestruct_): New overload for a stack symbol.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Push a complete symbol, not connected parts.
+       * data/lalr1.cc (yypush_): Take a data_type&, not disconnected
+       state, value and location.
+       Adjust callers.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Agregate yylval and yylloc.
+       * data/lalr1.cc (parser::yylval, parser::yylloc): Replace by...
+       (parser::yyla): this.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Rely on the state stack to display reduction traces.
+       To display rhs symbols before a reduction, we used information
+       about the rule reduced, which required the tables yyrhs and
+       yyprhs.  Now use rely only on the state stack to get the same
+       information.
+
+       * data/lalr1.cc (b4_rhs_data, b4_rhs_state): New.
+       Use them.
+       (parser::yyrhs_, parser::yyprhs_): Remove.
+       (parser::yy_reduce_print_): Use the state stack.
+
+2008-11-09  Akim Demaille  <demaille@gostai.com>
+
+       Fuse yyval and yyloc into yylhs.
+       * data/lalr1.cc (b4_lhs_value, b4_lhs_location): Adjust to using
+       yylhs.
+       (parse): Replace yyval and yyloc with yylhs.value and
+       yylhs.location.
+       After a user action, compute yylhs.state earlier.
+       (yyerrlab1): Do not play tricks with yylhs.location, rather, use a
+       fresh error_token.
+
+2008-11-09  Di-an Jan  <dianj@freeshell.org>
+
+       Remove unused variable.
+       * src/output.c (type_names_output): Remove unused variable sep.
+
+2008-11-09  Paolo Bonzini  <bonzini@gnu.org>
+
+       Change tests/output.at quoting.
+       * tests/output.at (AT_CHECK_OUTPUT): Use conventional m4 quoting when
+       expanding arguments.
+
+2008-11-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't add a semicolon to actions for %skeleton or %language.
+       It breaks Java test cases as reported by Akim Demaille.
+       * src/scan-code.l: Implement.
+
+2008-11-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up %skeleton and %language priority implementation.
+       * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and
+       remove static qualifier because others will soon need to see it.
+       (language_prio): Likewise.
+       (getargs): Use command_line_prio rather than 0.
+       * src/getargs.h (command_line_prio, grammar_prio, default_prio): New
+       enum fields.
+       (skeleton_prio): Extern it.
+       (language_prio): Extern it.
+       * src/parse-gram.y: Use grammar_prio rather than 1.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Moving push traces into yypush_.
+       * data/lalr1.cc (yypush_): Now takes a optional trace message.
+       Adjust all uses.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       The single-stack C++ parser is now the standard one.
+       * data/lalr1.cc: Rename as...
+       * data/lalr1-split.cc: this.
+       * data/lalr1-fusion.cc: Rename as...
+       * data/lalr1.cc: this.
+       * etc/bench.pl.in: Adjust.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Avoid empty-if warnings.
+       Reported by Quentin Hocquet.
+
+       * data/lalr1-fusion.cc (YY_SYMBOL_PRINT, YY_REDUCE_PRINT)
+       (YY_STACK_PRINT): Provide some contents even when !YYDEBUG.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Pass command line location to skeleton_arg and language_argmatch.
+       * src/getargs.h, src/getargs.c (skeleton_arg, language_argmatch):
+       The location argument is now mandatory.
+       Adjust all dependencies.
+       (getargs): Use command_line_location.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       -D, --define.
+       * src/getargs.c (usage): Document -D.
+       Fix help string for --locations.
+       (command_line_location): New.
+       (short_options, long_options, getargs): Support -D, --define.
+       (getargs): Move -d support at the right place.
+       * doc/bison.texinfo (Bison Options): Update.
+       * tests/input.at (%define, --define): New.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Initialize the muscle table before parsing the command line.
+       * src/getargs.c (quotearg.h, muscle_tab.h): Include.
+       (getargs): Define file_name.
+       * src/main.c (main): Initialize muscle_tab before calling
+       getargs.
+       * src/muscle_tab.c (muscle_init): No longer define file_name, as
+       its value is not available yet.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Locations without columns for command line arguments.
+       * src/location.c (location_print): Don't display negative columns.
+       * src/location.h: Document this.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Fix --help.
+       * src/getargs.c (usage): Fix help string for -W.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Handle more general types of option arguments.
+       * build-aux/cross-options.pl: The argument ends at the first
+       space, not the first non-symbol character.
+       Use @var for each word appearing the argument description.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Destroy the variants that remain on the stack in case of error.
+       * data/lalr1-fusion.cc (yydestruct_): Invoke the variant's
+       destructor.
+       Display the value only if yymsg is nonnull.
+       (yyreduce): Invoke yydestruct_ when popping lhs symbols.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Add "%define assert" to variants.
+       This is used to help the user catch cases where some value gets
+       ovewritten by a new one.  This should not happen, as this will
+       probably leak.
+
+       Unfortunately this uncovered a bug in the C++ parser itself: the
+       lookahead value was not destroyed between two calls to yylex.  For
+       instance if the previous lookahead was a std::string, and then an int,
+       then the value of the std::string was correctly taken (i.e., the
+       lookahead was now an empty string), but std::string structure itself
+       was not reclaimed.
+
+       This is now done in variant::build(other&) (which is used to take the
+       value of the lookahead): other is not only stolen from its value, it
+       is also destroyed.  This incurs a new performance penalty of a few
+       percent, and union becomes faster again.
+
+       * data/lalr1-fusion.cc (variant::build(other&)): Destroy other.
+       (b4_variant_if): New.
+       (variant::built): New.
+       Use it whereever the status of the variant changes.
+       * etc/bench.pl.in: Check the penalty of %define assert.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Use "%define variant" in bench.pl.
+       * etc/bench.pl.in: No longer use the pseudo directive %variants,
+       just use %define variants.
+
+2008-11-07  Akim Demaille  <demaille@gostai.com>
+
+       Regen.
+       * src/parse-gram.h, src/parse-gram.c: Regen.
+
+2008-11-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix user actions without a trailing semicolon.
+       Reported by Sergei Steshenko at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00001.html>.
+       * THANKS (Sergei Steshenko): Add.
+       * src/scan-code.l (SC_RULE_ACTION): Fix it.
+       * tests/regression.at (Fix user actions without a trailing semicolon):
+       New test case.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Use b4_copyright_years.
+       * data/yacc.c (b4_copyright_years): New.
+       Fix its value according to the comments in the file.
+       Use it and undefine it.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * data/lalr1-fusion.cc, src/parse-gram.y: here.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Formatting changes.
+       * data/lalr1-fusion.cc: here.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Use strict on bench.pl.
+       * etc/bench.pl.in (&run, &generate_grammar): New.
+       Rename the grammar generating functions for consistency.
+       Change the interface so that the list of benches to run is passed
+       as (optionless) arguments.
+       (&compile): Use &run.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Remove spurious initial empty lines.
+       * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
+       * data/yacc.c: End the @output lines with an @.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Improve the display of sizes.
+       * etc/bench.p.in: Higher precision.
+       Sort by decreasing size.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Don't memcpy C++ structures.
+       * data/lalr1-fusion.cc (b4_symbol_variant): Adjust additional
+       arguments.
+       (variant::build): New overload for
+       copy-construction-that-destroys.
+       (variant::swap): New.
+       (parser::yypush_): Use it in variant mode.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Better defaults for bench.pl.
+       * etc/bench.pl.in ($verbose, $cflags, $iterations): Change the
+       default values.
+       Adjust &verbose uses.
+       (-q, --quiet): New.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Make variant.yy more complex.
+       std::list cannot be copied via memcpy, they are more demanding than
+       std::string.  Use one std::list to strengthen the test.
+
+       * examples/variant.yy: Use lalr1-fusion.cc, not lalr1.cc.
+       Adjust.
+       Create a list of strings, instead of a single large string.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       bench.pl --bench.
+       * etc/bench.pl.in (--bench, $bench): New.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Sort methods.
+       * data/lalr1-fusion.cc (destroy): Use as() in its definition.
+       Define it after as().
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Useless parens.
+       * data/lalr1-fusion.cc (b4_rhs_location): Remove useless parens.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Issue missing synclines after user actions.
+       * data/c.m4 (b4_case): Issue synclines on the output file.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Remove trailing empty line.
+       * data/lalr1-fusion.cc: Don't add an empty line after the user's
+       epilogue.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Fix output of copyright years.
+       * data/bison.m4 (b4_copyright): Fix the indentation of the
+       copyright year paragraph.
+       Use b4_copyright_years when no years are given.
+       * data/lalr1.cc, data/lalr1-fusion.cc, data/location.cc
+       (b4_copyright_years): New.
+       Use it.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Avoid the spurious initial empty line.
+       * data/lalr1-fusion.cc, data/location.cc: Put a trailing "@" at
+       the end of @output request to suppress the empty line that
+       results.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Remove parser::rhs_number_type.
+       * data/lalr1-fusion.cc (rhs_number_type): No longer define it.
+       (yyrhs_): Use b4_table_define.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Fix iteration type.
+       * data/lalr1-fusion.cc: Use an int to iterate up to an int.
+
+2008-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Factor the declaration of the integer tables.
+       * data/lalr1-fusion.cc (b4_table_define): New.
+       Use it.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Fix indentation of tables in lalr1.cc
+       * data/lalr1-fusion.cc: Fix the indentation.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Destroy the lhs symbols after reduction.
+       * data/lalr1-fusion.cc (parse): After the user action, when in
+       variant mode, destroy the lhs symbols.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Simplify yysyntax_error_ use.
+       * data/lalr1-fusion.cc (yysyntax_error_): Always pass it the token
+       type, but make it unnamed in the declaration when it is not used.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Let yy::variant::build return an lvalue.
+       * data/lalr1-fusion.cc (variant::build): Return a reference to the
+       object.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Define yy::variant only when needed.
+       * data/lalr1-fusion.cc (yy::variant): Define only if variants are
+       used.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Bench the three-stack lalr1.cc.
+       * etc/bench.pl.in: Bench the three-stack lalr1.cc vs. the
+       one-stack one.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Fail on parse error in calc++.
+       * doc/bison.texinfo (calc++.cc): Propagate failures to the exit
+       status.
+       * examples/calc++/test ($me, $number, $exit, run): New.
+       Use them to propagate errors to the exit status.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Don't specify the skeleton twice in the example.
+       * examples/calc++/Makefile.am: Don't pass -S to Bison, the grammar
+       file does what is needed.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       bench: Improve output.
+       * etc/bench.pl.in (bench_grammar): Tune the printf format.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       bench: check impact of %debug on variants.
+       * etc/bench.pl.in (variant_grammar): Fix the computation of
+       $variant.
+       Generate a grammar file that can work with or without %debug.
+       Do use the @directive.
+       (bench_variant_parser): Check impact of %debug.
+       (@directives): Rename all the occurrences to...
+       (@directive): this, for consistency.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       bench: report the size too.
+       * etc/bench.pl.in ($iterations): Defaults to -3.
+       (&bench_grammar): Require hireswallclock.
+       Compute and display the size of the result.
+       More comments.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       bench: More use of the verbosity level.
+       * etc/bench.pl.in ($verbose, &verbose): New.
+       Use them.
+       More POD documentation.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       bench.pl: a command line interface
+       * etc/bench.pl.in: More doc.
+       Some fixes in the documentation.
+       ($cflags, $iterations, &help, &getopt): New.
+       Use them.
+       (&variant_grammar): Let the number of stages be 10 times what is
+       specified.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Bench the use of Boost.Variants.
+       * etc/bench.pl.in ($cxx, &variant_grammar, &bench_variant_parser):
+       New.
+       (&compile): Be ready to compile C++ parsers.
+       (&bench_push_parser): Move debug information to the outermost
+       level.
+       * THANKS: Add Michiel De Wilde.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       bench.pl: Pass directives as a list instead of as a string.
+       * etc/bench.pl.in (&directives): New.
+       (&triangular_grammar, &calc_grammar): Use it to format the Bison
+       directives.
+       (&triangular_grammar): Do use the directives (were ignored).
+       (&bench_grammar, &bench_push_parser): Adjust to pass lists of
+       directives.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Improve genericity of bench.pl.
+       * etc/bench.pl.in (&bench_grammar): Take the set of benches as
+       argument.
+       (&bench_push_parser): New.
+       Call it.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Add documentation to bench.pl.
+       * etc/bench.pl.in: Comment changes.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Fuse the three stacks into a single one.
+
+       In order to make it easy to perform benchmarks to ensure that
+       there are no performance loss, lalr1.cc is forked into
+       lalr1-fusion.cc.  Eventually, lalr1-fusion.cc will replace
+       lalr1.cc.
+
+       Meanwhile, to make sure that lalr1-fusion.cc is correctly
+       exercized by the test suite, the user must install a symbolic link
+       from lalr1.cc to it.
+
+       Instead of having three stacks (state, value, location), use a
+       stack of triples.  This considerably simplifies the code (and it
+       will be easier not to require locations as currently does the C++
+       parser), and also gives a 10% speedup according to
+       etc/bench (probably mainly since memory allocation is done once
+       instead of three times).
+
+       Another motivation is to make it easier to destruct properly
+       semantic values: now that they are bound to their state (hence
+       symbol type) it will be easier to call the appropriate destructor.
+
+       These changes should probably benefit the C parser too.
+
+       * data/lalr1.cc: Copy as...
+       * data/lalr1-fusion.cc: this new file.
+       (b4_rhs_value, b4_rhs_location): New definitions overriding those
+       from c++.m4.
+       (state_stack_type, semantic_stack_type, location_stack_type)
+       (yystate_stack_, yysemantic_stack_, yylocation_stack_): Remove.
+       (data_type, stack_type, yystack_): New.
+       (YYLLOC_DEFAULT, yypush_): Adjust.
+       (yyerror_range): Now based on data_type, not location_type.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Push the state, value, and location at the same time.
+       This is needed to prepare a forthcoming patch that fuses the three
+       stacks into one.
+
+       * data/lalr1.cc (parser::yypush_): New.
+       (parser::yynewstate): Change the semantics: instead of arriving to
+       this label when value and location have been pushed, but yystate
+       is to be pushed on the state stack, now the three of them must
+       have been pushed before.  yystate still must be the new state.
+       This allows to use yypush_ everywhere instead of individual
+       handling of the stacks.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Prefer references to pointers.
+       * data/lalr1.cc (b4_symbol_actions): New, overrides the default C
+       definition to use references instead of pointers.
+       (yy_symbol_value_print_, yy_symbol_print_, yydestruct_):
+       Take the value and location as references.
+       Adjust callers.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       stack::size instead of stack::height.
+       * data/lalr1.cc (stack::height): Rename as...
+       (stack::size): this.
+       Fix the output type.
+       Comment changes.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Use variants to support objects as semantic values.
+       This patch was inspired by work by Michiel De Wilde.  But he used
+       Boost variants which (i) requires Boost on the user side, (ii) is
+       slow, and (iii) has useless overhead (the parser knows the type of
+       the semantic value there is no reason to duplicate this
+       information as Boost.Variants do).
+
+       This implementation reserves a buffer large enough to store the
+       largest objects.  yy::variant implements this buffer.  It was
+       implemented with Quentin Hocquet.
+
+       * src/output.c (type_names_output): New.
+       (output_skeleton): Invoke it.
+       * data/c++.m4 (b4_variant_if): New.
+       (b4_symbol_value): If needed, provide a definition for variants.
+       * data/lalr1.cc (b4_symbol_value, b4_symbol_action_)
+       (b4_symbol_variant, _b4_char_sizeof_counter, _b4_char_sizeof_dummy)
+       (b4_char_sizeof, yy::variant): New.
+       (parser::parse): If variants are requested, define
+       parser::union_type, parser::variant, change the definition of
+       semantic_type, construct $$ before running the user action instead
+       of performing a default $$ = $1.
+       * examples/variant.yy: New.
+       Based on an example by Michiel De Wilde.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Parameterize the extraction of semantic values.
+       To make future changes easier, no longer rely on ".TYPE" being the
+       way to get a semantic value.
+
+       * data/c.m4 (b4_symbol_value): New.
+       Use it.
+       * data/c++.m4, data/yacc.c: Use it.
+       * data/glr.c: Use b4_symbol_value.
+       (b4_rhs_data): New.
+       Use it.
+
+2008-11-03  Akim Demaille  <demaille@gostai.com>
+
+       Prepare easier M4 changes.
+       * data/lalr1.cc: Use escaped [] instead of literals to prepare
+       future changes.
+
+2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Initiate further development.
+       * NEWS: Create an empty section for new entries.
+       * gnulib: Update submodule to HEAD.
+
+2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS: Version 2.4.
+
+2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Prepare for next release.
+       * NEWS: Briefly mention changes since 2.3b.
+       * README: Say GNU m4 1.4.6, which we've been requiring in release
+       announcements already, not 1.4.3, which breaks the build.
+
+2008-11-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Say %language is experimental.
+       We're thinking of extending it's effect on output file naming.  See the
+       thread at
+       <http://lists.gnu.org/archive/html/bison-patches/2008-10/msg00003.html>.
+       * NEWS: Say it's experimental.
+       * doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't
+       recommend it over %skeleton for now.
+       (Bison Options): Likewise.
+       (C++ Bison Interface): Use %skeleton not %language.
+       (Calc++ Parser): Use %skeleton not %language.
+       * src/getargs.c (usage): Say it's experimental.
+
+2008-11-01  Di-an Jan  <dianj@freeshell.org>
+           Paolo Bonzini  <bonzini@gnu.org>
+
+       Support all Java parser class modifiers.
+       * data/java.m4 (b4_percent_define_get3): New.
+       (b4_final_if, b4_strictfp_if): New.
+       * data/lalr1.java (final, strictfp, extends, implements): Support.
+       * doc/bison.texinfo (final, strictfp, extends, implements): Add
+       documentation.
+       * tests/java.at (AT_CHECK_JAVA_MINIMAL): New.
+       (AT_CHECK_JAVA_MINIMAL_W_LEXER): New.
+       (AT_CHECK_JAVA_GREP): New.
+       (Java parser class modifiers): New test.
+       (Java parser class extends and implements): New test.
+
+       Model exception propagation better with throws and lex_throws.
+       * data/java.m4 (b4_list2): New.
+       (throws): Change default.
+       * data/lalr1.java (yyaction): Add throws.
+       (parse): Add lex_throws in addition to throws.
+       * doc/bison.texinfo (throws, lex_throws): Add documentation.
+       * tests/java.at (Java throws specifications): New test.
+
+       Improve documentation for Java parsers.
+       * doc/bison.texinfo (Java Parsers): Add subsections.
+       Don't quote first argument of %define.
+       (Java Bison Interface): Document output files.  Move documentation
+       of parser class and merge into Java Parser Interface.  Document
+       features that error out.  Document directives with no effect.
+       Move note about Javadoc higher.
+       (Java Semantic Values): Explicitly mention stype.
+       Document that generic types cannot be used.
+       (Java Location Values): Use @deftypeivar.  Document constructors.
+       Correct return value for toString.
+       (Java Parser Interface): List undocumented constants/fields.
+       Move documentation of fields added by %parse-param closer to list
+       of members.  Document that token names are added as fields.
+       Document constructors accurately.  Remove error method.
+       (Java Scanner Interface): Move note on %pure-parser to Java Bison
+       Interface.  Describe %code lexer and yylex accutately.
+       Remove documentation that does not match the code.
+       (Java Action Features): New.
+       (Java Differences): Add reference.  Add item on semantic values.
+       Add note about @{ ... @}.  Clarify %% epilogue placement.
+       (Java Declarations Summary): New.
+
+       Fix Java skeleton.
+       * data/java.m4 (b4_prefix): Correct quoting for m4_define_default.
+       (b4_remove_comma): Quote test argument.
+       (b4_identification): Remove "bison" field.
+       * tests/java.at (Java parser class and package names): New test.
+       (Java %parse-param and %lex-param): New test.
+       (Java stype, position_class and location_class): New test.
+
+2008-10-31  Di-an Jan  <dianj@freeshell.org>
+
+       * data/lalr1.jave: Update copyright years.
+       (YYParser): Correct name of "generated from" file in Javadoc:
+       use b4_file_name instead of @ofile@.
+       (Location constructor): Correct Javadoc parameter name.
+       (yylloc): Add missing opening m4 quote after b4_location_if.
+       This removes a stray [ in the Javadoc of Lexer.getStartPos.
+       (Lexer.yyerror): Fix incorrect m4 and Javadoc.
+       (YYParser constructor): Correct Javadoc parameter name.
+
+2008-10-30  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Always put auxiliary code files in the same dir as other output files.
+       * src/files.c (compute_file_name_parts): When the user specifies
+       --output but not --file-prefix, extract the directory prefix from the
+       file prefix not from the grammar file name.  This affects the location
+       of files like location.hh generated by the C++ skeleton.  The includes
+       in the other output files require this fix.
+       * tests/output.at (AT_CHECK_OUTPUT): Automatically create directories
+       for expected output files.
+       (Output files): Add a test for the above.
+
+2008-10-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * gnulib: Update submodule to HEAD.
+
+2008-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update copyright year.
+       * src/files.c: Here.
+
+2008-10-28  Di-an Jan  <dianj@freeshell.org>  (tiny change)
+
+       Don't overwrite the input file.
+       * src/files.c (output_file_name_check): Fatal error if using input file
+       for output.
+       * tests/output.at: (AT_CHECK_CONFLICTING_OUTPUT): Add return status
+       argument.
+       (Conflicting output files): Add test.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Space changes.
+       * data/lalr1.cc: Formatting changes.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Don't define debugging functions when !YYDEBUG.
+       * data/lalr1.cc (debug_stream, set_debug_stream)
+       (debug_level_type, debug_level, set_debug_level): Don't
+       declare them when YYDEBUG is not defined.
+       The implementation are already YYDEBUG-aware.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Prefer "continue" for empty loop bodies.
+       * etc/bench.pl.in: Use "continue" instead of {}.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Space and comments changes.
+       * data/c++.m4, data/glr.c, data/lalr1.cc: Copyright year changes.
+       * data/c.m4, data/lalr1.cc: Space changes.
+
+2008-10-28  Akim Demaille  <demaille@gostai.com>
+
+       Make gnulib a submodule.
+       * gnulib: New.
+       * .gitmodules (gnulib): New.
+
+2008-10-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix yyerror_range for user-defined location type in C++.  Reported by
+       Georg Sauthoff at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-08/msg00008.html>.
+       * data/lalr1.cc (parse): Change type of yyerror_range to location_type.
+       * THANKS (Georg Sauthoff): Add.
+
+2008-10-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update several administrative files mainly to facilitate releasing.
+       * HACKING (Administrivia): Make the git-merge-changelog notes more
+       helpful.
+       (Test suite): Don't say lalr1.cc is not exercised in the test suite.
+       (Release Procedure): Update for git and add numerous details that were
+       previously missing.
+       * Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint.
+       * maint.mk (announcement): Don't list bison as a bootstrap tool so
+       that announcements don't claim we bootstrapped with whatever bison
+       happened to be in PATH.  Add flex as a bootstrap tool.
+       * Makefile.maint: Remove, previously replaced by maint.mk.
+       * Makefile.cfg: Remove, and migrate settings to...
+       * cfg.mk: ... here for the sake of `make announcement'.
+       * bootstrap.conf (gnulib_modules): Add announce-gen.
+       * README: Say GNU Bison instead of just Bison.  Suggested by Karl
+       Berry.
+
+2008-10-08  Di-an Jan  <dianj@freeshell.org>  (tiny change)
+
+       Small but important bugfixes for the Java skeleton.
+       * data/lalr1.java (yyerror): Change Location to b4_location_type.
+       (yy_symbol_print): Call toString on yyvaluep.
+
+2008-08-29  Akim Demaille  <demaille@gostai.com>
+
+       Clarify UPDATED use.
+       * doc/bison.texinfo: It refers to the last edition of this file,
+       not to the release date of Bison.
+       Reported by Joel E. Denny.
+
+2008-08-29  Akim Demaille  <demaille@gostai.com>
+
+       * README: Update FAQ pointer.
+       Reported by Joel E. Denny.
+
+2008-08-27  Eric Blake  <ebb9@byu.net>
+
+       Resync m4sugar from autoconf.
+       * data/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine)
+       (m4_init): Adjust to latest m4.git changes.
+       (m4_mapall_sep, _m4_list_cmp, m4_version_compare): Reduce side
+       effects.
+       * data/m4sugar/foreach.m4 (_m4_shiftn): Fix off-by-one bug.
+       (_m4_list_cmp): Reduce side effects.
+
+2008-08-27  Akim Demaille  <demaille@gostai.com>
+
+       Check yyerrok in calc.at.
+       * tests/calc.at (calc.y): Use yyerrok on "( error )".
+       (AT_CHECK_CALC): Add a check that ensures that yyerrok works as
+       expected.
+
+2008-08-27  Akim Demaille  <demaille@gostai.com>
+
+       Support yyerrok in lalr1.cc.
+       YYBACKUP is still to import back into lalr1.cc.
+       * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.
+
+2008-08-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For maintainer-check*, don't recompile for a $(VERSION) update.
+       * cfg.mk: New file.
+       (_is-dist-target): Override the one in GNUmakefile.
+       * Makefile.am (EXTRA_DIST): Add cfg.mk.
+
+2008-08-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update for recent change to gnulib.
+       * src/parse-gram.y: Don't include strverscmp.h.  It comes from
+       string.h now.
+
+2008-08-15  Eric Blake  <ebb9@byu.net>
+
+       Remaining m4sugar merge from autoconf.
+       * data/m4sugar/m4sugar.m4: Copy entire file from autoconf.
+       * data/m4sugar/foreach.m4: New file, copied from autoconf.
+       * data/Makefile.am (dist_m4sugar_DATA): Distribute it.
+       * src/output.c (output_skeleton): Tell m4 how to find it.
+
+       Partial m4sugar merge from autoconf: m4_map.
+       * data/m4sugar/m4sugar.m4 (m4_fst): Delete.
+       (m4_map, m4_map_sep, _m4_map): Rewrite more efficiently.
+       (m4_apply, _m4_apply, m4_mapall, m4_mapall_sep): New macros.
+       * data/java.m4 (b4_token_enums): Use more efficient short-circuit
+       for empty list.
+       * data/c.m4 (b4_token_defines, b4_token_enums, b4_c_ansi_formals):
+       Likewise.
+       (b4_parse_param_for): Avoid m4_fst, now that autoconf no longer
+       declares it.
+
+2008-08-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Keep .version and PACKAGE_VERSION in sync.
+       * Makefile.am ($(top_srcdir)/.version): Declare configure as a
+       dependency, and add comments justifying this in more detail.  Discussed
+       starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2008-07/msg00022.html>.
+
+2008-08-06  Eric Blake  <ebb9@byu.net>
+
+       Partial m4sugar merge from autoconf: m4_shiftn.
+       * data/m4sugar/m4sugar.m4 (m4_shiftn): Faster implementation.
+       (m4_shift2, m4_shift3): New macros.
+       (m4_case, m4_bmatch, m4_bpatsubsts, m4_join): Adjust clients.
+       * data/c.m4 (b4_c_function_def, b4_c_ansi_function_def)
+       (b4_c_ansi_function_decl, b4_c_function_call): Likewise.
+       * data/java.m4 (b4_remove_comma): Likewise.
+
+       Partial m4sugar merge from autoconf: m4_wrap vs. m4 1.6.
+       * data/m4sugar/m4sugar.m4 (m4_unquote, m4_wrap_lifo): New macros.
+       (m4_wrap): Guarantee FIFO order, in spite of m4 1.6.
+       (m4_init): Consolidate wrapped text into single m4_wrap.
+       * data/bison.m4 (b4_check_user_names_wrap): Stick with LIFO order
+       in wrapped text.
+
+2008-08-05  Eric Blake  <ebb9@byu.net>
+
+       Partial m4sugar merge from autoconf: builtins, version.m4.
+       * data/m4sugar/m4sugar.m4 (changeword): Nuke.
+       (m4_prepend): Remove, as it is unused and inherently quadratic,
+       whereas m4_append is linear in newer m4.
+       (m4_mkstemp): New builtin.
+       (m4_symbols): Make rename conditional.
+       (m4_version_prereq): Ensure fatal error if used in bison, which
+       intentionally lacks version.m4.
+
+       Fix comments in m4sugar.
+       * data/m4sugar/m4sugar.m4: Comment changes, borrowed from autoconf.
+
+2008-08-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update for recent .gitignore fix in Gnulib.
+       * bootstrap: Back out 2008-07-18 hack now that gnulib-tool creates
+       anchored .gitignore entries.
+
+2008-08-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Set gnu or gnits strictness.
+       * configure.ac (AM_INIT_AUTOMAKE): Set gnu strictness during
+       development and gnits strictness for releases.  Based on Eric Blake's
+       suggestion at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00019.html>.
+
+2008-07-31  Paolo Bonzini  <bonzini@gnu.org>
+
+       * NEWS: Clarify documentation of %language.
+
+2008-07-31  Paolo Bonzini  <bonzini@gnu.org>
+
+       Support usage of git-merge-changelog.
+       * .gitattributes: New.
+       * HACKING: Document usage of git-merge-changelog.
+       * bootstrap: Install git-merge-changelog entries in .git/config
+       if appropriate.
+
+2008-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Remove remaining dependence on CVS Id keyword.
+       * ChangeLog: For the sake of people still using CVS, don't use dollars
+       when mentioning Id.
+       * data/xslt/bison.xsl: Remove Id from header comments, where it was
+       unusual anyway.
+       * data/xslt/xml2dot.xsl: Likewise.
+       * data/xslt/xml2text.xsl: Likewise.
+       * data/xslt/xml2xhtml.xsl: Likewise.
+       * doc/Doxyfile.in (PROJECT_NUMBER): Don't use ID.
+       * doc/Makefile.am (neutralize): Remove, no longer needed.
+       (.x.1): Don't use neutralize.
+       (edit): Don't substitute for ID.
+       (Doxyfile): Don't define Id, and thus don't depend on ChangeLog.
+
+2008-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix dependence on computed configure variables.
+       * doc/Makefile.am (common_dep): Depend on $(top_srcdir)/configure not
+       $(top_srcdir)/configure.ac so that changes to computed variables, such
+       as PACKAGE_VERSION, are seen.
+       * tests/Makefile.am ($(srcdir)/package.m4): Likewise.
+
+2008-07-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update copyright dates for recent changes.
+       * Makefile.am: Here.
+       * src/Makefile.am: Here.
+       * src/reduce.c: Here.
+       * tests/reduce.at: Here.
+
+2008-07-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Use git-version-gen for version names between releases.
+       * .cvsignore (.tarball-version, GNUmakefile, *~): Add.
+       * .gitignore (/.tarball-version, /GNUmakefile, /*~): Add.
+       * .prev-version: New.
+       * .version.in: Remove.
+       * ChangeLog: Remove the Id previously used for capturing the CVS
+       revision.
+       * GNUmakefile: Remove, now copied from Gnulib.
+       * Makefile.am: Add code suggested by comments in
+       build-aux/git-version-gen.
+       (EXTRA_DIST): Remove GNUmakefile, handled by Gnulib.  Add maint.mk,
+       .prev-version, and .version.
+       * NEWS (2.3b+): Rename to...
+       (?.?): ... this because we're dropping the "+" version naming scheme,
+       but, in general, we still can't be sure of our next release name.
+       * bootstrap: Add a quick hack to remove from .gitignore the
+       GNUmakefile entry that gnulib adds.  We already have a /GNUmakefile
+       entry.  This should really be fixed in gnulib instead.
+       * bootstrap.conf (gnulib_modules): Add gnumakefile.
+       * configure.ac (AC_INIT): Set version name by invoking
+       build-aux/git-version-gen.
+       (AC_CONFIG_FILES): Remove .version, now generated by
+       build-aux/git-version-gen.
+       * maint.mk: New, copied from coreutils.
+       * doc/.cvsignore (bison.1): Add.
+       * doc/.gitignore (/bison.1): Add.
+       * doc/bison.1: Remove, generated.
+       * src/.cvsignore (revision.c): Remove.
+       * src/.gitignore (/revision.c): Remove.
+       * src/Makefile.am (bison_SOURCES): Remove revision.c and revision.h.
+       (BUILT_SOURCES): Remove revision.c.
+       (revision.c): Remove.
+       * src/getargs.c (version): Don't print revision after the VERSION.
+       * src/revision.h: Remove.
+
+2008-07-16  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix untranslatable composition of sentences.  Reported by Goran
+       Uddeborg at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-06/msg00000.html>.
+       * THANKS (Goran Uddeborg): Add.
+       * src/reduce.c (reduce_print): Report the number of nonterminals and
+       rules useless in the grammar in separate sentences.
+       * tests/reduce.at (Useless Rules): Update output.
+       (Reduced Automaton): Likewise.
+       (Underivable Rules): Likewise.
+       (Empty Language): Likewise.
+
+2008-07-15  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix some .gitignore and .cvsignore problems.
+       * bootstrap (insert_sorted_if_absent): Replace all uses with...
+       (insert_vc_ignore): ... this new function, which prepends `/' to all
+       .gitignore entries before passing them to insert_sorted_if_absent.
+       * bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that
+       .cvsignore files are maintained even though Bison developers run
+       bootstrap while using Git.
+       * .cvsignore (*.patch *.log log patches applied): Remove, apparently
+       unneeded by Bison.
+       (gnulib): Add.
+       * .gitignore (/*.patch *.log log patches applied): Remove, broken and
+       unneeded.  Reported by Eric Blake.
+       * lib/.gitignore (/*~): Add.
+       * po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore.
+       * examples/calc++/.gitignore (/calc++.exe): Add.  Reported by Eric
+       Blake.
+       * src/.gitignore (/bison.exe): Add.  Reported by Eric Blake.
+
+2008-07-15  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Improve forward-compatibility with GNU M4.  Reported by Eric Blake at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00000.html>.
+       * bootstrap.conf (gnulib_modules): Add unsetenv.
+       * lib/.gitignore, lib/.cvsignore (/unsetenv.c): Add.
+       * m4/.gitignore, m4/.cvsignore (/environ.m4): Add.
+       (/setenv.m4): Add.
+       * src/output.c (output_skeleton): For the m4 invocation, pass -dV as
+       the first argument because it may become position-dependent, and unset
+       POSIXLY_CORRECT so Bison's skeletons have access to GNU M4 extensions.
+       Add comments explaining these issues in more detail.
+
+2008-07-14  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add .gitignore everywhere based on .cvsignore.
+       * .gitignore: New.
+       * build-aux/.gitignore: New.
+       * data/.gitignore: New.
+       * doc/.gitignore: New.
+       * etc/.gitignore: New.
+       * examples/.gitignore: New.
+       * examples/calc++/.gitignore: New.
+       * lib/.gitignore: New.
+       * m4/.gitignore: New.
+       * po/.gitignore: New.
+       * runtime-po/.gitignore: New.
+       * src/.gitignore: New.
+       * tests/.gitignore: New.
+
+2008-05-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS (2.3b+): New section, empty for now.
+       * configure.ac (AC_INIT): 2.3b -> 2.3b+.
+
+2008-05-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS (2.3b): Update release date since there has been a delay in
+       getting the announcements and tarballs out.
+
+2008-05-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS: Version 2.3b.
+       * configure.ac (AC_INIT): Likewise.
+       (PACKAGE_COPYRIGHT_YEAR): Update to 2008.
+
+2008-05-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * HACKING: Don't say don't mention HACKING in the ChangeLog.  We've
+       been doing it for years.
+       (Test suite): Mention maintainer-push-check and maintainer-xml-check.
+       (Release Procedure): Add FIXME about make alpha being unmaintained.
+
+2008-05-13  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/yacc.c: Reformat m4 a little for readability.
+       * src/lalr.c (build_relations): Correct comment.
+
+2008-05-12  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       DJGPP specific issue.
+       * djgpp/config.sed: Fixes required to run configure scripts generated
+       by autoconf 2.62.
+
+2008-05-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * HACKING (Release Procedure): translation@iro.umontreal.ca is now
+       coordinator@translationproject.org.
+
+2008-05-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * THANKS: Add Eric Blake.
+
+2008-04-23  Eric Blake  <ebb9@byu.net>
+
+       Revert prior patch, by working around autoconf regression.
+       * tests/output.at (m4_expand): Add workaround for autoconf 2.62.
+       ("Output file name: ("): Uncomment test.
+       ("Output file name: )"): Likewise.
+       Based on an idea from Noah Misch.
+
+2008-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Work-around an Autoconf 2.62 AT_SETUP bug that was not present in
+       2.61.  Reported by Juan Manuel Guerrero at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-04/msg00011.html>.
+       * tests/output.at ("Output file name: ("): Comment out test case for
+       now.
+       ("Output file name: )"): Likewise.
+
+2008-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * GNUmakefile: Update git-version-gen invocation so make dist
+       succeeds.
+
+2008-04-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update to the current gnulib CVS repository, and fix trigraph handling
+       in Bison.
+       * bootstrap: Update gnulib CVS repository URL.
+       (symlink_to_dir): Encapsulate the code that guarantees the destination
+       directory exists into...
+       (check_dst_dir): ... this new function, and...
+       (cp_mark_as_generated): ... reuse it here so that bootstrap doesn't
+       fail when copying files into lib/uniwidth/.
+       * src/output.c (prepare_symbols): When writing yytname muscles, where
+       symbol names will be encoded in C-string literals, tell quotearg to
+       escape trigraphs.  This used to be the default in gnulib.
+       * tests/regression.at (Token definitions): Because of the change in
+       gnulib's quotearg behavior, string_as_id in parse-gram.y no longer
+       escapes trigraphs in symbol names.  Thus, yytname no longer has
+       trigraphs unnecessarily doubly escaped.  Update test case output.
+       Extend test case to be sure Bison's own error messages will no longer
+       have trigraphs in symbol names unnecessarily escaped once.
+
+2008-04-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix make dist infinite loop reported by Juan Manuel Guerrero at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00009.html>.
+       * .cvsignore: Add .version.
+       * .version.in: New.
+       * bootstrap.conf (gnulib_modules): Add git-version-gen.
+       * configure.ac (AC_CONFIG_FILES): Add .version.
+       * build-aux/.cvsignore: Add git-version-gen.
+
+2008-03-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS (2.3a+): Mention that -g now takes an argument.
+       * doc/bison.texinfo (Bison Options): Reword -W entry a little for
+       consistency.  Update the -g and -x entries now that they take
+       arguments.  Use brackets to indicate optional arguments.
+       * src/getargs.c (usage): Explain the relationship between arguments of
+       long and short options more completely.  Document --defines and -d
+       separately since the former takes an argument but, for POSIX Yacc, the
+       latter does not.
+       (short_options): Let -W take an optional argument like --warnings.
+       (getargs): Sort cases.
+
+2008-02-28  Akim Demaille  <demaille@gostai.com>
+
+       * doc/bison.texinfo: Fix a few typos.
+
+2008-02-28  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Bison Options): Document -W.
+       Based on Joel E. Denny's NEWS entry, and Automake's documentation.
+
+2008-02-28  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (short_options): Split and sort for readability.
+       -g and -x take optional arguments, just like their long options.
+       * build-aux/cross-options.pl: Use /x to make the regexp easier to
+       understand.
+       Fix the handling of $opt which resulted in all the argument to be
+       considered as optional.
+
+2008-02-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS (2.3a+): Don't say %language is experimental.  Mention Java and
+       say its interface is experimental.
+       * doc/bison.texinfo (Decl Summary): In the %language entry, mention
+       Java.
+       (Bison Options): In the -L and --language entry, mention Java.
+       (Java Bison Interface): Say the interface is experimental.
+       * src/getargs.c (usage): Mention -L and --language.
+
+       * NEWS (2.3a+): Say the push parsing interface is experimental.
+       * doc/bison.texinfo (Push Decl): Likewise.
+       (Decl Summary): Likewise in the "%define api.push_pull" entry.
+       (Push Parser Function): Likewise.
+       (Pull Parser Function): Likewise.
+       (Parser Create Function): Likewise.
+       (Parser Delete Function): Likewise.
+       (Table of Symbols): Likewise in the yypstate_delete, yypstate_new,
+       yypull_parse, and yypush_parse entries.
+
+       * NEWS (2.3a+): Mention XML support, and say the schema is
+       experimental.
+       * doc/bison.texinfo (Bison Options): Mention -x and --xml.
+       * src/getargs.c (usage): Say the XML schema is experimental.
+
+       * NEWS (2.3a+): Say option instead of flag.
+
+2008-02-21  Wojciech Polak  <polak@gnu.org>
+
+       * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer
+       text.
+
+2008-02-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix impure push parser compile error reported by Bob Rossi at
+       <http://lists.gnu.org/archive/html/help-bison/2008-02/msg00023.html>.
+       * data/yacc.c: Clean up whitespace in the output a little.
+       (yypstate_allocated): Define for impure push parsers regardless of
+       whether the pull interface is also requested.
+       * tests/push.at (Push Parsing: Multiple impure instances): Extend to
+       check impure push parsers without the pull interface.
+
+       * data/yacc.c (yypstate_new): Don't try to invoke yyerror since
+       yyerror takes arguments specified by %parse-param while yypstate_new
+       does not.
+       * doc/bison.texinfo (Parser Create Function): Document that
+       yypstate_new returns 0 for multiple impure parser instances.
+       * tests/push.at (Push Parsing: Multiple impure instances): Update
+       expected stderr output.
+
+2008-02-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * runtime-po/POTFILES.in (push.c): Remove.
+
+2008-02-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/Makefile.am (dist_pkgdata_DATA): Remove push.c.
+       * data/push.c: Rename to...
+       * data/yacc.c: ... this, overwriting it.
+       * etc/bench.pl.in (bench_grammar): `%pure-parser'-> `%define api.pure'.
+       `%push-pull-parser' -> `%define api.push_pull "both"'.
+       Remove old yacc.c tests, and update push.c tests to yacc.c.
+
+2008-02-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/bison.m4 (b4_percent_code_get): Output %code block comments like
+       `"%code top" blocks' instead of `%code "top" blocks'.
+       * data/push.c: Import yacc.c changes from 2008-01-09 and 2007-08-03.
+       Clean up whitespace in the output a little.
+
+2008-02-16  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix documentation problems reported by Tim Josling at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00013.html>.
+       * NEWS (2.3a+): Mention removal of --no-parser, -n, and %no-parser.
+       * doc/bison.texinfo (Token Decl): Token numbers are *nonnegative*
+       integers.  Explain the effect of literal string aliases on error
+       messages.  Copy token 0 documentation from the C++ skeleton
+       documentation.
+
+2008-02-16  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Accept a token number in a %left, %right, or %nonassoc for POSIX
+       conformance.  Reported by Tim Josling at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00010.html>.
+       * NEWS (2.3a+): Mention.
+       * doc/bison.texinfo (Precedence Decl): Describe how literal strings
+       and code numbers are treated by precedence declarations.
+       * src/parse-gram.y (precedence_declaration): Use symbols.prec instead
+       of symbols.1.
+       (symbols.prec): New, just like symbols.1 but uses symbol.prec instead
+       of symbol.
+       (symbol.prec): New, just like symbol but allows INT.
+       * src/symtab.c (symbol_user_token_number_set): Remove an aver that no
+       longer holds.
+       * tests/regression.at (Token number in precedence declaration): New
+       test case.
+
+2008-02-06  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       DJGPP specific issues.
+       * djgpp/config.bat: Add filenames that are not 8.3 clean and that must
+       be changed.  Copyright timestamp adjusted.
+       * djgpp/config.sed: Add filenames that are not 8.3 clean and that must
+       be changed.  Copyright timestamp adjusted.
+       * djgpp/config.site: Copyright timestamp adjusted.
+       * djgpp/config_h.sed: Copyright timestamp adjusted.
+       * djgpp/djunpack.bat: Copyright timestamp adjusted.
+       * djgpp/fnchnage.lst: Add filenames that are not 8.3 clean to the
+       filename translation list.
+       * djgpp/subpipe.c (init_subpipe): Check the environment variables
+       TMPDIR, TMP and TEMP, in that order, to determinate where the temp
+       files shall be created.  Before trying to use the temp dir where the
+       environment variable points to check that the dir really exists. If
+       not default to the cwd as temp dir.  Copyright timestamp adjusted.
+       * djgpp/subpipe.h: Copyright timestamp adjusted.
+       * djgpp/testsuite.sed: Copyright timestamp adjusted.
+
+2008-01-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo: Update Back-Cover text to reflect new GNU wording.
+
+2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (yyparse): Correct the comment when locations aren't used.
+       Problem reported by Claudio Saavedra in
+       <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00003.html>.
+
+2008-01-05  Wojciech Polak  <polak@gnu.org>
+
+       * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Precede an XHTML
+       document's title with the input grammar file name.
+
+2007-12-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Automate regression testing of the XML/XSLT implementation.  Discussed
+       starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-11/msg00021.html>.
+       * configure.ac (XSLTPROC): New substitution.
+       * Makefile.am (maintainer-xml-check): New phony target invoking...
+       * tests/Makefile.am (maintainer-xml-check): ... this new phony target
+       invoking make maintainer-check with BISON_TEST_XML=1.
+       * tests/atlocal.in (XSLTPROC): New.
+       * tests/local.at (AT_BISON_CHECK): New macro to (1) instruct Valgrind
+       not to report reachable memory when Bison is expected to have a
+       non-zero exit status and (2) to compare XML/XSLT output with --graph
+       and --report=all output for every working grammar when
+       BISON_TEST_XML=1.
+       (AT_BISON_CHECK_NO_XML): Likewise, but skip XML checks.
+       (AT_BISON_CHECK_XML): New.
+       (AT_QUELL_VALGRIND): New.
+       * tests/testsuite.at (ORIGINAL_AT_CHECK): Remove this and...
+       (AT_CHECK): ... don't redefine this since this was the old way to
+       quell Valgrind.
+       * tests/actions.at: Rewrite all AT_CHECK invocations for bison as
+       AT_BISON_CHECK invocations.
+       * tests/c++.at: Likewise.
+       * tests/calc.at: Likewise.
+       * tests/conflicts.at: Likewise.
+       * tests/cxx-type.at: Likewise.
+       * tests/existing.at: Likewise.
+       * tests/glr-regression.at: Likewise.
+       * tests/headers.at: Likewise.
+       * tests/input.at: Likewise.
+       * tests/java.at: Likewise.
+       * tests/output.at: Likewise.
+       * tests/push.at: Likewise.
+       * tests/reduce.at: Likewise.
+       * tests/regression.at: Likewise.
+       * tests/sets.at: Likewise.
+       * tests/skeletons.at: Likewise.
+       * tests/synclines.at: Likewise.
+       * tests/torture.at: Likewise.
+       (Big triangle): Use AT_BISON_CHECK_NO_XML instead since this grammar
+       tends to hang xsltproc.
+       (Big horizontal): Likewise.
+
+2007-12-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In XML output, remove redundant class attribute on symbol element.
+       * data/xslt/bison.xsl (xsl:key name="bison:symbolByName"): New.
+       * data/xslt/xml2xhtml.xsl (xsl:template match="symbol"): Use it to
+       look up a symbol to determine whether it's a nonterminal or terminal.
+       * src/gram.c (rule_rhs_print_xml): Remove class attribute.
+       * src/state.c (state_rule_lookahead_tokens_print_xml): Likewise.
+
+       Add prec/assoc information to XML output.
+       * src/gram.c (grammar_rules_print_xml): For each rule that has a
+       %prec, add a percent_prec attribute.
+       * src/print-xml.c (print_grammar): For each terminal that has a
+       precedence or associativity, add a prec or assoc attribute.
+       (xml_indent): New.
+       (xml_puts): Use xml_indent.
+       (xml_printf): Use xml_indent.
+       * src/print-xml.h (xml_indent): Prototype.
+
+       * tests/existing.at (GNU pic Grammar): Fix a rule miscopied from
+       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
+
+2007-12-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/xslt/bison.xsl (bison:ruleNumber): Rename to...
+       (bison:ruleByNumber): ... this for clarity.
+       * data/xslt/xml2dot.xsl (xsl:template match="item"): Update.
+       * data/xslt/xml2text.xsl (xsl:template match="item"): Update.
+       (xsl:template match="reduction"): Update.
+       (xsl:template match="item"): Update.
+       (xsl:template match="reduction"): Update.
+
+       In the XML output, don't print the list of rules where symbols appear.
+       Compute it in XSLT instead.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00024.html>.
+       * data/xslt/bison.xsl (bison:ruleByLhs): New.
+       (bison:ruleByRhs): New.
+       * data/xslt/xml2text.xsl (xsl:template match="terminal"): Use
+       bison:ruleByRhs.
+       (xsl:template match="terminal/rule"): Remove.
+       (xsl:template match="nonterminal"): Use bison:ruleByLhs and
+       bison:ruleByRhs.
+       (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"):
+       Remove.
+       * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Use
+       bison:ruleByRhs and mode="number-link" for rule template.
+       (xsl:template match="terminal/rule"): Remove.
+       (xsl:template match="nonterminal"): Use bison:ruleByLhs and
+       bison:ruleByRhs and mode="number-link" for rule template.
+       (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"):
+       Rewrite as...
+       (xsl:template match="rule" mode="number-link"): ... this.
+       * src/print-xml.c (print_grammar): Don't print the list of rules.
+
+2007-12-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't let --report affect XML output; always print all information.
+       Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00020.html>.
+       * src/conflicts.c (log_resolution): Implement.
+       * src/print-xml.c (print_core): Implement.
+       (print_state): Implement.
+       (print_xml): Implement.
+
+       * NEWS (2.3a+): Fix quotes.
+       * src/parse-gram.y (prologue_declaration): For consistency with -v,
+       don't let %verbose clear the list specified by --report.
+
+2007-11-26  Akim Demaille  <akim@epita.fr>
+
+       * data/Makefile.am (dist_pkgdata_DATA): Ship and install bison.xsl.
+
+2007-11-24  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In the XML output, list useless and unused symbols and rules with the
+       useful ones and add a "usefulness" attribute.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00017.html>.
+       * src/gram.c (grammar_rules_partial_print_xml): Remove.
+       (grammar_rules_print_xml): Print all rules instead of just those
+       useful in the grammar, and add a "usefulness" attribute.
+       * src/gram.h (grammar_rules_partial_print_xml): Remove prototype.
+       * src/print-xml.c (print_rules_useless_in_parser): Remove.
+       (print_grammar): Print all nonterminals instead of just useful ones,
+       and add a "usefulness" attribute to nonterminals and terminals.
+       (print_xml): Don't print a separate "reductions" or
+       "rules-useless-in-parser" element.
+       * src/reduce.c (reduce_output): Use reduce_token_unused_in_grammar.
+       (reduce_xml): Remove.
+       (reduce_token_unused_in_grammar): New.
+       (reduce_nonterminal_useless_in_grammar): New.
+       * src/reduce.h (reduce_xml): Remove prototype.
+       (reduce_token_unused_in_grammar): Add prototype.
+       (reduce_nonterminal_useless_in_grammar): Add prototype.
+       * data/xslt/xml2text.xsl: Update for XML changes.
+       * data/xslt/xml2xhtml.xsl: Update for XML changes.
+       * tests/reduce.at (Useless Terminals): Update output.
+       (Useless Rules): Update output.
+       (Reduced Automaton): Update output.
+
+       Say "Terminals unused in grammar" instead of "Unused terminals".
+       * NEWS (2.3a+): Update.
+       * doc/bison.texinfo (Understanding): Update example output.
+       * src/reduce.c (reduce_output): Implement.
+       * data/xslt/xml2text.xsl: Implement.
+       * data/xslt/xml2xhtml.xsl: Implement.
+
+2007-11-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Accept --report-file=FILE to override the default `.output' filename.
+       * NEWS (2.3a+): Mention.
+       * doc/bison.texinfo (Bison Options): Add an entry.
+       * src/files.c (compute_output_file_names): Don't override
+       spec_verbose_file if already set.
+       * src/getargs.c (usage): Document --report-file.
+       (REPORT_FILE_OPTION): New anonymous enum member.
+       (long_options): Add entry for it.
+       (getargs): Add case for it setting spec_verbose_file.
+
+       * build-aux/cross-options.pl: Don't record a short option just because
+       there's an arg.
+       * doc/.cvsignore: Add yacc.1.
+
+2007-11-14  Akim Demaille  <akim@epita.fr>
+
+       * doc/yacc.1.in: New.
+       * configure.ac, doc/Makefile.am: Adjust.
+       * configure.ac (PACKAGE_COPYRIGHT_YEAR): New substitution, and new
+       config.h symbol.
+       Use AC_SUBST for assignments too.
+       * src/getargs.c (version): Use PACKAGE_COPYRIGHT_YEAR.
+
+2007-11-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/gram.c: Remove comments that duplicate comments in gram.h.
+
+       When reporting useless rules and nonterminals, say "useless in grammar"
+       instead of "useless", and say "useless in parser" instead of "never
+       reduced".  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-10/msg00033.html>.
+       * NEWS (2.3a+): Mention this change.
+       * data/xslt/xml2text.xsl: Update output text and expected input XML
+       element names to match changes below.
+       * data/xslt/xml2xhtml.xsl: Likewise.
+       (xsl:template match="bison-xml-report"): Add missing entry in Table of
+       Contents: "Rules useless in parser due to conflicts".
+       * doc/bison.texinfo (Decl Summary): Reword a little.
+       (Understanding): Update example output for changes below.
+       * src/gram.c: (rule_useful_p): Rename to...
+       (rule_useful_in_grammar_p): ... this.
+       (rule_useless_p): Rename to...
+       (rule_useless_in_grammar_p): ... this.
+       (rule_never_reduced_p): Rename to...
+       (rule_useless_in_parser_p): ... this.
+       (grammar_rules_print): Update for renames.
+       (grammar_rules_print_xml): Update for renames.
+       (grammar_rules_never_reduced_report): Rename to...
+       (grammar_rules_useless_report): ... this since it is used for either
+       kind of useless rule.
+       * src/gram.h: Reword comments and update function names in prototypes.
+       * src/main.c (main): Say "rule useless in parser due to conflicts".
+       * src/print-xml.c (print_rules_never_reduced): Rename to...
+       (print_rules_useless_in_parser): ... this, and rename output XML
+       element "rules-never-reduced" to "rules-useless-in-parser".
+       (print_xml): Update for rename.
+       * src/print.c (print_results): Say "Rules useless in parser due to
+       conflicts".
+       * src/reduce.c (reduce_grammar_tables): Say "rule useless in grammar".
+       (nonterminals_reduce): Say "nonterminal useless in grammar".
+       (reduce_output): Say "Nonterminals useless in grammar".
+       Say "Rules useless in grammar".
+       (reduce_xml): Rename output XML element "useless" to
+       "useless-in-grammar".
+       (reduce_print): Don't report the count of grammatically useless rules
+       as "rules never reduced" just because %yacc is specified.
+       In the correct report of this count, say nonterminal(s) and rule(s)
+       "useless in grammar".
+       * tests/conflicts.at (S/R in initial): Update expected output.
+       (Defaulted Conflicted Reduction): Likewise.
+       (Unreachable States After Conflict Resolution): Likewise.
+       * tests/existing.at (GNU pic Grammar): Likewise.
+       * tests/reduce.at (Useless Nonterminals): Likewise.
+       (Useless Rules): Likewise.
+       (Reduced Automaton): Likewise.
+       (Underivable Rules): Likewise.
+       (Empty Language): Likewise.
+
+2007-11-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/bison.m4 (b4_cat): Put a newline after the end delimiter of the
+       here document and before the EOF so that BSD's implementation of Bourne
+       shell doesn't parse the delimiter as part of the here document.
+       * doc/.cvsignore: Add cross-options.texi.
+       * src/getargs.c (usage): Add a blank line after the warning categories.
+
+2007-11-08  Paolo Bonzini  <bonzini@gnu.org>
+
+       * data/lalr1.java (Lexer): Remove usage of b4_pure_if.
+
+2007-11-05  Akim Demaille  <akim@epita.fr>
+
+       Remove Id: from bison.1.
+       * doc/Makefile.am (remove_time_stamp): Include the sed invocation.
+       (perl -0777 -pi -e 's/\.PP\nId): New.
+       (.x.1): Use it to ignore the version control revision.
+
+2007-11-05  Akim Demaille  <demaille@gostai.com>
+
+       * build-aux/Makefile.am: Ship cross-options.pl.
+       * doc/Makefile.am: Always refer to cross-options.texi with
+       $(srcdir).
+       (MAINTAINERCLEANFILES): Add it.
+
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Generate the long/short option cross-table.
+       * build-aux/cross-options.pl: New.
+       * doc/Makefile.am (cross-options.texi): New.
+       * doc/bison.texinfo: Use it.
+
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Generate bison.1 using help2man.
+       * doc/common.x, doc/bison.x: New.
+       * doc/Makefile.am (bison.1, .x.1): New.
+       The code is taken from autoconf-2.61/man/Makefile.am.
+       * configure.ac: Look for help2man.
+
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Complete --help.
+       * src/getargs.c (usage): Document -W, make it clear that -d,
+       -g and -x have optional arguments.
+
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Find sha1sum when named gsha1sum.
+       * bootstrap (find_tool): New.
+       ($SHA1SUM): New.
+
+2007-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Deprecate %pure-parser and add `%define api.pure'.  Discussed starting
+       at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00006.html>.
+       * NEWS (2.3a+): Mention.
+       * data/bison.m4 (b4_pure_if): Don't define it here.
+       * data/c.m4 (b4_identification): Depend on individual skeletons to
+       define b4_pure_flag, b4_push_flag, or b4_pull_flag if they use the
+       values of the %define variables api.pure or api.push_pull.  Define
+       YYPURE, YYPUSH, and YYPULL accordingly.
+       * data/glr.c: Define b4_pure_if based on `%define api.pure' unless
+       glr.cc has already defined b4_pure_flag.
+       * data/push.c: Define b4_pure_if based on `%define api.pure'.
+       Remove YYPUSH and YYPULL since they're back in b4_identification again.
+       * data/yacc.c: Define b4_pure_if based on `%define api.pure'.
+       * doc/bison.texinfo (Pure Decl): Update.
+       (Push Decl): Update.
+       (Decl Summary): Add api.pure to %define entry.
+       In %pure-parser entry, say it's deprecated and reference %define.
+       (Pure Calling): Update.
+       (Error Reporting): Update.
+       (C++ Scanner Interface): Update.
+       (How Can I Reset the Parser): Update.
+       (Table of Symbols): In %pure-parser entry, say it's deprecated and
+       reference %define.
+       * src/getargs.c (pure_parser): Remove global variable.
+       * src/getargs.h (pure_parser): Remove extern.
+       * src/output.c (prepare): Don't define pure_flag muscle.
+       * src/parse-gram.y (prologue_declaration): Implement %pure-parser as a
+       wrapper around `%define api.pure'.
+       * tests/calc.at (Simple LALR Calculator): Update.
+       (Simple GLR Calculator): Update.
+       * tests/cxx-type.at (GLR: Resolve ambiguity, pure, no locations):
+       Update.
+       (GLR: Resolve ambiguity, pure, locations): Update.
+       (GLR: Merge conflicting parses, pure, no locations): Update.
+       (GLR: Merge conflicting parses, pure, locations): Update.
+       * tests/glr-regression.at (Uninitialized location when reporting
+       ambiguity): Update
+       * tests/input.at (Unused %define api.pure): New test case.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Update definition for
+       AT_PURE_IF and AT_PURE_AND_LOC_IF.
+       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update.
+
+2007-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       %define push_pull -> %define api.push_pull.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00005.html>.
+       * data/push.c: Expect the new name.
+       * data/yacc.c: Likewise.
+       * doc/bison.texinfo (Push Decl): Update.
+       (Decl Summary): Update %define entry.
+       (Push Parser Function): Update.
+       (Pull Parser Function): Update.
+       (Parser Create Function): Update.
+       (Parser Delete Function): Update.
+       * tests/calc.at (Simple LALR Calculator): Update.
+       * tests/input.at (%define enum variables): Update.
+       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update.
+       (Push Parsing: Multiple impure instances): Update.
+       (Push Parsing: Unsupported Skeletons): Update.
+       * tests/torture.at (Exploding the Stack Size with Alloca): Update.
+       (Exploding the Stack Size with Malloc): Update.
+
+       * NEWS (2.3a+): Add an entry for the push parser, and clean up the
+       other entries some.
+
+2007-10-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For the XML output's terminal element, rename @number to @token-number,
+       and add @symbol-number.  In the nonterminal element, rename @number to
+       @symbol-number.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-10/msg00040.html>.
+       * data/xslt/xml2text.xsl (xsl:template match="terminal"): Update for
+       renames.
+       (xsl:template match="nonterminal"): Likewise.
+       * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Likewise.
+       (xsl:template match="nonterminal"): Likewise.
+       * src/print-xml.c (print_grammar): Implement.
+
+2007-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/xslt/xml2dot.xsl (xsl:template match="automaton/state"): After
+       2007-10-11 change, the child elements here are items not rules.
+       (xsl:template match="item"): New.
+       (xsl:template match="rule"): Update for new reduced itemset.
+       (xsl:template match="point"): Remove.
+       (xsl:template match="empty"): For consistency with --graph, don't
+       output "/* empty */".
+       * data/xslt/xml2text.xsl (xsl:template match="terminal"): When invoking
+       line-wrap, don't pass a negative value as first-line-length since this
+       won't work with the following changes.
+       (xsl:template name="line-wrap"): Simplify slightly.
+       (xsl:template name="ws-search"): Eliminate recursion.
+       * src/print_graph.c (print_core): Don't print a reduction's lookahead
+       set next to an item whose dot is not at the end of the RHS even if it
+       happens to be associated with the same rule.
+
+2007-10-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add %define lr.keep_unreachable_states.
+       * NEWS (2.3a+): Mention it in the entry for unreachable state removal.
+       * doc/bison.texinfo (Decl Summary): Mention it in the %define entry.
+       * src/main.c (main): Implement it.
+       * tests/conflicts.at (Unreachable States After Conflict Resolution):
+       Extend to test it, and fix a typo.
+
+2007-10-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS (2.3a+): Add entry for recent .output file lookahead set fix.
+       * doc/bison.texinfo (Understanding): Remove a bogus lookahead set in
+       the example .output text.
+       * tests/regression.at (Extra lookahead sets in report): Improve wording
+       of comments.
+
+2007-10-17  Wojciech Polak  <polak@gnu.org>
+
+       * src/print-xml.c (print_grammar): Renamed
+       <terminal> and <nonterminal> attributes:
+       "type" to "number" and "symbol" to "name".
+       * data/xslt/xml2text.xsl (xsl:template match="terminal"):
+       Use new attribute names.
+       (xsl:template match="nonterminal"): Likewise.
+       * data/xslt/xml2xhtml.xsl: Likewise.
+
+2007-10-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * doc/bison.texinfo (Bison Options): Add entry for --print-datadir.
+       (Option Cross Key): Likewise.
+
+       * src/print-xml.c (print_core): Don't print a reduction's lookahead set
+       next to an item whose dot is not at the end of the RHS even if it
+       happens to be associated with the same rule.
+       * src/print.c (print_core): Likewise.
+       * tests/conflicts.at (Unresolved SR Conflicts): Update output.
+       (Resolved SR Conflicts): Update output.
+       * tests/regression.at (Extra lookahead sets in report): New test case.
+
+2007-10-11  Wojciech Polak  <polak@gnu.org>
+
+       * src/print-xml.c (print_core): Remove item set
+       redundancy.
+       * data/xslt/bison.xsl (bison:ruleNumber): New key.
+       Improve processing time. Suggested by Joel E. Denny.
+       * data/xslt/xml2dot.xsl (xsl:template name="escape"):
+       Write xsl:param "required" attribute as comment.
+       * data/xslt/xml2text.xsl (xsl:template match="item"): New.
+       (xsl:template match="rule"): Support new reduced itemset.
+       (xsl:template match="point"): Remove.
+       * data/xslt/xml2xhtml.xsl: Likewise.
+
+2007-10-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (version): Update copyright year.
+
+2007-10-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Make xml2dot.xsl and --graph produce the same output.
+       * data/xslt/xml2dot.xsl (xsl:template match="rule"): Use a `&#10;'
+       instead of a `\n'.  That is, don't add escapes yet or they'll be doubly
+       escaped later.
+       (xsl:template name="output-node"): Use the new escape template instead
+       of the string-replace template directly.
+       (xsl:template name="output-edge"): Likewise.
+       (xsl:template name="escape"): New, escapes backslashes and newlines in
+       addition to quotation marks.
+       * src/graphviz.c (start_graph, output_node, output_edge): Add
+       whitespace to output for legibility.
+
+       Make xml2text.xsl and --report produce the same output, and remove the
+       XML "conflicts" element since a conflict summary is easily extracted
+       from the automaton.
+       * data/xslt/bison.xsl: New.
+       (xsl:template match="state" mode="bison:count-conflicts): New.
+       * data/xslt/xml2text.xsl: Import bison.xsl.
+       (xsl:template match="bison-xml-report"): Instead of styling the
+       "conflicts" element, style the "automaton" element with mode
+       "conflicts".  Unlike the former, the latter lists S/R and R/R
+       conflicts for a state on the same line.
+       (xsl:template match="conflicts"): Remove.
+       (xsl:template match="conflict"): Remove.
+       (xsl:template match="terminal"): Line-wrap the list of rules in which
+       the terminal is used.
+       (xsl:template match="nonterminal"): Likewise for nonterminals.
+       (xsl:template match="automaton" mode="conflicts"): New.
+       (xsl:template match="state" mode="conflicts"): New.
+       (xsl:template name="line-wrap"): New.
+       (xsl:template name="ws-search"): New.
+       * data/xslt/xml2xhtml.xsl: Import bison.xsl.
+       (xsl:template match="bison-xml-report"): Instead of styling the
+       "conflicts" element, style the "automaton" element with mode
+       "conflicts."
+       (xsl:template match="conflicts"): Remove.
+       (xsl:template match="conflict"): Remove.
+       (xsl:template match="automaton" mode="conflicts"): New.
+       (xsl:template match="state" mode="conflicts): New.
+       * src/conflicts.c (conflicts_output_xml): Remove.
+       * src/conflicts.h (conflicts_output_xml): Remove prototype.
+       * src/print-xml.c (print_xml): Don't invoke conflicts_output_xml.
+       * src/print.c (print_grammar): Consistently wrap at the 66th column so
+       the corresponding XSLT is easier.  Also, never wrap between a word and
+       the comma that follows it.
+
+2007-10-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Improve C++ namespace support.  Discussed starting at
+       <http://lists.gnu.org/archive/html/help-bison/2007-09/msg00016.html>.
+       * data/c++.m4: (b4_namespace_ref, b4_namespace_open,
+       b4_namespace_close): New macros that interpret the %define variable
+       "namespace" so its value can contain "::" to indicate nested
+       namespaces.
+       * data/glr.cc (b4_namespace): Don't define, and replace all uses with
+       the above macros.
+       * data/lalr1.cc (b4_namespace): Likewise.
+       * data/location.cc (b4_namespace): Likewise.
+       * doc/bison.texinfo (Decl Summary): Move `%define push_pull' entry
+       inside a new table in the general %define entry.  Document `%define
+       namespace' there as well.  Point the %name-prefix entry to it since it
+       explains it more completely in the case of C++.
+       (C++ Bison Interface): Mention `%define namespace' instead of
+       %name-prefix.
+       (Table of Symbols): Remove the `%define push_pull' entry.  The %define
+       entry suffices.
+       * tests/c++.at (Relative namespace references): New test case.
+       (Absolute namespace references): New test case.
+       (Syntactically invalid namespace references): New test case.
+       * tests/input.at (C++ namespace reference errors): New test case.
+
+2007-10-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add syncline support and location accessor to internal %define
+       interfaces.
+       * data/bison.m4 (b4_percent_define_get_loc): New.
+       (b4_percent_define_get_syncline): New.
+       (b4_percent_define_flag_if): Use b4_percent_define_get_loc.
+       (b4_percent_define_default): Record defining location as line 1 rather
+       than 0 for the sake of synchronizing #line's, and define
+       b4_percent_define_syncline(VARIABLE).
+       (b4_percent_define_check_values): Use b4_percent_define_get_loc.
+       * src/muscle_tab.c (muscle_syncline_grow): New.
+       (muscle_code_grow): Use muscle_syncline_grow.
+       (muscle_percent_define_insert): Use muscle_percent_define_get_loc, and
+       define b4_percent_define_syncline(VARIABLE).
+       (muscle_percent_define_get_loc): New.
+       (muscle_percent_define_get_syncline): New.
+       (muscle_percent_define_flag_if): Use muscle_percent_define_get_loc, and
+       remove some unused variables.
+       (muscle_percent_define_default): Record defining location as line 1
+       rather than 0 for the sake of synchronizing #line's, and define
+       b4_percent_define_syncline(VARIABLE).
+       (muscle_percent_define_check_values): Use
+       muscle_percent_define_get_loc.
+       * src/muscle_tab.h (muscle_percent_define_get_loc): Prototype.
+       (muscle_percent_define_get_syncline): Prototype.
+       * tests/skeletons.at (%define Boolean variables: invalid skeleton
+       defaults): Update output for location change.
+       (Complaining during macro argument expansion): Extend to test
+       b4_percent_define_get_loc and b4_percent_define_get_syncline errors.
+
+2007-10-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix some error-reporting macro bugs.
+       * data/bison.m4 (b4_cat): New.
+       (b4_error, b4_error_at): Use b4_cat to send error directives directly
+       to stdout so they don't become arguments to other macros.  Update
+       comments and add examples.
+       (b4_warn, b4_warn_at, b4_complain, b4_complain_at): Update comments and
+       add examples.
+       (b4_fatal, b4_fatal_at): Likewise, and invoke m4_exit(1) immediately
+       after printing the error directive so that M4 doesn't report subsequent
+       problems that are induced by this problem.
+       * src/scan-skel.l: Recognize @` digraph outside of directive arguments
+       instead of just in them.  Recognize @\n in both places.  Both expand to
+       the empty string.  Needed by b4_cat.
+       * tests/skeletons.at (Complaining during macro argument expansion):
+       New test case.
+       (Fatal errors make M4 exit immediately): New test case.
+
+2007-10-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Implement --print-datadir.
+       * src/getargs.c (usage): Mention.
+       (PRINT_DATADIR_OPTION): New anonymous enum member.
+       (long_options): Add entry for it.
+       (getargs): Add case for it calling compute_pkgdatadir.
+       * src/output.c (output_skeleton): Encapsulate data directory
+       computation from here...
+       (prepare): ... and from here...
+       (compute_pkgdatadir): ... into this new function.
+       * src/output.h (compute_pkgdatadir): Prototype.
+
+2007-09-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/print-xml.c (escape_bufs): New static global variable
+       replacing...
+       (xml_escape_n): ... the static local variable buf here.
+       (print_xml): Free memory for escape_bufs.
+       * src/reduce.c (reduce_xml): XML-escape terminal symbol tags.
+
+2007-09-25  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Replace `%push-parser' and `%push-pull-parser' with
+       `%define push_pull "push"' and `%define push_pull "both"'.
+       `%define push_pull "pull"' is the default.
+       * doc/bison.texinfo (Push Decl, Push Parser Function,
+       Pull Parser Function, Parser Create Function, Parser Delete Function):
+       Update declarations.
+       (Decl Summary, Table of Symbols): Replace %push-parser and
+       %push-pull-parser entries with a %define push_pull entry.
+       * data/bison.m4 (b4_percent_define_check_values): New macro.
+       (b4_pull_if, b4_push_if, b4_use_push_for_pull_if): Move these
+       definitions...
+       * data/c.m4 (b4_identification): ... and the YYPUSH and YYPULL cpp
+       definitions...
+       * data/push.c: ... to here and compute them from the value of the
+       %define variable push_pull.
+       * data/c-skel.m4: Instead of choosing the push.c skeleton for push
+       parsing requests here...
+       * data/yacc.c: ... hack this to switch to push.c any time
+       b4_use_push_pull_flag or the %define variable push_pull is set.  This
+       will go away when we mv push.c yacc.c.
+       * data/c++-skel.m4, data/glr.c, data/java-skel.m4: Don't report that
+       push parsing is not supported since unused %define variables are
+       reported anyway.
+       * src/getargs.c, src/getargs.h (pull_parser, push_parser): Remove.
+       * src/muscle_tab.h (muscle_percent_define_check_values): Update
+       comments for consistency with b4_percent_define_check_values.
+       * src/output.c (prepare): Don't insert b4_pull_flag and b4_push_flag
+       muscles.
+       * src/parse-gram.y (PERCENT_PUSH_PARSER, PERCENT_PUSH_PULL_PARSER):
+       Remove.
+       (prologue_declaration): Remove %push-parser and %push-pull-parser
+       rules.
+       * src/scan-gram.l (%push-parser, %push-pull-parser): Remove rules.
+       * tests/calc.at: Update declarations.
+       * tests/input.at (%define enum variables): New test case.
+       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update
+       declaration.
+       (Push Parsing: Multiple impure instances): Update declaration.
+       (Push Parsing: Unsupported Skeletons): New test case.
+       * tests/torture.at (Exploding the Stack Size with Alloca): Update
+       declaration.
+       (Exploding the Stack Size with Malloc): Update declaration.
+
+2007-09-24  Wojciech Polak  <polak@gnu.org>
+
+       Add XSLT transformations.
+
+       * data/xslt/xml2dot.xsl: Transform XML into DOT.
+       * data/xslt/xml2text.xsl: Transform XML into plain text.
+       * data/xslt/xml2xhtml.xsl: Transform XML into XHTML.
+       * data/Makefile.am (xsltdir): New variable.
+       (dist_xslt_DATA): Add xslt/*.xsl files.
+
+2007-09-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/conflicts.c (log_resolution): Fix indenting bugs I introduced.
+       Problem reported by Wojciech Polak.
+       * src/print-xml.c (xml_puts): Work even if LEVEL exceeds INT_MAX/2.
+       (xml_printf): Undo change I made on 21 September; that is,
+       indent 2 spaces, not 1.
+
+2007-09-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Pacify ./configure --enable-gcc-warnings.
+       * src/print-xml.c, src/print-xml.h (xml_puts): Make third argument
+       `char const *' instead of `char *'.
+       * src/state.c (state_rule_lookahead_tokens_print_xml): Remove unused
+       local variable `sep'.
+
+2007-09-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/gram.c (rule_rhs_print_xml): Now static, since it isn't used
+       elsewhere.
+       * src/print-xml.c: Prefer "const" after types; that's more consistent.
+       (xml_printf): Indent just 1 space for level.
+       (e_char, xlate_char): Remove.
+       (xml_escape_string): Rewrite to avoid undefined behavior (used
+       storage that was freed from the stack).
+       (xml_escape_n): Don't bother checking for subscript error.
+
+2007-09-21  Wojciech Polak  <polak@gnu.org>
+
+       Add Bison XML Automaton Report.
+
+       Add support for an -x option to generate an XML report.
+       It is not documented yet.
+       * src/print-xml.c: New file.
+       * src/print-xml.h: Likewise.
+       * lib/timevar.def (TV_XML): New var.
+       * src/Makefile.am (bison_SOURCES): Add print-xml.c, print-xml.h.
+       * src/conflicts.c: Include print-xml.h.
+       (solved_conflicts_xml_obstack): New var.
+       (log_resolution, conflicts_solve, conflicts_free):
+       Add support for XML report.
+       (conflicts_output_val): New function.
+       * src/conflicts.h (conflicts_output_val): New decl.
+       * src/files.c (spec_xml_file): New var.
+       (compute_output_file_names, output_file_names_free): Add XML support.
+       * src/files.h (spec_xml_file): New decl.
+       * src/getargs.c (xml_flag): New var.
+       (usage, short_options, long_options, getargs): Add XML support.
+       * src/getargs.h (xml_flag): New decl.
+       * src/gram.c: Include print-xml.h.
+       (rule_lhs_print_xml, rule_rhs_print_xml):
+       (grammar_rules_partial_print_xml, grammar_rules_print_xml):
+       New functions.
+       * src/gram.h: Declare external ones.
+       * src/main.c: Include print-xml.h.
+       (main): Add XML support.
+       * src/reduce.c: Include print-xml.h.
+       (reduce_xml): New function.
+       * src/reduce.h: Declare it.
+       * src/state.c: Include print-xml.h.
+       (state_new): Add XML support.
+       (state_rule_lookahead_tokens_print_xml): New function.
+       * src/state.h: Declare it.
+       (struct state): New member solved_conflicts_xml.
+       * src/symtab.c (symbol_class_get_string): New function.
+       * src/symtab.h: Declare it.
+
+2007-09-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * GNUmakefile: Switch to coreutils's version.
+       * bootstrap: Likewise.
+       * Makefile.cfg: Adjust to new GNUmakefile.
+       * README-hacking: Likewise.
+
+       Import from gnulib:
+
+       2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
+                   Bruno Haible  <bruno@clisp.org>
+
+       * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
+       and is a script that invokes bison. Tighten the code. Add comments.
+
+2007-08-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Spell "boolean" as "Boolean".  Reported by Akim Demaille.
+       * data/bison.m4 (b4_percent_define_flag_if): Fix complaint.
+       * doc/bison.texinfo (Decl Summary): Fix.
+       * src/muscle_tab.c (muscle_percent_define_flag_if): Fix complaint.
+       * tests/input.at (Boolean %define variables): Update output.
+       * tests/skeletons.at (%define boolean variables: invalid skeleton
+       defaults): Rename to...
+       (%define Boolean variables: invalid skeleton defaults): ... this and
+       update output.
+
+2007-08-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In impure push mode, don't allow more than one yypstate to be allocated
+       since multiple impure parsers would corrupt yynerrs.
+       * data/push.c (yypstate_allocated): New static global variable
+       initialized to 0.
+       (yypull_parse): If yypstate_new returns 0, don't report it as memory
+       exhaustion if yypstate_allocated is 1, but still return 2.
+       (yypstate_new): Invoke yyerror and return 0 if yypstate_allocated is
+       already 1.  Otherwise, set it to 1.
+       (yypstate_delete): Set it to 0.
+       * tests/push.at (Push Parsing: Multiple impure instances): New test
+       case.
+
+2007-08-17  Bob Rossi  <bob@brasko.net>
+
+       * doc/bison.texinfo (Push Decl): Document the push parser.
+       (Table of Symbols): Ditto.
+       (Pure Decl): Ditto.
+       (Decl Summary): Ditto.
+       (Multiple Parsers, Push Parser Function, Pull Parser Function,
+       Parser Create Function, Parser Delete Function):
+       Add new push parser symbols.
+       (Table of Symbols): Document push-parser, push-pull-parser,
+       yypush_parse, yypull_parse, yypstate_new and yypstate_delete.
+
+2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update to GPLv3.
+       * doc/gpl-3.0.texi: New file.
+       * doc/gpl.texi: Remove.
+       * COPYING, GNUmakefile, HACKING, Makefile.am, Makefile.cfg:
+       * Makefile.maint, NEWS, PACKAGING, README, README-alpha:
+       * README-hacking, TODO, bootstrap, bootstrap.conf:
+       * configure.ac, data/Makefile.am, data/README, data/bison.m4:
+       * data/c++-skel.m4, data/c++.m4, data/c-skel.m4, data/c.m4:
+       * data/glr.c, data/glr.cc, data/java-skel.m4, data/java.m4:
+       * data/lalr1.cc, data/lalr1.java, data/location.cc:
+       * data/push.c, data/yacc.c, data/m4sugar/m4sugar.m4:
+       * djgpp/Makefile.maint, djgpp/README.in, djgpp/config.bat:
+       * djgpp/config.sed, djgpp/config.site, djgpp/config_h.sed:
+       * djgpp/djunpack.bat, djgpp/subpipe.c, djgpp/subpipe.h:
+       * djgpp/testsuite.sed, doc/Makefile.am, doc/bison.texinfo:
+       * doc/fdl.texi, doc/refcard.tex, etc/Makefile.am, etc/README:
+       * etc/bench.pl.in, examples/Makefile.am, examples/extexi:
+       * examples/calc++/Makefile.am, lib/Makefile.am, lib/abitset.c:
+       * lib/abitset.h, lib/bbitset.h, lib/bitset.c, lib/bitset.h:
+       * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c:
+       * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h:
+       * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c:
+       * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h:
+       * lib/libiberty.h, lib/main.c, lib/subpipe.c, lib/subpipe.h:
+       * lib/timevar.c, lib/timevar.def, lib/timevar.h:
+       * lib/vbitset.c, lib/vbitset.h, lib/yyerror.c:
+       * m4/c-working.m4, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4:
+       * m4/timevar.m4, src/LR0.c, src/LR0.h, src/Makefile.am:
+       * src/assoc.c, src/assoc.h, src/closure.c, src/closure.h:
+       * src/complain.c, src/complain.h, src/conflicts.c:
+       * src/conflicts.h, src/derives.c, src/derives.h, src/files.c:
+       * src/files.h, src/flex-scanner.h, src/getargs.c:
+       * src/getargs.h, src/gram.c, src/gram.h, src/graphviz.c:
+       * src/lalr.c, src/lalr.h, src/location.c, src/location.h:
+       * src/main.c, src/muscle_tab.c, src/muscle_tab.h:
+       * src/nullable.c, src/nullable.h, src/output.c, src/output.h:
+       * src/parse-gram.c, src/parse-gram.h, src/parse-gram.y:
+       * src/print.c, src/print.h, src/print_graph.c:
+       * src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c:
+       * src/reduce.h, src/relation.c, src/relation.h:
+       * src/revision.h, src/scan-code.h, src/scan-code.l:
+       * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h:
+       * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c:
+       * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h:
+       * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h:
+       * tests/Makefile.am, tests/actions.at, tests/c++.at:
+       * tests/calc.at, tests/conflicts.at, tests/cxx-type.at:
+       * tests/existing.at, tests/glr-regression.at:
+       * tests/headers.at, tests/input.at, tests/java.at:
+       * tests/local.at, tests/output.at, tests/push.at:
+       * tests/reduce.at, tests/regression.at, tests/sets.at:
+       * tests/skeletons.at, tests/synclines.at, tests/testsuite.at:
+       * tests/torture.at:
+       Update to GPLv3.
+
+2007-08-11  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Get rid of broken %no-parser, -n, and --no-parser implementation and
+       documentation.
+       * TODO: Don't mention them.
+       * doc/bison.1: Likewise.
+       * doc/bison.texinfo (Decl Summary): Likewise.
+       (Bison Options): Likewise.
+       (Option Cross Key): Likewise.
+       * src/getargs.c (no_parser_flag): Remove global variable.
+       (usage): Don't print description of -n and --no-parser.
+       (long_options): Remove --no-parser entry here.
+       (getargs): Remove -n case in the switch here.
+       * src/getargs.h (no_parser_flag): Remove extern.
+       * tests/regression.at (Web2c Actions): Remove comment that mentions
+       --no-parser.
+
+2007-08-11  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Do not
+       name user variables starting with `yy'.  Just pass NULL instead of a
+       dummy local &yylval to yypush_parse.
+       * tests/torture.at (AT_DATA_STACK_TORTURE): Do not name user variables
+       starting with `yy'.
+
+2007-08-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/yacc.c (yyexhaustedlab): Define it when YYERROR_VERBOSE is
+       true since it's then always used regardless of whether yyoverflow is
+       defined.  Reported by Christian Burger at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00031.html>.
+       * THANKS: Add Christian Burger.
+
+       * ChangeLog: For changes in doc/bison.texinfo, consistently reference
+       node names: say "Decl Summary" not "Bison Declaration Summary".
+
+2007-07-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/muscle_tab.c (muscle_percent_define_flag_if): In order to
+       determine whether this function has already complained about an invalid
+       value for a %define boolean variable, don't check whether Bison has
+       ever examined the value.  As written, the check was a tautology.
+       Instead, record and check for this complaint using a separate muscle.
+
+2007-07-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix push parsing memory leak reported by Brandon Lucia at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00032.html>.
+       * THANKS: Add Brandon Lucia.
+       * data/push.c (yypstate_delete): Free the stack if it was reallocated
+       but the parse never completed and thus freed it.
+       * tests/Makefile.am (TESTSUITE_AT): Add push.at.
+       * tests/testsuite.at: Include push.at.
+       * test/push.at: New.
+       (Push Parsing: Memory Leak for Early Deletion): New test case.
+
+2007-07-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Improve handling of multiple S/R conflicts in the same state and of S/R
+       conflicts involving multiple reductions.
+       * src/conflicts.c (resolve_sr_conflict): Don't assign the error action
+       set for a state here or Bison will abort if it is reassigned on a
+       later conflicted reduction in the same state.
+       Similarly, don't finalize and assign the solved conflicts report here
+       or it will be lost if it is reassigned on a later conflicted reduction
+       in the same state.
+       (set_conflicts): Instead, assign them both here after all S/R conflicts
+       in the state have been fully examined.
+       * src/print.c (shift_set): Rename to...
+       (no_reduce_set): ... this.
+       (print_reductions): Update for rename, and add %nonassoc error action
+       tokens to no_reduce_set so that, when printing the first remaining
+       reduction on an error action token, the reduction is enclosed in
+       brackets.
+       (print_results): Update for rename.
+       * tests/conflicts.at (Solved conflicts report for multiple reductions
+       in a state): New test case.
+       (%nonassoc error actions for multiple reductions in a state): New test
+       case.
+
+       * src/main.c (main): Don't depend on C99 features.
+
+2007-07-16  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * build-aux/.cvsignore: Add compile.
+       * lib/.cvsignore: Add charset.alias, ref-add.sed, ref-del.sed, and
+       uniwidth.
+
+2007-07-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * bootstrap (slurp): Create target directories that don't exist.
+       Specifically, we need lib/uniwidth/ because of recent Gnulib changes.
+
+2007-07-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * LR0.c (new_itemsets): Fix wording in comments: say item index rather
+       than item number.
+       * closure.c (closure): Likewise.
+       * state.h (reductions): Comment sorting of rules.
+       (state): Comment sorting of items.
+
+2007-07-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix C++ test cases after recent Gnulib changes.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00000.html>.
+       * examples/calc++/Makefile.am (DEFAULT_INCLUDES): Override Automake's
+       definition in order to avoid Gnulib headers since we don't use config.h
+       here.
+       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Use AT_DATA_GRAMMAR
+       rather than AT_DATA so that config.h is included.
+
+2007-07-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yy_yypstack, yypstates, yypdumpstack): Use YYFPRINTF
+       instead of fprintf.  Guard these functions with #if YYDEBUG instead of
+       #ifdef YYDEBUG for consistency with all other uses of YYDEBUG in Bison
+       and so that YYFPRINTF is guaranteed to be defined here.
+
+2007-05-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/muscle_tab.c (muscle_percent_define_invalid_value): Replace
+       with...
+       (muscle_percent_define_check_values): ... this more helpful function.
+       Again, it's not used yet, but it will be.
+       * src/muscle_tab.h: Likewise.
+
+       Improve some comments in parser table construction.
+       * src/LR0.c (new_itemsets): Explain sorting of itemset and kernel_base.
+       (generate_states): Don't mention ruleset, which is internal to closure.
+       * src/closure.c (closure): Explain sorting of core and itemset, which
+       is required for this function to behave correctly.
+       * src/closure.h (closure): Mention sorting.
+
+2007-05-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/lalr.c (state_lookahead_tokens_count): For code readability,
+       move the check for disabled transitions to an aver since conflict
+       resolution hasn't happened yet.
+
+       * src/lalr.c (state_lookahead_tokens_count): Remove the check that
+       labels a state as inconsistent just because it has error transitions.
+       The original form of this check appeared in revision 1.1 of lalr.c,
+       which was committed on 1991-12-21.  Now (at least), changing the
+       consistency label on such a state appears to have no useful effect in
+       any of the places it is examined, which I enumerate below.  The key
+       point to understanding each item in this enumeration is that a state
+       with an error transition is labelled consistent in the first place only
+       if it has no rules, so the check cannot matter for states that have
+       rules.  (1) Labelling a state as inconsistent will cause set_conflicts
+       to try to identify its conflicts, and a state must have *rules* to have
+       conflicts.  (2) Labelling a state as inconsistent will affect how
+       action_row sets the default *rule* for the state.  (3) Labelling a
+       state as inconsistent will cause build_relations to add lookback edges
+       to *rules* in that state.
+       * src/state.h (struct state): Word the comment for member consistent
+       more carefully.
+
+2007-05-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't depend on C99 features.
+       * src/conflicts.c (conflicts_update_state_numbers): Fix for-loop.
+       * src/lalr.c (lalr_update_state_numbers): Fix for-loop.
+       * src/reader.c (check_and_convert_grammar): Fix for-loop.
+       * src/state.c (state_mark_reachable_states): Fix for-loop.
+       (state_remove_unreachable_states): Fix for-loop.
+
+       Don't widen struct state with member reachable just to temporarily
+       record reachability.  Instead, use a local bitset.
+       * src/state.h (struct state): Remove member.
+       * src/state.c (state_new): Don't initialize it.
+       (state_mark_reachable_states): Rename to...
+       (state_record_reachable_states): ... this, and use bitset.
+       (state_remove_unreachable_states): Use bitset.
+
+2007-05-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/Makefile.am (yacc): Quote target action commands properly so
+       that the yacc script isn't corrupt.  Reported by Hans Aberg at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-05/msg00003.html>.
+
+       * data/glr.c (yylval): As in yacc.c, don't extern in the header for
+       the case of pure parsers.  Reported by Frans Englich at
+       <http://lists.gnu.org/archive/html/help-bison/2007-05/msg00018.html>.
+       * THANKS: Add Frans Englich.
+
+       * NEWS (2.3a+): In the %code entry, reference section `Bison
+       Declaration Summary' from the manual now since the %code summary has
+       moved there.
+       * doc/bison.texinfo (Prologue Alternatives): Mention that directives
+       in the rules section must be terminated by semicolons.
+
+2007-05-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Extend the front-end API for %define variables to more completely
+       mirror the back-end.  This will be useful in the future.
+       * data/bison.m4 (b4_percent_define_get, b4_percent_define_ifdef):
+       Update comments to mention the new front-end counterparts of these
+       macros.
+       * src/muscle_tab.c (MUSCLE_COMMON_DECODE): New macro with common code
+       for muscle_string_decode and muscle_location_decode.
+       (muscle_string_decode): New static function.
+       (muscle_location_decode): Use MUSCLE_COMMON_DECODE.
+       (muscle_percent_define_get, muscle_percent_define_ifdef): New
+       functions.
+       (muscle_percent_define_flag_if): Use muscle_percent_define_ifdef and
+       muscle_percent_define_get to mimic the b4_percent_define_flag_if
+       implementation more closely.
+       (muscle_percent_define_invalid_value): New function.
+       * src/muscle_tab.h (muscle_percent_define_get,
+       muscle_percent_define_ifdef, muscle_percent_define_invalid_value):
+       Prototype.
+
+2007-05-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS (2.3a+): Mention yesterday's state-removal change.
+       (2.3a): Remove the %language entry, which was added after 2.3a.
+       * src/LR0.c, src/closure.c, src/closure.h, src/conflicts.c,
+       src/conflicts.h, src/lalr.c, src/lalr.h, src/print.c,
+       src/print_graph.c, src/state.c, src/state.h, tests/conflicts.at,
+       tests/existing.at: Update copyright date.
+
+2007-05-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       If conflict resolution makes states unreachable, remove those states,
+       report rules that are then unused, and don't report conflicts in those
+       states.
+       * src/conflicts.c, src/conflicts.h (conflicts_update_state_numbers):
+       New global function.
+       * src/lalr.c, src/lalr.h (lalr_update_state_numbers): New global
+       function.
+       * src/main.c (main): After conflict resolution, remove the unreachable
+       states and update all data structures that reference states by number.
+       * src/state.c (state_new): Initialize each state's reachable member to
+       false.
+       (state_mark_reachable_states): New static function.
+       (state_remove_unreachable_states): New global function.
+       * src/state.h (struct state): Add member bool reachable.
+       (state_remove_unreachable_states): Prototype.
+       * tests/conflicts.at (Unreachable States After Conflict Resolution):
+       New test case.
+       * tests/existing.at (GNU pic Grammar): Update test case output now that
+       an unused rule is discovered.
+
+2007-05-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Minor code cleanup in parser table construction.
+       * src/LR0.c (new_itemsets): Use item_number_is_symbol_number.
+       (new_itemsets, save_reductions): Update for rename to nitemset.
+       * src/closure.c (nritemset): Rename to...
+       (nitemset): ... this since the "r" appears to meaningless and isn't
+       used in the comments.
+       (closure): Update for rename.
+       * src/closure.h (nritemset): Update extern to...
+       (nitemset): ... this.
+       * src/lalr.c (LA): Fix a typo in comments.
+       * src/print.c (print_core): Update for rename to nitemset.
+       * src/print_graph.c (print_graph): Likewise.
+       * src/state.h: Fix some typos in header comments.
+
+2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * THANKS: Use ASCII for Sebastien Fricker's name.  Bison source
+       still sticks to ASCII.  Sorry!
+
+       * README-hacking: New file, taken mostly from coreutils, with changes
+       for Bison.  Contains much of the contents of:
+       * README-cvs: Remove.
+       * bootstrap: Sync from gnulib.
+       * build-aux/.cvsignore: Remove *.t, mkinstalldirs.
+       * lib/.cvsignore: Add wchar.h, wctype.h.  Remove exit.h.
+
+2007-03-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * doc/bison.texinfo (Destructor Decl): Fix typo reported by Sebastian
+       Setzer.
+       (Java Differences): Fix some typos.
+       * THANKS: Add Sebastian Setzer.
+
+2007-03-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * data/java.m4 (b4_single_class_if): Remove.
+       (b4_abstract_if): Look at "%define abstract".
+       (b4_lexer_if): New.
+       (b4_union_name): Rename...
+       (b4_yystype): ... to this.  Map to "%define stype".
+       (b4_rhs_value, b4_parse_param_decl, b4_lex_param_decl,
+       b4_maybe_throws): Fix quoting.
+       (b4_lex_param_call): Move below to keep b4_*_param_decl close.
+       * data/lalr1.java (Lexer interface): Always define.
+       (Lexer interface within parser class): Remove.
+       (YYLexer class): New, used when "%code lexer" is present.
+       (constructor): When "%code lexer" is used, pass %lex-param
+       to the lexer constructor.
+       (yylex, yyparse): Remove %lex-param from method invocations
+       (YYStack, yyaction, yyparse): Rename b4_union_name to b4_yystype.
+
+       * doc/bison.texinfo (Java Bison Interface): Mention "%define
+       abstract".  Rename "%define union_name" to "%define stype".
+       Rename method names according to previous patch.
+       (Java Scanner Interface): Describe "%code lexer" instead of
+       "%pure-parser" and "%define single_class".
+       (Java Differences): Mention "%code lexer".
+
+       * tests/java.at (_AT_DATA_JAVA_CALC_Y): Remove final argument.
+       Include scanner here, using macros from tests/local.at.
+       (AT_DATA_CALC_Y): Remove final argument.
+       (_AT_CHECK_JAVA_CALC): Likewise.
+       (AT_CHECK_JAVA_CALC): Likewise.  Test all four combinations
+       of %locations and %error-verbose.
+       (main): Test with and without %lex-param.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_LEXPARAM_IF.
+       (AT_BISON_OPTION_POPDEFS): Pop it.
+
+2007-03-07  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       DJGPP spefic issue.  Inhibit the use of disallowed characters for
+       file name genertion on Win98, WinXP, etc.  These are |<>":?*\
+       and concern testsuite case 46.
+       * Makefile.am: djgpp/testsuite.sed added to EXTRA_DIST
+       * djgpp/testsuite.sed: Inhibit the use of disallowed characters.
+       * djgpp/config.bat: Inhibit the use of disallowed characters.
+
+2007-03-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Miscellaneous %define and %code cleanup.
+       * data/bison.m4 (b4_percent_define_flag_if): Correct comments on how
+       values are interpreted.
+       * doc/bison.texinfo (Decl Summary): Clean up and extend %define
+       documentation a little more.
+       * src/muscle_tab.c (MUSCLE_USER_NAME_CONVERT,
+       muscle_percent_define_insert, muscle_percent_code_grow): New
+       functions/macros.
+       * src/muscle_tab.h (muscle_percent_define_insert,
+       muscle_percent_code_grow): Prototype.
+       * src/parse-gram.y (prologue_declaration): Use
+       muscle_percent_define_insert and muscle_percent_code_grow when parsing
+       %define and %code directives.
+
+       Make it easy to share %define boolean variables between the front-end
+       and back-end.  Though not used yet, this will be useful in the future.
+       * data/bison.m4 (b4_check_user_names): Rewrite comments to talk about
+       Bison uses of names rather than just skeleton uses of names.
+       (b4_percent_define_get, b4_percent_define_ifdef): Rename
+       b4_percent_define_skeleton_variables(VARIABLE) to
+       b4_percent_define_bison_variables(VARIABLE).
+       (b4_percent_code_get, b4_percent_code_ifdef): Rename
+       b4_percent_code_skeleton_qualifiers(QUALIFIER) to
+       b4_percent_code_bison_qualifiers(QUALIFIER).
+       (b4_check_user_names_wrap): Update for renames.
+       * src/muscle_tab.c, src/muscle_tab.h (muscle_percent_define_flag_if,
+       muscle_percent_define_default): New functions mimicking
+       b4_percent_define_flag_if and b4_percent_define_default.
+
+       For %define variables, report locations for invalid values and
+       redefinitions.
+       * data/bison.m4 (b4_percent_define_flag_if): Read
+       b4_percent_define_loc(VARIABLE) to report the location of an invalid
+       value for VARIABLE.
+       (b4_percent_define_default): Save a special location in
+       b4_percent_define_loc(VARIABLE) in case the default value for VARIABLE
+       must later be reported as invalid.
+       * src/muscle_tab.c (muscle_location_grow, muscle_location_decode): New
+       functions.
+       (muscle_percent_define_insert): Record the location of VARIABLE in
+       muscle percent_define_loc(VARIABLE), and use it to report the previous
+       location for a redefinition.
+       (muscle_percent_define_flag_if): Update like b4_percent_define_flag_if.
+       (muscle_percent_define_default): Update like b4_percent_define_default.
+       (muscle_grow_user_name_list): Rename to...
+       (muscle_user_name_list_grow): ... this for consistency and use
+       muscle_location_grow.
+       * src/muscle_tab.h (muscle_location_grow): Prototype.
+       * tests/input.at (%define errors): Update expected output.
+       * tests/skeletons.at (%define boolean variables: invalid skeleton
+       defaults): New test case.
+
+2007-02-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/print.c (lookahead_set, state_default_rule): Remove.
+       (print_reductions): Replace state_default_rule invocation with
+       equivalent use of yydefact, which was computed in token_actions in
+       tables.c.
+       (print_results): Don't allocate lookahead_set.
+
+2007-02-27  Paolo Bonzini  <bonzini@gnu.org>
+
+       * data/lalr1.java: Prefix all private members with yy.
+
+2007-02-24  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Use YYFPRINTF instead of fprintf where appropriate.  Reported by
+       Sebastien Fricker at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-02/msg00035.html>.
+       * THANKS: Add Sebastien Fricker.
+       * data/glr.c, data/push.c, data/yacc.c (yy_reduce_print): Implement.
+       * doc/bison.texinfo (Tracing): Make it clearer that YYFPRINTF must
+       accept a variable number of arguments.
+
+2007-02-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * bootstrap: Remove occurrences of .#bootmp from lib/Makefile.
+
+2007-02-13  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       * djgpp/config.bat: Adjustments concerning the use of autoconf 2.61.
+       * djgpp/config.sed: Adjustments concerning the use of autoconf 2.61.
+       * djgpp/config.site: Adjustments concerning the use of autoconf 2.61.
+
+2007-02-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Undo my 2007-02-07 change, switching back to the c-strcase module
+       introduced in the 2007-02-03 change.  Bruno Haible reported that
+       the 2007-02-07 change would be dangerous in Turkish if we add a
+       language whose name contains "i", since "i" is not lowercase "I"
+       in Turkish.
+       * bootstrap.conf (gnulib_modules): Add c-strcase.  Remove strcase.
+       * lib/.cvsignore: Add c-ctype.c, c-ctype.h, c-strcase.h,
+       c-strcasecomp.c, c-strncasecmp.c.  Remove strcasecmp.c, strncasecmp.c.
+       * m4/.cvsignore: Remove strcase.m4.
+       * src/getargs.c: Revert 2007-02-07 change, as follows.
+       Include c-strcase.h.
+       (language_argmatch): Use c_strcasecmp rather than strcasecmp.
+
+2007-02-11  Bruno Haible  <bruno@clisp.org>
+
+       Enable the Java related testsuite tests when the only Java compiler
+       found is a gcj < 4.3.  Discussed at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-02/msg00016.html>.
+       * configure.ac (gt_JAVACOMP): Don't specify a target_version.
+
+2007-02-11  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/Makefile.am: Update copyright date.
+       * data/push.c (yypull_parse): Report memory exhaustion and return 2 if
+       yypstate_new returns NULL.
+       (yypstate_new): Return NULL if malloc does.
+       * src/reader.c (packgram): Move translation of rule actions from the
+       beginning of packgram to...
+       (check_and_convert_grammar): ... here right before packgram is invoked
+       so it's easier to write more complete comments, and remove redundant
+       code.
+
+2007-02-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       As in semantic actions, make @$ in %initial-action, %destructor, and
+       %printer imply %locations.
+       * src/scan-code.l (SC_SYMBOL_ACTION): Set locations_flag = true when
+       scanning @$.
+       * tests/actions.at (AT_CHECK_ACTION_LOCATIONS): New macro supporting...
+       (@$ in %initial-action implies %locations,
+       @$ in %destructor implies %locations,
+       @$ in %printer implies %locations): ... these new test cases.
+
+2007-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Undo most of the 2007-02-03 change, switching to the strcase module
+       now that gnulib strcase has been fixed.
+       * bootstrap.conf (gnulib_modules): Remove c-strcase.  Add strcase.
+       * lib/.cvsignore: Remove c-ctype.c, c-ctype.h, c-strcase.h,
+       c-strcasecomp.c, c-strncasecmp.c.  Add strcasecmp.c, strncasecmp.c
+       * m4/.cvsignore: Add strcase.m4.
+       * src/getargs.c: Revert 2007-02-03 change, as follows.
+       Don't include c-strcase.h.
+       (language_argmatch): Use strcasecmp rather than c_strcasecmp.
+       strcasecmp has "unspecified behavior" outside the POSIX locale,
+       but it works fine in practice if at least one argument is ASCII,
+       as is the case in Bison.
+
+2007-02-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tests/java.at: Skip tests if only one of javac/java is present.
+       Reported by Joel E. Denny.
+       * tests/atlocal.in: Adjust copyright years.
+
+2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
+
+       * data/lalr1.java (Stack): Work around old verifiers that disallow
+       access to the private fields of an inner class, from the outer class.
+       We can make Stack's fields public because user code doesn't have access
+       to the instance of Stack used by parse().  Reported by Paul Eggert.
+
+2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * .cvsignore: Add javacomp.sh, javaexec.sh.  Is this really
+       the right spot for these files?
+       * bootstrap.conf (gnulib_modules): Add c-strcase.
+       * lib/.cvsignore: Add c-ctype.c c-ctype.h, c-strcasecomp.c,
+       c-strncasecmp.c.
+       * src/getargs.c: Include c-strcase.h.
+       (language_argmatch): Use c_strcasecmp rather than strcasecmp,
+       to avoid unspecified behavior.
+
+2007-02-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * doc/bison.texinfo (Decl Summary): Correct typo.
+
+2007-01-30  Paolo Bonzini  <bonzini@gnu.org>
+
+       * data/bison.m4 (b4_percent_define_flag_if): Don't treat 0 as false.
+       Complain if the value does not match empty, "true" or "false".
+       * data/c++.m4: Adjust default definitions of %define variables.
+       * data/java.m4: Adjust default definitions of %define variables.
+       * doc/bison.texinfo (Decl Summary): Adjust the %define entry according
+       to above behavior.
+       * tests/input.at (Boolean %define variables): Test new behavior.
+
+2007-01-29  Paolo Bonzini  <bonzini@gnu.org>
+
+       * NEWS: Mention java.
+       * TODO: Remove things that are done.
+       * bootstrap.conf: Add javacomp-script and javaexec-script.
+       * configure.ac: Invoke gt_JAVACOMP and gt_JAVAEXEC.
+
+       * data/Makefile.am: Add new files.
+       * data/java-skel.m4: New.
+       * data/java.m4: New.
+       * data/lalr1.java: New.
+
+       * doc/bison.texinfo: Put "A Complete C++ Example" under
+       C++ Parsers.  Add Java Parsers.  Put C++ Parsers and Java Parsers
+       under Other Languages.
+
+       * src/getargs.c (valid_languages): Add Java.
+       * src/getargs.h (struct bison_language): Update size of string fields.
+
+       * tests/Makefile.am: Add java.at.
+       * tests/atlocal.in: Add CONF_JAVA and CONF_JAVAC.
+       * tests/java.at: New.
+       * tests/testsuite.at: Include it.
+
+2007-01-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up.
+       * src/scan-skel.l (at_directive_perform): Add at_directive_argc and
+       at_directive_argv arguments so these no longer have to be global
+       variables.  Also, update the implementation for the following changes.
+       (fail_for_at_directive_too_many_args,
+       fail_for_at_directive_too_few_args): Add at_directive_name argument.
+       (at_directive_name): Remove as at_directive_argv[0] will be used for
+       this now.
+       (AT_DIRECTIVE_ARGC_MAX): Increment to make space in at_directive_argv
+       for the directive name.
+       (at_directive_argc, at_directive_argv): Make these local within
+       skel_lex instead of global.
+       (INITIAL): Update directive start action for above changes.
+       (SC_AT_DIRECTIVE_ARG): Rename to...
+       (SC_AT_DIRECTIVE_ARGS): ... this, and update for above changes.
+       (SC_AT_DIRECTIVE_SKIP_WS): Update.
+       (scan_skel): Move yylex_destroy to...
+       (skel_scanner_free): ... here.
+       * tests/skeletons.at (installed skeleton file name): Rename to...
+       (installed skeleton file names): ... this.
+
+2007-01-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * ChangeLog: For changes in doc/bison.texinfo, consistently reference
+       node names: say "Table of Symbols" not "Bison Symbols", and say "Decl
+       Summary" not "Directives".
+       * doc/bison.texinfo (Decl Summary, Calc++ Parser): Cross-reference the
+       %code entry in "Decl Summary" rather than the one in "Table of Symbols"
+       since the former is now the more complete one.
+       (Prologue Alternatives): Likewise and do the same for %defines.
+       (Table of Symbols): Add summary of %code, add summary of %define, and
+       move full %code documentation to...
+       (Decl Summary): ... here for consistency with other entries in these
+       sections.
+       Move %define entry in order to keep this list alphabetized.
+       Reword %define entry a little to put less emphasis on the skeleton
+       concept, which most users shouldn't have to think about.
+
+2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to recent gnulib changes.
+       * lib/.cvsignore: Remove stpcpy.h, strndup.h, strnlen.h.
+       Add string.h, string_.h, unistd_.h, wchar_.h.
+       * m4/.cvsignore: Add gnulib-common.m4, string_h.m4, wchar.m4.
+       * src/system.h: Don't include <stpcpy.h>; this is now done by
+       <string.h>.
+
+2007-01-23  Paolo Bonzini  <bonzini@gnu.org>
+
+       Simplify implementation of unqualified %code, implement macros for
+       uniform treatment of boolean %define flags.  Document %define.
+       * data/bison.m4 (b4_percent_define_ifdef, b4_percent_define_flag_if,
+       b4_percent_code_ifdef): New.
+       (b4_percent_code_get): Map unqualified %code to b4_percent_code().
+       * data/c++.m4: Define default value for global_tokens_and_yystype.
+       * data/glr.cc: Likewise.
+       * data/location.cc: Use b4_percent_define_flag_if.
+
+       * doc/bison.texinfo (Decl Summary): Document %define.
+
+       * src/parse-gram.y (Unqualified %code): Change muscle name to
+       b4_percent_code().
+       (content.opt): Default to empty.
+
+2007-01-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Implement support for relative and absolute skeleton file names.
+       Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00071.html>.
+       * doc/bison.texinfo (Decl Summary): Document in %skeleton entry.
+       (Bison Options): Document in --skeleton entry.
+       * src/output.c (output_skeleton): Use strncpy rather than strcpy since
+       full_skeleton can't necessarily hold all of pkgdatadir.
+       If the specified skeleton file name contains a `/', don't prepend
+       pkgdatadir.
+       * src/parse-gram.y (prologue_declaration): If the specified skeleton
+       file name contains a `/', prepend the grammar file directory.
+       * tests/Makefile.am (TESTSUITE_AT): Add skeletons.at.
+       * skeletons.at: New file.
+       (relative skeleton file names): New test case.
+       (installed skeleton file names): New test case.
+       * tests/testsuite.at: Include skeletons.at.
+
+       * bootstrap: Update copyright to 2007.
+
+2007-01-17  Paolo Bonzini  <bonzini@gnu.org>
+
+       * bootstrap: Remove occurrences of .#bootmp from the files.
+
+2007-01-17  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Calc++ Parser): Don't try to alias
+       nonterminals.
+       Use per-type %printer.
+
+2007-01-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS, data/c++-skel.m4, data/c++.m4, data/c-skel.m4, data/c.m4,
+       data/glr.c, data/glr.cc, data/lalr1.cc, data/location.cc,
+       djgpp/config.site, src/files.c, src/files.h, src/main.c,
+       src/muscle_tab.c, src/muscle_tab.h, src/parse-gram.y, src/reader.h,
+       src/scan-skel.h, src/scan-skel.l, tests/actions.at, tests/calc.at,
+       tests/glr-regression.at, tests/input.at, tests/local.at,
+       tests/output.at, tests/torture.at: Update copyright to 2007.
+
+2007-01-16  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Calc++ Parsing Driver): Let "parse" return an
+       error code.
+       (Calc++ Scanner): Exit with failure if we can't open the input
+       file.
+       Accept "-" standing for stdin.
+       (Calc++ Top Level): Print the result only if the parsing was
+       successful.
+
+2007-01-16  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (yy_reduce_print_): Add a missing end-of-line.
+
+2007-01-15  Paolo Bonzini  <bonzini@gnu.org>
+       and Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up %define and %code implementation in M4 some.  Most
+       importantly, rename all related macros to be in the b4_percent_define
+       and b4_percent_code namespaces.  Also, complete support for `.' in
+       %define variable names and %code qualifiers.
+       * data/bison.m4 (b4_check_user_names): Check for special
+       "SKELETON-NAMESPACE(name)" macros instead of using two nested
+       m4_foreach loops.
+       (b4_get_percent_define, b4_get_percent_code): Rename to...
+       (b4_percent_define_get, b4_percent_code_get): ... these.
+       Extend documentation with examples.
+       For SKELETON-NAMESPACE (as documented for b4_check_user_names), use
+       b4_percent_define_skeleton_variables and
+       b4_percent_code_skeleton_qualifiers.
+       Expect any value for the %define variable `foo' to be stored in the
+       macro named `b4_percent_define(foo)'; expect any %code blocks for the
+       qualifier `foo' to be stored in a macro named `b4_percent_code(foo)';
+       expect any unqualified %code blocks to be stored in a macro named
+       `b4_percent_code_unqualified'.
+       Use m4_indir so that %define variable names and %code qualifiers can
+       contain `.', which is allowed by the grammar parser.
+       (b4_percent_define_default): New macro to set a default value for a
+       %define variable.
+       (m4_wrap): Update wrapped code, and fix some underquoting.
+       (b4_check_user_names_wrap): Update and define outside the m4_wrap.
+       Expect grammar uses of %define variables and %code qualifiers to be
+       defined in b4_percent_define_user_variables and
+       b4_percent_code_user_qualifiers.
+       * data/c++.m4: Use b4_percent_define_default rather than
+       m4_define_default.  Fix some underquoting.  Skeleton usage of %define
+       variable define_location_comparison now implies skeleton usage of
+       %define variable filename_type.
+       * data/glr.c, data/glr.cc, data/lalr1.cc, data/location.cc,
+       data/push.c, data/yacc.c: Update macro names.
+       * src/parse-gram.y (prologue_declaration, grammar_declaration): Update
+       muscle names.
+
+2007-01-14  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       DJGPP specific issues.
+
+       * djgpp/config.site: Set ac_cv_path_mkdir to a sane DJGPP specific
+       default.  Set gl_cv_absolute_wctype_h to a sane DJGPP specific default.
+
+2007-01-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/glr-regression.at: Use AT_PARSER_CHECK rather than AT_CHECK to
+       run parsers in all tests so that Valgrind is invoked during
+       maintainer-check-valgrind.
+       (Duplicate representation of merged trees): Free all semantic values.
+       (Duplicated user destructor for lookahead): Likewise.
+
+2007-01-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/local.at (AT_PARSER_CHECK): Add a PRE argument to specify a
+       command-line prefix.
+       * tests/torture.at (Exploding the Stack Size with Alloca): Stderr is
+       ignored, so use that PRE to set --log-fd=1 in VALGRIND_OPTS so we don't
+       miss Valgrind messages.
+       (Exploding the Stack Size with Malloc): Likewise.
+
+2007-01-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Ignore YYSTACK_USE_ALLOCA for push parsers since the stacks can't be
+       locals.  Reported by Juan Manuel Guerrero at
+       <http://lists.gnu.org/archive/html/bug-bison/2007-01/msg00000.html>.
+       * data/push.c: Enclose the #ifdef YYSTACK_USE_ALLOCA in b4_push_if.
+       Fix some indentation also.
+       * tests/torture.at (Exploding the Stack Size with Alloca): Add comment
+       explaining this issue.
+
+2007-01-09  Paolo Bonzini  <bonzini@gnu.org>
+       and Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Simplify union and prologue handling, and escape union and lex/parse
+       params with digraphs.
+       * data/bison.m4 (b4_pre_prologue, b4_post_prologue): Set their default
+       values to the empty string since these are no longer guaranteed
+       initialized by the front-end.
+       * data/glr.c, data/glr.cc, data/lalr1.cc, data/push.c, data/yacc.c: Add
+       braces around b4_user_stype since this is no longer done by the
+       front-end.
+       * src/files.c, src/files.h (pre_prologue_obstack,
+       post_prologue_obstack): Remove.
+       * src/muscle_tab.c (muscle_pair_list_grow): Don't duplicate header
+       comments here.  Use MUSCLE_OBSTACK_SGROW so that values are escaped
+       with digraphs.  This fixes lex params and parse params.
+       * src/muscle_tab.h (muscle_pair_list_grow): Update comments.
+       * src/output.c (prepare): Remove muscle insertion of the prologues.
+       (output): Remove freeing of pre_prologue_obstack and
+       post_prologue_obstack.
+       * src/parse-gram.y (prologue_declaration): Use muscle_code_grow rather
+       than prologue_augment for prologue parsing so you don't need prologue
+       obstacks.
+       (grammar_declaration): For %union RHS, use `braceless' instead of
+       "{...}" so that braces are already stripped and code is escaped with
+       digraphs.
+       * src/reader.c (prologue_augment): Remove.
+       (reader): Remove initialization of pre_prologue_obstack and
+       post_prologue_obstack.
+       * src/reader.h (prologue_augment): Remove.
+
+       * data/c.m4: Remove stray parenthesis.
+
+2007-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Remove quotes from variables names in %define directives and from
+       qualifiers in %code directives, and restrict the characters that are
+       allowed in them to M4-friendly ones.  For %define, continue to support
+       the quoted form as a deprecated feature.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-01/msg00023.html>.
+       * NEWS (2.3a+): Add entry for the change to %define.  Update entry for
+       %code.
+       * doc/bison.texinfo (Prologue Alternatives): Update.
+       (Decl Summary): In %defines entry, update mention of `%code requires'
+       and `%code provides'.
+       (C++ Location Values): Update %define uses.
+       (Calc++ Parser Interface): Likewise.
+       (Calc++ Parser): Likewise, and update `%code requires' uses.
+       (Table of Symbols): Update %code documentation.
+       * src/parse-gram.y (prologue_declaration): For %define variables, use
+       `variable' instead of `STRING'.
+       (grammar_declaration): For %code qualifiers, use `ID' instead of
+       `STRING'.
+       (variable): New nonterminal that takes an `ID' or a `STRING'.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Update %code
+       and %define uses.
+       * tests/calc.at (_AT_DATA_CALC_Y): Update %define use.
+       * tests/input.at (Reject unused %code qualifiers): Update %code uses.
+       (%define errors): Update %define uses.
+
+2007-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/parse-gram.y (prologue_declaration): Use MUSCLE_INSERT_STRING
+       instead of muscle_insert for %define values so that M4-special
+       characters are replaced with digraphs.
+       * tests/input.at (%define errors): Extend to check weird values.
+
+2007-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Instead of having skeletons declare all valid %define variables and
+       %code qualifiers, provide macros that retrieve the associated values
+       and build these lists automatically.  Thus Bison will now warn when a
+       variable or qualifier is not used by the skeleton in the current
+       invocation regardless of whether it might sometimes be used by that
+       skeleton in other invocations.  Also, move all %define value macros to
+       the b4_percent_define_ namespace, and remove the %define "NAME" {CODE}
+       form, which is replaced by %code.
+       * data/bison.m4 (b4_check_for_unrecognized_names): Rename to...
+       (b4_check_user_names): ... this, and change the series of valid name
+       arguments to a single list argument for names used in the skeleton
+       similar to the existing list argument for names used in the grammar.
+       Warn instead of complaining.
+       (b4_get_percent_define, b4_get_percent_code): New to retrieve %define
+       values and %code code, to format %code code properly, and to build
+       lists of all %define variables and %code qualifiers used in the
+       skeleton: b4_skeleton_percent_define_variables and
+       b4_skeleton_percent_code_qualifiers.
+       (b4_check_percent_define_variables, b4_check_percent_code_qualifiers):
+       Remove, and...
+       (m4_wrap): ... m4_wrap b4_check_user_names invocations instead so that
+       the skeleton names lists can finish building first.  In place of
+       b4_used_percent_define_variables and b4_used_percent_code_qualifiers,
+       expect the lists b4_user_percent_define_variables and
+       b4_user_percent_code_qualifiers.
+       * data/c++.m4: Where setting default values for b4_parser_class_name,
+       b4_location_type, b4_filename_type, b4_namespace, and
+       b4_define_location_comparison, update their names to the
+       b4_percent_define_ namespace.
+       * data/glr.c: Don't use b4_check_percent_define_variables and
+       b4_check_percent_code_qualifiers.  Use b4_get_percent_code.
+       * data/glr.cc, data/lalr1.cc: Likewise, and use b4_get_percent_define.
+       (b4_parser_class_name, b4_namespace): Define these using
+       b4_get_percent_define for parser_class_name and namespace.
+       * data/location.cc: Use b4_get_percent_define.
+       * data/push.c: Don't use b4_check_percent_define_variables and
+       b4_check_percent_code_qualifiers.  Use b4_get_percent_code.
+       * data/yacc.c: Likewise, and don't call m4_exit in
+       b4_use_push_for_pull_if or m4_wrap code will never execute.
+       * src/muscle_tab.c, src/muscle_tab.h (muscle_grow_used_name_list):
+       Rename to...
+       (muscle_grow_user_name_list): ... this for consistency with the
+       terminology used in bison.m4.
+       * src/parse-gram.y (prologue_declaration): Prepend "percent_define_" to
+       %define variable names, and rename muscle used_percent_define_variables
+       to user_percent_define_variables.
+       (grammar_declaration): Rename muscle used_percent_code_qualifiers to
+       user_percent_code_qualifiers.
+       (content): Remove.
+       (content.opt): Replace content RHS with STRING RHS so %define "NAME"
+       {CODE} form is no longer accepted.
+       * tests/input.at (Reject bad %code qualifiers): Rename to...
+       (Reject unused %code qualifiers): ... this, and update test output.
+       (%define error): Update test output.
+
+2007-01-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Check for unrecognized %define variables similar to checking for
+       unrecognized %code qualifiers.  Check for redefined %define variables.
+       * data/bison.m4 (b4_check_for_unrecognized_names): New macro that
+       generalizes...
+       (b4_check_percent_code_qualifiers): ... this, which now wraps it.
+       (b4_check_percent_define_variables): New, also wraps it.
+       * data/glr.c: Unless glr.cc is wrapping glr.c, declare no valid %define
+       variables using b4_check_percent_define_variables.
+       * data/glr.cc, data/lalr1.cc: Declare the valid %define variables as
+       all those exercised in the test suite and all those listed in the
+       `Default values' section of c++.m4.  Are there others?
+       * data/push.c, data/yacc.c: Declare no valid %define variables.
+       * src/muscle_tab.c, src/muscle_tab.h (muscle_find_const): New function,
+       similar to muscle_find, but it works even when the muscle stores a
+       const value.
+       (muscle_grow_used_name_list): New function for constructing the used
+       name list muscles that b4_check_for_unrecognized_names requires.
+       * src/parse-gram.y (prologue_declaration): Warn if a variable is
+       %define'd more than once.  Define the b4_used_percent_define_variables
+       muscle with muscle_grow_used_name_list.
+       (grammar_declaration): Abbreviate %code code with
+       muscle_grow_used_name_list.
+       * tests/input.at (%define errors): New.
+
+2007-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Provide warn_at, complain_at, and fatal_at function callbacks to the
+       skeletons, and use this for %code qualifier complaints.
+       * data/bison.m4 (b4_error_at): New, invoked by...
+       (b4_warn_at, b4_complain_at, b4_fatal_at): ... these new macros to wrap
+       the skeleton scanner's new @warn_at(...@), @complain_at(...@), and
+       @fatal_at(...@) directives.
+       (b4_check_percent_code_qualifiers): Rewrite to expect locations for
+       qualifiers in b4_used_percent_code_qualifiers and to use
+       b4_complain_at.
+       * src/location.c, src/location.h (boundary_set_from_string): New global
+       function.
+       * src/muscle_tab.c, src/muscle_tab.h (muscle_boundary_grow): New global
+       function.
+       * src/parse-gram.y (grammar_declaration): Add locations for qualifiers
+       to b4_used_percent_code_qualifiers.
+       * src/scan-skel.l (fail_for_at_directive_too_few_args): New static
+       function.
+       (AT_DIRECTIVE_ARGC_MAX): Increase for boundary arguments.
+       (lineno): Rename to...
+       (out_lineno): ... this so I don't misunderstand it again.
+       (SC_AT_DIRECTIVE_SKIP_WS): Don't increment out_lineno for newlines
+       here; these newlines are in the input but not the output file.
+       (SC_AT_DIRECTIVE_ARG): Likewise.  Extract directive execution to...
+       (at_directive_perform): ... this new static function, and add handling
+       of new @warn_at(...@), @complain_at(...@), and @fatal_at(...@)
+       directives.
+       * tests/input.at (Reject bad %code qualifiers): Update test output with
+       locations and extend.
+
+       * tests/output.at (Output file name: [, Output file name: ]): Remove
+       bogus comment about these tests failing.
+
+2007-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up b4_check_percent_code_qualifiers a little.
+       * data/bison.m4 (b4_check_percent_code_qualifiers): Expect qualifiers
+       in b4_used_percent_code_qualifiers to be double-M4-quoted.  Rewrite
+       documentation and add examples.
+       * src/parse-gram.y (grammar_declaration): Double-M4-quote those
+       qualifiers here.
+
+2007-01-05  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't use m4_divert since it makes m4_divert_push and m4_divert_pop
+       unreliable -- especially when they're hidden inside another macro.
+       * data/bison.m4, data/c++-skel.m4, data/c++.m4, data/c-skel.m4,
+       data/c.m4: Remove m4_divert(-1).
+       * data/glr.c, data/glr.cc, data/lalr1.cc, data/location.cc,
+       data/push.c, data/yacc.c: Likewise, and replace m4_divert(0) with
+       m4_divert_push(0) and m4_divert_pop(0).
+       * src/output.c (output_skeleton): Don't add an m4_divert_push(0) and
+       an m4_wrap([m4_divert_pop(0)]) to the M4.  Diversion -1, which is
+       pushed and popped by m4sugar, should be first on the stack.
+
+       Provide warn, complain, and fatal function callbacks to the skeletons.
+       This provides more flexibility than m4_fatal, improves the error
+       message format, and captures messages for translation.  Discussed
+       starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00063.html>.
+       * data/bison.m4 (b4_error): New, invoked by...
+       (b4_warn, b4_complain, b4_fatal): ... these new macros to wrap the
+       skeleton scanner's new @warn(...@), @complain(...@), and @fatal(...@)
+       directives.  Because these M4 macros might be called when the current
+       diversion is -1 or 0, m4_divert_push and m4_divert_pop is used; thus
+       the previous removal of uses of m4_divert, which caused trouble.
+       (b4_check_percent_code_qualifiers): Use b4_complain instead of
+       m4_fatal to report unrecognized %code qualifiers.
+       * data/c++-skel.m4: Use b4_complain instead of m4_fatal to report C++
+       push parser requests.
+       * data/glr.c: Use b4_complain instead of m4_fatal to report
+       non-deterministic push parser requests.
+       Update @output usage to @output(...@) form.
+       * data/glr.cc, data/lalr1.cc: Use b4_fatal instead of m4_fatal to
+       report missing %defines.  Update @output usage to @output(...@) form.
+       * data/location.cc, data/push.c, data/yacc.c: Update @output usage to
+       @output(...@) form.
+       * src/main.c (main): Invoke skel_scanner_free.
+       * src/scan-skel.h (skel_scanner_free): Prototype new function.
+       * src/scan-skel.l (FLEX_NO_OBSTACK): Don't define; we now need the
+       obstack_for_string from flex-scanner.h.
+       (YY_DECL): Use to declare skel_lex static.
+       (decode_at_digraphs): Remove; now handled in the new
+       SC_AT_DIRECTIVE_ARG start condition.
+       (fail_for_at_directive_too_many_args, fail_for_invalid_at): New static
+       functions.
+       (at_directive_name, AT_DIRECTIVE_ARGC_MAX, at_directive_argc,
+       at_directive_argv): New static globals.
+       (INITIAL): Use fail_for_invalid_at.
+       Don't parse `@output file_name\n' or `@basename(...@)'.  Instead,
+       recognize the start of a generalized `@directive(...@)' form and
+       start...
+       (SC_AT_DIRECTIVE_ARG): ... this new start condition to parse the
+       directive args (using the new obstack_for_string), to decode the
+       contained @ diagraphs, and to perform the directive.  It recognizes
+       @basename(...@), @warn(...@), @complain(...@), @fatal(...@), and
+       @output(...@).
+       (SC_AT_DIRECTIVE_SKIP_WS): New start condition started by
+       SC_AT_DIRECTIVE_ARG to skip whitespace after the argument delimiter,
+       `@,'.
+       (scan_skel): Initialize obstack_for_string on the first call.
+       (skel_scanner_free): New function to free obstack_for_string.
+       * tests/input.at (Reject bad %code qualifiers): Update test output.
+
+2007-01-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Consolidate the 4 prologue alternative directives (%code, %requires,
+       %provides, and %code-top) into a single %code directive with an
+       optional qualifier field.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-01/msg00012.html>.
+       * NEWS (2.3a+): Rewrite the existing entry for the prologue
+       alternatives.
+       * doc/bison.texinfo (Prologue Alternatives): Update.
+       (Decl Summary): Update to %code "requires" and %code "provides".
+       (Calc++ Parser): Update to %code "requires".
+       (Table of Symbols): Remove entries for %requires, %provides, and
+       %code-top.  Rewrite %code entry, and add a %code "QUALIFIER" entry.
+       * data/bison.m4 (b4_user_provides, b4_user_requires): Remove as these
+       are replaced by b4_percent_code_provides and b4_percent_code_requires,
+       which are skeleton-specific.
+       (b4_check_percent_code_qualifiers): New.  A skeleton can use this to
+       declare what %code qualifiers it supports and to complain if any other
+       qualifiers were used in the grammar.
+       * data/glr.cc: Update to use b4_user_code([b4_percent_code_requires])
+       and b4_user_code([b4_percent_code_provides]) in place of
+       b4_user_requires and b4_user_provides.
+       * data/glr.c, data/lalr1.cc, data/push.c, data/yacc.c: Likewise.
+       Add b4_user_code([b4_percent_code_top]) and
+       b4_user_code([b4_percent_code]).
+       Invoke b4_check_percent_code_qualifiers.
+       * src/parse-gram.y (PERCENT_CODE_TOP, PERCENT_PROVIDES,
+       PERCENT_REQUIRES): Remove.
+       (grammar_declaration): Remove RHS's for %code-top, %provides, and
+       %requires.  Rewrite the %code RHS as the unqualified form defining the
+       muscle b4_percent_code.  Add another RHS for the qualified %code form,
+       which defines muscles of the form b4_percent_code_QUALIFIER and the
+       b4_used_percent_code_qualifiers muscle.
+       * src/scan-gram.l (PERCENT_CODE_TOP, PERCENT_PROVIDES,
+       PERCENT_REQUIRES): Remove.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Update to use
+       %code "requires" and %code "provides".
+       * tests/input.at (Reject bad %code qualifiers): New.
+
+2007-01-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Use the new code_props interface for destructors and printers.
+       * src/symtab.h (symbol, semantic_type): Remove destructor_location and
+       printer_location members, and change the type of the destructor and
+       printer members to code_props.
+       (symbol_destructor_set, symbol_destructor_get, symbol_printer_set,
+       symbol_printer_get, semantic_type_destructor_set,
+       semantic_type_printer_set, default_tagged_destructor_set,
+       default_tagless_destructor_set, default_tagged_printer_set,
+       default_tagless_printer_set): Use code_props in arguments and return
+       types in place of char const * and location.
+       (symbol_destructor_location_get, symbol_printer_location_get): Remove
+       since the locations are now contained in the return of
+       symbol_destructor_get and symbol_printer_get.
+       * src/output.c (symbol_destructors_output, symbol_printers_output):
+       Replace with...
+       (symbol_code_props_output): ... this to eliminate duplicate code.
+       (output_skeleton): Update to use symbol_code_props_output.
+       * src/reader.c (symbol_should_be_used): Update use of
+       symbol_destructor_get.
+       * src/symlist.c (symbol_list_destructor_set, symbol_list_printer_set):
+       Update uses of the various _destructor_set and _printer_set functions.
+       * src/symtab.c: (default_tagged_destructor_location,
+       default_tagless_destructor_location, default_tagged_printer_location,
+       default_tagless_printer_location): Remove since we...
+       (default_tagged_destructor, default_tagless_destructor,
+       default_tagged_printer, default_tagless_printer): ... change the type
+       of these to code_props.
+       (symbol_new, semantic_type_new, symbol_destructor_set,
+       semantic_type_destructor_set, symbol_destructor_get,
+       symbol_printer_set, semantic_type_printer_set, symbol_printer_get,
+       symbol_check_alias_consistency, default_tagged_destructor_set,
+       default_tagless_destructor_set, default_tagged_printer_set,
+       default_tagless_printer_set): Update.
+       (symbol_destructor_location_get, symbol_printer_location_get): Remove.
+       (SYMBOL_CODE_PRINT): New similar to SYMBOL_ATTR_PRINT but for
+       code_props members.
+       (symbol_print): Use SYMBOL_CODE_PRINT.
+
+2007-01-03  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Use the new code_props interface for rule actions.
+       * src/symlist.h (symbol_list): Replace action, action_location, and
+       used members with a code_props action_props member.
+       * src/reader.c (symbol_should_be_used, grammar_rule_check,
+       grammar_midrule_action, grammar_current_rule_merge_set,
+       grammar_current_rule_symbol_append, packgram): Update.
+       * src/scan-code.h (translate_rule_action): Remove, no longer used.
+       * src/scan-code.l (handle_action_dollar): Update.
+       (translate_rule_action): Remove, no longer used.
+       * src/symlist.c (symbol_list_sym_new, symbol_list_syms_print): Update.
+
+2007-01-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Use the new code_props interface in parse-gram.y.
+       * src/parse-gram.y (prologue_declaration, braceless, epilogue.opt):
+       Update all uses of translate_* functions to use the new code_props
+       interface and to use gram_scanner_last_string_free and
+       code_scanner_last_string_free where possible.
+       (grammar_declaration): symbol_list_destructor_set and
+       symbol_list_printer_set now perform the translation, so don't do it
+       here.  Use gram_scanner_last_string_free where possible.
+       * src/scan-code.h, src/scan-code.l (translate_symbol_action,
+       translate_code): Remove, no longer used.
+       * src/symlist.h, src/symlist.c (symbol_list_destructor_set,
+       symbol_list_printer_set): Perform code translation here rather than
+       depending on the caller to do so.
+
+       * src/symlist.h (struct symbol_list): Correct some documentation typos.
+       * src/scan-gram.h (gram_last_string): Remove declaration.
+       * src/scan-gram.l (last_string): Declare it static.
+
+2007-01-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Encapsulate code properties and related functionality for the various
+       destructors, printers, and actions into a code_props structure and
+       interface.  This patch merely implements code_props in scan-code.h and
+       scan-code.l.  Future patches will rewrite other modules to use it.
+       Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-11/msg00020.html>.
+       * src/location.h (EMPTY_LOCATION_INIT): Define so that it's easier to
+       consistently initialize const structs that have an empty location
+       field.
+       * src/location.c (empty_location): Initialize with EMPTY_LOCATION_INIT
+       to ensure consistency.
+       * src/scan-code.h (code_props): New structure.
+       (code_props_none_init, CODE_PROPS_NONE_INIT, code_props_none): New
+       function, macro, and const global variable for initializing a
+       code_props with no code.
+       (code_props_plain_init, code_props_symbol_action_init,
+       code_props_rule_action_init, code_props_translate_code): The rest of
+       the new code_props functional interface.  Among other things, the init
+       functions set the code_props kind field so that
+       code_props_translate_code will know whether to behave like
+       translate_symbol_action, translate_rule_action, or translate_code.
+       These old translate functions must remain until all other modules are
+       updated to use the new code_props interface.
+       (code_scanner_last_string_free): New function similar to
+       gram_scanner_last_string_free.
+       (code_scanner_free): Add documentation.
+       * src/scan-code.l: Implement the new interface.
+       (code_lex): Make it static, add a code_props* argument, and remove the
+       rule argument.
+       (last_string): New static global similar to the one in scan-gram.l.
+       (SC_RULE_ACTION): Update to use the code_props* argument to code_lex
+       instead of rule.
+       (SC_SYMBOL_ACTION): For $$, set the is_value_used member of the
+       code_props since Bison may one day use this information for destructors
+       and printers.
+       (<*><<EOF>>): Use STRING_FINISH so that last_string is set.
+       (handle_action_dollar): Use symbol_list_n_get and set used flag
+       directly since symbol_list_n_used_set is removed.
+       (translate_action): Add a code_props* argument and remove the rule,
+       action, and location arguments.  Pass the code_props* on to code_lex.
+       (translate_rule_action, translate_symbol_action, translate_code):
+       Rewrite as wrappers around the new code_props interface.
+       * src/symlist.h, src/symlist.c (symbol_list_n_used_set): Remove since
+       it would eventually need to break the encapsulation of code_props.
+
+2007-01-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * etc/.cvsignore: New.
+
+2007-01-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add maintainer-push-check to run maintainer-check using push parsing in
+       place of pull parsing where available.
+       * Makefile.am (maintainer-push-check): New.
+       * data/bison.m4 (b4_use_push_for_pull_if): New.
+       * data/push.c: Redefine b4_push_if and b4_use_push_for_pull_if
+       appropriately based on their existing values.
+       (yypush_parse): Don't print push-parser-specific diagnostics if push
+       parsing is being used in place of pull parsing.
+       * data/yacc.c: If push parsing should replace pull parsing, redirect to
+       push.c.
+       * src/output.c (prepare): Check BISON_USE_PUSH_FOR_PULL environment
+       variable, and insert b4_use_push_for_pull_flag into muscles.
+       * tests/Makefile.am (maintainer-push-check): New.
+
+2006-12-31  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/push.c (yypush_parse): Set yynew = 1 at the end of a parse
+       (whether successful or failed) so that yypush_parse can be invoked
+       again to start a new parse using the same yypstate.
+       * tests/torture.at (AT_DATA_STACK_TORTURE): For push mode, extend to
+       check multiple yypull_parse invocations on the same yypstate.  For pull
+       mode, extend to check multiple yyparse invocations.
+       (Exploding the Stack Size with Alloca): Extend to try with
+       %push-pull-parser.
+       (Exploding the Stack Size with Malloc): Likewise.
+
+       * tests/calc.at (Simple LALR Calculator): Don't specify
+       %skeleton "push.c" since %push-pull-parser implies that now.
+       * tests/headers.at (export YYLTYPE): Don't check for the push
+       declarations.  Otherwise, this test case can't be used to see if push
+       mode can truly emulate pull mode.
+       * tests/input.at (Torturing the Scanner): Likewise.
+       * tests/local.at (AT_YACC_OR_PUSH_IF, AT_PUSH_IF): Remove.
+       (AT_YYERROR_SEES_LOC_IF): Rather than AT_YACC_OR_PUSH_IF, use
+       AT_YACC_IF, which now includes the case of push mode since %skeleton
+       need not be used for push mode.  This will be more intuitive once
+       push.c is renamed to yacc.c.
+
+2006-12-31  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For push mode, convert yyparse from a macro to a function, invoke yylex
+       instead of passing a yylexp argument to yypull_parse, and don't
+       generate yypull_parse or yyparse unless %push-pull-parser is declared.
+       Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00163.html>.
+       * data/bison.m4 (b4_pull_if): New.
+       * data/c.m4 (b4_identification): Define YYPULL similar to YYPUSH.
+       * data/push.c: Improve M4 quoting a little.
+       (b4_generate_macro_args, b4_parenthesize): Remove.
+       (yyparse): If there's a b4_prefix, #define this to b4_prefix[parse]
+       any time a pull parser is requested.
+       Don't #define this as a wrapper around yypull_parse.  Instead, when
+       both push and pull are requested, make it a function that does that
+       same thing.
+       (yypull_parse): If there's a b4_prefix, #define this to
+       b4_prefix[pull_parse] when both push and pull are requested.
+       Don't define this as a function unless both push and pull are
+       requested.
+       Remove the yylexp argument and hard-code yylex invocation instead.
+       * etc/bench.pl.in (bench_grammar): Use %push-pull-parser instead of
+       %push-parser.
+       * src/getargs.c (pull_parser): New global initialized to true.
+       * getargs.h (pull_parser): extern it.
+       * src/output.c (prepare): Insert pull_flag muscle.
+       * src/parse-gram.y (PERCENT_PUSH_PULL_PARSER): New token.
+       (prologue_declaration): Set both push_parser and pull_parser = true for
+       %push-pull-parser.  Set push_parser = true and pull_parser = false for
+       %push-parser.
+       * src/scan-gram.l: Don't accept %push_parser as an alternative to
+       %push-parser since there's no backward-compatibility concern here.
+       Scan %push-pull-parser.
+       * tests/calc.at (Simple LALR(1) Calculator): Use %push-pull-parser
+       instead of %push-parser.
+       * tests/headers.at (export YYLTYPE): Make yylex static, and don't
+       prototype it in the module that calls yyparse.
+       * tests/input.at (Torturing the Scanner): Likewise.
+       * tests/local.at (AT_PUSH_IF): Check for %push-pull-parser as well.
+
+2006-12-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Update etc/bench.pl.  Optimize push mode a little (the yyn change
+       deserves most of the credit).
+       * Makefile.am (SUBDIRS): Add etc subdirectory.
+       * configure.ac (AC_CONFIG_FILES): Add etc/bench.pl and etc/Makefile.
+       * data/push.c (b4_declare_parser_state_variables): Move yyn, yyresult,
+       yytoken, yyval, and yyloc declarations to...
+       (yyparse or yypush_parse): ... here to improve performance.  For
+       yypush_parse invocations after the first, be sure to assign yyn its old
+       value again.
+       (yypstate_new): Don't bother initializing the yyresult field since the
+       initial value isn't used.
+       (yyn, yyresult, yytoken, yyval, yyloc): For each NAME in this list,
+       remove the #define that, in push mode, set it to yyps->NAME.
+       * etc/Makefile.am: New.
+       * etc/bench.pl: Remove and build it instead from...
+       * etc/bench.pl.in: ... this new file.  Use @abs_top_builddir@ to invoke
+       "tests/bison" from the build directory by default rather than just
+       invoking "bison" from $PATH.
+       (calc_grammar): Update push parser code: don't declare yylval globally,
+       don't define yyparse_wrapper, and don't #define yyparse.
+       (bench_grammar): Update to check all working combinations of yacc.c,
+       push.c, impure, pure, pull, and push.
+
+2006-12-25  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For push mode, add pull wrappers around yypush_parse.
+       * data/push.c: (b4_generate_macro_args, b4_parenthesize): New macros.
+       (yypull_parse): New function wrapping yypush_parse.
+       (yyparse): New #define wrapping yypull_parse.
+       * tests/calc.at (_AT_DATA_CALC_Y): Call yyparse even when %push-parser
+       is declared.
+       * tests/headers.at (export YYLTYPE): Make yylex global.  For push mode,
+       prototype yylex in the module that calls yyparse, and don't prototype
+       yyparse there.  Otherwise, the yyparse expansion won't compile.
+       * tests/input.at (Torturing the Scanner): Likewise.
+
+2006-12-25  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Enable push parsers to operate in impure mode.  Thus, %push-parser no
+       longer implies %pure-parser.  The point of this change is to move
+       towards being able to test the push parser code by running the entire
+       test suite as if %push-parser had been declared.
+       * data/push.c (yypush_parse): For impure mode, remove the
+       yypushed_char, yypushed_val, and yypushed_loc arguments.
+       Instead, declare these as local variables initialized to the global
+       yychar, yylval, and yylloc.
+       For the first yypush_parse invocation only, restore the initial values
+       of these global variables when it's time to read a token since they
+       have been overwritten.
+       * src/parse-gram.y (prologue_declaration): Don't set pure_parser for
+       %push-parser.
+       * tests/calc.at (Simple LALR(1) Calculator): Always declare
+       %pure-parser along with %push-parser since this test case was designed
+       for pure push parsers.
+       * tests/local.at (AT_PURE_OR_PUSH_IF): Remove unused.
+       (AT_YACC_OR_PUSH_IF): New.
+       (AT_YYERROR_SEES_LOC_IF): Fix enough that the test suite passes, but
+       add a note that it's still wrong for some cases (as it has been for a
+       while).
+       (AT_PURE_LEX_IF): Use AT_PURE_IF instead of AT_PURE_OR_PUSH_IF since
+       %push-parser no longer implies %pure-parser.
+
+2006-12-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Remove some unnecessary differences between the pull parser code and
+       the push parser code.  This patch enables yynerrs in push mode.
+       * data/push.c: Reformat M4 a little.
+       (b4_yyerror_range): Remove and convert all uses to just yyerror_range.
+       (b4_declare_scanner_communication_variables): Don't omit yynerrs just
+       because push mode is on.  Instead, if pure mode is on, move yynerrs
+       to...
+       (b4_declare_parser_state_variables): ... here.
+       (yynerrs, yyerror_range): For push mode, #define each NAME in this list
+       to yyps->NAME so it can be used in yypush_parse.
+       (yypush_parse): Don't omit uses of yynerrs in push mode.
+
+2006-12-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix bug such that the first pushed token's value and location are
+       sometimes overwritten (sometimes by %initial-action) before being used.
+       * data/push.c (yypush_parse): Rename arguments yynchar, yynlval, and
+       yynlloc to yypushed_char, yypushed_val, and yypushed_loc for clarity.
+       For the first yypush_parse invocation, initialize yychar to YYEMPTY to
+       more closely mimic the pull parser logic.
+       Don't copy the pushed token to yychar, yylval, and yylloc until it's
+       time to read a token, which is after any initialization of yylval and
+       yylloc.
+       (gottoken): Rename label to...
+       (yyread_pushed_token): ... for clarity and to avoid infringing on the
+       user namespace.
+
+2006-12-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Rearrange initialization of the parser state variables so that the
+       skeleton doesn't have to have a copy for pull mode and another for push
+       mode.  This patch also fixes at least a bug such that yylloc was not
+       initialized (with b4_location_initial_line and
+       b4_location_initial_column) upon calling yypush_parse.  However, that
+       initialization now overwrites the first token's location;
+       %initial-action assigning @$ already did the same thing, and both bugs
+       will be fixed in a later patch.
+       * data/push.c (b4_yyssa): Remove and convert all uses to just yyssa.
+       (b4_declare_parser_state_variables): Remove initialization of yytoken,
+       yyss, yyvs, yyls, and yystacksize.
+       (yypstate_new): Remove initialization of some yypstate fields: yystate,
+       yyerrstatus, yytoken, yyss, yyvs, yyls, yystacksize, yyssp, yyvsp, and
+       yylsp.
+       (yyssa, yyvsa, yylsa): For push mode, #define each NAME in this list to
+       yyps->NAME so it can be used in yypush_parse.
+       (yyparse or yypush_parse): For yypush_parse, don't print the
+       "Starting parse" diagnostic for invocations after the first.
+       Add initialization of yytoken, yyss, yyvs, yyls, and yystacksize; for
+       yypush_parse, only do it for the first invocation.
+       Allow yystate, yyerrstatus, yyssp, yyvsp, yylsp, and yylloc
+       initialization to occur in yypush_parse but only on the first
+       invocation.
+
+2006-12-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/push.c: Add CPP guards around push parser declarations in both
+       the header and the code file.
+       In the code file, move the push parser declarations to the same place
+       they appear in the header file.
+       Clean up the M4 some, especially the inconsistent underquoting in
+       some b4_c_function_def and b4_c_function_decl uses.
+
+2006-12-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Encapsulate the push parser state variables into an M4 macro so the
+       push skeleton doesn't have to list them again for pull mode's yyparse.
+       For push mode, remove yypush_parse's local equivalents of these
+       variables to eliminate unnecessary copying between the two sets at
+       run-time.  This patch also fixes at least a bug related to multiple
+       %initial-action invocations in push mode.
+       * data/push.c (b4_declare_parser_variables): Rename to...
+       (b4_declare_scanner_communication_variables): ... this for clarity and
+       update both uses.
+       (b4_declare_yyparse_variables): Remove and move its contents to the one
+       spot where it was invoked.
+       (b4_declare_parser_state_variables): New macro containing the parser
+       state variables required by push mode.
+       (struct yypstate): Replace all fields but yynew with
+       b4_declare_parser_state_variables.
+       (yystate, yyn, yyresult, yyerrstatus, yytoken, yyss, yyssp, yyvs,
+       yyvsp, yyls, yylsp, yystacksize, yyval, yyloc): For push mode, #define
+       each NAME in this list to yyps->NAME so it can be used in yypush_parse.
+       (yyparse or yypush_parse): For yyparse in pull mode, replace local
+       parser state variable declarations with
+       b4_declare_parser_state_variables.
+       Don't initialize parser state variables when calling yypush_parse since
+       yypstate_new already does that.
+       Invoke the user's initial action only upon the first yypush_parse
+       invocation.
+       Remove all code that copies between the local parser state variables
+       and the yypstate.
+
+2006-12-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/push.c (union yyalloc): Rename yyss, yyvs, and yyls fields to
+       prevent a name collision in a future patch where these names will
+       sometimes be #define'd.
+       (YYSTACK_RELOCATE): Add an argument to select a union yyalloc field
+       since it no longer has the same name as the existing argument.
+       (yyparse or yypush_parse): Update all uses of YYSTACK_RELOCATE.
+
+2006-12-19  Paolo Bonzini  <bonzini@gnu.org>
+       and Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * doc/bison.texinfo (Decl Summary): In the %language entry, mention
+       that the argument is case-insensitive, and there's no `=' here.
+       For the %skeleton entry, mention that %language is better.
+       (Bison Options): Likewise for --language and --skeleton.  Move the
+       --skeleton entry so that the `Tuning the parser' section is sorted
+       alphabetically on long options.
+       (C++ Bison Interface): Don't use the word skeleton.  Don't explain the
+       %language directive in detail here; cross-reference the %language
+       documentation instead.
+       (Calc++ Parser): Use `%require "@value{VERSION}"' rather than
+       `%require "2.3b"' so that the example is always up-to-date.
+       (Table of Symbols): Add entries for %language and %skeleton.
+       * examples/extexi (normalize): Instead of replacing every %require
+       argument with the current Bison version, just substitute for
+       `@value{VERSION}'.  This guarantees that we're testing what actually
+       appears in the documentation.
+       * examples/calc++/Makefile.am ($(calc_extracted)): Use `$(VERSION)'
+       rather than `@VERSION@'.
+
+2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Reword the %language news a bit, and put it earlier.
+
+       * src/getargs.c (skeleton_arg): Last arg is now location const *.
+       Rewrite to simplify the logic.
+       (language_argmatch): Likewise.
+       (program_name): We now own this var.
+       * src/getargs.h (struct bison_language): Use char[] rather than
+       const char *.
+
+       * doc/bison.texinfo (Decl Summary, Bison Options): Don't claim
+       Java is supported.
+       * src/complain.c (program_name): Remove decl; no longer needed.
+       * src/main.c (program_name): Remove; now belongs to getargs.
+
+2006-12-18  Paolo Bonzini  <bonzini@gnu.org>
+
+       * NEWS: Document %language.
+
+       * data/Makefile.am (dist_pkgdata_DATA): Add c-skel.m4, c++-skel.m4.
+
+       * data/c-skel.m4, data/c++-skel.m4: New files.
+       * data/glr.c: Complain on push parsers.
+
+       * doc/bison.texinfo (C++ Parser Interface): Prefer %language
+       over %skeleton.
+       (Decl Summary): Document %language and %skeleton.
+       (Command line): Document -L.
+
+       * examples/extexi: Rewrite %require directive.
+       * examples/calc++/Makefile.am: Pass VERSION to extexi.
+
+       * src/files.c (compute_exts_from_gc): Look in language structure
+       for .y extension.
+       (compute_file_name_parts): Check whether .tab should be added.
+       * src/getargs.c (valid_languages, skeleton_prio, language_prio):
+       (language, skeleton_arg, language_argmatch): New.
+       (long_options): Add --language.
+       (getargs): Use skeleton_arg, add -L/--language.
+       * src/getargs.h: Include location.h.
+       (struct bison_language, language, skeleton_arg, language_argmatch): New.
+       * src/output.c (prepare): Pick default skeleton from struct language.
+       Don't dispatch C skeletons here.
+       * src/parse-gram.y (PERCENT_LANGUAGE): New.
+       (prologue_declaration): Add "%language" rule, use skeleton_arg.
+       * src/scan-gram.l ("%language"): New rule.
+
+       * tests/calc.at: Test %skeleton and %language.
+       * tests/local.at (AT_SKEL_CC_IF): Look for %language.
+       (AT_GLR_IF): Look for %skeleton "glr.cc".
+       (AT_LALR1_CC_IF, AT_GLR_CC_IF): Rewrite.
+       (AT_YACC_IF): Reject %language.
+
+2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/symtab.h (struct semantic_type): Remove the tag 'semantic_type',
+       since it wasn't used; only the typedef name 'semantic_type' is needed.
+       Also, omit trailing white space.
+
+       * bootstrap: Sync from coreutils.
+       (gnulib_extra_files): Add build-aux/announce.gen.
+       (slurp): Adjust .gitignore files like .cvsignore files.
+       * build-aux/announce-gen: Remove from CVS, since bootstrap
+       now creates this.
+
+2006-12-16  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Make %push-parser imply %pure-parser.  This fixes several bugs; see
+       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00148.html>.
+       * src/parse-gram.y (prologue_declaration): For %push-parser, also set
+       pure_parser = true.
+       * data/push.c: Don't bother testing b4_push_if when deciding whether
+       to expand b4_declare_parser_variables globally.
+       (yypush_parse): Likewise in here.
+
+       * data/push.c (yypush_parse): Add b4_parse_param to arguments.
+       (yy_reduce_print): Reformat M4 for readability.
+
+2006-12-15  Bob Rossi  <bob@brasko.net>
+       and Joel Denny  <jdenny@ces.clemson.edu>
+
+       * data/push.c (yypstate): Add typedef, and update all uses of
+       struct yypstate to just yypstate.
+       * tests/calc.at (_AT_DATA_CALC_Y): Update here as well.
+
+2006-12-14  Bob Rossi  <bob@brasko.net>
+
+       * data/push.c (yypush_parse): Declare prototype regardless of
+       %locations option.
+
+2006-12-14  Bob Rossi  <bob@brasko.net>
+
+       * data/push.c (yyparse): Remove the prototype and the #define when in
+       push-parser mode.
+
+2006-12-13  Bob Rossi  <bob@brasko.net>
+
+       * data/push.c (yypstate_init): Rename to...
+       (yypstate_new): ... this and use b4_c_function_def.
+       (yypstate_delete): New.
+       (yypush_parse): Change parameters yynval and yynlloc to be const.
+       * tests/calc.at (_AT_DATA_CALC_Y): Use new yypstate_new and
+       yypstate_delete functions.
+
+2006-12-13  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * configure.ac (AC_PREREQ): Require Autoconf 2.61 because of our
+       strange test case titles.  Reported by Bob Rossi.
+
+2006-12-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * TODO: Add pointer to Sylvain Schmitz's work on static detection
+       of potential ambiguities in GLR grammers.
+
+2006-12-12  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/testsuite.at (AT_CHECK): When checking if $1 starts with
+       `bison ', use m4_index instead of m4_substr since chopping up a string
+       containing M4-special characters causes problems here.
+
+       Fix a couple of bugs related to special characters in user-specified
+       file names, and make it easier for skeletons to compute output file
+       names with the same file name prefix as Bison-computed output file
+       names.
+       * data/glr.cc, data/push.c, data/yacc.c: In @output, use
+       b4_parser_file_name and b4_spec_defines_file instead of
+       @output_parser_name@ and @output_header_name@, which are now redundant.
+       * data/glr.c, data/lalr1.cc: Likewise.  Also, in header #include's, use
+       b4_parser_file_name, b4_spec_defines_file, and the new
+       @basename(FILENAME@) instead of @output_parser_name@ and
+       @output_header_name@, which inappropriately escaped the file names as
+       C string literals.
+       * src/files.c (all_but_ext): Remove static qualifier.
+       (compute_output_file_names): Move `free (all_but_ext)' to...
+       (output_file_names_free): ... here since all_but_ext is needed later.
+       * src/files.h (all_but_ext): Extern.
+       * src/muscle_tab.h (MUSCLE_INSERT_STRING_RAW): New macro that does
+       exactly what MUSCLE_INSERT_STRING used to do.
+       (MUSCLE_INSERT_STRING): Use MUSCLE_OBSTACK_SGROW so that M4-special
+       characters are escaped properly.
+       * src/output.c (prepare): Define muscle file_name_all_but_ext as
+       all_but_ext.
+       For pkgdatadir muscle, maintain previous functionality by using
+       MUSCLE_INSERT_STRING_RAW instead of MUSCLE_INSERT_STRING.  The problem
+       is that b4_pkgdatadir is used inside m4_include in the skeletons, so
+       digraphs would never be expanded.  Hopefully no one has M4-special
+       characters in his Bison installation path.
+       * src/scan-skel.l: Don't parse @output_header_name@ and
+       @output_parser_name@ anymore since they're now redundant.
+       In @output, use decode_at_digraphs.
+       Parse a new @basename command that invokes last_component.
+       (decode_at_digraphs): New.
+       (BASE_QPUTS): Remove unused.
+       * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): New macro.
+       (Output file name): New tests.
+
+2006-12-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Warn about output files that are generated by the skeletons and that
+       conflict with other output files.
+       * data/glr.c: Don't generate the header file here when glr.cc does.
+       * src/files.c (file_names, file_names_count): New static globals.
+       (compute_output_file_names): Invoke output_file_name_check for files
+       not generated by the skeletons and remove existing checks.
+       (output_file_name_check): New function that warns about conflicting
+       output file names.
+       (output_file_names_free): Free file_names.
+       * src/files.h (output_file_name_check): Declare.
+       * src/scan-skel.l: Invoke output_file_name_check for files generated by
+       the skeletons.
+       * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): New.
+       (Conflicting output files): New tests.
+
+2006-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/bison.texinfo: Fix a couple of typos.
+
+2006-12-08  Bob Rossi  <bob@brasko.net>
+
+       * data/push.c: (yypvarsinit, yypvars, struct yypvars, yypushparse):
+       Rename to...
+       (yypstate_init, yypstate, struct yypstate, yypush_parse): ... these and
+       update all uses.
+       (b4_yyssa, b4_yyerror_range, yypstate_init): Rename pv to yyps.
+       (yypush_parse): Rename yypvars argument to yyps and remove redundant
+       local pv.
+       (yypstate_init, yypush_parse): Declare in Bison-generated header file.
+       * tests/calc.at (_AT_DATA_CALC_Y): Use newly named functions.
+
+2006-12-07  Bob Rossi  <bob@brasko.net>
+       and Joel Denny  <jdenny@ces.clemson.edu>
+
+       * data/push.c (yypvarsinit): Change return type from void* to struct
+       yypvars*. No longer cast to void* on return.
+       (struct yypvars): Remove yylen since it need not be remembered between
+       yypushparse invocations.
+       (yypushparse): Don't copy between yylen and pv->yylen.
+
+2006-12-05  Bob Rossi  <bob@brasko.net>
+
+       * data/push.c (yychar_set, yylval_set, yylloc_set): Delete.
+       (yypushparse): Add yynchar, yynlval, yynlloc parameters.
+       (b4_declare_parser_variables): Do not declare yynerrs for push mode.
+       (struct yypvars): Remove b4_declare_parser_variables.
+       (yypvarsinit): Remove init code for removed variables.
+       (global scope): Do not declare b4_declare_parser_variables if
+       push or pure mode.
+       (yypushparse): Add b4_declare_parser_variables.
+       Init new local variables, and remove init code for removed
+       yypvars variables.
+       (yyparse): Delete.
+       * tests/calc.at (_AT_DATA_CALC_Y): Call yypushparse for push mode
+       and yyparse for other modes.
+       (AT_CHECK_CALC_LALR): Added '%skeleton "push.c"' for push tests.
+       * tests/local.at (AT_PUSH_IF, AT_PURE_OR_PUSH_IF): Added.
+       (AT_YYERROR_SEES_LOC_IF): push-parser makes this false.
+       (AT_PURE_LEX_IF): True if pure or push parser.
+
+2006-12-05  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Document Yacc prologue alternatives and default %destructor's and
+       %printer's as experimental.  Don't mention Java yet.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-12/msg00002.html>.
+       * NEWS (2.3a+): Say they're experimental.  Remove any mention of Java.
+       (2.3a): Annotate this entry to say the old forms of these features were
+       also experimental.
+       * doc/bison.texinfo (Prologue Alternatives, Freeing Discarded Symbols,
+       Table of Symbols): Say they're experimental.  Comment out any mention
+       of Java (we'll want this back eventually).
+
+2006-12-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Support a file name argument to %defines.  Deprecate `=' in
+       %file-prefix, %name-prefix, and %output.  Discussed at
+       <http://lists.gnu.org/archive/html/help-bison/2006-09/msg00001.html>.
+       * NEWS (2.3a+): Mention.
+       * doc/bison.texinfo (Decl Summary, Table of Symbols): Add entry for new
+       form of %defines, and remove `=' from entries for %file-prefix,
+       %name-prefix, and %output.
+       * src/parse-gram.y (prologue_declaration): Implement.
+       * tests/calc.at (Simple LALR Calculator, Simple GLR Calculator, Simple
+       LALR1 C++ Calculator, Simple GLR C++ Calculator): Remove the `=' from
+       all but one occurrence of %name-prefix.
+       * tests/headers.at (export YYLTYPE): Remove the `=' from %name-prefix.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Likewise.
+       * tests/output.at (AT_CHECK_OUTPUT): Remove the `=' from all but one
+       occurrence of each of %file-prefix and %output.  Add check for %defines
+       with argument.
+       * tests/reduce.at (Useless Terminals, Useless Nonterminals,
+       Useless Rules, Reduced Automaton, Underivable Rules, Empty Language):
+       Remove the `=' from %output.
+
+2006-11-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't escape $ in test case titles since Autoconf 2.61 now does that
+       correctly.
+       * tests/actions.at (Default %printer and %destructor are not for error
+       or $undefined): Here.
+       (Default %printer and %destructor are not for $accept): Here.
+       * tests/input.at (Invalid $n and @n): Here.
+
+2006-11-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Rename <!> to <>.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-11/msg00039.html>.
+       * NEWS (2.3a+): Update.
+       * doc/bison.texinfo (Freeing Discarded Symbols, Table of Symbols):
+       Update.
+       * src/parse-gram.y (TYPE_TAG_NONE, generic_symlist_item): Implement.
+       * src/scan-gram.l (INITIAL): Implement.
+       * src/symlist.c (symbol_list_default_tagless_new): Update comment.
+       * src/symlist.h (symbol_list, symbol_list_default_tagless_new): Update
+       comment.
+       * tests/actions.at (Default tagless %printer and %destructor,
+       Default tagged and per-type %printer and %destructor,
+       Default %printer and %destructor are not for error or $undefined,
+       Default %printer and %destructor are not for $accept,
+       Default %printer and %destructor for mid-rule values): Update.
+       * tests/input.at (Default %printer and %destructor redeclared,
+       Unused values with default %destructor): Update.
+
+2006-11-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't let %prec take a nonterminal.
+       * src/reader.c (grammar_current_rule_prec_set): Make the %prec symbol a
+       token.
+       * tests/input.at (%prec takes a token): New test checking that %prec
+       won't take a nonterminal.
+
+2006-11-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/testsuite.at (AT_CHECK): Don't miss an exit value of 0 because
+       it was double-quoted.
+       * src/Makefile.am (YACC): Use --warnings=all,error so that Bison's own
+       grammar is maintained with Bison's highest standards.
+       * src/getargs.c: Fix some typos in Doxygen comments.
+
+2006-11-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix memory leaks in scanners generated by at least Flex 2.5.9 and
+       later.  Reported by Paul Eggert in
+       <http://lists.gnu.org/archive/html/bison-patches/2006-11/msg00014.html>.
+       * src/flex-scanner.h (yylex_destroy): Define for Flex before 2.5.9.
+       * src/scan-code.l (translate_action): Don't bother invoking
+       yy_delete_buffer (YY_CURRENT_BUFFER) before creating the first buffer.
+       (code_scanner_free): Instead of invoking
+       yy_delete_buffer (YY_CURRENT_BUFFER) directly, invoke yylex_destroy,
+       which frees more.
+       * src/scan-gram.l (gram_scanner_free): Likewise.
+       * src/scan-skel.l (scan_skel): Likewise.
+
+2006-11-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/files.c (tr): Change return type to void.
+       * src/muscle_tab.c (muscle_insert): Free storage in case muscle_grow
+       has been called previously for the same key.
+       (muscle_find): Return storage instead of value so that
+       --enable-gcc-warnings doesn't produce warnings that the return discards
+       const.  aver that the value and storage are the same since storage
+       could potentially be NULL when value is not.
+       * tests/testsuite.at (AT_CHECK): Treat an unspecified exit value the
+       same as 0.
+
+2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap.conf (excluded_files): Exclude m4/codeset.m4 (undoing
+       the earlier change today), m4/intl.m4, m4/intldir.m4.  This gives
+       us a slightly cleaner distribution, and also works.
+       * m4/.cvsignore: Add inline.m4, wint_t.m4 to accommodate recent
+       gnulib changes.
+
+2006-11-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+       and Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don't let Bison leak memory except when it complains.
+       * src/files.h (parser_file_name, spec_verbose_file, spec_graph_file):
+       (spec_defines_file, dir_prefix): Now char *, not const char *,
+       since they are freed.
+       * src/files.c: Likewise.
+       (all_but_ext, all_but_tab_ext, src_extension, header_extension):
+       Likewise.
+       (tr): Now operates in-place.  All uses changed.
+       (compute_exts_from_gf, compute_exts_from_src): Don't leak temporary
+       values.
+       (compute_file_name_parts, compute_output_file_names): Don't store
+       read-only data in variables that will be freed.
+       (compute_output_file_names): Free all_but_ext, all_but_tab_ext,
+       src_extension, and header_extension.
+       (output_file_names_free): New public function to free
+       spec_verbose_file, spec_graph_file, spec_defines_file,
+       parser_file_name, and dir_prefix.
+       * src/getargs.c (getargs): Don't store read-only data in variables that
+       will be freed.
+       * src/main.c (main): Invoke output_file_names_free, code_scanner_free
+       (which previously existed but was unused), and quotearg_free.
+       * src/muscle_tab.h (muscle_insert): value arg is now a `char const *'.
+       * src/muscle_tab.c: Likewise.
+       (muscle_entry): Make the value char const *,
+       and add a new storage member that is char * and can be freed.
+       (muscle_entry_free): New private function.
+       (muscle_init): Use it instead of free.
+       (muscle_insert, muscle_grow): Update and use new storage member.
+       (muscle_code_grow): Free the string passed to muscle_grow
+       since it's not needed anymore.
+       * src/parse-gram.y (%union): Make `chars' member a `char const *', and
+       add a new `char *code' member.
+       ("{...}"): Declare semantic type as code.
+       * src/scan-code.h (translate_rule_action):
+       (translate_symbol_action, translate_code, translate_action): Return
+       `char const *' rather than `char *' since external code should not free
+       these strings.
+       * src/scan-code.l: Likewise.
+       * src/scan-gram.l (<SC_BRACED_CODE>): Use val->code for BRACED_CODE,
+       which is "{...}" in the parser.
+       * tests/Makefile.am (maintainer-check-valgrind): Set
+       VALGRIND_OPTS='--leak-check=full --show-reacheable=yes' before invoking
+       Valgrind.
+       * tests/calc.at (_AT_DATA_CALC_Y): fclose the FILE* so Valgrind doesn't
+       complain.
+       * tests/testsuite.at (AT_CHECK): Redefine so that running Bison and
+       expecting a non-zero exit status sets --leak-check=summary and
+       --show-reachable=no for Valgrind.  Bison unabashedly leaks memory in
+       this case, and we don't want to hear about it.
+
+2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (runtime-po/Makevars): Derive from po/Makevars
+       instead of from the template, to simplify configuration a bit.
+       * bootstrap.conf (excluded_files): Don't exclude m4/codeset.m4
+       and m4/wint_t.m4, as they are needed with the latest gnulib.
+
+2006-10-31  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Disable unset/unused mid-rule value warnings by default, and recognize
+       --warnings=midrule-values to enable them.  Discussed starting at
+       <http://lists.gnu.org/archive/html/help-bison/2006-10/msg00030.html>.
+       * NEWS (2.3a+): Mention.
+       * src/getargs.c, src/getargs.h (warnings_args, warnings_types, enum
+       warnings): Add entry for midrule-values subargument.
+       * src/reader.c (symbol_should_be_used): Don't return true just because
+       the value is a set/used mid-rule value unless
+       --warnings=midrule-values was specified.
+       * tests/input.at (Unused values, Unused values before symbol
+       declarations): Run tests with and without --warnings=midrule-values.
+
+       * src/reader.c (check_and_convert_grammar): Use symbol_list_free rather
+       than LIST_FREE directly.
+
+2006-10-31  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Finish implementing --warnings=error, which should not be implied by
+       --warnings=all (or by its synonyms -W and --warnings without
+       subarguments).
+       * src/complain.c (set_warning_issued): New function to report that
+       warnings are being treated as errors and to record an error if so.
+       Invoke...
+       (warn_at, warn): ... here.
+       * src/getargs.c (warnings_args, warnings_types): Reorder so that
+       "error - warnings are errors" does not appear above "all - all of the
+       above".
+       (getargs): For -W and --warnings without subarguments, don't let
+       FLAGS_ARGMATCH set warnings_error in warnings_flag.
+       * src/getargs.h (enum warnings): Unset warnings_error in warnings_all.
+
+2006-10-31  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (flags_argmatch): Don't cause segmentation fault for
+       empty subargument list.  For example: `bison  --warnings=  parser.y'.
+
+2006-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/push.c, data/yacc.c: Make sure there's a newline at the end of
+       the parser header file so that gcc doesn't warn.
+
+2006-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Split the default %destructor/%printer into two kinds: <*> and <!>.
+       Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00060.html>.
+       * NEWS (2.3a+): Mention.
+       * doc/bison.texinfo (Freeing Discarded Symbols): Document this and the
+       previous change today related to mid-rules.
+       (Table of Symbols): Remove %symbol-default and add <*> and <!>.
+       * src/parse-gram.y (PERCENT_SYMBOL_DEFAULT): Remove.
+       (TYPE_TAG_ANY): Add as <*>.
+       (TYPE_TAG_NONE): Add as <!>.
+       (generic_symlist_item): Remove RHS for %symbol-default and add RHS's
+       for <*> and <!>.
+       * src/scan-gram.l (PERCENT_SYMBOL_DEFAULT): Remove.
+       (TYPE_TAG_ANY, TYPE_TAG_NONE): Add.
+       * src/symlist.c (symbol_list_default_new): Split into tagged and
+       tagless versions.
+       (symbol_list_destructor_set, symbol_list_printer_set): Split
+       SYMLIST_DEFAULT case into SYMLIST_DEFAULT_TAGGED and
+       SYMLIST_DEFAULT_TAGLESS.
+       * src/symlist.h: Update symbol_list_default*_new prototypes.
+       (symbol_list.content_type): Split enum value SYMLIST_DEFAULT into
+       SYMLIST_DEFAULT_TAGGED and SYMLIST_DEFAULT_TAGLESS.
+       * src/symtab.c (default_destructor, default_destructor_location,
+       default_printer, default_printer_location): Split each into tagged and
+       tagless versions.
+       (symbol_destructor_get, symbol_destructor_location_get,
+       symbol_printer_get, symbol_printer_location_get): Implement tagged
+       default and tagless default cases.
+       (default_destructor_set, default_printer_set): Split each into tagged
+       and tagless versions.
+       * src/symtab.h: Update prototypes.
+       * tests/actions.at (Default %printer and %destructor): Rename to...
+       (Default tagless %printer and %destructor): ... this, and extend.
+       (Per-type %printer and %destructor): Rename to...
+       (Default tagged and per-type %printer and %destructor): ... this, and
+       extend.
+       (Default %printer and %destructor for user-defined end token): Extend.
+       (Default %printer and %destructor are not for error or $undefined):
+       Update.
+       (Default %printer and %destructor are not for $accept): Update.
+       (Default %printer and %destructor for mid-rule values): Extend.
+       * tests/input.at (Default %printer and %destructor redeclared): Extend.
+       (Unused values with default %destructor): Extend.
+
+2006-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't apply the default %destructor/%printer to an unreferenced midrule
+       value.  Mentioned at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00104.html>.
+       * src/symtab.c (dummy_symbol_get): Name all dummy symbols initially
+       like $@n instead of just @n so that the default %destructor/%printer
+       logic doesn't see them as user-defined symbols.
+       (symbol_is_dummy): Check for both forms of the name.
+       * src/reader.c (packgram): Remove the `$' from each midrule symbol
+       name for which the midrule value is referenced in any action.
+       * tests/actions.at (Default %printer and %destructor for mid-rule
+       values): New test.
+       * tests/regression.at (Rule Line Numbers, Web2c Report): Update output
+       for change to dummy symbol names.
+
+2006-10-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Warn about unset midrule $$ if the corresponding $n is used.
+       * src/reader.c (symbol_should_be_used): Check midrule parent rule for
+       $n usage.
+       (packgram): Before invoking grammar_rule_check on any rule, make sure
+       all actions have already been scanned in order to set `used' flags.
+       Otherwise, checking that a midrule's $$ is set will not always work
+       properly because the midrule check must forward-reference the midrule's
+       parent rule.
+       * tests/input.at (AT_CHECK_UNUSED_VALUES): Extend to check the new
+       warning.
+
+2006-10-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       More improvements to the documentation of the prologue alternatives:
+       * NEWS (2.3a+): Mention the new `Prologue Alternatives' section in the
+       Bison manual.
+       * doc/bison.texinfo (Prologue Alternatives): Correct some errors.  Add
+       some text to clarify the relative importance of the new directives and
+       to show how these directives may be viewed as code labels.
+
+2006-10-16  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Similar to the recently removed %before-header, add %code-top as the
+       alternative to the pre-prologue.  Mentioned at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-10/msg00063.html>.
+       Also, let the prologue alternatives appear in the grammar section.
+       * src/parse-gram.y (PERCENT_CODE_TOP): New token.
+       (prologue_declaration): Move the existing prologue alternatives to...
+       (grammar_declaration): ... here and add %code-top.
+       * src/scan-gram.l (PERCENT_CODE_TOP): New token.
+
+       Clean up and extend documentation for the prologue alternatives.
+       * NEWS (2.3a+): Describe prologue alternatives.
+       * doc/bison.texinfo (Prologue): Move discussion of prologue
+       alternatives to...
+       (Prologue Alternatives): ... this new section, and extend it to discuss
+       all 4 directives in detail.
+       (Table of Symbols): Clean up discussion of prologue alternatives and
+       add %code-top.
+
+2006-10-16  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       DJGPP specific issues.
+
+       * djgpp/config.bat: config.hin has been moved to lib. Adjust
+       config.bat accordingly.
+       * djgpp/config.sed: Adjust config.sed for the use of autoconf 2.60.
+       * djgpp/config.site: Likewise.
+
+2006-10-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       Replace %*-header with %provides, %requires, %code.  See discussion at
+       http://lists.gnu.org/archive/html/bison-patches/2006-10/msg00002.html
+
+       * data/bison.m4 (b4_user_requires, b4_user_provides): New.
+       (b4_user_start_header): Remove.
+       * data/glr.c: Use new macros instead of b4_*start_header
+       and b4_*end_header.
+       * data/glr.cc: Likewise.
+       * data/lalr1.cc: Likewise.
+       * data/push.c: Likewise.
+       * data/yacc.c: Likewise.
+
+       * doc/bison.texinfo: Remove %before-header, rename
+       %{start,end,after}-header to %requires, %provides, %code.
+
+       * src/parse-gram.y: Likewise (also rename token names accordingly).
+       * src/scan-gram.l: Likewise.
+       * tests/actions.at: Likewise.
+
+2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/Makefile.am (AM_CFLAGS): Remove $(WERROR_CFLAGS).
+       Problem reported by Joel E. Denny.
+
+2006-10-14  Jim Meyering  <jim@meyering.net>
+
+       (Sync from coreutils.)
+       Work also when the working directory (with e.g. coreutils sources)
+       is version controlled with git, rather than CVS.
+       * bootstrap (CVS_only_file): Test for the existence of README-cvs,
+       rather than CVS.
+       In messages and comments, say e.g., "checked-out sources",
+       rather than "CVS sources".
+       (version_controlled_file): New function.  Work for git as well as
+       for CVS.  Don't use grep's -q option.
+       (slurp): Call it here, in place of CVS-specific code.
+
+2006-10-14  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix testsuite for ./configure --enable-gcc-warnings:
+       * configure.ac (gcc-warnings): Move -Wall before -Wno-sign-compare.
+       Otherwise, gcc 4.1.0 (at least) warns about sign comparisons in
+       __AT_CHECK_PRINTER_AND_DESTRUCTOR in tests/actions.at.
+       * test/input.at (Torturing the Scanner): #include <stdlib.h> for abort.
+       * test/regression.at (Diagnostic that expects two alternatives):
+       Likewise.
+
+2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap.conf (gnulib_modules): Add config-h.
+       * djgpp/subpipe.c: Include <config.h> unconditionally; don't
+       worry about HAVE_CONFIG_H.
+       * lib/abitset.c: Likewise.
+       * lib/bitset.c: Likewise.
+       * lib/bitset_stats.c: Likewise.
+       * lib/bitsetv-print.c: Likewise.
+       * lib/bitsetv.c: Likewise.
+       * lib/ebitset.c: Likewise.
+       * lib/get-errno.c: Likewise.
+       * lib/lbitset.c: Likewise.
+       * lib/subpipe.c: Likewise.
+       * lib/timevar.c: Likewise.
+       * lib/vbitset.c: Likewise.
+       * lib/bitset.c: Include "bitset.h" first, to test interface.
+       * lib/bitset_stats.c: Include "bitset_stats.h" first.
+       * lib/bitsetv-print.c: Include "bitsetv-print.h" first.
+       * lib/bitsetv.c: Include "bitsetv.h" first.
+       * lib/get-errno.c: Include "get-errno.h" first.
+       * m4/.cvsignore: Add config-h.m4.
+       * tests/actions.at (Default %printer and %destructor for ...):
+       Adjust expected line numbers in output to reflect removal of #if
+       HAVE_CONFIG_H lines.
+       * tests/glr-regression.at (Missed %merge type warnings when ...):
+       Likewise.
+       * tests/regression.at (Braced code in declaration in rules section):
+       Likewise.
+       * tests/atlocal.in (CPPFLAGS): Don't define HAVE_CONFIG_H.
+       * tests/local.at (AT_DATA_GRAMMAR_PROLOGUE):
+       Include <config.h> unconditionally.
+
+       * bootstrap: Sync from coreutils, as follows:
+
+       2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (symlink_to_gnulib): Fix bug: the dot_dots shell
+       variable was sometimes used without being initialized.  This
+       messed up the installation of the INSTALL file in some cases.
+
+       2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (usage, main program, symlink_to_gnulib): Add option
+       --copy.  Inspired by a suggestion from Bruno Haible.
+
+       2006-10-03  Jim Meyering  <jim@meyering.net>
+
+       * bootstrap: Undo last change to this file, since now gnulib-tool
+       sticks with the automake default in generating dependencies.
+
+2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * configure.ac: Use AC_PROG_CC_STDC; this is more modern than
+       the old AC_PROG_CC / AM_PROG_CC_STDC combination.
+
+       * doc/bison.1: Add copyright notice.
+
+       * data/glr.c: Don't include <stdarg.h>; not used.
+
+       * NEWS: The -g and --graph options now output graphs in Graphviz
+       DOT format, not VCG format.
+       * doc/bison.1: Likewise.
+       * doc/bison.texinfo (Understanding, Bison Options): Likewise.
+       * THANKS: Add Satya Kiran Popuri, who proposed the initial version
+       of this change in
+       <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00158.html>.
+       * TODO: Remove Graphviz entry.
+       * src/Makefile.am (bison_SOURCES): Add graphviz.c and graphviz.h;
+       remove vcg.c, vcg.h, vcg_defaults.h.
+       * src/vcg.c, src/vcg.h, src/vcg_defaults.h: Remove.
+       * src/graphviz.c, src/graphviz.h: New files.
+       * src/files.c (compute_output_file_names): Output .dot, not .vcg.
+       * src/files.h: Make comment more generic.
+       * src/main.c (main): Likewise.
+       * src/print_graph.h: Likewise.
+       * src/getargs.c (usage): Make usage description more generic.
+       * src/print_graph.c: Include graphviz.h rather than vcg.h.
+       (static_graph, fgraph): Remove.  All uses changed to pass
+       arguments instead of sharing a static var.
+       (print_core, print_actions, print_state, print_graph):
+       Output graphviz format rather than VCG format.
+       * tests/.cvsignore: Remove *.vcg; add *.dot.
+       * tests/output.at: Expect *.dot files, not *.vcg files.
+
+       * data/Makefile.am (dist_pkgdata_DATA): Add bison.m4; this
+       accommodates the 2006-10-08 change.
+
+2006-10-11  Bob Rossi  <bob@brasko.net>
+
+       * data/push.c (yypushparse, yypvarsinit, yypvars): Wrap in b4_push_if.
+       (b4_yyssa, b4_yyerror_range): New macros.
+       (struct yypvars): Remove yyssa_ptr and yyerror_range_ptr fields.
+       (yypvarsinit): Remove init of removed fields.
+       (yypushparse): Remove use of removed fields; use new macros instead.
+
+2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/push.c (yypushparse): Fix memory leak if yymsg is malloced
+       in a push parser.  Reindent slightly to match yacc.c better.
+
+2006-10-11  Bob Rossi  <bob@brasko.net>
+
+       * data/push.c (struct yypvars): Remove yymsgbuf, yymsgbuf_ptr, yymsg,
+       yymsg_alloc fields.
+       (yypvarsinit, yypushparse): Remove init of removed fields.
+       (yypushparse): Use yymsgbuf instead of yymsgbuf_ptr.
+
+2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * THANKS: Add Paolo Bonzini and Bob Rossi.
+
+2006-10-08  Paolo Bonzini  <bonzini@gnu.org>
+
+       * data/c.m4 (b4_copyright, b4_epilogue, b4_location_initial_column,
+       b4_location_initial_line, p4_parse_param, b4_ints_in, b4_flag_if,
+       b4_define_flag_if and uses, b4_basename, b4_syncline, b4_user_code,
+       b4_define_user_cde and uses): Remove.
+       (b4_comment, b4_prefix, b4_sync_start): New.
+       * data/bison.m4: New file, with most of the content removed from c.m4.
+       * src/muscle_tab.h: Use "do {...} while(0)" throughout.
+       * src/output.c (output_skeleton): Pass bison.m4.
+       (prepare): Pass glr_flag and nondeterministic_flag.  Pass prefix
+       only if specified.
+
+2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix test failure reported by Tom Lane in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-10/msg00000.html>
+       and try to make such failures easier to catch in the future.
+       * data/glr.c (YYTRANSLATE): Don't check for nonpositive arg;
+       that's now the caller's responsibility.
+       (yyprocessOneStack, yyrecoverSyntaxError, yyparse):
+       Set yychar = YYEOF if it's negative.
+       * tests/actions.at (yylex): Abort if asked to read past EOF.
+       * tests/conflicts.at (yylex): Likewise.
+       * tests/cxx-type.at (yylex): Likewise.
+       * tests/glr-regression.at (yylex): Likewise.
+       * tests/input.at (yylex): Likewise.
+       * tests/regression.at (yylex): Likewise.
+       * tests/torture.at (yylex): Likewise.
+
+2006-10-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problems with translating English-language diagnostics.
+       * bootstrap: Fix bug introduced in recent bootstrap changes, with
+       respect to bison-runtime pot generation.  The YY_ stuff
+       wasn't being captured.
+       * bootstrap.conf (XGETTEXT_OPTIONS_RUNTIME): New var.
+       * po/POTFILES.in: Add src/location.c, src/scan-code.l.
+       * runtime-po/POTFILES.in: Add data/push.c.
+
+2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge bootstrap changes from coreutils.
+
+       2006-09-28  Jim Meyering  <jim@meyering.net>
+
+       Automatically generated dependencies are important even
+       when all of the sources in a directory come from gnulib.
+       * bootstrap (gnulib_tool): Remove the "no-dependencies" automake
+       option that gnulib-tool adds to what becomes our lib/gnulib.mk.
+
+       2006-09-23  Jim Meyering  <jim@meyering.net>
+
+       * bootstrap (gnulib_tool_options): Add "--local-dir gl".
+
+       2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap: Add support for --force.
+       (usage): New function.  Describe usage less tersely.
+       (CVS_only_file): New var.
+
+2006-09-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/push.c (YYPUSH_MORE): Make it an enum instead.
+       (yypushparse): Use YYPUSH_MORE instead of the mystery constant.
+       Adjust white space and comments to match GNU style better.
+
+2006-09-20  Bob Rossi  <bob@brasko.net>
+
+       * data/push.c (yyresult_get): Remove function.
+       (YYPUSH_MORE): Add #define.
+       (yypushparse): Modify return value.
+
+2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * stamp-h.in: Remove; no longer needed.
+       * .cvsignore: Replace autom4te.cache and config.cache with *.cache.
+       Remove config.h, config.hin, intl (no longer created).
+       * lib/.cvsignore: Add config.h, config.hin, configmake.h, inttypes.h,
+       stamp-h1.
+
+       Sync bootstrap from coreutils, as follows:
+
+       2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (symlink_to_gnulib): New function.
+       (cp_mark_as_generated): Use it, to prefer symlinks-to-gnulib
+       to copies-of-gnulib.
+       (cp_mark_as_generated, slurp, gnulib_files):
+       Avoid making a copy if it's the same as the old version.
+       (gnulib_files): Add support for this variable (used by Bison).
+
+2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/getargs.c (usage): Rework to use conventions similar to
+       coreutils, to make translation a bit easier and the code a bit
+       smaller.  Problem reported by Tim Van Holder.
+
+2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use some of gnulib's new modules, taken from coreutils.
+
+       * bootstrap: Sync from coreutils, except add support for gnulib_files.
+       * bootstrap.conf: New file.
+       (gnulib_modules): Add configmake, inttypes, unistd.
+       (XGETTEXT_OPTIONS): Add complain, complain_at,
+       fatal, fatal_at, warn, warn_at, unexpected_end.
+       * configure.ac (AC_CONFIG_HEADERS): config.h is now in lib, not here.
+       (gl_USE_SYSTEM_EXTENSIONS): Remove; gl_EARLY now does this.
+       (gl_EARLY): Add.
+       (AM_STDBOOL_H): Remove; gl_INIT now dows this.
+       (gl_INIT): Add
+       (GNULIB_AUTOCONF_SNIPPET): Remove.
+       (AM_GNU_GETTEXT): Add; require formatstring macros since that's
+       the pickiest.
+       * lib/.cvsignore: Add inttypes_.h.
+       * lib/Makefile.am: Include gnulib.mk first so we can append to it.
+       (AM_CFLAGS): Add WERROR_CFLAGS, to be more like coreutils.
+       (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES): Remove
+       no-longer-necessary initializations.
+       (lib_SOURCES): Remove, replacing by libbison_a_SOURCES.
+       * lib/subpipe.c: Include <unistd.h> unconditionally, now that we
+       use the unistd module.
+       * src/system.h: Likewise.
+       * m4/.cvsignore: Remove *_gl.m4, gnulib.m4, inttypes_h.m4, uintmax_t.m4,
+       ulonglong.m4.  Add gettext.m4, gnulib-cache.m4, gnulib-comp.m4,
+       gnulib-tool.m4, inttypes-h.m4, inttypes-pri.m4, inttypes.m4.
+       * src/Makefile.am (DEFS): Remove, since configmake does this for us.
+       (AM_CPPFLAGS): Remove -I../lib, since Automake does that for us.
+       * src/system.h: Include inttypes.h unconditionally, now that we
+       use the inttypes module.  Don't bother to include stdint.h, since
+       inttypes.h now does that for us.
+       (LOCALEDIR): Remove, now that we use the configmake module.
+       * src/getargs.c: Include configmake.h.
+       * src/main.c: Likewise.
+       * src/output.c: Likewise.
+       * tests/atlocal.in (CPPFLAGS): Include from $abs_top_builddir/lib,
+       not from $abs_top_builddir, since config.h moved.
+
+
+       Port to GCC 2.95.  First two problems reported by Michael Deutschmann in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00018.html>.
+
+       * src/parse-gram.y (symbol_declaration): Don't put statements
+       before declarations; it's not portable to C89.
+       * src/scan-code.l (handle_action_at): Likewise.
+
+       * src/scan-code.l: Always initialize braces_level; the old code
+       left it uninitialized and therefore had undefined behavior.
+
+       Don't attempt to redefine 'assert', since it runs afoul of
+       systems where standard headers (mistakenly) include <assert.h>.
+       Instead, define and use our own alternative, called 'aver'.
+       * src/reader.c: Don't include assert.h, since we no longer
+       use assert.
+       * src/scan-code.l: Likewise.
+       * src/system.h (assert): Remove, replacing with....
+       (aver): New function, taking a bool arg.  All uses changed.
+       * src/tables.c (pack_vector): Ensure that aver arg is bool,
+       not merely an integer.
+
+2006-09-15  Bob Rossi  <bob@brasko.net>
+
+       Add support for push parsing.  Based on the original work of
+       Odd Arild Olsen <oao@fibula.no>.
+       * data/Makefile.am (dist_pkgdata_DATA): Add push.c.
+       * data/c.m4 (YYPUSH): New.
+       (b4_push_if): New macro.  Use it instead of #ifdef YYPUSH.
+       * data/push.c: New file.
+       * src/getargs.c (push_parser): New var.
+       * src/getargs.h (push_parser): New declaration.
+       * src/output.c (prepare): Add macro insertion of `push_flag'.
+       * src/parse-gram.y (PERCENT_PUSH_PARSER): New token.
+       (prologue_declaration): Parse %push-parser.
+       * src/scan-gram.l: Scan new PERCENT_PUSH_PARSER token.
+       * tests/calc.at (_AT_CHECK_CALC_ERROR): Add "Return" and "Now" to
+       list of removed lines from the traces observed.
+       (AT_CHECK_CALC_LALR): Added push parser tests.
+
+2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.3a.
+       * configure.ac (AC_INIT): Likewise.
+
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Remove
+       "#define YYSTYPE int" that caused "make maintainer-check" to fail
+       due to header ordering dependencies.  I don't know why the #define
+       was there.
+
+       Fix glr.cc and lalr1.cc's use of YYDEBUG so that there's zero
+       runtime cost when YYDEBUG is not defined, and so that some tests
+       that used to fail now work.  Problem and initial suggestion by
+       Paolo Bonzini.
+       * data/c++.m4 (b4_parse_param_cons): Omit leading ','.
+       * data/glr.cc (b4_parser_class_name):
+       Initialize yycdebug_ only if YYDEBUG.  Also, initialize yydebug_.
+       (debug_level, set_debug_level): Affect yydebug_, not ::yydebug.
+       (yydebug_) [YYDEBUG]: New member.
+       (yycdebug_): Now defined only if YYDEBUG.
+       * data/lalr1.cc (yydebug_, yycdebug_): Now defined only if YYDEBUG.
+       (YYCDEBUG) [!YYDEBUG]: Don't use yydebug_ and yycdebug_.
+       (b4_parser_class_name): Initialize yydebug_ and yycdebug_ only
+       if YYYDEBUG.
+       (debug_stream, set_debug_stream, debug_level, set_debug_level):
+       Define only if YYDEBUG.
+       * tests/calc.at (_AT_DATA_CALC_Y) [!YYDEBUG]: Omit call to
+       set_debug_level.
+       * tests/regression.at (_AT_DATA_DANCER_Y) [!YYDEBUG]: Likewise.
+       * tests/calc.at (AT_CHECK_CALC_GLR_CC): Uncomment calls to
+       AT_CHECK_CALC_GLR_CC that are working now.
+
+2006-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.cc (YYERROR_VERBOSE, YYTOKEN_TABLE): Remove.
+       We don't need them in glr.cc, and glr.c defines them.
+       Defining YYERROR_VERBOSE to 0 here breaks glr.c, since glr.c
+       assumes that defining it to anything is the same as defining
+       it to 1.  Problem reported by Paolo Bonzini.
+
+2006-09-12  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
+
+       * data/c.m4 (b4_null, b4_case): Define.
+       * src/output.c (prepare_symbols): Use b4_null.
+       (user_actions_output): Use b4_case.
+
+2006-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (b4_shared_declarations): Put start-header first,
+       before any #includes that we generate, so that feature-test
+       macros work.  Problem reported by Michael Deutschmann in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00004.html>.
+       * data/lalr1.cc: Likewise.
+       * doc/bison.texinfo (Prologue): Document that feature-test macros
+       should be defined before any Bison declarations.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Put defns
+       that depend on location.hh after, not before, Bison decls, since
+       we now include location.hh after the first user prologue.
+
+       * doc/bison.texinfo (Calc++ Parser): Fix memory leak reported by
+       Sander Brandenburg in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00002.html>.
+       Also, fix minor white space and comment issues.
+       (Prologue): Mention that it's better to define feature-test macros
+       before Bison declarations.  Problem reported by Michael Deutschmann.
+
+       * README-cvs: Fix typo: "&" should be "&&".  Problem reported
+       by Jim Meyering.
+       * m4/.cvsignore: Add argmatch.m4.  Remove obstack.m4, strerror_r.m4.
+       This adjusts to recent gnulib changes.
+
+2006-09-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Finish implementation of per-type %destructor/%printer.  Discussed
+       starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-02/msg00064.html>
+       and
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00091.html>.
+       * NEWS (2.3+): Add a description of this feature to the default
+       %destructor/%printer description.
+       * doc/bison.texinfo (Freeing Discarded Symbols): Likewise.
+       * src/symlist.c (symbol_list_destructor_set, symbol_list_printer_set):
+       Invoke semantic_type_destructor_set or semantic_type_printer_set when a
+       list node contains a semantic type.
+       * src/symtab.c, src/symtab.h: Extend with a table that associates
+       semantic types with their %destructor's and %printer's.
+       (semantic_type_from_uniqstr, semantic_type_get,
+       semantic_type_destructor_set, semantic_type_printer_set): New functions
+       composing the public interface of that table.
+       (symbol_destructor_get, symbol_destructor_location_get,
+       symbol_printer_get, symbol_printer_location_get):  If there's no
+       per-symbol %destructor/%printer, look up the per-type before trying
+       the default.
+       * tests/actions.at (Per-type %printer and %destructor): New test case.
+       * tests/input.at (Default %printer and %destructor redeclared):
+       Extend to check that multiple occurrences of %symbol-default in a
+       single %destructor/%printer declaration is an error.
+       (Per-type %printer and %destructor redeclared, Unused values with
+       per-type %destructor): New test cases.
+
+2006-09-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Require default %destructor/%printer to be declared using
+       %symbol-default instead of an empty symbol list, and start working on
+       new per-type %destructor/%printer.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00007.html>.
+       * NEWS (2.3+): Add %symbol-default to example.
+       * bison.texinfo (Freeing Discarded Symbols): Likewise.
+       (Table of Symbols): Add entry for %symbol-default.
+       * src/parse-gram.y (PERCENT_SYMBOL_DEFAULT): New token.
+       (generic_symlist, generic_symlist_item): New nonterminals for creating
+       a list in which each item is a symbol, semantic type, or
+       %symbol-default.
+       (grammar_declaration): Use generic_symlist in %destructor and %printer
+       declarations instead of symbols.1 or an empty list.
+       (symbol_declaration, precedence_declaration, symbols.1): Update actions
+       for changes to symbol_list.
+       * src/reader.c: Update for changes to symbol_list.
+       * src/scan-code.l: Likewise.
+       * src/scan-gram.l: Scan new PERCENT_SYMBOL_DEFAULT token.
+       * src/symlist.c, src/symlist.h: Extend such that a list node may
+       represent a semantic type or a %symbol-default in addition to just an
+       ordinary symbol.  Add switched functions for setting %destructor's and
+       %printer's.
+       * tests/actions.at, tests/input.at: Add %symbol-default to all default
+       %destructor/%printer declarations.
+
+2006-08-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Whether the default %destructor/%printer applies to a particular symbol
+       isn't a question of whether the user *declares* that symbol (in %token,
+       for example).  It's a question of whether the user by any means
+       *defines* the symbol at all (by simply using a char token, for
+       example).  $end is defined by Bison whereas any other token with token
+       number 0 is defined by the user.  The error token is always defined by
+       Bison regardless of whether the user declares it with %token, but we
+       may one day let the user define error as a nonterminal instead.
+       * NEWS (2.3+): Say "user-defined" instead of "user-declared".
+       * doc/bison.texinfo (Freeing Discarded Symbols): Likewise, and document
+       the meaning of "user-defined".
+       * tests/actions.at (Default %printer and %destructor for user-declared
+       end token): Rename to...
+       (Default %printer and %destructor for user-defined end token): ...
+       this.
+
+       * src/symtab.c (symbol_destructor_get, symbol_printer_get): In the
+       computation of whether to apply the default, don't maintain a list of
+       every Bison-defined symbol.  Instead, just check for a first character
+       of '$', which a user symbol cannot have, and check for the error token.
+
+2006-08-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't apply the default %destructor or %printer to the error token,
+       $undefined, or $accept.  This change fits the general rule that the
+       default %destructor and %printer are only for user-declared symbols,
+       and it solves several difficulties that are described in the new test
+       cases listed below.
+       * src/symtab.c (symbol_destructor_get, symbol_printer_get): Implement.
+       * tests/actions.at (Default %printer and %destructor are not for error
+       or $undefined, Default %printer and %destructor are not for $accept):
+       New test cases.
+
+2006-08-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Allow %start after the first rule.
+       * src/reader.c (grammar_current_rule_begin): Don't set the start symbol
+       when parsing the first rule.
+       (check_and_convert_grammar): Search for it here after all grammar
+       declarations have been parsed.  Skip midrules, which have dummy LHS
+       nonterminals.
+       * src/symtab.c (symbol_is_dummy): New function.
+       * src/symtab.h (symbol_is_dummy): Declare it.
+       * tests/input.at (%start after first rule): New test.
+
+2006-08-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Redo some of the previous commit: add back the ability to use
+       non-aliased/undeclared string literals since it might be useful to
+       those declaring %token-table.
+       * src/reader.c (check_and_convert_grammar): Undo changes in previous
+       commit: don't worry about complaints from symbols_pack.
+       * src/symtab.c (symbol_new, symbol_class_set,
+       symbol_check_alias_consistency): Undo changes in previous commit: count
+       each string literal as a new symbol and token, assign it a symbol
+       number, and don't complain about non-aliased string literals.
+       (symbols_pack): Since symbol_make_alias still does not decrement symbol
+       and token counts but does still set aliased tokens to the same number,
+       symbol_pack_processor now leaves empty slots in the symbols array.
+       Remove those slots.
+       * tests/regression.at (Undeclared string literal): Remove test case
+       added in previous commit since non-aliased string literals are allowed
+       again.
+       (Characters Escapes, Web2c Actions): Undo changes in previous commit:
+       remove unnecessary string literal declarations.
+       * tests/sets.at (Firsts): Likewise.
+
+2006-08-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't allow an undeclared string literal, but allow a string literal to
+       be used before its declaration.
+       * src/reader.c (check_and_convert_grammar): Don't invoke packgram if
+       symbols_pack complained.
+       * src/symtab.c (symbol_new): Don't count a string literal as a new
+       symbol.
+       (symbol_class_set): Don't count a string literal as a new token, and
+       don't assign it a symbol number since symbol_make_alias does that.
+       (symbol_make_alias): It's not necessary to decrement the symbol and
+       token counts anymore.  Don't assume that an alias declaration occurs
+       before any uses of the identifier or string, and thus don't assert that
+       one of them has the highest symbol number so far.
+       (symbol_check_alias_consistency): Complain if there's a string literal
+       that wasn't declared as an alias.
+       (symbols_pack): Bail if symbol_check_alias_consistency failed since
+       symbol_pack asserts that every token has been assigned a symbol number
+       although undeclared string literals have not.
+       * tests/regression.at (String alias declared after use, Undeclared
+       string literal): New test cases.
+       (Characters Escapes, Web2c Actions): Declare string literals as
+       aliases.
+       * tests/sets.at (Firsts): Likewise.
+
+2006-08-14  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In the grammar scanner, STRING_FINISH unclosed constructs and return
+       them to the parser in order to improve error messages.
+       * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER,
+       SC_BRACED_CODE, SC_PROLOGUE): Implement.
+       * tests/input.at (Unclosed constructs): New test case.
+       * tests/regression.at (Invalid inputs): Update now that unclosed %{ is
+       seen.
+
+       * src/scan-gram.h, src/scan-gram.l (gram_last_braced_code_loc): Remove
+       unused global.
+
+2006-08-13  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Handle string aliases for character tokens correctly.
+       * src/symtab.c (symbol_user_token_number_set): If the token has an
+       alias, check and set its alias's user token number instead of its own,
+       which is set to indicate the alias.  Previously, every occurrence of
+       the character token in the grammar overwrote that alias indicator with
+       the character code.
+       * tests/input.at (String aliases for character tokens): New test.
+
+2006-08-12  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/parse-gram.y: Add `%expect 0' so we don't overlook conflicts.
+
+2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap: Put in need-ngettext argument to AM_GNU_GETTEXT,
+       to prevent failures when building on older platforms.
+       Check for autopoint failure.
+       Set XGETTEXT_OPTIONS to values that check for C format strings,
+       so that translators are warned about them (this also helps
+       prevent core dumps).
+
+       * lib/subpipe.c (create_subpipe): Use new gnulib pipe_safer
+       function, since it simplifies our code a bit.
+
+       * configure.ac (AC_ARG_ENABLE): Use -Wextra -Wno-sign-compare
+       rather than -W, so we don't get bogus warnings about sign comparisons.
+       Add -Wpointer-arith, since that warning is useful (it reports code
+       that does not conform to C89 and that some compilers reject).
+       * data/c.m4, data/glr.c, data/lalr1.cc, data/yacc.c: Undo latest change,
+       since it's no longer needed.
+
+2006-08-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up scanners a bit.
+       * src/flex-scanner.h (FLEX_NO_OBSTACK): New macro that blocks obstack
+       definitions so gcc won't warn when obstack_for_string is unused.
+       * src/scan-code.l: config.h and system.h are already #include'd by
+       scan-code-c.c, so get rid of them here.
+       * src/scan-gram.l: Likewise.
+       * src/scan-skel.l: Likewise, and use flex-scanner.h without obstack
+       definitions rather than duplicating the rest of it.
+       * src/scan-gram-c.c, scan-skel-c.c: #include "system.h".
+
+2006-08-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Suppress signed/unsigned comparison warnings for yycheck.
+       * data/c.m4 (b4_safest_int_type): New macro.
+       * data/glr.c, data/lalr1.cc: Wherever you compare yycheck[i] against
+       a signed int type, cast it to b4_safest_int_type first.
+       * data/yacc.c: Likewise.
+       (b4_safest_int_type): Overwrite the one from c.m4 since b4_int_type is
+       also overwritten.
+
+2006-08-09  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>  (tiny change)
+
+       * doc/bison.texinfo: Fix some typos.
+
+2006-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/.cvsignore: Add inttypes_h.m4,lib-ld.m4, lib-prefix.m4,
+       po.m4, stdint_h.m4, uintmax_t.m4, ulonglong.m4, warning.m4.
+
+       * bootstrap (gnulib_tool): Stop using --assume-autoconf;
+       the latest gnulib does this a different way.
+       (get_translations): Sharuzzaman Ahmat Raslan reported that the ms
+       translation was patched, so stop omitting it.
+
+2006-07-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Enable declaration of default %printer/%destructor.  Make the parser
+       use these for all user-declared grammar symbols for which the user does
+       not declare a specific %printer/%destructor.  Thus, the parser uses it
+       for token 0 if the user declares it but not if Bison generates it as
+       $end.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-02/msg00064.html>,
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00091.html>,
+       and
+       <http://lists.gnu.org/archive/html/bison-patches/2006-07/msg00019.html>.
+       * NEWS (2.3+): Mention.
+       * doc/bison.texinfo (Actions in Mid-Rule): It's no longer impossible to
+       declare a %destructor for a mid-rule's semantic value.  It's just
+       impossible to declare one specific to it.
+       (Freeing Discarded Symbols): Mention that @$ can be used in %destructor
+       code.  Describe default %destructor form.
+       * src/parse-gram.y (grammar_declaration): Parse default
+       %printer/%destructor declarations.
+       * src/output.c (symbol_destructors_output): Use symbol_destructor_get
+       and symbol_destructor_location_get rather than accessing the destructor
+       and destructor_location members of struct symbol.
+       (symbol_printers_output): Likewise but for %printer's.
+       * src/reader.c (symbol_should_be_used): Likewise but for %destructor's
+       again.
+       * src/symtab.c (default_destructor, default_destructor_location,
+       default_printer, default_printer_location): New static global
+       variables to record the default %destructor and %printer.
+       (symbol_destructor_get, symbol_destructor_location_get,
+       symbol_printer_get, symbol_printer_location_get): New functions to
+       compute the appropriate %destructor and %printer for a symbol.
+       (default_destructor_set, default_printer_set): New functions to set the
+       default %destructor and %printer.
+       * src/symtab.h: Prototype all those new functions.
+       * tests/actions.at (Default %printer and %destructor): New test to
+       check that the right %printer and %destructor are called, that they're
+       not called for $end, and that $$ and @$ work correctly.
+       (Default %printer and %destructor for user-declared end token): New
+       test to check that the default %printer and %destructor are called for
+       a user-declared end token.
+       * tests/input.at (Default %printer and %destructor redeclared, Unused
+       values with default %destructor): New tests to check related grammar
+       warnings and errors.
+
+2006-07-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up handling of %destructor for the end token (token 0).
+       Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-07/msg00019.html>
+       and
+       <http://lists.gnu.org/archive/html/help-bison/2006-07/msg00013.html>.
+
+       Make the skeletons consistent in how they pop the end token and invoke
+       its %destructor.
+       * data/glr.c (yyrecoverSyntaxError, yyparse): Don't pop the start
+       state, which has token number 0, since this would invoke the
+       %destructor for the end token.
+       * data/lalr1.cc (yy::parser::parse): Don't check for the final state
+       until after shifting the end token, or else it won't be popped.
+       * data/yacc.c (yyparse): Likewise.
+
+       * data/glr.c (yyparse): Clear the lookahead after shifting it even when
+       it's the end token.  Upon termination, destroy an unshifted lookahead
+       even when it's the end token.
+       * data/lalr1.cc (yy::parser::parse): Likewise.
+       * data/yacc.c (yyparse): Likewise.
+
+       * src/reader.c (packgram): Don't check rule 0.  This suppresses unused
+       value warnings for the end token when the user gives the end token a
+       %destructor.
+
+       * tests/actions.at (Printers and Destructors): Test all the above.
+
+2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Update to latest gnulib and gettext versions.
+       * bootstrap (gnulib-modules): Remove hard-locale, stdio-safer.
+       Add fopen-safer.
+       (gnulib_files): Add m4/warning.m4.  Don't worry about files
+       overwritten by autopoint.
+       Replace gt_INTL_SUBDIR_CORE with an empty body in m4/gettext_gl.m4.
+       Suppress "id", "ms", "tr" translations for now, since gettext 0.15
+       rejects them.
+       Don't use autoreconf; instead, invoke autopoint etc. by hand,
+       so that we can remove the intl files at a better time.
+       (intl_files_to_remove): Remove aclocal.m4, since it gets
+       rebuilt anyway.  Remove m4/inttypes_h.m4, m4/inttypes.m4,
+       m4/isc-posix.m4, m4/lib-ld.m4, m4/lib-prefix.m4, m4/po.m4,
+       m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
+       Add m4/inttypes-h.m4, m4/lock.m4, m4/visibility.m4.
+       Remove datarootdir hack; no longer needed.
+       * configure.ac: Use gl_WARNING_CFLAGS rather than BISON_WARNING.
+       (AM_GNU_GETTEXT_VERSION): Bump from 0.12 to 0.15.
+       * lib/.cvsignore: Remove hard-locale.c, hard-locale.h, strdup.c,
+       strdup.h.
+       * m4/.cvsignore: Remove hard-locale.m4, strdup.m4.
+       * m4/warning.m4: Remove from CVS, since we now use gnulib's version.
+
+2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap: Adjust to today's change to gnulib-tool by invoking
+       it with --assume-autoconf='latest-stable'.
+
+2006-07-13  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/parse-gram.y (grammar_declaration): Don't confuse Doxygen (at
+       least 1.4.7 and 1.4.4) by putting a #line between `typedef union
+       YYSTYPE' and `{'.
+       * src/muscle_tab.h (muscle_grow): Replace the header comments with
+       those from muscle_tab.c since the old ones are misleading.
+
+2006-07-13  Akim Demaille  <akim@epita.fr>
+
+       Support %define "KEY" {VALUE}.
+       * src/scan-code.h, src/scan-code.l (translate_action)
+       (translate_rule_action, translate_symbol_action, translate_code):
+       Return char *, not const char *.
+       * src/parse-gram.y (declaration): Rename as...
+       (prologue_declaration): this.
+       (string_content): Remove this nonterminal, use STRING.
+       (braceless, content, content.opt): New nonterminal.
+       Use them.
+       (%define): Now accept content.opt, i.e., accept also BRACED_CODE
+       as value.
+       * src/scan-gram.l (getargs.h): Don't include it.
+
+2006-07-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/lalr1.cc (YYCDEBUG): Use 'if (yydebug_) (*yycdebug_)'
+       rather than a for-loop that declares a local bool variable.  This
+       should work around a compatibility problem with a Cray x1e C++
+       compiler reported by Hung Nguyen in
+       <http://lists.gnu.org/archive/html/help-bison/2006-07/msg00022.html>.
+       The for-loop was introduced in the 2004-11-17 change but I don't
+       know why it was needed.
+
+2006-07-12  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4: Comment changes.
+
+2006-07-10  Akim Demaille  <akim@lrde.epita.fr>
+
+       * src/complain.c (error_message, ERROR_MESSAGE): New.
+       To factor...
+       (fatal_at, fatal, warn_at, warn, complain_at, complain): these.
+       * src/complain.h, src/complain.c (warning_issued): Remove, unused.
+
+2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Instead of %union, you can define and use your own union type
+       YYSTYPE if your grammar contains at least one <type> tag.
+       Your YYSTYPE need not be a macro; it can be a typedef.
+       * doc/bison.texinfo (Value Type, Multiple Types, Location Type):
+       (Union Decl, Decl Summary): Document this.
+       * data/glr.c (YYSTYPE): Implement this.
+       * data/glr.cc (YYSTYPE): Likewise.
+       * data/lalr1.cc (YYSTYPE): Likewise.
+       * data/yacc.c (YYSTYPE): Likewise.
+       * src/output.c (prepare): Output tag_seen_flag.
+       * src/parse-gram.y (declaration, grammar_declaration):
+       Use 'union_seen' rather than 'typed' to determine whether
+       %union has been seen, since grammars can now be typed without
+       %union.
+       (symbol_declaration, type.opt, symbol_def):
+       Keep track of whether a tag has been seen.
+       * src/reader.c (union_seen, tag_seen): New vars.
+       (typed): remove.
+       * src/reader.h (union_seen, tag_seen, typed): Likewise.
+       * src/scan-code.l (untyped_var_seen): New variable.
+       (handle_action_dollar): Adjust to above changes.
+       (handle_action_dollar, handle_action_at):
+       Improve overflow checking for outlandish numbers.
+       * tests/input.at (AT_CHECK_UNUSED_VALUES): Redo test to
+       avoid new diagnostics generated by above changes.
+       * tests/regression.at (YYSTYPE typedef): Add test to check
+       for type tags without %union.
+
+       * src/symlist.c (symbol_list_length): Return int, not unsigned
+       int, since callers expect int.  This may need to get revisited
+       once we have proper integer overflow checking.
+
+       * src/scan-gram.h (gram_scanner_cursor): Remove decl, since this
+       object is now static.
+
+       * src/getargs.c (flags_argmatch): Return void, not int,
+       to pacify ./configure --enable-gcc-warnings.
+
+       * src/flex-scanner.h (STRING_FREE): Don't use FLEX_PREFIX (last_string)
+       since last_string is already defined to FLEX_PREFIX (last_string).
+
+2006-07-09  Akim Demaille  <akim@lrde.epita.fr>
+
+       Implement --warnings/-W.
+       * src/getargs.c (report_argmatch, trace_argmatch): Remove,
+       replaced by...
+       (flags_argmatch, FLAGS_ARGMATCH): this new function and macro.
+       Adjust callers.
+       * src/getargs.h, src/getargs.c (warnings, warnings_flags)
+       (warnings_args, warnings_types): New.
+       (getargs, short_options, long_options): Accept -W/--warnings.
+       Sort the options by alphabetical order, upper case letter right
+       before its lower case.
+
+2006-07-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Change %merge result type clash warnings to errors.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-07/msg00026.html>.
+       * src/reader.c (record_merge_function_type): Use complain_at.
+       * tests/glr-regression.at (Missed %merge type warnings when LHS type is
+       declared later): Update test case results.
+
+2006-07-09  Akim Demaille  <akim@lrde.epita.fr>
+
+       * src/getargs.h, src/getargs.c: Swap --report and --trace handling
+       to be in alphabetical order.
+       (trace_args): Spelling fixes.
+
+2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (YYID, yy_stack_print): Prefix local vars with "yy"
+       so they don't collide with user-defined macros.
+       (yy_stack_print): Don't assume that yytype_int16 promotes to int;
+       this was never guaranteed, and now that we're using gnulib stdint,
+       which defines int_fast16_t to long int, the problem is exposed.
+
+2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_basename): Simplify a bit, since we don't
+       need the full POSIX semantics (and weren't implementing them
+       anyway).
+
+       Adjust to Autoconf 2.60 and today's gnulib.
+       * bootstrap (gnulib_modules): Add stdint.
+       Remove special case for m4/onceonly_2_57.m4, since gnulib-tool
+       no longer copies it.
+       (intl_files_to_remove): Remove m4/longlong.m4 and m4/wchar_t.m4,
+       since stdint needs the former and wcwidth (which is now required
+       by mbswidth) needs the latter.
+       Append 'datarootdir = @datarootdir@' to po/Makefile.in.in, to
+       work around a compatibility glitch between gettext 0.14.6 and
+       Autoconf 2.60.
+       * configure.ac (AC_PREREQ): Require Autoconf 2.60.
+       Do not check for uintptr_t, since new stdint module does the right
+       thing.
+       * lib/.cvsignore: Remove alloca.c, alloca.h, alloca_.h.
+       Add stdint.h, stdint_.h, wcwidth.h.
+       * m4/.cvsignore: Remove alloca.m4, onceonly.m4.
+       Add absolute-header.m4, double-slash-root.m4, longlong.m4,
+       stdint.m4, wchar_t.m4, wcwidth.m4.
+       * src/files.c: Include <dirname.h> and <stdio-safer.h> in the
+       usual order for ../lib/*.h files.
+       (file_name_split): Use last_component, not base_name, to adjust
+       to gnulib changes.
+       * src/parse-gram.h: Include <strverscmp.h> in the usual order
+       for ../lib/*.h files.
+       (YYTYPE_INT16, YYTYPE_INT8, YYTYPE_UINT16, YYTYPE_UINT8):
+       Define unconditionally, since we now assume the stdint module.
+       * src/scan-skel.l: Include <dirname.h>.
+       (BASE_QPUTS): Use last_component, not base_name.
+       * src/system.h: Include <unlocked-io.h> in the usual order
+       for ../lib/*.h files.  Include <stdint.h> unconditionally,
+       since we now use the stdint module.
+       (uintptr_t): Declare if UINTPTR_MAX is not defined, not
+       HAVE_UINTPTR_T, since we now use the stdint module.
+       (base_name): Remove decl, since files now include <dirname.h>
+       to get the decl.
+
+2006-07-08  Akim Demaille  <akim@lrde.epita.fr>
+
+       * data/c.m4 (b4_location_initial_column, b4_location_initial_line):
+       New, default to 1.
+       * data/yacc.c, data/glr.c, data/location.cc: Use them.
+       * NEWS, doc/bison.texinfo: The initial column and line are 1 by
+       default.
+       * tests/calc.at: Adjust.
+
+2006-07-08  Akim Demaille  <akim@lrde.epita.fr>
+
+       * data/c.m4 (b4_basename): New.
+       (b4_syncline): Also output the location of its invocation (from
+       the skeleton).
+       (b4_user_action, b4_define_user_action, b4_user_actions)
+       (b4_user_initial_action, b4_user_post_prologue, b4_user_start_header)
+       (b4_user_stype): New.
+       * data/yacc.c, data/glr.c, data/lalr1.cc, data/glr.cc: Use them.
+
+2006-07-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In the grammar file, the first column is 1 not 0 on the first line as
+       on every other line.
+       * src/parse-gram.y (%initial-action): Initialize @$ correctly.
+       * tests/input.at (Torturing the Scanner): Update output.
+
+       * src/scan-gram.l (scanner_cursor): Declare it static.
+
+2006-07-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In warnings, say "previous declaration" rather than "first
+       declaration".
+       * src/symtab.c (redeclaration): Do that here.
+       * src/reader.c (record_merge_function_type): In the case of a result
+       type clash, report the previous declaration rather than the very first
+       one in the grammar file.
+       * tests/glr-regression.at (Missed %merge type warnings when LHS type is
+       declared later): Add a third declaration to check this behavior.
+       * tests/input.at (Incompatible Aliases): Update output.
+
+2006-06-27  Akim Demaille  <akim@epita.fr>
+
+       * doc/Doxyfile.in: New.
+       * doc/Makefile.am: Use it.
+       * src/lalr.h, src/symtab.h: Initial doxygenation.
+
+2006-06-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't miss %merge result type warnings just because the LHS types are
+       declared after the %merge.  This continues the effort of the previous
+       patch.
+       * src/reader.c (get_merge_function): Don't set the merger type yet.
+       (record_merge_function_type): New function for setting the merger type
+       and checking for clashes.
+       (grammar_current_rule_merge_set): Set the location of the %merge for
+       the current rule.
+       (packgram): Invoke record_merge_function_type for each rule now that
+       all symbol type declarations have been parsed.
+       * src/reader.h (merger_list.type_declaration_location): New member
+       storing the location of the first %merge from which the type for this
+       merging function was derived.
+       * src/symlist.h (symbol_list.merger_declaration_location): New member
+       storing the location of a rule's %merge, if any.
+       * tests/glr-regression.at (Missed %merge type warnings when LHS type is
+       declared later): New test to catch the error fixed by the above patch.
+
+2006-06-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Get action warnings (grammar_rule_check) right even when symbol
+       declarations appear after the rules.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00108.html>
+       and
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00151.html>.
+       Don't mistake the type of $$ in a midrule to be that of its parent
+       rule's $$.
+       * src/reader.c (grammar_current_rule_end): Don't invoke
+       grammar_rule_check yet since not all symbol declarations may have been
+       parsed yet.
+       (grammar_midrule_action): Likewise.
+       Don't record whether the midrule's $$ has been used yet since actions
+       haven't been translated yet.
+       Record the midrule's parent rule and its RHS index within the parent
+       rule.
+       (grammar_current_rule_action_append): Don't translate the action yet
+       since not all symbol declarations may have been parsed yet and, thus,
+       warnings about types for $$, $n, @$, and @n can't be reported yet.
+       (packgram): Translate the action and invoke grammar_rule_check now that
+       all symbol declarations have been parsed.
+       * src/scan-code.l (handle_action_dollar): Now that this is invoked
+       after parsing the entire grammar file, the symbol list here in the case
+       of a midrule is actually the midrule's empty RHS, so reference its
+       parent rule's RHS where necessary.
+       On the other hand, now that you can already know it's a midrule, you
+       aren't forced to think $$ has the same type as its parent rule's $$.
+       (handle_action_at): In the case of a midrule, reference the parent rule
+       where necessary.
+       * src/symlist.c (symbol_list_new): Initialize new midrule-related
+       members.
+       (symbol_list_length): Now that this is invoked after all rules have
+       been parsed, a NULL symbol (rather than a NULL symbol list node)
+       terminates a rule.  symbol_list_print already does this correctly.
+       * src/symlist.h (symbol_list.midrule_parent_rule,
+       symbol_list.midrule_parent_rhs_index): New members so that midrules can
+       remember their relationships with their parents.
+       * tests/input.at (Type Clashes): Extend to catch the midrule $$ error
+       fixed by the above patch.
+       (_AT_UNUSED_VALUES_DECLARATIONS, AT_CHECK_UNUSED_VALUES): New m4 macros
+       implementing...
+       (Unused values): ... this old test case and...
+       (Unused values before symbol declarations): ... this new test case.
+       This one is the same as `Unused values' except that all symbol
+       declarations appear after the rules in order to catch the rest of the
+       errors fixed by the above patch.
+
+2006-06-26  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       More cleanup.
+       * src/reader.c (current_rule): Declare it static since it's no longer
+       used outside this file.
+       (grammar_current_rule_action_append): Remove redundant arguments from
+       translate_rule_action invocation.
+       * src/reader.h (current_rule): Remove this unused extern.
+       * src/scan-code.h (translate_rule_action): Remove redundant arguments.
+       * src/scan-code.l (translate_rule_action): Likewise.
+
+2006-06-25  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Clean up yesterday's patch.
+       * parse-gram.y (rhs): Move grammar_midrule_action invocation from here
+       to...
+       * src/reader.c (grammar_current_rule_action_append): ... here for
+       consistency with grammar_current_rule_symbol_append.
+       * tests/regression.at (Braced code in declaration in rules section):
+       Make yyerror and yylex static as usual.
+
+2006-06-24  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix bug that mistakes braced code in a declaration in the rules section
+       to be a rule action.  Mentioned at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00105.html>.
+       * src/scan-gram.l: Move midrule action detection from the start of the
+       scanning of any braced code to...
+       * src/parse-gram.y (rhs): ... the parsing of braced code as a rule
+       action.  For readability, use $2 and @2 rather than the equivalent
+       global variables.
+       * tests/regression.at (Braced code in declaration in rules section):
+       New test to catch the error fixed by the above patch.
+
+       Work on code readability some.
+       * src/scan-code.l (current_rule): Get rid of this misleading and
+       redundant declaration: it's actually extern'ed in reader.h.
+       (YY_DECL, code_lex, handle_action_dollar, handle_action_at,
+       translate_action): Add a rule argument and use it instead of the global
+       current_rule.
+       (translate_rule_action): This already receives current_rule through an
+       argument, so pass it on to translate_action instead of assigning
+       current_rule to current_rule.
+       (translate_symbol_action, translate_code): Pass rule = NULL to
+       translate_action.
+
+2006-06-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Rename %before-definitions to %start-header and %after-definitions to
+       %end-header.  Don't use these declarations to separate pre-prologue
+       blocks from post-prologue blocks.  Add new order-independent
+       declarations %before-header and %after-header as alternatives to the
+       traditional Yacc pre-prologue and post-prologue blocks.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00110.html>.
+       * NEWS (2.3+): Update for these changes.
+       * data/glr.c (b4_before_definitions): Update to...
+       (b4_start_header): ... this.
+       (b4_after_definitions): Update to...
+       (b4_end_header): ... this.
+       * data/glr.cc: Likewise.
+       * data/lalr1.cc: Likewise.
+       * data/yacc.c: Likewise.
+       * doc/bison.texinfo (The prologue): Update names, and replace remaining
+       prologue blocks with %*-header declarations.
+       (Calc++ Parser): Likewise.
+       (Decl Summary): Update names.
+       (Table of Symbols): Update description.
+       * src/parse-gram.y (PERCENT_AFTER_DEFINITIONS): Update to...
+       (PERCENT_END_HEADER): ... this.
+       (PERCENT_BEFORE_DEFINITIONS): Update to...
+       (PERCENT_START_HEADER): ... this.
+       (PERCENT_AFTER_HEADER, PERCENT_BEFORE_HEADER): New tokens.
+       (declaration): Update token names and m4 macro names.
+       When parsing %end-header and %start-header, invoke translate_code
+       before muscle_code_grow, and no longer set global booleans to remember
+       whether these declarations have been seen.
+       Parse new %after-header and %before-header.
+       * src/reader.c (before_definitions, after_definitions): Remove.
+       (prologue_augment): Accept a new bool argument to specify whether to
+       augment the pre-prologue or post-prologue.
+       * src/reader.h (before_definitions, after_definitions): Remove these
+       extern's.
+       (prologue_augment): Add new bool argument.
+       * src/scan-gram.l (PERCENT_AFTER_DEFINITIONS): Update to...
+       (PERCENT_END_HEADER): ... this.
+       (PERCENT_BEFORE_DEFINITIONS): Update to...
+       (PERCENT_START_HEADER): ... this.
+       (PERCENT_AFTER_HEADER, PERCENT_BEFORE_HEADER): New tokens.
+       * tests/actions.at (Printers and Destructors): Update names.
+
+2006-06-22  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add comparison operators for C++ location classes.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00092.html>.
+       * data/c++.m4 (b4_define_location_comparison): New boolean %define
+       declaration indicating whether filename_type has an operator==.  If
+       filename_type is `std::string', it defaults to `1', `0' otherwise.
+       * data/location.cc: Iff b4_define_location_comparison is `1', add
+       operator== and operator!= for class position and for class location.
+
+       Some minor fixes.
+       * src/scan-action.l: Remove unused file.
+       * src/symtab.c (symbol_printer_set): Use printer_location not
+       destructor_location.
+       * src/symtab.h (struct symbol): Replace incorrect source comment for
+       printer members.
+       * tests/input.at (Incompatible Aliases): Update output with correct
+       printer location.
+
+2006-06-20  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't put the pre-prologue in the header file.  For the yacc.c code
+       file and the glr.c header and code files, move the pre-prologue before
+       the token definitions.  Add new %before-definitions and
+       %after-definitions to declare code that will go in both the header file
+       and code file.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2005-12/msg00000.html>,
+       <http://lists.gnu.org/archive/html/bison-patches/2006-01/msg00016.html>,
+       and
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00055.html>.
+       * NEWS (2.3+): Describe these changes.
+       * data/glr.c (b4_pre_prologue): Move from within to before...
+       (b4_shared_declarations): ... this.
+       Add new b4_before_definitions before b4_token_enums.
+       Add new b4_after_definitions at the end.
+       * data/glr.cc (b4_pre_prologue): Replace with...
+       (b4_before_definitions): ... this in the header file.
+       (b4_after_definitions): New near the end of the header file.
+       * data/lalr1.cc (b4_pre_prologue): Move from the header file to the
+       code file right before including the header file.
+       (b4_before_definitions): New in the previous position of
+       b4_pre_prologue in the header file.
+       (b4_after_definitions): New near the end of the header file.
+       * data/yacc.c: Clean up some m4 quoting especially in the header file.
+       (b4_token_enums_defines): In the code file, move to right before
+       YYSTYPE for consistency with the header file.
+       (b4_before_definitions): New right before b4_token_enums_defines in
+       both the header and code file.
+       (b4_after_definitions): New right after YYLTYPE and yylloc in both the
+       header and code file.
+       * doc/bison.texinfo (Prologue): Show use of %before-definitions instead
+       of prologues for %union dependencies.
+       (Decl Summary): In %defines description, mention the effect of
+       %before-definitions and %after-definitions on the header file.
+       (Calc++ Parser): Forward declare driver in a %before-definitions rather
+       than in the pre-prologue so that make check succeeds.
+       (Table of Symbols): Add entries for %before-definitions and
+       %after-definitions.
+       * src/parse-gram.y (PERCENT_BEFORE_DEFINITIONS): New token for
+       %before-definitions.
+       (PERCENT_AFTER_DEFINITIONS): New token for %after-definitions.
+       (declaration): Parse those declarations and append to
+       b4_before_definitions and b4_after_definitions, respectively.
+       * src/reader.c (before_definitions, after_definitions): New bools to
+       track whether those declarations have been seen.
+       (prologue_augment): Add to the post-prologue if %union,
+       %before-definitions, or %after-definitions has been seen.
+       * src/reader.h (before_definitions, after_definitions): New extern's.
+       * src/scan-gram.l: Scan the new declarations.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Place the second
+       prologue block in a %before-definitions or a %after-definitions based
+       on whether the %union is declared.
+       * tests/regression.at (Early token definitions with --yacc, Early token
+       definitions without --yacc): Move tests for token definitions into the
+       post-prologue since token names are no longer defined in the
+       pre-prologue.
+
+2006-06-20  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c (symbol_from_uniqstr): New.
+       (symbol_get): Use it.
+       * src/parse-gram.y: Use it.
+
+2006-06-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/scan-gram.l: Remove unused declaration of last_string_1 so the
+       build succeeds when configured with --enable-gcc-warnings.
+
+2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/parse-gram.y (char_name): New function.
+       (CHAR, STRING, string_content): For %printer, properly escape.
+       (ID): Prefer fputs to fprintf.
+       (id): Reindent to be consistent with other rules.
+       Properly quote char.
+
+       The Translation Project changed its way of publishing translations
+       to maintainers.  I haven't received any responses to my request
+       for supporting the old way, or for documenting the new way.  I
+       have modified 'bootstrap' to use screen scraping
+       (in this case, HTML scraping).  This is unreliable and inelegant,
+       but I don't see any better way.  Yuck.
+       * bootstrap (TP_URL, WGET_COMMAND): New vars.
+       (get_translations): New function, which uses HTML scraping to
+       deduce locations of latest translations.
+       Use this function to grab both bison and bison-runtime .po files.
+       Don't bother priming the pump for the runtime-po domain any more,
+       as it's now translated better than bison is.
+
+2006-06-19  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l: No longer "parse" things after `%union' until
+       `{'.  Rather, return a single "%union" token.
+       No longer make symbols: return strings, and leave the conversion
+       to symbols to the parser.
+       (SC_PRE_CODE, token_type): Remove.
+       * src/parse-gram.y (%union): New field `character'.
+       Sort tokens.
+       (CHAR): New token.
+       (ID, ID_COLON): Now that the scanner no longer makes them
+       identifiers, adjust all uses to invoke symbol_get.
+       (id_colon): New, wraps the conversion from string to symbol.
+       (%union): Accept a possible union_name.
+       (symbol): Now can be a char.
+       * data/c.m4 (b4_union_name): Leave a default value.
+       * data/glr.c, data/yacc.c: Use it.
+
+2006-06-11  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For associating token numbers with token names for "yacc.c", don't use
+       #define statements unless `--yacc' is specified; always use enum
+       yytokentype.  Most important discussions start at:
+       <http://lists.gnu.org/archive/html/bison-patches/2005-09/msg00053.html>,
+       <http://lists.gnu.org/archive/html/bison-patches/2005-12/msg00052.html>,
+       and
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00043.html>.
+       * NEWS (2.3+): Mention.
+       * data/c.m4 (b4_yacc_if): New.
+       (b4_token_enums_defines): Use b4_yacc_if to decide whether to add the
+       token #define's.
+       * doc/bison.texinfo (Bison Options): Describe the effect of `--yacc'
+       on token name definitions.
+       * src/getargs.c (usage): Capitalize `Yacc' in English.
+       * src/output.c (prepare): Define b4_yacc_flag.
+       * tests/regression.at (Early token definitions): Test that tokens names
+       are defined before the pre-prologue not just before the post-prologue.
+       Remove this test case and copy to...
+       (Early token definitions with --yacc): ... this to test #define's.
+       (Early token definitions without --yacc): ... and this to test enums.
+
+2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Reword the post-2.3 change to not be so optimistic about
+       removing the old "look-ahead" spelling.
+       Update previous look-ahead/lookahead change reports.
+       * REFERENCES: look-ahead -> lookahead (since that's
+       what he actually wrote).
+       * doc/refcard.tex: look ahead -> lookahead,
+       look-ahead -> lookahead
+
+2006-06-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For consistency, use `lookahead' instead of `look-ahead' or
+       `look_ahead'.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-01/msg00049.html>
+       and then at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-06/msg00017.html>.
+       * NEWS: For the next release, note the change to `--report'.
+       * TODO, doc/bison.1: Update English.
+       * doc/bison.texinfo: Update English.
+       (Understanding Your Parser, Bison Options): Document as
+       `--report=lookahead' rather than `--report=look-ahead'.
+       * src/conflicts.c: Update English in comments.
+       (lookahead_set): Rename from look_ahead_set.
+       (flush_reduce): Rename argument look_ahead_tokens to lookahead_tokens.
+       (resolve_sr_conflict): Rename local look_ahead_tokens to
+       lookahead_tokens, and update other uses.
+       (flush_shift, set_conflicts, conflicts_solve, count_sr_conflicts,
+       count_rr_conflicts, conflicts_free): Update uses.
+       * src/getargs.c (report_args): Move "lookahead" before alternate
+       spellings.
+       (report_types): Update uses.
+       (usage): For `--report' usage description, state `lookahead' spelling
+       rather than `look-ahead'.
+       * src/getargs.h (report.report_lookahead_tokens): Rename from
+       report_look_ahead_tokens.
+       * src/lalr.c: Update English in comments.
+       (compute_lookahead_tokens): Rename from compute_look_ahead_tokens.
+       (state_lookahead_tokens_count): Rename from
+       state_look_ahead_tokens_count.
+       Rename local n_look_ahead_tokens to n_lookahead_tokens.
+       (lookahead_tokens_print): Rename from look_ahead_tokens_print.
+       Rename local n_look_ahead_tokens to n_lookahead_tokens.
+       Update other uses.
+       Update English in output.
+       (add_lookback_edge, initialize_LA, lalr, lalr_free): Update uses.
+       * src/print.c: Update English in comments.
+       (lookahead_set): Rename from look_ahead_set.
+       (print_reduction): Rename argument lookahead_token from
+       look_ahead_token.
+       (print_core, state_default_rule, print_reductions, print_results):
+       Update uses.
+       * src/print_graph.c: Update English in comments.
+       (print_core): Update uses.
+       * src/state.c: Update English in comments.
+       (reductions_new): Update uses.
+       (state_rule_lookahead_tokens_print): Rename from
+       state_rule_look_ahead_tokens_print, and update other uses.
+       * src/state.h: Update English in comments.
+       (reductions.lookahead_tokens): Rename from look_ahead_tokens.
+       (state_rule_lookahead_tokens_print): Rename from
+       state_rule_look_ahead_tokens_print.
+       * src/tables.c: Update English in comments.
+       (conflict_row, action_row): Update uses.
+       * tests/glr-regression.at
+       (Incorrect lookahead during deterministic GLR,
+       Incorrect lookahead during nondeterministic GLR): Rename
+       print_look_ahead to print_lookahead.
+       * tests/torture.at: Update English in comments.
+       (AT_DATA_LOOKAHEAD_TOKENS_GRAMMAR): Rename from
+       AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR.
+       (Many lookahead tokens): Update uses.
+       * data/glr.c: Update English in comments.
+       * lalr1.cc: Likewise.
+       * yacc.c: Likewise.
+       * src/conflicts.h: Likewise.
+       * src/lalr.h: Likewise.
+       * src/main.c: Likewise.
+       * src/output.c: Likewise.
+       * src/parse-gram.c: Likewise.
+       * src/tables.h: Likewise.
+       * tests/calc.at: Likewise.
+
+2006-06-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/flex-scanner.h (yytext): Remove stray `*/' in #define.
+
+2006-06-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * TODO: Add request from Nelson H. F. Beebe to be able to install
+       Bison without installing the yacc script.
+
+2006-06-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/flex-scanner.h: For the sake of Flex 2.5.4, don't #define yyleng
+       and yytext if they're already #define'd.
+       * src/flex-scanner.h, src/location.h: Move #include "system.h" to...
+       * src/scan-code-c.c: ... here.
+       * src/scan-code.l, src/scan-gram.l: ... and here.  Also #include
+       <config.h>.
+
+2006-06-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Get Bison to build again when configured with --enable-gcc-warnings.
+       * src/location.c, src/location.h, src/main.c, src/scan-code.l: Add some
+       missing #include's.
+       * src/scan-code.l (handle_action_dollar, handle_action_at): Rename
+       loc argument as it shadows a global.
+       * src/scan-gram.l: Remove stray comma that prevents boundary_set
+       invocation.
+
+       * src/.cvsignore: Add scan-code.c.
+
+2006-06-07  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l: Move the "add a trailing ; to actions" code
+       to...
+       * src/scan-code.l: here.
+       * tests/input.at (Torturing the Scanner): Fix another location
+       error.
+
+2006-06-07  Akim Demaille  <akim@epita.fr>
+
+       * src/Makefile.am (BUILT_SOURCES): Fix the trailing backslash.
+
+2006-06-06  Akim Demaille  <akim@epita.fr>
+
+       Extract the parsing of user actions from the grammar scanner.
+       As a consequence, the relation between the grammar scanner and
+       parser is much simpler.  We can also split "composite tokens" back
+       into simple tokens.
+       * src/gram.h (ITEM_NUMBER_MAX, RULE_NUMBER_MAX): New.
+       * src/scan-gram.l (add_column_width, adjust_location): Move to and
+       rename as...
+       * src/location.h, src/location.c (add_column_width)
+       (location_compute): these.
+       Fix the column count: the initial column is 0.
+       (location_print): Be robust to ending column being 0.
+       * src/location.h (boundary_set): New.
+       * src/main.c: Adjust to scanner_free being renamed as
+       gram_scanner_free.
+       * src/output.c: Include scan-code.h.
+       * src/parse-gram.y: Include scan-gram.h and scan-code.h.
+       Use boundary_set.
+       (PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_INITIAL_ACTION)
+       (PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Remove the {...} part,
+       which is now, again, a separate token.
+       Adjust all dependencies.
+       Whereever actions with $ and @ are used, use translate_code.
+       (action): Remove this nonterminal which is now useless.
+       * src/reader.c: Include assert.h, scan-gram.h and scan-code.h.
+       (grammar_current_rule_action_append): Use translate_code.
+       (packgram): Bound check ruleno, itemno, and rule_length.
+       * src/reader.h (gram_in, gram__flex_debug, scanner_cursor)
+       (last_string, last_braced_code_loc, max_left_semantic_context)
+       (scanner_initialize, scanner_free, scanner_last_string_free)
+       (gram_out, gram_lineno, YY_DECL_): Move to...
+       * src/scan-gram.h: this new file.
+       (YY_DECL): Rename as...
+       (GRAM_DECL): this.
+       * src/scan-code.h, src/scan-code.l, src/scan-code-c.c: New.
+       * src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
+       (gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
+       (gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
+       Move these declarations, and...
+       (obstack_for_string, STRING_GROW, STRING_FINISH, STRING_FREE):
+       these to...
+       * src/flex-scanner.h: this new file.
+       * src/scan-gram.l (rule_length, rule_length_overflow)
+       (increment_rule_length): Remove.
+       (last_braced_code_loc): Rename as...
+       (gram_last_braced_code_loc): this.
+       Adjust to the changes of the parser.
+       Move all the handling of $ and @ into...
+       * src/scan-code.l: here.
+       * src/scan-gram.l (handle_dollar, handle_at): Remove.
+       (handle_action_dollar, handle_action_at): Move to...
+       * src/scan-code.l: here.
+       * src/Makefile.am (bison_SOURCES): Add flex-scanner.h,
+       scan-code.h, scan-code-c.c, scan-gram.h.
+       (EXTRA_bison_SOURCES): Add scan-code.l.
+       (BUILT_SOURCES): Add scan-code.c.
+       (yacc): Be robust to white spaces.
+
+       * tests/conflicts.at, tests/input.at, tests/reduce.at,
+       * tests/regression.at: Adjust the column numbers.
+       * tests/regression.at: Adjust the error message.
+
+2006-06-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (usage): Mention GLR not just LALR(1) in --help output.
+       Use Akim's wording from
+       <http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00056.html>.
+
+2006-06-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Between Bison releases, manually append `+' to the previous Bison
+       release number, and use that as a signal to automatically print the
+       ChangeLog's CVS Id keyword from --version.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00028.html>.
+       * ChangeLog: Add Id header.
+       * configure.ac (AC_INIT): Append `+' to `2.3'.
+       * src/.cvsignore: Add revision.c.
+       * src/Makefile.am (bison_SOURCES): Add revision.c and revision.h.
+       (BUILT_SOURCES): Add revision.c.
+       (revision.c): New target rule.  This file defines a new global variable
+       named revision.  It initializes it with either the Id from ChangeLog
+       or, if VERSION doesn't contain `+', with the empty string.
+       * src/getargs.c (version): Print the value of revision.
+       * src/revision.h: Extern revision.
+
+2006-06-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.3.
+       * configure.ac (AC_INIT): Likewise.
+
+2006-05-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (YYRECOVERING): Define to be a function-like macro
+       with no arguments, not as an object-like macro.  This is for
+       compatibility with data/yacc.c.  Problem reported by John P. Hartmann in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00059.html>.
+       * doc/bison.texinfo (Action Features, Error Recovery, Table of Symbols):
+       Document this.
+
+2006-05-30  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (usage): Back out yesterday's modification of the
+       --help output so that we don't have to wait for translation before
+       releasing 2.3.
+
+2006-05-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Introduction): Don't say "GLR grammar".
+       Problem reported by Akim Demaille.
+
+2006-05-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (usage): Mention GLR not just LALR(1) in --help output.
+
+2006-05-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (yy_reduce_print): Omit trailing white space in
+       generated source code.  Problem reported by Frans Englich in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00049.html>.
+
+2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * Makefile.maint (gzip_rsyncable, GZIP_ENV): Compute within the
+       shell, not within 'make', so that 'make' by an ordinary builder
+       (using GNU make) does not worry about configuring gzip.  This also
+       works around a bug reported independently by Keith Thompson and by
+       Georg Schwarz, whereby gzip 1.2.4 --help would output usage on
+       stderr rather than stdout, messing up the build logs.
+
+2006-05-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/yacc.c (yyparse): Wrap the final return from yyparse inside YYID
+       to make sure that YYID will never be unused.  This fixes a 'make
+       maintainer-check' failure caused by the recent changes to the 'Trivial
+       grammars' test case, which caused g++ 4.1.0 to complain that YYID was
+       not used.
+       * data/glr.c (yyparse): Wrap yyparse's return inside YYID just in case.
+
+2006-05-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyresolveLocations): Remove bogus YYASSERT that the
+       state before an empty RHS is always resolved here.  Only the location
+       of that state is guaranteed to be resolved, and that's enough.  This
+       fixes the remaining bug reported by Derek M. Jones in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00027.html>.
+       * tests/glr-regression.at (Uninitialized location when reporting
+       ambiguity): Test the above case.
+       Also, the embedded comments in this test case claim it checks the case
+       of an empty RHS that has inherited the initial location.  However, the
+       corresponding LHS was already resolved, so yyresolveLocations didn't
+       actually have reason to modify it.  Fix this by forcing
+       nondeterministic operation at the beginning of the parse.
+
+2006-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_yy_symbol_print_generate):
+       (b4_yy_symbol_print_generate): Use 'YYSTYPE const' rather than
+       'const YYSTYPE', and similarly for YYLTYPE.  This fixes one
+       of the bugs reported today by Derek M Jones in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00027.html>.
+       * doc/bison.texinfo (Value Type): Document that YYSTYPE must be
+       defined to be a type name without parens or brackets.
+       (Location Type): Similarly for YYLTYPE.
+       * tests/regression.at (Trivial grammars): Put in a test for this
+       bug that will be caught by 'make maintainer-check' (though not,
+       alas, by 'make check' unless your compiler is picky).
+
+2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.2.
+       * configure.ac (AC_INIT): Likewise.
+
+2006-05-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyreportTree): Make room in yystates for the state
+       preceding the RHS.  This fixes the segmentation fault reported by Derek
+       M. Jones in
+       <http://lists.gnu.org/archive/html/help-bison/2006-05/msg00035.html>.
+       (yyreportTree, yypdumpstack): Subtract 1 from yyrule before printing
+       to the user.  Reported for yyreportTree by Derek M. Jones later in the
+       same thread.
+       * THANKS: Add Derek M. Jones.
+       Update my email address.
+       Fix typo in Steve Murphy's name.
+
+2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyreportSyntaxError): Fix off-by-one error in
+       checking against YYLAST that caused the parser to miss a potential
+       alternative in its diagnostic.
+       Problem reported by Maria Jose Moron Fernandez in
+       <http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00024.html>.
+       * data/lalr1.cc (yysyntax_error_): Likewise.
+       * data/yacc.c (yysyntax_error): Likewise.
+       * tests/regression.at (_AT_DATA_DANCER_Y): Use static array for
+       tokens, in case we run into an older C compiler.
+       (_AT_DATA_EXPECT2_Y, AT_CHECK_EXPECT2): New macros.
+       Use them to check for the off-by-one error fixed above.
+
+       * data/yacc.c (yytnamerr): Fix typo: local var should be of type
+       YYSIZE_T, not size_t.
+       * tests/regression.at (Trivial grammars): New test, to catch
+       the error fixed by the above patch.
+
+2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
+
+       * doc/bison.texinfo (C++ Bison Interface): Clarify the naming
+       scheme.
+       Reported by Steve Murphy.
+
+2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
+
+       * data/glr.cc, data/lalr1.cc: Using %defines is mandatory.
+       * data/glr.cc: b4_location_flag is now b4_locations_flag.
+
+2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
+
+       Implement --trace=m4.
+       * src/getargs.c (trace_types, trace_args): Accept trace_m4.
+       * src/output.c (output_skeleton): When set, pass -dV to m4.
+
+       Factor the handling of flags in m4.
+       * src/output.c (prepare): Rename the muscle names debug, defines,
+       error_verbose to debug_flag, defines_flag, error_verbose_flag.
+       * data/c.m4: Adjust.
+       (_b4_define_flag_if, b4_define_flag_if, b4_defines_if): New.
+       Use b4_define_flag_if to define other b4_FLAG_if macros.
+       (b4_location_if): As a consequence, rename as...
+       (b4_locations_if): this, for consistency.
+       Adjust all the skeletons.
+
+2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
+
+       * etc/bench.pm: Shorten bench names.
+
+2006-05-14  Akim Demaille  <akim@lrde.epita.fr>
+
+       * src/output.h, src/output.c (error_verbose): Move to...
+       * src/getargs.h, src/getargs.c: here.
+       Sort the flags.
+       Adjust dependencies.
+
+2006-05-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_copyright): Put the special exception for Bison
+       skeletons here, so we don't have to put it in each skeleton.  All
+       uses changed.  Suggested by Akim Demaille.  Also, wrap the
+       copyright notice, in case it is longer than 80 columns.  Replace
+       comma by newline after title.
+
+2006-05-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Calc++ Scanner): The flex behavior is an
+       incompatibility, not a bug.  Mention that it wasn't fixed as of
+       flex 2.5.33.
+
+2006-05-11  Akim Demaille  <akim@lrde.epita.fr>
+
+       * examples/extexi: Enforce the precedence of concatenation over
+       >>.
+       Reported by Tommy Nordgren.
+
+2006-05-11  Akim Demaille  <akim@lrde.epita.fr>
+
+       * data/lalr1.cc (yytranslate_): Rename token as t to avoid clashes
+       with the member "token".
+       Reported by Martin Nylin.
+
+2006-05-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c: Switch to Bison 2.2 special-exception language in
+       the copyright notice.  Use more-regular format for titles and
+       copyright notices.
+       * data/glr.cc: Likewise.
+       * data/location.cc: Likewise.
+       * data/yacc.cc: Likewise.
+       * doc/bison.texinfo (Conditions): Document this.
+       * NEWS: likewise.  Upgrade version to 2.2.
+
+2006-04-27  Akim Demaille  <akim@lrde.epita.fr>
+
+       * data/glr.cc: Remove dead code.
+
+2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap: Comment out the AM_CPPFLAGS line, since we don't use
+       that variable and the line breaks the bootstrap.  Problem reported
+       by Juan M. Guerrero.
+
+2006-04-24  Akim Demaille  <akim@lrde.epita.fr>
+
+       * doc/bison.texinfo (Multiple start-symbols): New.
+
+2006-04-24  Akim Demaille  <akim@lrde.epita.fr>
+
+       * etc/README, etc/bench.pl: New.
+
+2006-04-03  Akim Demaille  <akim@lrde.epita.fr>
+
+       * src/scan-gram.l: Be robust to BRACED_CODE appearing before any
+       rule.
+       Reported by Mickael Labau.
+       * tests/input.at (Torturing the Scanner): Test it.
+
+2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Decl Summary): Don't mention yylloc twice.
+       Problem reported by Bob Rossi.
+
+2006-03-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo: Remove @shorttitlepage stuff; it wasn't used
+       and didn't really work.
+       For the index, use @ifnotinfo, not @iftex.
+       Minor cleanups of spacing and terminology.
+
+2006-03-12  Akim Demaille  <akim@lrde.epita.fr>
+
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Fix the definition
+       of AT_NAME_PREFIX when %name-prefix is not used.
+
+2006-03-12  Akim Demaille  <akim@lrde.epita.fr>
+
+       Apply --prefix to C++ skeletons too: they change the namespace.
+       The test suite already exercize these cases.
+       * data/c++.m4 (b4_namespace): New.
+       * data/lalr1.cc, data/glr.cc, data/location.cc: Use it instead of `yy'.
+       * data/lalr1.cc (yytnameerr_): Move its definition into the namespace.
+       * data/yacc.c, data/glr.c: Remove a useless `[]'.
+       * doc/bison.texinfo: Document it.
+       (Option Cross Key): Use @multitable in all formats.  It looks
+       nicer, even in TeX outputs.
+       (Rules): Use the same code whatever the output type is.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS)
+       (_AT_BISON_OPTION_POPDEFS): Support AT_NAME_PREFIX.
+       * tests/calc.at: Use it, instead of hard coding `yy'.
+
+2006-03-10  Akim Demaille  <akim@lrde.epita.fr>
+
+       * TODO: Remove dead items.
+
+2006-03-10  Akim Demaille  <akim@lrde.epita.fr>
+
+       * doc/FAQ: Remove, merged into...
+       * doc/bison.texinfo (FAQ): this.
+       * doc/Makefile.am (EXTRA_DIST): Adjust.
+
+2006-03-10  Akim Demaille  <akim@lrde.epita.fr>
+
+       * data/c.m4 (b4_token_enum): Always define the enum of tokens,
+       even if empty.
+       * data/lalrl1.cc, data/glr.cc (parser::token_type): New.
+       * doc/bison.texinfo (Calc++ Scanner): Use it.
+
+2006-03-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix two nits reported by twlevo, plus one more that I discovered.
+
+       * src/assoc.h (assoc_to_string): Give a name to the arg, as
+       this is the usual Bison style.
+       * src/location.h (location_print): Likewise.
+
+       * src/reader.h (token_name): Likewise.
+
+2006-03-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some nits reported by twlevo.
+       * doc/FAQ: Remove ancient Y2K FAQ, replacing it with "secure"
+       and "POSIX".  Use more-modern syntax for URLs.  Mention C++
+       and ask for Java.  Don't hardwire OS version numbers.  Add
+       copyright notice.
+       * m4/.cvsignore: Add unistd_h.m4, for latest gnulib.
+       * src/conflicts.c (solved_conflicts_obstack): Now static.
+
+2006-03-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * doc/bison.texinfo (Introduction): Mention GLR and C++ as on the web
+       page.  Say "you can use it" not "you may use it" as on the web page;
+       we're describing capabilities not granting permission.
+
+2006-03-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyresolveLocations): Rename local variables to avoid
+       shadowing warnings.  Use usual patter for iterating through RHS.
+       * tests/glr-regression.at
+       (Uninitialized location when reporting ambiguity):
+       Modify yylex so that it uses its argument, rather than trying
+       to rely on ARGSUSED (which doesn't work for gcc with warnings).
+       const char -> char const.
+
+       * tests/Makefile.am ($(srcdir)/package.m4, maintainer-check-valgrind):
+       Don't use tabs inside commands; it messes up 'ps'.
+       Problem reported by twlevo.
+
+2006-03-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/glr-regression.at (Uninitialized location when reporting
+       ambiguity): New test case.
+       * data/glr.c (yyresolveLocations): New function, which uses
+       YYLLOC_DEFAULT.
+       (yyresolveValue): Invoke yyresolveLocations before reporting an
+       ambiguity.
+       * doc/bison.texinfo (Default Action for Locations): Note
+       YYLLOC_DEFAULT's usage for ambiguity locations.
+       (GLR Semantic Actions): Cross-reference those notes.
+
+2006-03-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/glr-regression.at (Leaked semantic values when reporting
+       ambiguity): Remove unnecessary union and type declarations.
+       (Leaked lookahead after nondeterministic parse syntax error): New test
+       case.
+       * data/glr.c (yyparse): Check for zero stacks remaining before
+       attempting to shift the lookahead so that you don't lose it.
+
+2006-03-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Avoid memory leaks by not invoking longjmp in yyreportAmbiguity.
+       * tests/glr-regression.at (Leaked semantic values when reporting
+       ambiguity): New test case.
+       * data/glr.c (yyreportAmbiguity): Invoke yyyerror directly and return
+       yyabort rather than invoking yyFail, which invokes longjmp.  Remove the
+       now unnecessary yystackp parameter.
+       (yyresolveValue): Return yyreportAmbiguity's result.  Now the necessary
+       destructors can be called.
+
+       * tests/glr-regression.at: Don't invoke bison with `-t' unnecessarily
+       in existing testcases.
+
+2006-03-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't leak semantic values for parent RHS when a user action cuts the
+       parser, and clean up related code a bit.
+       * tests/glr-regression.at (Leaked merged semantic value if user action
+       cuts parse): Rename to...
+       (Leaked semantic values if user action cuts parse): ... this.  Add check
+       for leaked parent RHS values.
+       * data/glr.c (yydestroyGLRState): In debugging output, distinguish
+       between an unresolved state (non-empty chain of semantic options) and
+       an incomplete one (signaled by an empty chain).
+       (yyresolveStates): Document the interface.  Move all manipulation of a
+       successfully or unsuccessfully resolved yyGLRState to...
+       (yyresolveValue): ... here so that yyresolveValue always leaves a
+       yyGLRState with consistent data and thus is easier to understand.
+       Remove the yyvalp and yylocp parameters since they are always just
+       taken from the yys parameter.  When reporting a discarded merged value
+       in debugging output, note that it is incompletely merged.  Document the
+       interface.
+       (yyresolveAction): If resolving any of the RHS states fails, destroy
+       them all rather than leaking them.  Thus, as long as user actions are
+       written to clean up the RHS correctly, yyresolveAction always cleans up
+       the RHS of a semantic option.  Document the interface.
+
+2006-02-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyexpandGLRStack): Catch an off-by-one error that
+       led to a segmentation fault in GNU Pascal.  Problem reported
+       by Waldek Hebisch.
+
+2006-02-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * doc/bison.texinfo (Mid-Rule Actions): Explain how to bury a
+       mid-rule action inside a nonterminal symbol in order to declare a
+       destructor for its semantic value.
+
+2006-02-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c [(! defined yyoverflow || YYERROR_VERBOSE) && !
+       YYSTACK_USE_ALLOCA && ! defined YYSTACK_ALLOC && defined
+       __cplusplus && ! defined _STDLIB_H && !
+       ((defined YYMALLOC || defined malloc) && (defined YYFREE ||
+       defined free))]: Include <stdlib.h> rather than rolling our own
+       declarations of malloc and free, to avoid problems with
+       incompatible declarations (using 'throw') C++'s stdlib.h.  This
+       should fix Debian bug 340012
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340012>,
+       reported by Guillaume Melquiond.
+
+2006-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Clarify symbols versus types in unused-value warnings.
+
+       * configure.ac (AC_INIT): Bump version number.
+
+2006-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.1a.
+       * tests/headers.at (AT_TEST_CPP_GUARD_H): Declare yyerror and yylex,
+       since C99 requires this.
+
+2006-02-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * m4/c-working.m4: New file.
+       * configure.ac (BISON_TEST_FOR_WORKING_C_COMPILER): Use it.
+
+2006-02-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * Makefile.maint: Merge from coreutils.
+
+2006-02-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       More portability fixes for problems summarized by Nelson H. F. Beebe.
+
+       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Catch a
+       configuration screwup "./configure CC=/opt/SUNWspro/bin/c89
+       CFLAGS="-xarch=generic64" CXX=/opt/SUNWspro/bin/CC
+       LDFLAGS="-xarch=generic64" with Sun C 5.7 on Solaris 10; this
+       messes up because C++ code is compiled in 32-bit mode but linked
+       in 64-bit mode.
+
+2006-02-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       More portability fixes for problems summarized by Nelson H. F. Beebe.
+
+       * doc/bison.texinfo (Calc++ Scanner): Work around a bug in flex
+       2.5.31.  This resembles the 2005-10-10 patch to src/scan-skel.l.
+
+       * examples/calc++/Makefile.am (check_PROGRAMS): Renamed from
+       nodist_PROGRAMS, since we don't need to actually compile the
+       example if we're just doing a plain 'make'.  This avoids bothering
+       the installer unnecessarily about problems due to weird C++
+       compilers.
+
+2006-02-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       More portability fixes for problems summarized by Nelson H. F. Beebe.
+
+       * tests/headers.at (AT_TEST_CPP_GUARD_H): Use #include <...> rather
+       than #include "...", and compile with -I'.'.  The old method was
+       not portable, according to Posix and the C standard, and it does
+       not work with Sun C 5.7, where previous #line directives affect
+       the working directory used in later #include "..." directives.
+
+2006-02-06  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       Various DJGGP specific issues in /djgpp
+
+2006-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       More portability fixes for problems summarized by Nelson H. F. Beebe.
+
+       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check that
+       '#include <map>' works and that you can apply ++ to iterators.
+
+2006-02-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around portability problems summarized by Nelson H. F. Beebe in
+       <http://lists.gnu.org/archive/html/bug-bison/2005-09/msg00021.html>.
+
+       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
+       that '#include <string>' works.
+
+       * data/lalr1.cc (yytranslate_): No longer inline, to work around a
+       porting problem to g++ 3.4.3 on Darwin 7.9.0, where g++ complained
+       "warning: sorry: semantics of inline function static data `const
+       unsigned char translate_table[262]' are wrong (you'll wind up with
+       multiple copies)".
+
+       * lib/bbitset.h (struct bitset_vtable): Rename members not, and,
+       or, xor to not_, and_, or_, and xor_, respectively.  This works
+       around a bug in GCC 3.4.3 on Irix 6.5, which apparently has a
+       random system header somewhere that includes the equivalent of
+       <iso646.h>.
+
+       * tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that "$CC
+       -E" works; it apparently doesn't work with PathScale EKO Compiler
+       Suite Version 2.0.
+
+2006-01-30  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       During deterministic GLR operation, user actions should be able to
+       influence the parse by changing yychar.  To make this easier to fix and
+       to make glr.c easier to evolve in general, don't maintain yytoken in
+       parallel with yychar; just compute yytoken when needed.
+       * tests/glr-regression.at (Incorrect lookahead during deterministic
+       GLR): Check that setting yychar in a user action has the intended
+       effect.
+       * data/glr.c (yyGLRStack): Remove yytokenp member.
+       (yyclearin): Don't set *yytokenp.
+       (yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Examine
+       yychar rather than *yytokenp to determine the current lookahead.
+       Compute yytoken locally when needed.
+       (yyparse): Likewise.  Remove the local yytoken that yytokenp used to
+       point to.
+
+       * doc/bison.texinfo (Bison Options): Remove stray sentence fragment
+       after `--report' documentation.
+
+2006-01-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/parse-gram.y (grammar_declaration): Location of printer
+       symbol is @1, not list->location.  Bug reported by twlevo.
+       * tests/input.at (Incompatible Aliases): Adjust to above change.
+
+2006-01-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/input.at (AT_CHECK_UNUSED_VALUES): Remove.  Instead, do
+       all the test at once.  This makes the output easier to read in the
+       normal case.
+
+       Fix a longstanding bug uncovered by bro-0.9a9/src/parse.y, which I
+       got from <http://bro-ids.org/download.html>.  The bug is that
+       when two actions appeared in succession, the second one was
+       scanned before the first one was added to the grammar rule
+       as a midrule action.  Bison then output the incorrect warning
+       "parse.y:905.17-906.36: warning: unused value: $3".
+       * src/parse-gram.y (BRACED_CODE, action): These are no longer
+       associated with a value.
+       (rhs): Don't invoke grammar_current_rule_action_append.
+       (action): Invoke it here instead.
+       * src/reader.c (grammar_midrule_action): Now extern.
+       (grammar_current_rule_action_append): Don't invoke
+       grammar_midrule_action; that is now the scanner's job.
+       * src/reader.h (last_string, last_braced_code_loc):
+       (grammar_midrule_action): New decls.
+       * src/scan-gram.l (last_string): Now extern, sigh.
+       (last_braced_code_loc): New extern variable.
+       (<INITIAL>"{"): Invoke grammar_midrule_action if the current
+       rule already has an action.
+       (<SC_BRACED_CODE>"}"): Set last_braced_code_loc before returning.
+       * tests/input.at (AT_CHECK_UNUSED_VALUES):
+       Add some tests to check that the above changes fixed the bug.
+
+2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/reader.c (symbol_should_be_used): Renamed from symbol_typed_p.
+       All used changed.  Check whether the symbol has a destructor,
+       not whether it is typed.
+       * tests/input.at (AT_CHECK_UNUSED_VALUES): Add a destructor, so
+       that the values are still reported as unused.  All line numbers
+       adjusted.
+
+2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around a bug in bro 0.8, which underparenthesizes its
+       definition of YYLLOC_DEFAULT.
+       * data/glr.c: Change all uses of YYLLOC_DEFAULT to parenthesize
+       their arguments.
+       * data/lalr1.cc: Likewise.
+       * data/yacc.cc: Likewise.
+
+2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around a bug in Pike 7.0, and give the Pike folks a
+       better way to override the usual int widths.
+       * data/yacc.c (b4_int_type): Use yytype_uint8, etc., so that the
+       user can override the types.
+       (short): #undef, to work around a bug in Pike 7.0.
+       (yytype_uint8, yytype_int8, yytype_uint16, yytype_int16): New types.
+       (union yyalloc.yyss): Use yytype_int16 rather than short.
+       All uses changed.
+       (yysigned_char): Remove.
+       * src/parse-gram.y (YYTYPE_UINT8, YYTYPE_INT8, YYTYPE_UINT16):
+       (YYTYPE_INT16): New macros, to test the new facility in yacc.c.
+       * tests/regression.at (Web2c Actions): Adjust to above changes.
+
+       * src/reader.c (check_and_convert_grammar): New function.
+       (reader): Close the input file even if something went wrong during
+       parsing.  Minor file descriptor leak reported by twlevo.
+
+       * src/assoc.c (assoc_to_string): Use a default: abort (); case
+       to pacify gcc -Wswitch-default.
+       * src/scan-gram.l (adjust_location): Use a default: break; case
+       to pacify gcc -Wswitch-default.
+       * src/scan-skel.h (skel_get_lineno, skel_get_in, skel_get_out):
+       (skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
+       (skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
+       Move these decls to scan-skel.l, since they don't need to be
+       visible elsewhere.
+       * src/scan-skel.l: Accept the above decls.
+       (skel_lex): New decl, to pacify GCC when unpatched flex 2.5.31
+       is used.
+
+2006-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * Makefile.cfg (local-checks-to-skip): Add changelog-check,
+       since we don't want to insist on a version number at the start
+       of the changelog every time.
+       * Makefile.maint: Sync from coreutils a bit better.
+       (sc_trailing_blank): Renamed from sc_trailing_space.
+       All uses changed.
+       (sc_no_if_have_config_h, sc_require_config_h):
+       (sc_prohibit_assert_without_use): New rules.
+       (sc_obsolete_symbols): Don't catch Makefile.maint itself.
+       (sc_dd_max_sym_length): Fix leading spaces in rule.
+       (sc_system_h_headers): Prefix with @.
+       (sc_useless_cpp_parens, m4-check): Output line numbers.
+       (changelog-check): Allow version only in head.
+       * data/c.m4: Use "defined FOO" instead of "defined (FOO)", to
+       satisfy new Makefile.maint rule.
+       * data/glr.c: Likewise.
+       * data/glr.cc: Likewise.
+       * data/lalr1.cc: Likewise.
+       * data/yacc.c: Likewise.
+       * lib/ebitsetv.c: Likewise.
+       * lib/lbitset.c: Likewise.
+       * lib/subpipe.c: Likewise.
+       * lib/timevar.c: Likewise.
+       * src/system.h: Likewise.
+       * data/yacc.c (YYSTYPE): Don't generate trailing spaces in output.
+       * djgpp/Makefile.maint: Add copyright notice.
+       * djgpp/README.in: Likewise.
+       * djgpp/config.bat: Likewise.
+       * djgpp/config.site: Likewise.
+       * djgpp/config_h.sed: Likewise.
+       * djgpp/djunpack.bat: Likewise.
+       * djgpp/config.sed: Fix copyright notice to match standard format.
+       * djgpp/subpipe.h: Likewise.
+       * lib/bitsetv-print.c: Likewise.
+       * lib/bitsetv.c: Likewise.
+       * lib/subpipe.h: Likewise.
+       * lib/timevar.c: Likewise.
+       * lib/timevar.h: Likewise.
+       * djgpp/subpipe.c: Use standard recipe for config.h.
+       * lib/abitset.c: Likewise.
+       * lib/bitset.c: Likewise.
+       * lib/bitset_stats.c: Likewise.
+       * lib/bitsetv-print.c: Likewise.
+       * lib/bitsetv.c: Likewise.
+       * lib/ebitsetv.c: Likewise.
+       * lib/get-errno.c: Likewise.
+       * lib/lbitset.c: Likewise.
+       * lib/subpipe.c: Likewise.
+       * lib/timevar.c: Likewise.
+       * lib/vbitset.c: Likewise.
+       * tests/local.at: Likewise.
+       * src/scan-gram.l: Don't include verify.h, since system.h does
+       that for us.
+       * .x-sc_require_config_h: New file.
+       * .x-sc_unmarked_diagnostics: New file.
+
+2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Be a bit more systematic about using 'abort'.
+       * lib/abitset.c (abitset_test): Remove ATTRIBUTE_UNUSED; not needed.
+       * lib/bitset.c (bitset_bytes, bitset_init, bitset_op4_cmp):
+       Put 'default: abort ();' before some other case, to satisfy older
+       pedantic compilers.
+       * lib/bitset_stats.c (bitset_stats_init): Likewise.
+       * lib/ebitset.c (ebitset_elt_find, ebitset_op3_cmp): Likewise.
+       * lib/lbitset.c (lbitset_elt_find, lbitset_op3_cmp): Likewise.
+       * src/conflicts.c (resolve_sr_conflict): Likewise.
+       * src/vcg.c (get_color_str, get_textmode_str, get_shape_str):
+       (get_decision_str, get_orientation_str, get_node_alignment_str):
+       (get_arrow_mode_str, get_crossing_type_str, get_view_str):
+       (get_linestyle_str, get_arrowstyle_str): Likewise.
+       * src/conflicts.c (resolve_sr_conflict):
+       Use a default case rather than one for the one remaining enum
+       value, to catch invalid enum values as well.
+       * src/lalr.c (set_goto_map, map_goto):
+       Prefer "assert (FOO);" to "if (!FOO) abort ();".
+       * src/nullable.c (nullable_compute, token_definitions_output):
+       Likewise.
+       * src/reader.c (packgram, reader): Likewise.
+       * src/state.c (transitions_to, state_new, state_reduction_find):
+       Likewise.
+       * src/symtab.c (symbol_user_token_number_set, symbol_make_alias):
+       (symbol_pack): Likewise.
+       * src/tables.c (conflict_row, pack_vector): Likewise.
+       * src/scan-skel.l (QPUTS): Remove unnecessary parens.
+       (BASE_QPUTS, "@output ".*\n): Remove unnecessary asserts.
+       * src/system.h: Don't include <assert.h>.
+       (assert): New macro.
+
+       * doc/bison.texinfo (Prologue, Rules, Actions, Union Decl, Action Decl):
+       (Destructor Decl, Parser Function, Pure Calling):
+       Describe rules for braces inside C code more carefully.
+
+2006-01-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some porting glitches found by Nelson H. F. Beebe.
+       * lib/abitset.c (abitset_resize): Rewrite to avoid warnings from
+       compilers that don't understand that abort () does not return.
+       * src/state.c (transitions_to): Likewise.
+       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
+       that '#include <cstdlib>' works.
+       * src/system.h (INT8_MIN, INT16_MIN, INT32_MIN, INT8_MAX):
+       (INT16_MAX, UINT8_MAX, INT32_MAX, UINT16_MAX, UINT32_MAX):
+       #undef if ! defined __STDC_VERSION__ || __STDC_VERSION__ < 199901,
+       for the benefit of some pre-C99 compilers.
+
+       * bootstrap: Undo changes to gnulib files that autoreconf made.
+
+       Minor fixups to get 'make maintainer-check' to work.
+       * configure.ac: Don't use -Wnested-externs, as it's incompatible
+       with the new verify.h implementation.
+       * data/c.m4 (b4_yy_symbol_print_generate): YYUSE (yyoutput).
+       * data/glr.c (YYUSE): Depend on __GNUC__ as well.
+       * data/yacc.c (YYUSE): Likewise.
+       * data/lalr1.cc (yysyntax_error_): YYUSE (yystate).
+       * lib/subpipe.c (end_of_output_subpipe): The args are unused.
+       * src/parse-gram.y (declaration): Don't pass a string constant
+       to a function that expects char *, since GCC might complain
+       about the constant value.
+       * src/reader.c (symbol_typed_p): Add parens to pacify GCC.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): #undef yylloc and yylval
+       before #defining them.
+       * tests/glr-regression.at
+       (Incorrectly initialized location for empty right-hand side in GLR):
+       In yyerror, use the msg arg.
+       (Corrupted semantic options if user action cuts parse):
+       (Incorrect lookahead during deterministic GLR):
+       (Incorrect lookahead during nondeterministic GLR):
+       Don't name a local var 'index'; it shadows string.h's 'index'.
+
+2006-01-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (_AT_DATA_CALC_Y): Initialize the whole initial
+       location, not just parts of it.
+
+2006-01-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Document the fact that multiple %unions are now allowed.
+       * doc/bison.texinfo (Union Decl): Likewise.
+       * TODO: This feature is now implemented, so remove it from
+       the wishlist.
+
+       * Makefile.maint: Merge with coreutils Makefile.maint.
+       (CVS_LIST): Use build-aux version if available.
+       (VERSION_REGEXP): New macro.
+       (syntax-check-rules): Add sc_no_if_have_config_h,
+       sc_prohibit_assert_without_use, sc_require_config_h,
+       sc_useless_cpp_parens.
+       (sc_obsolete_symbols): Check for O_NDELAY.
+       (sc_dd_max_sym_length): Track coreutils.
+       (sc_unmarked_diagnostics): Look in all files, not just *.c.
+       (sc_useless_cpp_parens): New rule.
+       (news-date-check): Look for version or today's date.
+       (changelog-check): Don't require version number near head.
+       (copyright-check): Use current year instead of hardwiring 2005.
+       (my-distcheck): Depend on $(release_archive_dir)/$(prev-tgz).
+       (announcement): Add --gpg-key-ID.
+
+       * djgpp/config.sed: Add copyright notice, and replace "filesystem"
+       with "file system".
+
+       Avoid undefined behavior that addressed just before the start of an
+       array.  Problem reported by twlevo.
+       * src/reader.c (packgram): Prepend a new sentinel before ritem.
+       * src/lalr.c (build_relations): Rely on new sentinel.
+       * src/gram.c (gram_free): Adjust to new sentinel.
+
+2006-01-12  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyGLRStateSet): Rename yylookaheadStatuses to
+       yylookaheadNeeds.  All uses updated.
+       (yysplitStack): Rename local yynewLookaheadStatuses to
+       yynewLookaheadNeeds.
+       * data/glr-regression.at (Incorrect lookahead during nondeterministic
+       GLR): In comments, change `lookahead status' to `lookahead need'.
+
+2006-01-11  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+       * data/glr.c (yysplitStack): A little stylistic rewrite.
+
+2006-01-11  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+       * data/glr.c (yyaddDeferredAction): Flesh out the comment.
+
+2006-01-11  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * doc/bison.texinfo: Fix some typos.
+       (GLR Semantic Actions): New subsection discussing special
+       considerations because GLR semantic actions might be deferred.
+       (Actions): Mention look-ahead usage of yylval.
+       (Actions and Locations): Mention look-ahead usage of yylloc.
+       (Special Features for Use in Actions): Add YYEOF entry and mention it
+       in the yychar entry.
+       In the yychar entry, remove mention of the local yychar case (pure
+       parser) since this is irrelevant information when writing semantic
+       actions and since it's already discussed in `Table of Symbols' where
+       yychar is otherwise described as an external variable.
+       In the yychar entry, don't call it the `current' look-ahead since it
+       isn't when semantic actions are deferred.
+       In the yychar and yyclearin entries, add note about deferred semantic
+       actions.
+       Add yylloc and yylval entries discussing look-ahead usage.
+       (Look-Ahead Tokens): When discussing yychar, don't call it the
+       `current' look-ahead, and do mention yylval and yylloc.
+       (Error Recovery): Cross-reference `Action Features' when mentioning
+       yyclearin.
+       (Table of Symbols): In the yychar entry, don't call it the `current'
+       look-ahead.
+       In the yylloc and yylval entries, mention look-ahead usage.
+
+2006-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/glr-regression.at: Update copyright year to 2006.
+
+2006-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyGLRStateSet): Add yybool* yylookaheadStatuses member to
+       use during nondeterministic operation to track which stacks have
+       actually needed the current lookahead.
+       (yyinitStateSet, yyfreeStateSet, yyremoveDeletes, yysplitStack):
+       Allocate, deallocate, resize, and otherwise shuffle space for
+       yylookaheadStatuses in parallel with yystates member of yyGLRStateSet.
+       (yysplitStack, yyprocessOneStack, yyparse): Set lookahead status
+       appropriately during nondeterministic operation.
+       (yySemanticOption): Add int yyrawchar, YYSTYPE yyval, and YYLTYPE yyloc
+       members to store the current lookahead to be used by the deferred
+       user action.
+       (yyaddDeferredAction): Add size_t yyk parameter specifying the stack
+       from which the RHS is taken.  Set the lookahead members of the new
+       yySemanticOption according to the lookahead status for stack yyk.
+       (yyglrShiftDefer, yyglrReduce): Pass yyk parameter on to
+       yyaddDeferredAction.
+       (yyresolveAction): Set yychar, yylval, and yylloc to the lookahead
+       members of yySemanticOption before invoking yyuserAction, and then set
+       them back to their current values afterward.
+       (yyparse): Set yychar = YYEMPTY where yytoken = YYEMPTY.
+       (yyreportAmbiguity): Add /*ARGSUSED*/ to pacify lint.
+       * tests/glr-regression.at: Remove `.' from the ends of recent test case
+       titles for consistency.
+       (Leaked merged semantic value if user action cuts parse): In order to
+       suppress lint warnings, use arguments in merge function, and assign
+       char value < 128 in main.
+       (Incorrect lookahead during deterministic GLR): New test case.
+       (Incorrect lookahead during nondeterministic GLR): New test case.
+
+2006-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/c.m4 (b4_yy_symbol_print_generate): In yy_symbol_print, accept
+       !yyvaluep as signal that no semantic value is available to print.
+       * data/glr.c (yydestroyGLRState): If state is not resolved, don't try
+       to print a semantic value.
+
+2006-01-06  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * tests/glr-regression.at: For consistency with my newer test cases,
+       don't thank myself.
+
+2006-01-05  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyresolveValue): When merging semantic options, if at
+       least one user action succeeds but a later one cuts the parse, then
+       destroy the semantic value before returning rather than leaking it.
+       (yyresolveStates): If a user action cuts the parse and thus
+       yyresolveValue fails, ignore the (unset) semantic value rather than
+       corrupting the yyGLRState, and empty the semantic options list since
+       the user actions should have called all necessary destructors.
+       Simplify code with YYCHK.
+       * tests/glr-regression.at (Corrupted semantic options if user action
+       cuts parse): New test case.
+       (Undesirable destructors if user action cuts parse): New test case.
+       Before applying any of this patch, this test case never actually failed
+       for me... but only because the corrupted semantic options usually
+       masked this bug.
+       (Leaked merged semantic value if user action cuts parse): New test
+       case.
+
+2006-01-05  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c, src/symlist.h, src/symlist.c: s/mid_rule/midrule/.
+
+2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_c_modern): New macro, with a new provision for
+       _MSC_VER.  Problem reported by Cenzato Marco.
+       (b4_c_function_def): Use it.
+       * data/yacc.c (YYMODERN_C): Remove.  All uses replaced by
+       b4_c_modern.
+       (yystrlen, yystpcpy, yyparse): Use b4_c_function... macros rather
+       than rolling our own.
+
+2006-01-04  Akim Demaille  <akim@epita.fr>
+
+       Also warn about non-used mid-rule values.
+       * src/symlist.h, src/symlist.c (symbol_list): Add a mid_rule
+       member.
+       (symbol_list_new): Adjust.
+       * src/reader.c (symbol_typed_p): New.
+       (grammar_rule_check): Use it.
+       (grammar_midrule_action): Bind a mid-rule LHS to its rule.
+       Check its rule.
+       * tests/input.at (AT_CHECK_UNUSED_VALUES): New.
+       Use it.
+       * tests/actions.at (Exotic Dollars): Adjust.
+
+2006-01-04  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (grammar_midrule_action): If $$ is set in a
+       mid-rule, move the `used' bit to its lhs.
+       * tests/input.at (Unused values): New.
+       * tests/actions.at (Exotic Dollars): Adjust: exp is not typed.
+
+2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Bison Options): Say more accurately what
+       --yacc does.
+       * src/parse-gram.y (rules_or_grammar_declaration): Don't complain
+       about declarations in the grammar when in Yacc mode, as POSIX does
+       not require a diagnostic when the grammar uses extensions.
+
+       * src/reduce.c (reduce_grammar): Remove unnecessary cast to bool.
+
+       Warn about dubious constructions like "%token T T".
+       Reported by twlevo.
+       * src/symtab.h (struct symbol.declared): New member.
+       * src/symtab.c (symbol_new): Initialize it to false.
+       (symbol_class_set): New arg DECLARING, specifying whether
+       this is a declaration that we want to warn about, if there
+       is more than one of them.  All uses changed.
+
+       * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c:
+       Allow multiple %union directives, whose contents concatenate.
+       * src/parse-gram.y (grammar_declaration): Likewise.
+       Use muscle_code_grow, so that we don't need stype_line any more.
+       All uses changed.
+
+       * src/muscle_tab.c (muscle_grow): Fix comment.
+
+       * ChangeLog, data/c.m4, data/glr.c, data/glr.cc, data/location.cc:
+       * data/yacc.c, src/getargs.c, src/output.c, tests/cxx-type.at:
+       Update copyright year to 2006.
+
+2006-01-03  Akim Demaille  <akim@epita.fr>
+
+       Have glr.cc pass (some of) the calc.at tests.
+       * data/glr.cc (b4_parse_param_orig): New.
+       (b4_parse_param): Improve its definition, and bound it more
+       clearly in the skeleton.
+       (b4_epilogue): Append, instead of prepending, in order to keep
+       #line consistency.
+       Simplify the generation of auxiliary functions: locations and
+       purity are mandated.
+       (b4_global_tokens_and_yystype): Honor it.
+       * data/location.cc (c++.m4): Don't include it.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Define AT_GLR_CC_IF
+       and AT_SKEL_CC_IF.
+       * tests/calc.at (AT_CHECK_CALC): Rely on AT_SKEL_CC_IF instead of
+       AT_LALR1_CC_IF.
+       Be sure to initialize the first position's filename.
+       (AT_CHECK_CALC_LALR1_CC): Add %location and %defines, they are
+       mandated anyway.
+       (AT_CHECK_CALC_GLR_CC): New.
+       Use it to exercise glr.cc as a lalr1.cc drop-in replacement.
+
+2006-01-02  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_skeleton): Don't hard wire the inclusion of
+       c.m4.
+       * data/c++.m4, data/glr.c, data/yacc.c: Include c.m4.
+       * data/glr.cc: Do not include stack.hh.
+
+2006-01-02  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/glr.c: Reformat whitespace with tabs.
+       (b4_lpure_formals): Remove this unused m4 macro.
+       * tests/cxx-type.at: Reformat whitespace with tabs.
+       (_AT_TEST_GLR_CXXTYPES): In union Node, rename node_info to nodeInfo
+       since it's a member.  Rename type to isNterm for clarity.
+
+2005-12-29  Akim  <akim@sulaco.local>
+
+       Let glr.cc catch up with symbol_value_print.
+       * data/glr.cc (b4_yysymprint_generate): Replace by...
+       (b4_yy_symbol_print_generate): this.
+       (yy_symbol_print, yy_symbol_value_print): Declare them.
+
+2005-12-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/location.h (boundary): Note that a line or column equal
+       to INT_MAX indicates an overflow.
+       * src/scan-gram.l: Include verify.h.  Don't include get-errno.h.
+       (rule_length_overflow, increment_rule_length, add_column_width):
+       New functions.
+       (<INITIAL>{id}, <SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'"):
+       (<SC_BRACED_CODE>"}"):
+       Use increment_rule_length rather than incrementing it by hand.
+       (adjust_location, handle_syncline): Diagnose overflow.
+       (handle_action_dollar, handle_action_at):
+       Fix bug with monstrosities like $-2147483648.
+       Remove now-unnecessary checks.
+       (scan_integer): Verify assumptions and remove now-unnecessary checks.
+       (convert_ucn_to_byte): Verify assumptions.
+       (handle_syncline): New arg LOC.  All callers changed.
+       Don't store through a value derived from char const * pointer.
+
+       * src/reader.c (grammar_rule_check): Rewrite slightly to avoid
+       GCC warnings.
+
+2005-12-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/reader.c (grammar_midrule_action, grammar_symbol_append):
+       Remove unnecessary forward static decls.
+
+2005-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (grammar_current_rule_check): Also check that $$
+       is used.
+       Take the rule to check as argument, hence rename as...
+       (grammar_rule_check): this.
+       * src/reader.h, src/reader.c (grammar_rule_begin, grammar_rule_end):
+       Rename as...
+       (grammar_rule_begin, grammar_rule_end): these, for consistency.
+       (grammar_midrule_action, grammar_symbol_append): Now static.
+       * tests/torture.at (input): Don't rely on the default action
+       being always performed.
+       * tests/calc.at: "Set" $$ even when the action is "cut" with
+       YYERROR or other.
+       * tests/actions.at (Exotic Dollars): Instead of using unused
+       values, check that the warning is issued.
+
+2005-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Improve wording for unused-value warnings.
+
+2005-12-22  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc, data/yacc.c, data/glr.c, data/c.m4
+       (b4_yysymprint_generate): Rename as...
+       (b4_yy_symbol_print_generate): this.
+       Generate yy_symbol_print instead of yysymprint.
+       Generate also yy_symbol_value_print, and use it.
+
+2005-12-22  Akim Demaille  <akim@epita.fr>
+
+       * NEWS: Warn about unused values.
+       * src/symlist.h, src/symlist.c (symbol_list, symbol_list_new): Add
+       a `used' member.
+       (symbol_list_n_get, symbol_list_n_used_set): New.
+       (symbol_list_n_type_name_get): Use symbol_list_n_get.
+       * src/scan-gram.l (handle_action_dollar): Flag used symbols.
+       * src/reader.c (grammar_current_rule_check): Check that values are
+       used.
+       * src/symtab.c (symbol_print): Accept 0.
+       * tests/existing.at: Remove the type information.
+       Empty the actions.
+       Remove useless actions (beware of mid-rule actions: perl -000
+       -pi -e 's/\s*\{\}(?=[\n\s]*[|;])//g').
+       * tests/actions.at (Exotic Dollars): Use unused values.
+       * tests/calc.at: Likewise.
+       * tests/glr-regression.at (No users destructors if stack 0 deleted):
+       Likewise.
+
+       * src/gram.c (rule_useful_p, rule_never_reduced_p): Use
+       rule_useful_p.
+
+2005-12-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Undo 2005-12-01 tentative license wording change.  The wording is
+       still being reviewed by the lawyers, and we don't want to wait for
+       them before publishing a test release.  For now, revert to the
+       previous wording.
+       * NEWS: Undo 2005-12-01 change.
+       * data/glr.c: Revert to previous license wording.
+       * data/glr.cc: Likewise.
+       * data/lalr1.cc: Likewise.
+       * data/location.cc: Likewise.
+       * data/yacc.c: Likewise.
+
+       * NEWS: Reword %destructor vs YYABORT etc.
+       * data/glr.c: Use American spacing, for consistency.
+       * data/glr.cc: Likewise.
+       * data/lalr1.cc: Likewise.
+       * data/yacc.c: Likewise.
+       * data/yacc.c: Reformat comments slightly.
+       * doc/bison.texinfo: Replace "non-" with "non" when that makes sense,
+       for consistency.  Fix some spelling errors and reword recently-included
+       text slightly.
+       * tests/cxx-type.at: Cast results of malloc, for C++.
+
+2005-12-21  Joel E. Denny  <address@hidden>
+
+       * tests/cxx-type.at: Construct a tree, count the parents of shared
+       nodes, and free each node once and only once.  Previously, the memory
+       for semantic values was leaked instead.
+
+2005-12-21  Joel E. Denny  <address@hidden>
+
+       * data/glr.c (struct yyGLRStack): If pure, add yyval and yyloc members.
+       (yylval, yylloc): If pure, #define to yystackp->yyval and
+       yystackp->yyloc similar to yychar and yynerrs.
+       (yyparse): If pure, remove local yylval and yylloc. Add local
+       yystackp to accommodate pure definitions of yylval and yylloc.
+       (b4_lex_param, b4_lyyerror_args, b4_lpure_args): If pure, change
+       yylvalp and yyllocp to &yylval and &yylloc.
+       (nerrs, char, lval, lloc): If pure, add #define's for b4_prefix[]
+       namespace. Previously, nerrs and char were missing, but lval and lloc
+       weren't necessary.
+       (yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Remove
+       yylvalp and yyllocp parameters since, if pure, these are now always
+       accessible through yystackp.  If not pure, they are still accessible
+       globally.
+       * data/glr.c, data/yacc.c (YYLLOC_DEFAULT): Change `if (N)' to
+       `if (YYID (N))' to pacify lint.
+
+2005-12-21  Akim Demaille  <akim@epita.fr>
+
+       YYACCEPT, YYERROR, and YYABORT, as user actions, should not
+       destroy the RHS symbols of a rule.
+       * data/yacc.c (yylen): Initialize to 0.
+       Keep its value to the number of items to possibly shift.
+       In particular, a regular successful parse that ends on YYFINAL by
+       a (internal) YYACCEPT must not have yylen != 0.
+       (yyerrorlab, yyreturn): Pop the RHS.
+       Reorder a bit to emphasize the `shifting' bits of code.
+       (YYPOPSTACK): Now accept a number of items to pop.
+       * data/lalr1.cc: Likewise.
+       * data/glr.c: Formatting changes.
+       Use goto instead of fall through.
+       * doc/bison.texinfo (Destructor Decl): Complete.
+
+2005-12-20  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       * Makefile.am: DJGPP specific files added to EXTRA_DIST.
+       * djgpp/Makefile.maint: Fix PACKAGE variable computation.
+       * djgpp/config.bat: Replace every occurence of the file name
+       scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
+       c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
+       * djgpp/config.sed: Replace every occurence of the file name
+       scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
+       c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
+       * djgpp/djunpack.bat: DJGPP specific file.
+       * djgpp/fnchange.lst: DJGPP specific file.
+       * djgpp/README.in: Add new information about how to unpack the bison
+       source on MSDOS and other systems which have 8.3 file name restrictions
+       using djunpack.bat and fnchange.lst.
+
+2005-12-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (build_cvs_prefix): Remove; unused.
+       (CVS_PREFIX): Adjust to yesterday's Savannah reorganization
+       when getting gnulib.
+
+2005-12-12  "Joel E. Denny" <jdenny@ces.clemson.edu>
+
+       * data/glr.c: Reorder typedef declarations for structs to match order
+       of struct declarations.
+       Rename yystack everywhere to yystackp except in yyparse where it's not
+       a pointer.
+       (yyglrShift): Change parameter YYSTYPE yysval to YYSTYPE* yyvalp for
+       consistency.
+       (yyis_table_ninf): Change 0 to YYID (0) to pacify lint.
+       (yyreportSyntaxError): Add /*ARGSUSED*/ to pacify lint.
+       (yyparse): Change while (yytrue) to while ( YYID (yytrue)) to pacify
+       lint.
+
+2005-12-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/sets.at (Accept): Fix typos in regular expression used to
+       sed out the final state number.
+
+       Work around portability problem on Solaris 10: flex-generated
+       files include <stdio.h> before <config.h>, which messes up
+       because the latter defines __EXTENSIONS__.  Address the problem
+       by creating two new little files that include <config.h> first,
+       then include the flex-generated files.  Rewrite everyone else
+       to include <config.h> first, as well.
+       * lib/timevar.c: Always include "config.h".
+       * src/Makefile.am (bison_SOURCES): Replace scan-gram.l with
+       scan-gram-c.c, and scan-skel.l with scan-skel-c.c.
+       (EXTRA_bison_SOURCES): New macro.
+       * src/scan-gram-c.c, src/scan-skel-c.c: New files.
+       * src/system.h: Don't include config.h.
+       * src/LR0.c: Include <config.h> first.
+       * src/assoc.c: Likewise.
+       * src/closure.c: Likewise.
+       * src/complain.c: Likewise.
+       * src/conflicts.c: Likewise.
+       * src/derives.c: Likewise.
+       * src/files.c: Likewise.
+       * src/getargs.c: Likewise.
+       * src/gram.c: Likewise.
+       * src/lalr.c: Likewise.
+       * src/location.c: Likewise.
+       * src/main.c: Likewise.
+       * src/muscle_tab.c: Likewise.
+       * src/nullable.c: Likewise.
+       * src/output.c: Likewise.
+       * src/parse-gram.y: Likewise.
+       * src/print.c: Likewise.
+       * src/print_graph.c: Likewise.
+       * src/reader.c: Likewise.
+       * src/reduce.c: Likewise.
+       * src/relation.c: Likewise.
+       * src/state.c: Likewise.
+       * src/symlist.c: Likewise.
+       * src/symtab.c: Likewise.
+       * src/tables.c: Likewise.
+       * src/uniqstr.c: Likewise.
+       * src/vcg.c: Likewise.
+
+       * src/parse-gram.y: Fix minor problems uncovered by lint.
+       (current_lhs, current_lhs_location): Now static.
+       (current_assoc): Remove unused variable.
+
+       Cleanups so that Bison-generated parsers have less lint.
+       * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate):
+       Prepend /*ARGSUSED*/, for lint's sake.
+       * data/glr.c (YYUSE): Properly parenthesize, and use an alternate
+       definition if 'lint' is defined.
+       (YYID): New macro (or function, if lint).
+       All uses of /*CONSTCOND*/0 replaced by YYID(0).
+       * data/yacc.c: Likewise.
+       * data/glr.c (yyuserAction, yyuserMerge, yy_reduce_print):
+       (yyrecoverSyntaxError): Prepend /*ARGSUSED*/.
+       * data/glr.cc (YYLLOC_DEFAULT): Omit /*CONSTCOND*/ since this code
+       is C++ only.
+       * data/lalr1.cc (YYUSE): Just use a cast, since this code is C++ only.
+       * data/yacc.c (YYSTACK_FREE) [defined YYSTACK_ALLOC]:
+       Use YYID(0) rather than 0, for lint.
+       (yystrlen): Rewrite to avoid lint warning about ptrdiff_t overflow.
+       (yysyntax_error): Rewrite to avoid lint warnings about parenthesization.
+
+2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/glr-regression.at
+       (Improper handling of embedded actions and dollar(-N) in GLR parsers):
+       Close memory leak reported by twlevo.
+
+2005-12-06  "Joel E. Denny" <jdenny@ces.clemson.edu>
+
+       * data/glr.c (yyprocessOneStack, yyparse): Synchronize the shift for
+       all stacks.
+       (yyparse): Iterate another stack in order to call user destructors.
+       * tests/glr-regression.at (No users destructors if stack 0 deleted):
+       New test case.
+       (Duplicated user destructor for lookahead): This test now is expected
+       to succeed.
+
+2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Document the following change.
+       * data/yacc.c: Say "parser skeleton" rather than "file", since
+       it's no longer just a file.
+       * data/glr.c: Grant a special exception for C GLR parsers, that
+       reads like the already-existing exception for C LALR(1) parsers.
+       * data/glr.cc: Likewise.
+       * data/lalr1.cc: Likewise.
+       * data/location.cc: Likewise.
+       * data/yacc.c: Reword the "written by" statement to clarify that
+       it was the parser skeleton, not the entire output file.
+       * data/glr.c: Written by Paul Hilfinger.
+       * data/glr.cc: Written by Akim Demaille.
+       * data/lalr1.cc: Likewise.
+
+2005-11-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (yy_reduce_print, YY_REDUCE_PRINT):
+       Fix typos in previous change that broke 'make check'.
+       YY_REDUCE_PRINT cannot be a pseudo-varargs macro; that isn't
+       supported in C.
+       * tests/calc.at (_AT_CHECK_CALC,_AT_CHECK_CALC_ERROR):
+       Don't check NUM-STDERR-LINES, since the output format is fluctuating.
+       We can revert this once things settle down.
+
+       * src/conflicts.c (conflicts_print): Don't print file name twice
+       when %expect fails because there were no conflicts.
+       * doc/bison.texinfo (Expect Decl): Tighten up wording in previous
+       change.
+       * tests/conflicts.at (%expect not enough, %expect too much):
+       (%expect with reduce conflicts): Adjust to new behavior.
+
+2005-11-18  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (conflicts_print): Unsatisfied %expectation are
+       errors.
+       * NEWS: Document this.
+       * doc/bison.texinfo (Expect Decl): Likewise.
+
+2005-11-16  Akim Demaille  <akim@epita.fr>
+
+       Generalize the display of semantic values and locations in traces.
+       * data/glr.c (yy_reduce_print): Fix indices (again).
+       * data/c++.m4 (b4_rhs_value, b4_rhs_location): Don't expect
+       literal integers.
+       * data/lalr1.cc (yyreduce_print): Rename as...
+       (yy_reduce_print): this.
+       Display values and locations.
+       * data/yacc.c (yy_reduce_print): Likewise.
+       (YY_REDUCE_PRINT): Adjust to pass the required arguments.
+       (yysymprint): Move higher to be visible from yy_reduce_print).
+       (yyparse): Adjust.
+       * tests/calc.at: Adjust the expected length of the traces.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yy_reduce_print): The loop was quite wrong: type are
+       from 1 to N, while values and location start at 0.
+       (b4_rhs_location, b4_rhs_value): Add parens around $1 and $2.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yy_reduce_print): Fix the $ number.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       "Use" parse parameters.
+       * data/c.m4 (b4_parse_param_for, b4_parse_param_use): New.
+       * data/glr.c, data/glr.cc: Use them.
+       * data/glr.c (YYUSE): Have a C++ definition that supports
+       non-pointer types.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yyexpandGLRStack): Declare only if defined.
+
+2005-11-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.cc: New.
+       * data/m4sugar/m4sugar.m4 (m4_prepend): New.
+
+2005-11-12  Akim Demaille  <akim@epita.fr>
+
+       Let position and location be PODs.
+       * data/location.cc (position::initialize, location::initialize): New.
+       (position::position, location::location): Define only if
+       b4_location_constructors is defined.
+       * data/lalr1.cc (b4_location_constructors): Define it for backward
+       compatibility.
+       * doc/bison.texinfo (Initial Action Decl): Use initialize.
+
+2005-11-12  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Move the body of the ctor and dtor into the
+       parser file (instead of the header).
+       Wrap the implementations in a "namespace yy".
+
+2005-11-12  Akim Demaille  <akim@epita.fr>
+
+       Have glr.c include its header file when created.
+       * data/glr.c (b4_shared_declarations): New.
+       Output them verbatim in the parser if !%defines, otherwise
+       output then in the header file, and include it instead.
+
+2005-11-11  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c: Comment changes.
+
+2005-11-11  Akim Demaille  <akim@epita.fr>
+
+       When yydebug, report semantic and location values for reductions.
+       * data/glr.c (yy_reduce_print): Report the semantic values and the
+       locations.
+       (YY_REDUCE_PRINT): Adjust.
+       (yyglrReduce): Use them.
+       (b4_rhs_value, b4_rhs_location): Remove m4_eval invocations.
+       * data/c.m4 (b4_yysymprint_generate): Specify the const arguments.
+       * tests/calc.at (_AT_CHECK_CALC_ERROR): Remove the reduction
+       traces.
+
+2005-11-10  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yynewGLRStackItem, YY_RESERVE_GLRSTACK): New.
+       (yyaddDeferredAction, yyglrShift, yyglrShiftDefer): Use them.
+       (yyexpandGLRStack, YYRELOC): Define only when YYSTACKEXPANDABLE.
+
+2005-11-09  Albert Chin-A-Young  <china@thewrittenword.com>
+
+       * m4/cxx.m4, examples/Makefile.am: Don't build
+       examples/calc++ if no C++ compiler is available.  (trivial change)
+
+2005-11-09  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-skel.l: Use a couple of asserts.
+
+2005-11-03  Akim Demaille  <akim@epita.fr>
+
+       In some (weird) cases, the final state number is incorrect.
+       Reported by Alexandre Duret-Lutz.
+       * src/LR0.c (state_list_append): Remove the computation of
+       final_state.
+       (save_reductions): Do it here.
+       (get_state): Alpha conversion.
+       (generate_states): Use a for loop.
+       * src/gram.h (item_number_is_rule_number)
+       (item_number_is_symbol_number): New.
+       * src/state.c: Use assert.
+       * src/system.h: Include assert.h.
+       * tests/sets.at (Accept): New.
+
+2005-10-30  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+       * data/glr.c (yyfill): Adjust comment.
+       (yyresolveAction): Initialize default location properly
+       for empty right-hand sides.
+       (yydoAction): Ditto.
+       Add comment explaining apparently dead code.
+       * tests/glr-regression.at
+       (Incorrectly initialized location for empty right-hand side in GLR):
+       New test.
+
+2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (cleanup_gnulib): New function.  Use it to clean up
+       gnulib when interrupted.  This fixes some race conditions and
+       works around some portability problems (one noted by Paul
+       Hilfinger).
+
+2005-10-22  Akim  <akim@epita.fr>
+
+       * Makefile.cfg: Adjust to config -> build-aux.
+       Reported by twledo.
+
+2005-10-21  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Pass
+       the %parse-params.
+       * data/glr.c (YY_SYMBOL_PRINT, yydestroyGLRState): Adjust.
+       * data/yacc.c (b4_Pure_if): Rename as...
+       (b4_yacc_pure_if): this.
+       (YY_SYMBOL_PRINT, yyparse): Adjust.
+       * doc/bison.texinfo: Formatting changes.
+
+2005-10-21  Akim Demaille  <akim@epita.fr>
+
+       Finish the transition config -> build-aux.
+       * configure.ac, Makefile.am: Use build-aux.
+       * config/prev-version, config/announce-gen, config/Makefile.am:
+       Move to...
+       * build-aux/prev-version, build-aux/announce-gen,
+       * build-aux/Makefile.am: here.
+
+2005-10-14  Akim Demaille  <akim@epita.fr>
+
+       * examples/calc++/test: Use set -x only when VERBOSE.
+
+2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Bison now warns if it finds a stray `$' or `@' in an action.
+       * src/scan-gram.l (<SC_BRACED_CODE>[$@]): Implement this.
+
+2005-10-13  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-skel.l: Output the base name parts of the parser and
+       header file names.
+       * tests/output.at (AT_CHECK_OUTPUT): Support subdirectories, and
+       additional checks.
+       Use this to exercise C++ outputs in subdirs.
+       Reported by Oleg Smolsky.
+
+2005-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
+       __STDC_VERSION__, as IBM cc 7.0 doesn't define the latter either.
+       Problem reported by John P. Hartmann.
+       * data/yacc.c (YYMODERN_C): Likewise.  Don't define if the user has
+       already defined it.
+
+2005-10-12  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (version_check): Exit 63 to please missing
+       (stands for "version mismatch).
+       * tests/input.at, doc/bison.texinfo: Adjust.
+
+2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around portability problems with Visual Age C compiler
+       (xlc and xlC_r) reported by John P. Hartmann.
+       * data/location.cc (initial_column, initial_line): Remove.
+       All uses replaced by 0 and 1.
+       * src/scan-gram.l (gram_wrap): Redefine to avoid bug in flex 2.5.31
+       that xlc complains about.
+       * src/scan-skel.l (skel_wrap): Likewise.
+       * data/c.m4 (b4_c_function_def): Look at __STDC_VERSION__ as well
+       as __STDC__.
+       * data/yacc.c (YYMODERN_C): New macro, which also looks at
+       __STDC_VERSION__.  Use it everywhere instead of looking at
+       __STDC__ and __cplusplus.
+
+2005-10-10  Akim Demaille  <akim@epita.fr>
+
+       * examples/calc++/test: Be quiet unless VERBOSE.
+
+2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (yydestruct, yysymprint):
+       Use YYUSE instead of casting to void.
+       * data/glr.c (YYUSE): New macro.
+       (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
+       Use it instead of rolling our own.
+       (YYLLOC_DEFAULT, YYCHK, YYDPRINTF, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
+       (YYCHK1):
+       Use /*CONSTCOND*/ to suppress lint warnings.
+       * data/lalr1.cc (YYLLOC_DEFAULT, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
+       (YY_STACK_PRINT): Use 'false' not '0'.
+       (YYUSE): New macro.
+       (yysymprint_, yydestruct_): Use it instead of rolling our own.
+       * data/yacc.c (YYUSE): New macro.
+       (YYCOPY, YYSTACK_RELOCATE, YYBACKUP, YYLLOC_DEFAULT):
+       (YYDPRINTF, YY_SYMBOL_PRINT, YY_STACK_PRINT, YY_REDUCE_PRINT):
+       (yyerrorlab): Use /*CONSTCOND*/ to suppress lint warnings.
+
+
+       * data/m4sugar/m4sugar.m4 (_m4_map): New macro.
+       (m4_map, m4_map_sep): Use it.  Handle the empty list correctly.
+
+2005-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Undo the parts of the unlocked-I/O change that substituted
+       putc or puts for printf.  This might hurt performance a bit,
+       but some people prefer the printf style.
+       * data/c.m4 (yysymprint): Prefer printf to puts and putc.
+       * data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): Remove.
+       All uses replaced by YYFPRINTF and YYDPRINTF.
+       * data/yacc.c: Likewise.
+       * lib/bitset.c (bitset_print): Likewise.
+       * lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer printf to
+       putc and puts.
+       * lib/lbitset.c (debug_lbitset): Likewise.
+       * src/closure.c (print_firsts, print_fderives): Likewise.
+       * src/gram.c (grammar_dump): Likewise.
+       * src/lalr.c (look_ahead_tokens_print): Likewise.
+       * src/output.c (escaped_output): Likewise.
+       (user_actions_output): Break apart two printfs.
+       * src/parse-gram.y (%printer): Prefer printf to putc and puts.
+       * src/reduce.c (reduce_print): Likewise.
+       * src/state.c (state_rule_look_ahead_tokens_print): Likewise.
+       * src/system.h: Include unlocked-io.h rathe than stdio.h.
+
+       * data/glr.c (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
+       Use assignments rather than casts-to-void to suppress
+       unused-variable warnings.  This pacifies 'lint'.
+       * data/lalr1.cc (yysymprint_, yydestruct_): Use a call to suppress
+       unused-variable warnings.
+
+2005-10-03  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       * Makefile.am: DJGPP specific files added to EXTRA_DIST.
+
+2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use unlocked I/O for a minor performance improvement on hosts like
+       GNU/Linux and Solaris that support unlocked I/O.  The basic idea
+       is to use the gnlib unlocked-io module, and to prefer putc and
+       puts to printf when either will work (since the latter doesn't
+       come in an unlocked flavor).
+       * bootstrap (gnulib_modules): Add unlocked-io.
+       * data/c.m4 (yysymprint): Prefer puts and putc to printf.
+       * data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): New macros.
+       Prefer them to YYFPRINTF and YYDPRINTF if either will do,
+       and similarly for puts and putc and printf.
+       * data/yacc.c: Likewise.
+       * lib/bitset.c (bitset_print): Likewise.
+       * lib/bitset.h [USE_UNLOCKED_IO]: Include unlocked-io.h.
+       * lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer putc and puts
+       to printf.
+       * lib/lbitset.c (debug_lbitset): Likewise.
+       * src/closure.c (print_firsts, print_fderives): Likewise.
+       * src/gram.c (grammar_dump): Likewise.
+       * src/lalr.c (look_ahead_tokens_print): Likewise.
+       * src/output.c (escaped_output): Likewise.
+       (user_actions_output): Coalesce two printfs.
+       * src/parse-gram.y (%printer): Prefer putc and puts to printf.
+       * src/reduce.c (reduce_print): Likewise.
+       * src/state.c (state_rule_look_ahead_tokens_print): Likewise.
+       * src/system.h: Include unlocked-io.h rather than stdio.h.
+
+       * data/lalr1.cc: Don't put an unmatched ' in a dnl comment, as
+       this confuses xgettext.
+
+2005-10-02  Akim Demaille  <akim@epita.fr>
+
+       * bootstrap (gnulib_modules): Add strverscmp.
+       * lib/.cvsignore: Add strverscmp.c, strverscmp.h.
+       * m4/.cvsignore: Add strverscmp.m4.
+       * src/parse-gram.y (%require): New token, new rule.
+       (version_check): New.
+       * src/scan-gram.l (%require): Adjust.
+       * tests/input.at (AT_REQUIRE): New.
+       Use it.
+       * doc/bison.texinfo (Require Decl): New.
+       (Calc++ Parser): Use %require.
+
+2005-10-02  Akim Demaille  <akim@epita.fr>
+
+       * data/location.cc: New.
+
+2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>,
+           Akim Demaille  <akim@epita.fr>
+
+       Make sure -odir/foo.cc creates dir/location.hh etc.
+       * src/files.h (spec_outfile, parser_file_name, spec_name_prefix)
+       (spec_file_prefix, spec_verbose_file, spec_graph_file)
+       (spec_defines_file): Now const.
+       (dir_prefix): New.
+       (short_base_name): Remove.
+       * src/files.c: Adjust.
+       (dirname.h): Include.
+       (base_name): Don't prototype it.
+       (finput): Remove, duplicates gram_in.
+       (full_base_name, short_base_name): Replace by...
+       (all_but_ext, all_but_tab_ext): these.
+       (compute_base_names): Rename as...
+       (compute_file_name_parts): this.
+       Update to compute the new variables, including dir_prefix.
+       Adjust dependencies.
+       * src/output.c (prepare): Output them.
+       * src/reader.c: Adjust to use gram_in, not finput.
+       * src/scan-skel.l (@dir_prefix@): New.
+
+2005-10-02  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
+
+       * lib/subpipe.c: New function end_of_output_subpipe() added
+       to allow support for non-posix systems. This is a no-op function
+       for posix systems.
+
+       * lib/subpipe.h: New function end_of_output_subpipe() added
+       to allow support for non-posix systems. This is a no-op function
+       for posix systems.
+
+       * src/output.c (output_skeleton): Use end_of_output_subpipe() to
+       handle the lack of pipe/fork functionality on non-posix systems.
+
+       * djgpp/Makefile.maint: DJGPP specific file.
+
+       * djgpp/README.in: DJGPP specific file.
+
+       * djgpp/config.bat: DJGPP specific configuration file.
+
+       * djgpp/config.sed: DJGPP specific configuration file.
+
+       * djgpp/config.site: DJGPP specific configuration file.
+
+       * djgpp/config_h.sed: DJGPP specific configuration file.
+
+       * djgpp/subpipe.c: DJGPP specific replacement file for lib/subpipe.c.
+
+       * djgpp/subpipe.h: DJGPP specific replacement file for lib/subpipe.h.
+
+2005-10-02  Akim Demaille  <akim@epita.fr>
+
+       * data/location.cc: New, extract from...
+       * data/lalr1.cc: here.
+       (location.hh): Include it after the user prologue, in case the
+       filename type is defined by the user.
+       Forward declation location and position before the pre-prologue.
+       (yyresult_): Rename as...
+       (yyresult): this, it's a local variable, not an attribute.
+       * data/Makefile.am (dist_pkgdata_DATA): Adjust.
+
+2005-10-01  Akim Demaille  <akim@epita.fr>
+
+       * examples/extexi: Restore the #line generation.
+
+2005-09-30  Akim Demaille  <akim@epita.fr>,
+           Alexandre Duret-Lutz <adl@gnu.org>
+
+       Move the token type and YYSTYPE in the parser class.
+       * data/lalr1.cc (stack.hh, location.hh): Include earlier.
+       (parser::token): New, from the moved free definition of tokens.
+       (parser::semantic_value): Now a full definition instead of an
+       indirection to YYSTYPE.
+       (b4_post_prologue): No longer included in the header file, but
+       in the implementation file.
+       * doc/bison.texi (C+ Language Interface): Update.
+       * src/parse-gram.y: Support unary %define.
+       * tests/actions.at: Define global_tokens_and_yystype for backward
+       compatibility until we update the tests.
+       * tests/calc.at: Idem.
+       (first_line, first_column, last_line, last_column): Define for lalr1.cc
+       to simplify the code.
+
+2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to SunOS 4.1.4, which lacks strtoul and strerror.
+       Ah, the good old days!  Problem reported by Peter Klein.
+       * bootstrap (gnulib_modules): Add strerror, strtoul.
+       * lib/.cvsignore: Add strerror.c, strtol.c, strtoul.c
+       * m4/.cvsignore: Add strerror.m4, strtol.m4, strtoul.m4.
+
+2005-09-29  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_error_verbose_if): New.
+       * data/lalr1.cc: Use it.
+       (YYERROR_VERBOSE_IF): Remove.
+       (yyn_, yylen_, yystate_, yynerrs_, yyerrstatus_): Remove as
+       parser members, replaced by...
+       (yyn, yylen, yystate, yynerss, yyerrstatus): these parser::parse
+       local variables.
+       (yysyntax_error_): Takes the state number as argument.
+       (yyreduce_print_): Use the argument yyrule, not the former
+       attribute yyn_.
+
+2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (gnulib_modules): Add verify.
+       * lib/.cvsignore: Add verify.h.
+       * src/getargs.c: Use ARGMATCH_VERIFY rather than verify.
+       * src/system.h (verify): Remove.
+       Include verify.h instead.
+       * src/tables.c (tables_generate): Use new API for 'verify'.
+
+2005-09-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Do not use
+       local variables whose names begin with 'yy'.
+       * tests/calc.at (_AT_DATA_CALC_Y): Likewise.
+       Trivial changes from Joel E. Denny.
+
+       * bootstrap (gnulib_modules): Remove alloca.  Bison doesn't need
+       it itself.
+       * src/main.c (main) [C_ALLOCA]: Don't flush alloca'ed memory; we
+       don't use alloca any more.
+
+       * data/yacc.c [YYSTACK_USE_ALLOCA && !defined __GNUC__ && ! defined
+       __BUILTIN_VA_ARG_INCR && ! defined _AIX && ! defined _MSC_VER &&
+       defined _ALLOCA_H]: Don't include <stdlib.h>; not needed in this case.
+       * tests/torture.at (Exploding the Stack Size with Alloca): Adjust
+       to match yacc.c, to test more hosts.
+
+2005-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (YYSIZE_T): Reindent to make it clearer.  This
+       doesn't affect behavior.
+       (YYSTACK_ALLOC) [YYSTACK_USE_ALLOCA]: Improve support for
+       Solaris, AIX, MSC.
+       (_STDLIB_H): Renamed from YYINCLUDED_STDLIB_H.  All uses changed.
+       This works a bit better with glibc, if user code has already included
+       stdlib.h.
+       * doc/bison.texinfo (Bison Parser): Document that users can't
+       arbitrarily use malloc and free for other purposes.  Document
+       that <alloca.h> and <malloc.h> might be included.
+       (Table of Symbols): Under YYSTACK_USE_ALLOCA, Don't claim that the
+       user must declare alloca.
+
+       * HACKING (release): Forwarn the Translation Project about
+       stable releses.
+
+2005-09-20  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c: Use b4_token_enums, not b4_token_enums_defines.
+
+2005-09-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (YYSIZE_MAXIMUM): New macro.
+       (YYSTACK_ALLOC_MAXIMUM): Use it.
+       (yysyntax_error): New function.
+       (yyparse) [YYERROR_VERBOSE]: Don't leak memory indefinitely if
+       multiple syntax errors are reported, and alloca is being used.
+       Instead, reallocate buffers twice as big each time, so that
+       we waste at most half the allocated memory.  Start with a small
+       (128-byte) buffer that will suffice in most cases anyway.
+       Use yysyntax_error to do most of the work.
+
+       * doc/bison.texinfo (Error Reporting, Table of Symbols):
+       yynerrs is the number of errors reported, not the number of
+       errors encountered.
+
+       * tests/glr-regression.at (Duplicated user destructor for lookahead):
+       Mark it as expected to fail.
+       Cast result of malloc; problem reported by twlevo@xs4all.nl.
+       * tests/actions.at, tests/calc.at, tests/glr-regression.at:
+       Don't start user-code symbols with "yy", to avoid name space problems.
+
+2005-09-19  Akim Demaille  <akim@epita.fr>
+
+       Remove the traits, failed experiment.
+       It never proved useful, and anyway because of the current
+       definition, it was not possible to have several specialization of
+       this traits, making it useless.
+       * data/lalr1.cc (yy:traits): Remove.
+       Inline its definitions in the parser class.
+
+2005-09-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/atlocal.in (LIBS): Pass INTLLIBS to address failures on at
+       least Mac OSX with a /usr/local install of gettext.
+
+2005-09-19  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (yyparse): Rename yylooka and yyilooka as yychar
+       and yytoken for similarity with the other skeletons.
+
+2005-09-19  Akim Demaille  <akim@epita.fr>
+
+       * NEWS, configure.ac: update version number to 2.1a.
+
+2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.1.
+
+       * NEWS: Remove notice of yytname change, since it was never in an
+       official release.
+       * data/glr.c (yydestroyGLRState): Rename local var to avoid shadowing
+       diagnostic.
+       * src/output.c (prepare): Likewise.
+       * data/lalr1.cc (YYERROR_VERBOSE_IF): New macro.
+       (yysyntax_error_): Use it to avoid GCC warning when YYERROR_VERBOSE
+       is not defined.  This is an awful hack, but it's enough for now.
+       All callers changed.
+       * tests/glr-regression-at (make_value): Args are const pointers now,
+       to avoid GCC warning.
+       (Duplicated user destructor for lookahead): New test.  Currently
+       skipped.  It fails on my host but I'm not sure it'll always fail.
+
+2005-09-16  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h (struct symbol): Declare the printer and destructor
+       as const, to avoid accidental calls to free.
+       (symbol_destructor_set, symbol_printer_set): Adjust.
+       * src/symtab.c: Adjust.
+
+2005-09-16  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_token_enums): New.
+       (b4_token_defines): Rename as...
+       (b4_token_enums_defines): this.
+       (b4_token_defines): New, output only the #defines.
+       * data/yacc.c, data/glr.c: Adjust.
+       * data/lalr1.cc: Use b4_token_enums instead of b4_token_enums_defines.
+       * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Define
+       as default values.
+
+2005-09-16  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (yylex_): Remove, inline its code.
+       (yyreport_syntax_error_): Remove, replaced by...
+       (yysyntax_error_): this which returns a string and leaves to the
+       caller the call to the users' error function.
+       (yylooka_, yyilooka_, yylval, yylloc, yyerror_range_, yyval, yyloc):
+       Move from members of the parser object...
+       (yylooka, yyilooka, yylval, yylloc, yyerror_range, yyval, yyloc):
+       to local variables of the parse function.
+
+2005-09-16  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Calc++ Parser): Don't promote defining YYEOF
+       since it's in Bison's name space.
+
+2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyresolveValue): Add default case to pacify
+       gcc -Wswitch-default.  Problem reported by twlevo@xs4all.nl.
+
+       * NEWS: Document when yyparse started to return 2.
+       * doc/bison.texinfo (Parser Function): Document when yyparse
+       returns 2.
+
+       * data/lalr1.cc: Revert part of previous change, as it's incompatible.
+       (b4_filename_type): Renamed back from b4_file_name_type.  All uses
+       changed.
+       (class position): file_name -> filename (reverting).  All uses changed.
+
+2005-09-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * examples/calc++/Makefile.am ($(calc_sources_generated)): Don't
+       do anything if $@ exists.  This reverts part of the 2005-07-07
+       patch.
+
+2005-09-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * Makefile.am (EXTRA_DIST): Do not distribute REFERENCES; it
+       contains obsolete information and isn't worth distributing as a
+       separate file anyway.
+       * data/glr.c [defined YYSETJMP]: Don't include <setjmp.h>.
+       (YYJMP_BUF, YYSETJMP, YYLONGJMP) [!defined YYSETJMP]: New macros.
+       All uses of jmp_buf, setjmp, longjmp changed to use these instead.
+       (yyparse): Abort if user code uses longjmp to throw an unexpected
+       value.
+
+2005-09-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_identification): Define YYBISON_VERSION.
+       Suggested by twlevo@xs4all.nl.
+
+       * data/glr.c (YYCHK1): Do not assume YYE is in range.
+       This avoids a diagnostic from gcc -Wswitch-enum.
+       Problem reported by twlevo@xs4all.nl.
+
+       * doc/bison.texinfo: Don't use "filename", as per GNU coding
+       standards.  Use "file name" or "file" or "name", depending on
+       the context.
+       (Invocation): The output of "bison hack/foo.y" goes to foo.tab.c,
+       not to hack/foo.tab.c.
+       (Calc++ Top Level): 2nd arg of main is not const.
+       * data/glr.c: b4_filename -> b4_file_name.
+       * data/lalr1.cc: Likewise.  Also, b4_filename_type -> b4_file_name_type.
+       All uses changed.
+       (class position): filename -> file_name.  All uses changed.
+       * data/yacc.c: b4_filename -> b4_file_name.
+       * lib/bitset.h: filename -> file_name in local vars.
+       * lib/bitset_stats.c: Likewise.
+       * src/files.c: Likewise.
+       * src/scan-skel.l ("@output ".*\n): Likewise.
+       * src/files.c (file_name_split): Renamed from filename_split.
+       * src/muscle_tab.c (muscle_init): Output b4_file_name, not b4_filename.
+
+2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/.cvsignore: Add pipe-safer.c, stdio--.h, unistd--.h,
+       to accommodate latest gnulib.
+
+       * tests/glr-regression.at (Duplicate representation of merged trees):
+       Add casts to pacify g++.  Problem reported by twlevo@xs4all.nl.
+
+       * bootstrap: Add comment as to why the AM_LANGINFO_CODESET hack is
+       needed.
+
+2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yydestroyGLRState): Renamed from yydestroyStackItem.
+       All uses changed.  Invoke user destructor after an error during a
+       split parse (trivial change from Joel E. Denny).
+
+       * tests/glr-regression.at
+       (User destructor after an error during a split parse):  New test case.
+       Problem reported by Joel E. Denny in:
+       http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00029.html
+
+2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * README-cvs: Give URLs for recommended tools.
+       Mention Gzip version problem, and bootstrapping issues.
+       Remove troubleshooting section, as it's somewhat obsolete.
+
+       * bootstrap (no_cache): New var, to accommodate different wget
+       variants.  Use it instead of '-C off'.  Problem reported by
+       twlevo@xs4all.nl.
+
+       * data/glr.c (yydestroyStackItem): New function.
+       (yyrecoverSyntaxError, yyreturn): Use it to improve quality of
+       debugging information.  Problem reported by Joel E. Denny.
+
+2005-08-25  Akim Demaille  <akim@epita.fr>
+
+       * tests/local.at (AT_COMPILE_CXX): Pass $LINKS too.
+
+2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyrecoverSyntaxError, yyreturn):
+       Don't invoke destructor on unresolved entries.
+       * tests/glr-regression.at
+       (User destructor for unresolved GLR semantic value): New test case.
+       Problem reported by Joel E. Denny in:
+       http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00016.html
+
+2005-08-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/.cvsignore: Remove realloc.c, strncasecmp.c, xstrdup.c.
+       Add strnlen.c.
+       * m4/.cvsignore: Remove codeset.m4, gettext.m4, lib-ld.m4,
+       lib-prefix.m4, po.m4.
+
+       * data/glr.c (yyreturn): Use "Cleanup:" rather than "Error:"
+       in yydestruct diagnostic, since it might not be an error.
+       Problem reported by Joel Denny near end of
+       <http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
+       * data/lalr1.cc (yyerturn): Likewise.
+       * data/yacc.c (yyreturn): Likewise.
+       * tests/calc.at (_AT_CHECK_CALC_ERROR): Adjust to the above change.
+
+       * src/files.c: Remove obsolete FIXME comment.
+
+       * data/glr.c (YY_SYMBOL_PRINT): Append a newline, for consistency
+       with the other templates, and to fix bogus run-on messages such
+       as the one reported at the end of
+       <http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
+       All callers changed to avoid the newline.
+       (yyprocessOneStack): Output two lines rather than one, to accommodate
+       the above change.  This changes the debug output format slightly.
+
+       * data/glr.c (yyresolveValue): Fix redundant parse tree problem
+       reported by Joel E. Denny in
+       <http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00004.html>
+       (trivial change).
+       * tests/glr-regression.at (Duplicate representation of merged trees):
+       New test, from Joel E. Denny in:
+       <http://lists.gnu.org/archive/html/help-bison/2005-07/msg00013.html>.
+       * THANKS: Add Joel E. Denny.
+
+       * configure.ac (AC_INIT): Bump to 2.0c.
+
+2005-07-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.0b.
+
+       * Makefile.am (SUBDIRS): Put examples before tests, so that
+       "make check" doesn't finish with "All 1 tests passed".
+
+       * tests/regression.at (Token definitions): Don't rely on
+       AT_PARSER_CHECK for data that contains backslashes.  It currently
+       uses 'echo', and 'echo' isn't portable if its argument contains
+       backslashes.  Problem found on OpenBSD 3.4.  Also, do not assume
+       that the byte '\0xff' is not printable in the C locale; it is,
+       under OpenBSD 3.4 (!).  Luckily, '\0x80' through '\0x9e' are
+       not printable, so use '\0x81' to test.
+
+       * data/glr.c (YYOPTIONAL_LOC): Define even if it's not a recent
+       version of GCC, since the macro is used with non-GCC compilers.
+
+       Fix core dump reported by Pablo De Napoli in
+       <http://lists.gnu.org/archive/html/bug-bison/2005-07/msg00053.html>.
+       * tests/regression.at (Invalid inputs with {}): New test.
+       * src/parse-gram.y (token_name): Translate type before using
+       it as an index.
+
+       * data/glr.c (ATTRIBUTE_UNUSED): Remove, since it infringes on
+       the user's name space.  All uses changed to __attribute__
+       ((__unused__)).
+       (yyFail, yyMemoryExhausted, yyreportAmbiguity):
+       Add __attribute__ ((__noreturn__)).
+
+       * etc/clcommit: Remove.  We weren't using it, and it failed
+       "make maintainer-distcheck".
+       * Makefile.maint: Merge from coreutils.
+       (CVS_LIST, CVS_LIST_EXCEPT): New macros.
+       (syntax-check-rules): Change list of rules as described below.
+       (sc_cast_of_alloca_return_value, sc_dd_max_sym_length):
+       (sc_file_system, sc_obsolete_symbols, sc_prohibit_atoi_atof):
+       (sc_prohibit_jm_in_m4, sc_root_tests, sc_tight_scope):
+       (sc_trailing_space): New rules.
+       (sc_xalloc_h_in_src): Remove.
+       (sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value):
+       (sc_space_tab, sc_error_exit_success, sc_changelog):
+       (sc_system_h_headers, sc_sun_os_names, sc_unmarked_diagnostics):
+       (makefile-check, po-check, author_mark_check):
+       (makefile_path_separator_check, copyright-check):
+       Use grep -n, to make it easier to find violations.
+       Use CVS_LIST and CVS_LIST_EXCEPT.
+       (header_regexp, h_re): Remove.
+       (dd_c): New macro.
+       (sc_dd_max_sym_length, .re-list, news-date-check): New rules.
+       (my-distcheck): Use more-modern GCC flags.
+       (signatures, %.asc): Remove.
+       (rel-files, announcement): Remove signatures.
+       Restore old updating code, even though we don't use it, so
+       that we're the same as coreutils.
+       (alpha, beta, major): Depend on news-date-check.
+       Make the upload commands.
+
+       * data/c.m4, data/lalr1.cc, data/yacc.c: Normalize white space.
+       * lib/abitset.h, lib/bbitset.h, lib/bitset.h: Likewise.
+       * lib/bitset_stats.c, lib/ebitset.h, lib/lbitset.c: Likewise.
+       * lib/libitset.h, lib/timevar.c, lib/vbitset.h: Likewise.
+       * src/Makefile.am, src/gram.c, src/muscle_tab.h: Likewise.
+       * src/parse-gram.y, src/system.h, src/tables.c, src/vcg.c: Likewise.
+       * src/vcg_defaults.h, tests/cxx-type.at, tests/existing.at: Likewise.
+       * tests/sets.at: Likewise.
+
+       * data/m4sugar/m4sugar.m4: Sync from Autoconf, except that
+       we comment out the Autoconf version number.
+       * doc/bison.texinfo (Calc++ Scanner): Don't use atoi, as
+       it's error-prone and "make maintainer-distcheck" rejects it.
+
+       * lib/subpipe.c: Include <fcntl.h> without checking for HAVE_FCNTL_H.
+       Indent calls to "error" to pacify "make maintainer-distcheck",
+       when the calls are not intended to be translated.
+       * m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't check for fcntl.h.
+
+       * src/Makefile.am (DEFS): Use +=, to pacify
+       "make maintainer-distcheck".
+       (bison_SOURCES): Add scan-skel.h.
+       (sc_tight_scope): New rule, from coreutils.
+
+       * src/files.c (src_extension, header_extension):
+       Now static, not extern.
+       * src/getargs.c (short_options): Likewise.
+       * src/muscle_tab.c (muscle_table): Likewise.
+       * src/parse-gram.y (current_class, current_type, current_prec):
+       Likewise.
+       * src/reader.c (grammar_end, previous_rule_end): Likewise.
+       * src/getargs.h: Redo comments to pacify "make maintainer-distcheck".
+       * src/main.c (main): Cast bindtextdomain and textdomain calls to
+       void, to avoid warning when NLS is disabled.
+       * src/output.c: Include scan-skel.h.
+       (scan_skel): Remove decl, since scan-skel.h does this.
+       (output_skeleton):
+       Indent calls to "error" to pacify "make maintainer-distcheck".
+       * src/print_graph.c: Don't include <obstack.h>, as system.h does this.
+       * src/reader.h (gram_end, gram_lineno): New decls to pacify
+       "make maintainer-distcheck".
+       * src/scan-skel.l (skel_lex, skel_get_lineno, skel_get_in):
+       (skel_get_out, skel_get_leng, skel_get_text, skel_set_lineno):
+       (skel_set_in, skel_set_out, skel_get_debug, skel_set_debug):
+       (skel_lex_destroy, scan_skel): Move these decls to...
+       * src/scan-skel.h: New file.
+       * src/uniqstr.c (uniqstr_assert):
+       Indent calls to "error" to pacify "make maintainer-distcheck".
+
+       * tests/Makefile.am ($(srcdir)/package.m4): Use $(VAR),
+       not @VAR@.
+
+       * tests/torture.at: Revamp to avoid misuse of atoi that
+       "make maintainer-distcheck" complained about.
+
+       * examples/extexi (message): Don't print a message more than once,
+       and omit line-number decoration that makes Emacs compile think
+       that informative messages are worth worrying about.
+
+2005-07-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * configure.ac: Update version number.
+
+       * Makefile.am (SUBDIRS): Add examples; somehow this got removed
+       accidentally.
+       * examples/calc++/calc++-parser.yy: Remove from CVS, as it's
+       autogenerated by the maintainer.
+       * examples/calc++/.cvsignore: Add *.yy.
+
+       * lib/bitset.c (bitset_alloc): Don't cast xcalloc result.
+       * lib/bitset_stats.c (bitset_stats_init): Likewise.
+       * lib/bitsetv.c (bitsetv_alloc): Likewise.
+
+       * po/POTFILES.in: Add lib/xalloc-die.c; remove lib/xmalloc.c.
+
+       * src/relation.c (relation_transpose): Rewrite to avoid bogus complaint
+       from maintainer-distcheck about casting the argument of 'free'.
+
+       * NEWS: Mention recent yytname changes.
+       * THANKS: Add Anthony Heading, twlevo@xs4all.nl.
+
+       * bootstrap: For translations that have not yet been upgraded to
+       the new runtime-po domain, prime the pump by extracting the
+       relevant strings from the obsolete translations.  This code can be
+       removed once the bison-runtime domain has been translated by each
+       team.
+
+       * src/scan-gram.l (<SC_PRE_CODE>.): Don't double-quote token names,
+       now that token names are already quoted.
+
+       Fix problem reported by Anthony Heading.
+       * data/glr.c (YYTOKEN_TABLE): New macro.
+       (yytname): Define if YYTOKEN_TABLE.
+       * data/yacc.c (YYTOKEN_TABLE, yytname): Likewise.
+       * data/lalr1.cc (YYTOKEN_TABLE, yytname_): Likewise.
+       (YYERROR_VERBOSE): Define the same way the other skeletons do.
+       * src/output.c (prepare_symbols): Output token_table_flag.
+
+2005-07-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyinitGLRStack, yyreturn): Don't call malloc
+       again if the first call fails.
+
+       * data/glr.c (yytnamerr): New function.
+       (yyreportSyntaxError): Use it to dequote most string literals.
+       * data/lalr1.c (yytname_): Renamed from yyname_, for compatibility
+       with other skeletons.  All uses changed.
+       (yytnameerr_): New function.
+       (yyreport_syntax_error): Use it to dequote most string literals.
+       * data/yacc.c (yytnamerr): New function.
+       (yyerrlab): Use it to decode most string literals.
+       * doc/bison.texinfo (Decl Summary, Calling Convention):
+       Clarify quoting convention of yytname.
+       * src/output.c (prepare_symbols): Quote all names.  This undoes
+       the 2005-04-17 change, which is now accomplished (mostly) via
+       changes in the parsers as described above.
+       * tests/regression.at (Token definitions, Web2c Actions):
+       Undo most 2005-04-17 change here, too.
+
+2005-07-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix more problems reported by twlevo@xs4all.nl.
+       * tests/cxx-type.at: Don't pipe output of ./types through sed to
+       remove trailing spaces.  This loses the exit status of ./types,
+       and isn't needed since ./types shouldn't be emitting trailing
+       spaces.
+       * data/glr.c (yyreturn): Don't pop stack if yyinitStateSet failed,
+       as the stack isn't valid in that case.
+
+       * src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
+       (gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
+       (gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
+       Add declarations to pacify "gcc -Wmissing-prototypes" when flex 2.5.31
+       is used.
+       * src/scan-skel.l (skel_get_lineno, skel_get_in, skel_get_out):
+       (skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
+       (skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
+       Likewise.
+
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Work even with
+       overly-picky compilers that reject 'char *foo = "bar";'.
+
+       * src/symtab.c (SYMBOL_ATTR_PRINT, symbol_print): Direct output
+       to FILE * parameter, not to stderr.  This fixes a typo introduced
+       in the 2005-07-12 change.
+
+       * lib/subpipe.c (create_subpipe): Rewrite slightly to avoid
+       warnings from GCC 4.
+
+       * data/glr.c (yyexpandGLRStack, yyaddDeferredAction, yyexpandGLRStack):
+       (yyglrShiftDefer, yysplitStack):
+       Remove unused parameters b4_pure_formals.  All uses changed.
+       (yyglrShift): Remove unused parameters b4_user_formals.
+       All uses changed.
+       (yyglrReduce): Removed unused parameter yylocp.  All uses changed.
+
+2005-07-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Destructor cleanups and regularization among the three skeletons.
+       * NEWS: Document the behavior changes.
+       * data/glr.c (yyrecoverSyntaxError): Don't bother to pop the
+       stack before failing, as the cleanup code will do it for us now.
+       * data/lalr1.cc (yyerrlab): Likewise.
+       * data/glr.c (yyparse): Pop everything off the stack before
+       freeing it, so that destructors get called properly.
+       * data/lalr1.cc (yyreturn): Likewise.
+       * data/yacc.c (yyreturn): Pop and destroy the start symbol, too.
+       This is more consistent.
+       * doc/bison.texinfo (Destructor Decl): Mention more reasons
+       why destructors might be called.  1.875 -> 2.1.
+       (Destructor Decl, Decl Summary, Table of Symbols):
+       Some English-language cleanups for %destructor.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
+       Add output line for destructor of start symbol.
+       * tests/calc.at (AT_CHECK_CALC): Add one to line counts,
+       because of that same extra output line.
+
+       * NEWS: Document minor wording changes in diagnostics of
+       Bison-generated parsers.
+       * data/glr.c (yyMemoryExhausted): Renamed from yyStackOverflow.
+       Remove unused formals.  All uses changed.
+       (yyreportAmbiguity): "ambiguity detected" -> "syntax is ambiguous".
+       (yyparse): Rename yyoverflowlab to yyexhaustedlab.
+       * data/yacc.c (yyparse): "parser stack overflow" -> "memory exhausted".
+       Rename yyoverflowab to yyexhaustedlab.
+       When memory exhaustion occurs during syntax-error reporting,
+       report it separately rather than in a single diagnostic; this
+       eases translation.
+       * doc/bison.texinfo (Memory Management): Renamed from Stack Overflow.
+       (Memory Exhausted): Renamed from Parser Stack Overflow.
+       Revamp wording slightly to prefer "memory exhaustion".
+       * tests/actions.at: "parser stack overflow" -> "memory exhausted".
+
+       * data/c.m4 (b4_yysymprint_generate): Use YYFPRINTF, not fprintf.
+
+       Add i18n support to the GLR skeleton.  Partially fix the C++
+       skeleton; a C++ expert needs to finish this.  Remove debugging
+       msgids; there's little point to having them translated, since they
+       can be understood only by someone who can read the
+       (English-language) source code.
+
+       Generate runtime-po/bison-runtime.pot automatically, so that we
+       don't have to worry about garbage getting in that file.  We'll
+       make sure after the next official release that old msgids don't
+       get lost.  See
+       <http://lists.gnu.org/archive/html/bison-patches/2005-07/msg00119.html>.
+
+       * runtime-po/Makefile.in.in, runtime-po/bison-runtime.pot: Remove.
+       Now auto-generated.
+       * PACKAGING: Don't claim that Gawk, GCC, Perl use this method yet.
+       Fix typos in explanations of the runtime file.
+       * bootstrap: Change gettext keyword from YYI18N to YY_.
+       Use standard Makefile.in.in in runtime-po, since we'll arrange
+       for backward-compatible bison-runtime.po files in a different way.
+       * data/glr.c (YY_): New macro, from yacc.c.
+       (yyuserAction, yyreportAmbiguity, yyreportSyntaxError, yyparse):
+       Translate messages intended for users.
+       (yyreportSyntaxError): Change "virtual memory" to "memory" to match
+       the wording in the other skeletons.  We don't know that the memory
+       is virtual.
+       * data/lalr1.cc (YY_): Renamed from _.  All uses changed.
+       Use same method that yacc.c uses.
+       Don't translate debugging messages.
+       (yy::yyreport_syntax_error): Put in a FIXME for the i18n stuff;
+       it doesn't work (yet), and requires C++ expertise to fix.
+       * data/yacc.c (YY_): Renamed from YY18N.  All uses changed.
+       Move defn to a more logical place, to be consistent with other
+       skeletons.
+       Don't translate debugging messages.
+       Don't assume line numbers fit in unsigned int; use unsigned long fmts.
+       * doc/bison.texinfo: Mention <libintl.h>.  Change glibc cross reference
+       to gettext cross reference.  Add indexing terms.  Mention YYENABLE_NLS.
+       * runtime-po/POTFILES.in: Add data/glr.c, data/lalr1.cc.
+
+       Fix yyerror / yylex test glitches noted by twlevo@xs4all.nl.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Have yyerror return
+       void, not int.
+       * tests/glr-regression.at (Badly Collapsed GLR States):
+       Likewise.
+       (Improper handling of embedded actions and dollar(-N) in GLR parsers):
+       yylex should return 0 at EOF rather than aborting.
+
+       Improve tests for stack overflow in GLR parser.
+       Problem reported by twlevo@xs4all.nl.
+       * data/glr.c (struct yyGLRStack): Remove yyerrflag member.
+       All uses removed.
+       (yyStackOverflow): Just longjmp, but with value 2 so that caller
+       can handle the problem.
+       (YYCHK1): Use goto (a la yacc.c) rather than setting a flag.
+       (yyparse): New local variable yyresult to record the result.
+       Use result of setjmp to set it, rather than storing itinto
+       struct.
+       (yyDone): Remove label.
+       (yyacceptlab, yyabortlab, yyoverflowlab, yyreturn): New labels,
+       to mimic yacc.c.  Do not discard lookahead if it's EOF (possible
+       if YYABORT is used).
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Exit with
+       yyparse status; put status > 1 into diagnostic.
+       Check that status==2 works.
+       * tests/calc.at, tests/cxx-type.at, tests/glr-regression.at:
+       Use exit status 3 for failure to open (which shouldn't happen).
+
+2005-07-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/conflicts.at (%nonassoc and eof):  Don't exit with status
+       1 on syntax error; just let yyparse do its thing.
+       * tests/glr-regression.at (Badly Collapsed GLR States): Likewise.
+       * tests/torture.at (AT_DATA_STACK_TORTURE): Likewise.
+       (Exploding the Stack Size with Alloca):
+       (Exploding the Stack Size with Malloc):
+       Expect exit status 2, not 1, since the parser is supposed to blow
+       its stack.  Problem reported by twlevo@xs4all.nl.
+
+       * data/glr.c (yyparse): Don't assume that the initial calls
+       to YYMALLOC succeed; in that case, yyparse incorrectly returned 0.
+       Print a stack-overflow message and fail instead.
+       Initialize the line-number information before creating the stack,
+       so that the stack-overflow message can report line zero safely.
+
+2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problems reported by twlevo@xs4all.nl.
+       * data/glr.c (YYSTACKEXPANDABLE): Don't define if already defined.
+       (yyuserMerge): Provide a default case if b4_mergers is empty.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Define YYSTACKEXPANDABLE.
+       * tests/glr-regression.at
+       (Improper handling of embedded actions and dollar(-N) in GLR parsers):
+       Add casts to pacify C++ compilers.
+       * tests/glr-regression.at (Improper merging of GLR delayed action
+       sets): Declare yylex before using it.
+       * tests/Makefile.am (maintainer-check-g++): Fix a stray
+       $(GXX) that escaped the renaming of GXX to CXX.  Remove bogus
+       test for valgrind; valgrind is independent of g++.
+       (maintainer-check-posix): Add _POSIX2_VERSION=200112, to check
+       for compatibility with POSIX 1003.1-2001 (if running coreutils).
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Port to stricter C++.
+       Use a destructor, so that we can expand the stack.  Change
+       YYSTYPE to char * so that we can free it.  Cast result of malloc.
+
+2005-07-13  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+       * data/glr.c (yyuserAction): Fix uninitialized variable that caused
+       a valgrind failure.  Problem reported by twlevo@xs4all.nl.
+
+2005-07-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * PACKAGING: New file, suggested by Bruno Haible and taken from
+       similar wording in gettext's PACKAGING file.
+       * NEWS: Mention PACKAGING.
+       * Makefile.am (EXTRA_DIST): Add PACKAGING.
+
+2005-07-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Document recent i18n improvements.
+       * bootstrap: Get runtime translations into runtime-po.
+       Create runtime-po files automatically, if possible.
+       * configure.ac: Invoke BISON_I18N, so that we eat our own dog food.
+       * data/yacc.c: Rewrite inclusion of <libintl.h> so that ENABLE_NLS
+       does not infringe on the user's name space.
+       (YYENABLE_NLS): Renamed from ENABLE_BISON_NLS.
+       * doc/bison.texinfo (Internationalization): Revamp the English
+       and Texinfo syntax a bit, to try to make it clearer.
+       (Bison Options, Option Cross Key): Mention --print-localedir.
+       * m4/bison-i18n.m4 (BISON_I18N): Rename ENABLE_BISON_NLS to
+       YYENABLE_NLS.  Quote a bit more.
+       * runtime-po/.cvsignore: New file.
+       * runtime-po/Makefile.in.in (mostlyclean): Remove *.old.pot.
+       * runtime-po/Rules-quot: Remove; now created by bootstrap.
+       * runtime-po/quot.sed: Likewise.
+       * runtime-po/boldquot.sed: Likewise.
+       * runtime-po/en@quot.header: Likewise.
+       * runtime-po/en@boldquot.header: Likewise.
+       * runtime-po/insert-header.sin: Likewise.
+       * runtime-po/remove-potcdate.sin: Likewise.
+       * runtime-po/Makevars: Likewise.
+       * runtime-po/LINGUAS: Likewise.
+       * runtime-po/de.po: Likewise; we will rely on the translation project
+       to maintain this, so "bootstrap" should get it.
+       * src/getarg.c (PRINT_LOCALEDIR_OPTION): Let the C compiler determine
+       its value.
+       * src/main.c (main): Bind the bison-runtime domain, too.
+
+2005-07-12  Bruno Haible  <bruno@clisp.org>
+
+       * data/yacc.c: Include <libintl.h> when NLS is enabled.
+       (YYI18N): Renamed from _. Use dgettext when NLS is enabled.
+       * po/POTFILES.in: Remove autogenerated file src/parse-gram.c.
+       * runtime-po: New directory.
+       * runtime-po/Makefile.in.in: New file, copied from po/, with modified
+       $(DOMAIN).pot-update rule, so that old messages are never dropped.
+       * runtime-po/Rules-quot: New file, copied from po/.
+       * runtime-po/quot.sed: Likewise.
+       * runtime-po/boldquot.sed: Likewise.
+       * runtime-po/en@quot.header: Likewise.
+       * runtime-po/en@boldquot.header: Likewise.
+       * runtime-po/insert-header.sin: Likewise.
+       * runtime-po/remove-potcdate.sin: Likewise.
+       * runtime-po/Makevars: New file.
+       * runtime-po/POTFILES.in: New file.
+       * runtime-po/LINGUAS: New file.
+       * runtime-po/bison-runtime.pot: New file.
+       * runtime-po/de.po: New file.
+       * m4/bison.m4: New file.
+       * Makefile.am (SUBDIRS): Add runtime-po.
+       (aclocaldir, aclocal_DATA): New variables.
+       * configure.ac: Add AC_CONFIG_FILES of runtime-po/Makefile.in.
+       Define aclocaldir.
+       * src/getargs.c (usage): Document --print-localedir option.
+       (PRINT_LOCALEDIR_OPTION): New enum item.
+       (long_options): Add --print-localedir option.
+       (getargs): Handle --print-localedir option.
+       * doc/bison.texinfo (Bison Parser): Remove paragraph about _().
+       (Internationalization): New section.
+
+2005-07-12  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c (symbol_print): Swap the arguments,
+       for consistency with the rest of the code.
+       * src/symlist.h, src/symlist.c (symbol_list_print): Ditto.
+       Add separators.
+
+2005-07-12  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y: Use %printer instead of YYPRINT.
+
+2005-07-12  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c (symbol_print): New.
+       * src/symlist.h, src/symlist.c (symbol_list_print): New.
+       * src/symlist.c (symbol_list_n_type_name_get): Report the culprit.
+
+2005-07-12  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (b4_syncline): Fix (swap) the definitions of
+       b4_at_dollar and b4_dollar_dollar.
+
+2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Mystery Conflicts): Add reference to DeRemer
+       and Pennello's paper.
+
+2005-07-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (yyparse): Undo previous patch.  Instead,
+       set yylsp[0] and yyvsp[0] only if the initial action
+       sets yylloc and yylval, respectively.
+
+       * data/yacc.c (yyparse): In the initial action, set
+       yylsp[0] and yyvsp[0] rather than yylloc and yylval.
+       This avoids the use of undefined variables if the initial
+       action does not set yylloc and/or yylval.
+
+2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * examples/calc++/calc++-driver.cc, examples/calc++/calc++-driver.hh:
+       * examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc:
+       Remove from CVS.  These files are automatically generated.
+       * examples/extexi: Clarify that this file is now part of Bison,
+       not GNU M4, and that it works with any POSIX-compatible Awk.
+       * examples/calc++/Makefile.am (run_extexi): Remove; not used.
+       ($(calc_extracted)): Renamed from $(calc_sources_extracted),
+       so that we also get calc++-parser.yy.  Geneate it.
+       Use $(AWK), not gawk, since any conforming Awk will do.
+       Put comment before action, since older 'make' can't handle comment
+       in action.
+       $(BUILT_SOURCES): List all built sources, not just some of them.
+       $(MAINTAINERCLEANFILES): Remove *.stamp, and all built sources.
+       $($(srcdir)/calc++-parser.stamp): Work even if POSIXLY_CORRECT.
+       $($(calc_sources_generated)): Remove unnecessary test for existence
+       of target.  (This had a shell syntax error anyway; a stray "x".)
+       (calc_extracted): List $(srcdir)/calc++-parser.yy, not
+       calc++-parser.yy.
+       * examples/.cvsignore, examples/calc++/.cvsignore: New files.
+
+       * bootstrap (gnulib_modules): Add gettext, now that it's no longer
+       implied by the other modules.
+
+2005-07-06  Akim Demaille  <akim@epita.fr>
+
+       Bind examples/calc++ to the package.
+       * examples/calc++/Makefile: Remove, replaced by...
+       * examples/calc++/Makefile.am: ... this new file.
+       * examples/calc++/test: Remove input.
+       * examples/calc++/compile: Remove.
+       * examples/Makefile.am: New.
+       * configure.ac, Makefile.am: Adjust.
+       * doc/Makefile.am (clean-local): New, for more recent texi2dvis.
+
+2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyFail): Drastically simplify; since the format argument
+       never had any % directives, we can simply pass it to yyerror.
+       (yyparse): Use "t a; a=b;" rather than "t a = b;" when a will
+       be modified later, as that is the usual style in glr.c.
+       Problems reported by Paul Hilfinger.
+
+       Rewrite GLR parser to catch more buffer overrun, storage exhaustion,
+       and size overflow errors.
+       * data/glr.c: Include <stdio.h> etc. after user prolog, not before,
+       in case the user prolog sets feature-test macros like _GNU_SOURCE.
+       (YYSIZEMAX): New macro.
+       (yystpcpy): New function, taken from yacc.c.
+       (struct yyGLRStack.yyspaceLeft): Now size_t, not int.
+       (yyinitGLRStack, yyfreeGLRstack): Remove unnecessary forward decls,
+       so that we don't have to maintain their signatures.
+       (yyFail): Check for buffer overflow, by using vsnprintf rather
+       than vsprintf.  Allocate a bigger buffer if possible.
+       Report an error if buffer allocation fails.
+       (yyStackOverflow): New function.
+       (yyinitStateSet, yyinitGLRStack): Return a boolean indicating whether
+       the initialization was successful.  It might fail if storage was
+       exhausted.
+       (yyexpandGLRStack): Add more checks for storage allocation failure.
+       Use yyStackOverflow to report failures.
+       (yymarkStackDeleted, yyglrShift, yyglrShiftDefer, yydoAction):
+       (yysplitStack, yyprocessOneStack, yyparse, yypstack):
+       Don't assume stack number fits in int.
+       (yysplitStack): Check for storage allocation failure.
+       (yysplitStack, yyprocessOneStack): Add pure_formals, so that we
+       can print diagnostics on storage allocation failure.  All callers
+       changed.
+       (yyresolveValue): Use yybool for boolean.
+       (yyreportSyntaxError): Check for size-calculation overflow.
+       This code is taken from yacc.c.
+       (yyparse): Check for storage allocation errors when allocating
+       the initial stack.
+
+2005-07-05  Akim Demaille  <akim@epita.fr>
+
+       Extract calc++ from the documentation.
+       * doc/bison.texinfo (Calc++): Add the extraction marks.
+       * examples/extexi: New, from the aborted GNU Programming 2E.
+       Separate the different paragraph of a file with empty lines.
+       * examples/Makefile: Use it to extract the whole calc++ example.
+
+2005-06-24  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (C++ Parser Interface): Use defcv to define
+       class typedefs.
+
+2005-06-22  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (C++ Language Interface): First stab.
+       (C++ Parsers): Remove.
+
+2005-06-22  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (yylex_): Honor %lex-param.
+
+2005-06-22  Akim Demaille  <akim@epita.fr>
+
+       Start a set of simple examples.
+       * examples/calc++/Makefile, examples/calc++/calc++-driver.cc,
+       * examples/calc++/calc++-driver.hh,
+       * examples/calc++/calc++-parser.yy,
+       * examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc,
+       * examples/calc++/compile, examples/calc++/test: New.
+
+2005-06-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (malloc, free) [defined __cplusplus]: Wrap inside
+       extern "C" {}.  This fixes a problem reported by Paul Hilfinger,
+       which stems from the 2005-05-27 patch.
+
+2005-06-06  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+       * data/glr.c: Modify treatment of unused parameters to permit use
+       of g++ (which doesn't allow __attribute__ ((unused)) for parameters).
+
+2005-05-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix infringement on user name space reported by Janos Zoltan Szabo.
+       * data/yacc.c (yyparse): strlen -> yystrlen.
+
+2005-05-30  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (_): New.
+       Translate the various messages.
+
+2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix infringement on user name space reported by Bruno Haible.
+       * data/yacc.c (YYSIZE_T): Define first, so that later decls can use it.
+       Prefer GCC's __SIZE_TYPE__ if available, so that we don't infringe on
+       the user's name space.
+       (alloca): Include <stdlib.h> to get it, if it's not built in.
+       (YYMALLOC, YYFREE): Define only if needed.
+       (malloc, free): Declare, but only if needed, as this infringes on
+       the user name space.
+
+2005-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix BeOS, FreeBSD, MacOS porting problems reported by Bruno Haible.
+       * lib/bitset.c (bitset_print): Don't assume size_t can be printed
+       with %d format.
+       * lib/ebitset.c (min, max): Undef before defining.
+       * lib/vbitset.c (min, max): Likewise.
+       * lib/subpipe.c (create_subpipe): Save local variables in case
+       vfork clobbers them.
+
+2005-05-24  Bruno Haible  <bruno@clisp.org>
+
+       * tests/synclines.at (AT_SYNCLINES_COMPILE): Add support for the
+       error message syntax used by gcc-4.0.
+
+2005-05-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * README: Mention m4 1.4.3.  Remove obsolete advice about
+       Sun Forte Developer 6 update 2, VMS, and MS-DOS.
+
+       * bootstrap: Remove workaround for problem I encountered with
+       gettext 0.14.1; it seems to be fixed now.
+
+2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.0a.
+
+       * src/files.c: Include "stdio-safer.h"; this fixes a typo in
+       the previous change.
+
+       Various maintainer cleanups.
+       * .cvsignore: Add a.exe, a.out, b.out,, conf[0-9]*, confdefs*,
+       conftest*, for benefit of CVS commands run at the same time as
+       "configure".  Add build-aux, since "bootstrap" now creates it and
+       its subfiles.
+       * Makefile.cfg (move_if_change): Remove.
+       * Makefile.maint: Remove the update stuff; we now use "bootstrap".
+       (ftp-gnu, www-gnu, move_if_change, local_updates, update):
+       (po_repo, do-po-update, po-update, wget_files, get-targets):
+       (config.guess-url_prefix, config.sub-url_prefix):
+       (ansi2knr.c-url_prefix, texinfo.tex-url_prefix):
+       (standards.texi-url_prefix, make-stds.texi-url_prefix, taget, url):
+       ($(get-targets), cvs-files, automake_repo, wget-update, cvs-update):
+       Remove.
+       * configure.ac (AC_CONFIG_AUX_DIR): Change from config to build-aux;
+       this is now the recommended name.
+       * config/.cvsignore: Remove config.guess, config.rpath, config.sub,
+       depcomp, install-sh, mdate-sh, missing, mkinstalldirs, texinfo.tex,
+       ylwrap.  These files now go into build-aux.
+       * config/move-if-change: Remove.
+       * config/prev-version.txt: Bump from 1.75 to 2.0.
+
+       * bootstrap: Add stdio-safer, unistd-safer modules.
+       Remove m4/glibc2.m4 (introduced by latest gnulib, but
+       we don't need it).
+       * lib/.cvsignore: Add dup-safer.c, fd-safer.c,
+       fopen-safer.c, stdio-safer.h, unistd-safer.h.
+       * lib/subpipe.c: Include "unistd-safer.h".
+       (create_subpipe): Make sure all the newly-created
+       file descriptors are > 2, so that diagnostics don't
+       get sent down them (which might cause Bison to hang, in theory).
+       * m4/.cvsignore: Add stdio-safer.m4, unistd-safer.m4.
+       * src/files.c (xfopen): Use fopen_safer, not fopen.
+
+       * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Port
+       yesterday's yacc.c fix.
+
+2005-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c, data/lalr1.cc: Update copyright date.
+
+       Fix a destructor bug reported by Wolfgang Spraul in
+       <http://lists.gnu.org/archive/html/bug-bison/2005-05/msg00042.html>.
+       * data/yacc.c (yyabortlab): Don't call destructor, and
+       don't set yychar to EMPTY.
+       (yyoverflowlab): Don't call destructor.
+       (yyreturn): Call destructor, if yychar is neither YYEOF nor YYEMPTY.
+       * tests/calc.at (AT_CHECK_CALC): Expect one fewer output lines,
+       since we no longer output the message "discarding lookahead token
+       end of input ()".
+
+2005-05-20  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+       * data/glr.c (YY_SYMBOL_PRINT): Don't print newline at end to
+       fix a small glitch in debugging output.
+       (yyprocessOneStack, yyrecoverSyntaxError, yyparse): Print newline
+       after YY_SYMBOL_PRINT where needed.
+
+       (struct yyGLRState): Add some comments.
+       (struct yySemanticOption): Add some comments.
+       (union yyGLRStackItem): Add comment.
+
+       (yymergeOptionSets): Correct this to properly perform the union,
+       avoiding infinite reported by Michael Rosien.
+       Update comment.
+
+       * tests/glr-regression.at: Add test for GLR merging error reported
+       by M. Rosien.
+
+2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * COPYING, ChangeLog, GNUmakefile, HACKING, Makefile.am,
+       Makefile.cfg, Makefile.maint, NEWS, README, README-alpha,
+       README-cvs, TODO, bootstrap, configure.ac, data/Makefile.am,
+       data/README, data/c.m4, data/glr.c, data/lalr1.cc, data/yacc.c,
+       data/m4sugar/m4sugar.m4, doc/Makefile.am, doc/bison.texinfo,
+       doc/fdl.texi, doc/gpl.texi, doc/refcard.tex, lib/Makefile.am,
+       lib/abitset.c, lib/abitset.h, lib/bbitset.h, lib/bitset.c,
+       lib/bitset.h, lib/bitset_stats.c, lib/bitset_stats.h,
+       lib/bitsetv-print.c, lib/bitsetv-print.h, lib/bitsetv.c,
+       lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/get-errno.c,
+       lib/get-errno.h, lib/lbitset.c, lib/lbitset.h, lib/libiberty.h,
+       lib/main.c, lib/subpipe.c, lib/subpipe.h, lib/timevar.c,
+       lib/timevar.def, lib/timevar.h, lib/vbitset.c, lib/vbitset.h,
+       lib/yyerror.c, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4, m4/timevar.m4,
+       m4/warning.m4, src/LR0.c, src/LR0.h, src/Makefile.am, src/assoc.c,
+       src/assoc.h, src/closure.c, src/closure.h, src/complain.c,
+       src/complain.h, src/conflicts.c, src/conflicts.h, src/derives.c,
+       src/derives.h, src/files.c, src/files.h, src/getargs.c,
+       src/getargs.h, src/gram.c, src/gram.h, src/lalr.c, src/lalr.h,
+       src/location.c, src/location.h, src/main.c, src/muscle_tab.c,
+       src/muscle_tab.h, src/nullable.c, src/nullable.h, src/output.c,
+       src/output.h, src/parse-gram.c, src/parse-gram.h,
+       src/parse-gram.y, src/print.c, src/print.h, src/print_graph.c,
+       src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c,
+       src/reduce.h, src/relation.c, src/relation.h, src/scan-gram.l,
+       src/scan-skel.l, src/state.c, src/state.h, src/symlist.c,
+       src/symlist.h, src/symtab.c, src/symtab.h, src/system.h,
+       src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h,
+       src/vcg.c, src/vcg.h, src/vcg_defaults.h, tests/Makefile.am,
+       tests/actions.at, tests/c++.at, tests/calc.at, tests/conflicts.at,
+       tests/cxx-type.at, tests/existing.at, tests/glr-regression.at,
+       tests/headers.at, tests/input.at, tests/local.at, tests/output.at,
+       tests/reduce.at, tests/regression.at, tests/sets.at,
+       tests/synclines.at, tests/testsuite.at, tests/torture.at:
+       Update FSF postal mail address.
+
+2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/local.at (AT_COMPILE_CXX): Treat LDFLAGS like AT_COMPILE does.
+       Problem reported by Ralf Menzel.
+
+2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/actions.at: Test that stack overflow invokes destructors.
+       From Marcus Holland-Moritz.
+       * data/yacc.c (yyerrlab): Move the code that destroys the stack
+       from here....
+       (yyreturn): to here.  That way, destructors are called properly
+       even if the stack overflows, or the user calls YYACCEPT or
+       YYABORT.  Stack-overflow problem reported by Marcus Holland-Moritz.
+       (yyoverflowlab): Destroy the lookahead.
+
+2005-04-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (YYSTACK_ALLOC_MAXIMUM): Add more-descriptive comment.
+
+2005-04-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Bison-generated C parsers no longer quote literal strings
+       associated with tokens.
+       * src/output.c (prepare_symbols): Don't escape strings,
+       since users don't want to see C escapes.
+       * tests/calc.at (AT_CHECK_CALC): Adjust to lack of quotes
+       in diagnostics.
+       * tests/input.at (Torturing the Scanner): Likewise.
+       * tests/regression.at (Token definitions, Web2c Actions): Likewise.
+
+2005-04-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/torture.at (AT_INCREASE_DATA_SIZE): Skip the test if
+       the data size is known to be too small and we can't increase it.
+       This works around an HP-UX 11.00 glitch reported by Andrew Benham.
+
+2005-04-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/parse-gram.y: Include quotearg.h.
+       (string_as_id): Quote $1 before using it as a key, since the
+       lexer no longer quotes it for us.
+       (string_content): Don't strip quotes, since lexer no longer
+       quotes it for us.
+       * src/scan-gram.l: Include quotearg.h.
+       ("\""): Omit quote.
+       ("'"<SC_ESCAPED_CHARACTER>): Quote symbol before using it as
+       a key, since the rest of the lexer doesn't quote it.
+       * src/symtab.c (symbol_get): Don't quote symbol; caller does it now.
+       * tests/regression.at (Token definitions): Check for backslashes
+       in token strings.
+
+       * data/yacc.c (YYSTACK_ALLOC_MAXIMUM): New macro.
+       (YYSIZE_T): Define to unsigned long int when using an older compiler.
+       (yyparse): Revamp code to generate long syntax error message, to
+       make it easier to translate, and to avoid problems with arithmetic
+       overflow.  Change "virtual memory" to "memory" in diagnostic, since
+       we don't know whether the memory is virtual.
+
+2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Bison-generated C parsers now use the _ macro to
+       translate strings.
+       * data/yacc.c (_) [!defined _]: New macro.
+       All English strings wrapped inside this macro.
+       * doc/bison.texinfo (Bison Parser): Document _.
+       * po/POTFILES.in: Include src/parse-gram.c, since it now
+       includes translateable strings that parse-gram.y doesn't.
+
+2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/symtab.c (symbol_make_alias): Call symbol_type_set,
+       reverting the 2004-10-11 change to this function.
+       (symbol_check_alias_consistency): Don't call symbol_type_set
+       if the type name is already correct.
+       * tests/input.at (Typed symbol aliases): New test, from Tim Van Holder.
+
+2005-03-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/regression.at (Token definitions): Don't use a token named
+       c, as that generates a "#define c ..." that runs afoul of buggy
+       stdlib.h that uses the identifier c as a member of struct
+       drand48_data.  Problem reported by Horst Wente.
+
+2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap: Change translation URL from
+       http://www2.iro.umontreal.ca/~gnutra/po/maint/bison/ to
+       http://www.iro.umontreal.ca/translation/maint/bison/ to avoid
+       redirection glitches.  Problem reported by twlevo@xs4all.nl.
+
+2005-03-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Don't put options
+       after operands; POSIX says this isn't portable for the c99 command.
+
+2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/glr-regression.at (glr-regr2a.y): Try to dump core
+       immediately if a data overrun has occurred; this may help us track
+       down what may be a spurious failure on MacOS.
+
+2005-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Respond to problems reported by twlevo@xs4all.nl.
+
+       * bootstrap: Use "trap - 0" rather than the unportable "trap 0".
+
+       * src/vcg.h: Comment fix.
+       * src/vcg_defaults.h: Parenthesize macro bodies to make them safe.
+       (G_CMAX): Change to -1 instead of INT_MAX.
+
+       * data/yacc.c (yyparse): Omit spaces before #line.
+
+2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/tables.c (state_number_to_vector_number): Put it inside an
+       "#if 0", since it's not currently used.  Problem reported by
+       Roland McGrath.
+
+2005-03-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/output.c (escaped_output): Renamed from
+       escaped_file_name_output, since we now use it for symbol tags as
+       well.  All uses changed.
+       (symbol_destructors_output, symbol_printers_output):
+       Escape symbol tags too.
+       Problem reported by Matyas Forstner in
+       <http://lists.gnu.org/archive/html/bug-bison/2005-03/msg00009.html>.
+
+       * src/muscle_tab.c (muscle_code_grow): Don't quote numbers; it's
+       not needed.
+       * src/output.c (user_actions_output, token_definitions_output,
+       symbol_destructors_output, symbol_printers_output): Likewise.
+       * src/reader.c (prologue_augment): Likewise.
+       * src/scan-gram.l (handle_action_dollar, handle_action_at): Likewise.
+
+       * src/vcg.c (output_edge): Don't quote linestyle arg.
+       Problem reported by twlevo@xs4all.nl.
+
+2005-02-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Semantic Tokens): Fix scoping problem in
+       example, reported by Derek M Jones.  Also, make the example even
+       more outrageous, to better illustrate how bad the problem is.
+
+2005-02-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Mfcalc Symtab): Correct the prototype for
+       putsym.  Typo reported by Sebastian Piping.
+
+2005-02-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Language and Grammar): some -> same
+       (Epilogue): int he -> in the
+       Typos reported by Sebastian Piping via Justin Pence.
+
+2005-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/glr-regression.at (Improper handling of embedded actions
+       and dollar(-N) in GLR parsers): Renamed from "Improper handling of
+       embedded actions and $-N in GLR parsers", work around an Autoconf bug
+       with dollar signs in test names.
+       * tests/input.at (Invalid dollar-n): Renamed from "Invalid \$n",
+       for a similar reason.
+
+2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/vcg.c (output_graph): G_VIEW -> normal_view in case someone
+       wants to redefine G_VIEW.
+
+2005-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/vcg.c (get_view_str): Remove case for normal_view.
+       Problem reported by twlevo@xs4all.nl.
+
+2005-01-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * configure.ac (O0CFLAGS, O0CXXFLAGS): Fix quoting bug.
+       Problem reported by twlevo@xs4all.nl.
+
+       * doc/bison.texinfo: Change @dircategory from "GNU programming
+       tools" to "Software development".  Requested by Richard Stallman
+       via Karl Berry.
+
+2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/c++.at (AT_CHECK_DOXYGEN): Don't use options after operands.
+       Problem reported by twlevo@xs4all.nl.
+
+2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (YYCOPY, yystpcpy, yyparse): Remove "register"
+       keyword; it's not needed with modern compilers, and it doesn't
+       affect correctness with older compilers.  Suggested by
+       twlevo@xs4all.nl.
+
+2005-01-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyuserAction): Add "default: break;" case to pacify
+       gcc -Wswitch-default.
+       * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
+       * data/yacc.c (yyparse): Likewise.
+
+2005-01-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/system.h (OUTPUT_EXT, TAB_EXT): Define only if not defined
+       already.  Let config.h define any nonstandard values.
+
+2005-01-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * tests/calc.at (_AT_DATA_CALC_Y): Use alarm (100), not alarm (10),
+       for the benefit of slower hosts.  Problem reported by
+       Nelson H. F. Beebe.
+
+2005-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (yyparse): Pacify non-GCC compilers about yyerrorlab
+       being defined and not used.
+       * data/lalr1.cc (yyparse): Likewise.
+       Use "if (false)" rather than "if (0)".
+
+2005-01-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * TODO: Mention that we should allow NUL bytes in tokens.
+
+2005-01-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/scan-skel.l (<<EOF>>): Don't close standard output.
+       Problem reported by Hans Aberg.
+
+2005-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/getargs.c (version): Happy new year; update overall
+       program copyright date from 2004 to 2005.
+
+       * src/scan-skel.l ("@output ".*\n): Don't close standard output.
+       Problem reported by Hans Aberg.
+       * tests/output.at (AT_CHECK_OUTPUT): New arg SHELLIO.
+       (Output file names.): Add a test for the case when standard output
+       is closed.
+
+2004-12-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (@copying): Update FDL version number to 1.2,
+       to fix an oversight in the Bison 2.0 manual.
+
+2004-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 2.0.  Reformat the existing news items since
+       1.875, so that related items are grouped together.
+       * configure.ac (AC_INIT): Bump version to 2.0.
+       * src/parse-gram.c, src/parse-gram.h: Regenerate with 2.0.
+
+       * tests/torture.at (Exploding the Stack Size with Alloca): Set
+       YYSTACK_USE_ALLOCA to 1 if __GNUC__ or alloca are defined;
+       otherwise, we're not testing alloca.  Unfortunately there's no
+       simple way to consult HAVE_ALLOCA here.
+
+       * data/lalr1.cc (yydestruct_): Pacify unused variable warning
+       for yymsg, too.
+
+       * src/LR0.c (new_itemsets): Use memset rather than zeroing by
+       hand.  This avoids a warning about comparing int to size_t when
+       GCC warnings are enabled.
+
+2004-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Bison-generated parsers no longer default to using the
+       alloca function (when available) to extend the parser stack, due
+       to widespread problems in unchecked stack-overflow detection.
+       * data/glr.c (YYMAXDEPTH): Remove undef when zero.  It's the user's
+       responsibility to set it to a positive value.  This lets the user
+       specify a value that is not a preprocessor constant.
+       * data/yacc.c (YYMAXDEPTH): Likewise.
+       (YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero.
+       * doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs
+       to be a compile-time constant.  However, explain the constraints on it.
+       Also, explain the constraints on YYINITDEPTH.
+       (Table of Symbols): Explain that alloca is no longer the default.
+       Explain the user's responsibility if they define YYSTACK_USE_ALLOCA
+       to 1.
+
+       * doc/bison.texinfo (Location Default Action): Mention that n must
+       be zero when k is zero.  Suggested by Frank Heckenbach.
+
+2004-12-22  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (parser::token_number_type, parser::rhs_number_type)
+       (parser::state_type, parser::semantic_type, parser::location_type):
+       Private, not public.
+       (parser::parse): Return ints, not bool.
+       Returning a bool introduces a problem: 0 corresponds to false, and
+       it seems weird to return false on success.  Returning true changes
+       the conventions for yyparse.
+       Alternatively we could return void and send an exception.
+       There is no clear consensus (yet?).
+       (state_stack, semantic_stack, location_stack): Rename as...
+       (state_stack_type, semantic_stack_type, location_stack_type): these.
+       Private, not public.
+       * tests/c++.at: New.
+       * tests/testsuite.at, tests/Makefile.am: Adjust.
+
+2004-12-21  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (parser::parse): Return a bool instead of an int.
+
+2004-12-21  Akim Demaille  <akim@epita.fr>
+
+       Don't impose std::string for filenames.
+
+       * data/lalr1.cc (b4_filename_type): New.
+       (position::filename): Use it.
+       (parser.hh): Move the inclusion of stack.hh and location.hh below
+       the user code, so that needed headers for the filename type can be
+       included first.
+       Forward declare them before the user code.
+       * tests/Makefile.am (check-local, installcheck-local): Pass
+       TESTSUITEFLAGS to the TESTSUITE.
+
+2004-12-20  Akim Demaille  <akim@epita.fr>
+
+       Use more STL like names: my_class instead of MyClass.
+
+       * data/lalr1.cc (LocationStack, LocationType, RhsNumberType)
+       (SemanticStack, SemanticType, StateStack, StateType)
+       (TokenNumberType, Stack, Slice, Traits, Parser::location)
+       (Parser::value): Rename as...
+       (location_stack, location_type, rhs_number_type, semantic_stack)
+       (semantic_type, state_stack, state_type, token_number_type, stack)
+       (slice, traits, parser::yylloc, parser::yylval): these.
+
+       * tests/calc.at, tests/regression.at, tests/actions.at: Adjust.
+
+2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (YYLLOC_DEFAULT): Use GNU spacing conventions.
+       * data/yacc.c (YYLLOC_DEFAULT): Likewise.
+
+2004-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove uses of 'short int' and 'unsigned short int'.  This raises
+       some arbitrary limits.  It uses more memory but nowadays that's
+       not much of an issue.
+
+       This change does not affect the generated parsers; that's a different
+       task, as some users will want to conserve memory there.
+
+       Ideally we should use size_t to represent all object counts, and
+       something like ptrdiff_t to represent signed differences of object
+       counts; but that will require more code-cleanup than I have the
+       time to do right now.
+
+       * src/LR0.c (allocate_itemsets, new_itemsets, save_reductions):
+       Use size_t, not int or short int, to count objects.
+       * src/closure.c (nritemset, closure): Likewise.
+       * src/closure.h (nritemset, closure): Likewise.
+       * src/nullable.c (nullable_compute): Likewise.
+       * src/print.c (print_core): Likewise.
+       * src/print_graph.c (print_core): Likewise.
+       * src/state.c (state_compare, state_hash): Likewise.
+       * src/state.h (struct state): Likewise.
+       * src/tables.c (default_goto, goto_actions): Likewise.
+
+       * src/gram.h (rule_number, rule): Use int, not short int.
+       * src/output.c (prepare_rules): Likewise.
+       * src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions,
+       errs, reductions): Likewise.
+       * src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol):
+       Likewise.
+       * src/tables.c (vector_number, tally, action_number,
+       ACTION_NUMBER_MINIMUM): Likewise.
+       * src/output.c (muscle_insert_short_int_table): Remove.
+
+2004-12-17  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Extensive Doxygenation.
+       (error_): Rename as...
+       (error): this, since it is visible to the user.
+       Adjust callers.
+       (Parser::message): Now an automatic variable from...
+       (Parser::yyreport_syntax_error_): here.
+       * tests/actions.at, tests/calc.at, tests/regression.at: Adjust to
+       Parser::error.
+       * tests/input.at: Escape $.
+
+2004-12-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):
+       Parenthesize rhs to avoid obscure problems with mistakes like
+       "foo$$bar = foo$1bar;".  Problem reported by twlevo at xs4all.
+       * data/lalr1.cc (b4_lhs_value, b4_rhs_value, b4_lhs_location,
+       b4_rhs_location): Likewise.
+       * data/yacc.c (b4_lhs_value, b4_rhs_value, b4_lhs_location,
+       b4_rhs_location): Likewise.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (yyreport_syntax_error_): Catch up with glr.c and
+       yacc.c: be sure to stay within yycheck_.
+       * tests/actions.at: Re-enable C++ tests.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+       * src/print_graph.c (print_graph): Remove layoutalgorithm uses for
+       real.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+       Use #define to handle the %name-prefix.
+
+       * data/glr.c, data/yacc.c: Comment changes.
+       * data/lalr1.cc (yylex): Use #define to select the name of yylex,
+       so that one can refer to yylex in the parser file, and have it
+       renamed, as is the case with other skeletons.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+       Move lalr1.cc internals into yy*.
+
+       * data/lalr1.cc (semantic_stack_, location_stack_, state_stack_)
+       (semantic_stack_, location_stack_, pact_, pact_ninf_, defact_)
+       (pgoto_, defgoto_, table_, table_ninf_, check_, stos_, r1_, r2_)
+       (name_, rhs_, prhs_, rline_, token_number_, eof_, last_, nnts_)
+       (empty_, final_, terror_, errcode_, ntokens_)
+       (user_token_number_max_, undef_token_, n_, len_, state_, nerrs_)
+       (looka_, ilooka_, error_range_, nerrs_):
+       Rename as...
+       (yysemantic_stack_, yylocation_stack_, yystate_stack_)
+       (yysemantic_stack_, yylocation_stack_, yypact_, yypact_ninf_)
+       (yydefact_, yypgoto_, yydefgoto_, yytable_, yytable_ninf_)
+       (yycheck_, yystos_, yyr1_, yyr2_, yyname_, yyrhs_, yyprhs_)
+       (yyrline_, yytoken_number_, yyeof_, yylast_, yynnts_, yyempty_)
+       (yyfinal_, yyterror_, yyerrcode_, yyntokens_)
+       (yyuser_token_number_max_, yyundef_token_, yyn_, yylen_, yystate_)
+       (yynerrs_, yylooka_, yyilooka_, yyerror_range_, yynerrs_):
+       these.
+
+2004-12-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some problems reported by twlevo at xs4all.
+       * src/symtab.c (symbol_new): Report an error if the input grammar
+       contains too many symbols.  This is better than calling abort() later.
+       * src/vcg.h (enum layoutalgorithm): Remove.  All uses removed.
+       (struct node, struct graph):
+       Rename member expand to stretch.  All uses changed.
+       (struct graph): Remove member layoutalgorithm.  All uses removed.
+       * src/vcg.c (get_layoutalgorithm_str): Remove.  All uses removed.
+       * src/vcg_defaults.h (G_STRETCH): Renamed from G_EXPAND.
+       All uses changed.
+       (N_STRETCH): Rename from N_EXPAND.  All uses changed.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Normalize /** \brief ... */ to ///.
+       Add more Doxygen comments.
+       (symprint_, stack_print_, reduce_print_, destruct_, pop)
+       (report_syntax_error_, translate_): Rename as...
+       (yysymprint_, yystack_print_, yyreduce_print_, yydestruct_)
+       (yypop_, yyreport_syntax_error_, yytranslate_): this.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (lex_): Rename as...
+       (yylex_): this.
+       Move the trace here.
+       Take the %name-prefix into account.
+       Reported by Alexandre Duret-Lutz.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+       Simplify the C++ parser constructor.
+
+       * data/lalr1.cc (debug_): Rename as...
+       (yydebug_): so that the parser's internals are always in the yy*
+       pseudo namespace.
+       Adjust uses.
+       (b4_parse_param_decl): Remove the leading comma as it is now only
+       called as unique argument list.
+       (Parser::Parser): Remove the constructor accepting a location and
+       an initial debugging level.
+       Remove from the other ctor the argument for the debugging level.
+       (debug_level_type, debug_level, set_debug_level): New.
+
+       * tests/actions.at, tests/calc.at, tests/regression.at: Adjust
+       constructor calls.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+       Remove b4_root related material: failure experiment
+       (which goal was to allow to derive from a class).
+
+       * data/lalr1.cc (b4_root, b4_param, b4_constructor): Remove
+       definitions and uses.
+
+2004-12-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (struct yyGLRStack): yyerror_range now has 3 items,
+       not 2, since it's not portable to subtract 1 from the start of an
+       array.  The new item 0 is never set or used.  All uses changed.
+
+       (yyrecoverSyntaxError): Use YYLLOC_DEFAULT instead of assuming
+       the default definition of YYLLOC_DEFAULT.  Problem reported
+       by Frank Heckenbach.
+
+2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (YYRHSLOC): Don't have two definitions, one for
+       the normal case and one for the error case.  Just use the
+       first one uniformly.  Problem reported by Frank Heckenbach.
+       (YYLLOC_DEFAULT): Use the conventions of yacc.c, so we can
+       use exactly the same macro in both places.
+       (yyerror_range): Now of type yyGLRStackItem, not YYLTYPE,
+       so that the normal-case YYRHSLOC works for the error case too.
+       All uses changed.
+       * data/yacc.c (YYRHSLOC): New macro, taken from glr.c.
+       (YYLLOC_DEFAULT): Use the same macro as glr.c.
+       * doc/bison.texinfo (Location Default Action): Don't claim that
+       we have an array of locations.  Use the same macro for both glr
+       and lalr parsers.  Mention YYRHSLOC.  Mention what happens when
+       the index is 0.
+
+2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * HACKING: Update email addresses to send announcements to.
+
+       * configure.ac (AC_INIT): Bump version to 1.875f.
+
+2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 1.875e.
+       * src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875e.
+
+       * src/scan-skel.l: Include "complain.h", for "fatal".
+
+       * src/relation.h (relation_print, relation_digraph):
+       Relation sizes are of type relation_node, not size_t (this is
+       merely a doc fix, since the two types are equivalent).
+       (relation_transpose): Relation sizes are of type relation_node,
+       not int.
+       * src/relation.c: Likewise.
+       (top, infinity): Now of type relation_node, not int.
+       (traverse, relation_transpose): Use relation_node, not int.
+
+       * data/glr.c (yyuserAction, yyrecoverSyntaxError): Mark args
+       with ATTRIBUTE_UNUSED if they're not used, to avoid GCC warning.
+       (yyparse): Remove unused local introduced in 2004-10-25 patch.
+
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg
+       specifying whether the test should be skipped.  Use it tp
+       specify that the [%defines %skeleton "lalr1.cc"] tests currently
+       fail on some hosts, and should be skipped.
+
+2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/system.h (CALLOC, MALLOC, REALLOC): Remove.  All callers
+       changed to use xcalloc, xnmalloc, xnrealloc, respectively,
+       unless otherwise specified below.
+
+       * src/LR0.c (allocate_itemsets): Use xnmalloc, not xcalloc,
+       to allocate kernel_base, kernel_items, kernel_size, since
+       they needn't be initialized to 0.
+       (allocate_storgae): Likewise, for shiftset, redset, shift_symbol.
+       * src/closure.c (new_closure): Likewise, for itemset.
+       * src/derives.c (derives_compute): Likewise, for delts, derives, q.
+       * src/lalr.c (set_goto_map): Likewise, for temp_map.
+       (initialize_F): Likewise, for reads, edge, reads[i], includes[i].
+       (build_relations): Likewise for edge, states1, includes.
+       * src/nullable.c (nullable_compute): Likewise, for squeue, relts.
+       * src/reader.c (packgram): Likewise, for ritem, rules.
+       * src/reduce.c (nonterminals_reduce): Likewise for nontermmap.
+       * src/relation.c (relation_digraph): Likewise for VERTICES.
+       (relation_transpose): Likewise for new_R, end_R.
+       * src/symtab.c (symbols_token_translations_init): Likewise for
+       token_translations.
+       * src/tables.c (save_row): Likewise for froms, tos, conflict_tos.
+       (token_actions): Likewise for yydefact, actrow, conflrow,
+       conflict_list.
+       (save_column): Likewise for froms[symno], tos[symno].
+       (goto_actions): Likewise for state_count.
+       (pack_table): Likewise for base, pos, check.
+       (tables_generate): Likewise for width.
+
+       * src/LR0.c (set_states): Don't reuse kernel_size and kernel_base
+       for initial core.  Just have a separate core, so we needn't worry
+       about whether kernel_size and kernel_base are initialized.
+
+       * src/LR0.c (shift_symbol, redset, shiftset, kernel_base,
+       kernel_size, kernel_items): Remove unnecessary initialization.
+       * src/conflicts.c (conflicts): Likewise.
+       * src/derives.c (derives): Likewise.
+       * src/muscle_tablc (muscle_insert): Likewise.
+       * src/relation.c (relation_digraph): Likewise.
+       * src/tables.c (froms, tos, conflict_tos, tally, width, actrow, order,
+       conflrow, conflict_table, conflict_list, table, check):
+       Likewise.
+
+       * src/closure.c (new_closure): Arg is of type unsigned int, not int.
+       This is because all callers pass unsigned int.
+       * src/closure.h (new_closure): Likewise.
+
+       * src/lalr.c (initialize_F): Initialize reads[i] in all cases.
+       (build_relations): Initialize includes[i] in all cases.
+       * src/reader.c (packgram): Always initialize rules[ruleno].prec
+       and rules[ruleno].precsym.  Initialize members in order.
+       * src/relation.c (relation_transpose): Always initialize new_R[i]
+       and end_R[i].
+       * src/table.c (conflict_row): Initialize 0 at end of conflict_list.
+
+       * src/output.c (prepare_actions): Pass 0 instead of conflict_list[0];
+       conflict_list[0] was always 0, but now it isn't initialized.
+
+       * src/table.c (table_grow): When conflict_table grew, the grown
+       area wasn't cleared.  Fix this.
+
+       * lib/.cvsignore: Add strdup.c, strdup.h.
+       * m4/.cvsignore: Add strdup.m4.
+
+2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/lalr.h (GOTO_NUMBER_MAXIMUM): New macro.
+       * src/lalr.c (set_goto_map): Don't allow ngotos to equal
+       GOTO_NUMBER_MAXIMUM, since we occasionally compute
+       ngotos + 1 without checking for overflow.
+       (build_relations): Use END_NODE, not -1, to denote end of edges.
+       * src/lalr.c (set_goto_map, map_goto, initialize_F, add_loopback_edge,
+       build_relations): Use goto_number, not int, for goto numbers.
+       * src/tables.c (save_column, default_goto): Likewise.
+
+2004-11-23  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (YYSTYPE): Define it as is done for C, instead
+       of #defining from yystype.
+       Don't typedef yystype, C++ does not need it.
+       This lets it possible to forward declare it as union.
+
+2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bootstrap (gnulib_modules): Add extensions.
+       Problem reported by Jim Meyering.
+
+2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/LR0.c, src/closure.c, src/derives.c, src/gram.c,
+       src/lalr.c, src/nullable.c, src/relation.c, src/scan-skel.l,
+       src/system.h, src/tables.c: XFREE -> free, to accommodate
+       recent change to gnulib xalloc.h.
+       Problem reported by Jim Meyering.
+
+2004-11-17  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (symprint_): Use cdebug_ to avoid warnings.
+
+2004-11-17  Akim Demaille  <akim@epita.fr>,
+           Alexandre Duret-Lutz <adl@gnu.org>
+
+       * data/lalr1.cc (Parser::yycdebug_): New, a pointer, to allow
+       changes.
+       (YYCDEBUG): Adjust.
+       Use it instead of cdebug_.
+       (Parser::debug_stream, Parser::set_debug_stream): New.
+       (Parser::symprint_): Define cdebug_ for temporary backward
+       compatibility.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use
+       debug_stream ().
+
+2004-11-17  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser:print_): Remove, use %printer instead.
+       * tests/regression.at (_AT_DATA_DANCER_Y): Adjust.
+       * tests/calc.at (_AT_DATA_CALC_Y): Ditto.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.
+
+2004-10-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yyloc_default): Remove; not used.
+       Problem reported by Frank Heckenbach.
+
+2004-10-25  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (YYRHSLOC): Move its definition next to its uses.
+       Introduce another definition to address simple location arrays.
+       (yyGLRStack): New member: yyerror_range.
+       (yyrecoverSyntaxError, yyparse): Update it.
+       (yyrecoverSyntaxError): Use it when shifting the error token to
+       have an accurate range, equivalent to the one computed by both
+       yacc.c and lalr1.cc.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Change its yylex so
+       that column numbers start at column 0, as per GNU Coding
+       Standards, the others tests, and the doc.
+       (_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT_WITH_LOC):
+       Adjust to the above change (first column is 0).
+       And adjust the location of the "<error>", now covering the whole
+       line.
+
+2004-10-22  Akim Demaille  <akim@epita.fr>
+       and Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove some arbitrary limits on goto numbers and relations.
+       * src/lalr.c (goto_map, ngotos, from_state, to_state): Omit
+       initial values, since they're never used.
+       (set_goto_map): ngotos is now unsigned, so test for overflow
+       by seeing whether it wraps around to zero.
+       * src/lalr.h (goto_number): Now size_t, not short int.
+       (GOTO_NUMBER_MAXIMUM): Remove.
+       * src/relation.c (relation_print, traverse, relation_transpose):
+       Check for END_NODE rather than looking at sign.
+       * src/relation.h (END_NODE): New macro.
+       (relation_node): Now size_t, not short int.
+
+2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo (Language and Grammar): In example, "int" is a
+       keyword, not an identifier.  Problem reported by Baron Schwartz in
+       <http://lists.gnu.org/archive/html/bug-bison/2004-10/msg00017.html>.
+
+2004-10-11  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.c (symbol_check_alias_consistency): Also check
+       type names, destructors, and printers.
+       Reported by Alexandre Duret-Lutz.
+       Recode the handling of associativity and precedence in terms
+       of symbol_precedence_set.
+       Accept no redeclaration at all, not even equal to the previous
+       value.
+       (redeclaration): New.
+       Use it to factor redeclaration complaints.
+       (symbol_make_alias): Don't set the type of the alias, let
+       symbol_check_alias_consistency do it as for other features.
+       * src/symtab.h (symbol): Add new member prec_location, and
+       type_location.
+       * src/symtab.c (symbol_precedence_set, symbol_type_set): Set them.
+       * tests/input.at (Incompatible Aliases): New.
+
+2004-10-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       .cvsignore fixes to accommodate gnulib changes,
+       and the practice of naming build directories "_build".
+       * .cvsignore: Add "_*".  Sort.
+       * lib/.cvsignore: Add getopt_.h, xalloc-die.c.
+       * m4/.cvsignore: Add "*_gl.m4".
+
+2004-10-06  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (add_param): Fix the truncation of trailing
+       spaces.
+
+2004-10-05  Akim Demaille  <akim@epita.fr>
+
+       In Bison 1.875's yacc.c, YYLLOC_DEFAULT was called regardless
+       whether the reducion was empty or not.  This leaves room to
+       improve the use of YYLLOC_DEFAULT in such a case.
+       lalr1.cc is still experimental, so changing this is acceptable.
+       And finally, there are probably not many users who changed the
+       handling of locations in GLR, so changing is admissible too.
+
+       * data/glr.c, data/lalr1.cc, data/yacc.c (YYLLOC_DEFAULT): On an
+       empty reduction, set @$ to an empty location ending the previously
+       stacked symbol.
+       Adjust uses to make sure the code is triggered on empty
+       reductions.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust the
+       expected output: empty reductions have empty locations.
+
+2004-09-29  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Move towards a more standard C++ coding style
+       for templates: Class < T > -> Class<T>.
+
+2004-09-29  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Reinstall the former ctor, for sake of
+       compatibility, but warn it will be removed.
+       Move towards a more standard C++ coding style (i.e., type *var ->
+       type* var).
+
+2004-09-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/parse-gram.y (add_param): Rewrite to avoid strchr,
+       since it's less likely to work if NULs are involved in the future.
+
+2004-09-27  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c (YY_LOCATION_PRINT): Fix its default declaration.
+
+2004-09-27  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (b4_parse_param_decl_1): New.
+       (b4_parse_param_decl): Use it to have different names between attribute
+       and argument names.
+       (b4_cc_constructor_call): Likewise.
+
+2004-09-24  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (add_param): Strip the leading and trailing
+       blanks from a formal argument declaration.
+       (YY_LOCATION_PRINT): New.
+
+2004-09-24  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_yysymprint_generate): Move the YYINPUT invocation
+       after the location.
+
+2004-09-24  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Table of Symbols): Sort.
+
+2004-09-21  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c, data/glr.c (b4_at_dollar, b4_dollar_dollar): Remove
+       the useless parentheses.
+       Suggested by Paul Eggert.
+
+2004-09-20  Akim Demaille  <akim@epita.fr>
+
+       Let the initial-action act on the look-ahead, and use it for the
+       "initial push" (corresponding to an hypothetical beginning-of-file).
+       And let lalr1.cc honor %initial-action.
+
+       * doc/bison.texinfo (Initial Action Decl): Clarify, and add an
+       example.
+       * data/lalr1.cc (Parser::initlocation_): Remove, bad experiment.
+       (Parser::Parser): Remove the ctor that used to initialize it.
+       (Parser::parse): Like in the other skeletons, issue the "starting
+       parse" message before any action.
+       Honor %initial-action.
+       Initialize the stacks with the lookahead.
+       * data/yacc.c: Let $$ and @$ in %initial-action designate the
+       look-ahead.
+       Push them in the stacks.
+       * tests/actions.at, tests/calc.at: Adjust the C++ ctor invocations.
+
+2004-09-20  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Initial Action Decl): New.
+
+2004-09-20  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c (YY_LOCATION_PRINT): Use YYLTYPE_IS_TRIVIAL as a
+       clearer criterion to define it.
+       (parse): Initialize the initial location when YYLTYPE_IS_TRIVIAL.
+       When reducing on an empty RHS, use the latest stacked location as
+       location.
+       yylloc is not always available.
+       * data/glr.c: Likewise.
+       Also, honor initial-actions.
+
+2004-09-20  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c (YY_LOCATION_PRINT): New.
+       Define when we know YYLTYPE's structure, i.e., when the default
+       YYLLOC_DEFAULT is used.
+       * data/c.m4 (b4_yysymprint_generate): Use it.
+       * data/lalr1.cc (YYLLOC_DEFAULT): Stop relying on the initial
+       value of the result.
+       (error_start_): Replace with...
+       (error_range_): this location array.
+       This allows to replace code relying on the implementation of
+       locations by portable code.
+       * data/yacc.c (yylerrsp): Replace with...
+       (yyerror_range): this.
+       Every time a token is popped, update yyerror_range[0], to have an
+       accurate location for the error token.
+       * data/glr.c (YY_LOCATION_PRINT): New.
+       (yyprocessOneStack): Fix an invocation of YY_SYMBOL_PRINT:
+       deference a pointer.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): No longer
+       report the location in %printers.
+
+       * src/scan-skel.l: Instead of abort, report error messages to ease
+       understanding skeleton scanning failures.
+
+2004-09-16  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Stack::Iterator, Stack::ConstIterator): Rename as...
+       (iterator, const_iterator): these, to be more in the C++ spirit.
+       Also, return reverse iterators so that when displaying the stack
+       we display its bottom first.
+       (Parser::stack_print_, Parser::reduce_print_): Match the messages
+       from yacc.c.
+       We should probably use vector here though.
+
+2004-09-16  Akim Demaille  <akim@epita.fr>
+
+       Have more complete shift traces.
+
+       * data/yacc.c, data/lalr1.c, data/glr.c: Use YY_SYMBOL_PRINT
+       to report Shifts instead of ad hoc YYDPRINTF invocations,
+       including for the error token.
+       * data/lalr1.cc (symprint_): Output the location.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): In C++, don't
+       output the location within the %printer.
+       Activate GLR tests, at least to make sure they compile properly.
+       They still don't pass though.
+       * tests/calc.at: Adjust expect verbose output, since now "Entering
+       state..." is on a different line than the "Shifting" message.
+
+2004-09-08  Akim Demaille  <akim@epita.fr>
+
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Move the
+       Bison directive from the Bison file to the invocation of this
+       macro, so that these directives are passed to
+       AT_BISON_OPTION_PUSHDEFS to get correct help macros.
+       Use these helping macros (e.g., AT_LOC, AT_VAL and so forth).
+       Move the AT_SETUP/AT_CLEANUP outside, to report as test title
+       the extra Bison directives instead of the whole series.
+       Change the grammar so that there are recoverable errors, and
+       unrecoverable errors.  Now we can have the parser give up before
+       consuming the whole input.  As a result we now can observe that
+       the lookahead is freed when needed.
+       Change the parser source to parse argv[1] instead of a hard coded
+       string.
+       Simplify yylex, and give a value and location to EOF.
+       Simplify some invocations of AT_CHECK_PRINTER_AND_DESTRUCTOR that
+       passed directives already coded in the file.
+       Add some tests to check the location of "error".
+       For some tests, the C++ parser is correct, and not yacc.c.
+       For other tests, they provide different, but unsatisfying, values,
+       so keep the C++ value so that at least one parser is "correct"
+       according to the test suite.
+       (Actions after errors): Remove, this is subsumed by the
+       AT_CHECK_PRINTER_AND_DESTRUCTOR series.
+
+2004-09-06  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Adjust the indentation of the labels.
+       (Parser::pop): New.
+       Use it.
+
+2004-09-06  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.cc, data/glr.cc (yydestruct): Accept an additional
+       argument, an informative message.
+       Call YY_SYMBOL_PRINT.
+       Adjust all callers: integrate the associated YY_SYMBOL_PRINT.
+       * data/lalr1.cc (destruct_): Likewise.
+       In addition, no longer depend on b4_yysymprint_generate and
+       b4_yydestruct_generate to generate these functions, do it "by
+       hand".
+
+2004-09-03  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c, data/lalr1.cc, data/yacc.c: When YYABORT was
+       invoked, yydestruct the lookahead.
+       * tests/calc.at (Calculator $1): Update the expected lengths of
+       traces: there is an added line for the discarded lookahead.
+       * doc/bison.texinfo (Destructor Decl): Some rewording.
+       Define "discarded" symbols.
+
+2004-09-02  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (translate_, destruct_): No reason to be static.
+
+2004-09-02  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c, yacc.c (YYDSYMPRINT): Remove, not used.
+       (YYDSYMPRINTF): Rename as...
+       (YY_SYMBOL_PRINT): this.
+       * data/lalr1.cc (YY_SYMBOL_PRINT): New, modeled after the previous
+       two.
+       Use it instead of direct symprint_ calls.
+       (yybackup): Tweak the "Now at end of input" case to match yacc.c's
+       one.
+
+2004-09-02  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (b4_yysymprint_generate): New.
+       (symprint_): New member function, defined when YYDEBUG.
+       Use it consistently instead of token/nterm debugging output by
+       hand.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust
+       %printer calls to use cdebug_ when using lalr1.cc.
+
+2004-08-30  Florian Krohm  <florian@edamail.fishkill.ibm.com>
+
+       * data/glr.c: Guard the declarations of yypstack and yypdumpstack
+       with #ifdef YYDEBUG.
+
+2004-08-26  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Implementing Loops): Rename as...
+       (Implementing Gotos/Loops): this.
+
+2004-08-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust to latest gnulib.
+       * bootstrap (gnulib_modules): Add xalloc-die.
+       Set LC_ALL=C so that file names sort consistently.
+       Prefer the gnulib copies of gettext.m4, glibc21.m4,
+       inttypes_h.m4, lib-ld.m4, lib-prefix.m4, po.m4, stdint_h.m4,
+       uintmax_t.m4, ulonglong.m4.
+       (intl_files_to_remove): Add gettext.m4, lib-ld.m4, lib-prefix.m4,
+       po.m4 since we are now using _gl.m4 instead.
+
+2004-08-10  Florian Krohm  <florian@edamail.fishkill.ibm.com>
+
+       * src/scan-action.l: Remove. Scanning of semantic actions is
+       handled in scan-gram.l.
+
+2004-08-07  Florian Krohm  <florian@edamail.fishkill.ibm.com>
+
+       * src/scan-gram.l (handle_syncline): Use uniqstr_new not xstrdup.
+
+       * src/location.h (struct): The file member is a uniqstr.
+       (equal_boundaries): Use UNIQSTR_EQ for comparison.
+
+2004-07-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix bug with non-%union parsers that have printers or destructors,
+       which led to a Bison core dump.  Reported by Peter Fales in
+       <http://lists.gnu.org/archive/html/bug-bison/2004-07/msg00014.html>.
+
+       * data/c.m4 (b4_symbol_actions): Don't assume %union was used.
+       * data/lalr1.cc (yystype) [defined YYSTYPE]: Define to YYSTYPE,
+       not to our own type.
+       * src/output.c (symbol_destructors_output, symbol_printers_output):
+       Don't assume %union.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR,
+       AT_CHECK_PRINTER_AND_DESTRUCTOR): New argument
+       UNION-FLAG.  All callers changed.
+       (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't assume %union.
+       Use type char, not unsigned int, when declaring an array of char;
+       this lets us remove a cast.
+       (Printers and Destructors): Add non-%union test cases.
+
+2004-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/bison.texinfo: Minor editorial changes, mostly to the new
+       GLR writeups.  E.g., avoid frenchspacing and the future tense,
+       change "lookahead" to "look-ahead", and change "wrt" to "with
+       respect to".
+
+2004-06-21  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+       * doc/bison.texinfo (Merging GLR Parses, Compiler Requirements):
+       New sections, split off from the GLR Parsers section.  Put the new
+       Simple GLR Parser near the start of the GLR section, for clarity.
+       Rewrite connective text.
+
+2004-06-21  Frank Heckenbach  <frank@g-n-u.de>
+
+       * doc/bison.texinfo (Simple GLR Parsers): New section.
+
+2004-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS, TODO, doc/bison.texinfo:
+       Use "look-ahead" instead of "lookahead", to be consistent.
+       * REFERENCES: Fix incorrect reference to DeRemer and Pennello,
+       while we're fixing "look-ahead".
+       * src/conflicts.c (shift_set): Renamed from shiftset.
+       (look_ahead_set): Renamed from lookaheadset.
+       * src/print.c: Likewise.
+       * src/getargs.c (report_args): Add "look-ahead" as the new canonical
+       name for "lookahead".
+       (report_types, usage): Likewise.
+       * src/getargs.h (report_look_ahead_tokens): Renamed from
+       report_lookaheads.
+       * src/lalr.c (compute_look_ahead_tokens): Renamed from
+       compute_lookaheads.
+       (state_look_ahead_tokens_count): Renamed from state_lookaheads_count.
+       (look_ahead_tokens_print): Renamed from lookaheads_print.
+       * src/state.c (state_rule_look_ahead_tokens_print): Renamed from
+       state_rule_lookaheads_print.
+       * src/state.h: Likewise.
+       (reductions.look_ahead_tokens): Renamed from lookaheads.
+       * tests/torture.at (AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR): Renamed from
+       AT_DATA_LOOKAHEADS_GRAMMAR.
+
+2004-06-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * README: Update location of patched M4 distribution.
+
+2004-05-30  Albert Chin-A-Young  <china@thewrittenword.com>
+
+       Don't assume the C++ compiler takes the same arguments as the C compiler
+       (trivial change).
+       * configure.ac (O0CXXFLAGS): New var.
+       * tests/atlocal.in (CXXFLAGS): Use it.
+
+2004-05-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some "make check" problems with C++ reported by
+       Albert Chin-A-Young for Tru64 C++ in this thread:
+       http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00049.html
+
+       * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check for std::cerr.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
+       Output to a .cc file for C++, not to a .c file.
+       * tests/calc.at (AT_CHECK_CALC): Likewise.
+       * tests/regression.at (AT_CHECK_DANCER): Likewise.
+       * tests/local.at (AT_COMPILE_CXX): Default to OUTPUT.cc, not OUTPUT.c.
+
+2004-05-28  Albert Chin-A-Young  <china@thewrittenword.com>
+
+       * tests/calc.at, tests/actions.at: Workaround for SGI
+       C++ compiler.  (trivial change)
+
+2004-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Spent a few hours checking out which prerequisite versions the
+       current sources actually require.  I went all the way back to
+       Gettext 0.10.40, Automake 1.4, and Autoconf 2.57 and investigated
+       a seemingly endless set of combinations of versions more recent
+       than that.  The bottom line is that the current sources require
+       fairly recent versions of the build tools, and it'll be some work
+       to change this.
+       * configure.ac (AC_PREREQ): Increase from 2.58 to 2.59.
+       (AM_INIT_AUTOMAKE): Increase from 1.7 to 1.8.
+       (AM_GNU_GETTEXT_VERSION): Increase from 0.11.5 to 0.12.
+       Add comments explaining why those particular versions are
+       currently needed.
+
+       * src/parse-gram.y (lloc_default): Rewrite to avoid compiler bug
+       in SGI MIPSpro 7.4.1m.  Problem reported by Albert Chin-A-Young in
+       <http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00037.html>.
+
+       * configure.ac (AC_PREREQ): Bump to 2.58, since 2.57 doesn't work
+       (it fails with a Autoconf-without-aclocal-m4 diagnostic).
+
+2004-05-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * configure.ac (AM_GNU_GETTEXT_VERSION): Lower it from 0.14.1 to
+       0.11.5.  Suggested by Bruno Haible.
+       * bootstrap: Remove gettext version checking.
+
+       * doc/bison.texinfo (Decl Summary): Also mention that %union
+       can depend on prerequisite types.  Problem reported by Tim
+       Van Holder.
+
+2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * README: Mention GNU m4 1.4 bugs and Akim's patched version.
+       * README-alpha: Don't tell people not to package this.
+
+       * bootstrap: Don't assume $(...) works; use `...` instead.
+       Problem reported by Paul Hilfinger.  Also, diagnose non-GNU
+       gettext better.
+
+       * doc/bison.texinfo (Decl Summary, Bison Options): Clarify what's
+       put into the -d output file, and mention what to do if YYSTYPE is
+       defined as a macro.
+
+2004-05-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Undo change made earlier today: it caused autopoint to not bring
+       in ABOUT-NLS.  Ouch.  Instead, substitute our own diagnostic for
+       autopoint's.
+
+       * bootstrap: Check that gettext version matches what's in
+       configure.ac.  Warn users to ignore robots.txt ERROR 404.
+       * bootstrap: Undo today's earlier change (logged below).
+       * configure.ac (AM_GNU_GETTEXT_VERSION): Likewise.
+
+       The gettext version checking is causing more trouble than it's
+       curing; remove it.  Problem reported by Paul Hilfinger.
+
+       * bootstrap: Issue a warning that one can expect a message
+       'AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION'.
+       * configure.ac (AM_GNU_GETTEXT_VERSION): Remove.
+
+2004-05-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Ensure that the C++ compiler used for testing actually works on a
+       simple test program; if not, skip the C++-related tests.  Problem
+       reported by Vin Shelton in:
+       http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00026.html
+
+       * m4/cxx.m4: New file.
+       * configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add.
+       * tests/atlocal.in (BISON_CXX_WORKS): Add.
+       * tests/local.at (AT_COMPILE_CXX): Use it.
+
+2004-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/glr.c (yylloc): Output this macro even if locations are not
+       being generated, as the GLR parser needs it even in that case.
+       Problem reported by Troy A. Johnson
+       <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=195946>.
+
+       * configure.ac (AC_INIT): Update to 1.875e.
+
+2004-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Version 1.875d.
+       * configure.ac (AC_INIT): Likewise.
+       * src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875d.
+
+       * configure.ac (--enable-gcc-warnings): Do not enable -Wshadow,
+       -Wmissing-prototypes, or -Wstrict-prototypes for C++.  The current
+       lalr1.cc runs afoul of the first, and the last two are no longer
+       supported by GCC 3.4.0.
+       * README: Mention GNU m4 1.4 or later; mention m4 patches.
+       * HACKING: Use ./bootstrap, not "make update" to import foreign files.
+
+2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/muscle_tab.c (hash_muscle): Accept and return size_t, not
+       unsigned int, for compatibility with latest gnulib hash module.
+       * src/state.c (state_hash, state_hasher): Likewise.
+       * src/symtab.c (hash_symbol, hash_symbol_hasher): Likewise.
+       * src/uniqstr.c (hash_uniqstr): Likewise.
+
+2004-05-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * NEWS: Unescaped newlines are no longer allowed in char & strings.
+
+       * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER,
+       SC_CHARACTER,SC_STRING>): Reject unescaped newlines in
+       character and string literals.
+       (unexpected_end): New function.
+       (unexpected_eof): Use it.
+       (unexpected_newline): New function.
+       (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>): Coalesce duplicate
+       actions.
+
+       * NEWS: Document %expect-rr.
+
+       * bootstrap (--gnulib-srcdir=*, --cvs-user=*):
+       Fix typo by replacing $1 with $option.
+       Remove more 'intl'-related files.
+       Don't DEFUN AM_INTL_SUBDIR twice.
+
+       * lib/.cvsignore: Add strndup.h.  Remove memchr.c, memcmp.c,
+       memrchr.c, strcasecmp.c, strchr.c, strrchr.c, strspn.c, strtol.c,
+       strtoul.c.
+       * m4/.cvsignore: Add exitfail.m4, extensions.m4, gnulib.m4,
+       hard-locale.m4, mbstate_t.m4, strerror_r.m4, strndup.m4,
+       xstrndup.m4.  Remove glibc21.m4, intdiv0.m4, inttypes-pri.m4,
+       inttypes.m4, inttypes_h.m4, isc-posix.m4, lcmessage.m4,
+       stdint_h.m4, uintmax_t.m4, ulonglong.m4.
+       * src/.cvsignore: Add *.output.
+
+       * src/parse-gram.y: Put copyright notice inside %{ %} so it
+       gets copied to the output file.
+
+2004-04-28  Paul Eggert  <eggert@twinsun.com>
+
+       Get files from the gnulib and po repositories, instead of relying
+       on them being in our CVS.  Upgrade to latest versions of gnulib
+       and Automake.
+
+       * Makefile.am (SUBDIRS): Remove m4; Automake now does m4.
+       * bootstrap: Bootstrap from gnulib and po repositories.
+       Much of this code was stolen from GNU diff and GNU tar's bootstrap.
+       * README-cvs: Document these changes.  Remove version numbers from
+       mentions of build tools, since they change so often.  Mention Flex.
+
+       * configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg.
+       (gl_USE_SYSTEM_EXTENSIONS): Add.
+       (AC_GNU_SOURCE, AC_AIX, AC_MINIX):
+       Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS
+       does this for us.
+       (AC_ISC_POSIX): Remove; we no longer support this
+       ancient OS, as it gets in the way of latest Autoconf & gnulib.
+       (AC_HEADER_STDC): Remove: we now assume C89 or better.
+       (AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS.
+       Do not check for C89 headers, except for locale.h which is used
+       by the Yacc library and must port to K&R hosts.
+       (AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS.
+       Do not check for C89 functions, except for setlocale which is
+       used by the Yacc library.
+       (AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed.
+       (gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR,
+       gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL,
+       gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE,
+       gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC,
+       AM_GNU_GETTEXT): Remove; now done by:
+       (GNULIB_AUTOCONF_SNIPPET): Add.  "bootstrap" builds this for us.
+       (AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this
+       for us.
+
+       * lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap".
+       (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES):
+       Define to empty, as gnulib.mk will do the rest for us.
+       ($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this
+       for us.
+       (libbison_a_SOURCES): Define to $(lib_SOURCES) now.
+       (lib_SOURCES): New symbol, containing only the non-gnulib libs.
+
+       * src/files.c: Include gnulib's xstrndup.h.
+
+       * src/system.h (MALLOC): Use xnmalloc, for better overflow checking.
+       (REALLOC): Use xnrealloc, for likewise.
+       (xstrndup, stpcpy): Remove decls, as gnulib does this for us now.
+       (strnlen, memrchr): Remove decls; functions no longer used.
+       Include <stpcpy.h>.
+
+       * config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c,
+       lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
+       lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
+       lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h,
+       lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c,
+       lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h,
+       lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
+       lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c,
+       lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c,
+       lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h,
+       lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c,
+       m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
+       m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4,
+       m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4,
+       m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4,
+       m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4,
+       m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4,
+       m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in,
+       po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po,
+       po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po,
+       po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po:
+       Remove, as these files are now generated automatically
+       by bootstrap or automake.
+
+       * po/ChangeLog: Remove: all but one entry was a duplicate
+       of this file, and I moved that 2000-11-02 entry here.
+
+       * config/.cvsignore: Add Makefile, depcomp, install-sh.
+       * lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c,
+       argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h,
+       exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c,
+       getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h,
+       hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c,
+       memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h,
+       quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h,
+       strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c,
+       strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c,
+       unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c,
+       xstrndup.h.
+       * m4/.cvsignore: Remove Makefile, Makefile.in.  Add alloca.m4,
+       dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4,
+       mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4,
+       stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4.
+       * po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars.
+       * src/.cvsignore: Remove *_.c.
+
+
+       * Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't
+       support it.  (The latest stable gzip doesn't.)
+
+2004-04-27  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this
+       case, as stos_ is now used by destructors due to the 2004-02-09
+       change.
+
+       Remove more K&R C support.
+       * lib/libiberty.y (PARAMS): Remove.  All uses removed.
+       * lib/subpipe.c (errno): Remove decl.
+       Include <stdlib.h> unconditionally.
+       (EXIT_FAILURE): Remove macro.
+       * src/complain.c (vfprintf, strerror): Remove.
+       * src/system.h: Include limits.h, stdlib.h, string.h, locale.h
+       unconditionally.
+       (EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns.
+       Use latest Autoconf recommendations for including inttypes.h, stdint.h.
+       (strchr, strspn, memchr): Remove decls.
+       * tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h
+       unconditionally.  Do not declare perror.
+       * tests/conflicts.at (%nonassoc and eof): Include stdlib.h
+       unconditionally.
+
+       * src/complain.c (_): Remove useless defn, as system.h defines this.
+
+       * lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed
+       with latest obstack.h.
+       * lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args
+       to procedure types, as obstack.h now does that for us.
+       * lib/lbitset.c (lbitset_elt_alloc): Likewise.
+
+       * lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>,
+       so that this include file can stand alone.
+       * lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h
+       does this now.  Include subpipe.h first after config.h, to
+       test whether it can stand alone.
+
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't
+       declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the
+       unused declaration.
+
+       * tests/synclines.at (%union synch line): Put a dummy member in
+       the union, because empty unions aren't allowed in C.  Caught
+       by GCC 3.4.0.
+
+2004-04-13  Jim Meyering  <jim@meyering.net>
+
+       * src/conflicts.c (conflicts_print): Correct format string typo:
+       use `%%' to produce literal `%'.  (trivial change)
+
+2004-03-30  Paul Eggert  <eggert@twinsun.com>
+
+       * src/getargs.c (version): Update copyright year to 2004.
+
+       * data/c.m4 (b4_int_type): Use 'short int' rather than
+       'short', and similarly for 'long', 'unsigned', etc.
+       * data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum,
+       yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError,
+       yy_yypstack, yydumpstack): Likewise.
+       * data/lalr1.cc (user_token_number_max_, user_token_number_max_,
+       translate_, seq_, [], pop, Slice, range_, operator+, operator+=):
+       Likewise.
+       * data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char,
+       yy_stack_print, yyparse): Likewise.
+       * doc/bison.texinfo (Prologue, Multiple Types): Likewise.
+       * lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise.
+       * lib/bitset.c (bitset_print): Likewise.
+       * lib/bitset_stats.c (bitste_log_histogram_print): Likewise.
+       * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
+       * lib/bitsetv.c (bitsetv_dump): Likewise.
+       * lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise.
+       * lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset):
+       Likewise.
+       * src/LR0.c (allocate_itemsets): Likewise.
+       * src/gram.h (rule_number, rule): Likewise.
+       * src/lalr.h (goto_number): Likewise.
+       * src/nullable.c (nullable_compute): Likewise.
+       * src/output.c (prepare_rules): Likewise.
+       * src/relation.c (relation_print, relation_digraph): Likewise.
+       * src/relation.h (relation_node): Likewise.
+       * src/state.h (state_number, transitions, errs, reductions,
+       struct state): Likewise.
+       * src/symtab.h (symbol_number, struct symbol): Likewise.
+       * src/tables.c (vector_number, tally, action_number,
+       default_goto, goto_actions): Likewise.
+       * tests/existing.at (GNU Cim Grammar): Likewise.
+       * tests/regression.at (Web2c Actions): Likewise.
+
+       * src/output.c (muscle_insert_short_int_table): Renamed from
+       muscle_insert_short_table.  All uses changed.
+
+2004-03-25  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+       * src/parse-gram.y: Define PERCENT_EXPECT_RR.
+       (declaration): Replace expected_conflicts with expected_sr_conflicts.
+       Add %expect-rr rule.
+
+       * src/scan-gram.l: Recognize %expect-rr.
+
+       * src/conflicts.h (expected_sr_conflicts): Rename from
+       expected_conflicts.
+       (expected_rr_conflicts): Declare.
+
+       * src/conflicts.c (expected_sr_conflicts): Rename from
+       expected_conflicts.
+       (expected_rr_conflicts): Define.
+       (conflicts_print): Check r/r conflicts against expected_rr_conflicts
+       for GLR parsers.
+       Use expected_sr_conflicts in place of expected_conflicts.
+       Warn if expected_rr_conflicts used in non-GLR parser.
+
+       * doc/bison.texinfo: Add documentation for %expect-rr.
+
+2004-03-08  Paul Eggert  <eggert@gnu.org>
+
+       Add support for hex token numbers.  Suggested by Odd Arild Olsen in
+       <http://lists.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
+
+       * NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
+       in lalr1.cc.
+       * doc/bison.texinfo (Token Decl): Add hexadecimal token numbers.
+       * src/scan-gram.l (scan_integer): New function.
+       ({int}): Use it.
+       (0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers.
+       (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+,
+       handle_action_dollar, handle_action_at, convert_ucn_to_byte):
+       Say "long int", not "long", for uniformity with GNU style.
+
+2004-02-25  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from
+       compilers.  This fixes a problem with Intel's C++ compiler being
+       chatty, reported by Guido Trentalancia in
+       <http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
+
+2004-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       Support %destructor and merge error locations in lalr1.cc.
+
+       * data/lalr1.cc (b4_cxx_destruct_def): New macro.
+       (Parser::stos_): Define unconditionally.
+       (Parser::destruct_): New method.  Generate its body with
+       b4_yydestruct_generate.
+       (Parser::error_start_): New attribute.
+       (Parser::parse) <yyerrlab, yyerrlab1>: Call destruct_ on erroneous
+       token which are discarded.
+       (Parser::parse) <yyerrlab, yyerrorlab, yyerrlab1>: Update
+       error_start_ when erroneous token are discarded.
+       (Parser::parse) <yyerrlab1>: Compute the location of the error
+       token so that it covers all the discarded tokens.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust so
+       it can be called with `%skeleton "lalr1.cc"', and do that.
+
+2004-02-02  Paul Eggert  <eggert@twinsun.com>
+
+       * src/Makefile.am (AM_CPPFLAGS): New macro.  It mentions
+       $(top_srcdir)/lib and ../lib.  This fixes a bug reported
+       by Paul Hilfinger; the old INCLUDES value didn't mention ../lib.
+       There's no need to mention top_builddir since Automake does that
+       for us.
+       (INCLUDES): Remove, as Automake says it's obsolescent.
+       Contents migrated into AM_CPPFLAGS as described above.
+       * lib/Makefile.am (INCLUDES): Remove; obsolescent.
+
+2004-01-14  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+       * data/glr.c (yytokenName): Bullet-proof against YYEMPTY token.
+       (yyreportSyntaxError): Handle case where lookahead token is
+       YYEMPTY.
+
+2004-01-13  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/glr.c: Put casts on uses of YYREALLOC and YYMALLOC so that
+       resulting parsers are compilable with C++.
+
+2003-12-23  Paul Eggert  <eggert@twinsun.com>
+
+       * config/depcomp, config/install-sh: Sync with Automake 1.8.
+       * src/output.c (output_skeleton): Rename local var.
+       * tests/input.at (Torturing the Scanner): Don't use \x0 or \0 in
+       Bison tokens, as this runs afoul of the 2003-10-07 change that
+       disallowed NUL bytes in character constants or string literals.
+
+       * tests/local.at: Require Autoconf 2.59's Autotest.
+       * tests/testsuite.at: Don't include local.at, since we now assume
+       Autoconf 2.59 or later.  Autoconf 2.59 had some problems with
+       including it.
+       * tests/Makefile.am ($(TESTSUITE)): Remove warning about ignoring
+       multiple inclusion warnings.
+
+2003-12-02  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (How Can I Reset the Parser): More about start
+       conditions.
+       From Bruno Haible.
+
+2003-11-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * doc/bison.texinfo (Bison Options): Escape `@' in `$@'.
+
+2003-10-07  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/Makefile.am (clean-local): Don't run 'testsuite --clean'
+       if testsuite doesn't exist.
+
+       * doc/bison.texinfo (Symbols): NUL bytes are not allowed in string
+       literals, unfortunately.
+       * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
+       Complain about NUL bytes in character constants or string literals.
+
+2003-10-05  Paul Eggert  <eggert@twinsun.com>
+
+       * NEWS: Don't document %no-default-prec, as it's still
+       too experimental.
+       * doc/bison.texinfo: Document %no-default-prec only if
+       the defaultprec flag is set.  Normally it's not.
+
+2003-10-04  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (b4_rhs_value, b4_rhs_location): Yield a
+       non-modifiable lvalue, instead of a modifiable one.
+       * doc/bison.texinfo (Actions): Document that $$ can
+       be assigned to.  Do not claim that $$ and $N are
+       array element references: user code should not rely on this.
+
+2003-10-01  Paul Eggert  <eggert@twinsun.com>
+
+       * src/parse-gram.h (PERCENT_NO_DEFAULT_PREC): New token.
+       (grammar_declaration): Use it.
+       * src/scan-gram.l: New token %no-default-prec.
+       * tests/conflicts.at: Revamp tests to use %no-default-prec.
+       * NEWS, doc/bison.texinfo: Document the above.
+
+2003-10-01  Akim Demaille  <akim@epita.fr>
+
+       VCG no longer supports long_straight_phase.
+
+       * src/vcg.c, src/vcg.h: Remove the handling of long_straight_phase.
+       * src/print_graph.c (print_graph): Adjust.
+
+2003-09-30  Frank Heckenbach  <frank@g-n-u.de>
+       and Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (Decl Summary, Contextual Precedence,
+       Table of Symbols): Document %default-prec.
+       * src/parse-gram.y (PERCENT_DEFAULT_PREC): New token.
+       (grammar_declaration): Set default_prec on %default-prec.
+       * src/scan-gram.l (%default-prec): New token.
+       * src/reader.h (default_prec): New flag.
+       * src/reader.c: Likewise.
+       (packgram): Handle it.
+       * tests/conflicts.at (%default-prec without %prec,
+       %default-prec with %prec, %default-prec 1): New tests.
+
+2003-09-30  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/testsuite.at: Include local.at, not input.at, fixing
+       a typo in the 2003-08-25 patch.
+
+2003-08-27  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (yyparse) [__GNUC__]: "Use" yyerrorlab to pacify
+       GCC warnings.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+       * config/announce-gen (print_changelog_deltas): Neutralize "<#" as
+       "<\#" to avoid magic from Gnus when posting parts of this script.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::report_syntax_error_): New, extracted from
+       (Parser::parse): here.
+       Adjust: nerrs and errstatus is now replaced by...
+       (Parser::nerrs_, Parser::errstatus_): New.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * config/announce-gen, Makefile.cfg: New.
+       * Makefile.am: Adjust.
+       * GNUmakefile, Makefile.maint: Update from CVS Autoconf, but
+       keeping local WGET and WGETFLAGS modifications from Paul Eggert.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       When reducing initial empty rules, Bison parser read an initial
+       location that is not defined.  This results in garbage, and that
+       affects Bison's own parser.  Therefore we need (i) to extend Bison
+       to support a means to initialize this location, and (ii) to use
+       this CVS Bison to fix CVS Bison's parser.
+
+       * src/reader.h, reader.c (epilogue_augment): Remove, replace
+       with...
+       * src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this.
+       * src/parse-gram.y: Adjust.
+       (%initial-action): New.
+       (%error-verbose): Since we require CVS Bison, there is no reason
+       not to use it.
+       * src/scan-gram.l: Adjust.
+       * src/Makefile.am (YACC): New, to make sure we use our own parser.
+       * data/yacc.c (yyparse): Use b4_initial_action.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Don't promote stdout for error messages.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::reduce_print_): Remove unused yyi.
+       From Alexandre Duret-Lutz.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       Version 1.875c.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New.
+       Use them.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::reduce_print_): New.
+       Use it.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       Have lalr1.cc catch with Paul Eggert's patch to fix the infinite
+       error recovery loops.  This patch is based on
+       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>.
+       Also, augment the similarity between lalr1.cc and yacc.c.
+       Note: the locations of error recovery rules are not correct yet.
+
+       * data/lalr1.cc: Comment changes to augment the similarity between
+       lalr1.cc and yacc.c.
+       (YYERROR): Goto to yyerrorlab, not yyerrlab1.
+       (yyerrlab1): Remove, but where it used to be (now the bottom part of
+       yyerrlab), when hitting EOF, pop the whole stack here instead of
+       merely falling thru the default error handling mechanism.
+       (yyerrorlab): New label, with the old contents of YYERROR,
+       plus the following change: pop the stack of rhs corresponding
+       to the production that invoked YYERROR.  That is how Yacc
+       behaves (required by POSIX).
+       * tests/calc.at (AT_CHECK_CALC_LALR1_CC): No longer expected to
+       fail.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       Tune local.at so that people can "autom4te -l autotest calc.at -o
+       calc" for instance, to extract a sub test suite.
+
+       * tests/testsuite.at: Move the initialization, Autotest version
+       requirement, and AT_TESTED invocation into...
+       * tests/local.at: here.
+       * tests/testsuite.at: Include it for compatibility with Autoconf
+       2.57.
+       * tests/Makefile.am ($(TESTSUITE)): Report that the warning should
+       be ignore.
+
+2003-08-04  Paul Eggert  <eggert@twinsun.com>
+
+       Rework code slightly to avoid gcc -Wtraditional warnings.
+       * data/glr.c (yyuserMerge): Return void, not YYSTYPE.
+       The returned value is now stored in *YY0.  All callers changed.
+       * src/output.c (merge_output): Adjust to the above change.
+
+2003-07-26  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYASSERT): New macro.
+       (yyfillin, yydoAction, yyglrReduce, yysplitStack,
+       yyresolveStates, yyprocessOneStack):
+       Use `YYASSERT (FOO);' rather than `if (! (FOO)) abort ();'.
+       Derived from a suggestion by Frank Heckenbach.
+
+2003-07-25  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yyglrReduce): Don't use C89 string concatenation,
+       for portability to K&R C (after ansi2knr, presumably).  See
+       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>
+       by Frank Heckenbach, though I have omitted the structure-initialization
+       part of his glr-knr.diff patch since I recall that the Portable
+       C Compiler didn't require that change.
+
+       Let the user specify how to allocate and free memory.
+       Derived from a suggestion by Frank Heckenbach in
+       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>.
+       * data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
+       All uses of free, malloc, realloc changed to use these macros,
+       and unnecessary casts removed.
+       * data/yacc.c (YYFREE, YYMALLOC): Likewise.
+
+2003-07-06  Matthias Mann  <MatthiasMann@gmx.de>
+
+       * data/lalr1.cc (operator<<(std::ostream&, const Position&)):
+       use s.empty() rather than s == "" to test for empty string; see
+       <http://lists.gnu.org/archive/html/bison-patches/2003-07/msg00003.html>
+       (trivial change)
+
+2003-06-25  Akim Demaille  <akim@epita.fr>
+
+       * config/depcomp, config/install-sh: Update from masters.
+
+2003-06-20  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYLLOC_DEFAULT): Parenthesize arguments as needed,
+       and return properly parenthesized result.
+       * data/lalar1.cc (YYLLOC_DEFAULT): Likewise.
+       * data/yacc.c (YYLLOC_DEFAULT): Likewise.
+       Remove unnecessary parentheses from uses.
+       * doc/bison.texinfo (Location Default Action): Describe the
+       conventions for parentheses.
+
+2003-06-19  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yyremoveDeletes, yy_reduce_print, yyglrReduce,
+       yyreportTree): Do not assume that size_t is the same width as int,
+       when printing sizes.  Print sizes using an unsigned format.
+       Problem reported by Frank Heckenbach in
+       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>.
+
+       Port to Forte Developer 7 C compiler.
+       * data/glr.c (struct YYLTYPE): If locations are not being used,
+       declare a single dummy member, as empty structs do not conform
+       to the C standard.
+       (YYERROR, YYBACKUP): Do not use "do { ...; return foo; } while (0)";
+       the Forte Developer 7 C compiler complains that end-of-loop
+       code is not reached.
+
+2003-06-17  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/libiberty.h (PARAMS): Spell argument as Args, not as X, to
+       avoid warnings from picky compilers about redefinition of PARAMS.
+
+2003-06-17  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.875b.
+
+       * NEWS: Document 1.875b.
+
+       * lib/bbitset.h: Do not include config.h; that's the includer's job.
+       Do not include <sys/types.h>; shouldn't be needed on a C89 host.
+       * lib/bitset.h (bitset_compatible_p): Indent as per GNU standard.
+       Don't use 'index' in comments, as it's a builtin fn on some hosts.
+       * lib/bitset_stats.c: Include gettext.h unconditionally, as
+       per recent gettext manual's suggestion.
+       * lib/ebitset.c (ebitset_resize, ebitset_unused_clear):
+       Use prototypes, not old-style definitions.
+       * lib/lbitset.c (lbitset_unused_clear): Likewise.
+       * lib/vbitset.c (vbitset_resize, vbitset_ones, vbitset_zero,
+       vbitset_empty_p, vbitset_copy1, vbitset_not, vbitset_equal_p,
+       vbitset_subset_p, vbitset_disjoint_p, vbitset_and, vbitset_and_cmp,
+       vbitset_andn, vbitset_andn_cmp, vbitset_or, vbitset_or_cmp,
+       vbitset_xor, vbitset_xor_cmp, vbitset_and_or, vbitset_and_or_cmp,
+       vbitset_andn_or, vbitset_andn_or_cmp, vbitset_or_and,
+       vbitset_or_and_cmp, vbitset_copy): Likewise.
+
+       * lib/libiberty.h: Do not include config.h; that's the includer's job.
+       Do not include <stdlib.h>.
+       (PARAMS): Define unconditionally for C89.
+       (ATTRIBUTE_NORETURN): Remove.
+       (ATTRIBUTE_UNUSED): Define unconditionally.
+
+       Upgrade to 2003-06-08 libbitset, submitted by Michael Hayes in:
+       <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00005.html>
+       * lib/Makefile.am (bitsets_sources): Add vbitset.c, vbitset.h.
+       * lib/vbitset.c, lib/vbitset.h: New files.
+       * lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
+       lib/bitset_stats.c, lib/ebitset.c, lib/lbitset.c: Import
+       from libbitset.
+
+       * doc/bison.texinfo (How Can I Reset the Parser): Renamed from
+       `How Can I Reset @code{yyparse}', since texinfo does not allow
+       arbitrary @ in node names.
+
+       * m4/Makefile.am (EXTRA_DIST): Add the following files, which
+       shouldn't be needed according to the gettext 0.12.1 documentation
+       but which seem to be needed anyway: codeset.m4 glibc21.m4
+       intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4
+       lcmessage.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4.
+       * po/Makefile.in.in: Upgrade to gettext 0.12.1 version.
+
+       * lib/.cvsignore: Add stdbool.h.
+       * m4/.cvsignore: Add nls.m4, po.m4.
+
+       Upgrade to CVS gnulib.
+       * stdbool_.h: File renamed from stdbool.h.in.
+       * configure.ac (AM_STDBOOL_H): Invoke this instead of
+       AC_HEADER_STDBOOL.
+       (AM_GNU_GETTEXT): Put brackets around args, as latest manual suggests.
+       (AM_GNU_GETTEXT_VERSION): Update to 0.12.1.
+       * lib/Makefile.am (EXTRA_DIST): Add stdbool_.h.
+       (MOSTLYCLEANFILES): New var.
+       ($(libbison_a_OBJECTS)): Depend on $(STDBOOL_H).
+       (stdbool.h): New rule.
+       * lib/dirname.c, lib/dirname.h, lib/hash.c, lib/hash.h,
+       lib/malloc.c, lib/obstack.h, lib/quote.c, lib/realloc.c,
+       lib/strcasecmp.c, lib/xalloc.h, m4/alloca.m4, m4/onceonly.m4,
+       m4/quote.m4: Upgrade to today's gnulib.
+
+       * tests/calc.at (AT_CHECK_CALC): New option EXPECTED-TO-FAIL.
+       (AT_CHECK_CALC_LALR1_CC): Use it, since the C++ LALR parser fails
+       the tests right now.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Ensure yylex and
+       yyerror are declared before use; C99 requires this.
+
+2003-06-09  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/glr.c (YYERROR): Update definition to reset yyerrState to 0
+       first.
+       (yyrecoverSyntaxError): Correct the logic for setting and testing
+       yyerrState.
+       Correct comment on handling EOF.
+       Allow states with only a default reduction, rather than failing
+       (I can't quite reconstruct why these were not allowed before).
+
+       Fixes to avoid problem that $-N rules in GLR parsers can cause
+       buffer overruns, corrupting state.
+
+       * src/output.c (prepare_rules): Output max_left_semantic_context
+       definition.
+       * src/reader.h (max_left_semantic_context): New variable declaration.
+       * src/scan-gram.l (max_left_semantic_context): Define.
+       (handle_action_dollar): Update max_left_semantic_context.
+       * data/glr.c (YYMAXLEFT): New definition.
+       (yydoAction): Increase size of yyrhsVals by YYMAXLEFT.
+       (yyresolveAction): Ditto.
+
+       Fixes to problems with location handling in GLR parsers reported by
+       Frank Heckenbach (2003/06/05).
+
+       * data/glr.c (YYLTYPE): Make trivial if locations not used.
+       (YYRHSLOC): Add parentheses, and define only if locations used.
+       (YYLLOC_DEFAULT): Add parentheses, and give trivial definition if
+       locations not used.
+       (yyuserAction): Use YYLLOC_DEFAULT to set *yylocp.
+       (yydoAction): Remove redundant initialization of *yyvalp and *yylocp.
+
+       * tests/cxx-type.at: Exercise location information; update tests
+       to differentiate output with and without locations.
+       Remove forward declarations of yylex and yyerror---caused errors
+       because default YYLTYPE not yet defined.
+       Change semantic actions to compute strings, rather than printing
+       them directly (to test proper passing of semantics values).  Change
+       output to prefix notation and update test data and expected results.
+       (yylex): Track locations.
+       (stmtMerge): Return value rather than printing, and include arguments
+       in value.
+
+2003-06-03  Paul Eggert  <eggert@twinsun.com>
+
+       Avoid warnings generated by GCC 2.95.4 when Bison is
+       configured with --enable-gcc-warnings.
+       * data/lalr1.cc (yy::]b4_parser_class_name[::parse,
+       yy::]b4_parser_class_name[::translate_,
+       yy::Stack::operator[] (unsigned),
+       yy::Stack::operator[] (unsigned) const,
+       yy::Slice::operator[] (unsigned),
+       yy::Slice::operator[] (unsigned) const):
+       Rename local vars to avoid warnings.
+       * tests/glr-regression.at (Improper handling of embedded actions
+       and $-N in GLR parsers): Remove unused local variable from yylex.
+       * tests/regression.at (_AT_DATA_DANCER_Y): Declare yylex to take
+       (void) as arg when not pure, since we now assume C89 when building
+       Bison.  Pacify GCC by using parameter.
+
+2003-06-02  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc (yy::Position::lines, yy::Position::columns,
+       yy::Location::lines, yy::Location::columns): Rename arguments
+       to avoid shadowing; this removes a warning generated by GCC 3.3.
+
+2003-06-01  Paul Eggert  <eggert@twinsun.com>
+
+       Don't pass C-only warning optins (e.g., -Wmissing-declarations)
+       to g++, as GCC 3.3 complains if you do it.
+       * configure.ac (WARNING_CXXFLAGS): New subst.  Set it to
+       everything that WARNING_CFLAGS has, except omit warnings
+       not suitable for C++.
+       (AC_PROG_CXX): Use this instead of AC_CHECK_PROGS([CXX], [g++]).
+       * tests/atlocal.in (CXXFLAGS): New var.
+       * tests/local.at (AT_COMPILE_CXX): Use it instead of CFLAGS.
+
+       Fix a GLR parser bug I reported in February; see
+       <http://lists.gnu.org/archive/html/bison-patches/2003-02/msg00008.html>.
+       The problem was that GLR parsers did not conform to the C standard,
+       because actions like { $1 = $2 + $3; } expanded to expressions
+       that invoked YYFILL in separate subexpressions, and YYFILL assigned
+       to a local variable.  The C standard says that expressions
+       like (var = f ()) + (var = f ()) have undefined behavior.
+       Another problem was that GCC sometimes issues warnings that
+       yyfill and its parameters are unused.
+
+       * data/glr.c (yyfillin): Renamed from the old yyfill.  Mark
+       as possibly unused.
+       (yyfill): New function.
+       (YYFILL): Use it.
+       (yyuserAction): Change type of yynormal to bool, so that it matches
+       the new yyfill signature.  Mark it as possibly unused.
+
+
+       Follow up on a bug I reported in February, where a Bison-generated
+       parser can loop.  Provide a test case and a fix for yacc.c.  I
+       don't have a fix for lalr1.cc or for glr.c, unfortunately.
+       The original bug report is in:
+       <http://lists.gnu.org/archive/html/bison-patches/2003-02/msg00044.html>
+
+       * data/yacc.c (YYERROR): Now just 'goto yyerrorlab', since the
+       macro's size was becoming unwieldy.
+       (yyerrlab): Do not discard an empty lookahead symbol, as this
+       might destroy garbage.
+       (yyerrorlab): New label, with the old contents of YYERROR,
+       plus the following change: pop the stack of rhs corresponding
+       to the production that invoked YYERROR.  That is how Yacc
+       behaves, and POSIX requires this behavior.
+       (yyerrlab1): Use YYPOPSTACK instead of its definiens.
+       * tests/calc.at (_AT_DATA_CALC_Y): Include unistd.h if available.
+       Define 'alarm' to do nothing if unistd.h is not available.
+       Add a new rule "exp: '-' error;" to test the above change to
+       data/yacc.c.  Use 'alarm' to abort any test taking longer than
+       10 seconds, as it's probably looping.
+       (AT_CHECK_CALC): Test recovery from error in new grammar rule.
+       Also, the new yacc.c generates two fewer diagnostics for an
+       existing test.
+
+2003-05-24  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYSTACKEXPANDABLE): Do not evaluate
+       YYSTYPE_IS_TRIVIAL or YYSTYPE_IS_TRIVIAL unless they are defined.
+       This fixes a problem reported by John Bowman when the Compaq/HP
+       Alpha cxx compiler happy (e.g. using cxx -D__USE_STD_IOSTREAM
+       -ansi -Wall -gall).
+       * data/yacc.c (union yyalloc): Likewise.
+       (YYCOPY): Do not evaluate __GNUC__ unless it is defined.
+
+       Switch from 'int' to 'bool' where that makes sense.
+
+       * lib/abitset.c (abitset_test, abitset_empty_p, abitset_equal_p,
+       abitset_subset_p, abitset_disjoint_p, abitset_and_cmp,
+       abitset_andn_cmp, abitset_or_cmp, abitset_xor_cmp, abitset_and_or,
+       abitset_and_or_cmp, abitset_andn_or_cmp, abitset_or_and_cmp):
+       Return or accept bool, not int.  All callers changed.
+       * lib/bbitset.h: (bitset_toggle_, bitset_copy_, bitset_and_or_cmp_,
+       bitset_andn_or_cmp_, bitset_or_and_cmp_): Likewise.
+       * lib/bitset.c (bitset_only_set_p, bitset_print, bitset_toggle_,
+       bitset_copy_, bitset_op4_cmp, bitset_and_or_cmp_, bitset_andn_or_cmp_,
+       bitset_or_and_cmp_): Likewise.
+       * lib/bitset.h (bitset_test, bitset_only_set_p): Likewise.
+       * lib/bitset_stats.c (bitset_stats_print, bitset_stats_toggle,
+       bitset_stats_test, bitset_stats_empty_p, bitset_stats_disjoint_p,
+       bitset_stats_equal_p, bitset_stats_subset_p, bitset_stats_and_cmp,
+       bitset_stats_andn_cmp, bitset_stats_or_cmp, bitset_stats_xor_cmp,
+       bitset_stats_and_or_cmp, bitset_stats_andn_or_cmp,
+       bitset_stats_or_and_cmp): Likewise.
+       * lib/ebitset.c (ebitset_elt_zero_p, ebitset_equal_p, ebitset_copy_cmp,
+       ebitset_test, ebitset_empty_p, ebitset_subset_p, ebitset_disjoint_p,
+       ebitset_op3_cmp, ebitset_and_cmp, ebitset_andn_cmp, ebitset_or_cmp,
+       ebitset_xor_cmp): Likewise.
+       * lib/lbitset.c (lbitset_elt_zero_p, lbitset_equal_p, lbitset_copy_cmp,
+       lbitset_test, lbitset_empty_p, lbitset_subset_p, lbitset_disjoint_p,
+       lbitset_op3_cmp, lbitset_and_cmp, lbitset_andn_cmp, lbitset_or_cmp,
+       lbitset_xor_cmp): Likewise.
+       * lib/bbitset.h: Include <stdbool.h>.
+       (struct bitset_vtable): The following members now return bool, not
+       int: toggle, test, empty_p, disjoint_p, equal_p, subset_p,
+       and_cmp, andn_cmp, or_cmp, xor_cmp, and_or_cmp, andn_or_cmp,
+       or_and_cmp).
+       * src/conflicts.c (count_rr_conflicts): Likewise.
+       * lib/bitset_stats.h (bitset_stats_enabled): Now bool, not int.
+       All uses changed.
+       * lib/ebitset.c (ebitset_obstack_init): Likewise.
+       * lib/lbitset.c (lbitset_obstack_init): Likewise.
+       * src/getargs.c (debug_flag, defines_flag, locations_flag,
+       no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
+       graph_flag): Likewise.
+       * src/getargs.h (debug_flag, defines_flag, locations_flag,
+       no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
+       graph_flag): Likewise.
+       * src/output.c (error_verbose): Likewise.
+       * src/output.h (error_verbose): Likewise.
+       * src/reader.c (start_flag, typed): Likewise.
+       * src/reader.h (typed): Likewise.
+       * src/getargs.c (LOCATIONS_OPTION): New constant.
+       (long_options, getargs): Use it.
+       * src/lalr.c (build_relations): Use bool, not int.
+       * src/nullable.c (nullable_compute): Likewise.
+       * src/print.c (print_reductions): Likewise.
+       * src/tables.c (action_row, pack_vector): Likewise.
+       * src/muscle_tab.h (MUSCLE_INSERT_BOOL): New macro.
+       * src/output.c (prepare): Use it.
+       * src/output.c (token_definitions_output,
+       symbol_destructors_output, symbol_destructors_output): Use string,
+       not boolean integer, to keep track of whether to output separator.
+       * src/print_graph.c (print_core): Likewise.
+       * src/state.c (state_rule_lookaheads_print): Likewise.
+
+       * config/install-sh: Sync from automake 1.7.5.
+
+2003-05-14  Paul Eggert  <eggert@twinsun.com>
+
+       * src/parse-gram.y (rules_or_grammar_declaration): Require a
+       semicolon after a grammar declaration, in the interest of possible
+       future changes to the Bison input language.
+       Do not allow a stray semicolon at the start of the grammar.
+       (rhses.1): Allow one or more semicolons after any rule, including
+       just before "|" as required by POSIX.
+       * tests/input.at (Torturing the Scanner): Add tests for ";|" in a
+       grammar.
+
+2003-05-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       %parse-param support for lalr1.cc.
+
+       * data/lalr1.cc (b4_parse_param_decl, b4_parse_param_cons,
+       b4_cc_constructor_calls, b4_cc_constructor_call,
+       b4_parse_param_vars, b4_cc_var_decls, b4_cc_var_decl): New m4
+       definitions.
+       (yy::b4_parser_class_name::b4_parser_class_name): Take extra
+       parse-param arguments.
+       (yy::b4_parser_class_name): Declare instance variables to
+       hold parse-param arguments.
+       * tests/calc.at: s/value/semantic_value/ because value clashes
+       with a member of yy::b4_parser_class_name.  Adjust C++ code
+       to handle %parse-param.  Enable %parse-param test in C++.
+
+2003-05-12  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (How Can I Reset @code{yyparse}): Reword the
+       English a bit.  Fix fclose typo.  Change "const char" to "char
+       const", and use ANSI C rather than K&R for "main".  Suggest
+       YY_FLUSH_BUFFER over yyrestart (as that is what Flex recommends)
+       and suggest yy_switch_to_buffer.
+
+2003-05-05  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/bitset.h (__INT_TO_PTR): Define to a value that presumes
+       C89.  This avoids a diagnostic on compilers that define __STDC__
+       to 0, fixing a problem with Tru64 cc reported by Martin Mokrejs in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
+
+2003-05-03  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/bitset.h (BITSET_FOR_EACH, BITSET_FOR_EACH_REVERSE):
+       Do not overrun array bounds.
+       This should fix a bug reported today by Olatunji Oluwabukunmi in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-05/msg00004.html>.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (pure_parser, glr_parser): Move to...
+       * src/getargs.c, src/getargs.h: here, as bool, not int.
+       (nondeterministic_parser): New.
+       * src/parse-gram.y, src/scan-gram.l: Support
+       %nondeterministic-parser.
+       * src/output.c (prepare): Use nondeterministic_parser instead
+       of glr_parser where appropriate.
+       * src/tables.c (conflict_row, action_row, save_row)
+       (token_actions, token_actions, pack_vector): Ditto.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (C++ Parsers, Implementing Loops): New.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at: Also test yacc.c and glr.c (but not lalr1.cc yet)
+       with %pure-parser and %locations to exercise the patch from Yakov
+       Markovitch below.
+
+2003-04-28  Tim Van Holder <tim.van.holder@pandora.be>
+
+       * data/yacc.c: (b4_lex_param): Corrected for the case where
+       %lex-param is provided and %pure-parser isn't.
+
+2003-04-27  Paul Eggert  <eggert@twinsun.com>
+
+       Avoid gcc -Wundef warnings reported by Gerald Pfeifer in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00044.html>.
+       * data/yacc.c (YYSTACK_ALLOC): Don't evaluate YYSTACK_USE_ALLOCA
+       if it is not defined.
+       (YYMAXDEPTH): Don't evaluate YYMAXDEPTH if it is not defined.
+
+2003-04-26  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc (yy::Parser::pact_ninf_, yy::Parser::table_ninf_):
+       Declare to be of type suitable for the ninf value itself, not of
+       type suitable for the corresponding table, since the latter might
+       be unsigned but the ninf value might be negative.  This fixes a
+       bug reported by Alexandre Duret-Lutz in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00017.html>.
+
+       * configure.ac (AC_FUNC_ERROR_AT_LINE): Remove, since gl_ERROR
+       invokes it.  We shouldn't invoke it twice because it will attempt
+       to put error.o in the archive twice.  This fixes a glitch reported
+       by Martin Mokrejs in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
+
+2003-04-21  Paul Eggert  <eggert@twinsun.com>
+
+       * m4/error.m4: Update from Bruno Haible's 2003-04-14 patch
+       to gnulib.
+
+2003-04-21  Yakov Markovitch <Markovitch@iso.ru>
+
+       * data/glr.c (yyexpandGLRStack) [!YYSTACKEXPANDABLE]:
+       Fix obvious typo that results in uncompilable GLR parsers
+       when both %pure-parser and %locations are used.  (trivial change)
+
+2003-04-17  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l: Add %option nounput, since we no longer use unput.
+       (unexpected_eof): Renamed from unexpected_end_of_file, for brevity.
+       Do not insert the expected token via unput, as this runs afoul
+       of a POSIX-compatibility bug in flex 2.5.31.
+       All uses changed to BEGIN the parent state,
+       since we no longer insert the expected token via unput.
+       * tests/regression.at (Invalid inputs): Remove cascaded diagnostic
+       that is no longer emitted after the above change.
+
+       * src/conflicts.c (set_conflicts): Resolve all conflicts, not just
+       the first one.  This change is from Paul Hilfinger, and it fixes
+       regression reported by Werner Lemberg in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
+
+       (resolve_sr_conflict): Don't invoke state_errs_set
+       unless one or more tokens have been explicitly made errors.
+       Otherwise, the above change causes Bison to abort.
+
+       * tests/existing.at (GNU pic Grammar): New test case, taken from
+       Lemberg's email.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * doc/Makefile.am (AM_MAKEINFOFLAGS): Don't split the info file.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare_symbols): Avoid trailing spaces in the
+       output.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Strings are Destroyed): s/losses/loses/.
+       From Paul Hilfinger.
+
+2003-03-29  Akim Demaille  <akim@epita.fr>
+
+       * m4/error.m4: Do not put under dynamic conditions some code which
+       expansion is under static control.
+
+2003-03-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (How Can I Reset @code{yyparse}): New.
+
+2003-03-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Strings are Destroyed): New.
+
+2003-03-13  Paul Eggert  <eggert@twinsun.com>
+
+       * .cvsignore: Add configure.lineno.
+       * src/.cvsignore: Add yacc.
+       * tests/.cvsignore: Add testsuite.log.
+       * doc/fdl.texi: Sync with latest FSF version.
+
+2003-03-12  Paul Eggert  <eggert@twinsun.com>
+
+       * scan-gram.l (YY_USER_INIT): Initialize code_start, too.
+       (<INITIAL><<EOF>>, <SC_PRE_CODE><<EOF>>): Set *loc to the scanner
+       cursor, instead of leaving it undefined.  This fixes a bug
+       reported by Tim Van Holder in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-03/msg00023.html>.
+       * tests/input.at (Torturing the Scanner): Test the scanner on
+       an empty input file, which was Tim Van Holder's test case.
+
+       * m4/timevar.m4 (BISON_PREREQ_TIMEVAR): When checking whether
+       <sys/resource.h> can be included, include sys/time.h and
+       sys/times.h first, if available.  This works around the SunOS
+       4.1.4 porting bug reported by Bruce Becker in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-03/msg00018.html>.
+
+       * m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't
+       AC_CHECK_HEADERS([sys/wait.h]), as this interferes with
+       AC_HEADER_SYS_WAIT.
+
+       Merge changes from gnulib.  This was prompted because the CVS
+       snapshot didn't build on Solaris 7 due to strnlen problems.
+
+       These changes need to be merged back into gnulib:
+       * lib/hash.c: Include <stdbool.h> unconditionally.
+       * m4/onceonly.m4 (m4_quote): New macro.
+       (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
+       Quote AC_FOREACH variable-expansions properly.
+       The 2003-01-03 obstack.h change also needs merging.
+       {end of changes requiring merging}
+
+       * lib/stdbool.h.in, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
+       m4/getopt.m4, m4/hash.m4, m4/malloc.m4, m4/memchr.m4,
+       m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/quote.m4,
+       m4/quotearg.m4, m4/realloc.m4, m4/stpcpy.m4, m4/strnlen.m4,
+       m4/strtol.m4, m4/strtoul.m4, m4/unlocked-io.m4, m4/xalloc.m4:
+       New files, imported from gnulib.
+       * m4/Makefile.am (EXTRA_DIST): Add the new m4/*.m4 files mentioned
+       above.
+
+       * lib/mbswidth.c, m4/error.m4, m4/mbrtowc.m4, m4/mbswidth.m4,
+       m4/memcmp.m4, m4/prereq.m4, m4/stdbool.m4: Update to current
+       gnulib sources.
+
+       * configure.ac (gl_DIRNAME, gl_GETOPT, gl_HASH, gl_QUOTE, gl_XALLOC):
+       Add.
+       (gl_ERROR): New, replacing jm_PREREQ_ERROR.
+       (gl_FUNC_ALLOCA): New, replacing AC_FUNC_ALLOCA.
+       (gl_FUNC_STPCPY): New, replacing AC_REPLACE_FUNCS(stpcpy).
+       (gl_FUNC_STRNLEN): New, replacing AC_FUNC_STRNLEN.
+       (gl_MBSWIDTH): New, replacing jm_PREREQ_MBSWIDTH.
+       (gl_OBSTACK): New, replacing AC_FUNC_OBSTACK.
+       (gl_QUOTEARG): New, replacing jm_PREREQ_QUOTEARG.
+       (jm_FUNC_GLIBC_UNLOCKED_IO, gl_FUNC_STPCPY, gl_FUNC_STRTOL): New.
+       (jm_FUNC_MALLOC): New, replacing AC_FUNC_MALLOC.
+       (jm_FUNC_REALLOC): New, replacing AC_FUNC_REALLOC.
+       (jm_PREREQ_ARGMATCH): Remove.
+       (AC_REPLACE_FUNCS): Remove memchr, memrchr, stpcpy, strtol, strtoul.
+       * lib/Makefile.am (libbison_a_SOURCES): Add argmatch.c, argmatch.h.
+
+       * src/system.h: Include <stdbool.h> unconditionally.
+
+       * lib/bbitset.h: Include <limits.h> unconditionally.  We have been
+       assuming at least C89 in the bitset code for some time now.
+
+2003-03-03  Akim Demaille  <akim@epita.fr>
+
+       * ro.po: New.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Table of Symbols): Reactivate the
+       documentation for %lex-param, and %parse-param.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c, data/glr.c, data/lal1.cc: Use similar code to
+       generate verbose error messages.
+       Use the number of tokens as an upper bound in yytname, as it
+       cannot be a non terminal.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (_AT_DATA_DANCER_Y): Fix the expected error
+       message.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (_AT_DATA_DANCER_Y, AT_CHECK_DANCER): New.
+       Use them to exercise yycheck overrun.
+       Based on Andrew Suffield's grammar.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       Create tests/local.at for Bison generic testing macros.
+
+       * tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Move to...
+       * tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
+       This new file.
+       * tests/calc.at (AT_CHECK_CALC): Adjust.
+       * tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR)
+       (AT_COMPILE, AT_COMPILE_CXX, AT_PARSER_CHECK): Move to...
+       * tests/local.at: here.
+       (AT_COMPILE_CXX): Tags the tests using it as c++.
+       Ignore the test if CXX is not functional.
+
+2003-03-01  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l (code_start): Initialize it to scanner_cursor,
+       not loc->end, since loc->end might contain garbage and this leads
+       to undefined behavior on some platforms.
+       (id_loc, token_start): Use (IF_LINTed) initial values that do not
+       depend on *loc, so that the reader doesn't give the the false
+       impression that *loc is initialized.
+       (<INITIAL>"%%"): Do not bother setting code_start, since its value
+       does not survive the return.
+
+2003-03-01  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l (code_start): Always initialize it when entering
+       into yylex, as SC_EPILOGUE is activated *before* the corresponding
+       yylex invocation.  An alternative would be making it static, but
+       then it starts with the second %%'s beginning, instead of its end.
+
+2003-02-28  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/mbswidth.c: Include <wchar.h> before "mbswidth.h", to work
+       around a UnixWare 7.1.1 porting bug reported by John Hughes in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00030.html>.
+
+2003-02-26  Paul Eggert  <eggert@twinsun.com>
+
+       * README: Mention compiler bug in Sun Forte Developer 6 update 2.
+       Remove Sequent/Pyramid discussion (nobody uses them any more).
+       Merge VMS and MS-DOS discussion; these ports may well be dead
+       but let's keep mentioning them for now.  Put <> around email
+       addresses.  Add copyright notice.
+
+2003-02-24  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yy_reduce_print): yylineno -> yylno,
+       to avoid collision with flex use of yylineno.
+       Problem reported by Bruce Lilly in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00016.html>.
+       * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
+       * data/yacc.c (yy_reduce_print): Likewise.
+
+       * config/depcomp: Sync with Automake 1.7.3.
+
+2003-02-21  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Use temporary variables instead of casts to
+       change integer types.
+       Suggested by Paul Eggert.
+
+2003-02-21  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Use "location" consistently to refer to @n,
+       to avoid confusions with lalr1.cc's notion of Position.
+       Suggested by Paul Eggert.
+
+2003-02-20  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (position.hh): Make sure "columns" never pushes
+       before initial_columns.
+       (location.hh): Use consistent variable names when defining the
+       operator<<.
+       Use "last" so that we subtract from Positions, not from unsigned.
+
+2003-02-20  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (position.hh): New subfile, including the extended
+       and Doxygen'ed documentation of class Position.
+       (location.hh): Use it.
+       Document a` la Doxygen.
+       With the help of Benoit Perrot.
+
+2003-02-20  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Define
+       AT_YACC_IF.
+       Redefine AT_YYERROR_SEES_LOC_IF using it.
+       (_AT_DATA_CALC_Y): Don't declare yyerror when lalr1.cc, as it is
+       not defined.
+       Don't use the location in yy::Parser::error_ and
+       yy::Parser::print_ when not %locations.
+       Activate more lalr1.cc tests.
+
+2003-02-19  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: When displaying a line number, be sure to make it
+       an int.
+
+2003-02-19  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (b4_stack_depth_init, yy::Parser::initdepth_):
+       Remove, useless.
+       (YYABORT, YYACCEPT, YYERROR): New.
+       * tests/calc.at: Renable the lalr1.cc test.
+
+2003-02-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (AT_CHECK_CALC): Check different scenarios of
+       error recovery, mixing with/without pops and discarding of the
+       lookahead.
+       Exercise YYERROR.
+       Disable the lalr1.cc tests as currently it doesn't support YYERROR.
+
+2003-02-17  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/atlocal.in (LDFLAGS, LIBS): New vars.
+       * tests/testsuite.at (AT_COMPILE): Use them.
+       This fixes the testsuite problem reported by Robert Lentz in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00011.html>.
+
+2003-02-12  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c (yyerrlab) [YYERROR_VERBOSE]:
+       Avoid subscript error in yycheck.  Bug reported by Andrew Suffield in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00003.html>.
+       * data/glr.c (yyreportSyntaxError) [YYERROR_VERBOSE]: Likewise.
+       Check for malloc failure, for consistency with yacc.c.
+       (yytname_size): Remove, for consistency with yacc.c.
+
+       The bug still remains in data/lalr1.cc, as I didn't have time
+       to fix it there.
+
+2003-02-06  Akim Demaille  <akim@epita.fr>
+
+       * configure.ac (GXX): Rename as...
+       (CXX): this, to keep the original Autoconf semantics.
+       Require 2.57.
+       * data/lalr1.cc: Fix b4_copyright invocations.
+       If YYDEBUG is not defined, don't depend upon name_ being defined.
+       (location.hh): Include string and iostream.
+       (Position::filename): New member.
+       (Position::Position ()): New.
+       (operator<< (Position)): New.
+       (operator- (Position, int)): New.
+       (Location::first, Location::last): Rename as...
+       (Location::begin, Location::end): these, to mock the conventional
+       iterator names.
+       (operator<< (Location)): New.
+       * tests/atlocal.in (CXX): New.
+       * tests/testsuite.at (AT_COMPILE_CXX): New.
+       * tests/calc.at (_AT_DATA_CALC_Y): Adjust yyerror to report the
+       locations in a more synthetic way.
+       (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF is positive if
+       lalr1.cc is used.
+       Adjust the C locations to match those from Emacs: first column is
+       column 0.
+       Change all the expected results.
+       Conform to the GCS: simplify the locations when applicable.
+       (LOC, VAL, YYLLOC_FORMAL, YYLLOC_ARG, USE_YYLLOC, LEX_FORMALS)
+       (LEX_ARGS, USE_LEX_ARGS, LEX_PRE_FORMALS, LEX_PRE_ARGS): Replace
+       these CPP macros with the m4 macros new defined by...
+       (AT_CHECK_PUSHDEFS): this, i.e.:
+       (AT_LALR1_CC_IF, AT_PURE_LEX_IF, AT_LOC, AT_VAL, AT_LEX_FORMALS)
+       (AT_LEX_ARGS, AT_USE_LEX_ARGS, AT_LEX_PRE_FORMALS, AT_LEX_PRE_ARGS)
+       New macros.
+       (AT_CHECK_POPDEFS): Undefine them.
+       (AT_CHECK_CALC_LALR1_CC): New.
+       Use it for the first lalr1.cc test.
+
+2003-02-04  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (YYLLOC_DEFAULT): Fix its definition: be based on
+       Location as is defined.
+
+2003-02-04  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: If YYDEBUG is not defined, don't depend upon
+       name_ being defined.
+
+2003-02-03  Paul Eggert  <eggert@twinsun.com>
+
+       * src/gram.h (start_symbol): Remove unused decl.
+
+       Use more-consistent naming conventions for local vars.
+
+       * src/derives.c (derives_compute): Change type of local var from
+       int to rule_number.
+       * src/gram.c (grammar_rules_partial_print): Likewise.
+       * src/print.c (print_core): Likewise.
+       * src/reduce.c (reduce_grammar_tables): Likewise.
+
+       * src/gram.c (grammar_dump): Change name of item_number *
+       local var from r to rp.
+       * src/nullable.c (nullable_compute): Likewise.
+
+       * src/gram.h (ISTOKEN, ISVAR): Use i, not s, for int var.
+
+       * src/gram.h (symbol_number_as_item_number): Use sym, not s,
+       for symbol or symbol_number var.
+       * src/reader.c (grammar_start_symbol_set): Likewise.
+       * src/reader.h (grammar_start_symbol_set, grammar_symbol_append):
+       Likewise.
+       * src/state.c (transitions_to): Likewise.
+       * src/state.h: Likewise.
+       * src/tables.c (symbol_number_to_vector_number): Likewise.
+
+       * src/muscle_tab.h (MUSCLE_OBSTACK_SGROW): Use p, not s, for
+       char * var.
+
+       * src/parse-gram.y (lloc_default): Use loc, not r, for YYLTYPE
+       var.
+
+       * src/scan-gram.l (no_cr_read): Use bytes_read, not s, for size
+       var.
+
+       * src/system.h (xstrndup, strchr, strspn, strnlen, memchr, memrchr):
+       Use str, not s, for char * var.  Use ch, not c, for character var.
+       Use size for size var.
+
+       * src/uniqstr.c (uniqstr_new, uniqstr_assert): Use str, not s, for
+       char * var.
+       (uniqstr_print, uniqst_print_processor): Use ustr, not s, for
+       uniqstr var.
+       * src/uniqstr.h: Likewise.
+
+       * src/vcg.c (get_color_str, get_textmode_str, get_shape_str,
+       get_layoutalgorithm_str, get_decision_str, get_orientation_str,
+       get_node_alignment_str, get_arrow_mode_str, get_crossing_type_str,
+       get_view_str, get_linestyle_str, get_arrowstyle_str): Rename
+       param to have same name as that of enum, so that we don't use
+       "s" to stand for a non-state.
+
+2003-02-02  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-skel.l: Scan more than one inert character per yylex
+       invocation.
+
+2003-02-01  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.875a.
+
+       * po/LINGUAS: Add ms.
+
+2003-01-30  Akim Demaille  <akim@epita.fr>
+
+       * doc/Makefile.am (CLEANFILES): Add bison.fns for distcheck.
+
+2003-01-29  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * tests/cxx-type.at: Correct apparent typo in Bison input: $$ instead
+       of $1.
+
+       Changes in response to error report by S. Eken: GLR mode does not
+       handle negative $ indices or $ indices in embedded rules correctly.
+       See <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00076.html>.
+
+       * data/glr.c (b4_rhs_value): Change to use YYFILL macro.
+       (b4_rhs_location): Ditto.
+       (yyfill): New function to copy from stack tree into array
+       incrementally.
+       (yyuserAction): Modify to allow incremental move of semantic values
+       to rhs array when in GLR mode.
+       Define YYFILL to use in user-defined actions to fill semantic array
+       as needed.
+       Remove dummy use of yystack, as there is now a guaranteed use.
+       (yydoAction): Modify to allow incremental move of semantic values
+       to rhs array when in GLR mode.
+       (yyresolveAction): Ditto.
+       (yyglrShiftDefer): Update comment.
+       (yyresolveStates): Use X == NULL for pointers, not !X.
+       (yyglrReduce): Ditto.
+       (yydoAction): Ditto
+
+       * tests/glr-regr1.at: Rename to ...
+       * tests/glr-regression.at: Add new regression test for the problems
+       described above (adapted from S. Eken).
+       Update copyright notice.
+       * tests/testsuite.at: Rename glr-regr1.at to glr-regression.at.
+       * tests/Makefile.am: Ditto.
+
+2003-01-28  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc: Do not use @output_header_name@ unless
+       b4_defines_flag is set.  This fixes two bugs reported by
+       Tim Van Holder in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00071.html>
+       and <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00073.html>.
+
+2003-01-21  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c (YYERROR): Move code from yyerrlab1 to here, so that
+       we don't need to worry about yyerrlab1 being reported as an
+       "unused label" by non-GCC C compilers.  The downside is that if
+       locations are used then a couple of statements are duplicated each
+       time YYERROR is invoked, but the upside is that the warnings
+       should vanish.
+       (yyerrlab1): Move code to YERROR.
+       (yyerrlab2): Remove.  Change uses back to yyerrlab1.
+       This reverts some of the 2002-12-27 change.
+
+2003-01-17  Paul Eggert  <eggert@twinsun.com>
+
+       * src/output.c (symbol_printers_output): Fix typo that led
+       to core dump.  Problem reported by Antonio Rus in
+       <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00058.html>.
+
+2003-01-13  Akim Demaille  <akim@epita.fr>,
+               Quoc Peyrot <chojin@lrde.epita.fr>,
+               Robert Anisko <anisko_r@lrde.epita.fr>
+
+       * data/lalr1.cc (parse::yyerrlab1): When popping the stack, stop
+       when the stacks contain one element, as the loop would otherwise
+       free the last state, and then use the top state (the one we just
+       popped).  This means that the initial elements will not be freed
+       explicitly, as is the case in yacc.c; it is not a problem, as
+       these elements have fake values.
+
+2003-01-11  Paul Eggert  <eggert@twinsun.com>
+
+       * NEWS: %expect-violations are now just warnings, reverting
+       to Bison 1.30 and 1.75 behavior.  This fixes the GCC 3.2
+       bootstrapping problem reported by Matthias Klose; see
+       <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00053.html>.
+       * src/conflicts.c (conflicts_print): Likewise.
+       * tests/conflicts.at (%expect not enough, %expect too much,
+       %expect with reduce conflicts): Likewise.
+       * doc/bison.texinfo (Expect Decl): Document this.  Also mention
+       that the warning is enabled if the number of conflicts changes
+       (not necessarily increases).
+
+       * src/getargs.c (version): Update copyright year.
+
+2003-01-09  Akim Demaille  <akim@epita.fr>
+
+       * src/Makefile.am, lib/Makefile.am: Use $(VAR) instead of @VAR@.
+
+2003-01-08  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.maint (WGETFLAGS):
+       New macro, containing "-C off" to disable proxy caches.
+       All uses of $(WGET) changed to $(WGET) $(WGETFLAGS).
+       (rel-check): Use $(WGET) instead of wget.
+
+2003-01-06  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (Generalized LR Parsing): Add a reference to
+       the GLR paper of Scott, Johnstone and Hussain.
+
+2003-01-04  Paul Eggert  <eggert@twinsun.com>
+
+       * configure.ac (AC_ARG_ENABLE): Add --disable-yacc.
+       (YACC_SCRIPT, YACC_LIBRARY): New vars to AC_SUBST.
+       * lib/Makefile.am (lib_LIBRARIES): liby.a -> @YACC_LIBRARY@.
+       (EXTRA_LIBRARIES): New var, for liby.a.
+       * src/Makefile.am (bin_SCRIPTS): yacc -> @YACC_SCRIPT@.
+       (EXTRA_SCRIPTS): New var, for yacc.
+
+       * data/yacc.c (yyerrlab1): Omit attribute if __cplusplus is defined,
+       since GNU C++ (as of 3.2.1) does not allow attributes on labels.
+       Problem reported by Nelson H. F. Beebe.
+
+2003-01-03  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/obstack.h (__INT_TO_PTR) [__STDC__]: Cast result to
+       (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
+       when compiling Bison 1.875's `bitset bset = obstack_alloc
+       (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
+
+       * src/scan-skel.l (QPUTS): Omit redundant `;' from macro definition.
+       ([^@\n]): Renamed from [^@\n]+ so that the token buffer does not
+       grow to a huge size with typical invocation.
+
+       * lib/hash.c (_Bool, bool, false, true, __bool_true_false_are_defined):
+       Use the pattern recommended by Autoconf 2.57, except also protect
+       against double-definition.
+       * src/system.h: Likewise.
+       Portability issues reported by Nelson H. F. Beebe.
+
+       * data/glr.c (yybool): Renamed from bool, to avoid collisions in C.
+       All uses changed.  Provide a definition in both C and C++.
+       (yytrue, yyfalse): Define even if defined (__cplusplus).
+
+       * lib/bitset_stats.c (bitset_stats_list): Remove unused var.
+       Reported by Nelson H. F. Beebe.
+
+       * src/scan-skel.l ("@oline@"): Output lineno+1, not lineno.
+
+2003-01-02  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c (yyerrlab1): Append `;' after attribute, to
+       pacify the buggy "smart preprocessor" in MacOS 10.2.3.
+       Bug reported by Nelson H. F. Beebe.
+
+2003-01-01  Paul Eggert  <eggert@twinsun.com>
+
+       * Version 1.875.
+
+2002-12-30  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>","):
+       Moved here from...
+       (<INITIAL>","): Here.  This causes stray "," to be treated
+       more uniformly.
+
+       * src/scan-gram.l (<SC_BRACED_CODE>"}"): Output ";" before the
+       last brace in braced code when not in Yacc mode, for compatibility
+       with Bison 1.35.  This resurrects the 2001-12-15 patch to
+       src/reader.c.
+
+       * src/reader.h (YYDECL): Use YYSTYPE, not its deprecated alias
+       yystype.  This follows up the 2002-12-24 YYSTYPE bug fix.
+
+2002-12-28  Paul Eggert  <eggert@twinsun.com>
+
+       * src/symtab.c (symbol_make_alias): Set type of SYMVAL to be
+       that of SYM's type.  This fixes Debian bug 168069, reported by
+       Thomas Olsson.
+
+2002-12-28  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75f.
+
+       Switch back to the Yacc style of conflict reports, undoing some
+       of the 2002-07-30 change.
+       * doc/bison.texinfo (Understanding): Use Yacc style for
+       conflict reports.  Also, use new way of locating rules.
+       * src/conflicts.c (conflict_report):
+       Renamed from conflict_report_yacc, removing the old
+       'conflict_report'.  Translate the entire conflict report at once,
+       so that we don't assume that "," has the same interpretation in
+       all languages.
+       (conflicts_output): Use Yacc-style conflict report for each state,
+       instead of our more-complicated style.
+       (conflicts_print): Use Yacc-style conflict report, except print
+       the input file name when not emulating Yacc.
+       * tests/conflicts.at (Unresolved SR Conflicts, Defaulted
+       Conflicted Reduction, %expect not enough, %expect too much,
+       %expect with reduce conflicts): Switch to Yacc-style conflict reports.
+       * tests/existing.at (GNU Cim Grammar): Likewise.
+       * tests/glr-regr1.at (Badly Collapsed GLR States): Likewise.
+
+       * src/complain.c (warn_at, warn, complain_at, complain, fatal_at,
+       fatal): Don't invoke fflush; it's not needed and it might even be
+       harmful for stdout, as stdout might not be open.
+       * src/reduce.c (reduce_print): Likewise.
+
+2002-12-27  Paul Eggert  <eggert@twinsun.com>
+
+       Fix a bug where error locations were not being recorded correctly.
+       This problem was originally reported by Paul Hilfinger in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00086.html>.
+
+       * data/yacc.c (yyparse): New local var yylerrsp, to record the
+       top of the location stack's error locations.
+       (yyerrlab): Set it.  When discarding a token, push its location
+       onto yylerrsp so that we don't lose track of the error's end.
+       (yyerrlab1): Now is only the target of YYERROR, so that we can
+       properly record the location of the action that failed.  For GCC
+       2.93 and later, insert an __attribute__ ((__unused__)) to avoid
+       GCC warning about yyerrlab1 being unused if YYERROR is unused.
+       (yyerrlab2): New label, which yyerrlab now falls through to.
+       Compute the error's location by applying YYLLOC_DEFAULT to
+       the locations of all the symbols that went into the error.
+       * doc/bison.texinfo (Location Default Action): Mention that
+       YYLLOC_DEFAULT is also invoked for syntax errors.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
+       Error locations include the locations of all the tokens that were
+       discarded, not just the last token.
+
+2002-12-26  Paul Eggert  <eggert@twinsun.com>
+
+       * src/files.c: Include quote.h.
+       (compute_output_file_names): Warn if we detect conflicting
+       outputs to the same file.  This should catch the misunderstanding
+       exemplified by Debian Bug 165349, reported by Bruce Stephens..
+
+       * src/conflicts.c (conflicts_print): If the user specifies
+       "%expect N", report an error if there are any reduce/reduce
+       conflicts.  This is what the manual says should happen.
+       This fixes Debian bug 130890, reported by Anthony DeRobertis.
+       * tests/conflicts.at (%expect with reduce conflicts): New test.
+
+       Don't use m4_include on relative file names, as it doesn't work as
+       desired if there happens to be a file with that name under ".".
+
+       * m4sugar/version.m4: Remove; it was included but it wasn't used.
+       * data/Makefile.am (dist_m4sugar_DATA): Remove m4sugar/version.m4.
+       * data/m4sugar/m4sugar.m4: Don't include m4sugar/version.m4.
+       * data/glr.c, data/lalr1.cc, data/yacc.c: Don't include c.m4.
+       * src/output.c (output_skeleton): Use full path names when
+       specifying a file to include; don't rely on include path, as
+       it's unreliable when the working file contains a file with
+       that name.
+
+2002-12-25  Paul Eggert  <eggert@twinsun.com>
+
+       Remove obsolete references to bison.simple and bison.hairy.
+       Problem mentioned by Aubin Mahe in
+       <http://lists.gnu.org/archive/html/help-bison/2002-12/msg00010.html>.
+       * data/glr.c: Comment fix.
+       * doc/bison.1: Remove references.  Also, mention "yacc".
+
+       * src/getargs.c (getargs) [MSDOS]: Don't assume optarg != NULL
+       with -g option.
+
+       * src/parse-gram.y (declaration): Use enum "report_states" rather
+       than its numeric value 1.
+
+       * src/scan-skel.l ("@output ".*\n): Close any old yyout before
+       opening a new one.  This fixes Debian bug 165349, reported by
+       Bruce Stephens.
+
+2002-12-24  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75e.
+
+       * Makefile.maint (cvs-update): Don't assume that the shell
+       supports $(...), as Solaris sh doesn't.
+
+       * src/parse-gram.y (lloc_default): Remove test for empty
+       nonterminals at the end, since it didn't change the result.
+
+2002-12-24  Paul Eggert  <eggert@twinsun.com>
+
+       If the user does not define YYSTYPE as a macro, Bison now declares it
+       using typedef instead of defining it as a macro.  POSIX requires this.
+       For consistency, YYLTYPE is also declared instead of defined.
+
+       %union directives can now have a tag before the `{', e.g., the
+       directive `%union foo {...}' now generates the C code
+       `typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
+       The default union tag is `YYSTYPE', for compatibility with Solaris 9
+       Yacc.  For consistency, YYLTYPE's struct tag is now `YYLTYPE'
+       instead of `yyltype'.
+
+       `yystype' and `yyltype' are now obsolescent macros instead of being
+       typedefs or tags; they are no longer documented and will be
+       withdrawn in a future release.
+
+       * data/glr.c (b4_location_type): Remove.
+       (YYSTYPE): Renamed from yystype.
+       (YYSTYPE_IS_DECLARED): New macro, used to prevent double-typedef.
+       (struct YYLTYPE): Renamed from struct yyltype.
+       (YYLTYPE): Renamed from yyltype.
+       (yyltype, yystype): New (and obsolescent) macros,
+       for backward compatibility.
+       * data/yacc.c: Likewise.
+
+       * data/yacc.c (YYSTYPE): Declare as union YYSTYPE if the user
+       does not specify a union tag.  This is for compatibility with
+       Solaris 9 yacc.
+
+       * src/parse-gram.y (add_param): 2nd arg is now char * not char
+       const *, since it is now modified by stripping surrounding { }.
+       (current_braced_code): Remove.
+       (PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_UNION,
+       PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Change names to include
+       trailing " {...}".  Now of type <chars>.
+       (grammar_declaration): Adjust to bundled tokens.
+       (code_content): Remove; stripping is now done by add_param.
+       (print_token_value): Print contents of bundled tokens.
+       (token_name): New function.
+
+       * src/reader.h (braced_code, current_braced_code): Remove.
+       (token_name): New decl.
+
+       * src/scan-gram.l (handle_dollar, handle_at): Now takes int
+       token_type, not braced_code code_kind.  All uses changed.
+       (SC_PRE_CODE): New state, for scanning after a keyword that
+       has (or usually has) an immediately-following braced code.
+       (token_type): New local var, to keep track of which token type
+       to return when scanning braced code.
+       (<INITIAL>"%destructor", <INITIAL>"%lex-param",
+       <INITIAL>"%parse-param", <INITIAL>"%printer",
+       <INITIAL>"%union"): Set token type and BEGIN SC_PRE_CODE
+       instead of returning a token type immediately.
+       (<INITIAL>"{"): Set token type.
+       (<SC_BRACED_CODE>"}"): Use it.
+       (handle_action_dollar, handle_action_at): Now returns bool
+       indicating success.  Fail if ! current_rule; this prevents a core dump.
+       (handle_symbol_code_dollar, handle_symbol_code_at):
+       Remove; merge body into caller.
+       (handle_dollar, handle_at): Complain in invalid contexts.
+
+       * NEWS, doc/bison.texinfo: Document the above.
+       * NEWS: Fix years and program names in copyright notice.
+
+2002-12-17  Paul Eggert  <eggert@twinsun.com>
+
+       * NEWS, doc/bison.texinfo (Parser Function, Pure Calling, Error
+       Reporting, Table of Symbols): Omit mentions of %lex-param and
+       %parse-param from the documentation for now.
+
+2002-12-15  Paul Eggert  <eggert@twinsun.com>
+
+       Undo most of the 2002-11-12 yychar -> yytoken patch, as it broke
+       GCC 3.2.1 (which depends on yychar == YYEMPTY when there is no
+       lookahead symbol, and which sets yychar in parser actions) and it
+       disagreed with the Bison documentation.  Bug
+       reported by Andrew Walrond.
+
+       * data/yacc.c (YYTRANSLATE): Don't check for negative argument,
+       as the caller now does that.
+       (yyclearin, YYBACKUP, yyparse): Use yychar, not yytoken.
+       (YYEMPTY): Parenthesize right hand side, since others use it.
+       (yyparse): Don't assume that our generated code is the only code
+       that sets yychar.
+
+2002-12-13  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75d.
+
+       POSIX requires a "yacc" command.
+       * src/Makefile.am (bin_SCRIPTS): New macro, for yacc.
+       (MOSTLYCLEANFILES): Add yacc.
+       (yacc): New rule.
+       * doc/bison.texinfo (Invocation, Bison Options): Mention yacc
+       as an alias for bison y.
+
+       * po/LINGUAS: Add da.
+
+       * src/getargs.c (__GNU_LIBRARY__) [lint]: Define to work around
+       problem with latest <getopt.h>.
+       (HACK_FOR___GNU_LIBRARY___PROTOTYPE): New macro.
+
+       * doc/fdl.texi: Upgrade to 1.2.
+       * lib/alloca.c, lib/error.c, lib/getopt.c, lib/getopt.h
+       lib/getopt1.c, lib/gettext.h, lib/memrchr.c, lib/obstack.c,
+       lib/obstack.h, lib/strnlen.c, lib/unlocked-io.h: Sync with
+       gnulib.
+       * config/install-sh: Sync with autotools.
+
+       Fix a bad interaction with flex 2.5.23 reported by Bruce Lilly in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
+       * data/yacc.c (YYLTYPE, struct yyltype): Do not define unless
+       locations are requested.
+       (union yyalloc): Do not depend on YYLTYPE_IS_TRIVIAL unless
+       locations are requested.
+
+2002-12-12  Paul Eggert  <eggert@twinsun.com>
+
+       Remove unportable casts and storage allocation tricks.
+       While we're at it, remove almost all casts, since they
+       usually aren't needed and are a sign of trouble.
+
+       * configure.ac (AC_CHECK_TYPES): Check for uintptr_t.
+
+       * src/derives.c (derives_compute): Do not subtract NTOKENS from
+       the pointer DSET returned by malloc; this isn't portable.
+       Instead, always use DSET[i - NTOKENS] rather than DSET[i].
+       Similarly for DERIVES.
+       * src/lalr.c (set_goto_map): Likewise, for GOTO_MAP and TEMP_MAP.
+       * src/nullable.c (nullable_compute): Likewise, for RSETS and NULLABLE.
+       * src/reduce.c (reduce_grammar_tables): Likewise, for nontermmap
+
+       * src/derives.c (derives_compute): Do not bother invoking
+       int_of_rule_number, since rule numbers are integers.
+
+       * src/files.c (concat2, tr, compute_base_name): Use xmalloc (N)
+       rather than XMALLOC (char, N).
+
+       * src/files.c (filename_split): Rewrite to avoid cast.
+
+       * src/gram.h (symbol_number_as_item_number,
+       item_number_as_symbol_number, rule_number_as_item_number,
+       item_number_as_rule_number):
+       Now inline functions rather than macros, to avoid casts.
+       * src/state.h (state_number_as_int): Likewise.
+       * src/tables.c (state_number_to_vector_number,
+       symbol_number_to_vector_number): Likewise.
+
+       * src/gram.h (int_of_rule_number): Remove; no longer used.
+
+       * src/lalr.c (add_lookback_edge): Use malloc rather than calloc,
+       since the resulting storage is always stored into.
+
+       * src/main.c (alloca) [C_ALLOCA]: Add decl here, the only place
+       where it's needed.
+
+       * src/muscle_tab.c (muscle_m4_output):
+       Now inline.  Return bool, not int.
+       * src/state.c (state_compare): Likewise.
+       * src/symtab.c (symbol_check_defined,
+       symbol_check_alias_consistency, symbol_pack, symbol_translation,
+       hash_compare_symbol, hash_symbol):
+       Likewise.
+       * src/uniqstr.c (uniqstr_print): Likewise.
+       * src/muscle_tab.c (muscle_m4_output_processor):
+       New function, to avoid casts.
+       * src/state.c (state_comparator, stage_hasher): Likewise.
+       * src/symtab.c (symbol_check_defined_processor,
+       symbol_check_alias_consistency_processor, symbol_pack_processor,
+       symbol_translation_processor, hash_symbol_comparator,
+       hash_symbol_hasher): Likewise.
+       * src/uniqstr.c (uniqstr_print_processor): Likewise.
+       * src/muscle_tab.c (muscles_m4_output):
+       Use new functions instead of casting old functions unportably.
+       * src/state.c (state_hash_new): Likewise.
+       * src/symtab.c (symbols_new, symbols_do, symbols_check_defined,
+       symbols_token_translations_init):
+       Likewise.
+       * src/uniqstr.c (uniqstrs_new, hash_initialize, uniqstrs_do): Likewise.
+
+       * src/output.c (GENERATE_MUSCLE_INSERT_TABLE): Use long local
+       var instead of casting to long, to avoid casts.
+       (prepare_states): Use MALLOC rather than alloca, so that we don't
+       have to worry about alloca.
+       * src/state.c (state_hash_lookup): Likewise.
+
+       * src/scan-gram.l (<SC_ESCAPED_CHARACTER>"'"): Use unsigned char
+       local var instead of casting to unsigned char, to avoid casts.
+
+       * src/state.c (TRANSITIONS_ALLOC, ERRS_ALLOC, REDUCTIONS_ALLOC,
+       STATE_ALLOC): Remove.
+       (transitions_new, errs_new, reductions_new, state_new): Use malloc
+       rather than calloc, and use offsetof to avoid allocating slightly
+       too much storage.
+       (state_new): Initialize all members.
+
+       * src/state.c (state_hash): Use unsigned accumulator, not signed.
+
+       * src/symtab.c (symbol_free): Remove; unused.
+       (symbol_get): Remove cast in lhs of assignment.
+       (symbols_do): Now static.  Accept generic arguments, not
+       hashing-related ones.
+
+       * src/symtab.h: (NUMBER_UNDEFINED): Remove unnecessary cast.
+       (symbol_processor): Remove.
+       (symbols_do): Remove decl; now static.
+
+       * src/system.h (alloca): Remove; decl no longer needed.
+       (<stddef.h>): Include, for offsetof.
+       (<inttypes.>, <stdint.h>): Include if available.
+       (uintptr_t): New type, if system lacks it.
+       (CALLOC, MALLOC, REALLOC): New macros.
+       All uses of XCALLOC, XMALLOC, and XREALLOC changed to use these
+       new macros.
+
+       * src/tables.c (table_size): Now int, to pacify GCC.
+       (table_grow, table_ninf_remap): Use signed table size.
+       (save_row): Don't bother initializing locals when not needed.
+       (default_goto, goto_actions, pack_vector): Remove unnecessary casts.
+       * src/uniqstr.c (hash_compare_uniqstr):  Likewise.
+
+       * src/vcg.h: Correct misspellings.
+
+       * src/vcg_defaults.h (G_CMAX): Now INT_MAX.
+
+
+       * src/getargs.c (getargs): Don't assume EOF == -1.
+
+2002-12-09  Paul Eggert  <eggert@twinsun.com>
+
+       Change identifier spellings to avoid collisions with names
+       that are reserved by POSIX.
+
+       Don't use names ending in _t, since POSIX reserves them.
+       For consistency, remove _e and _s endings -- they're weren't
+       needed to remove ambiguity.  All uses changed.
+       * src/uniqstr.h (uniqstr): Renamed from uniqstr_t, which in
+       turn was just renamed from struniq_t.
+       * src/uniqstr.c (uniqstr_processor): Renamed from struniq_processor,
+       which in turn was just renamed from struniq_processor_t.
+       (hash_compare_uniqstr): Renamed from hash_compare_struniq, which
+       in turn was renamed from hash_compare_struniq_t.
+       * src/LR0.c (struct state_list): Renamed from struct state_list_s.
+       (state_list): Renamed from state_list_t.
+       * src/assoc.h (assoc): Renamed from assoc_t.
+       * src/conflicts.c (enum conflict_resolution): Renamed from
+       enum conflict_resolution_e.
+       * src/derives.c (struct rule_list): Renamed from struct rule_list_s.
+       (rule_list): Renamed from rule_list_t.
+       * src/getargs.h (enum trace): Renamed from enum trace_e.
+       (enum report): Renamed from enum report_e.
+       * src/gram.h (item_number): Renamed from item_number_t.
+       (rule_number): Renamed from rule_number_t.
+       (struct rule_s): Remove the "rule_s" part; not used.
+       (rule): Renamed from rule_t.
+       (rule_filter): Renamed from rule_filter_t.
+       * src/lalr.c (struct goto_list): Renamed from struct goto_list_s.
+       (goto_list): Renamed from goto_list_t.
+       * src/lalr.h (goto_number): Renamed from goto_number_t.
+       * src/location.h (location): Renamed from location_t.
+       * src/muscle_tab.c (muscle_entry): Renamed from muscle_entry_t,
+       and moved here from:
+       * src/muscle_tab.h (muscle_entry_t): here.
+       * src/nullable.c (struct rule_list): Renamed from struct rule_list_s.
+       (rule_list): Renamed from rule_list_t.
+       * src/print_graph.c (static_graph): Renamed from graph.
+       * src/reader.h (braced_code): Renamed from braced_code_t.
+       Remove brace_code_e tag.
+       * src/relation.h (relation_node): Renamed from relation_node_t.
+       (relation_nodes): Renamed from relation_nodes_t.
+       (relation): Renamed from relation_t.
+       * src/state.h (state_number): Renamed from state_number_t.
+       (struct state): Renamed from struct state_s.
+       (state): Renamed from state_t.
+       (transitions): Renamed from transitions_t.  Unused (and
+       misspelled) transtion_s tag removed.
+       (errs): Renamed from errs_t.  Unused errs_s tag removed.
+       (reductions): Renamed from reductions_t.  Unused tag
+       reductions_s removed.
+       * src/symlist.h (symbol_list): Renamed from symbol_list_t.
+       (struct symbol_list): Renamed from struct symbol_list_s.
+       * src/symtab.h (symbol_number): Renamed from symbol_number_t.
+       (struct symbol): Renamed from struct symbol_s.
+       (symbol): Renamed from symbol_t.
+       * src/tables.c (vector_number): Renamed from vector_number_t.
+       (action_number): Renamed from action_t.
+       * src/tables.h (base_number): Renamed from base_t.
+       * src/vcg.h (enum color): Renamed from enum color_e.
+       (enum textmode): Renamed from enum textmode_e.
+       (enum shape): Renamed from enum shape_e.
+       (struct colorentry): Renamed from struct colorentry_s.
+       (struct classname): Renamed from struct classname_s.
+       (struct infoname): Renamed from struct infoname_s.
+       (enum layoutalgorithm): Renamed from enum layoutalgorithm_e.
+       (enum decision): Renamed from enum decision_e.
+       (enum orientation): Renamed from enum orientation_e.
+       (enum alignment): Renamed from enum alignment_e.
+       (enum arrow_mode): Renamed from enum arrow_mode_e.
+       (enum crossing_type): Renamed from enum crossing_type_e.
+       (enum view): Renamed from enum view_e.
+       (struct node): Renamed from struct node_s.
+       (node): Renamed from node_t.
+       (enum linestyle): Renamed from enum linestyle_e.
+       (enum arrowstyle): Renamed from enum arrowstyle_e.
+       (struct edge): Renamed from struct edge.
+       (edge): Renamed from edge_t.
+       (struct graph): Renamed from struct graph_s.
+       (graph): Renamed from graph_t.
+       * tests/calc.at (_AT_DATA_CALC_Y, Simple LALR Calculator):
+       Rename value_t -> value.
+       * tests/input.at (Torturing the Scanner): Rename value_t -> value,
+       value_t_as_yystype -> value_as_yystype.
+
+       Don't include <errno.h> in the mainstream code, since it
+       reserves E[A-Z0-9]* and we want to use symbols like 'EQUALS'.
+       * lib/get-errno.c, lib/get-errno.h: New files.
+       * lib/Makefile.am (libbison_a_SOURCES): Add get-errno.h,
+       get-errno.c.
+       * src/files.c (xfopen, xfclose): Use get_errno instead of errno.
+       * src/output.c (output_skeleton): Likewise.
+       * src/scan-gram.l (<INITIAL>{int}): Use set_errno and get_errno
+       instead of errno.
+       (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>\\x[0-9abcdefABCDEF]+):
+       Likewise.
+       (handle_action_dollar, handle_action_at): Likewise.
+       * src/system.h: Do not include <errno.h>.
+       (TAB_EXT): Renamed from EXT_TAB.
+       (OUTPUT_EXT): Renamed from EXT_OUTPUT.
+
+       Avoid str[a-z]*, since <string.h> reserves that name space.
+       Change all instances of "struniq" in names to "uniqstr", and
+       likewise for "STRUNIQ" and "UNIQSTR".
+       * src/uniqstr.c: Renamed from src/struniq.c.
+       * src/uniqstr.h: Renamed from src/struniq.h.
+       * src/Makefile.am (bison_SOURCES): Adjust to these renamings.
+       * src/files.c (strsuffix): Remove; unused.
+       (concat2): Renamed from stringappend.  Now static.
+       * src/files.h (strsuffix, stringappend): Remove; unused.
+       * src/parse-gram.y (<chars>): Renamed from <string>.
+       (<uniqstr>): Renamed from <struniq>.
+       * src/scan-gram.l (obstack_for_string): Renamed from string_obstack.
+       * src/vcg.h (struct node_s.expand): Renamed from struct node_s.stretch.
+       (struct graph_s.expand): Renamed from struct graph_s.stretch.
+       * src/vcg_defaults.h (G_EXPAND): Renamed from G_STRETCH.
+       (G_LONG_STRAIGHT_PHASE): Renamed from G_STRAIGHT_PHASE.
+       (N_EXPAND): Renamed from N_STRETCH.
+
+       Avoid *_MAX and *_MIN, since <limits.h> reserves that name space.
+       * data/yacc.c (YYSTACK_GAP_MAXIMUM): Renamed from YYSTACK_GAP_MAX.
+       * src/gram.h (ITEM_NUMBER_MAX, ITEM_NUMBER_MIN, RULE_NUMBER_MAX):
+       Remove; unused.
+       * src/lalr.h (GOTO_NUMBER_MAXIMUM): Renamed from GOTO_NUMBER_MAX.
+       * src/state.h (STATE_NUMBER_MAXIMUM): Renamed from STATE_NUMBER_MAX.
+       * src/symtab.h (SYMBOL_NUMBER_MAXIMUM): Renamed from SYMBOL_NUMBER_MAX.
+       * src/tables.c (VECTOR_NUMBER_MAX, VECTOR_NUMBER_MIN): Remove; unused.
+       (BASE_MAXIMUM): Renamed from BASE_MAX.
+       (BASE_MINIMUM): Renamed from BASE_MIN.
+       (ACTION_MAX): Remove; unused.
+       (ACTION_NUMBER_MINIMUM): Renamed from ACTION_MIN.
+       Unnecessary casts removed from above defines.
+
+
+       Fix misspelling in names.
+       * src/vcg.h (enum_alignment_e): Renamed from enum_alignement_e.
+       * src/vcg_defaults.h (G_NODE_ALIGNMENT): Renamed from
+       G_NODE_ALIGNEMENT.
+
+
+       * lib/timevar.c (timevar_report): Renamed from time_report,
+       for consistency with other names.
+       * lib/timevar.h (timevar_report): New decl.
+       * src/system.h (time_report): Remove; decl is now in lib/timevar.h.
+
+
+       Sort include-file uses.
+
+       Reorder all include files under src to be in the order "system.h".
+       then the ../lib include files in angle brackets (alphabetized),
+       then the . include files in double-quotes (alphabetized).  Fix
+       dependency breakages encountered in this process, as follows:
+       * src/closure.h, src/derives.h, src/state.h: Include "gram.h".
+       * src/complain.c: Don't include stdlib.h, string.h _LIBC stuff.
+       * src/state.h: Include "symtab.h".
+
+2002-12-08  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c, data/lalr1.cc, data/yacc.c: Do not use __file__,
+       since this causes problems when __file__ contains character
+       sequences like "@" that are treated specially by src/scan-skel.l.
+       Instead, just use the file's basename.  This fixes the bug
+       reported by Martin Mokrejs in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-12/msg00007.html>.
+
+2002-12-06  Paul Eggert  <eggert@twinsun.com>
+
+       Add support for rules that do not have trailing semicolons, as
+       POSIX requires.  Improve the quality of locations in Bison
+       diagnostics.
+
+       * src/location.c: Include <quotearg.h>.
+       (empty_location): Now const.
+       (location_print): New function.  Follow the recommendation of the
+       GNU Coding Standards for locations that span file boundaries.
+       * src/location.h: Do not include <quotearg.h>; no longer needed.
+       (boundary): New type.
+       (location_t): Use it.  This allows locations to span file boundaries.
+       All member uses changed: file -> start.file or end.file (as needed),
+       first_line -> start.line, first_column -> start.column,
+       last_line -> end.line, last_column -> end.column.
+       (equal_boundaries): New function.
+       (LOCATION_RESET, LOCATION_STEP): Remove.
+       (LOCATION_PRINT): Remove.  All callers changed to use location_print.
+       (empty_location): Now const.
+       (location_print): New decl.
+       * src/parse-gram.y (lloc_default): New function, which handles
+       empty locations more accurately.
+       (YYLLOC_DEFAULT): Use it.
+       (%token COLON): Remove.
+       (%token ID_COLON): New token.
+       (rules): Use it.
+       (declarations, rules): Remove trailing semicolon.
+       (declaration, rules_or_grammar_declaration):
+       Allow empty (";") declaration.
+       (symbol_def): Remove empty actions; no longer needed.
+       (rules_or_grammar_declaration): Remove trailing semicolon.
+       (semi_colon.opt): Remove.
+       * src/reader.h: Include location.h.
+       (scanner_cursor): New decl.
+       * src/reduce.c (nonterminals_reduce): Use warn_at rather than
+       rolling our own.
+       * src/scan-gram.l (YY_USER_INIT): Initialize scanner_cursor instead
+       of *loc.
+       (STEP): Remove.  No longer needed, now that adjust_location does
+       the work.  All uses removed.
+       (scanner_cursor): New var.
+       (adjust_location): Renamed from extend_location.  It now sets
+       *loc and adjusts the scanner cursor.  All uses changed.
+       Don't bother testing for CR.
+       (handle_syncline): Remove location arg; now updates scanner cursor.
+       All callers changed.
+       (unexpected_end_of_file): Now accepts start boundary of token or
+       comment, not location.  All callers changed.  Update scanner cursor,
+       not the location.
+       (SC_AFTER_IDENTIFIER): New state.
+       (context_state): Renamed from c_context.  All uses changed.
+       (id_loc, code_start, token_start): New local vars.
+       (<INITIAL,SC_AFTER_IDENTIFIER>): New initial context.  Move all
+       processing of Yacc white space and equivalents here.
+       (<INITIAL>{id}): Save id_loc.  Begin state SC_AFTER_IDENTIFIER
+       instead of returning ID immediately, since we need to search for
+       a subsequent colon.
+       (<INITIAL>"'", "\""): Save token_start.
+       (<INITIAL>"%{", "{", "%%"): Save code_start.
+       (<SC_AFTER_IDENTIFIER>): New state, looking for a colon.
+       (<SC_YACC_COMMENT>, <SC_COMMENT>, <SC_LINE_COMMENT>):
+       BEGIN context_state at end, not INITIAL.
+       (<SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'",
+       <SC_BRACED_CODE>"}", <SC_PROLOGUE>"%}", <SC_EPILOGUE><<EOF>>):
+       Return correct token start.
+       (<SC_BRACED_CODE,SC_PROLOGUE,SC_EPILOGUE>): Save start boundary when
+       the start of a character, string or multiline comment is found.
+       * tests/conflicts.at (S/R in initial, Defaulted Conflicted
+       Reduction): Adjust reported locations to match the more-precise
+       results now expected.
+       * tests/input.at (Invalid $n, Invalid @n, Type Clashes): Likewise.
+       * tests/reduce.at (Useless Rules, Reduced Automaton,
+       Underivable Rules): Likewise.
+       * tests/regression.at (Invalid inputs): No longer `expecting ";"
+       or "|"' now that so many other tokens are allowed by the new grammar.
+
+       * src/complain.h (current_file): Remove duplicate decl;
+       current_file is now owned by files.h.
+       * src/complain.c, src/scan-gram.l: Include files.h.
+
+2002-12-06  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yy_reduce_print): Don't assume that yyrline[yyrule]
+       promotes to int; it might be unsigned int.
+       * data/yacc.c (yy_reduce_print): Likewise.
+
+       * doc/bison.texinfo (Table of Symbols): YYERROR_VERBOSE should
+       be #defined in the prologue, not in the Bison declarations.
+       This fixes Debian Bug 102878, reported by Shaul Karl.
+
+2002-12-02  Paul Eggert  <eggert@twinsun.com>
+
+       * configure.ac (AC_REPLACE_FUNCS): Add strtoul.
+       * lib/strtoul.c: New file, from gnulib.
+       This fixes a porting bug reported by Peter Klein in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-12/msg00000.html>.
+
+2002-11-30  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l (no_cr_read, extend_location): Move to epilogue,
+       and put only a forward declaration in the prologue.  This is for
+       consistency with the other scanner helper functions.
+
+       Type clashes now generate warnings, not errors, since it
+       appears that POSIX may allow some grammars with type clashes.
+       * src/reader.c (grammar_current_rule_check): Warn about
+       type clashes instead of complaining.
+       * tests/input.at (Type Clashes): Expect warnings, not complaints.
+
+       Add Yacc library, since POSIX requires it.
+       * doc/bison.texinfo (Yacc Library): New node.  Regenerate top menu.
+       * lib/Makefile.am (lib_LIBRARIES, liby_a_SOURCES): New macros.
+       * lib/main.c, lib/yyerror.c: New files.
+
+       gram_error can be static; it need not be extern.
+       * src/reader.h (gram_error): Remove decl.
+       * src/parse-gram.y (gram_error): Now static.  Add static decl.
+       (print_token_value): Omit parameter names from forward decl,
+       for consistency.
+
+2002-11-29  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo: Emphasize that yylex and yyerror must
+       be declared before being used.  E.g., one should typically
+       declare them in the prologue.  Use GNU coding style in examples.
+       Put "const" consistently after the type it modifies.  Mention
+       that C99 supports "inline".  Mention that yyerror traditionally
+       returns "int".
+
+       %parse-param and %lex-param now take just one argument, the
+       declaration; the argument name is deduced from the declaration.
+
+       * doc/bison.texinfo (Parser Function, Pure Calling, Error
+       Reporting, Table of Symbols): Document this.
+       * src/parse-gram.y (add_param): New function.
+       (COMMA): Remove.
+       (declaration): Implement new rule for %parse-param and %lex-param.
+       * src/scan-gram.l: "," now elicits a warning, rather than being
+       a token; this is more compatible with byacc.
+       * tests/calc.at (Simple LALR Calculator): Adopt new convention.
+
+2002-11-27  Paul Eggert  <eggert@twinsun.com>
+
+       Rename identifiers to avoid real and potential collisions.
+
+       * data/c.m4 (b4_yysymprint_generate): yyout -> yyoutput,
+       to avoid collision with lex macro described by Bruce Lilly in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.
+       * doc/bison.texinfo (Prologue, Tracing): yyprint -> print_token_value.
+       * src/parse-gram.y (print_token_value): Renamed from yyprint.
+       All uses changed.
+       (YYPARSE_PARAM, YYLEX_PARAM, yycontrol): Remove.  All uses changed.
+       The name "yycontrol" violates the name space rules, and this stuff
+       wasn't being used anyway.
+       (input): Remove action; this stuff wasn't being used.
+       (gram_error): Rename local variable yylloc -> loc.
+       * src/reader.h (struct gram_control_s, gram_control_t): Remove.
+       (YY_DECL): Don't use "yy" at start of local variables.
+       All uses changed, e.g., yylloc -> loc.
+       * src/scan-gram.l (STEP): Renamed from YY_STEP.  All uses changed.
+       (STRING_GROW): Renamed from YY_OBS_GROW.  All uses changed.
+       (STRING_FINISH): Renamed from YY_OBS_FINISH.  All uses changed.
+       (STRING_FREE): Renamed from YY_OBS_FREE.  All uses changed.
+
+       * src/parse-gram.y (gram_error): loc is now const *.
+       * src/reader.h (gram_error): Likewise.
+
+2002-11-24  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75c.
+
+       * tests/actions.at (Actions after errors): Use an output format
+       more similar to that of the Printers and Destructors test.
+       Test the position of the ';' token too.
+       (Printers and Destructors): Likewise.
+       (Printers and Destructors: %glr-parser): Remove for now, to avoid
+       unnecessarily alarming people when the test fails.
+
+       * data/yacc.c (yyerrlab1): Move this label down, so that the
+       parser does not discard the lookahead token if the user code
+       invokes YYERROR.  This change is required for POSIX conformance.
+
+       * lib/error.c: Sync with gnulib.
+
+2002-11-22  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/quotearg.c, lib/quotearg.h: Sync with gnulib.
+       * lib/mbswidth.c, lib/mbswidth.h: Likewise.
+       * lib/xmalloc.c: Likewise.
+
+2002-11-20  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/argmatch.c, lib/argmatch.h: Sync with gnulib.
+
+2002-11-20  Paul Eggert  <eggert@twinsun.com>
+
+       Avoid use of <assert.h>, as the GNU Coding Standards hint that one
+       should use `if (! x) abort ();' rather than `assert (x);', and
+       anyway it's one less thing to worry about configuring.
+
+       * data/glr.c, lib/hash.c, src/system.h: Do not include <assert.h>.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise,
+       and replace all instances of assert with abort.
+       * tests/calc.at (_AT_DATA_CALC_Y): Likewise.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Likewise.
+
+       * data/glr.c (yydoAction, yyglrReduce, yysplitStack, yyresolveStates,
+       yyresolveAction, yyprocessOneStack): Use abort rather than assert.
+       * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
+       hash_find_entry, hash_rehash, hash_insert): Likewise.
+       * src/conflicts.c (resolve_sr_conflict): Likewise.
+       * src/lalr.c (set_goto_map, map_goto): Likewise.
+       * src/nullable.c (nullable_compute): Likewise.
+       * src/output.c (prepare_rules, token_definitions_output): Likewise.
+       * src/reader.c (packgram, reader): Likewise.
+       * src/state.c (state_new, state_free, state_transitions_set,
+       state_reduction_find): Likewise.
+       * src/symtab.c (symbol_user_token_number_set, symbol_make_alias,
+       symbol_pack): Likewise.
+       * src/tables.c (conflict_row, pack_vector): Likewise.
+       * src/vcg.c (get_color_str, get_textmode_str, get_shape_str,
+       get_layoutalgorithm_str, get_decision_str, get_orientation_str,
+       get_node_alignement_str, get_arrow_mode_str, get_crossing_type_str,
+       get_view_str, get_linestyle_str, get_arrowstyle_str): Likewise.
+
+       * lib/argmatch.h (ARRAY_CARDINALITY): Do not bother to #undef.
+       (ARGMATCH_CONSTRAINT): New macro.
+       (ARGMATCH_ASSERT): Use it.
+
+       * src/system.h (verify): New macro.
+       * src/getargs.c (trace_argmatch, report_argmatch): Use verify
+       rather than assert.
+       * src/tables.c (tables_generate): Likewise.
+
+       * src/struniq.c (struniq_assert): Now returns void, and aborts
+       if the assertion is false.
+       (struniq_assert_p): Remove.
+       * src/struniq.h: Likewise.
+
+2002-11-18  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yygetLRActions): Replace `yyindex' with
+       `yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch.
+       This fixes the regression with Sun ONE Studio 7 cc that I reported in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00077.html>.
+
+2002-11-18  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Tracing): `yyprint' shouldn't prepend a
+       space.
+       From Tim Van Holder.
+
+2002-11-17  Paul Eggert  <eggert@twinsun.com>
+
+       Pacify Sun ONE Studio 7 lint.  Also, rename "ParseError"
+       to "SyntaxError" for consistency with my 2002-11-15 change.
+
+       * data/glr.c (YYDPRINTF, YYDSYMPRINT, YYDSYMPRINTF) [!YYDEBUG]: Do
+       not define to {}, since this breaks the common use of `YYDPRINTF
+       ((...));' if a single statement is desired (e.g. before `else').
+       Work around GCC warnings by surrounding corresponding calls with
+       {} if needed.
+       (yyhasResolvedValue): Remove unused function.
+       (yymergeOptionSets, yyresolvStack): Use `continue;' for empty
+       loop body.
+       (yyreportSyntaxError): Renamed from yyreportParseError.
+       (yyrecoverSyntaxError): Renamed from yyrecoverParseError.
+       All uses changed.
+       * tests/calc.at (_AT_DATA_CALC_Y): Make vars static instead of
+       extern when possible.  Remove unused initializations.
+
+2002-11-16  Akim Demaille  <akim@epita.fr>
+
+       Augment the similarity between GLR and LALR traces.
+
+       * data/yacc.c (yy_stack_print, YY_STACK_PRINT, yy_reduce_print)
+       (YY_REDUCE_PRINT): New.
+       (yyparse): Use them.
+       * data/glr.c (yy_reduce_print): Use YYFPRINTF, no need for
+       YYDPRINT here.
+       (yyglrReduce, yyrecoverParseError, yyparse): Don't report the
+       state reached after the reduction/recovery, since...
+       (yyparse, yyprocessOneStack): Report the state we are entering in.
+
+2002-11-16  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.h, src/getargs.c (trace_e, trace_args, trace_types):
+       Add support for --trace=skeleton.
+       * src/scan-skel.l: %option debug.
+       Scan strings of non-@ or \n instead of character by character.
+       (scan_skel): Handle trace_skeleton.
+       (QPUTS): New.
+       (@output_parser_name@, @output_header_name@): ``Restore'' their
+       support (used to be M4 macros).
+       * data/yacc.c: Quote larger chunks, a la glr.c.
+       * data/lalr1.cc: Likewise.
+       The header guards are no longer available, so use some other
+       string than `YYLSP_NEEDED'.
+
+2002-11-16  Akim Demaille  <akim@epita.fr>
+
+       Make the ``Printers and Destructors'' test more verbose, taking
+       `yacc.c''s behavior as (possibly wrong) reference.
+
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use printf
+       instead of fprint on stdout.
+       Set and report the last_line of the symbols.
+       Consistently display values and locations.
+
+2002-11-16  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c: Avoid over-quoting of __line__ and __file__.
+
+2002-11-15  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/actions.at (Actions after errors): New test case.
+
+       * data/glr.c, data/lalr1.cc, data/yacc.cc, doc/bison.texinfo,
+       src/conflicts.c, src/parse-gram.y, src/tables.c, src/tables.h,
+       tests/action.at, tests/calc.at, tests/conflicts.at,
+       tests/cxx-type.at, tests/regression.at:
+       "parse error" -> "syntax error" for POSIX compatibility.
+       "parsing stack overflow..." -> "parser stack overflow" so
+       that code matches Bison documentation.
+
+2002-11-15  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (declaration): Have %parse-param and %lex-param
+       take two BRACED_CODE, not two string_content.
+       Free the scanner's obstack when we are done.
+       (code_content): New.
+       * tests/calc.at: Adjust.
+       * doc/bison.texinfo: Adjust.
+       Also, make sure to include the `,' for these declarations.
+
+2002-11-15  Tim Van Holder  <tim.van.holder@pandora.be>
+
+       * m4/prereq.m4: Removed the commented jm_PREREQ_HASH
+       definition; avoids potential autoreconf problems.
+
+2002-11-15  Akim Demaille  <akim@epita.fr>
+
+       Always check the value returned by yyparse.
+
+       * tests/calc.at (_AT_DATA_CALC_Y): Have `main' exit with the value
+       returned by yyparse.
+       (_AT_CHECK_CALC_ERROR): Take the expected exit value as argument.
+       Adjust calls.
+       * tests/glr-regr1.at (glr-regr1.y): Have `main' exit with the value
+       returned by yyparse.
+
+2002-11-14  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/glr.c (yyFail): Always set yyerrflag.  Corrects regression
+       on input.at test.
+
+2002-11-14  Paul Eggert  <eggert@twinsun.com>
+
+       * src/output.c (output_skeleton): Call xfopen instead of
+       duplicating xfopen's body.
+
+       Fix bugs reported by Nelson H. F. Beebe in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00078.html>.
+
+       * tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that
+       "$CC -E foo.h" is allowed, as this doesn't work with the Portland
+       Group compiler.  Instead, use "$CC -E bar.c".  Include the .h
+       file twice in the grammar, as an extra check.
+
+       * tests/input.at (Torturing the Scanner): Surround the
+       backslash-newline tests with "#if 0", to make it less likely that
+       we'll run into compiler bugs.  Bring back solitary \ inside
+       comment, but add a closing comment to work around HP C bug.  Don't
+       test backslash-newline in C character constant.
+
+2002-11-14  Akim Demaille  <akim@epita.fr>
+
+       * tests/synclines.at (AT_SYNCLINES_COMPILE): Ignore the exit
+       status of the compiler.
+       Calling `exit 1' is no longer needed.
+       Reported by Nelson H. F. Beebe.
+
+2002-11-14  Akim Demaille  <akim@epita.fr>
+
+       * tests/atlocal.in (CPPFLAGS): We have config.h.
+       * tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR):
+       New.
+       * tests/actions.at, tests/calc.at, tests/conflicts.at,
+       * tests/cxx-type.at, tests/glr-regr1.at, tests/headers.at,
+       * tests/regression.at, tests/torture.at: Use them for all the
+       grammars that are to be compiled.
+       * tests/cxx-type.at (_AT_TEST_GLR_CALC): Rename as...
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): this.
+       * doc/bison.texinfo (GLR Parsers): Document `inline'.
+
+2002-11-14  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Various formatting changes (alignments in
+       samples, additional @group/@end group, GCS in samples.
+       Use @deffn instead of simple @table to define the directives,
+       macros, variables etc.
+
+2002-11-13  Paul Eggert  <eggert@twinsun.com>
+
+       Fix some bugs reported by Albert Chin-A-Young in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00066.html>.
+
+       * tests/input.at (Torturing the Scanner): Don't invoke "cc a.c b.c
+       -o c"; the HP C compiler chatters during compilation.
+       Instead, invoke "cc -c a.c -o a.o; cc -c b.c -o b.o; cc a.o b.o -o c".
+       * tests/headers.at (export YYLTYPE): Likewise.
+
+       * tests/input.at (Torturing the Scanner): Remove lines containing
+       solitary backslashes, as they tickle a bug in the HP C compiler.
+
+       * tests/glr-regr1.at (Badly Collapsed GLR States): Avoid //
+       comments, since they're not portable.  Use GNU coding style.
+
+2002-11-13  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c: Leave bigger chunks of quoted text.
+       (YYDSYMPRINTF): New.
+       Use it to report symbol activities.
+       * data/glr.c (YYDSYMPRINTF): New.
+       Use it.
+
+2002-11-12  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75b.
+
+       * data/glr.c (yydoAction): Return YYRESULTTAG, not int.
+       (yyglrReduce): Return yyok, not 0.
+       This should avoid the enumerated-type warnings reported
+       by Nelson H. F. Beebe in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00057.html>.
+
+       * lib/bbitset.h (BITSET_INLINE): Remove.
+       * lib/bitset.h [! BITSET_INLINE]: Remove.
+       (bitset_set, bitset_reset, bitset_test): Rename local vars
+       to avoid shadowing warnings by GCC.
+
+       * data/glr.c (inline): Remove #define.  It's the user's
+       responsibility to #define it away, just like 'const'.
+       This fixes one of the bugs reported by Nelson H. F. Beebe in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00058.html>.
+
+       * Makefile.maint (po-check): Scan .l and .y files instead of the
+       .c and the .h files that they generate.  This fixes the bug
+       reported by Tim Van Holder in:
+       <http://lists.gnu.org/archive/html/bison-patches/2002-11/msg00062.html>
+       Look for N_ as well as for _.  Try to avoid matching #define for
+       N_ and _.
+       * po/POTFILES.in: Remove src/parse-gram.c, src/scan-gram.c,
+       src/system.h.  Add src/parse-gram.y, src/scan-gram.l.
+       * src/scan-gram.l: Revamp regular expressions so that " and '
+       do not confuse xgettext.
+
+       * src/struniq.h (struniq_new): Do not declare the return type
+       to be 'const'; this violates the C standard.
+       * src/struniq.c (struniq_new): Likewise.
+
+2002-11-12  Albert Chin-A-Young <china@thewrittenword.com>
+
+       * src/Makefile.am (LDADD): Link $(LIBINTL) last to avoid the
+       duplicate definition of optind on Tru64 UNIX 4.0D with the Compaq
+       linker.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.maint: Sync with Autoconf:
+       (local_updates): New.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * po/POTFILES.in (src/lalr.c, src/state.c): Remove
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Display the
+       locations.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_yysymprint_generate): Pass *yyvaluep to YYPRINT,
+       not yyvalue.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/actions.at (AT_CHECK_PRINTER_AND_DESTRUCTOR): New.
+       Use it to test the GLR parser.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (input.y): s/YYEOF/MYEOF/, as the skeleton
+       defines it.
+       * data/glr.c (yystos): New.
+       (b4_yysymprint_generate, b4_yydestruct_generate): Invoke.
+       (YYDSYMPRINT): New.
+       (yyval): Don't define it, it is handled via M4.
+       (yyrecoverParseError): Free verbosely the discarded symbols.
+       * data/yacc.c (yysymprint): Remove, rather...
+       (b4_yysymprint_generate): invoke.
+       * data/c.m4 (b4_yysymprint_generate): New.
+       Accept pointers as arguments, as opposed to the version from
+       yacc.c.
+       (b4_yydestruct_generate): Likewise.
+       * tests/cations.at (Printers and Destructors): Use Bison directives
+       instead of CPP macros.
+       Don't rely on internal details.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_yydestruct_generate, b4_symbol_actions): New.
+       * data/yacc.c: Rename yychar1 as yytoken, as in glr.c.
+       Don't work on yychar (i.e., do set it to YYEMPTY, don't match
+       it against YYEMPTY and so forth), work on yytoken (i.e., set
+       it to YYEMPTY etc.).
+       (yydestruct): Replace with a b4_yydestruct_generate invocation.
+       (b4_symbol_actions): Remove.
+       * data/glr.c (YYTRANSLATE): As for yacc.c, if negative, it stands
+       for 0, end-of-input.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Destructor Decl): New.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/tables.c (tables_generate): Use free for pointers that
+       cannot be NULL, not XFREE.
+       (pack_vector): Use assert, not fatal, for bound violations.
+       * src/state.c (state_new): Likewise.
+       * src/reader.c (reader): Likewise.
+       * src/lalr.c (set_goto_map): Likewise.
+       * src/location.h (LOCATION_PRINT): If first_line is 0, just issue
+       the file name.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l, src/reader.h (scanner_last_string_free):
+       Restore.
+       * src/scan-gram.l (last_string): Is global to the file, not to
+       yylex.
+       * src/parse-gram.y (input): Don't append the epilogue here,
+       (epilogue.opt): do it here, and free the scanner's obstack.
+       * src/reader.c (epilogue_set): Rename as...
+       (epilogue_augment): this.
+       * data/c.m4 (b4_epilogue): Defaults to empty.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (long_options): Remove duplicates.
+       * src/vmsgetargs.c, src/build.com, src/bison.cld, src/vmshlp.mar:
+       Remove.
+       * doc/bison.rnh: Remove.
+       * doc/bison.texinfo (VMS Invocation): Remove.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/struniq.h, src/struniq.c (struniq_t): Is const.
+       (STRUNIQ_EQ, struniq_assert, struniq_assert_p): New.
+
+       Use struniq for symbols.
+
+       * src/symtab.h (symbol_t): The tag member is a struniq.
+       (symbol_type_set): Adjust.
+       * src/symtab.c (symbol_new): Takes a struniq.
+       (symbol_free): Don't free the tag member.
+       (hash_compare_symbol_t, hash_symbol_t): Rename as...
+       (hash_compare_symbol, hash_symbol): these.
+       Use the fact that tags as struniqs.
+       (symbol_get): Use struniq_new.
+       * src/symlist.h, src/symlist.c (symbol_list_n_type_name_get):
+       Returns a strniq.
+       * src/reader.h (merger_list, grammar_currentmerge_set): The name
+       and type members are struniqs.
+       * src/reader.c (get_merge_function)
+       (grammar_current_rule_merge_set): Adjust.
+       (TYPE, current_type): Are struniq.
+
+       Use struniq for file names.
+
+       * src/files.h, src/files.c (infile): Split into...
+       (grammar_file, current_file): these.
+       * src/scan-gram.c (YY_USER_INIT, handle_syncline): Adjust.
+       * src/reduce.c (reduce_print): Likewise.
+       * src/getargs.c (getargs): Likewise.
+       * src/complain.h, src/complain.c: Likewise.
+       * src/main.c (main): Call struniqs_new early enough to use it for
+       file names.
+       Don't free the input file name.
+
+2002-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.c (symbol_free): Remove dead deactivated code:
+       type_name are properly removed.
+       Don't use XFREE to free items that cannot be NULL.
+       * src/struniq.h, src/struniq.c: New.
+       * src/main.c (main): Initialize/free struniqs.
+       * src/parse-gram.y (%union): Add astruniq member.
+       (yyprint): Adjust.
+       * src/scan-gram.l (<{tag}>): Return a struniq.
+       Free the obstack bit that used to store it.
+       * src/symtab.h (symbol_t): The 'type_name' member is a struniq.
+
+2002-11-11  Paul Eggert  <eggert@twinsun.com>
+
+       Revamp to fix many (but not all) of the C- and M4-related quoting
+       problems.  Among other things, this fixes the Bison bug reported
+       by Jan Hubicka when processing the Bash grammar; see:
+       <http://lists.gnu.org/archive/html/bison-patches/2002-11/msg00039.html>
+
+       Use new @ escapes consistently.  Represent brackets with @{ and @}
+       rather than @<:@ and @:>@, since this works a bit better with dumb
+       editors like vi.  Represent @ with @@, since @ is now consistently
+       an escape.  Use @oline@ and @ofile@ rather than __oline__ and
+       __ofile__, to avoid unexpected expansions.  Similarly, use @output
+       rather than #output.
+
+       * data/c.m4 (b4_copyright): Omit file name from comment, since
+       the file name could contain "*/".
+       (b4_synclines_flag): Don't quote the 2nd argument; it should already
+       be quoted.  All uses changed.
+
+       * data/glr.c: Use new @ escapes consistently.
+       (b4_input_suffix, b4_output_parser_suffix, b4_output_parser_name,
+       b4_output_header_suffix, b4_output_header_name, b4_header_guard):
+       Remove, since they couldn't handle arbitrary characters in file
+       names.
+       * data/lalr1.cc: Likewise.
+       * data/yacc.c: Likewise.
+
+       * src/files.c (output_infix): Remove; all uses removed.
+       * src/files.h: Likewise.
+
+       * data/glr.c: Remove use of "#ifdef b4_header_guard", since it
+       mishandled funny characters in file names, and anyway it isn't
+       needed any more.
+       * data/yacc.c: Likewise.
+       * data/lalr1.cc: Use YYSLP_NEEDED instead of b4_header_guard.
+
+       * data/glr.c (YYSTYPE_IS_TRIVIAL): Define when the .h file would.
+       * data/yacc.c: Likewise.
+
+       * src/muscle_tab.c: Include quotearg.h, since we need to quote C
+       strings now.
+       (muscle_init): Quote filename as a C string.
+       * src/muscle_tab.h (MUSCLE_GROW_STRING_PAIR): Remove; unused.
+       (MUSCLE_OBSTACK_SGROW, MUSCLE_INSERT_C_STRING): New macros.
+       * src/output.c (escaped_file_name_output): New function.
+       (prepare_symbols): Quote tokens for M4.
+       (prepare): Don't insert output_infix, output_prefix,
+       output_parser_name, output_header_name; this is now down by scan-skel.
+       Insert skeleton as a C string.
+
+       * src/output.c (user_actions_output, symbol_destructors_output,
+       symbol_printers_output): Quote filenames for C and M4.
+       * src/reader.c (prologue_augment, epilogue_set): Likewise.
+
+       * src/scan-gram.l (<SC_CHARACTER>): Don't worry about any backslash
+       escapes other than \\ and \'; this simplifies the code.
+       (<SC_STRING>): Likewise, for \\ and \".
+       (<SC_COMMENT,SC_LINE_COMMENT,SC_STRING,SC_CHARACTER,SC_BRACED_CODE,
+       SC_PROLOGUE,SC_EPILOGUE>): Escape $ and @, too.
+       Use new escapes @{ and @} for [ and ].
+
+       * src/scan-skel.l (yylineno, yyoutname): Remove static vars, replacing
+       them with auto vars.
+       Switch to new escape scheme, where @ is the escape character uniformly.
+       Abort if a stray escape character is found.  Avoid unbounded input
+       buffer when parsing non-escaped text.
+
+       * tests/input.at (Torturing the Scanner): Add tests that @oline@,
+       __oline__, #output, $@, and @{ do not have unintended meanings.
+
+2002-11-09  Paul Eggert  <eggert@twinsun.com>
+
+       Fix the test failure due to GCC warnings described in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00000.html>.
+       * data/glr.c (yyis_pact_ninf, yyis_table_ninf): New macros, which
+       evaluate to 0 if it's impossible for NINF to be in the respective
+       table.
+       (yygetLRActions, yyrecoverParseError): Use them.
+
+       * src/scan-gram.l (unexpected_end_of_file): Fix bug: columns were
+       counted in the token inserted at end of file.  Now takes
+       location_t *, not location_t, so that the location can be
+       adjusted.  All uses changed.
+
+       * tests/regression.at (Invalid inputs): Adjust wording in
+       diagnostic to match the new behavior.
+
+       * tests/torture.at (AT_DATA_TRIANGULAR_GRAMMAR,
+       AT_DATA_HORIZONTAL_GRAMMAR, AT_DATA_LOOKAHEADS_GRAMMAR,
+       AT_DATA_STACK_TORTURE): Replace `assert (x);' with `if (! (x))
+       abort ();'.  This reduces the runtime of the "Many lookaheads"
+       test from 27.6 to 2.7 minutes on a 440 MHz Ultrasparc III running
+       GCC 3.2.
+
+2002-11-07  Paul Eggert  <eggert@twinsun.com>
+
+       * src/parse-gram.y (CHARACTER): Remove unused token.
+       All uses removed.
+
+       * src/scan-gram.l: Remove stack option.  We no longer use the
+       stack, since the stack was never deeper than 1; instead, use the
+       new auto var c_context to record the stacked value.
+
+       Remove nounput option.  At an unexpected end of file, we now unput
+       the minimal input necessary to end cleanly; this simplifies the
+       code.
+
+       Avoid unbounded token sizes where this is easy.
+
+       (unexpected_end_of_file): New function.
+       Use it to systematize the error message on unexpected EOF.
+       (last-string): Now auto, not static.
+       (YY_OBS_FREE): Remove unnecessary do while (0) wrapper.
+       (scanner_last_string_free): Remove; not used.
+       (percent_percent_count): Move decl to just before use.
+       (SC_ESCAPED_CHARACTER): Return ID at unexpected end of file,
+       not the (never otherwised-used) CHARACTER.
+
+2002-11-07  Akim Demaille  <akim@epita.fr>
+
+       Let yyerror always receive the msg as last argument, so that
+       yyerror can be variadic.
+
+       * data/yacc.c (b4_yyerror_args): New.
+       Use it when calling yyerror.
+       * data/glr.c (b4_yyerror_args, b4_lyyerror_args): New.
+       Use it when calling yyerror.
+       * doc/bison.texinfo (Error Reporting): Adjust.
+       * tests/calc.at (_AT_DATA_CALC_Y): Adjust.
+       * tests/cxx-type.at (_AT_TEST_GLR_CALC): Adjust.
+
+2002-11-06  Akim Demaille  <akim@epita.fr>
+
+       #line should have quoted strings.
+       Ideally, this should be done by m4_quotearg.
+
+       * src/scan-skel.l: Include quotearg.h.
+       Quote __ofile__.
+       * src/output.c (symbol_printers_output)
+       (symbol_destructors_output): Quote the file name.
+
+2002-11-06  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Invalid inputs): Adjust to the recent
+       messages.
+
+2002-11-06  Akim Demaille  <akim@epita.fr>
+
+       Restore --no-lines.
+       Reported by Jim Kent.
+
+       * data/c.m4 (b4_syncline): New.
+       * data/glr.c, data/yacc.c, data/lalr1.cc: Use it.
+       * src/reader.c (prologue_augment, epilogue_set): Use b4_syncline.
+       * src/output.c (user_actions_output): Likewise.
+       (prepare): Define 'b4_synclines_flag'.
+       * src/muscle_tab.c (muscle_init): Don't define b4_linef.
+
+2002-11-06  Akim Demaille  <akim@epita.fr>
+
+       * src/main.c (main): Free `infile'.
+       * src/scan-gram.l (handle_syncline): New.
+       Recognize `#line'.
+       * src/output.c (user_actions_output, symbol_destructors_output)
+       (symbol_printers_output): Use the location's file name, not
+       infile.
+       * src/reader.c (prologue_augment, epilogue_set): Likewise.
+
+2002-11-05  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * src/tables.c (matching_state): Don't allow states to match if
+       either has GLR conflict entries.
+
+2002-11-05  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l: Use more accurate diagnostics, e.g.
+       "integer out of range" rather than "invalid value".
+       * tests/input.at (Invalid $n, Invalid @n): Change expected wording
+       accordingly.
+
+       Scan <% and %> digraphs in C code as POSIX 1003.1-2001 requires.
+       Also, remove one static variable in the scanner.
+
+       * src/scan-gram.l (braces_level): Now auto, not static.
+       Initialize to zero if the compiler is being picky.
+       (INITIAL): Clear braces_level instead of incrementing it.
+       (SC_BRACED_CODE): Treat <% and %> as { and } when inside C code,
+       as POSIX 1003.1-2001 requires.
+       * src/system.h (IF_LINT): New macro, taken from coreutils.
+       * configure.ac: Define "lint" if --enable-gcc-warnings.
+
+2002-11-05  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l: When it starts with `%', complain about the
+       whole directive, not just that `invalid character: %'.
+
+2002-11-04  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.maint: Update from Autoconf.
+       (update, cvs-update, po-update, do-po-update): New.
+
+2002-11-04  Akim Demaille  <akim@epita.fr>
+
+       * tests/glr-regr1.at (Badly Collapsed GLR States): Prototype yylex
+       and yyerror.
+       Have yyerror `use' its arguments.
+       * tests/calc.at (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF
+       returns true when location & yacc & pure & parse-param.
+       (_AT_DATA_CALC_Y): Let yyerror ``use'' its arguments.
+
+2002-11-04  Akim Demaille  <akim@epita.fr>
+
+       * src/location.h (LOCATION_PRINT): Use quotearg slot 3 to avoid
+       clashes.
+       * src/scan-gram.l: Use [\'] instead of ['] to pacify
+       font-lock-mode.
+       Use complain_at.
+       Use quote, not quote_n since LOCATION_PRINT no longer uses the
+       slot 0.
+
+2002-11-03  Paul Eggert  <eggert@twinsun.com>
+
+       * src/reader.c (get_merge_function, grammar_current_rule_check):
+       Use consistent diagnostics for reporting type name clashes.
+       Quote the types with <>, for consistency with Yacc.
+       * tests/input.at (Type Clashes): Adjust to diagnostic changes.
+
+2002-11-03  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_identification, b4_user_args, b4_parse_param):
+       New.
+       * data/yacc.m4 (b4_pure_args, b4_Pure_args): New.
+       (b4_parse_param): Remove.
+       Use b4_identification.
+       Propagate b4_pure_args where needed to pass them to yyerror.
+       * data/glr.m4 (b4_parse_param): Remove.
+       (b4_user_formals, b4_pure_args, b4_pure_formals, b4_lpure_args)
+       (b4_lpure_formals): New.
+       Use b4_identification.
+       (YY_USER_FORMALS, YY_USER_ARGS): Remove, replaced by
+       b4_user_formals and b4_user_args.
+       (yyexpandGLRStack, yyFail, yyaddDeferredAction, yyglrShiftDefer)
+       (yyreportAmbiguity): When using a pure parser, also need
+       the location, and the parse-params.
+       Adjust callers.
+       (yyuserAction, yyglrShift, yyreportParseError, yyrecoverParseError):
+       When using a pure parser, also need the parse-params.
+       Adjust callers.
+       * tests/calc.at: Test pure (%pure-parser) and absolutely pure
+       (%pure-parser + %parse-param) LALR and GLR parsers.
+       (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): New, define AT_PARAM_IF,
+       AT_LOCATION_IF, AT_PURE_IF, AT_GLR_IF, AAT_PURE_AND_LOC_IF,
+       AT_GLR_OR_PARAM_IF, AT_YYERROR_ARG_LOC_IF, AT_YYERROR_SEES_LOC_IF.
+       (_AT_DATA_CALC_Y): Equip for purity of yyerror.
+       (_AT_CHECK_CALC_ERROR): Use AT_YYERROR_SEES_LOC_IF.
+       * tests/cxx-type.at (_AT_TEST_GLR_CALC): Equip for yyerror purity.
+       * doc/bison.texinfo: Untabify the whole file.
+       (Parser Function): Document %parse-param, deprecate YYPARSE_PARAM.
+       (Pure Calling): Document %lex-param, deprecate YYLEX_PARAM.
+       (Error Reporting): Adjust to these new directives.
+       Document %error-verbose, deprecate YYERROR_VERBOSE.
+
+2002-11-03  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at: Change all the AT_CHECK_CALC_LALR and
+       AT_CHECK_CALC_GLR invocations to use % directives, instead of
+       command line options.
+       * tests/cxx-type.at: Formatting changes.
+
+2002-11-03  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l: Revamp to fix POSIX incompatibilities,
+       to count columns correctly, and to check for invalid inputs.
+
+       Use mbsnwidth to count columns correctly.  Account for tabs, too.
+       Include mbswidth.h.
+       (YY_USER_ACTION): Invoke extend_location rather than LOCATION_COLUMNS.
+       (extend_location): New function.
+       (YY_LINES): Remove.
+
+       Handle CRLF in C code rather than in Lex code.
+       (YY_INPUT): New macro.
+       (no_cr_read): New function.
+
+       Scan UCNs, even though we don't fully handle them yet.
+       (convert_ucn_to_byte): New function.
+
+       Handle backslash-newline correctly in C code.
+       (SC_LINE_COMMENT, SC_YACC_COMMENT): New states.
+       (eols, blanks): Remove.  YY_USER_ACTION now counts newlines etc.;
+       all uses changed.
+       (tag, splice): New EREs.  Do not allow NUL or newline in tags.
+       Use {splice} wherever C allows backslash-newline.
+       YY_STEP after space, newline, vertical-tab.
+       ("/*"): BEGIN SC_YACC_COMMENT, not yy_push_state (SC_COMMENT).
+
+       (letter, id): Don't assume ASCII; e.g., spell out a-z.
+
+       ({int}, handle_action_dollar, handle_action_at): Check for integer
+       overflow.
+
+       (YY_STEP): Omit trailing semicolon, so that it's more like C.
+
+       (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>): Allow \0 and \00
+       as well as \000.  Check for UCHAR_MAX, not 255.
+       Allow \x with an arbitrary positive number of digits, as in C.
+       Check for overflow here.
+       Allow \? and UCNs, for compatibility with C.
+
+       (handle_symbol_code_dollar): Use quote_n slot 1 to avoid collision
+       with quote slot used by complain_at.
+
+       * tests/input.at: Add tests for backslash-newline, m4 quotes
+       in symbols, long literals, and funny escapes in strings.
+
+       * configure.ac (jm_PREREQ_MBSWIDTH): Add.
+       * lib/Makefile.am (libbison_a_SOURCES): Add mbswidth.h, mbswidth.c.
+       * lib/mbswidth.h, lib/mbswidth.c: New files, from GNU gettext.
+       * m4/Makefile.am (EXTRA_DIST): Add mbswidth.m4.
+       * m4/mbswidth.m4: New file, from GNU coreutils.
+
+       * doc/bison.texinfo (Grammar Outline): Document // comments.
+       (Symbols): Document that trigraphs have no special meaning in Bison,
+       nor is backslash-newline allowed.
+       (Actions): Document that trigraphs have no special meaning.
+
+       * src/location.h (LOCATION_COLUMNS, LOCATION_LINES): Remove;
+       no longer used.
+
+2002-11-02  Paul Eggert  <eggert@twinsun.com>
+
+       * src/reader.c: Don't include quote.h; not needed.
+       (get_merge_function): Reword warning to be consistent with
+       type clash diagnostic in grammar_current_rule_check.
+
+       * lib/quotearg.c (quotearg_buffer_restyled): Fix off-by-two
+       bug in trigraph handling.
+
+       * src/output.c (prepare_symbols): When printing token names,
+       escape "[" as "@<:@" and likewise for "]".
+
+       * src/system.h (errno): Remove declaration, as we are now
+       assuming C89 or better, and C89 guarantees errno.
+
+2002-10-30  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/bitset_stats.c (bitset_stats_read, bitset_stats_write):
+       Check for close failures.
+       * src/files.h (xfclose): Return void, not int, since it always
+       returned zero.
+       * src/files.c (xfclose): Likewise.  Report I/O error if ferror
+       indicates one.
+       * src/output.c (output_skeleton): Use xfclose rather than fclose
+       and ferror.  xfclose now checks ferror.
+
+       * data/glr.c (YYLEFTMOST_STATE): Remove.
+       (yyreportTree): Use a stack-based leftmost state.  This avoids
+       our continuing battles with bogus warnings about initializers.
+
+2002-10-30  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: Don't use #ifdef/#ifndef on HAVE_ values, only
+       #if.
+
+2002-10-29  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * tests/glr-regr1.at: New test for reported regressions.
+       * tests/testsuite.at: Add glr-regr1.at test.
+       * tests/Makefile.am: Add glr-regr1.at test.
+
+2002-10-24  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75a.
+
+       * tests/calc.at (_AT_DATA_CALC_Y): Remove unused strcat declaration.
+       * tests/cxx-type.at (_AT_TEST_GLR_CALC): Include stdlib.h, since
+       we use malloc.  Don't assume 'A' through 'Z' are contiguous.
+       Don't assume strdup exists; POSIX says its an XSI extension.
+       Check for buffer overflow on input.
+
+2002-10-24  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_skeleton): Don't disable M4sugar comments
+       too soon: it results in comments being expanded.
+       * data/yacc.c, data/glr.c, data/lalr1.cc: Do it right before the
+       first output.
+
+2002-10-24  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c (m4_int_type): New.
+       * data/c.m4 (m4_int_type): Don't use yysigned_char, but `signed
+       char' as only yacc.c wants K&R portability.
+       * data/glr.c (yysigned_char): Remove.
+       * data/lalr1.cc: Rename the trailing b4_name as b4_parser_class_name.
+       Reported by Quoc Peyrot.
+
+2002-10-23  Paul Eggert  <eggert@twinsun.com>
+
+       * src/main.c (main): With --trace=time, report times even if a
+       non-fatal error occurs.  Formerly, the times were reported in some
+       such cases but not in others.
+       * src/reader.c (reader): Just return if a complaint has been issued,
+       instead of exiting, so that 'main' can report times.
+
+2002-10-22  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: Include sys/types.
+       Reported by Bert Deknuydt.
+
+2002-10-23  Paul Eggert  <eggert@twinsun.com>
+
+       * configure.ac (AC_PROG_LEX): Use instead of AM_PROG_LEX.
+       Suggested by Art Haas.
+
+2002-10-22  Paul Eggert  <eggert@twinsun.com>
+
+       * src/complain.c (exit) [! (STDC_HEADERS || _LIBC)]: Remove exit
+       decl; not needed any more.
+       * src/main.c (main): Use return to exit, undoing yesterday's change.
+       The last OS that we could find where this wouldn't work is
+       SunOS 3.5, and that's too old to worry about now.
+
+       * data/glr.c (struct yyltype): Define members even when not
+       doing locations.  This is more consistent with yacc.c, and it
+       works around the following bug reports:
+       http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00106.html
+       http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00111.html
+
+       * doc/bison.texinfo: Minor spelling and typographical fixes.  Use
+       @acronym consistently.  Standardize on "Yacc" instead of "YACC",
+       "Algol" instead of "ALGOL".  Give a bit more history about BNF.
+
+2002-10-22  Akim Demaille  <akim@epita.fr>
+
+       * data/README: New.
+
+2002-10-21  Paul Eggert  <eggert@twinsun.com>
+
+       Be consistent about 'bool'; the old code used an enum in one
+       module and an int in another, and this violates the C standard.
+       * m4/stdbool.m4: New file, from coreutils 4.5.3.
+       * configure.ac (AC_HEADER_STDBOOL): Add.
+       * m4/Makefile.am (EXTRA_DIST): Add stdbool.m4.
+       * src/muscle_tab.c (hash_compare_muscles): (a ? FALSE : TRUE) -> (! a)
+       * src/symtab.c (hash_compare_symbol_t): Likewise.
+       * src/system.h (bool, false, true): Use a definition consistent
+       with ../lib/hash.c.  All uses changed.
+
+       * src/complain.c (warning_issued): Renamed from warn_message_count,
+       so that we needn't worry about integer overflow (!).
+       Now of type bool.  All uses changed.
+       (complaint_issued): Renamed from complain_message_count; likewise.
+
+       * src/main.c (main): Use exit to exit with failure.
+
+       * src/complain.c (fatal_at, fatal): Use EXIT_FAILURE and EXIT_SUCCESS
+       rather than 1 and 0.
+       * src/main.c (main): Likewise.
+       * src/getargs.c (getargs): Likewise.
+       * src/reader.c (reader): Likewise.
+
+       * src/getarg.c (getargs): Remove duplicate code for
+       "Try `bison --help'".
+
+       * src/files.c (xfopen, xfclose): Use EXIT_FAILURE rather than 2.
+       What was that "2" for?
+
+       * src/complain.h (fatal, fatal_at): Add __attribute__((__noreturn__)).
+       * src/getargs.c (usage): Likewise.
+
+       * src/getargs.c (getargs): When there are too few operands, report
+       the last one.  When there are too many, report the first extra
+       one.  This is how diffutils does it.
+
+2002-10-20  Paul Eggert  <eggert@twinsun.com>
+
+       Remove K&R vestiges.
+       * configure.ac (AC_C_CONST, AM_C_PROTOTYPES): Remove.
+       * src/complain.c (VA_START): Remove.  Assume prototypes.
+       (vfprintf) [! (HAVE_VPRINTF || defined vfprintf)]: New macro.
+       (private_strerror, warn_at, warn, complain_at, complain, fatal_at,
+       fatal): Assume prototypes.
+       * src/complain.h: Assume prototypes.
+       * src/system.h (PARAMS): Remove.
+       Include <limits.h> unconditionally, since it's guaranteeed even
+       for a freestanding C89 compiler.
+       (SHRT_MIN, SHRT_MAX): Remove, since C89 guarantees them.
+       * src/vmsgetargs.c (getargs, cli_present, cli_get_value): Prototype.
+
+2002-10-20  Akim Demaille  <akim@epita.fr>
+
+       * src/muscle_tab.c (muscle_grow): Remove trailing debugging code.
+       * data/glr.c (YY_USER_FORMALS, YY_USER_ARGS): New.
+       (yyuserAction, yydoAction, yyglrReduce, yyresolveValue)
+       (yyresolveStates, yyresolveAction, yyresolveStack)
+       (yyprocessOneStack): Use them.
+       (yy_reduce_print): New.
+       * tests/calc.at (_AT_DATA_CALC_Y): Exercise %parse-param.
+
+2002-10-20  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_c_ansi_args): Recognize functions with no
+       arguments and output `void'.
+       (b4_c_function): Rename as...
+       (b4_c_function_def): this.
+       (b4_c_function_decl, b4_c_ansi_function_def)
+       (b4_c_ansi_function_decl): New.
+       Change the interpretation of the arguments: before `int, foo', now
+       `int foo, foo'.
+       * data/yacc.c (yyparse): Prototype and define thanks to these.
+       Adjust b4_c_function_def uses.
+       * data/glr.c (yyparse): Likewise, but ANSI only.
+
+2002-10-20  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare): Move the definition of `tokens_number',
+       `nterms_number', `undef_token_number', `user_token_number_max'
+       to...
+       (prepare_tokens): Here.
+       (prepare_tokens): Rename as...
+       (prepare_symbols): this.
+       (prepare): Move the definition of `rules_number' to...
+       (prepare_rules): here.
+       (prepare): Move the definition of `last', `final_state_number',
+       `states_number' to...
+       (prepare_states): here.
+       * data/yacc.c, data/lalr1.cc, data/glr.c: Normalize `>' into `<'.
+
+2002-10-20  Akim Demaille  <akim@epita.fr>
+
+       * src/tables.h, src/tables.c, src/output.c: Comment changes.
+
+2002-10-20  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
+       * data/c.m4: here.
+
+2002-10-20  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare): Use MUSCLE_INSERT_STRING.
+       * src/muscle_tab.c (muscle_pair_list_grow): Rename `val as
+       `pair'.
+       (muscle_init): Move the `b4_ltype', `b4_maxdepth', `b4_initdepth',
+       `name' to...
+       * data/glr.c, data/lalr1.cc, data/yacc.c (b4_location_type)
+       (b4_stack_depth_init, b4_stack_depth_max, b4_parser_class_name):
+       These.
+
+2002-10-19  Paul Eggert  <eggert@twinsun.com>
+
+       Do not create a temporary file, as that involves security and
+       cleanup headaches.  Instead, use a pair of pipes.
+       Derived from a suggestion by Florian Krohm.
+       * lib/subpipe.c, lib/subpipe.h, m4/subpipe.m4: New files.
+       * lib/mkstemp.c, lib/readpipe.c, lib/tempname.c, m4/mkstemp.m4: Remove.
+       * configure.ac (UTILS_FUNC_MKSTEMP, jm_PREREQ_TEMPNAME): Remove.
+       (BISON_PREREQ_SUBPIPE): Add.
+       * lib/Makefile.am (libbison_a_SOURCES): Remove readpipe.c.
+       Add subpipe.h, subpipe.c.
+       * m4/Makefile.am (EXTRA_DIST): Remove mkstemp.m4.  Add subpipe.m4.
+       * po/POTFILES.in: Add lib/subpipe.c.
+       * src/output.c: Include "subpipe.h".
+       (m4_invoke): Remove decl.
+       (scan_skel): New decl.
+       (output_skeleton): Use pipe rather than temporary file for m4 input.
+       Check that m4sugar.m4 is readable, to avoid deadlock.
+       Check for pipe I/O error.
+       * src/scan-skel.l (readpipe): Remove decl.
+       (scan_skel): New function, to be used in place of m4_invoke.
+       Read from stream rather than file.
+
+       * lib/timevar.c (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Do not cast to
+       float, as this generates a warning on Solaris 8 + GCC 3.2 with
+       --enable-gcc-warnings.  Instead, divide into 1.0 rather than 1;
+       this generates a more-accurate value anyway.
+
+       * lib/timevar.c (timervar_accumulate): Rename locals to
+       avoid confusion with similarly-named more-global.
+       * src/muscle_tab.c (muscle_pair_list_grow): Likewise.
+
+       * src/output.c (prepare): Use xstrdup to convert char const *
+       to char *, to avoid GCC warning.
+
+2002-10-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (_AT_DATA_CALC_Y): Define VAL, LOC, LEX_FORMALS,
+       LEX_PRE_FORMALS, LEX_ARGS, LEX_PRE_ARGS, USE_LEX_ARGS.
+       Use them to have `calc.y' ready for %pure-parser.
+       * data/yacc.c (YYLEX): Pass a yylex return type to
+       b4_c_function_call.
+
+2002-10-19  Akim Demaille  <akim@epita.fr>
+
+       Prototype support of %lex-param and %parse-param.
+
+       * src/parse-gram.y: Add the definition of the %lex-param and
+       %parse-param tokens, plus their rules.
+       Drop the `_' version of %glr-parser.
+       Add the "," token.
+       * src/scan-gram.l (INITIAL): Scan them.
+       * src/muscle_tab.c: Comment changes.
+       (muscle_insert, muscle_find): Rename `pair' as `probe'.
+       * src/muscle_tab.h (MUSCLE_INSERT_PREFIX): Remove unused.
+       (muscle_entry_s): The `value' member is no longer const.
+       Adjust all dependencies.
+       * src/muscle_tab.c (muscle_init): Adjust: use
+       MUSCLE_INSERT_STRING.
+       Initialize the obstack earlier.
+       * src/muscle_tab.h, src/muscle_tab.c (muscle_grow)
+       (muscle_pair_list_grow): New.
+       * data/c.m4 (b4_c_function_call, b4_c_args): New.
+       * data/yacc.c (YYLEX): Use b4_c_function_call to honor %lex-param.
+       * tests/calc.at: Use %locations, not --locations.
+       (AT_CHECK_CALC_GLR): Use %glr-parser, not %glr_parser.
+
+2002-10-19  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (usage): Take status as argument and exit
+       accordingly.
+       Report the traditional `Try ... --help' message when status != 0.
+       (usage, version): Don't take a FILE * as arg, it is pointless.
+       (getargs): When there is an incorrect number of arguments, make it
+       an error, and report it GNUlically thanks to `usage ()'.
+
+2002-10-18  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yyreportParseError): Don't assume that sprintf
+       yields the length of the printed string, as this is not true
+       on SunOS 4.1.4.  Reported by Peter Klein.
+
+       * tests/calc.at (_AT_DATA_CALC_Y): #undef memcmp and realloc.
+       * tests/conflicts.at (%nonassoc and eof): Likewise.
+       Fixes SunOS 4.1.4 test failure reported by Peter Klein.
+
+2002-10-17  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.h (trace_e): Add trace_scan, and trace_parse.
+       * src/getargs.c (trace_types, trace_args): Adjust.
+       * src/reader.c (grammar_current_rule_prec_set)
+       (grammar_current_rule_dprec_set, grammar_current_rule_merge_set):
+       Standardize error messages.
+       And s/@prec/%prec/!
+       (reader): Use trace_flag to enable scanner/parser debugging,
+       instead of an adhoc scheme.
+       * src/scan-gram.l: Remove trailing debugging code.
+
+2002-10-16  Paul Eggert  <eggert@twinsun.com>
+
+       * src/muscle_tab.h (MUSCLE_TAB_H_): Was misspelled as
+       MUSCLE_TAB_H.
+
+       * NEWS: Officially drop support for building Bison with K&R C,
+       since it didn't work anyway and it's not worth worrying about.
+       * Makefile.maint (wget_files): Remove ansi2knr.c.
+       (ansi2knr.c-url_prefix): Remove.
+       * lib/.cvsignore: Remove ansi2knr, ansi2knr.*.
+       * lib/Makefile.am (AUTOMAKE_OPTIONS): Remove.
+       * src/Makefile.am (AUTOMAKE_OPTIONS): Remove.
+
+2002-10-15  Paul Eggert  <eggert@twinsun.com>
+
+       Stop using the "enum_" trick for K&R-style function definitions;
+       it confused me, and I was the author!  Instead, assume that people
+       who want to use K&R C compilers (when using these modules in GCC,
+       perhaps?) will run ansi2knr.
+
+       * lib/bbitset.h: (enum_bitset_ops, enum_bitset_type): Remove.
+       All uses of "enum_" changed to "enum ".
+       * lib/ebitset.c (enum_ebitset_find_mode): Likewise.
+       * lib/lbitset.c (enum_lbitset_find_mode): Likewise.
+
+       * lib/abitset.c (abitset_and, abitset_and_cmp, abitset_and_or,
+       abitset_and_or_cmp, abitset_andn, abitset_andn_cmp,
+       abitset_andn_or, abitset_andn_or_cmp, abitset_bytes, abitset_copy,
+       abitset_copy1, abitset_disjoint_p, abitset_empty_p,
+       abitset_equal_p, abitset_init, abitset_list, abitset_list_reverse,
+       abitset_not, abitset_ones, abitset_or, abitset_or_and,
+       abitset_or_and_cmp, abitset_or_cmp, abitset_reset, abitset_set,
+       abitset_size, abitset_small_list, abitset_subset_p, abitset_test,
+       abitset_unused_clear, abitset_xor, abitset_xor_cmp, abitset_zero):
+       Use function prototypes; this removes the need for declaring
+       static functions simply to provide their prototypes.
+       * lib/bitset.c (bitset_alloc, bitset_and_or_, bitset_and_or_cmp_,
+       bitset_andn_or_, bitset_andn_or_cmp_, bitset_bytes, bitset_copy_,
+       bitset_count_, bitset_create, bitset_dump, bitset_first,
+       bitset_free, bitset_init, bitset_last, bitset_next,
+       bitset_obstack_alloc, bitset_obstack_free, bitset_only_set_p,
+       bitset_op4_cmp, bitset_or_and_, bitset_or_and_cmp_, bitset_prev,
+       bitset_print, bitset_release_memory, bitset_toggle_,
+       bitset_type_choose, bitset_type_get, bitset_type_name_get,
+       debug_bitset): Likewise.
+       * lib/bitset.h (bitset_set, bitset_reset, bitset_test): Likewise.
+       * lib/bitset_stats.c (bitset_log_histogram_print,
+       bitset_percent_histogram_print, bitset_stats_and,
+       bitset_stats_and_cmp, bitset_stats_and_or,
+       bitset_stats_and_or_cmp, bitset_stats_andn, bitset_stats_andn_cmp,
+       bitset_stats_andn_or, bitset_stats_andn_or_cmp, bitset_stats_copy,
+       bitset_stats_count, bitset_stats_disable, bitset_stats_disjoint_p,
+       bitset_stats_dump, bitset_stats_empty_p, bitset_stats_enable,
+       bitset_stats_equal_p, bitset_stats_free, bitset_stats_init,
+       bitset_stats_list, bitset_stats_list_reverse, bitset_stats_not,
+       bitset_stats_ones, bitset_stats_or, bitset_stats_or_and,
+       bitset_stats_or_and_cmp, bitset_stats_or_cmp, bitset_stats_print,
+       bitset_stats_print_1, bitset_stats_read, bitset_stats_reset,
+       bitset_stats_set, bitset_stats_size, bitset_stats_subset_p,
+       bitset_stats_test, bitset_stats_toggle, bitset_stats_type_get,
+       bitset_stats_write, bitset_stats_xor, bitset_stats_xor_cmp,
+       bitset_stats_zero): Likewise.
+       * lib/bitsetv.c (bitsetv_alloc, bitsetv_create, bitsetv_free,
+       bitsetv_zero, bitsetv_ones, bitsetv_transitive_closure,
+       bitsetv_dump, debug_bitsetv): Likewise.
+       * lib/ebitset.c (ebitset_and, ebitset_and_cmp, ebitset_andn,
+       ebitset_andn_cmp, ebitset_bytes, ebitset_copy, ebitset_copy_,
+       ebitset_copy_cmp, ebitset_disjoint_p, ebitset_elt_add,
+       ebitset_elt_alloc, ebitset_elt_calloc, ebitset_elt_find,
+       ebitset_elt_free, ebitset_elt_last, ebitset_elt_remove,
+       ebitset_elt_zero_p, ebitset_elts_grow, ebitset_empty_p,
+       ebitset_equal_p, ebitset_free, ebitset_init, ebitset_list,
+       ebitset_list_reverse, ebitset_not, ebitset_ones, ebitset_op3_cmp,
+       ebitset_or, ebitset_or_cmp, ebitset_release_memory, ebitset_reset,
+       ebitset_set, ebitset_size, ebitset_subset_p, ebitset_test,
+       ebitset_weed, ebitset_xor, ebitset_xor_cmp, ebitset_zero):
+       Likewise.
+       * lib/lbitset.c (debug_lbitset, lbitset_and, lbitset_and_cmp,
+       lbitset_andn, lbitset_andn_cmp, lbitset_bytes, lbitset_copy,
+       lbitset_copy_cmp, lbitset_disjoint_p, lbitset_elt_alloc,
+       lbitset_elt_calloc, lbitset_elt_find, lbitset_elt_free,
+       lbitset_elt_link, lbitset_elt_unlink, lbitset_elt_zero_p,
+       lbitset_empty_p, lbitset_equal_p, lbitset_free, lbitset_init,
+       lbitset_list, lbitset_list_reverse, lbitset_not, lbitset_ones,
+       lbitset_op3_cmp, lbitset_or, lbitset_or_cmp, lbitset_prune,
+       lbitset_release_memory, lbitset_reset, lbitset_set, lbitset_size,
+       lbitset_subset_p, lbitset_test, lbitset_weed, lbitset_xor,
+       lbitset_xor_cmp, lbitset_zero): Likewise.
+
+2002-10-14  Akim Demaille  <akim@epita.fr>
+
+       Version 1.75.
+
+2002-10-14  Akim Demaille  <akim@epita.fr>
+
+       * tests/Makefile.am (maintainer-check-posix): New.
+
+2002-10-14  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c [YYDEBUG] (YYLEFTMOST_STATE): Initialize the yyloc
+       member.
+
+2002-10-14  Akim Demaille  <akim@epita.fr>
+
+       * src/tables.c (table_ninf_remap): base -> tab.
+       Reported by Matt Rosing.
+
+2002-10-14  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/action.at, tests/calc.at, tests/conflicts.at,
+       tests/cxx-type.at, tests/headers.at, tests/input.at,
+       tests/regression.at, tests/synclines.at, tests/torture.at:
+       Say "bison -o foo.c foo.y", not "bison foo.y -o foo.c",
+       so that the tests still work even if POSIXLY_CORRECT is set.
+       * doc/bison.texinfo (Rpcalc Compile, Invocation): Likewise.
+
+       * data/c.m4 (b4_int_type): Use yysigned_char instead of signed char,
+       for portability to K&R hosts.  Fix typo: signed char is guaranteed
+       only to 127, not to 128.
+       * data/glr.c (yysigned_char): New type.
+       * data/yacc.c (yysigned_char): Likewise.
+       * tests/regression.at (Web2c Actions): signed char -> yysigned_char.
+
+2002-10-13  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c (yyparse): Rewrite to avoid "comparison is always
+       true due to limited range of data type" warning from GCC.
+
+       * data/c.m4 (b4_token_defines): Protect against double-inclusion
+       by wrapping enum yytokentype's definition inside #ifndef
+       YYTOKENTYPE.  This undoes a bug I introduced on 2002-10-12.
+
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c (yyglrShiftDefer, yyaddDeferredAction, yydoAction):
+       Un yy- yyrhs to avoid the name clash with the global YYRHS.
+
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.maint: Update from Autoconf 2.54.
+       * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Remove, shipped with 2.54.
+
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c (print_state): Separate the list of solved conflicts
+       from the other items.
+       * tests/conflicts.at (Resolved SR Conflicts): Adjust.
+
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       Let nondeterministic skeletons be usable with deterministic
+       tables.
+
+       With the patch, GAWK compiled by GCC without -O2 passes its test
+       suite using a GLR parser driven by LALR tables.  It fails with -O2
+       because `struct stat' gives two different answers on my machine:
+       88 (definition of an auto var) and later 96 (memset on this var).
+       Hence the stack is badly corrumpted.  The headers inclusion is to
+       blame: if I move the awk.h inclusion before GLR's system header
+       inclusion, the two struct stat have the same size.
+
+       * src/tables.c (pack_table): Always create conflict_table.
+       (token_actions): Always create conflict_list.
+       * data/glr.c (YYFLAG): Remove, unused.
+
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       * configure.ac (AC_GNU_SOURCE): Use it instead of hand written code.
+       (O0FLAGS): New.
+       (VALGRIND, GXX): New.
+       * tests/atlocal.in (CFLAGS): Use O0FLAGS.
+       * tests/bison.in: Run $PREBISON a pre-command.
+       * tests/Makefile.am (maintainer-check, maintainer-check-valgrind)
+       (maintainer-check-g++): New.
+       * Makefile.am (maintainer-check): New.
+
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       * data/glr.c: Formatting changes.
+       Tweak some trace messages to match yacc.c's.
+
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       GLR parsers sometimes raise parse errors instead of performing the
+       default reduction.
+       Reported by Charles-Henry de Boysson.
+
+       * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't
+       check the length of the traces when %glr.
+       (_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from
+       GLR's traces.
+       (AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New.
+       Test GLR parsers.
+       * data/glr.c (YYLEFTMOST_STATE): Fix its value.
+       (yyltype): Remove the yy prefix from the member names.
+       (yytable): Complete its comment.
+       (yygetLRActions): Map error action number from YYTABLE from
+       YYTABLE_NINF to 0.
+       (yyisErrorAction): No longer compare YYACTION to YYPACT_NINF
+       (which was a bug: it should have been YYTABEL_NINF, and yet it was
+       not satisfying as we could compare an YYACTION computed from
+       YYDEFACT to YYTABLE_NINF although they are unrelated): 0 is the
+       only value for error actions.
+       (yyreportParseError): In verbose parse error messages, don't issue
+       `error' in the list of expected tokens.
+       * data/yacc.c (yyparse) <yybackup>: Rewrite the decoding of the
+       next action to perform to match glr.c's decoding.
+       (yytable): Complete its comment.
+
+2002-10-13  Paul Eggert  <eggert@twinsun.com>
+
+       Fix problem reported by Henrik Grubbstroem in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00098.html>:
+       "nonterm: { $$ = 123; } { $$ = $1; };" was wrongly rejected,
+       because the Bison parser reads the second action before reducing
+       the first one.
+       * src/scan-gram.l (rule_length): New static var.
+       Use it to keep track of the rule length in the scanner, since
+       we can't expect the parser to be in lock-step sync with the scanner.
+       (handle_action_dollar, handle_action_at): Use this var.
+       * tests/actions.at (Exotic Dollars): Test for the problem.
+
+2002-10-12  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/timevar.c [! IN_GCC && HAVE_SYS_TIME_H]: Include <sys/time.h>.
+       * m4/timevar.m4 (BISON_PREREQ_TIMEVAR): Check for <sys/time.h>.
+       Include <sys/time.h> when checking for clock_t and struct tms.
+       Use same include order as source.
+       This is for the SunOS 4.1.4 porting bug reported by Peter Klein in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00016.html>.
+
+       * lib/timevar.c: Update copyright date and clarify comments.
+       (get_time) [IN_GCC]: Keep the GCC version for reference.
+
+       * lib/timevar.c, lib/timevar.h, lib/timevar.def: Import
+       GCC version as of today, then merge Bison's changes.
+       Change "GCC" to "Bison" in copyright notice.  timevar.def's
+       author is Akim, so change that too.
+
+       * src/reader.c (grammar_current_rule_check):
+       Don't worry about the default action if $$ is untyped.
+       Prevents bogus warnings reported by Jim Gifford in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00015.html>.
+
+       * data/c.m4 (b4_token_enum): Do not define YYTOKENTYPE.
+       * data/glr.c, data/lalr1.cc, data/yacc.c:
+       Output token definitions before the first part of user declarations.
+       Fixes compatibility problem reported by Jim Gifford for kbd in
+       <http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00014.html>.
+
+2002-10-11  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c (yyreport_parse_error): Remove, putting its body into...
+       (yyparse): here.  This undoes some of the 2002-07-25 change.
+       Compatibility problem reported by Ralf S. Engelschall with
+       OSSP cfg <http://www.ossp.org/pkg/lib/cfg/>.
+
+2002-10-11  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at Characters Escapes): New.
+       * src/scan-gram.l (SC_ESCAPED_CHARACTER): Accept \' in strings and
+       characters.
+       Reported by Jan Nieuwenhuizen.
+
+2002-10-11  Akim Demaille  <akim@epita.fr>
+
+       * po/id.po: New.
+
+2002-10-10  Paul Eggert  <eggert@twinsun.com>
+
+       Portability fixes for bitsets; this also avoids several GCC
+       warnings.
+
+       * lib/abitset.c: Include <stddef.h>, for offsetof.
+       * lib/lbitset.c: Likewise.
+
+       * lib/abitset.c (abitset_bytes): Return a size that is aligned
+       properly for vectors of objects.  Do not assume that adding a
+       header size to a multiple of a word size yields a value that is
+       properly aligned for the whole union.
+       * lib/bitsetv.c (bitsetv_alloc): Likewise.
+
+       * lib/bitset_stats.c (bitset_stats_bytes): Adjust to new,
+       unique names for structures.
+       * lib/ebitset.c (ebitset_bytes): Likewise.
+       * lib/lbitset.c (lbitset_bytes): Likewise.
+
+       * lib/abitset.c (abitset_ones, abitset_zero, abitset_empty_p,
+       abitset_copy1, abitset_not, abitset_equal_p, abitset_subset_p,
+       abitset_disjoint_p, abitset_and, abitset_and_cmp, abitset_andn,
+       abitset_andn_cmp, abitset_or, abitset_or_cmp, abitset_xor,
+       abitset_xor_cmp, abitset_and_or, abitset_and_or_cmp,
+       abitset_andn_or, abitset_andn_or_cmp, abitset_or_and,
+       abitset_or_and_cmp, abitset_copy): Supply prototype decls,
+       to improve the type-checking that GCC can do.
+       * lib/bitset.c (bitset_op4_cmp): Likewise.
+       * lib/bitset_stats.c (bitset_stats_count,
+       bitset_stats_empty_p, bitset_stats_ones, bitset_stats_zero,
+       bitset_stats_copy, bitset_stats_disjoint_p,
+       bitset_stats_equal_p, bitset_stats_not, bitset_stats_subset_p,
+       bitset_stats_and, bitset_stats_and_cmp, bitset_stats_andn,
+       bitset_stats_andn_cmp, bitset_stats_or, bitset_stats_or_cmp,
+       bitset_stats_xor, bitset_stats_xor_cmp, bitset_stats_and_or,
+       bitset_stats_and_or_cmp, bitset_stats_andn_or,
+       bitset_stats_andn_or_cmp, bitset_stats_or_and,
+       bitset_stats_or_and_cmp): Likewise.
+       * lib/lbitset.c (lbitset_and, lbitset_and_cmp, lbitset_andn,
+       lbitset_andn_cmp, lbitset_or, lbitset_or_cmp, lbitset_xor,
+       lbitset_xor_cmp, lbitset_empty_p, lbitset_ones, lbitset_not,
+       lbitset_subset_p, lbitset_disjoint_p, debug_lbitset): Likewise.
+
+       * lib/abitset.h: Include bitset.h, not bbitset.h.
+       * lib/ebitset.h: Likewise.
+       * lib/lbitset.h: Likewise.
+
+       * lib/bbitset.h: (enum_bitset_ops, enum_bitset_type): New types.
+       All instances of parameters of type enum bitset_opts are now of
+       type enum_bitset_opts, to conform to the C Standard, and similarly
+       for enum_bitset_type.
+       * lib/ebitset.c (enum_ebitset_find_mode): Likewise.
+       * lib/lbitset.c (enum_lbitset_find_mode): Likewise.
+
+       Do not use "struct bitset_struct" to mean different things in
+       different modules.  Not only is this confusing, it violates
+       the C Standard, which requires that structure types in different
+       modules must be compatible if one is to be passed to the other.
+       * lib/bbitset.h (bitset): Now points to a union, not to a struct.
+       All instances of "struct bitset_struct *" replaced with "bitset".
+       * lib/bitset.h (struct bitset_struct): Remove, replacing with....
+       (union bitset_union, struct abitset_struct, struct ebitset_struct,
+       struct lbitset_struct, struct bitset_stats_struct): New types.
+       All uses of struct bitset_struct changed to union bitset_union,
+       etc.
+       * lib/abitset.c (struct abitset_struct, abitset,
+       struct bitset_struct): Remove.
+       * lib/bitset_stats.c (struct bitset_stats_struct, bitset_stats,
+       struct bitset_struct): Remove.
+       * lib/ebitset.c (struct ebitset_struct, ebitset, struct
+       bitset_struct): Remove.
+       * lib/lbitset.c (struct lbitset_struct, lbitset, bitset_struct):
+       Likewise.
+
+       Do not call a function of type T using a call that assumes the
+       function is of a different type U.  Standard C requires that a
+       function must be called with a type that is compatible with its
+       definition.
+       * lib/bbitset.h (bitset_and_or_, bitset_andn_or_, bitset_or_and_):
+       New decls.
+       * lib/bitset.c (bitset_and_or_, bitset_andn_or_, bitset_or_and_):
+       New functions.
+       * lib/ebitset.c (PFV): Remove.
+       * lib/lbitset.c (PFV): Likewise.
+       * lib/ebitset.c (ebitset_and, ebitset_andn, ebitset_or,
+       ebitset_xor, ebitset_copy, ebitset_ones, ebitset_empty_p): New
+       decls.
+       (ebitset_and, ebitset_andn, ebitset_or, ebitset_xor): New functions.
+       (ebitset_vtable): Use them.
+       * lib/lbitset.c (lbitset_and, lbitset_andn, lbitset_or,
+       lbitset_xor): New functions.
+       (lbitset_vtable): Use them.
+
+       * lib/bitset.h (bitset_next, bitset_prev, bitset_only_set_p):
+       Declare.
+
+       * lib/bitsetv.c (bitsetv_alloc): Add a cast to (void *) to avoid a
+       GCC warning.
+       * lib/lbitset.c (LBITSET_CURRENT1): Likewise.
+       Use offsetof, for simplicity.
+
+2002-10-06  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/bitset.h (bitset_reset): Do not assume that bitset_word is
+       the same width as int.  This reapplies a hunk of the 2002-08-12 patch
+       <http://lists.gnu.org/archive/html/bison-patches/2002-08/msg00007.html>,
+       which was inadvertently undone by the 2002-09-30 patch.
+       * lib/lbitset.c (debug_lbitset): Do not assume that bitset_word is
+       the same width as int.
+
+2002-10-04  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.50.
+
+       * configure.ac (AC_INIT), NEWS: Increment version number.
+
+       * doc/bison.texinfo: Minor spelling, grammar, and white space
+       fixes.
+       (Symbols): Mention that any negative value returned from yylex
+       signifies end-of-input.  Warn about negative chars.  Mention
+       the portable Standard C character set.
+
+       The GNU coding standard says CFLAGS and YFLAGS are reserved
+       for the installer to set.
+       * lib/Makefile.am (AM_CFLAGS): Renamed from CFLAGS.
+       * src/Makefile.am (AM_CFLAGS): Likewise.
+       (AM_YFLAGS): Renamed from YFLAGS.
+
+       Fix some MAX and MIN problems.
+       * src/gram.h (ITEM_NUMBER_MIN): MIN_MAX -> INT_MIN.
+       * src/lalr.h (GOTO_NUMBER_MAX): INT_MAX -> SHRT_MAX.
+       * src/symtab.h (SYMBOL_NUMBER_MAX): New macro.
+       * src/reader.c (reader): Use it.
+
+       * tests/regression.at (Braces parsing): Use grep, not fgrep, as
+       POSIX 1003.1-2001 has removed fgrep.
+
+2002-10-04  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * lib/bbitset.h (BITSET_WINDEX_MAX): Redefine so that it cannot be
+       interpreted as signed.
+       * lib/ebitset.c (ebitset_list): Fix bug.
+
+2002-10-01  Paul Eggert  <eggert@twinsun.com>
+
+       More fixes for 64-bit hosts and large bitsets.
+
+       * lib/abitset.c (struct abitset_struct.n_bits, abitset_small_list,
+       abitset_size, abitset_list, abitset_list_reverse, abitset_list):
+       Use bitset_bindex, not int or unsigned int or size_t, to count bits.
+       * lib/bbitset.h (struct bitset_vtable.size, struct bitset_vtable.count,
+       struct bitset_vtable.list, struct bitset_vtable.list_reverse,
+       bitset_count_, bitset_next, bitset_prev, bitset_first, bitset_last,
+       bitset_count_): Likewise.
+       * lib/bitset.h (bitset_iterator.num, bitset_iterator.i,
+       bitset_first, bitset_last): Likewise.
+       * lib/bitset_stats.c (bitset_stats_size, bitset_stats_list,
+       bitset_stats_list_reverse, bitset_stats_size,
+       bitset_stats_count, bitset_stats_list, bitset_stat_list_reverse):
+       Likewise.
+       * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
+       * lib/bitsetv.c (bitsetv_alloc, bitsetv_create, bitsetv_free,
+       bitsetv_zero, bitsetv_ones, bitsetv_transitive_closure,
+       bitsetv_reflexive_transitive_closure): Likewise.
+       * lib/bitsetv.h (bitsetv_alloc, bitsetv_create): Likewise.
+       * lib/ebitset.c (ebitset_size, ebitset_list, ebitset_list_reverse):
+       Likewise.
+       * lib/lbitset.c (lbitset_size, lbitset_list, lbitset_list_merge):
+       Likewise.
+
+       * lib/abitset.c (abitset_ones, abitset_zero, abitset_bytes):
+       Use size_t, not unsigned int, to count bytes.
+       * lib/abitset.h (abitset_bytes): Likewise.
+       * lib/bitset.c (bitset_bytes, bitset_alloc, bitset_obstack_alloc):
+       Likewise.
+       * lib/bitset.h (bitset_bytes): Likewise.
+       * lib/bitset_stats.c (bitset_stats_bytes, bitset_stats_init): Likewise.
+       * lib/bitset_stats.h (bitset_stats_bytes): Likewise.
+       * lib/bitsetv.c (bitsetv_alloc): Likewise.
+       * lib/ebitset.c (ebitset_bytes): Likewise.
+       * lib/ebitset.h (ebitset_bytes): Likewise.
+       * lib/lbitset.c (lbitset_bytes): Likewise.
+       * lib/lbitset.h (lbitset_bytes): Likewise.
+
+       * lib/abitset.c (abitset_empty_p, abitset_not, abitset_equal_p,
+       abitset_subset_p, abitset_disjoint_p, abitset_and,
+       abitset_and_cmp, abitset_andn, abitset_andn_cmp, abitset_or,
+       abitset_or_cmp, abitset_xor, abitset_xor_cmp, abitset_and_or,
+       abitset_and_or_cmp, abitset_andn_or, abitset_andn_or_cmp,
+       abitset_or_and, abitset_or_and_cmp):
+       Use bitset_windex instead of unsigned int.
+       * lib/bitsetv.c (bitsetv_dump, debug_bitsetv): Likewise.
+       * lib/ebitset.c (struct ebitset_struct.size, ebitset_elts_grow,
+       ebitset_elt_add, ebitset_elt_remove, ebitset_weed,
+       ebitset_elt_find, ebitset_list_reverse, ebitset_list, ebitset_init):
+       Likewise.
+       * lib/lbitset.c (lbitset_ones, lbitset_not): Likewise.
+
+       * lib/bitset.c (bitset_print):
+       Use proper printf formats for widths of integer types.
+       * lib/bitset_stats.c (bitset_percent_histogram_print,
+       bitset_log_histogram_print, bitset_stats_print_1): Likewise.
+       * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
+       * lib/bitsetv.c (bitsetv_dump, debug_bitsetv): Likewise.
+       * lib/lbitset.c (lbitset_bytes): Likewise.
+
+       * lib/bbitset.h (BITSET_BINDEX_MAX, BITSET_WINDEX_MAX,
+       BITSET_SIZE_MAX): New macros.
+       (BITSET_INDEX_MAX): Remove.  It wasn't right, since it assumed that
+       sizeof (bitset_word) == sizeof (bitset_windex).  All uses changed
+       to BITSET_WINDEX_MAX.
+
+       * lib/bitset.c (bitset_next, bitset_prev, bitset_first,
+       bitset_last): Return BITSET_BINDEX_MAX (not -1) for no value,
+       since we now return the bitset_bindex type (not int).
+
+       * lib/bitsetv.c (bitsetv_alloc): Check for arithmetic overflow
+       when computing sizes.
+       * lib/ebitset.c (ebitset_elts_grow): Likewise.
+
+       * lib/lbitset.c (lbitset_elt_find): Simplify windex calculation
+       and avoid cast to unsigned.
+
+2002-09-30  Akim Demaille  <akim@epita.fr>
+
+       * lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
+       * lib/bitset_stats.c, lib/bitsetv.c, lib/ebitset.c, lib/lbitset.c:
+       Updates from Michael Hayes.
+
+2002-09-30  Art Haas  <ahaas@neosoft.com>
+
+       * configure.ac: Update AC_OUTPUT and AM_CONFIG_HEADER
+       invocations.
+       * tests/cxx-type.at (declarator): Don't rely on NDEBUG being not
+       defined.
+
+2002-09-27  Akim Demaille  <akim@epita.fr>
+
+       Version 1.49c.
+
+2002-09-27  Akim Demaille  <akim@epita.fr>
+
+       * configure.ac (AM_INIT_AUTOMAKE): We _need_ 1.7.
+       (Because of AC_LIBSOURCE).
+
+2002-09-27  Akim Demaille  <akim@epita.fr>
+
+       Playing with Autoscan.
+
+       * configure.ac: Remove the old LIBOBJ tweaks.
+       (AC_REPLACE_FUNCS): Add strrchr and strtol.
+       * lib/strrchr.c: New.
+       * lib/strtol.c: New, from the Coreutils 4.5.1.
+
+2002-09-27  Akim Demaille  <akim@epita.fr>
+
+       Playing with Autoscan.
+
+       * m4/prereq.m4 (jm_PREREQ_ARGMATCH, jm_FUNC_ARGMATCH): New.
+       * lib/Makefile.am (libbison_a_SOURCES): No longer include
+       argmatch.c and argmatch.h, since they are AC_LIBSOURCE'd.
+       * lib/strcasecmp.c, lib/strncasecmp.c, lib/memcmp.c: New, from the
+       Coreutils 4.5.1.
+
+2002-09-24  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Stack Overflow): xref to Recursion.
+       (Frequently Asked Questions, Parser Stack Overflow): New.
+
+2002-09-13  Akim Demaille  <akim@epita.fr>
+
+       Playing with autoscan.
+
+       * src/reader.c (get_merge_function): Use xstrdup, not strdup.
+       * src/files.c (skeleton_find): Remove, unused.
+       * m4/memcmp.m4: New, from the Coreutils 4.5.1.
+       * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Run jm_FUNC_MEMCMP.
+
+2002-09-13  Akim Demaille  <akim@epita.fr>
+
+       * configure.ac (AM_INIT_AUTOMAKE): Require Automake 1.6.3.
+       * Makefile.am (AUTOMAKE_OPTIONS): Don't.
+
+2002-09-13  Akim Demaille  <akim@epita.fr>
+
+       * configure.ac: Require 2.54.
+       s/jm_FUNC_MALLOC/AC_FUNC_MALLOC/.
+       s/jm_FUNC_REALLOC/AC_FUNC_REALLOC/.
+       * m4/c-bs-a.m4, m4/malloc.m4, m4/mbstate_t.m4, m4/realloc.m4:
+       Remove, provided by Autoconf macros.
+
+2002-09-12  Akim Demaille  <akim@epita.fr>
+
+       * m4/prereq.m4: Update, from Coreutils 4.5.1.
+
+2002-09-12  Akim Demaille  <akim@epita.fr>
+
+       * m4/prereq.m4: Update, from Fileutils 4.1.5.
+       * configure.ac (jm_PREREQ_TEMPNAME): Invoke it.
+       Reported by Martin Mokrejs.
+
+2002-09-10  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y: Associate a human readable string to each
+       token type.
+       * tests/regression.at (Invalid inputs): Adjust.
+
+2002-09-10  Gary V. Vaughan  <gary@gnu.org>
+
+       * tests/Makefile.am ($(srcdir)/package.m4): Bison now ships
+       with an Autoconf-2.5x style configure.ac.
+
+2002-09-06  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (Conditions): Make explicit that the GPL
+       exception applies only to yacc.c.  This is a modification of a
+       patch originally suggested by Akim Demaille.
+
+2002-09-06  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_copyright): Move the GPL exception comment from
+       here to...
+       * data/yacc.c: here.
+
+       * data/lalr1.cc (struct yyltype): Don't define it, since we use
+       LocationType.
+       (b4_ltype): Default to yy::Location from location.hh.
+
+2002-09-04  Jim Meyering  <jim@meyering.net>
+
+       * data/yacc.c: Guard the declaration of yytoknum also with
+       `#ifdef YYPRINT', so it is declared only when used.
+
+2002-09-04  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Rename as...
+       * configure.ac: this.
+       Bump to 1.49c.
+
+2002-09-04  Akim Demaille  <akim@epita.fr>
+
+       * src/assoc.c, src/closure.c, src/gram.c, src/injections.c,
+       * src/lalr.c, src/LR0.c, src/relation.c, src/tables.c: Don't
+       translate maintainer only messages.
+
+2002-08-12  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.49b.
+
+       * Makefile.am (SUBDIRS): Remove intl.
+       (DISTCLEANFILES): Remove.
+       * NEWS: Mention that GNU M4 is now required.  Clarify what is
+       meant by "larger grammars".  Mention the pt_BR translation.
+       * configure.in (AC_CHECK_DECLS): Add getenv, getopt.
+       (AM_GNU_GETTEXT_VERSION): New macro, replacing GETTEXT_VERSION var.
+       Bump version from 0.11.2 to 0.11.5.
+       (BISON_PREREQ_STAGE): Remove.
+       (AM_GNU_GETTEXT): Use external gettext.
+       (AC_OUTPUT): Remove intl/Makefile.
+
+       * config/depcomp, config/install-sh: Sync with Automake 1.6.3.
+
+       * data/glr.c: Include string.h, for strlen.
+       (yyreportParseError): Use size_t for yysize.
+       (yy_yypstack): No longer nested inside yypstates, as nested
+       functions are not portable.  Do not assume size_t is the
+       same width as int.
+       (yypstates): Do not assume that ptrdiff_t is the same width
+       as int, and similarly for yyposn and YYINDEX.
+
+       * data/yacc.c: Fix comment about `$$ = $1': it can copy garbage.
+
+       * lib/Makefile.am (INCLUDES): Do not include from the intl
+       directory, which has been removed.
+       * src/Makefile.am (INCLUDES): Likewise.
+
+       * lib/Makefile.am (libbison_a_SOURCES): Add unlocked-io.h.
+       (bitsets_sources, additional_bitsets_sources, timevars_sources):
+       New vars.
+
+       * lib/Makefile.am (libbison_a_SOURCES): Avoid +=, a GNU make extension.
+       * tests/Makefile.am (EXTRA_DIST): Likewise.
+
+       * lib/abitset.c (abitset_reverse_list, ebitset_reverse_list):
+       Do not assume that bitset_windex is the same width as unsigned.
+
+       * lib/abitset.c (abitset_unused_clear): Do not assume that
+       bitset_word is the same width as int.
+       * lib/bbitset.h (BITSET_INDEX_MAX, BITSET_MSB): Likewise.
+       * lib/bitset.h (bitset_set, bitset_reset): Likewise.
+       * lib/bitset_stats.c (bitset_stats_set, bitset_stats_reset): Likewise.
+       * lib/ebitset.c (ebitset_set, ebitset_reset): Likewise.
+       * lib/lbitset.c (lbitset_set, lbitset_reset): Likewise.
+
+       * lib/abitset.c (abitset_op1): Use -1, not ~0, as memset arg (for
+       portability to one's complement hosts!).
+       * lib/ebitset.c (ebitset_op1): Likewise.
+       * lib/lbitset.c (lbitset_op1): Likewise.
+
+       * lib/argmatch.c, lib/quotearg.c, quotearg.h: Sync with GNU tar.
+       * lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
+       lib/hash.c, lib/hash.h, lib/strnlen.c, lib/xmalloc.c:
+       Sync with fileutils.
+       * lib/error.c, lib/getopt.c, lib/getopt.h, lib/getopt1.c,
+       lib/gettext.h: Sync with diffutils.
+
+       * lib/memrchr.c, lib/mkstemp.c, lib/strchr.c, lib/strnlen.c,
+       lib/strspn.c, lib/tempname.c: Use GPL, not LGPL.
+
+       * lib/obstack.c, lib/obstack.h: Sync with fileutils, except use
+       PROTOTYPES to check for prototypes, and "defined __STDC__" to
+       check for void *.
+
+       * lib/bbitset.h (BITSET_WORD_BITS): Now of type unsigned, not
+       size_t; the old version tried to do this but casted improperly.
+       (bitset_bindex, bitset_windex): Now size_t, not unsigned long.
+       (bitset_test): Now returns int, not unsigned long.
+
+       * lib/bitset_stats.c: Include "gettext.h".
+       (_): New macro.
+       (bitset_stats_set, bitset_stats_reset, bitset_stats_test): Don't
+       name locals "index", as it generates unnecessary warnings on some
+       hosts that have an "index" function.
+
+       * lib/bitset_stats.c (bitset_stats_print_1, bitset_stats_print,
+       bitset_stats_read, bitset_stats_write): Wrap strings in _() if
+       they need translation.
+       * src/LR0.c (state_list_append, new_itemsets, get_state,
+       append_states, generate_states): Likewise.
+       * src/assoc.c (assoc_to_string): Likewise.
+       * src/closure.c (print_closure, set_firsts, closure): Likewise.
+       * src/gram.c (grammar_dump): Likewise.
+       * src/injections.c (injections_compute): Likewise.
+       * src/lalr.c (lookaheads_print): Likewise.
+       * src/relation.c (relation_transpose): Likewise.
+       * src/scan-gram.l: Likewise.
+       * src/tables.c (table_grow, pack_vector): Likewise.
+
+       * m4/Makefile.am (EXTRA_DIST): Remove codeset.m4,
+       glibc21.m4, isc-posix.m4 lcmessage.m4, stage.m4.
+       * m4/malloc.m4, m4/realloc.m4: Sync with diffutils.
+       * m4/mbstate_t.m4: Sync with fileutils.
+       * m4/prereq.m4 (jm_PREREQ_QUOTEARG): AC_MBSTATE_T -> AC_TYPE_MBSTATE_T.
+
+       * po/LINGUAS: Add pt_BR.
+       * po/POTFILES.in: Add src/assoc.c, src/closure.c, src/gram.c,
+       src/main.c, src/relation.c, src/state.c, lib/bitset_stats.c,
+       lib/timevar.c.
+       Use src/parse-gram.y instead of src/parse-gram.c, as the gettext
+       manual recommends.
+       Similarly, use src/scan-gram.l instead of src/scan-gram.c.
+
+       * src/complain.c (strerror_r): Remove decl; not needed.
+       (strerror): Use same pattern as ../lib/error.c.
+
+       * src/files.c, src/files.h (compute_header_macro): Remove; unused.
+
+       * src/gram.c (grammar_dump): Do not assume ptrdiff_t fits in int.
+
+       * src/main.c (main): Cast result of bindtextdomain and textdomain
+       to void, to avoid a GCC warning when --disable-nls is in effect.
+
+       * src/scan-gram.l: Use strings rather than escapes when possible,
+       to minimize the number of warnings from xgettext.
+       (handle_action_dollar, handle_action_at): Don't use isdigit,
+       as it mishandles negative chars and it may not work as expected
+       outside the C locale.
+
+       * src/symtab.c (symbol_get): Don't cast LHS of an assignment;
+       this is a GCC extension and is not portable to other compilers.
+
+       * src/system.h (alloca): Use same pattern as ../lib/error.c.
+       Do not include <ctype.h>; no longer needed.
+       Do not include <malloc.h>; no longer needed (and generates
+       warnings on OpenBSD 3.0).
+
+       * tests/cxx-type.at (yylex): Do not pass signed char to isupper;
+       it's not portable.
+
+       * tests/regression.at: Do not use 'cc -c input.c -o input';
+       Sun C rejects this.  Instead, use 'cc -c input.c -o input.o'.
+
+       * tests/synclines.at (AC_SYNCLINES_COMPILE): Accept any nonzero
+       exit status as failure, not just exit status 1.  Sun C exits
+       with status 2 sometimes.
+
+       * tests/torture.at (AT_INCREASE_DATA_SIZE): New macro.
+       Use it for the two large tests.
+
+2002-08-02  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (conflicts_output): Don't output rules never
+       reduced here, since anyway that computation doesn't work.
+       * src/gram.h, src/gram.h (rule_filter_t, rule_useful_p)
+       (rule_useless_p, rule_never_reduced_p): New.
+       (grammar_rules_partial_print): Use a filter instead of a range.
+       Display the title only if needed.
+       (grammar_rules_print): Adjust.
+       (grammar_rules_never_reduced_report): New.
+       * src/tables.c (action_row): Move the computation of rules never
+       reduced to...
+       (token_actions): here.
+       * src/main.c (main): Make the parser before making the report, so
+       that rules never reduced are computed.
+       Call grammar_rules_never_reduced_report.
+       * src/print.c (print_results): Report rules never reduced.
+       * tests/conflicts.at, tests/reduce.at: Adjust.
+
+2002-08-01  Akim Demaille  <akim@epita.fr>
+
+       Instead of attaching lookaheads and duplicating the rules being
+       reduced by a state, attach the lookaheads to the reductions.
+
+       * src/state.h (state_t): Remove the `lookaheads',
+       `lookaheads_rule' member.
+       (reductions_t): Add a `lookaheads' member.
+       Use a regular array for the `rules'.
+       * src/state.c (reductions_new): Initialize the lookaheads member
+       to 0.
+       (state_rule_lookaheads_print): Adjust.
+       * src/state.h, src/state.c (state_reductions_find): New.
+       * src/conflicts.c (resolve_sr_conflict, set_conflicts)
+       (count_rr_conflicts): Adjust.
+       * src/lalr.c (LArule): Remove.
+       (add_lookback_edge): Adjust.
+       (state_lookaheads_count): New.
+       (states_lookaheads_initialize): Merge into...
+       (initialize_LA): this.
+       (lalr_free): Adjust.
+       * src/main.c (main): Don't free nullable and derives too early: it
+       is used by --verbose.
+       * src/print.c, src/print_graph.c, src/tables.c: Adjust.
+
+2002-08-01  Akim Demaille  <akim@epita.fr>
+
+       * src/derives.h, src/derives.c (derives): A `rule_t***' instead of
+       `rule_number_t**'.
+       (set_derives, free_derives): Rename as...
+       (derives_compute, derives_free): this.
+       Adjust all dependencies.
+       * src/nullable.c (set_nullable, free_nullable): Rename as...
+       (nullable_compute, nullable_free): these.
+       (rule_list_t): Store rule_t *, not rule_number_t.
+       * src/state.c (state_rule_lookaheads_print): Directly compare rule
+       pointers, instead of their numbers.
+       * src/main.c (main): Call nullable_free, and derives_free earlier,
+       as they were lo longer used.
+
+2002-08-01  Akim Demaille  <akim@epita.fr>
+
+       * lib/timevar.c (get_time): Include children time.
+       * src/lalr.h (LA, LArule): Don't export them: used with the
+       state_t.
+       * src/lalr.c (LA, LArule): Static.
+       * src/lalr.h, src/lalr.c (lalr_free): New.
+       * src/main.c (main): Call it.
+       * src/tables.c (pack_vector): Check whether loc is >= to the
+       table_size, not >.
+       (pack_tables): Don't free froms, tos, conflict_tos, and pos...
+       (tables_generate): do it, since that's also it which allocates
+       them.
+       Don't free LA and LArule, main does.
+
+2002-07-31  Akim Demaille  <akim@epita.fr>
+
+       Separate parser tables computation and output.
+
+       * src/output.c (nvectors, base_t, base, base_ninf, conflict_table)
+       (conflict_list, conflict_list_cnt, table, check, table_ninf)
+       (yydefgoto, yydefact, high): Move to...
+       * src/tables.h, src/tables.c: here.
+       * src/output.c (vector_number_t, VECTOR_NUMBER_MAX)
+       (VECTOR_NUMBER_MIN, state_number_to_vector_number)
+       (symbol_number_to_vector_number, nvectors, BASE_MAX, BASE_MIN)
+       (froms, tos, conflict_tos, tally, width, action_t, ACTION_MAX)
+       (ACTION_MIN, actrow, order, nentries, pos, conflrow)
+       (conflict_list_free, table_size, lowzero, table_grow, conflict_row)
+       (action_row, save_row, token_actions, save_column, default_goto)
+       (goto_actions, sort_actions, matching_state, pack_vector)
+       (table_ninf_remap, pack_table, prepare_actions): Move to...
+       * src/tables.c: here.
+       * src/tables.h, src/tables.c(tables_generate, tables_free): New.
+       * src/output.c (token_actions, output_base, output_conflicts)
+       (output_check): Merge into...
+       (prepare_actions): this.
+       (actions_output): Rename as...
+       (user_actions_output): this.
+       * src/main.c (main): Call tables_generate and tables_free.
+
+2002-07-31  Akim Demaille  <akim@epita.fr>
+
+       Steal GCC's --time-report support.
+
+       * lib/timevar.c, lib/timevar.h, lib/timevar.def: New,
+       stolen/adjusted from GCC.
+       * m4/stage.m4: Remove time related checks.
+       * m4/timevar.m4: New.
+       * configure.in: Adjust.
+       * src/system.h: Adjust to using timevar.h.
+       * src/getargs.h, src/getargs.c: Support trace_time for
+       --trace=time.
+       * src/main.c (stage): Remove.
+       (main): Replace `stage' invocations with timevar calls.
+       * src/output.c: Insert pertinent timevar calls.
+
+2002-07-31  Akim Demaille  <akim@epita.fr>
+
+       Let --trace have arguments.
+
+       * src/getargs.h (enum trace_e): New.
+       * src/getargs.c (trace_args, trace_types, trace_argmatch): New.
+       (long_options, short_options): --trace/-T takes an optional
+       argument.
+       Change all the uses of trace_flag to reflect the new flags.
+       * tests/sets.at (Firsts, Nullable, Broken Closure): Use --trace=sets.
+
+       Strengthen `stage' portability.
+
+       * m4/stage.m4 (BISON_PREREQ_STAGE): New.
+       * configure.in: Use it.
+       Don't check for malloc.h and sys/times.h.
+       * src/system.h: Include them when appropriate.
+       * src/main.c (stage): Compile only when mallinfo, struct mallinfo,
+       times and struct tms are available.
+
+2002-07-30  Akim Demaille  <akim@epita.fr>
+
+       In verbose parse error message, don't report `error' as an
+       expected token.
+       * tests/actions.at (Printers and Destructors): Adjust.
+       * tests/calc.at (Calculator $1): Adjust.
+       * data/yacc.c, data/glr.c, data/lalr1.c: When making the verbose
+       error message, do not report the parser accepts the error token in
+       that state.
+
+2002-07-30  Akim Demaille  <akim@epita.fr>
+
+       Normalize conflict related messages.
+
+       * src/complain.h, src/complain.c (warn, complain): New.
+       * src/conflicts.c (conflicts_print): Use them.
+       (conflict_report_yacc): New, extracted from...
+       (conflicts_print): here.
+       * tests/conflicts.at, tests/existing.at: Adjust.
+
+2002-07-30  Akim Demaille  <akim@epita.fr>
+
+       Report rules which are never reduced by the parser: those hidden
+       by conflicts.
+
+       * src/LR0.c (save_reductions): Don't make the final state too
+       different: save its reduction (accept) instead of having a state
+       without any action (no shift or goto, no reduce).
+       Note: the final state is now a ``regular'' state, i.e., the
+       parsers now contain `reduce 0' as default reduction.
+       Nevertheless, since they decide to `accept' when yystate =
+       final_state, they still will not reduce rule 0.
+       * src/print.c (print_actions, print_reduction): Adjust.
+       * src/output.c (action_row): Track reduced rules.
+       (token_actions): Report rules never reduced.
+       * tests/conflicts.at, tests/regression.at: Adjust.
+
+2002-07-30  Akim Demaille  <akim@epita.fr>
+
+       `stage' was accidently included in a previous patch.
+       Initiate its autoconfiscation.
+
+       * configure.in: Look for malloc.h and sys/times.h.
+       * src/main.c (stage): Adjust.
+       Report only when trace_flag.
+
+2002-07-29  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (transitions_t): Holds state_t*'s, not
+       state_number_t.
+       (errs_t): symbol_t*, not symbol_number_t.
+       (reductions_t): rule_t*, not rule_number_t.
+       (FOR_EACH_SHIFT): New.
+       * src/LR0.c, src/conflicts.c, src/lalr.c, src/output.c
+       * src/print.c, src/print_graph.c: Adjust.
+
+2002-07-29  Akim Demaille  <akim@epita.fr>
+
+       Use $accept and $end, as BYacc and BTYacc do, instead of $axiom and $.
+
+       * src/symtab.h, src/symtab.c (eoftoken, axiom): Rename as...
+       (endtoken, accept): these.
+       * src/reader.c (reader): Set endtoken's default tag to "$end".
+       Set undeftoken's tag to "$undefined" instead of "$undefined.".
+       * doc/bison.texinfo (Table of Symbols): Mention $accept and $end.
+       Adjust.
+
+2002-07-29  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (reduce_grammar): When the language is empty,
+       complain about the start symbol, not the axiom.
+       Use its location.
+       * tests/reduce.at (Empty Language): New.
+
+2002-07-26  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.h, src/reader.c (gram_error): ... can't get
+       yycontrol without making too strong assumptions on the parser
+       itself.
+       * src/output.c (prepare_tokens): Use the real 0th value of
+       token_translations instead of `0'.
+       * src/parse-gram.y (yyerror): Don't rely on yycontrol being
+       visible here.
+       * data/yacc.c (yyreport_parse_error): Rename yylocation as yylloc
+       for the time being: %locations ought to provide it to yyerror.
+
+2002-07-25  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare_tokens): Go up to ntokens, not ntokens + 1.
+       * doc/bison.texinfo (Decl Summary): s/$illegal/$undefined./.
+       * tests/regression.at (Web2c Actions): Adjust.
+
+2002-07-25  Akim Demaille  <akim@epita.fr>
+
+       Stop storing rules from 1 to nrules + 1.
+
+       * src/LR0.c, src/closure.c, src/derives.c, src/gram.c, src/lalr.c
+       * src/nullable.c, src/output.c, src/print.c, src/reader.c
+       * src/reduce.c: Allocate and free from &rules[0], not &rules[1].
+       Iterate from 0 to nrules.
+       Use rule_number_as_item_number and item_number_as_rule_number.
+       Adjust to `derive' now containing possibly 0.
+       * src/gram.h (rule_number_as_item_number, item_number_as_rule_number):
+       Handle the `- 1' part in rule numbers from/to item numbers.
+       * src/conflicts.c (log_resolution): Fix the message which reversed
+       shift and reduce.
+       * src/output.c (action_row): Initialize default_rule to -1.
+       (token_actions): Adjust.
+       * tests/sets.at (Nullable, Firsts): Fix the previously bogus
+       expected output.
+       * tests/conflicts.at (Resolved SR Conflicts): Likewise.
+
+2002-07-25  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_c_function, b4_c_ansi_args, b4_c_ansi_arg)
+       (b4_c_knr_arg_names, b4_c_knr_arg_name, b4_c_knr_arg_decls)
+       (b4_c_knr_arg_decl): New.
+       * data/yacc.c: Use it to define yysymprint, yydestruct, and
+       yyreport_parse_error.
+
+2002-07-25  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c (yyreport_parse_error): New, extracted from...
+       (yyparse): here.
+       (yydestruct, yysymprint): Move above yyparse.
+       Be K&R compliant.
+
+2002-07-25  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_ints_in, b4_int_type, b4_int_type_for): New,
+       replace...
+       (b4_sint_type, b4_uint_type): these.
+       * data/yacc.c, data/glr.c, data/lalr1.cc: Use b4_int_type_for.
+       * tests/regression.at (Web2c Actions): Adjust.
+
+2002-07-25  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (TIEM_NUMBER_MAX): New.
+       (item_number_of_rule_number, rule_number_of_item_number): Rename
+       as...
+       (rule_number_as_item_number, item_number_as_rule_number): these.
+       Adjust dependencies.
+       * src/output.c (vector_number_t, VECTOR_NUMBER_MAX)
+       (VECTOR_NUMBER_MIN, state_number_to_vector_number)
+       (symbol_number_to_vector_number): New.
+       (order): Of vector_number_t* type.
+       (base_t, BASE_MAX, BASE_MIN): New.
+       (froms, tos, width, pos, check): Of base_t type.
+       (action_number_t, ACTION_MIN, ACTION_MAX): New.
+       (actrow): Of action_number_t type.
+       (conflrow): Of unsigned int type.
+       (table_ninf, base_ninf): New.
+       (GENERATE_MUSCLE_INSERT_TABLE): Also output the `*_min' value.
+       (muscle_insert_int_table, muscle_insert_base_table)
+       (muscle_insert_rule_number_table): New.
+       (prepare_tokens): Output `toknum' as int_table.
+       (action_row): Returns a rule_number_t.
+       Use ACTION_MIN, not SHRT_MIN.
+       (token_actions): yydefact is rule_number_t*.
+       (table_ninf_remap): New.
+       (pack_table): Use it for `base' and `table'.
+       * data/yacc.c, data/glr.c, data/lalr1.cc (YYFLAG): Remove,
+       replaced with...
+       (YYPACT_NINF, YYTABLE_NINF): these.
+       (yypact, yytable): Compute their types instead of hard-coded
+       `short'.
+       * tests/regression.at (Web2c Actions): Adjust.
+
+2002-07-19  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l (id): Can start with an underscore.
+
+2002-07-16  Akim Demaille  <akim@epita.fr>
+
+       * src/assoc.c, src/asssoc.h (assoc_t, assoc_to_string): New.
+       Adjust all former `associativity' dependencies.
+       * src/symtab.c (symbol_new): Default associativity is `undef', not
+       `right'.
+       (symbol_check_alias_consistence): Adjust.
+
+2002-07-09  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Properly set the ``header'' part.
+       Use @dircategory ``GNU programming tools'' as per Texinfo's
+       documentation.
+       Use @copying.
+
+2002-07-09  Akim Demaille  <akim@epita.fr>
+
+       * lib/quotearg.h: Protect against multiple inclusions.
+       * src/location.h (location_t): Add a `file' member.
+       (LOCATION_RESET, LOCATION_PRINT): Adjust.
+       * src/complain.c (warn_at, complain_at, fatal_at): Drop
+       `error_one_per_line' support.
+
+2002-07-09  Akim Demaille  <akim@epita.fr>
+
+       * src/complain.h, src/complain.c (warn, complain): Remove, unused.
+       * src/reader.c (lineno): Remove.
+       Adjust all dependencies.
+       (get_merge_function): Take a location and use complain_at.
+       * src/symtab.h, src/symtab.c (symbol_make_alias): Likewise.
+       * tests/regression.at (Invalid inputs, Mixing %token styles):
+       Adjust.
+
+2002-07-09  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (rules_or_grammar_declaration): Add an error
+       recovery rule, and forbid extensions when --yacc.
+       (gram_error): Use complain_at.
+       * src/reader.c (reader): Exit if there were parse errors.
+
+2002-07-09  Akim Demaille  <akim@epita.fr>
+
+       * tests/synclines.at (AT_SYNCLINES_COMPILE): New.
+       (AT_TEST_SYNCLINE): Adjust to unusual GCC outputs.
+       Reported by R Blake <blakers@mac.com>.
+
+2002-07-09  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c: Output the copyright notive in the header.
+
+2002-07-03  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (froms, tos): Are state_number_t.
+       (save_column): sp, sp1, and sp2 are state_number_t.
+       (prepare): Rename `final' as `final_state_number', `nnts' as
+       `nterms_number', `nrules' as `rules_number', `nstates' as
+       `states_number', and `ntokens' as `tokens_number'.  Remove `nsym',
+       unused.
+       * data/yacc.c, data/glr.c, data/lalr1.cc: Adjust.
+       * data/lalr1.cc (nsym_): Remove, unused.
+
+2002-07-03  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h, src/lalr.c (goto_number_t): New.
+       * src/lalr.c (goto_list_t): New.
+       Propagate them.
+       * src/nullable.c (rule_list_t): New.
+       Propagate.
+       * src/types.h: Remove.
+
+2002-07-03  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (print_fderives): Use rule_rhs_print.
+       * src/derives.c (print_derives): Use rule_rhs_print.
+       (rule_list_t): New, replaces `shorts'.
+       (set_derives): Add comments.
+       * tests/sets.at (Nullable, Firsts): Adjust.
+
+2002-07-03  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare_actions): Free `tally' and `width'.
+       (prepare_actions): Allocate and free `order'.
+       * src/symtab.c (symbols_free): Free `symbols'.
+       * src/scan-gram.l (scanner_free): Clear Flex's scanners memory.
+       * src/output.c (m4_invoke): Move to...
+       * src/scan-skel.l: here.
+       (<<EOF>>): Close yyout, and free its name.
+
+2002-07-03  Akim Demaille  <akim@epita.fr>
+
+       Fix some memory leaks, and fix a bug: state 0 was examined twice.
+
+       * src/LR0.c (new_state): Merge into...
+       (state_list_append): this.
+       (new_states): Merge into...
+       (generate_states): here.
+       (set_states): Don't ensure a proper `errs' state member here, do it...
+       * src/conflicts.c (conflicts_solve): here.
+       * src/state.h, src/state.c: Comment changes.
+       (state_t): Rename member `shifts' as `transitions'.
+       Adjust all dependencies.
+       (errs_new): For consistency, also take the values as argument.
+       (errs_dup): Remove.
+       (state_errs_set): New.
+       (state_reductions_set, state_transitions_set): Assert that no
+       previous value was assigned.
+       (state_free): New.
+       (states_free): Use it.
+       * src/conflicts.c (resolve_sr_conflict): Don't use an `errs_t' as
+       temporary storage: use `errs' and `nerrs' as elsewhere.
+       (set_conflicts): Allocate and free this `errs'.
+
+2002-07-02  Akim Demaille  <akim@epita.fr>
+
+       * lib/libiberty.h: New.
+       * lib: Update the bitset implementation from upstream.
+       * src/closure.c, src/lalr.c, src/output.c, src/print_graph.c,
+       * src/state.c: Use BITSET_FOR_EACH, not BITSET_EXECUTE.
+       * src/main.c: Adjust bitset stats calls.
+
+2002-07-01  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l (<SC_ESCAPED_CHARACTER>): Convert to unsigned
+       char, so that negative chars don't collide with $.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       Have the GLR tests be `warning' checked, and fix the warnings.
+
+       * data/glr.c (YYFPRINTF): Always define it, not only when YYDEBUG
+       (yyuserAction, yyreportAmbiguity): `Use' all the arguments.
+       (yyremoveDeletes): `yyi' and `yyj' are size_t.
+       Use YYFPRINTF when under if (YYDEBUG) to avoid empty `if' bodies.
+       (yyaddDeferredAction): static.
+       (yyglrReduce): yyi, yyk, amd yyposn are size_t.
+       (yyreportParseError): yyprefix is const.
+       yytokenp is used only when verbose.
+       (yy__GNUC__): Replace with __GNUC__.
+       (yypdumpstack): yyi is size_t.
+       (yypreference): Un-yy local variables and arguments, to avoid
+       clashes with `yyr1'.  Anyway, we are not in the user name space.
+       (yytname_size): be an int, as is compared with ints.
+       * tests/testsuite.at (AT_COMPILE, AT_PARSER_CHECK): New.
+       Use them.
+       * tests/cxx-gram.at: Use quotation to protect $1.
+       Use AT_COMPILE to enable warnings hunts.
+       Prototype yylex and yyerror.
+       `Use' argc.
+       Include `string.h', not `strings.h'.
+       Produce and prototype stmtMerge only when used.
+       yylex takes a location.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       We spend a lot of time in quotearg, in particular when --verbose.
+
+       * src/symtab.c (symbol_get): Store a quoted version of the key.
+       (symbol_tag_get, symbol_tag_get_n, symbol_tag_print): Remove.
+       Adjust all callers.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (reductions_t): Rename member `nreds' as num.
+       (errs_t): Rename members `nerrs' and `errs' as `num' and `symbols'.
+       * src/state.c (ERRS_ALLOC, REDUCTIONS_ALLOC): Use the correct types.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (shift_t, SHIFT_SYMBOL, SHIFT_IS_SHIFT)
+       (SHIFT_IS_GOTO, SHIFT_IS_ERROR, SHIFT_DISABLE, SHIFT_IS_DISABLED)
+       (shifts_to): Rename as...
+       (transition_t, TRANSITION_SYMBOL, TRANSITION_IS_TRANSITION)
+       (TRANSITION_IS_GOTO, TRANSITION_IS_ERROR, TRANSITION_DISABLE)
+       (TRANSITION_IS_DISABLED, transitions_to): these.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c (print_shifts, print_gotos): Merge into...
+       (print_transitions): this.
+       (print_transitions, print_errs, print_reductions): Align the
+       lookaheads columns.
+       (print_core, print_transitions, print_errs, print_state,
+       print_grammar): Output empty lines separator before, not after.
+       (state_default_rule_compute): Rename as...
+       (state_default_rule): this.
+       * tests/conflicts.at (Defaulted Conflicted Reduction),
+       (Unresolved SR Conflicts, Resolved SR Conflicts): Adjust.
+       * tests/regression.at (Rule Line Numbers, Web2c Report): Adjust.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       Display items as we display rules.
+
+       * src/gram.h, src/gram.c (rule_lhs_print): New.
+       * src/gram.c (grammar_rules_partial_print): Use it.
+       * src/print.c (print_core): Likewise.
+       * tests/conflicts.at (Defaulted Conflicted Reduction),
+       (Unresolved SR Conflicts): Adjust.
+       (Unresolved SR Conflicts): Adjust and rename as...
+       (Resolved SR Conflicts): this, as was meant.
+       * tests/regression.at (Web2c Report): Adjust.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c (state_default_rule_compute): New, extracted from...
+       (print_reductions): here.
+       Pessimize, but clarify the code.
+       * tests/conflicts.at (Defaulted Conflicted Reduction): New.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (action_row): Let default_rule be always a rule
+       number.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (print_firsts, print_fderives, closure):
+       Use BITSET_EXECUTE.
+       * src/lalr.c (lookaheads_print): Likewise.
+       * src/state.c (state_rule_lookaheads_print): Likewise.
+       * src/print_graph.c (print_core): Likewise.
+       * src/print.c (print_reductions): Likewise.
+       * src/output.c (action_row): Likewise.
+       Use SHIFT_IS_DISABLED, SHIFT_IS_SHIFT and SHIFT_SYMBOL.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/print_graph.c: Use report_flag.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (traverse, digraph, matrix_print, transpose): Move
+       to...
+       * src/relation.h, src/relation.c (traverse, relation_digraph)
+       (relation_print, relation_transpose): New.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (shifts_to): New.
+       * src/lalr.c (build_relations): Use it.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_number_t, RULE_NUMBER_MAX, int_of_rule_number)
+       (item_number_of_rule_number, rule_number_of_item_number): New.
+       * src/LR0.c, src/closure.c, src/derives.c, src/derives.h,
+       * src/gram.c, src/lalr.c, src/nullable.c, src/output.c, src/print.c,
+       * src/print_graph.c, src/reader.c, src/reduce.c, src/reduce.h:
+       Propagate their use.
+       Much remains to be done, in particular wrt `shorts' from types.h.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.c (symbol_new): Initialize the `printer' member.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (save_reductions): Remove, replaced by...
+       * src/state.h, src/state.c (state_reductions_set): New.
+       (reductions, errs): Rename as...
+       (reductions_t, errs_t): these.
+       Adjust all dependencies.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (state_list_t, state_list_append): New.
+       (first_state, last_state): Now symbol_list_t.
+       (this_state): Remove.
+       (new_itemsets, append_states, save_reductions): Take a state_t as
+       argument.
+       (set_states, generate_states): Adjust.
+       (save_shifts): Remove, replaced by...
+       * src/state.h, src/state.c (state_shifts_set): New.
+       (shifts): Rename as...
+       (shifts_t): this.
+       Adjust all dependencies.
+       * src/state.h (state_t): Remove the `next' member.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/vcg.c (quote): Use slot 2, since we often pass symbol tag
+       escaped in slot 0.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       Use hash.h for the state hash table.
+
+       * src/LR0.c (STATE_HASH_SIZE, state_hash): Remove.
+       (allocate_storage): Use state_hash_new.
+       (free_storage): Use state_hash_free.
+       (new_state, get_state): Adjust.
+       * src/lalr.h, src/lalr.c (states): Move to...
+       * src/states.h (state_t): Remove the `link' member, no longer
+       used.
+       * src/states.h, src/states.c: here.
+       (state_hash_new, state_hash_free, state_hash_lookup)
+       (state_hash_insert, states_free): New.
+       * src/states.c (state_table, state_compare, state_hash): New.
+       * src/output.c (output_actions): Do not free states now, since we
+       still need to know the final_state number in `prepare', called
+       afterwards.  Do it...
+       * src/main.c (main): here: call states_free after `output'.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (state_new): New, extracted from...
+       * src/LR0.c (new_state): here.
+       * src/state.h (STATE_ALLOC): Move to...
+       * src/state.c: here.
+       * src/LR0.h, src/LR0.c (nstates, final_state): Move to...
+       * src/state.h, src/state.c: here.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (gensym): Rename as...
+       * src/symtab.h, src/symtab.c (dummy_symbol_get): this.
+       (getsym): Rename as...
+       (symbol_get): this.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (state_number_t, STATE_NUMBER_MAX): New.
+       * src/LR0.c, src/LR0.h, src/conflicts.c, src/lalr.c, src/lalr.h,
+       * src/output.c, src/print.c, src/print_graph.c: Propagate.
+       * src/LR0.h, src/LR0.h (final_state): Is a state_t*.
+
+2002-06-30  Akim Demaille  <akim@epita.fr>
+
+       Make the test suite pass with warnings checked.
+
+       * tests/actions.at (Printers and Destructors): Improve.
+       Avoid unsigned vs. signed issues.
+       * tests/calc.at: Don't exercise the scanner here, do it...
+       * tests/input.at (Torturing the Scanner): here.
+
+2002-06-28  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/glr.c: Correct typo in Emacs-mode directive.  Slightly
+       reorganize first lines parallel to yacc.c.
+
+2002-06-28  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4 (b4_copyright, b4_sint_type, b4_uint_type, b4_token_define)
+       (b4_token_enum, b4_token_defines): New, factored from...
+       * data/lalr1.cc, data/yacc.c, glr.c: here.
+
+2002-06-28  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c (yydestruct, yysymprint): Pacify GCC warnings for
+       unused variables.
+       * src/output.c (merger_output): static.
+
+2002-06-28  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
+       * src/conflicts.c (conflicts_total_count): `i' is unsigned, to
+       pacify GCC.
+       * src/output.c (save_row): Initialize all the variables to pacify GCC.
+
+2002-06-27  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       Accumulated changelog for new GLR parsing features.
+
+       * src/conflicts.c (count_total_conflicts): Change name to
+       conflicts_total_count.
+       * src/conflicts.h: Ditto.
+       * src/output.c (token_actions): Use the new name.
+       (output_conflicts): Change conflp => conflict_list_heads, and
+       confl => conflict_list for better readability.
+       * data/glr.c: Use the new names.
+       * NEWS: Add self to GLR announcement.
+
+       * src/reader.c (free_merger_functions): Cleanup: XFREE->free.
+
+       * doc/bison.texinfo (GLR Parsers): Make corrections suggested by
+       Akim Demaille.
+
+       * data/bison.glr: Change name to glr.c
+       * data/glr.c: Renamed from bison.glr.
+       * data/Makefile.am: Add glr.c
+
+       * src/getargs.c:
+
+       * src/symlist.h:  Add dprec and merger fields to symbol_list_s.
+       * src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
+
+       Originally 2002-06-16  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/bison.glr: Be sure to restore the
+       current #line when returning to the skeleton contents after having
+       exposed the input file's #line.
+
+       Originally 2002-06-13  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/bison.glr: Bring up to date with changes to bison.simple.
+
+       Originally 2002-06-03  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/bison.glr: Correct definitions that use b4_prefix.
+       Various reformatting.
+       (GLRStack): Make yychar (in YYPURE case) and yytokenp as part of stack.
+       (yyreportParseError, yyrecoverParseError, yyprocessOneStack): remove
+       yytokenp argument; now part of stack.
+       (yychar): Define to behave as documented.
+       (yyclearin): Ditto.
+
+       Originally 2002-05-14  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * src/reader.h: Add declaration for free_merger_functions.
+
+       * src/reader.c (merge_functions): New variable.
+       (get_merge_function): New function.
+       (free_merger_functions): New function.
+       (readgram): Check for %prec that is not followed by a symbol.
+       Handle %dprec and %merge declarations.
+       (packgram): Initialize dprec and merger fields in rules array.
+
+       * src/output.c (conflict_tos, conflrow, conflict_table, conflict_list,
+       conflict_list_cnt, conflict_list_free): New variables.
+       (table_grow): Also grow conflict_table.
+       (prepare_rules): Output dprec and merger tables.
+       (conflict_row): New function.
+       (action_row): Output conflict lists for GLR parser.  Don't use
+       default reduction in conflicted states for GLR parser so that there
+       are spaces for the conflict lists.
+       (save_row): Also save conflict information.
+       (token_actions): Allocate conflict list.
+       (merger_output): New function.
+       (pack_vector): Pack conflict table, too.
+       (output_conflicts): New function to output yyconflp and yyconfl.
+       (output_check): Allocate conflict_tos.
+       (output_actions): Output conflict tables, also.
+       (output_skeleton): Output b4_mergers definition.
+       (prepare): Output b4_max_rhs_length definition.
+       Use 'bison.glr' as default skeleton for GLR parsers.
+
+       * src/gram.c (glr_parser): New flag.
+       (grammar_free): Call free_merger_functions.
+
+       * src/conflicts.c (count_rr_conflicts): Augment to optionally count
+       all pairs of conflicting reductions, rather than just all tokens
+       causing conflicts.  Needed to size conflict tables.
+       (conflicts_output): Modify call to count_rr_conflicts for new
+       interface.
+       (conflicts_print): Ditto.
+       (count_total_conflicts): New function.
+
+       * src/reader.h (merger_list): New type.
+       (merge_functions): New variable.
+
+       * src/lex.h (tok_dprec, tok_merge): New token types.
+
+       * src/gram.h (rule_s): Add dprec and merger fields.
+       (glr_parser): New flag.
+
+       * src/conflicts.h (count_total_conflicts): New function.
+
+       * src/options.c (option_table): Add %dprec, %merge, and %glr-parser.
+
+       * doc/bison.texinfo (Generalized LR Parsing): New section.
+       (GLR Parsers): New section.
+       (Language and Grammar): Mention GLR parsing.
+       (Table of Symbols): Add %dprec, %glr-parser, %merge, GLR
+       Correct typo ("tge" -> "the").
+
+       * data/bison.glr: New skeleton for GLR parsing.
+
+       * tests/cxx-gram.at: New tests for GLR parsing.
+
+       * tests/testsuite.at: Include cxx-gram.at.
+
+       * tests/Makefile.am: Add cxx-gram.at.
+
+       * src/parse-gram.y:
+
+       * src/scan-gram.l: Add %dprec, %glr-parser, %merge.
+
+       * src/parse-gram.y: Grammar for %dprec, %merge, %glr-parser.
+
+2002-06-27  Akim Demaille  <akim@epita.fr>
+
+       * src/options.h, src/options.c: Remove.
+       * src/getargs.c (short_options, long_options): New.
+
+2002-06-27  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple, data/bison.c++: Rename as...
+       * data/yacc.c, data/lalr1.cc: these.
+       * doc/bison.texinfo (Environment Variables): Remove.
+
+2002-06-25  Raja R Harinath  <harinath@cs.umn.edu>
+
+       * src/getargs.c (report_argmatch): Initialize strtok().
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (b4_symbol_actions): New, replaces...
+       (b4_symbol_destructor, b4_symbol_printer): these.
+       (yysymprint): Be sure to call YYPRINT only for tokens, and using
+       user token numbers.
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (yydestructor): Rename as...
+       (yydestruct): this.
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c (symbol_type_set)
+       (symbol_destructor_set, symbol_precedence_set): The location is
+       the last argument.
+       Adjust all callers.
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (YYPRINT, yyprint): Don't mess with the parser
+       internals.
+       * src/reader.h, src/reader.c (grammar_current_rule_prec_set):
+       Takes a location.
+       * src/symtab.h, src/symtab.c (symbol_class_set)
+       (symbol_user_token_number_set): Likewise.
+       Adjust all callers.
+       Promote complain_at.
+       * tests/input.at (Type Clashes): Adjust.
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (YYLEX): Fix the declaration when
+       %pure-parser.
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (yysymprint): Don't print the token number,
+       just its name.
+       * tests/actions.at (Destructors): Rename as...
+       (Printers and Destructors): this.
+       Also exercise %printer.
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (YYDSYMPRINT): New.
+       Use it to remove many of the #if YYDEBUG/if (yydebug).
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c (symbol_t): printer and
+       printer_location are new members.
+       (symbol_printer_set): New.
+       * src/parse-gram.y (PERCENT_PRINTER): New token.
+       Handle its associated rule.
+       * src/scan-gram.l: Adjust.
+       (handle_destructor_at, handle_destructor_dollar): Rename as...
+       (handle_symbol_code_at, handle_symbol_code_dollar): these.
+       * src/output.c (symbol_printers_output): New.
+       (output_skeleton): Call it.
+       * data/bison.simple (yysymprint): New.  Cannot be named yyprint
+       since there are already many grammar files with a user `yyprint'.
+       Replace the calls to YYPRINT to calls to yysymprint.
+       * tests/calc.at: Adjust.
+       * tests/torture.at (AT_DATA_STACK_TORTURE): Remove YYPRINT: it was
+       taking advantage of parser very internal details (stack size!).
+
+2002-06-20  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l: Complete the scanner with the missing patterns
+       to pacify Flex.
+       Use `quote' and `symbol_tag_get' where appropriate.
+
+2002-06-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/actions.at (Destructors): Augment to test locations.
+       * data/bison.simple (yydestructor): Pass it the current location
+       if locations are enabled.
+       Prototype only when __STDC__ or C++.
+       Change the argument names to move into the yy name space: there is
+       user code here.
+
+2002-06-19  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (b4_pure_if): New.
+       Use it instead of #ifdef YYPURE.
+
+2002-06-19  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (b4_location_if): New.
+       Use it instead of #ifdef YYLSP_NEEDED.
+
+2002-06-19  Akim Demaille  <akim@epita.fr>
+
+       Prepare @$ in %destructor, but currently don't bind it in the
+       skeleton, as %location use is not cleaned up yet.
+
+       * src/scan-gram.l (handle_dollar, handle_destructor_at)
+       (handle_action_at): New.
+       (handle_at, handle_action_dollar, handle_destructor_dollar): Take
+       a braced_code_t and a location as additional arguments.
+       (handle_destructor_dollar): Instead of requiring `b4_eval', just
+       unquote one when outputting `b4_dollar_dollar'.
+       Adjust callers.
+       * data/bison.simple (b4_eval): Remove.
+       (b4_symbol_destructor): Adjust.
+       * tests/input.at (Invalid @n): Adjust.
+
+2002-06-19  Zack Weinberg  <zack@codesourcery.com>
+
+       * doc/bison.texinfo: Document ability to have multiple
+       prologue sections.
+
+2002-06-18  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (compute_base_names): When computing the output file
+       names from the input file name, strip the directory part.
+
+2002-06-18  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple.new: Comment changes.
+       Reported by Andreas Schwab.
+
+2002-06-18  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       * data/bison.simple (yyoverflowlab): #ifndef yyoverflow, so that
+       there are no `label `yyoverflowlab' defined but not used' warnings
+       when yyoverflow is defined.
+
+2002-06-18  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c (symbol_t): destructor_location is a
+       new member.
+       (symbol_destructor_set): Adjust.
+       * src/output.c (symbol_destructors_output): Output the destructor
+       locations.
+       Output the symbol name.
+       * data/bison.simple (b4_symbol_destructor): Adjust.
+
+2002-06-18  Cris Bailiff  <c.bailiff@awayweb.com>
+       and Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple.new (yyerrlab1): Be sure to pop and destroy
+       what's left on the stack when the error recovery hits EOF.
+       * tests/actions.at (Destructors): Complete to exercise this case.
+
+2002-06-17  Akim Demaille  <akim@epita.fr>
+
+       * data/m4sugar/m4sugar.m4 (m4_map): Recognize when the list of
+       arguments is really empty, not only equal to `[]'.
+       * src/symtab.h, src/symtab.c (symbol_t): `destructor' is a new
+       member.
+       (symbol_destructor_set): New.
+       * src/output.c (symbol_destructors_output): New.
+       * src/reader.h (brace_code_t, current_braced_code): New.
+       * src/scan-gram.l (BRACED_CODE): Use it to branch on...
+       (handle_dollar): Rename as...
+       (handle_action_dollar): this.
+       (handle_destructor_dollar): New.
+       * src/parse-gram.y (PERCENT_DESTRUCTOR): New.
+       (grammar_declaration): Use it.
+       * data/bison.simple (yystos): Is always defined.
+       (yydestructor): New.
+       * tests/actions.at (Destructors): New.
+       * tests/calc.at (_AT_CHECK_CALC_ERROR): Don't rely on egrep.
+
+2002-06-17  Akim Demaille  <akim@epita.fr>
+
+       * src/symlist.h, src/symlist.c (symbol_list_length): New.
+       * src/scan-gram.l (handle_dollar, handle_at): Compute the
+       rule_length only when needed.
+       * src/output.c (actions_output, token_definitions_output): Output
+       the full M4 block.
+       * src/symtab.c: Don't access directly to the symbol tag, use
+       symbol_tag_get.
+       * src/parse-gram.y: Use symbol_list_free.
+
+2002-06-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.h, src/reader.c (symbol_list, symbol_list_new)
+       (symbol_list_prepend, get_type_name): Move to...
+       * src/symlist.h, src/symlist.c (symbol_list_t, symbol_list_new)
+       (symbol_list_prepend, symbol_list_n_type_name_get): here.
+       Adjust all callers.
+       (symbol_list_free): New.
+       * src/scan-gram.l (handle_dollar): Takes a location.
+       * tests/input.at (Invalid $n): Adjust.
+
+2002-06-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.h, src/reader.c (symbol_list_new): Export it.
+       (symbol_list_prepend): New.
+       * src/parse-gram.y (%union): `list' is a new member.
+       (symbols.1): New, replaces...
+       (terms_to_prec.1, nterms_to_type.1): these.
+       * src/symtab.h, src/symtab.c (symbol_type_set, symbol_precedence_set)
+       Take a location as additional argument.
+       Adjust all callers.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y: Move %token in the declaration section so that
+       we don't depend upon CVS Bison.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (state_rule_lookaheads_print): New.
+       * src/print.c (print_core): Use it.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (log_resolution): Accept the rule involved in
+       the sr conflicts instead of the lookahead number that points to
+       that rule.
+       (flush_reduce): Accept the current lookahead vector as argument,
+       instead of the index in LA.
+       (resolve_sr_conflict): Accept the current number of lookahead
+       bitset to consider for the STATE, instead of the index in LA.
+       (set_conflicts): Adjust.
+       * src/lalr.c, src/lalr.h, src/state.h: Comment changes.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (state_t): Replace the `lookaheadsp' member, a
+       short, with `lookaheads' (bitsetv), `lookaheads_rule' (rule_t**).
+       Adjust all dependencies.
+       * src/lalr.c (initialize_lookaheads): Split into...
+       (states_lookaheads_count, states_lookaheads_initialize): these.
+       (lalr): Adjust.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (grammar_rules_partial_print): New, eved
+       out of...
+       (grammar_rules_print): here.
+       * src/reduce.c (reduce_output): Use it.
+       * tests/reduce.at (Useless Rules, Reduced Automaton)
+       (Underivable Rules): Adjust.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       Copy BYacc's nice way to report the grammar.
+
+       * src/gram.h, src/gram.c (grammar_rhs_print, grammar_rules_print):
+       New.
+       Don't print the rules' location, it is confusing and useless.
+       (rule_print): Use grammar_rhs_print.
+       * src/print.c (print_grammar): Use grammar_rules_print.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       Complete and rationalize `useless thing' warnings.
+
+       * src/symtab.h, src/symtab.c (symbol_tag_get, symbol_tag_get_n)
+       (symbol_tag_print): New.
+       Use them everywhere in place of accessing directly the tag member.
+       * src/gram.h, src/gram.c (rule_print): New.
+       Use it where a rule used to be printed `by hand'.
+       * src/reduce.c (nonterminals_reduce): Report the use nonterminals.
+       (reduce_grammar_tables): Report the useless rules.
+       (reduce_print): Useless things are a warning, not an error.
+       Report it as such.
+       * tests/reduce.at (Useless Nonterminals, Useless Rules):
+       (Reduced Automaton, Underivable Rules): Adjust.
+       * tests/regression.at (Web2c Report, Web2c Report): Adjust.
+       * tests/conflicts.at (Unresolved SR Conflicts)
+       (Solved SR Conflicts): Adjust.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       Let symbols have a location.
+
+       * src/symtab.h, src/symtab.c (symbol_t): Location is a new member.
+       (getsym): Adjust.
+       Adjust all callers.
+       * src/complain.h, src/complain.c (complain_at, fatal_at, warn_at):
+       Use location_t, not int.
+       * src/symtab.c (symbol_check_defined): Take advantage of the
+       location.
+       * tests/regression.at (Invalid inputs): Adjust.
+
+2002-06-15  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (YYLLOC_DEFAULT, current_lhs_location): New.
+       (input): Don't try to initialize yylloc here, do it in the
+       scanner.
+       * src/scan-gram.l (YY_USER_INIT): Initialize yylloc.
+       * src/gram.h (rule_t): Change line and action_line into location
+       and action_location, of location_t type.
+       Adjust all dependencies.
+       * src/location.h, src/location.c (empty_location): New.
+       * src/reader.h, src/reader.c (grammar_start_symbol_set)
+       (grammar_symbol_append, grammar_rule_begin, grammar_rule_end)
+       (grammar_current_rule_symbol_append)
+       (grammar_current_rule_action_append): Expect a location as argument.
+       * src/reader.c (grammar_midrule_action): Adjust to attach an
+       action's location as dummy symbol location.
+       * src/symtab.h, src/symtab.c (startsymbol_location): New.
+       * tests/regression.at (Web2c Report, Rule Line Numbers): Adjust
+       the line numbers.
+
+2002-06-14  Akim Demaille  <akim@epita.fr>
+
+       Grammar declarations may be found in the grammar section.
+
+       * src/parse-gram.y (rules_or_grammar_declaration): New.
+       (declarations): Each declaration may end with a semicolon, not
+       just...
+       (grammar_declaration): `"%union"'.
+       (grammar): Branch to rules_or_grammar_declaration.
+
+2002-06-14  Akim Demaille  <akim@epita.fr>
+
+       * src/main.c (main): Invoke scanner_free.
+
+2002-06-14  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (m4_invoke): Extracted from...
+       (output_skeleton): here.
+       Free tempfile.
+
+2002-06-14  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (directives, directive, gram)
+       (grammar_directives, precedence_directives, precedence_directive):
+       Rename as...
+       (declarations, declaration, grammar, grammar_declaration)
+       (precedence_declaration, precedence_declarator): these.
+       (symbol_declaration): New.
+
+2002-06-14  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (action_obstack): Remove, unused.
+       (output_obstack): Remove it, and all its dependencies, as it is no
+       longer needed.
+       * src/reader.c (epilogue_set): Build the epilogue in the
+       muscle_obstack.
+       * src/output.h, src/output.c (muscle_obstack): Move to...
+       * src/muscle_tab.h, src/muscle_tab.h: here.
+       (muscle_init): Initialize muscle_obstack.
+       (muscle_free): New.
+       * src/main.c (main): Call it.
+
+2002-06-14  Akim Demaille  <akim@epita.fr>
+
+       * src/location.h: New, extracted from...
+       * src/reader.h: here.
+       * src/Makefile.am (noinst_HEADERS): Merge into
+       (bison_SOURCES): this.
+       Add location.h.
+       * src/parse-gram.y: Use location_t instead of Bison's.
+       * src/reader.h, src/reader.c (prologue_augment, epilogue_set):
+       Use location_t instead of ints.
+
+2002-06-14  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple, data/bison.c++: Be sure to restore the
+       current #line when returning to the skeleton contents after having
+       exposed the input file's #line.
+
+2002-06-12  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l (SC_BRACED_CODE): Don't use `<.*>', it is too
+       eager.
+       * tests/actions.at (Exotic Dollars): New.
+
+2002-06-12  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l (SC_PROLOGUE): Don't eat characters amongst
+       ['"/] too eagerly.
+       * tests/input.at (Torturing the Scanner): New.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l (YY_OBS_INIT): Remove, replace with...
+       [SC_COMMENT,SC_STRING,SC_CHARACTER,SC_BRACED_CODE,SC_PROLOGUE]
+       [SC_EPILOGUE]: Output the quadrigraphs only when not in a comment.
+       * src/reader.h, src/scan-gram.l (scanner_initialize): this.
+       * src/reader.c (reader): Use it.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l (YY_OBS_FINISH): Don't set yylval.
+       Adjust all callers.
+       (scanner_last_string_free): New.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l (YY_INIT, YY_GROW, YY_FINISH): Rename as...
+       (YY_OBS_INIT, YY_OBS_GROW, YY_OBS_FINISH): these.
+       (last_string, YY_OBS_FREE): New.
+       Use them when returning an ID.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       Have Bison grammars parsed by a Bison grammar.
+
+       * src/reader.c, src/reader.h (prologue_augment): New.
+       * src/reader.c (copy_definition): Remove.
+
+       * src/reader.h, src/reader.c (gram_start_symbol_set, prologue_augment)
+       (grammar_symbol_append, grammar_rule_begin, grammar_midrule_action)
+       (grammar_current_rule_prec_set, grammar_current_rule_check)
+       (grammar_current_rule_symbol_append)
+       (grammar_current_rule_action_append): Export.
+       * src/parse-gram.y (symbol_list_new, symbol_list_symbol_append_
+       (symbol_list_action_append): Remove.
+       Hook the routines from reader.
+       * src/scan-gram.l: In INITIAL, characters and strings are tokens.
+       * src/system.h (ATTRIBUTE_NORETURN, ATTRIBUTE_UNUSED): Now.
+
+       * src/reader.c (read_declarations): Remove, unused.
+
+       * src/parse-gram.y: Handle the epilogue.
+       * src/reader.h, src/reader.c (gram_start_symbol_set): Rename as...
+       (grammar_start_symbol_set): this.
+       * src/scan-gram.l: Be sure to ``use'' yycontrol to keep GCC quiet.
+       * src/reader.c (readgram): Remove, unused.
+       (reader): Adjust to insert eoftoken and axiom where appropriate.
+
+       * src/reader.c (copy_dollar): Replace with...
+       * src/scan-gram.h (handle_dollar): this.
+       * src/parse-gram.y: Remove `%thong'.
+
+       * src/reader.c (copy_at): Replace with...
+       * src/scan-gram.h (handle_at): this.
+
+       * src/complain.h, src/complain.c (warn_at, complain_at, fatal_at):
+       New.
+
+       * src/scan-gram.l (YY_LINES): Keep lineno synchronized for the
+       time being.
+
+       * src/reader.h, src/reader.c (grammar_rule_end): New.
+
+       * src/parse.y (current_type, current_class): New.
+       Implement `%nterm', `%token' support.
+       Merge `%term' into `%token'.
+       (string_as_id): New.
+       * src/symtab.h, src/symtab.c (symbol_make_alias): Don't pass the
+       type name.
+
+       * src/parse-gram.y: Be sure to handle properly the beginning of
+       rules.
+
+       * src/parse-gram.y: Handle %type.
+       * src/reader.c (grammar_rule_end): Call grammar_current_rule_check.
+
+       * src/parse-gram.y: More directives support.
+       * src/options.c: No longer handle source directives.
+
+       * src/parse-gram.y: Fix %output.
+
+       * src/parse-gram.y: Handle %union.
+       Use the prologue locations.
+       * src/reader.c (parse_union_decl): Remove.
+
+       * src/reader.h, src/reader.c (epilogue_set): New.
+       * src/parse-gram.y: Use it.
+
+       * data/bison.simple, data/bison.c++: b4_stype is now either not
+       defined, then default to int, or to the contents of %union,
+       without `union' itself.
+       Adjust.
+       * src/muscle_tab.c (muscle_init): Don't predefine `stype'.
+
+       * src/output.c (actions_output): Don't output braces, as they are
+       already handled by the scanner.
+
+       * src/scan-gram.l (SC_CHARACTER): Set the user_token_number of
+       characters to themselves.
+
+       * tests/reduce.at (Reduced Automaton): End the grammars with %% so
+       that the epilogue has a proper #line.
+
+       * src/parse-gram.y: Handle precedence/associativity.
+
+       * src/symtab.c (symbol_precedence_set): Requires the symbol to be
+       a terminal.
+       * src/scan-gram.l (SC_BRACED_CODE): Catch strings and characters.
+       * tests/calc.at: Do not use `%token "foo"' as it makes not sense
+       at all to define terminals that cannot be emitted.
+
+       * src/scan-gram.l: Escape M4 characters.
+
+       * src/scan-gram.l: Working properly with escapes in user
+       strings/characters.
+
+       * tests/torture.at (AT_DATA_TRIANGULAR_GRAMMAR)
+       (AT_DATA_HORIZONTAL_GRAMMAR): Respect the `%token ID NUM STRING'
+       grammar.
+       Use more modest sizes, as for the time being the parser does not
+       release memory, and therefore the process swallows a huge amount
+       of memory.
+
+       * tests/torture.at (AT_DATA_LOOKAHEADS_GRAMMAR): Adjust to the
+       stricter %token grammar.
+
+       * src/symtab.h (associativity): Add `undef_assoc'.
+       (symbol_precedence_set): Do nothing when passed an undef_assoc.
+       * src/symtab.c (symbol_check_alias_consistence): Adjust.
+
+       * tests/regression.at (Invalid %directive): Remove, as it is now
+       meaningless.
+       (Invalid inputs): Adjust to the new error messages.
+       (Token definitions): The new grammar doesn't allow too many
+       eccentricities.
+
+       * src/lex.h, src/lex.c: Remove.
+       * src/reader.c (lastprec, skip_to_char, read_signed_integer)
+       (copy_character, copy_string2, copy_string, copy_identifier)
+       (copy_comment, parse_token_decl, parse_type_decl, parse_assoc_decl)
+       (parse_muscle_decl, parse_dquoted_param, parse_skel_decl)
+       (parse_action): Remove.
+       * po/POTFILES.in: Adjust.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_action): Don't store directly into the
+       rule's action member: return the action as a string.
+       Don't require `rule_length' as an argument: compute it.
+       (grammar_current_rule_symbol_append)
+       (grammar_current_rule_action_append): New, eved out from
+       (readgram): here.
+       Remove `action_flag', `rulelength', unused now.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (grammar_current_rule_prec_set).
+       (grammar_current_rule_check): New, eved out from...
+       (readgram): here.
+       Remove `xaction', `first_rhs': useless.
+       * tests/input.at (Type clashes): New.
+       * tests/existing.at (GNU Cim Grammar): Adjust.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (grammar_midrule_action): New, Eved out from
+       (readgram): here.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (grammar_rule_begin, previous_rule, current_rule):
+       New.
+       (readgram): Use them as replacement of inlined code, crule and
+       crule1.
+
+2002-06-11  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (grammar_end, grammar_symbol_append): New.
+       (readgram): Use them.
+       Make the use of `p' as local as possible.
+
+2002-06-10  Akim Demaille  <akim@epita.fr>
+
+       GCJ's parser requires the tokens to be defined before the prologue.
+
+       * data/bison.simple: Output the token definition before the user's
+       prologue.
+       * tests/regression.at (Braces parsing, Duplicate string)
+       (Mixing %token styles): Check the output from bison.
+       (Early token definitions): New.
+
+2002-06-10  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.c (symbol_user_token_number_set): Don't complain when
+       assigning twice the same user number to a token, so that we can
+       use it in...
+       * src/lex.c (lex): here.
+       Also use `symbol_class_set' instead of hand written code.
+       * src/reader.c (parse_assoc_decl): Likewise.
+
+2002-06-10  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.c, src/symtab.c (symbol_class_set)
+       (symbol_user_token_number_set): New.
+       * src/reader.c (parse_token_decl): Use them.
+       Use a switch instead of ifs.
+       Use a single argument.
+
+2002-06-10  Akim Demaille  <akim@epita.fr>
+
+       Remove `%thong' support as it is undocumented, unused, duplicates
+       `%token's job, and creates useless e-mail traffic with people who
+       want to know what it is, why it is undocumented, unused, and
+       duplicates `%token's job.
+
+       * src/reader.c (parse_thong_decl): Remove.
+       * src/options.c (option_table): Remove "thong".
+       * src/lex.h (tok_thong): Remove.
+
+2002-06-10  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.c, src/symtab.c (symbol_type_set)
+       (symbol_precedence_set): New.
+       * src/reader.c (parse_type_decl, parse_assoc_decl): Use them.
+       (value_components_used): Remove, unused.
+
+2002-06-09  Akim Demaille  <akim@epita.fr>
+
+       Move symbols handling code out of the reader.
+
+       * src/reader.h, src/reader.c (errtoken, undeftoken, eoftoken)
+       (axiom): Move to...
+       * src/symtab.h, src/symtab.c: here.
+
+       * src/gram.c (start_symbol): Remove: use startsymbol->number.
+       * src/reader.c (startval): Rename as...
+       * src/symtab.h, src/symtab.c (startsymbol): this.
+       * src/reader.c: Adjust.
+
+       * src/reader.c (symbol_check_defined, symbol_make_alias)
+       (symbol_check_alias_consistence, symbol_pack, symbol_translation)
+       (token_translations_init)
+       Move to...
+       * src/symtab.c: here.
+       * src/reader.c (packsymbols): Move to...
+       * src/symtab.h, src/symtab.c (symbols_pack): here.
+       * src/symtab.h, src/symtab.c (symbol_make_alias): Takes SYMVAL as
+       argument.
+
+2002-06-03  Akim Demaille  <akim@epita.fr>
+
+       * src/muscle_tab.c (muscle_insert, muscle_find): Declarations,
+       then statements.
+
+2002-06-03  Akim Demaille  <akim@epita.fr>
+
+       * src/muscle_tab.c (muscle_find, muscle_insert): Don't initialize
+       structs with non literals.
+       * src/scan-skel.l: never-interactive.
+       * src/conflicts.c (enum conflict_resolution_e): No trailing
+       comma.
+       * src/getargs.c (usage): Split long literal strings.
+       Reported by Hans Aberg.
+
+2002-05-28  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.c++: Use C++ ostreams.
+       (cdebug_): New member.
+
+2002-05-28  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_skeleton): Be sure to allocate enough room
+       for `/' _and_ for `\0' in full_skeleton.
+
+2002-05-28  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.c++: Catch up with bison.simple:
+       2002-05-24  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+       and Paul Eggert  <eggert@twinsun.com>: `error' handing.
+       2002-05-26  Akim Demaille  <akim@epita.fr>: stos_, token_number_,
+       and popping traces.
+
+2002-05-27  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * src/output.c (output_skeleton): Put an explicit path in front of
+       the skeleton file name, rather than relying on the -I directory,
+       to partially alleviate effects of having a skeleton file lying around
+       in the current directory.
+
+2002-05-27  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * src/conflicts.c (log_resolution): Correct typo:
+       obstack_printf should be obstack_fgrow1.
+
+2002-05-26  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (state_t): `solved_conflicts' is a new member.
+       * src/LR0.c (new_state): Set it to 0.
+       * src/conflicts.h, src/conflicts.c (print_conflicts)
+       (free_conflicts, solve_conflicts): Rename as...
+       (conflicts_print, conflicts_free, conflicts_solve): these.
+       Adjust callers.
+       * src/conflicts.c (enum conflict_resolution_e)
+       (solved_conflicts_obstack): New, used by...
+       (log_resolution): this.
+       Adjust to attach the conflict resolution to each state.
+       Complete the description with the precedence/associativity
+       information.
+       (resolve_sr_conflict): Adjust.
+       * src/print.c (print_state): Output its solved_conflicts.
+       * tests/conflicts.at (Unresolved SR Conflicts)
+       (Solved SR Conflicts): Exercise --report=all.
+
+2002-05-26  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
+       * src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
+       * src/reader.c, src/reduce.c, src/state.h, src/symtab.h
+       (token_number_t, item_number_as_token_number)
+       (token_number_as_item_number, muscle_insert_token_number_table):
+       Rename as...
+       (symbol_number_t, item_number_as_symbol_number)
+       (symbol_number_as_item_number, muscle_insert_symbol_number_table):
+       these, since it is more appropriate.
+
+2002-05-26  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (AT_CHECK_CALC): Adjust: there are now additional
+       `Error:' lines.
+       * data/bison.simple (yystos) [YYDEBUG]: New.
+       (yyparse) [YYDEBUG]: Display the symbols which are popped during
+       error recovery.
+       * tests/regression.at (Web2c Actions): Adjust: yystos is output now.
+
+2002-05-25  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Debugging): Split into...
+       (Tracing): this new section, its former contents, and...
+       (Understanding): this new section.
+       * src/getargs.h, src/getargs.c (verbose_flag): Remove, replaced
+       by...
+       (report_flag): this.
+       Adjust all dependencies.
+       (report_args, report_types, report_argmatch): New.
+       (usage, getargs): Report/support -r, --report.
+       * src/options.h
+       (struct option_table_struct): Rename as..,
+       (struct option_table_s): this.
+       Rename the `set_flag' member to `flag' to match with getopt_long's
+       struct.
+       * src/options.c (option_table): Split verbose into an entry for
+       %verbose, and another for --verbose.
+       Support --report/-r, so remove -r from the obsolete --raw.
+       * src/print.c: Attach full item sets and lookaheads reports to
+       report_flag instead of trace_flag.
+       * lib/argmatch.h, lib/argmatch.c: New, from Fileutils 4.1.
+
+2002-05-24  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+       and Paul Eggert  <eggert@twinsun.com>
+
+       * data/bison.simple (yyparse): Correct error handling to conform to
+       POSIX and yacc.  Specifically, after syntax error is discovered,
+       do not reduce further before shifting the error token.
+       Clean up the code a bit by removing the labels yyerrdefault,
+       yyerrhandle, yyerrpop.
+       * NEWS: Document the above.
+
+2002-05-20  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/bison.simple (yyr1): Don't use yy_token_number_type as element
+       type; it isn't always big enough, since it doesn't necessarily
+       include non-terminals.
+       (yytranslate): Expand definition of yy_token_number_type, so that
+       the latter can be removed.
+       (yy_token_number_type): Remove, only one use.
+       * data/bison.c++ (r1_): Parallel change to yyr1 in bison.simple---
+       don't use TokenNumberType as element type.
+
+       * tests/regression.at: Modify expected output to agree with change
+       to yyr1 and yytranslate.
+
+2002-05-13  Florian Krohm  <florian@edamail.fishkill.ibm.com>
+
+       * src/reader.c (parse_action): Use copy_character instead of
+       obstack_1grow.
+
+2002-05-13  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Token definitions): Prototype yylex and
+       yyerror.
+
+2002-05-12  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * src/scan-skel.l: Correct off-by-one error in handling of __oline__.
+       * data/bison.simple (b4_sint_type, b4_uint_type): Correct to reflect
+       32-bit arithmetic.
+       * data/bison.c++ (b4_sint_type, b4_uint_type): Ditto.
+
+2002-05-07  Akim Demaille  <akim@epita.fr>
+
+       * tests/synclines.at: Be sure to prototype yylex and yyerror to
+       avoid GCC warnings.
+
+2002-05-07  Akim Demaille  <akim@epita.fr>
+
+       Kill GCC warnings.
+
+       * src/reduce.c (nonterminals_reduce): Don't loop over RITEM: loop
+       over the RHS of each rule.
+       * src/gram.h, src/gram.c (nritems): Is `unsigned int', not int.
+       * src/state.h (state_t): Member `nitems' is unsigned short.
+       * src/LR0.c (get_state): Adjust.
+       * src/reader.c (packgram): Likewise.
+       * src/output.c (GENERATE_MUSCLE_INSERT_TABLE): `max' is of type
+       `Type'.
+       (muscle_insert_int_table): Remove, unused.
+       (prepare_rules): Remove `max'.
+
+2002-05-06  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (print_firsts): Display of the symbol tags.
+       (bitmatrix_print): Move to...
+       * lib/bitsetv-print.h, lib/bitsetv-print.c (bitsetv_matrix_dump):
+       here.
+       * tests/sets.at (Nullable, Broken Closure, Firsts): Adjust.
+
+2002-05-06  Akim Demaille  <akim@epita.fr>
+
+       * src/muscle_tab.c (muscle_m4_output): Must return TRUE for
+       hash_do_for_each.
+
+2002-05-06  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_state, get_state): Instead of using the global
+       `kernel_size' and `kernel_base', have two new arguments:
+       `core_size' and `core'.
+       Adjust callers.
+
+2002-05-06  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (packgram): No longer end `ritem' with a 0
+       sentinel: it is not used.
+
+2002-05-05  Akim Demaille  <akim@epita.fr>
+
+       New experimental feature: display the lookaheads in the report and
+       graph.
+
+       * src/print (print_core): When --trace-flag, display the rules
+       lookaheads.
+       * src/print_graph.c (print_core): Likewise.
+       Swap the arguments.
+       Adjust caller.
+
+2002-05-05  Akim Demaille  <akim@epita.fr>
+
+       * tests/torture.at (Many lookaheads): New test.
+
+2002-05-05  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (GENERATE_OUTPUT_TABLE): Replace with...
+       (GENERATE_MUSCLE_INSERT_TABLE): this.
+       (output_int_table, output_unsigned_int_table, output_short_table)
+       (output_token_number_table, output_item_number_table): Replace with...
+       (muscle_insert_int_table, muscle_insert_unsigned_int_table)
+       (muscle_insert_short_table, muscle_insert_token_number_table)
+       (muscle_insert_item_number_table): these.
+       Adjust all callers.
+       (prepare_tokens): Don't free `translations', since...
+       * src/reader.h, src/reader.c (grammar_free): do it.
+       Move to...
+       * src/gram.h, src/gram.c (grammar_free): here.
+       * data/bison.simple, data/bison.c++: b4_token_number_max is now
+       b4_translate_max.
+
+2002-05-05  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_unsigned_int_table): New.
+       (prepare_rules): `i' is unsigned.
+       `prhs', `rline', `r2' are unsigned int.
+       Rename muscle `rhs_number_max' as `rhs_max'.
+       Output muscles `prhs_max', `rline_max', and `r2_max'.
+       Free rline and r1.
+       * data/bison.simple, data/bison.c++: Adjust to use these muscles
+       to compute types instead of constant types.
+       * tests/regression.at (Web2c Actions): Adjust.
+
+2002-05-04  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h (SALIAS, SUNDEF): Rename as...
+       (USER_NUMBER_ALIAS, USER_NUMBER_UNDEFINED): these.
+       Adjust dependencies.
+       * src/output.c (token_definitions_output): Be sure not to output a
+       `#define 'a'' when fed with `%token 'a' "a"'.
+       * tests/regression.at (Token definitions): New.
+
+2002-05-03  Paul Eggert  <eggert@twinsun.com>
+
+       * data/bison.simple (b4_token_defines): Also define YYTOKENTYPE
+       for K&R C.
+
+2002-05-03  gettextize  <bug-gnu-gettext@gnu.org>
+
+       * Makefile.am (SUBDIRS): Remove intl.
+       (EXTRA_DIST): Add config/config.rpath.
+
+2002-05-03  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (m4_if): Don't output empty enums.
+       And actually, output valid enum definitions :(.
+
+2002-05-03  Akim Demaille  <akim@epita.fr>
+
+       * configure.bat: Remove, completely obsolete.
+       * Makefile.am (EXTRA_DIST): Adjust.
+       Don't distribute config.rpath...
+       * config/Makefile.am (EXTRA_DIST): Do it.
+
+2002-05-03  Akim Demaille  <akim@epita.fr>
+
+       * configure.in (GETTEXT_VERSION): New.
+       Suggested by Bruno Haible for the forthcoming Gettext 0.10.3.
+
+2002-05-03  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (b4_token_enum): New.
+       (b4_token_defines): Use it to output tokens both as #define and
+       enums.
+       Suggested by Paul Eggert.
+       * src/output.c (token_definitions_output): Don't output spurious
+       white spaces.
+
+2002-05-03  Akim Demaille  <akim@epita.fr>
+
+       * data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
+
+2002-05-02  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Adapt expansion of $s and @s to the C++ parser.
+       Update the stack class, give a try to deque as the default container.
+
+2002-05-02  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (yyparse): Do not implement @$ = @1.
+       (YYLLOC_DEFAULT): Adjust to do it.
+       * doc/bison.texinfo (Location Default Action): Fix.
+
+2002-05-02  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_braces): Merge into...
+       (parse_action): this.
+
+2002-05-02  Akim Demaille  <akim@epita.fr>
+
+       * configure.in (ALL_LINGUAS): Remove.
+       * po/LINGUAS, hr.po: New.
+
+2002-05-02  Akim Demaille  <akim@epita.fr>
+
+       Remove the so called hairy (semantic) parsers.
+
+       * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove.
+       * src/gram.h, src/gram.c (semantic_parser): Remove.
+       (rule_t): Remove the guard and guard_line members.
+       * src/lex.h (token_t): remove tok_guard.
+       * src/options.c (option_table): Remove %guard and %semantic_parser
+       support.
+       * src/output.c, src/output.h (guards_output): Remove.
+       (prepare): Adjust.
+       (token_definitions_output): Don't output the `T'
+       tokens (???).
+       (output_skeleton): Don't output the guards.
+       * src/files.c, src/files.c (attrsfile): Remove.
+       * src/reader.c (symbol_list): Remove the guard and guard_line
+       members.
+       Adjust dependencies.
+       (parse_guard): Remove.
+       * data/bison.hairy: Remove.
+       * doc/bison.texinfo (Environment Variables): Remove occurrences of
+       BISON_HAIRY.
+
+2002-05-02  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_at, copy_dollarm parse_braces, parse_action)
+       (parse_guard): Rename the formal argument `stack_offset' as
+       `rule_length', which is more readable.
+       Adjust callers.
+       (copy_at, copy_dollar): Instead of outputting the hard coded
+       values of $$, $n and so forth, output invocation to b4_lhs_value,
+       b4_lhs_location, b4_rhs_value, and b4_rhs_location.
+       Note: this patch partially drops `semantic-parser' support: it
+       always does `rule_length - n', where semantic parsers ought to
+       always use `-n'.
+       * data/bison.simple, data/bison.c++ (b4_lhs_value)
+       (b4_lhs_location, b4_rhs_value, and b4_rhs_location: New.
+
+2002-05-02  Akim Demaille  <akim@epita.fr>
+
+       * configure.in (AC_INIT): Bump to 1.49b.
+       (AM_INIT_AUTOMAKE): Short invocation.
+
+2002-05-02  Akim Demaille  <akim@epita.fr>
+
+       Version 1.49a.
+
+2002-05-01  Akim Demaille  <akim@epita.fr>
+
+       * src/skeleton.h: Remove.
+
+2002-05-01  Akim Demaille  <akim@epita.fr>
+
+       * src/skeleton.h: Fix the #endif.
+       Reported by Magnus Fromreide.
+
+2002-04-26  Paul Eggert  <eggert@twinsun.com>
+
+       * data/bison.simple (YYSTYPE_IS_TRIVIAL, YYLTYPE_IS_TRIVIAL):
+       Define if we define YYSTYPE and YYLTYPE, respectively.
+       (YYCOPY): Fix [] quoting problem in the non-GCC case.
+
+2002-04-25  Robert Anisko  <robert@lrde.epita.fr>
+
+       * src/scan-skel.l: Postprocess quadrigraphs.
+
+       * src/reader.c (copy_character): New function, used to output
+       single characters while replacing `[' and `]' with quadrigraphs, to
+       avoid troubles with M4 quotes.
+       (copy_comment): Output characters with copy_character.
+       (read_additionnal_code): Likewise.
+       (copy_string2): Likewise.
+       (copy_definition): Likewise.
+
+       * tests/calc.at: Exercise M4 quoting.
+
+2002-04-25  Akim Demaille  <akim@epita.fr>
+
+       * tests/sets.at (AT_EXTRACT_SETS): Sed portability issue: no space
+       between `!' and the command.
+       Reported by Paul Eggert.
+
+2002-04-24  Robert Anisko  <robert@lrde.epita.fr>
+
+       * tests/calc.at: Exercise prologue splitting.
+
+       * data/bison.simple, data/bison.c++: Use `b4_pre_prologue' and
+       `b4_post_prologue' instead of `b4_prologue'.
+
+       * src/output.c (prepare): Add the `pre_prologue' and `post_prologue'
+       muscles.
+       (output): Free pre_prologue_obstack and post_prologue_obstack.
+       * src/files.h, src/files.c (attrs_obstack): Remove.
+       (pre_prologue_obstack, post_prologue_obstack): New.
+       * src/reader.c (copy_definition): Add a parameter to specify the
+       obstack to fill, instead of using attrs_obstack unconditionally.
+       (read_declarations): Pass pre_prologue_obstack to copy_definition if
+       `%union' has not yet been seen, pass post_prologue_obstack otherwise.
+
+2002-04-23  Paul Eggert  <eggert@twinsun.com>
+
+       * data/bison.simple: Remove unnecessary commentary and white
+       space differences from 1_29-branch.
+       Depend on YYERROR_VERBOSE, not defined (YYERROR_VERBOSE).
+
+       (union yyalloc, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYCOPY,
+       YYSTACK_RELOCATE): Do not define if yyoverflow is defined, or
+       if this is a C++ parser and YYSTYPE or YYLTYPE has nontrivial
+       constructors or destructors.
+
+       (yyparse) [! defined YYSTACK_RELOCATE]: Do not relocate the stack.
+
+2002-04-23  Akim Demaille  <akim@epita.fr>
+
+       * tests/sets.at (AT_EXTRACT_SETS): Don't use 8 char long sed labels.
+       * tests/synclines.at (AT_TEST_SYNCLINE): Be robust to GCC's
+       location with columns.
+       * tests/conflicts.at (%nonassoc and eof): Don't use `error.h'.
+       All reported by Paul Eggert.
+
+2002-04-22  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (dump_grammar): Move to...
+       * src/gram.h, src/gram.c (grammar_dump): here.
+       Be sure to separate long item numbers.
+       Don't read the members of a rule's prec if its nil.
+
+2002-04-22  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (table_size, table_grow): New.
+       (MAXTABLE): Remove, replace uses with table_size.
+       (pack_vector): Instead of dying when the table is too big, grow it.
+
+2002-04-22  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.simple (yyr1): Its type is that of a token number.
+       * data/bison.c++ (r1_): Likewise.
+       * tests/regression.at (Web2c Actions): Adjust.
+
+2002-04-22  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (token_translations_init): 256 is now the default
+       value for the error token, i.e., it will be assigned another
+       number if the user assigned 256 to one of her tokens.
+       (reader): Don't force 256 to error.
+       * doc/bison.texinfo (Symbols): Adjust.
+       * tests/torture.at (AT_DATA_HORIZONTAL_GRAMMAR)
+       (AT_DATA_TRIANGULAR_GRAMMAR): Number the tokens as 1, 2, 3
+       etc. instead of 10, 20, 30 (which was used to `jump' over error
+       (256) and undefined (2)).
+
+2002-04-22  Akim Demaille  <akim@epita.fr>
+
+       Propagate more token_number_t.
+
+       * src/gram.h (token_number_as_item_number)
+       (item_number_as_token_number): New.
+       * src/output.c (GENERATE_OUTPUT_TABLE): New.
+       Use it to create output_item_number_table and
+       output_token_number_table.
+       * src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
+       * src/lex.c, src/nullable.c, src/output.c, src/print.c,
+       * src/print_graph.c, src/reader.c, src/reduce.c, src/state.h,
+       * src/symtab.c, src/symtab.h: Use token_number_t instead of shorts.
+
+2002-04-22  Akim Demaille  <akim@epita.fr>
+
+       * src/output.h, src/output.c (get_lines_number): Remove.
+
+2002-04-19  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Actions): Make clear that `|' is not the same
+       as Lex/Flex'.
+       (Debugging): More details about enabling the debugging features.
+       (Table of Symbols): Describe $$, $n, @$, and @n.
+       Suggested by Tim Josling.
+
+2002-04-19  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Remove the uses of the obsolete @refill.
+
+2002-04-10  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: Rely on HAVE_LIMITS_H.
+       Suggested by Paul Eggert.
+
+2002-04-09  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (_AT_CHECK_CALC_ERROR): Receive as argument the
+       full stderr, and strip it according to the bison options, instead
+       of composing the error message from different bits.
+       This makes it easier to check for several error messages.
+       Adjust all the invocations.
+       Add an invocation exercising the error token.
+       Add an invocation demonstrating a stupid error message.
+       (_AT_DATA_CALC_Y): Follow the GCS: initial column is 1, not 0.
+       Adjust the tests.
+       Error message are for stderr, not stdout.
+
+2002-04-09  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (error_token_number): Remove, use
+       errtoken->number.
+       * src/reader.c (reader): Don't specify the user token number (2)
+       for $undefined, as it uselessly prevents using it.
+       * src/gram.h (token_number_t): Move to...
+       * src/symtab.h: here.
+       (state_t.number): Is a token_number_t.
+       * src/print.c, src/reader.c: Use undeftoken->number instead of
+       hard coded 2.
+       (Even though this 2 is not the same as above: the number of the
+       undeftoken remains being 2, it is its user token number which
+       might not be 2).
+       * src/output.c (prepare_tokens): Rename the `maxtok' muscle with
+       `user_token_number_max'.
+       Output `undef_token_number'.
+       * data/bison.simple, data/bison.c++: Use them.
+       Be sure to map invalid yylex return values to
+       `undef_token_number'.  This saves us from gratuitous SEGV.
+
+       * tests/conflicts.at (Solved SR Conflicts)
+       (Unresolved SR Conflicts): Adjust.
+       * tests/regression.at (Web2c Actions): Adjust.
+
+2002-04-08  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
+       Adding #line.
+       Remove the duplicate `typedefs'.
+       (RhsNumberType): Fix the declaration and various other typos.
+       Use __ofile__.
+       * data/bison.simple: Use __ofile__.
+       * src/scan-skel.l: Handle __ofile__.
+
+2002-04-08  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (item_number_t): New, the type of item numbers in
+       RITEM.  Note that it must be able to code symbol numbers as
+       positive number, and the negation of rule numbers as negative
+       numbers.
+       Adjust all dependencies (pretty many).
+       * src/reduce.c (rule): Remove this `short *' pointer: use
+       item_number_t.
+       * src/system.h (MINSHORT, MAXSHORT): Remove.
+       Include `limits.h'.
+       Adjust dependencies to using SHRT_MAX and SHRT_MIN.
+       (shortcpy): Remove.
+       (MAXTABLE): Move to...
+       * src/output.c (MAXTABLE): here.
+       (prepare_rules): Use output_int_table to output rhs.
+       * data/bison.simple, data/bison.c++: Adjust.
+       * tests/torture.at (Big triangle): Move the limit from 254 to
+       500.
+       * tests/regression.at (Web2c Actions): Ajust.
+
+       Trying with bigger grammars shows various phenomena: at 3000 (28Mb
+       of grammar file) bison is killed by my system, at 2000 (12Mb) bison
+       passes, but produces negative #line number, once fixed, GCC is
+       killed while compiling 14Mb, at 1500 (6.7 Mb of grammar, 8.2Mb of
+       C), it passes.
+       * src/state.h (state_h): Code input lines on ints, not shorts.
+
+2002-04-08  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (reduce_grammar): First reduce the nonterminals,
+       and then the grammar.
+
+2002-04-08  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: No longer using strndup.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/muscle_tab.h (MUSCLE_INSERT_LONG_INT): New.
+       * src/output.c (output_table_data): Return the longest number.
+       (prepare_tokens): Output `token_number_max').
+       * data/bison.simple, data/bison.c++ (b4_sint_type, b4_uint_type):
+       New.
+       Use them to define yy_token_number_type/TokenNumberType.
+       Use this type for yytranslate.
+       * tests/torture.at (Big triangle): Push the limit from 124 to
+       253.
+       * tests/regression.at (Web2c Actions): Adjust.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * tests/torture.at (Big triangle): New.
+       (GNU AWK Grammar, GNU Cim Grammar): Move to...
+       * tests/existing.at: here.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (nitems): Remove, it is an alias of
+       nritems.
+       Adjust dependencies.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c: Normalize increments to prefix form.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c, symtab.c: Remove debugging code.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       Rename all the `bucket's as `symbol_t'.
+
+       * src/gram.c, src/gram.h, src/lex.c, src/lex.h, src/output.c,
+       * src/reader.c, src/reader.h, src/reduce.c, src/state.h,
+       * src/symtab.c, src/symtab.h (bucket): Rename as...
+       (symbol_t): this.
+       (symbol_list_new, bucket_check_defined, bucket_make_alias)
+       (bucket_check_alias_consistence, bucket_pack, bucket_translation)
+       (bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
+       (buckets_new, buckets_free, buckets_do): Rename as...
+       (symbol_list_new, symbol_check_defined, symbol_make_alias)
+       (symbol_check_alias_consistence, symbol_pack, symbol_translation)
+       (symbol_new, symbol_free, hash_compare_symbol_t, hash_symbol_t)
+       (symbols_new, symbols_free, symbols_do): these.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       Use lib/hash for the symbol table.
+
+       * src/gram.c (ntokens): Initialize to 1, to reserve a slot for
+       EOF.
+       * src/lex.c (lex): Set the `number' member of new terminals.
+       * src/reader.c (bucket_check_defined, bucket_make_alias)
+       (bucket_check_alias_consistence, bucket_translation): New.
+       (reader, grammar_free, readgram, token_translations_init)
+       (packsymbols): Adjust.
+       (reader): Number the predefined tokens.
+       * src/reduce.c (inaccessable_symbols): Just use hard coded numbers
+       for predefined tokens.
+       * src/symtab.h (bucket): Remove all the hash table related
+       members.
+       * src/symtab.c (symtab): Replace by...
+       (bucket_table): this.
+       (bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
+       (buckets_new, buckets_do): New.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.c (nitems, nrules, nsyms, ntokens, nvars, nritems)
+       (start_symbol, max_user_token_number, semantic_parser)
+       (error_token_number): Initialize.
+       * src/reader.c (grammar, start_flag, startval, typed, lastprec):
+       Initialize.
+       (reader): Don't.
+       (errtoken, eoftoken, undeftoken, axiom): Extern.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_s): prec and precsym are now pointers
+       to the bucket giving the priority/associativity.
+       Member `associativity' removed: useless.
+       * src/reduce.c, src/conflicts.c: Adjust.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c, src/LR0.c, src/closure.c, src/gram.c, src/reduce.c:
+       Properly escape the symbols' TAG when outputting them.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (LA): Is a bitsetv, not bitset*.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h, src/lalr.c (LAruleno): Replace with...
+       (LArule): this, which is an array to rule_t*.
+       * src/print.c, src/conflicts.c: Adjust.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_t): Rename `number' as `user_number'.
+       `number' is a new member.
+       Adjust dependencies.
+       * src/reduce.c (reduce_grammar_tables): Renumber rule_t.number.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       As a result of the previous patch, it is no longer needed
+       to reorder ritem itself.
+
+       * src/reduce.c (reduce_grammar_tables): Don't sort RITEM.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       Be sure never to walk through RITEMS, but use only data related to
+       the rules themselves. RITEMS should be banished.
+
+       * src/output.c (output_token_translations): Rename as...
+       (prepare_tokens): this.
+       In addition to `translate', prepare the muscles `tname' and
+       `toknum', which were handled by...
+       (output_rule_data): this.
+       Remove, and move the remainder of its outputs into...
+       (prepare_rules): this new routines, which also merges content from
+       (output_gram): this.
+       (prepare_rules): Be sure never to walk through RITEMS.
+       (output_stos): Rename as...
+       (prepare_stos): this.
+       (output): Always invoke prepare_states, after all, just don't use it
+       in the output if you don't need it.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_state): Display `nstates' as the name of the
+       newly created state.
+       Adjust to initialize first_state and last_state if needed.
+       Be sure to distinguish the initial from the final state.
+       (new_states): Create the itemset of the initial state, and use
+       new_state.
+       * src/closure.c (closure): Now that the initial state has its
+       items properly set, there is no need for a special case when
+       creating `ruleset'.
+
+       As a result, now the rule 0, reducing to $axiom, is visible in the
+       outputs.  Adjust the test suite.
+
+       * tests/conflicts.at (Solved SR Conflicts)
+       (Unresolved SR Conflicts): Adjust.
+       * tests/regression.at (Web2c Report, Rule Line Numbers): Idem.
+       * tests/conflicts.at (S/R in initial): New.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (allocate_itemsets): Don't loop over ritem: loop over
+       the RHS of the rules.
+       * src/output.c (output_gram): Likewise.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_t): `lhs' is now a pointer to the symbol's
+       bucket.
+       Adjust all dependencies.
+       * src/reduce.c (nonterminals_reduce): Don't forget to renumber the
+       `number' of the buckets too.
+       * src/gram.h: Include `symtab.h'.
+       (associativity): Move to...
+       * src/symtab.h: here.
+       No longer include `gram.h'.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (rules_rhs_length): New.
+       (ritem_longest_rhs): Use it.
+       * src/gram.h (rule_t): `number' is a new member.
+       * src/reader.c (packgram): Set it.
+       * src/reduce.c (reduce_grammar_tables): Move the useless rules at
+       the end of `rules', and count them out of `nrules'.
+       (reduce_output, dump_grammar): Adjust.
+       * src/print.c (print_grammar): It is no longer needed to check for
+       the usefulness of a rule, as useless rules are beyond `nrules + 1'.
+       * tests/reduce.at (Reduced Automaton): New test.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (inaccessable_symbols): Fix a buglet: because of a
+       lacking `+ 1' to nrules, Bison reported as useless a token if it
+       was used solely to set the precedence of the last rule...
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.c++, data/bison.simple: Don't output the current file
+       name in #line, to avoid useless diffs between two identical
+       outputs under different names.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c, src/print.c, src/reader.c, src/reduce.c:
+       Normalize loops to using `< nrules + 1', not `<= nrules'.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * TODO: Update.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c, src/reader.c, src/symtab.c, src/symtab.h: Rename
+       bucket.value as bucket.number.
+
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c, src/derives.c, src/gram.h, src/lalr.c,
+       * src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
+       * src/reader.c, src/reduce.c: Let rule_t.rhs point directly to the
+       RHS, instead of being an index in RITEMS.
+
+2002-04-04  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo: Update copyright date.
+       (Rpcalc Lexer, Symbols, Token Decl): Don't assume ASCII.
+       (Symbols): Warn about running Bison in one character set,
+       but compiling and/or running in an incompatible one.
+       Warn about character code 256, too.
+
+2002-04-03  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.data (YYSTACK_ALLOC): Depend on whether
+       YYERROR_VERBOSE is nonzero, not whether it is defined.
+
+       Merge changes from bison-1_29-branch.
+
+2002-03-20  Paul Eggert  <eggert@twinsun.com>
+
+       Merge fixes from Debian bison_1.34-1.diff.
+
+       * configure.in (AC_PREREQ): 2.53.
+
+2002-03-20  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (log_resolution): Argument `resolution' is const.
+
+2002-03-19  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (YYCOPY): New macro.
+       (YYSTACK_RELOCATE): Use it.
+       Remove Type arg; no longer needed.  All callers changed.
+       (yymemcpy): Remove; no longer needed.
+
+       * Makefile.am (AUTOMAKE_OPTIONS): 1.6.
+       * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.
+
+2002-03-19  Akim Demaille  <akim@epita.fr>
+
+       Test and fix the #line outputs.
+
+       * tests/atlocal.at (GCC): New.
+       * tests/synclines.at (AT_TEST_SYNCLINE): New macro.
+       (Prologue synch line, %union synch line, Postprologue synch line)
+       (Action synch line, Epilogue synch line): New tests.
+       * src/reader.c (parse_union_decl): Define the muscle stype_line.
+       * data/bison.simple, data/bison.c++: Use it.
+
+2002-03-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (%nonassoc and eof, Unresolved SR Conflicts)
+       (Solved SR Conflicts, %expect not enough, %expect right)
+       (%expect too much): Move to...
+       * tests/conflicts.at: this new file.
+
+2002-03-19  Akim Demaille  <akim@epita.fr>
+
+       * data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
+       * data/bison.simple, data/bison.c++: Handle the `#define' part, so
+       that we can move to enums for instance.
+       * src/output.c (token_definitions_output): Output a list of
+       `token-name, token-number' instead of the #define.
+       (output_skeleton): Name this list `b4_tokens', not `b4_tokendefs'.
+
+2002-03-14  Akim Demaille  <akim@epita.fr>
+
+       Use Gettext 0.11.1.
+
+2002-03-09  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Make the user able to add members to the generated
+       parser by subclassing.
+
+2002-03-05  Robert Anisko  <robert@lrde.epita.fr>
+
+       * src/reader.c (read_additionnal_code): `c' should be an integer, not
+       a character.
+       Reported by Nicolas Tisserand and Nicolas Burrus.
+
+2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
+
+       * src/reader.c: Warn about lacking semi-colons, do not complain.
+
+2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Remove a debug line.
+
+2002-03-04  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Unmerge value as yylval and value as yyval.  Unmerge
+       location as yylloc and location as yyloc.  Use YYLLOC_DEFAULT, and
+       provide a default implementation.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * tests/input.at (Invalid $n, Invalid @n): Add the ending `;'.
+       * tests/output.at (AT_CHECK_OUTPUT): Likewise.
+       * tests/headers.at (AT_TEST_CPP_GUARD_H): Ditto.
+       * tests/semantic.at (Parsing Guards): Similarly.
+       * src/reader.at (readgram): Complain if the last rule is not ended
+       with a semi-colon.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/warshall.h, src/warshall.c (bitmatrix_print): Move to...
+       * src/closure.c: here.
+       (set_firsts): Use bitsetv_reflexive_transitive_closure instead of
+       RTC.
+       * src/warshall.h, src/warshall.c: Remove.
+       * tests/sets.at (Broken Closure): Adjust.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_skeleton): tempdir is const.
+       bytes_read is unused.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
+       * lib/bitsetv.h, lib/ebitset.c, lib/lbitset.c, lib/sbitset.c:
+       Update.
+       From Michael Hayes.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (closure): `r' is unused.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * tests/sets.at (Broken Closure): Add the ending `;'.
+       * src/reader.at (readgram): Complain if a rule is not ended with a
+       semi-colon.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (set_conflicts): Use bitset_disjoint_p.
+       (count_sr_conflicts): Use bitset_count.
+       * src/reduce.c (inaccessable_symbols): Ditto.
+       (bits_size): Remove.
+       * src/warshall.h, src/warshall.c: Convert to bitsetv.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c, src/conflicts.c, src/lalr.c, src/print.c,
+       * src/reduce.c: Remove the `bitset_zero's following the
+       `bitset_create's, as now it is performed by the latter.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * lib/bitset.c, lib/bitset.h, lib/bitsetv.c, lib/bitsetv.h,
+       * lib/ebitset.c, lib/ebitset.h, lib/lbitset.c, lib/lbitset.h,
+       * lib/sbitset.c, lib/sbitset.h, lib/bbitset.h: Update from the
+       latest sources from Michael.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output): Don't free the grammar.
+       * src/reader.c (grammar_free): New.
+       * src/main.c (main): Call it and don't free symtab here.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
+       before returning.
+       Reported by Benoit Perrot.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       Use bitset operations when possible, not loops over bits.
+
+       * src/conflicts.c (set_conflicts, count_sr_conflicts): Use
+       bitset_or.
+       * src/print.c (print_reductions): Use bitset_and, bitset_andn.
+       * src/reduce.c (useless_nonterminals): Formatting changes.
+       * src/warshall.c (TC): Use bitset_or.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
+       * src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET):
+       Ditto.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (F): Now a bitset*.
+       Adjust all dependencies.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (shiftset, lookaheadset): Now bitset.
+       Adjust all dependencies.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/L0.c, src/LR0.h (nstates): Be size_t.
+       Adjust comparisons (signed vs unsigned).
+       * src/conflics.c, src/lalr.c, src/lalr.h, src/output.c (LA): Now a
+       bitset*.
+       Adjust all dependencies.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (firsts): Now, also a bitset.
+       Adjust all dependencies.
+       (varsetsize): Remove, now unused.
+       * src/warshall.h, src/warshall.c: Now work on arrays of bitsets.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c: Convert to use bitset.h, not hand coded iterations
+       over ints.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c: Convert to use bitset.h, not hand coded BSet.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (ruleset): Be a bitset.
+       (rulesetsize): Remove.
+
+2002-03-04  Akim Demaille  <akim@epita.fr>
+
+       * lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
+       * lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/lbitset.c,
+       * lib/lbitset.h, lib/sbitset.c, lib/sbitset.h: New.
+       * src/closure.c (fderives): Be an array of bitsets.
+
+2002-02-28  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Merge the two generated headers.  Insert a copyright
+       notice in each output file.
+
+2002-02-28  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.c++: Copy the prologue of bison.simple to fetch
+       useful M4 definitions, such as b4_header_guard.
+
+2002-02-25  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (version): Give the name of the authors, and use a
+       translator friendly scheme for the bgr
+       copyright notice.
+
+2002-02-25  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (header_output): Remove, now handled completely via
+       M4.
+
+2002-02-25  Akim Demaille  <akim@epita.fr>
+
+       * m4/m4.m4: New, from CVS Autoconf.
+       * configure.in: Invoke it.
+       * src/output.c (output_skeleton): Use its result instead of the
+       hard coded name.
+
+2002-02-25  Akim Demaille  <akim@epita.fr>
+
+       * lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from
+       Fileutils 4.1.5.
+       * configure.in: Invoke UTILS_FUNC_MKSTEMP.
+       * src/output.c (output_skeleton): Use mkstemp to create a real
+       temporary file.
+       Move the filling of `skeleton' and its muscle to...
+       (prepare): here.
+       (output): Move the definition of the prologue muscle to...
+       (prepare): here.
+       * src/system.h (DEFAULT_TMPDIR): New.
+
+2002-02-14  Paul Eggert  <eggert@twinsun.com>
+
+       Remove the support for C++ namespace cleanliness; it was
+       causing more problems than it was curing, since it didn't work
+       properly on some nonstandard C++ compilers.  This can wait
+       for a proper C++ parser.
+
+       * NEWS: Document this.
+       * doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
+       of C++, as it's treated like C now.
+       * src/bison.simple (YYSTD): Remove.
+       (YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
+       Treat C++ just like Standard C instead of trying to support
+       namespace cleanliness.
+
+2002-02-14  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (else): Adjust to Andreas' change.
+
+2002-02-14  Akim Demaille  <akim@epita.fr>
+
+       * lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.
+
+2002-02-13  Andreas Schwab  <schwab@suse.de>
+
+       * src/output.c (output_rule_data): Don't output NULL, it might
+       not be defined yet.
+
+2002-02-11  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
+       (Copyright notice): Update.
+
+2002-02-11  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (%nonassoc and eof): Don't include
+       nonportable headers.
+
+2002-02-08  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Correct error recovery.  Make the user able to
+       initialize the starting location.
+
+2002-02-07  Akim Demaille  <akim@epita.fr>
+
+       * tests/input.at: New.
+
+2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Replace some direct m4 expansions by constants.  Be
+       more consistent when naming methods and variables.  Put preprocessor
+       directives around tables only needed for debugging.
+
+2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
+       C++ parsers.
+       (yy::b4_name::parse): Use print_.
+
+2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++ (yy::b4_name::parse): Error recovery is back.
+
+2002-02-07  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
+       C++ parsers.
+       (yy::b4_name::parse): Build verbose error messages, and use error_.
+
+2002-02-06  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Fix m4 quoting in comments.
+
+2002-02-06  Robert Anisko  <robert@lrde.epita.fr>
+
+       * data/bison.c++: Adjust the parser code.  Fix some muscles that were
+       not expanded by m4.
+
+2002-02-05  Akim Demaille  <akim@epita.fr>
+
+       * data/bison.c++: Adjust to the M4 back end.
+       More is certainly needed.
+
+2002-02-05  Akim Demaille  <akim@epita.fr>
+
+       Give a try to M4 as a back end.
+
+       * lib/readpipe.c: New, from wdiff.
+       * src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and
+       BISON_HAIRY.
+       * src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS
+       specific values.  Now it is m4 that performs the lookup.
+       * src/parse-skel.y: Remove.
+       * src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New.
+       * src/output.c (actions_output, guards_output)
+       (token_definitions_output): No longer keeps track of the output
+       line number, hence remove the second argument.
+       (guards_output): Check against the guard member of a rule, not the
+       action member.
+       Adjust callers.
+       (output_skeleton): Don't look for the skeleton location, let m4 do
+       that.
+       Create `/tmp/muscles.m4'.  This is temporary, a proper temporary
+       file will be used.
+       Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton.
+       (prepare): Given that for the time being changesyntax is not
+       usable in M4, rename the muscles using `-' to `_'.
+       Define `defines_flag', `output_parser_name' and `output_header_name'.
+       * src/output.h (actions_output, guards_output)
+       (token_definitions_output): Adjust prototypes.
+       * src/scan-skel.l: Instead of scanning the skeletons, it now
+       processes the output of m4: `__oline__' and `#output'.
+       * data/bison.simple: Adjust to be used by M4(sugar).
+       * tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up
+       to date.
+       * tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR'
+       instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'.
+       * data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New,
+       shamelessly stolen from CVS Autoconf.
+
+2002-02-05  Akim Demaille  <akim@epita.fr>
+
+       * lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version.
+       * configure.in: Check for the declarations of free and malloc.
+       * src/muscle_tab.c: Adjust.
+
+2002-02-05  Akim Demaille  <akim@epita.fr>
+
+       * src/muscle_tab.c (muscle_init): Don't default to NULL muscle
+       which have no values.
+
+2002-02-05  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple, src/bison.hairy, src/bison.c++: Move to...
+       * data/: here.
+
+2002-01-29  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (YYSIZE_T): Do not define merely because
+       YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined.
+       On some platforms, <alloca.h> does not declare YYSTD (size_t).
+
+2002-01-27  Akim Demaille  <akim@epita.fr>
+
+       Fix `%nonassoc and eof'.
+
+       * src/state.c (errs_dup): Aaaah!  The failure was due to bytes
+       which were not properly copied!  Replace
+       memcpy (res->errs, src->errs, src->nerrs);
+       with
+       memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
+       !!!
+       * tests/regression.at (%nonassoc and eof): Adjust to newest
+       Autotest: `.' is not in the PATH.
+
+2002-01-27  Akim Demaille  <akim@epita.fr>
+
+       * tests/sets.at (AT_EXTRACT_SETS): New.
+       (Nullable): Use it.
+       (Firsts): New.
+
+2002-01-26  Akim Demaille  <akim@epita.fr>
+
+       * tests/actions.at, tests/calc.at, tests/headers.at,
+       * tests/torture.at: Adjust to the newest Autotest which no longer
+       forces `.' in the PATH.
+
+2002-01-25  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (%nonassoc and eof): New.
+       Suggested by Robert Anisko.
+
+2002-01-24  Akim Demaille  <akim@epita.fr>
+
+       Bison dumps core when trying to complain about broken input files.
+       Reported by Cris van Pelt.
+
+       * src/lex.c (parse_percent_token): Be sure to set token_buffer.
+       * tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
+       into...
+       (Invalid inputs): Strengthen: exercise parse_percent_token.
+
+2002-01-24  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/Makefile.am: Add bison.c++.
+       * src/bison.c++: New skeleton.
+
+2002-01-21  Paolo Bonzini <bonzini@gnu.org>
+
+       * po/it.po: New.
+
+2002-01-21  Kees Zeelenberg  <kzlg@users.sourceforge.net>
+
+       * src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
+
+2002-01-20  Marc Autret  <marc@gnu.org>
+
+       * src/files.c (compute_output_file_names): Fix
+
+2002-01-20  Marc Autret  <marc@gnu.org>
+
+       * tests/output.at: New test.
+       * src/files.c (compute_base_names): Don't map extensions when
+       the YACC flag is set, use defaults.
+       Reported by Evgeny Stambulchik.
+
+2002-01-20  Marc Autret  <marc@gnu.org>
+
+       * src/system.h: Need to define __attribute__ away for non-GCC
+       compilers as well (i.e., the vendor C compiler).
+       Suggested by Albert Chin-A-Young.
+
+2002-01-11  Tim Van Holder  <tim.van.holder@pandora.be>
+
+       * lib/hash.h, lib/hash.c: Renamed __P to PARAMS and used the
+       canonical definition.
+       * src/system.h: Use the canonical definition for PARAMS (avoids
+       a conflict with the macro from lib/hash.h).
+
+2002-01-11  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Use AC_FUNC_STRNLEN.
+       Fixes the failures observed on AIX 4.3 by H.Merijn Brand.
+
+2002-01-09  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c, src/files.h (output_infix): New.
+       (tab_extension): Remove.
+       (compute_base_names): Compute the former, drop the latter.
+       * src/output.c (prepare): Insert the muscles `output-infix', and
+       `output-suffix'.
+       * src/parse-skel.y (string, string.1): New.
+       (section.header): Use it.
+       (section.yacc): Remove.
+       (prefix): Remove too.
+       * src/scan-skel.l: Adjust.
+       * src/bison.simple, src/bison.hairy: Adjust.
+
+2002-01-09  Akim Demaille  <akim@epita.fr>
+
+       * configure.in (WERROR_CFLAGS): Compute it.
+       * src/Makefile.am (CFLAGS): Pass it.
+       * tests/atlocal.in (CFLAGS): Idem.
+       * src/files.c: Fix a few warnings.
+       (get_extension_index): Remove, unused.
+
+2002-01-08  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (AS_FILE_NAME): New.
+       (getargs): Use it to convert DOSish file names.
+       * src/files.c (base_name): Rename as full_base_name to avoid
+       clashes with `base_name ()'.
+       (filename_split): New.
+       (compute_base_names): N-th rewrite, using filename_split.
+
+2002-01-08  Akim Demaille  <akim@epita.fr>
+
+       * lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c:
+       New, stolen from the Fileutils 4.1.
+       * lib/Makefile.am (libbison_a_SOURCES): Adjust.
+       * configure.in: Check for the presence of memrchr, and of its
+       prototype.
+
+2002-01-07  Tim Van Holder  <tim.van.holder@pandora.be>
+
+       * lib/hash.h (__P): Added definition for this macro.
+       * src/Makefile.am: Add parse-skel.c and scan-skel.c to
+       BUILT_SOURCES, to ensure they are generated first.
+       * src/parse-skel.y: Use YYERROR_VERBOSE instead of
+       %error-verbose to allow bootstrapping with bison 1.30x.
+
+2002-01-06  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_braces): Don't fetch the next char, the
+       convention is to fetch on entry.
+       * tests/torture.at (GNU Cim Grammar): Reintroduce their weird
+       'switch' without a following semicolon.
+       * tests/regression.at (braces parsing): New.
+
+2002-01-06  Akim Demaille  <akim@epita.fr>
+
+       Bison is dead wrong in its RR conflict reports.
+
+       * tests/torture.at (GNU Cim Grammar): New.
+       * src/conflicts.c (count_rr_conflicts): Fix.
+
+2002-01-06  Akim Demaille  <akim@epita.fr>
+
+       Creating package.m4 from configure.ac causes too many problems.
+
+       * tests/Makefile.am (package.m4): Create it by hand,
+       AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf.
+
+2002-01-06  Akim Demaille  <akim@epita.fr>
+
+       * src/Makefile.am (bison_SOURCES): Add parse-skel.h and
+       skeleton.h.
+
+2002-01-04  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (Debugging):
+       Remove YYSTDERR; it's no longer defined or used.
+       Also, s/cstdio.h/cstdio/.
+
+2002-01-03  Akim Demaille  <akim@epita.fr>
+
+       * tests/bison.in, tests/atlocal.in: Adjust to CVS Autoconf.
+
+2002-01-03  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-skel.y (process_skeleton): Don't bind the parser's
+       tracing code to --trace, wait for a better --trace option, with
+       args.
+
+2002-01-03  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (YYSTDERR): Remove, replace `stderr'.
+       The ISO C++ standard is extremely clear about it: stderr is
+       considered a macro, not a regular symbol (see table 94 `Header
+       <cstdio> synopsis', [lib.c.files] 27.8.2 C Library files).
+       Therefore std:: does not apply to it.  It still does with fprintf.
+       Also, s/cstdio.h/cstdio/.
+
+2002-01-03  Akim Demaille  <akim@epita.fr>
+
+       * lib/quotearg.c: Use `#include "..."' instead of `#include <...>'
+       for non system headers.
+
+2002-01-02  Akim Demaille  <akim@epita.fr>
+
+       Equip the skeleton chain with location tracking, runtime trace,
+       pure parser and scanner.
+
+       * src/parse-skel.y: Request a pure parser, locations, and prefix
+       renaming.
+       (%union): Having several members with the same type does not help
+       type mismatches, simplify.
+       (YYPRINT, yyprint): New.
+       (yyerror): ``Rename'' (there is a #define yyerror skel_error) as...
+       (skel_error): this.
+       Handle locations.
+       * src/scan-skel.l: Adjust to these changes.
+       * src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP)
+       (LOCATION_PRINT, skel_control_t): New.
+
+2001-12-30  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-skel.y: Get rid of the shift/reduce conflict:
+       replace `gb' with BLANKS.
+       * src/scan-skel.l: Adjust.
+
+2001-12-30  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: We don't need nor want bcopy.
+       Throw away MS-DOS crap: we don't need getpid.
+       * configure.in: We don't need strndup.  It was even causing
+       problems: because Flex includes the headers *before* us,
+       _GNU_SOURCE is not defined by config.h, and therefore strndup was
+       not visible.
+       * lib/xstrndup.c: New.
+       * src/scan-skel.l: Use it.
+       Be sure to initialize yylval.muscle member when scanning a MUSCLE.
+       * src/parse-skel.y: Use %directives instead of #defines.
+
+2001-12-30  Akim Demaille  <akim@epita.fr>
+
+       * src/skeleton.h: New.
+       * src/output.c (output_parser, output_master_parser): Remove, dead
+       code.
+       * src/output.h (get_lines_number, actions_output, guards_output)
+       (token_definitions_output): Prototype them.
+       * src/parse-skel.y: Add the license notice.
+       Include output.h and skeleton.h.
+       (process_skeleton): Returns void, and takes a single parameter.
+       * src/scan-skel.l: Add the license notice.
+       Include skeleton.h.
+       Don't use %option yylineno: it seems that then Flex imagines
+       REJECT has been used, and therefore it won't reallocate its
+       buffers (which makes no other sense to me than a bug).  It results
+       in warnings for `unused: yy_flex_realloc'.
+
+2001-12-30  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/muscle_tab.h (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
+       (MUSCLE_INSERT_PREFIX): ...to there.
+       * src/output.c (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
+       (MUSCLE_INSERT_PREFIX): Move from here...
+
+       * src/bison.hairy: Add a section directive.  Put braces around muscle
+       names.  This parser skeleton is still broken, but Bison should not
+       choke on a bad muscle 'syntax'.
+       * src/bison.simple: Add a section directive.  Put braces around muscle
+       names.
+
+       * src/files.h (strsuffix, stringappend): Add declarations.
+       (tab_extension): Add declaration.
+       (short_base_name): Add declaration.
+
+       * src/files.c (strsuffix, stringappend): No longer static.  These
+       functions are used in the skeleton parser.
+       (tab_extension): New.
+       (compute_base_names): Use the computations done in this function
+       to guess if the generated parsers should have '.tab' in their
+       names.
+       (short_base_name): No longer static.
+
+       * src/output.c (output_skeleton): New.
+       (output): Disable call to output_master_parser, and give a try to
+       a new skeleton handling system.
+       (guards_output, actions_output): No longer static.
+       (token_definitions_output, get_lines_number): No longer static.
+
+       * configure.in: Use AM_PROG_LEX and AC_PROG_YACC.
+
+       * src/Makefile.am (bison_SOURCES): Add scan-skel.l and
+       parse-skel.y.
+
+       * src/parse-skel.y: New file.
+       * src/scan-skel.l: New file.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       %name-prefix is broken.
+
+       * src/files.c (spec_name_prefix): Initialize to NULL, not to "yy".
+       Adjust all dependencies.
+       * tests/headers.at (export YYLTYPE): Strengthen this test: use
+       %name-prefix.
+
+       Renaming yylval but not yylloc is not consistent.  Now we do.
+
+       * src/bison.simple: Prefix yylloc if used.
+       * doc/bison.texinfo (Decl Summary): Document that.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Promote `%long-directive' over
+       `%long_directive'.
+       Remove all references to fixed-output-files, yacc is enough.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple: Define YYDEBUG and YYERROR_VERBOSE *after* the
+       user prologue.  These are defaults.
+       * tests/actions.at (Mid-rule actions): Make sure the user can
+       define YYDEBUG and YYERROR_VERBOSE.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (header_output): Don't forget to export YYLTYPE and
+       yylloc.
+       * tests/headers.at (export YYLTYPE): New, make sure it does.
+       * tests/regression.at (%union and --defines, Invalid CPP headers):
+       Move to...
+       * tests/headers.at: here.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_s): Member `assoc' is of type `associativity'.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * tests/actions.at (Mid-rule actions): Output on a single line
+       instead of several.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Formatting changes.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       Don't store the token defs in a muscle, just be ready to output it
+       on command.  Now possible via `symbols'.  Fixes a memory leak.
+
+       * src/output.c (token_definitions_output): New.
+       (output_parser, header_output): Use it.
+       * src/reader.c (symbols_save): Remove.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple: Do not provide a default for YYSTYPE and
+       YYLTYPE before the user's prologue.  Otherwise it's hardly... a
+       default.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       Mid-rule actions are simply... ignored!
+
+       * src/reader.c (readgram): Be sure to attach mid-rule actions to
+       the empty-rule associated to the dummy symbol, not to the host
+       rule.
+       * tests/actions.at (Mid-rule actions): New.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       Memory leak.
+
+       * src/reader.c (reader): Free grammar.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       Memory leak.
+
+       * src/LR0.c (new_itemsets): Don't allocate `shift_symbol' here,
+       since it allocates it for each state, although only one is needed.
+       (allocate_storage): Do it here.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/options.h, src/options.c (create_long_option_table): Rename
+       as...
+       (long_option_table_new): this, with a clearer prototype.
+       (percent_table): Remove, unused,
+       * src/getargs.c (getargs): Adjust.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c, src/conflicts.c, src/lalr.c, src/lalr.h, src/output.c
+       * src/print.c, src/print_graph.c, src/state.h: Rename state_table
+       as states.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (build_relations): Rename `states' as `states1'.
+       Sorry, I don't understand exactly what it is, no better name...
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c, src/conflicts.c, src/derives.c, src/gram.c
+       * src/gram.h, src/lalr.c, src/nullable.c, src/output.c, src/print.c
+       * src/print_graph.c, src/reader.c, src/reduce.c: Rename rule_table
+       as rules.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.c (rprec, rprecsym, rassoc): Remove, unused since long
+       ago.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c, src/reader.h (user_toknums): Remove.
+       Adjust all users to use symbols[i]->user_token_number.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.c, src/gram.h (sprec, sassoc): Remove.
+       Adjust all users to use symbols[i]->prec or ->assoc.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c, src/reader.h (tags): Remove.
+       Adjust all users to use symbols[i]->tag.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (symbols): New, similar to state_table
+       and rule_table.
+       * src/reader.c (packsymbols): Fill this table.
+       Drop sprec.
+       * src/conflicts.c (resolve_sr_conflict): Adjust.
+       * src/reduce.c (reduce_grammar): Adjust: just sort symbols, a
+       single table.
+       Use symbols[i]->tag instead of tags[i].
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (_AT_DATA_CALC_Y): Also use %union.
+       In addition, put a comment in there, to replace...
+       * tests/regression.at (%union and C comments): Remove.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Web2c Actions): Blindly move the actual
+       output as expected output.  The contents *seem* right to me, but I
+       can't pretend reading perfectly parser tables...  Nonetheless, all
+       the other tests pass correctly, the table look OK, even though the
+       presence of `$axiom' is to be noted: AFAICS it is useless (but
+       harmless).
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (readgram): Don't add the rule 0 if there were no
+       rules read.  In other words, add it _after_ having performed
+       grammar sanity checks.
+       Fixes the `tests/regression.at (Invalid input: 1)' Failure.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Web2c Report): Catch up: the rule 0 is now
+       visible, and some states have now a different number.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (readgram): Bind the initial rule's lineno to that
+       of the first rule.
+       * tests/regression.at (Rule Line Numbers, Unresolved SR Conflicts):
+       (Solved SR Conflicts): Adjust rule 0's line number.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       Fix the `GAWK Grammar' failure.
+
+       * src/LR0.c (final_state): Initialize to -1 so that we do compute
+       the reductions of the first state which was mistakenly confused
+       with the final state because precisely final_state was initialized
+       to 0.
+       * tests/sets.at (Nullable): Adjust: state 0 does have lookaheads,
+       now noticed by Bison.
+       * tests/regression.at (Rule Line Numbers): Adjust: state 0 does
+       have a reduction on $default.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.c (ritem_print): Be sure to subtract 1 when displaying
+       rule line numbers.
+       * src/closure.c (print_closure): Likewise.
+       * src/derives.c (print_derives): Likewise.
+       * tests/sets.at (Nullable): Adjust: the rule numbers are correct
+       now.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (lookaheads_print): New.
+       (lalr): Call it when --trace-flag.
+       * tests/sets.at (Nullable): Adjust: when tracing, the lookaheads
+       are dumped.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/derives.c (print_derives): Be sure to use `>= 0', not `> 0',
+       when walking through ritem, even via rule->rhs.
+       * src/reduce.c (dump_grammar, useful_production, reduce_output)
+       (useful_production, useless_nonterminals): Likewise.
+       (reduce_grammar_tables): Likewise, plus update nritems.
+       * src/nullable.c (set_nullable): Likewise.
+       * src/lalr.c (build_relations): Likewise.
+       * tests/sets.at (Nullable): Adjust.
+       Fortunately, now, the $axiom is no longer nullable.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (generate_states): Use nritems, not nitems, nor using
+       the 0-sentinel.
+       * src/gram.c (ritem_longest_rhs): Likewise.
+       * src/reduce.c (nonterminals_reduce): Likewise.
+       * src/print_graph.c (print_graph): Likewise.
+       * src/output.c (output_rule_data): Likewise.
+       * src/nullable.c (set_nullable):  Likewise.
+
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c: Comment changes.
+
+2001-12-27  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special
+       cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and
+       Sparc, as they were causing more porting problems than the
+       (minor) performance improvement was worth.
+
+       Also, catch up with 1.31's YYSTD.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_gram): Rely on nritems, not the
+       0-sentinel.  See below.
+       Use -1 as separator, not 0.
+       * src/bison.simple (yyparse): Subtract 1 to the rule numbers.
+       Rely on -1 as separator in yyrhs, instead of 0.
+       * tests/calc.at (AT_CHECK_CALC): Now, the parsers no longer issue
+       twice `Now at end of input', therefore there are two lines less to
+       expect.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Unresolved SR Conflicts):
+       (Solved SR Conflicts, Rule Line Numbers): Adjust to the changes
+       below.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_state): Recognize the final state by the fact it
+       is reached by eoftoken.
+       (insert_start_shifting_state, insert_eof_shifting_state)
+       (insert_accepting_state, augment_automaton): Remove, since now
+       these states are automatically computed from the initial state.
+       (generate_states): Adjust.
+       * src/print.c: When reporting a rule number to the user, substract
+       1, so that the axiom rule is rule 0, and the first user rule is 1.
+       * src/reduce.c: Likewise.
+       * src/print_graph.c (print_core): For the time being, just as for
+       the report, depend upon --trace-flags to dump the full set of
+       items.
+       * src/reader.c (readgram): Once the grammar read, insert the rule
+       0: `$axiom: START-SYMBOL $'.
+       * tests/set.at: Adjust: rule 0 is now displayed, and since the
+       number of the states has changed (the final state is no longer
+       necessarily the last), catch up.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       Try to make the use of the eoftoken valid.  Given that its value
+       is 0 which was also used as a sentinel in ritem, (i) make sure >= 0
+       is used instead of > 0 where appropriate, (ii), depend upon nritems
+       instead of the 0-sentinel.
+
+       * src/gram.h, src/gram.c (nritems): New.
+       Expected to be duplication of nitems, but for the time being...
+       * src/reader.c (packgram): Assert nritems and nitems are equal.
+       * src/LR0.c (allocate_itemsets, new_itemsets): Adjust.
+       * src/closure.c (print_closure, print_fderives): Likewise.
+       * src/gram.c (ritem_print): Likewise.
+       * src/print.c (print_core, print_grammar): Likewise.
+       * src/print_graph.c: Likewise.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/main.c (main): If there are complains after grammar
+       reductions, then output the report anyway if requested, then die.
+       * src/symtab.c (bucket_new): Initialize `value' to -1, not 0.
+       * src/reader.c (eoftoken): New.
+       (parse_token_decl): If the token being defined has value `0', it
+       is the eoftoken.
+       (packsymbols): No longer hack `tags' to insert `$' by hand.
+       Be sure to preserve the value of the eoftoken.
+       (reader): Make sure eoftoken is defined.
+       Initialize nsyms to 0: now eoftoken is created just like the others.
+       * src/print.c (print_grammar): Don't special case the eof token.
+       * src/regression.at: Adjust: `$' has value 0, not -1, which was a
+       lie anyway, albeit pleasant.
+       * tests/calc.at: Exercise error messages with eoftoken.
+       Change the grammar so that empty input is invalid.
+       Adjust expectations.
+       When yyungeting, be sure to use a valid yylloc: use last_yylloc.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Check the protos of strchr ans strspn.
+       Replace strchr if needed.
+       * src/system.h: Provide the protos of strchr, strspn and memchr if
+       missing.
+       * lib/strchr.c: New.
+       * src/reader.c (symbols_save): Use strchr.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c, src/print_graph.c (escape): New.
+       Use it to quote the TAGS outputs.
+       * src/print_graph.c (print_state): Now errors are in red, and
+       reductions in green.
+       Prefer high to wide: output the state number on a line of its own.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (reductions_new): New.
+       * src/LR0.c (set_state_table): Let all the states have a
+       `reductions', even if reduced to 0.
+       (save_reductions): Adjust.
+       * src/lalr.c (initialize_LA, initialize_lookaheads): Adjust.
+       * src/print.c (print_reductions, print_actions): Adjust.
+       * src/output.c (action_row): Adjust.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h, src/state.c (errs_new, errs_dup): New.
+       * src/LR0.c (set_state_table): Let all the states have an errs,
+       even if reduced to 0.
+       * src/print.c (print_errs, print_reductions): Adjust.
+       * src/output.c (output_actions, action_row): Adjust.
+       * src/conflicts.c (resolve_sr_conflict): Adjust.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c, src/conflicts.h (print_reductions): Move to...
+       * src/print.c: here.
+       (lookaheadset, shiftset): New, used as additional storage by
+       print_reductions.
+       (print_results): Adjust.
+       (print_shifts, print_gotos, print_errs): New, extracted from...
+       (print_actions): here.
+       * src/print_graph.c (print_actions): Remove dead code.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_dollar, copy_at): Better checking of `n' in
+       `$n' and `@n'.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (add_lookback_edge): Use state_t instead of ints.
+       (build_relations): Adjust.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (set_goto_map): Remove a wrong but benign loop
+       duplication.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (packgram): Catch nitems overflows.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c, src/files.h (guard_obstack): Remove.
+       * src/output.c (output): Adjust.
+       * src/reader.c (parse_braces): New, factoring...
+       (copy_action, copy_guard): these two which are renamed as...
+       (parse_action, parse_guard): these.
+       As a voluntary consequence, using braces around guards is now
+       mandatory.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_t): `guard' and `guard_line' are new members.
+       * src/reader.c (symbol_list): `guard' and `guard_line' are new
+       members.
+       (symbol_list_new): Adjust.
+       (copy_action): action_line is the first line, not the last.
+       (copy_guard): Just as for actions, store the `action' only, not
+       the switch/case/break flesh.
+       Don't parse the user action that might follow the guard, let...
+       (readgram): do it, i.e., now, there can be an action after a
+       guard.
+       In other words the guard is just explicitly optional.
+       (packgram): Adjust.
+       * src/output.c (guards_output): New.
+       (output_parser): Call it when needed.
+       (output): Also free the guard and attrs obstacks.
+       * src/files.c, src/files.h (obstack_save): Remove.
+       (output_files): Remove.
+       As a result, if one needs the former `.act' file, using an
+       appropriate skeleton which requires actions and guards is now
+       required.
+       * src/main.c (main): Adjust.
+       * tests/semantic.at: New.
+       * tests/regression.at: Use `input.y' as input file name.
+       Avoid 8+3 problems by requiring input.c when the test needs the
+       parser.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (symbol_list_new): Be sure to initialize all the
+       fields.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       All the hacks using a final pseudo state are now useless.
+
+       * src/LR0.c (set_state_table): state_table holds exactly nstates.
+       * src/lalr.c (nLA): New.
+       (initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
+       instead of lookaheadsp from the pseudo state (nstate + 1).
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (action_row, token_actions): Use a state_t instead
+       of a integer, and nlookaheads instead of the following state's
+       lookaheadsp.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (log_resolution, flush_shift)
+       (resolve_sr_conflict, set_conflicts, solve_conflicts)
+       (count_sr_conflicts, count_rr_conflicts, conflicts_output)
+       (conflicts_print, print_reductions): Use a state_t instead of an
+       integer when referring to a state.
+       As much as possible, depend upon nlookaheads, instead of the
+       `lookaheadsp' member of the following state (since lookaheads of
+       successive states are successive, the difference between state n + 1
+       and n served as the number of lookaheads for state n).
+       * src/lalr.c (add_lookback_edge): Likewise.
+       * src/print.c (print_core, print_actions, print_state)
+       (print_results): Likewise.
+       * src/print_graph.c (print_core, print_actions, print_state)
+       (print_graph): Likewise.
+       * src/conflicts.h: Adjust.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.hairy: Formatting/comment changes.
+       ANSIfy.
+       Remove `register' indications.
+       Add plenty of `static'.
+
+2001-12-27  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare): Drop the muscle `ntbase' which
+       duplicates ntokens.
+       * src/bison.simple: Formatting/comment changes.
+       Use YYNTOKENS only, which is documented, but not YYNTBASE, which
+       is an undocumented synonym.
+
+2001-12-22  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_table_data): Change the prototype to use
+       `int' for array ranges: some invocations do pass an int, not a
+       short.
+       Reported by Wayne Green.
+
+2001-12-22  Akim Demaille  <akim@epita.fr>
+
+       Some actions of web2c.y are improperly triggered.
+       Reported by Mike Castle.
+
+       * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
+       * tests/regression.at (Web2c): Rename as...
+       (Web2c Report): this.
+       (Web2c Actions): New.
+
+2001-12-22  Akim Demaille  <akim@epita.fr>
+
+       Reductions in web2c.y are improperly reported.
+       Reported by Mike Castle.
+
+       * src/conflicts.c (print_reductions): Fix.
+       * tests/regression.at (Web2c): New.
+
+2001-12-18  Akim Demaille  <akim@epita.fr>
+
+       Some host fail on `assert (!"foo")', which expands to
+       ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
+       Reported by Nelson Beebee.
+
+       * src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
+       `#define it_succeeded 0' and `assert (it_succeeded)'.
+
+2001-12-17  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple: Don't hard code the skeleton line and filename.
+       * src/output.c (output_parser): Rename 'line' as 'output_line'.
+       New line counter 'skeleton_line' (skeleton-line muscle).
+
+2001-12-17  Paul Eggert  <eggert@twinsun.com>
+
+       * NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
+       YYDEBUG must be defined to a nonzero value.
+
+       * src/bison.simple (yytname): Do not assume that the user defines
+       YYDEBUG to a properly parenthesized expression.
+
+2001-12-17  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (state_t): Rename lookaheads as lookaheadsp.
+       nlookaheads is a new member.
+       Adjust all users.
+       * src/lalr.h (nlookaheads): Remove this orphan declaration.
+       * src/lalr.c (initialize_lookaheads): Set nlookaheads for each
+       state.
+
+2001-12-17  Akim Demaille  <akim@epita.fr>
+
+       * src/files.h, src/files.c (open_files, close_files): Remove.
+       * src/main.c (main): Don't open/close files, nor invoke lex_free,
+       let...
+       * src/reader.c (reader): Do it.
+
+2001-12-17  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Formatting changes.
+
+2001-12-17  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (flush_shift): Also adjust lookaheadset.
+       (flush_reduce): New.
+       (resolve_sr_conflict): Adjust.
+
+2001-12-17  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_obstack): Be static and rename as...
+       (format_obstack): this, to avoid any confusion with files.c's
+       output_obstack.
+       * src/reader.h (muscle_obstack): Move to...
+       * src/output.h: here, since it's defined in output.c.
+
+2001-12-17  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (action_row, save_column, default_goto)
+       (sort_actions, matching_state, pack_vector): Better variable
+       locality.
+
+2001-12-17  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c: Various formatting changes.
+
+2001-12-17  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (output_files): Free the output_obstack.
+       * src/main.c (main): Call print and print_graph conditionally.
+       * src/print.c (print): Work unconditionally.
+       * src/print_graph.c (print_graph): Work unconditionally.
+       * src/conflicts.c (log_resolution): Output only if verbose_flag.
+
+2001-12-16  Marc Autret  <autret_m@epita.fr>
+
+       * src/output.c (actions_output): Fix. When we use %no-lines,
+       there is one less line per action.
+
+2001-12-16  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple: Remove a useless #line directive.
+       s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
+       * src/output.c (get_lines_number): New.
+       (output_parser): Adjust, now takes care about the lines of a
+       output muscles.
+       Fix line numbering.
+       (actions_output): Computes the number of lines taken by actions.
+       (output_master_parser): Insert new skeleton which is the name of
+       the output parser file name.
+
+2001-12-15  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
+
+2001-12-15  Marc Autret  <autret_m@epita.fr>
+
+       * src/output.c (output_gram): Keep track of the hairy one.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       Make `make distcheck' work.
+
+       * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
+       system.h which uses libgettext.h.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       * src/nullable.c (set_nullable): Useless rules must be skipped,
+       otherwise, since we range over their symbols, we might look at a
+       nonterminal which no longer ``exists'', i.e., it is not counted in
+       `nvars', hence we overflow our arrays.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       The header can also be produced directly, without any obstack!
+       Yahoo!
+
+       * src/files.c, src/files.h (defines_obstack): Remove.
+       (compute_header_macro): Global.
+       (defines_obstack_save): Remove.
+       * src/reader.c (parse_union_decl): No longer output to
+       defines_obstack: its content can be found in the `stype' muscle
+       anyway.
+       (output_token_translations): Merge into...
+       (symbols_output): this.
+       Rename as...
+       (symbols_save): this.
+       (reader): Adjust.
+       * src/output.c (header_output): New.
+       (output): Call it.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_union_decl): Instead of handling two obstack
+       simultaneously, use one to define the `stype' muscle, and use the
+       value of the latter to fill defines_obstack.
+       (copy_comment): Remove.
+       (copy_comment2): Work for a single obstack.
+       Rename as...
+       (copy_comment): this.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c, src/lex.h (xgetc): No longer static.
+       * src/reader.c (parse_union_decl): Revamp.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       Still making progress in separating Bison into (i) input, (ii)
+       process, (iii) output: now we can directly output the parser file
+       without using table_obstack at all.
+
+       * src/files.c, src/files.h (table_obstack): Bye bye.
+       (parser_file_name): New.
+       * src/files.c (compute_output_file_names): Compute it.
+       * src/output.c (actions_output, output_parser)
+       (output_master_parser): To a file instead of an obstack.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       Attach actions to rules, instead of pre-outputting them to
+       actions_obstack.
+
+       * src/gram.h (rule_t): action and action_line are new members.
+       * src/reader.c (symbol_list): Likewise.
+       (copy_action): Save the actions within the rule.
+       (packgram): Save them in rule_table.
+       * src/output.c (actions_output): New.
+       (output_parser): Use it on `%%actions'.
+       (output_rule_data): Don't free rule_table.
+       (output): Do it.
+       (prepare): Don't save the `action' muscle.
+       * src/bison.simple: s/%%action/%%actions/.
+
+2001-12-15  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_action): When --yacc, don't append a `;'
+       to the user action: let it fail if lacking.
+       Suggested by Arnold Robbins and Tom Tromey.
+
+2001-12-14  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c (literalchar): Simply return the char you decoded, non
+       longer mess around with obstacks and int pointers.
+       Adjust all callers.
+
+2001-12-14  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c (literalchar): Don't escape the special characters,
+       just decode them, and keep them as char (before, eol was output as
+       the 2 char string `\n' etc.).
+       * src/output.c (output_rule_data): Use quotearg to output the
+       token strings.
+
+2001-12-13  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
+       Do not infringe on the global user namespace when using C++.
+       (YYFPRINTF, YYSTDERR): New macros, needed for the above.
+       All uses of `fprintf' and `stderr' changed.
+
+       * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
+
+2001-12-13  Akim Demaille  <akim@epita.fr>
+
+       The computation of nullable is broken: it doesn't handle empty
+       RHS's properly.
+
+       * tests/torture.at (GNU AWK Grammar): New.
+       * tests/sets.at (Nullable): New.
+       * src/nullable.c (set_nullable): Instead of blindly looping over
+       `ritems', loop over the rules, and then over their rhs's.
+
+       Work around Autotest bugs.
+
+       * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
+       frame, because Autotest understand lines starting with a `+' as
+       traces from the shell.  Then, they are not processed properly.
+       Admittedly an Autotest bug, but we don't have time to wait for
+       Autotest to catch up.
+       * tests/regression.at (Broken Closure): Adjust to the new table
+       frames.
+       Move to...
+       * tests/sets.at: here.
+
+2001-12-13  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (closure): Use nrules instead of playing tricks
+       with BITS_PER_WORD.
+
+2001-12-13  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c (print_actions): Output the handling of `$' as the
+       traces do: shifting the token EOF.  Before EOF was treated as a
+       nonterminal.
+       * tests/regression.at: Adjust some tests.
+       * src/print_graph.c (print_core): Complete the set of items via
+       closure.  The next-to-final and final states are still unsatisfying,
+       but that's to be addressed elsewhere.
+       No longer output the rule numbers, but do output the state number.
+       A single loop for the shifts + gotos is enough, but picked a
+       distinct color for each.
+       (print_graph): Initialize and finalize closure.
+
+2001-12-13  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (readgram): Remove dead code, an strip useless
+       braces.
+       (get_type): Remove, unused.
+
+2001-12-12  Akim Demaille  <akim@epita.fr>
+
+       * src/complain.h, src/complain.c: Remove error_one_per_line, rely
+       on that of lib/error.c.
+
+2001-12-12  Akim Demaille  <akim@epita.fr>
+
+       Some hosts don't like `/' in includes.
+
+       * src/system.h: Include libgettext.h without qualifying the path.
+       * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
+       $(top_srcdir).
+
+2001-12-11  Marc Autret  <autret_m@epita.fr>
+
+       * src/output.c (output_parser): Remove useless muscle.
+
+2001-12-11  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple: Remove #line just before %%epilogue. It
+       is now handled in ...
+       * src/reader.c (read_additionnal_code): Add the output of a
+       #line for the epilogue.
+
+2001-12-10  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (copy_definition): Re-use CPP-outed code which
+       replace precedent remove.
+       * src/bison.simple: Remove #line before %%prologue because
+       %%input-line is wrong at this time.
+
+2001-12-10  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (symbols_output): Clean up.
+       * src/output.c (output_gram, output): Clean up.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (initialize_lookaheads): New.  Extracted from...
+       * src/LR0.c (set_state_table): here.
+       * src/lalr.c (lalr): Call it.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (shifts): Remove the `number' member: shifts are
+       attached to state, hence no longer need to be labelled with a
+       state number.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       Now that states have a complete set of members, the linked list of
+       shifts is useless: just fill directly the state's shifts member.
+
+       * src/state.h (shifts): Remove the `next' member.
+       * src/LR0.c (first_state, last_state): Remove.
+       Adjust the callers.
+       (augment_automaton): Don't look for the shifts that must be added
+       a shift on EOF: it is those of the state we looked for!  But now,
+       since shifts are attached, it is no longer needed to looking
+       merely by its id: its number.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (augment_automaton): Better variable locality.
+       Remove an impossible branch: if there is a state corresponding to
+       the start symbol being shifted, then there is shift for the start
+       symbol from the initial state.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
+       only when appropriate: when insert_start_shifting_state' is not
+       invoked.
+       * tests/regression.at (Rule Line Numbers): Adjust.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (augment_automaton): Now that all states have shifts,
+       merge the two cases addition shifts to the initial state.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (set_state_table): Move to...
+       * src/LR0.c: here.
+       * src/lalr.c (lalr): Don't call it...
+       * src/LR0.c (generate_states): do it.
+       * src/LR0.h (first_state): Remove, only the table is used.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.h (first_shift, first_reduction): Remove.
+       * src/lalr.c: Don't use first_shift: find shifts through the
+       states.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c: Attach shifts to states as soon as they are
+       computed.
+       * src/lalr.c (set_state_table): Instead of assigning shifts to
+       state, just assert that the mapping was properly done.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (insert_start_shift): Rename as...
+       (insert_start_shifting_state): this.
+       (insert_eof_shifting_state, insert_accepting_state): New.
+       (augment_automaton): Adjust.
+       Better locality of the variables.
+       When looking if the start_symbol is shifted from the initial
+       state, using `while (... symbol != start_symbol ...)' sounds
+       better than `while (... symbol < start_symbol ...)': If fail
+       to see how the order between symbols could be relevant!
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.h: Don't declare `spec_name_prefix' and
+       `spec_file_prefix', declared by src/files.h.
+       * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
+       * src/muscle_tab.c (muscle_init): Default prefix to NULL.
+       * src/output.c (prepare): Adjust.
+       * src/reader.c (symbols_output): Likewise.
+       * src/vmsgetargs.c: Vaguely adjust, but who cares?
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/muscle_tab.c (muscle_init): NULL is a better default than
+       `"0"'.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (reader): Calling symbols_output once is enough.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       Now that states have a complete set of members, the linked list of
+       reductions is useless: just fill directly the state's reductions
+       member.
+
+       * src/state.h (struct reductions): Remove member `number' and
+       `next'.
+       * src/LR0.c (first_reduction, last_reduction): Remove.
+       (save_reductions): Don't link the new reductions, store them in
+       this_state.
+       * src/lalr.c (set_state_table): No need to attach reductions to
+       states, it's already done.
+       * src/output.c (output_actions): No longer free the shifts, then
+       the reductions, then the states: free all the states and their
+       members.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/options.c (OPTN, DRTV, BOTH): New.
+       (option_table): Use them.
+
+       * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
+       the job of system.h.
+       * src/options.c: Don't include stdio.h and xalloc.h for the same
+       reasons.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output, prepare): Make sure the values of the
+       muscles `action' and `prologue' are 0-terminated.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       Clean up GCC warnings.
+
+       * src/reader.c (copy_action): `buf' is not used.
+       (parse_skel_decl): Be static.
+       * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
+       * src/options.h (create_long_option_table): Have a real prototype.
+       * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
+       (hash_delete_at): Return const void *.
+       Adjust casts to preserve the const.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Require 2.52g.
+       M4 is not needed, but AUTOM4TE is.
+       * m4/m4.m4: Remove.
+       * tests/Makefile.am: Adjust.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       One structure for states is enough, even though theoretically
+       there are LR(0) states and LALR(1) states.
+
+       * src/lalr.h (state_t): Remove.
+       (state_table): Be state_t **, not state_t *.
+       * src/state.h (core, CORE_ALLOC): Rename as...
+       (state_t, STATE_ALLOC): this.
+       Add the LALR(1) members: shifts, reductions, errs.
+       * src/LR0.c (state_table): Rename as...
+       (state_hash): this, to avoid name clashes with the global
+       `state_table'.
+       * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
+       * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
+
+2001-12-10  Akim Demaille  <akim@epita.fr>
+
+       Bison dumps core on bash.y.
+       Reported by Pascal Bart.
+
+       * src/warshall.c (bitmatrix_print): New.
+       (TC): Use it.
+       When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
+       j must be the outer loop.
+       * tests/regression.at (Broken Closure): New.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
+       its argument.
+       Reported by Peter Hamorsky.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (err_table): Remove.
+       (resolve_sr_conflict): Adjust.
+       * src/lalr.h (state_t.reduction_table, state_t.shift_table):
+       Rename as...
+       (state_t.reductions, state_t.shifts): this.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (reduce_grammar_tables): No longer disable the
+       removal of useless rules via CPP but via `if (0)', so that the
+       compiler still check the code is valid.
+       For instance, it should have noticed `rline' no longer exists: use
+       the `line' member of rule_t.
+       * src/gram.c (dummy, rline): Remove, unused.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (pack_vector): Use assert, not berror.
+       * src/main.c (berror): Remove, unused.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       New experimental feature: if --verbose --trace output all the
+       items of a state, not only its kernel.
+
+       * src/print.c (print_core): If `trace_flag', then invoke closure
+       before outputting the items of the state (print_core is no longer
+       a correct name them).
+       (print_results): Invoke new_closure/free_closure if needed.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
+       * src/closure.c, src/closure.h (itemsetsize): Rename as...
+       (nitemset): for consistency with the rest of the project.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (print_closure): Improve.
+       (closure): Use it for printing input and output.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
+       indexed by nonterminals.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
+       what it was!).
+       * src/warshall.h: Remove accidental duplication of the content.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (set_fderives): De-obfuscate.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (print_firsts, print_fderives): De-obfuscate.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (set_firsts): De-obfuscate.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (action_row): De-obfuscate
+       using the good o' techniques: arrays not pointers, variable
+       locality, BITISSET, RESETBIT etc.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       Pessimize the code to simplify it: from now on, all the states
+       have a valid SHIFTS, which NSHIFTS is possibly 0.
+
+       * src/LR0.c (shifts_new): Be global and move to..
+       * src/state.c, src/state.h: here.
+       * src/conflicts, src/lalr.c, src/output.c, src/print.c,
+       * src/print_graph: Adjust.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
+       * src/conflicts.c: Use it.
+       Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
+       incorrectly ``simplified''.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
+       using the good o' techniques: arrays not pointers, variable
+       locality, BITISSET, RESETBIT etc.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (SHIFT_SYMBOL): New.
+       * src/conflicts.c: Use it to deobfuscate.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
+       (print_reductions): De-obfuscate using the good o' techniques:
+       arrays not pointers, variable locality, BITISSET.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Arrays, not pointers.
+       Use BITISSET.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Pessimize, but clarify.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Improve variable locality.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Pessimize, but clarify.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Improve variable locality.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
+       * src/lalr.c: Use them.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (augment_automaton): Formatting changes.
+       Better variable locality.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (matrix_print): New.
+       (transpose): Use it.
+       Use arrays instead of pointers.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (maxrhs): Move to...
+       * src/gram.c, src/gram.h (ritem_longest_rhs): here.
+       * src/lalr.c (build_relations): Adjust.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (transpose): Free the memory allocated to the
+       argument, as it is replaced by the results by the unique caller.
+       (build_relations): Merely invoke transpose: it handles the memory
+       deallocation.
+       Improve variable locality.
+       Avoid variables used as mere abbreviations.
+       (compute_lookaheads): Use arrays instead of pointers.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (initialize_F): Improve variable locality.
+       Avoid variables used as mere abbreviations.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/derives.c (print_derives): Display the ruleno.
+       * src/lalr.c (initialize_F, transpose): Better variable locality
+       to improve readability.
+       Avoid variables used as mere abbreviations.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (traverse): Use arrays instead of pointers.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
+       the handling of squeue.
+       `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       Because useless nonterminals are now kept alive (instead of being
+       `destroyed'), we now sometimes examine them, and store information
+       related to them.  Hence we need to know their number, and adjust
+       memory allocations.
+
+       * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
+       static.
+       * src/LR0.c (allocate_itemsets): The memory allocated to
+       `symbol_count' was used for two different purpose: once to count
+       the number of occurrences of each symbol, and later reassigned to
+       `shift_symbol', containing the symbol that can be shifted from a
+       given state.
+       Deobfuscate, i.e., allocate, use and free `symbol_count' here
+       only, and...
+       (new_itemsets): Allocate `shift_symbol' here.
+       (allocate_itemsets): symbol_count includes useless nonterminals.
+       Make room for them.
+       (free_storage): Use `free', not `XFREE', for pointers that cannot
+       be null.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/nullable.c (set_nullable): Deobfuscate the handling of
+       ritem.
+       `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
+
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.c, src/gram.h (ritem_print): New.
+       * src/gram.c (dummy): Remove, now there is actual code in gram.c.
+       (This useless function was defined only to work around VMS linkers
+       that can't handle compilation units with variables only).
+       * src/reduce.c (dump_grammar): Use it to trace the construction of
+       ritem.
+
+2001-12-04  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (union yyalloc): Change member names
+       to be the same as the stack names.
+       (yyparse): yyptr is now union yyalloc *, not char *.
+       (YYSTACK_RELOCATE): Likewise.  This avoids a GCC warning,
+       and may generate better code on some machines.
+       (yystpcpy): Use prototype if __STDC__ is defined, not just
+       if __cplusplus is defined.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * configure.in (WARNING_CFLAGS): Add -Werror when possible.
+       (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
+       Gettext doesn't compile cleanly, and dies with -Werror.
+       * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
+       Include WARNING_CFLAGS here.
+       * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
+       before being defined.
+
+2001-11-27  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/quotearg.h (quotearg_n, quotearg_n_style):
+       First arg is int, not unsigned.
+       * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
+       (SIZE_MAX, UINT_MAX): New macros.
+       (quotearg_n_options): Abort if N is negative.
+       Avoid overflow check on hosts where size_t is 64 bits and int
+       is 32 bits, as overflow is impossible there.
+       Fix off-by-one typo that caused unnecessary reallocation.
+
+2001-11-29  Paul Eggert  <eggert@twinsun.com>
+
+       Name space cleanup in generated parser.
+
+       * doc/bison.texinfo (Bison Parser): Discuss system headers
+       and their effect on the user name space.
+
+       * src/bison.simple:
+       (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
+       YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
+       i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
+
+       (YYSIZE_T): New macro.  Use it instead of size_t, to avoid infringing
+       on user names when possible.
+
+       (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
+       Simplify test for whather <alloca.h> exists.
+
+       (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
+
+       (<stdio.h>): Include if YYDEBUG.
+
+       (yymemcpy): Renamed from __yy_memcpy.  Do not define unless
+       ! defined (yyoverflow) && ! defined (yymemcpy).
+
+       (yymemcpy, yyparse): Rename local variables as needed so that
+       they all begin with 'yy'.
+
+       (yystrlen, yystpcpy): New functions.
+
+       (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
+       All uses changed.
+
+       (yyparse): size_t -> YYSIZE_T.  Use yystrlen and yystpcpy
+       instead of relying on string.h functions.  Use YYSTACK_ALLOC
+       and YYSTACK_FREE instead of malloc and free.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
+       before their first uses.
+       (YYBISON, YYPURE): Move to the top of the output.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * tests/reduce.at (Useless Nonterminals): Fix.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
+       if body instead of `;' to pacify GCC's warnings.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       Instead of mapping the LHS of unused rules to -1, keep the LHS
+       valid, but flag the rules as invalid.
+
+       * src/gram.h (rule_t): `useful' is a new member.
+       * src/print.c (print_grammar): Adjust.
+       * src/derives.c (set_derives): Likewise.
+       * src/reader.c (packgram, reduce_output): Likewise.
+       * src/reduce.c (reduce_grammar_tables): Likewise.
+       * tests/reduce.at (Underivable Rules, Useless Rules): New.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (reduce_output): Formatting changes.
+       * src/print.c (print_results, print_grammar): Likewise.
+       * tests/regression.at (Rule Line Numbers)
+       (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (nonterminals_reduce): Instead of throwing away
+       useless nonterminals, move them at the end of the symbol arrays.
+       (reduce_output): Adjust.
+       * tests/reduce.at (Useless Nonterminals): Adjust.
+
+2001-11-30  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c: Various comment/formatting changes.
+       (nonterminals_reduce): New, extracted from...
+       (reduce_grammar_tables): here.
+       (reduce_grammar): Call nonterminals_reduce.
+
+2001-11-29  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (YYSTACK_REALLOC): Remove.
+       (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
+       (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
+       New macros.
+       (union yyalloc): New type.
+       (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
+       an arbitrary restriction on hosts where size_t is wider than int.
+
+       (yyparse): Don't dump core if alloca or malloc fails; instead, report
+       a parser stack overflow.  Allocate just one block of memory for all
+       three stacks, instead of allocating three blocks; this typically is
+       faster and reduces fragmentation.
+
+       Do not limit the number of items in the stack to a value that fits
+       in 'int', as this is an arbitrary limit on hosts with 64-bit
+       size_t and 32-bit int.
+
+2001-11-29  Marc Autret  <autret_m@epita.fr>
+
+       * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
+       of defining YYERROR_VERBOSE.
+       [AT_DATA]: $4 is now out of C declarations in the prologue.
+
+2001-11-28  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (parse_dquoted_param): New.
+       (parse_skel_decl): Use it.
+       * src/lex.h: Add its prototype.
+       * src/lex.c (literalchar): Become not static.
+
+2001-11-28  Marc Autret  <autret_m@epita.fr>
+
+       * src/output.h: And put its extern declaration here.
+       * src/output.c (error_verbose): Define here.
+       (prepare): Echo name modification.
+       * src/getargs.h: Clean its extern declaration.
+       * src/getargs.c (error_verbose_flag): Remove.
+       (getargs): Remove case 'e'.
+       * src/options.c (option_table): 'error-verbose' is now seen as simple
+       percent option.
+       Include output.h.
+
+       * src/reader.c (read_declarations): Remove case tok_include.
+       (parse_include_decl): Remove.
+       * src/lex.h (token_t): Remove tok_include.
+       * src/options.c (option_table): 'include' is now a simple command line
+       option.
+
+2001-11-28  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple: Adjust muscle names.
+       * src/muscle_tab.c (muscle_init): Also rename the muscles.
+       * src/output.c (prepare): s/_/-/ for the muscles names.
+       (output_parser): When scanning for a muscle, allow '-' instead of '_'.
+
+2001-11-28  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple: Fix debug.
+       [YYERROR_VERBOSE]: Re-integrate as an internal macro.
+
+2001-11-28  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (shifts_new): New.
+       (save_shifts, insert_start_shift, augment_automaton): Use it.
+
+2001-11-28  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (closure): `b' and `ruleno' denote the same value:
+       keep ruleno only.
+
+2001-11-28  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (closure): Instead of looping over word in array
+       then bits in words, loop over bits in array.
+
+2001-11-28  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (closure): No longer optimize the special case
+       where all the bits of `ruleset[r]' are set to 0, to make the code
+       clearer.
+
+2001-11-28  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (closure): `r' and `c' are new variables, used to
+       de-obfuscate accesses to RULESET and CORE.
+
+2001-11-28  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (reduce_print): Use ngettext.
+       (dump_grammar): Improve the trace accuracy.
+
+2001-11-28  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (dump_grammar): Don't translate trace messages.
+
+2001-11-28  Akim Demaille  <akim@epita.fr>
+
+       * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
+       * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
+       as all tags are free'ed afterwards.
+       From Enrico Scholz.
+
+2001-11-27  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
+       use alloca when we didn't want to, and vice versa.
+
+2001-11-27  Marc Autret  <autret_m@epita.fr>
+
+       * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
+       initialization.
+       * src/output.c (prepare): Remove its update.
+
+2001-11-27  Marc Autret  <autret_m@epita.fr>
+
+       * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
+       Use %error-verbose.
+
+2001-11-27  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple: Remove YYERROR_VERBOSE using.
+       Use %%error_verbose.
+       (yyparse): Likewise.
+       * src/output.c (prepare): Give its final value.
+       * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
+       * src/getargs.h: Add its extern declaration.
+       * src/getargs.c (error_verbose_flag): New int.
+       (getargs): Update to catch new case.
+       * src/options.c (option_table): 'error-verbose' is a new option.
+       (shortopts): Update.
+
+2001-11-27  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: Use intl/libgettext.h.
+       * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
+
+2001-11-27  Akim Demaille  <akim@epita.fr>
+
+       * tests/torture.at (Exploding the Stack Size with Malloc):
+       s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
+
+2001-11-27  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c: Include error.h.
+       Reported by Hans Aberg.
+
+2001-11-26  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (parse_include_decl): New, not yet implemented.
+       (read_declarations): Add case tok_include.
+       * src/getargs.h (include): Add its extern definition.
+       * src/getargs.c (include): New const char *.
+       (getargs): Add case '-I'.
+       * src/options.c (option_table): Add include as command line and
+       percent option.
+       * src/lex.h (token_t): Add tok_include.
+
+2001-11-26  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (readgram): Make sure rules for mid-rule actions
+       have a lineno equal to that of their host rule.
+       Reported by Hans Aberg.
+       * tests/regression.at (Rule Line Numbers): New.
+
+2001-11-26  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
+       size_ts.
+
+2001-11-26  Akim Demaille  <akim@epita.fr>
+
+       * src/complain.c, src/complain.h (error): Remove, provided by
+       lib/error.[ch].
+
+2001-11-26  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (read_declarations): Don't abort on tok_illegal,
+       issue an error message.
+       * tests/regression.at (Invalid %directive): New.
+       Reported by Hans Aberg.
+
+2001-11-26  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
+       * lib/Makefile.am (libbison_a_SOURCES): Adjust.
+
+2001-11-26  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (conflicts_print): Don't complain at all when
+       there are no reduce/reduce conflicts, and as many shift/reduce
+       conflicts as expected.
+       * tests/regression.at (%expect right): Adjust.
+
+2001-11-23  Akim Demaille  <akim@epita.fr>
+
+       * lib/alloca.c: Update, from fileutils.
+
+2001-11-23  Akim Demaille  <akim@epita.fr>
+
+       * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
+
+2001-11-23  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: Include alloca.h.
+       * src/main.c (main) [C_ALLOCA]: Call alloca (0).
+
+2001-11-23  Akim Demaille  <akim@epita.fr>
+
+       * src/print_graph.c (print_actions): Remove `rule', unused.
+       * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
+       pacify GCC's signed < unsigned warnings.
+       * src/closure.c (itemsetsize): Likewise.
+       * src/reader.c (symbol_list_new): Static.
+
+2001-11-23  Akim Demaille  <akim@epita.fr>
+
+       Attaching lineno to buckets is stupid, since only one copy of each
+       symbol is kept, only the line of the first occurrence is kept too.
+
+       * src/symtab.h, src/symtab.c (bucket): Remove the line member.
+       * src/reader.c (rline_allocated): Remove, unused.
+       (symbol_list): Have a `line' member.
+       (symbol_list_new): New.
+       (readgram): Use it.
+       * src/print.c (print_grammar): Output the rule line numbers.
+       * tests/regression.at (Solved SR Conflicts)
+       (Unresolved SR Conflicts): Adjust.
+       Reported by Hans Aberg.
+
+2001-11-22  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
+
+2001-11-22  Marc Autret  <autret_m@epita.fr>
+
+       * src/muscle_tab.c (muscle_init): Remove initialization of
+       skeleton muscle.
+       * src/output.c (output_master_parser): Do it here.
+
+2001-11-20  Akim Demaille  <akim@epita.fr>
+
+       * po/sv.po: New.
+       * configure.in (ALL_LINGUAS): Adjust.
+       * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
+       longer contains strings to translate.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (conflicts_print): Add a missing \n.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/nullable.c (nullable_print): New.
+       (set_nullable): Call it when tracing.
+       Better locality of variables.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c (print_actions): Better locality of variables.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/derives.c (print_derives): Fix and enrich.
+       * src/closure.c (print_fderives): Likewise.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (itemsetend): Remove, replaced with...
+       (itemsetsize): new.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (kernel_end): Remove, replaced with...
+       (kernel_size): new.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (set_conflicts): Use arrays instead of pointers
+       to clarify.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (closure): Use arrays instead of pointers to clarify.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c, src/derives.c, src/nullable.c: Adjust various
+       trace messages.
+       * src/LR0.c: Likewise.
+       (allocate_itemsets): Use arrays instead of pointers to clarify.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (statistics_flag): Replace with...
+       (trace_flag): New.
+       (longopts): Accept --trace instead of --statistics.
+       * src/getargs.h, src/options.c: Adjust.
+       * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
+       * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
+       pointers to clarify the code.
+       (save_reductions, save_shifts): Factor common parts of alternatives.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_state, get_state): Complete TRACE code.
+       * src/closure.c: Include `reader.h' to get `tags', needed by the
+       trace code.
+       Rename the conditional DEBUG as TRACE.
+       Output consistently TRACEs to stderr, not stdout.
+       * src/derives.c: Likewise.
+       * src/reduce.c: (inaccessable_symbols): Using if is better style
+       than goto.
+       Use `#if TRACE' instead of `#if 0' for tracing code.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h (LIST_FREE, shortcpy): New.
+       * src/LR0.c: Use them.
+       * src/output.c (free_itemsets, free_reductions, free_shifts):
+       Remove, replaced by LIST_FREE.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
+       (REDUCTIONS_ALLOC):  New.
+       * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
+       allocation.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.c (new_state): Complete trace code.
+       * src/nullable.c (set_nullable): Don't translate traces.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/print_graph.c (print_core): Better locality of variables.
+       * src/print.c (print_core): Likewise.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/vcg.c: You do the output, so you are responsible of the
+       handling of VCG syntax, in particular: use quotearg.
+       * src/print_graph.c: Don't.
+       (print_actions): Don't output the actions as part of the nodes,
+       since that's the job of the edges.
+       (print_state): Don't output by hand: fill the node description,
+       and ask for its output.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (yyparse): When verbosely reporting an error,
+       no longer put additional quotes around token names.
+       * tests/calc.at: Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
+       * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
+       * src/output.c: Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
+       (rule_t): this.
+       * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (rule_t): New.
+       (rule_table): New.
+       (rrhs, rlhs): Remove, part of state_t.
+       * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
+       * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
+       * src/reader.c, src/reduce.c: Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (symbols_output): New, extracted from...
+       (packsymbols): Here.
+       (reader): Call it.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
+       (maxrhs): this new function.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (F): New macro to access the variable F.
+       Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (LA): New macro to access the variable LA.
+       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
+       * src/lalr.c: Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.c (initialize_LA): Only initialize LA.  Let...
+       (set_state_table): handle the `lookaheads' members.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (lookaheads): Removed array, whose contents is now
+       a member of...
+       (state_t): this structure.
+       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
+       Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (consistent): Removed array, whose contents is now
+       a member of...
+       (state_t): this structure.
+       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
+       Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
+       contents are now members of...
+       (state_t): this structure.
+       * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
+       Adjust.
+
+2001-11-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h (state_t): New.
+       (state_table): Be a state_t * instead of a core **.
+       (accessing_symbol): Remove, part of state_t.
+       * src/lalr.c: Adjust.
+       (set_accessing_symbol): Merge into...
+       (set_state_table): this.
+       * src/print_graph.c, src/conflicts.c: Adjust.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at, tests/output.at, tests/regression.at,
+       * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
+       now the tests are run in private dirs, therefore AC_CLEANUP and
+       family can be simplified to 0-ary.
+       * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
+       use abs. path to find config.h.
+       * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
+       stderr, there can be way too much random noise.
+       Instead pass -Werror to GCC and rely on the exit status.
+       Reported by Wolfram Wagner.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
+       defined only if yyoverflow is defined, to avoid `warning: unused
+       variable `yyvs1''.
+       Reported by The Test Suite.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * src/print.c: Include reduce.h.
+       Reported by Hans Aberg.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
+       Revert a previous patch:  these are really const.
+       * src/conflicts.c (conflict_report): Additional useless pair of
+       braces to pacify GCC's warnings for `if () if () {} else {}'.
+       * src/lex.c (parse_percent_token): Replace equal_offset with
+       arg_offset.
+       arg is const.
+       Be sure to strdup `arg' when used, since there is no reason for
+       token_buffer not to change.
+
+2001-11-14  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
+       definition.
+       * src/main.c (main): Use them.
+       Suggested by Hans Aberg.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h (ngettext): Now that we use ngettext, be sure to
+       provide a default definition when NLS are not used.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
+       Use @kbd to denote user input.
+       (Language and Grammar): ANSIfy the example.
+       Adjust its layout for info/notinfo.
+       (Location Tracking Calc): Output error messages to stderr.
+       Output locations in a more GNUtically correct way.
+       Fix a couple of Englishos.
+       Adjust @group/@end group pairs.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       %expect was not functioning at all.
+
+       * src/conflicts.c (expected_conflicts): Set to -1.
+       (conflict_report): Use ngettext.
+       (conflicts_print): Check %expect and make its violation an error.
+       * doc/bison.texinfo (Expect Decl): Adjust.
+       * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
+       * tests/regression.at (%expect not enough, %expect right)
+       (%expect too much): New.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Conflicts): Rename as...
+       (Unresolved SR Conflicts): this.
+       (Solved SR Conflicts): New.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (print_results): Rename as...
+       (reduce_output): This.
+       Output to OUT, passed as argument, instead of output_obstack.
+       (dump_grammar): Likewise.
+       (reduce_free): New.
+       Also free V1.
+       (reduce_grammar): No longer call reduce_output, since...
+       * src/print.c (print_results): do it.
+       * src/main.c (main): Call reduce_free;
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Accept OUT as argument.
+       Output to it, not to output_obstack.
+       * src/print.c (print_actions): Adjust.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
+       the result instead of using...
+       (src_total, rrc_total, src_count, rrc_count): Remove.
+       (any_conflicts): Remove.
+       (print_conflicts): Split into...
+       (conflicts_print, conflicts_output): New.
+       * src/conflicts.h: Adjust.
+       * src/main.c (main): Invoke both conflicts_output and conflicts_print.
+       * src/print.c (print_grammar): Issue `\n' between two rules.
+       * tests/regression.at (Conflicts): New.
+       Reported by Tom Lane.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Invalid input): Remove, duplicate with
+       ``Invalid input: 1''.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * tests/torture.at (AT_DATA_STACK_TORTURE)
+       (Exploding the Stack Size with Alloca)
+       (Exploding the Stack Size with Malloc): New.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple (YYSTACK_REALLOC): New.
+       (yyparse) [!yyoverflow]: Use it and free the old stack.
+       Reported by Per Allansson.
+
+2001-11-12  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/bison.simple: Define type yystype instead of YYSTYPE, and
+       define CPP macro, which substitute YYSTYPE by yystype.
+       * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
+       with yyltype/YYLTYPE.  This allows inclusion of the generated
+       header within the parser if the compiler, such as GGC, accepts
+       multiple equivalent #defines.
+       From Akim.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (symbols_output): New, extracted from...
+       (packsymbols): here.
+       (reader): Adjust.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c (parse_percent_token): s/quotearg/quote/.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
+       pattern.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+       * src/options.h (struct option_table_struct): set_flags is void*.
+       * src/options.c (longopts): Support `--output' and `%output'.
+       (usage): Adjust.
+       * src/lex.h (tok_setopt): Remove, replaced with...
+       (tok_intopt, tok_stropt): these new guys.
+       * src/lex.c (getopt.h): Not needed.
+       (token_buffer, unlexed_token_buffer): Not const.
+       (percent_table): Promote `-' over `_' in directive names.
+       Active `%name-prefix', `file-prefix', and `output'.
+       (parse_percent_token): Accept possible arguments to directives.
+       Promote `-' over `_' in directive names.
+
+2001-11-04  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Decl Summary): Split the list into
+       `directives for grammars' and `directives for bison'.
+       Sort'em.
+       Add description of `%name-prefix', `file-prefix', and `output'.
+       Promote `-' over `_' in directive names.
+       (Bison Options): s/%locactions/%locations/.  Nice Freudian slip.
+       Simplify the description of `--name-prefix'.
+       Promote `-' over `_' in directive names.
+       Promote `--output' over `--output-file'.
+       Fix the description of `--defines'.
+       * tests/output.at: Exercise %file-prefix and %output.
+
+2001-11-02  Akim Demaille  <akim@epita.fr>
+
+       * doc/refcard.tex: Update.
+
+2001-11-02  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.h (SUNDEF): New.
+       * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
+       stand for `uninitialized', instead of 0.
+       * src/reader.c (packsymbols, parse_thong_decl): Adjust.
+       * src/lex.c (lex): Adjust.
+
+       * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
+       Number it 0.
+       Let yylex return it instead of a plain 0.
+       Reported by Dick Streefland.
+
+2001-11-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Mixing %token styles): New test.
+
+2001-11-02  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_thong_decl): Formatting changes.
+       (token_translations_init): New, extracted from...
+       (packsymbols): Here.
+       Adjust.
+
+2001-11-01  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
+       Check that `9foo.y' produces correct cpp guards.
+       * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
+       guards.
+       Reported by Wwp.
+
+2001-11-01  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Invalid input: 2): New.
+       * src/lex.c (unlexed_token_buffer): New.
+       (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
+       too.
+       Reported by Wwp.
+
+2001-11-01  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at: Catch up with 1.30.
+       * configure.in: Bump to 1.49a.
+       Adjust to newer Autotest.
+
+2001-10-19  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/conflicts.c: Move global variables rrc_total and src_total ...
+       (print_conflicts): here.
+       * src/output.c (output): Free global variable user_toknums.
+       * src/lex.c (token_obstack): Become static.
+
+2001-10-18  Akim Demaille  <akim@epita.fr>
+
+       * tests/atlocal.in (GCC): Add.
+       * tests/calc.at: s/m4_match/m4_bmatch/.
+       s/m4_patsubst/m4_bpatsubst/.
+       (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
+       * configure.in: AC_SUBST(GCC).
+
+2001-10-14  Marc Autret  <autret_m@epita.fr>
+
+       * src/options.c (create_long_option_table): Fix.
+
+2001-10-10  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
+
+2001-10-04  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_union_decl): Push the caracters in
+       union_obstack, not attrs_obstack.
+
+2001-10-04  Akim Demaille  <akim@epita.fr>
+
+       Merge in the branch 1.29.
+
+       * src/reader.c (packsymbols): Use a temporary obstack for
+       `%%tokendef', since output_stack is already used elsewhere.
+
+       2001-10-02  Akim Demaille  <akim@epita.fr>
+
+       Bump 1.29d.
+
+       2001-10-02  Akim Demaille  <akim@epita.fr>
+
+       Version 1.29c.
+
+       2001-10-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Invalid CPP headers): New.
+       From Alexander Belopolsky.
+       * src/files.c (compute_header_macro): Map non alnum chars to `_'.
+
+       2001-10-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (Invalid input): New.
+       * src/lex.c (lex): Be sure to set `token_buffer' in any case.
+       Reported by Shura.
+
+       2001-10-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at: Now that --debug works, the tests must be adjusted.
+
+       2001-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_parser): Assert `skeleton'.
+       * src/files.c (skeleton_find): Look harder for skeletons on DOSish
+       systems.
+       From Shura.
+
+       2001-10-01  Marc Autret  <autret_m@epita.fr>
+
+       * src/lex.h: Echo modifications.
+       * src/lex.c (unlex): Parameter is now token_t.
+       From Hans Aberg.
+
+       2001-10-01  Marc Autret  <autret_m@epita.fr>
+
+       * src/main.c: Include lex.h.
+       From Hans Aberg.
+
+       2001-09-29  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
+
+       2001-09-28  Akim Demaille  <akim@epita.fr>
+
+       * tests/testsuite.at: Update to newer Autotest.
+       * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
+
+       2001-09-27  Akim Demaille  <akim@epita.fr>
+
+       Position independent wrapper.
+
+       * tests/bison: Remove.
+       * tests/bison.in: New.
+       * configure.in: Adjust.
+
+       2001-09-27  Paul Eggert  <eggert@twinsun.com>
+
+       Port quotearg fixes from tar 1.13.24.
+
+       * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
+       tm to be declared.
+       (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
+       (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
+
+       * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
+       * m4/mbrtowc.m4: New file.
+       * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
+       Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
+
+       2001-09-27  Akim Demaille  <akim@epita.fr>
+
+       Bump to 1.29c.
+
+       2001-09-27  Akim Demaille  <akim@epita.fr>
+
+       Version 1.29b.
+
+       2001-09-25  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: Include `xalloc.h'.
+       Remove it from the C files.
+       * src/files.c (output_files): Free the obstacks.
+       * src/lex.c (init_lex): Rename as...
+       (lex_init): this.
+       (lex_free): New.
+       * src/main.c (main): Use it.
+
+       2001-09-24  Marc Autret  <autret_m@epita.fr>
+
+       * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
+       to output informations in fout (FILE*).
+       (open_graph, close_graph): Likewise.
+       (output_graph, output_edge, output_node): Likewise.
+       * src/vcg.h: Update function prototypes.
+       * src/print_graph.c (print_graph): Open output graph file.
+       (print_actions): Adjust.
+       * src/files.h: Remove extern declaration.
+       * src/files.c: Remove graph_obstack declaration.
+       (open_files): Remove graph_obstack initialization.
+       (output_files): Remove graph_obstack saving.
+
+       2001-09-24  Marc Autret  <autret_m@epita.fr>
+
+       * src/files.c (compute_output_file_names): Fix.
+
+       2001-09-24  Marc Autret  <autret_m@epita.fr>,
+                   Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (reader): Remove call to free_symtab ().
+       * src/main.c (main): Call it here.
+       Include symtab.h.
+       * src/conflicts.c (initialize_conflicts): Rename as...
+       (solve_conflicts): this.
+       * src/print.c (print_core, print_actions, print_state)
+       (print_grammar): Dump to a file instead a `output_obstack'.
+       (print_results): Dump `output_obstack', and then proceed with the
+       FILE *.
+       * src/files.c (compute_output_file_names, close_files): New.
+       (output_files): Adjust.
+       * src/main.c (main): Adjust.
+
+       2001-09-23  Marc Autret  <autret_m@epita.fr>
+
+       * src/files.c (compute_header_macro): Computes header macro name
+       from spec_defines_file when given.
+
+       2001-09-23  Marc Autret  <autret_m@epita.fr>
+
+       * src/files.c (output_files): Add default extensions.
+
+       2001-09-22  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (finalize_conflicts): Rename as...
+       (free_conflicts): this.
+
+       2001-09-22  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.c (gram_free): Rename back as...
+       (dummy): this.
+       (output_token_translations): Free `token_translations'.
+       * src/symtab.c (free_symtab): Free the tag field.
+
+       2001-09-22  Akim Demaille  <akim@epita.fr>
+
+       Remove `translations' as it is always set to true.
+
+       * src/gram.h: Adjust.
+       * src/reader.c (packsymbols, parse_token_decl): Adjust
+       * src/print.c (print_grammar): Adjust.
+       * src/output.c (output_token_translations): Adjust.
+       * src/lex.c (lex): Adjust.
+       * src/gram.c: Be sure the set pointers to NULL.
+       (dummy): Rename as...
+       (gram_free): this.
+
+       2001-09-22  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Invoke AM_LIB_DMALLOC.
+       * src/system.h: Use dmalloc.
+       * src/LR0.c: Be sure to have pointers initialized to NULL.
+       (allocate_itemsets): Allocate kernel_items only if needed.
+
+       2001-09-22  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Bump to 1.29b.
+       * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
+       * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
+       need xmalloc.c in calc.y.
+       From Pascal Bart.
+
+       2001-09-21  Akim Demaille  <akim@epita.fr>
+
+       Version 1.29a.
+       * Makefile.maint, config/config.guess, config/config.sub,
+       * config/missing: Update from masters.
+       * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
+       upon package.m4.
+       * configure.in (ALL_LINGUAS): Add `tr'.
+
+       2001-09-21  Akim Demaille  <akim@epita.fr>
+
+       * tests/Makefile.am (package.m4): Move to...
+       ($(srcdir)/$(TESTSUITE)): here.
+
+       2001-09-20  Akim Demaille  <akim@epita.fr>
+
+       * src/complain.c: No longer try to be standalone: use system.h.
+       Don't assume __STDC__ is defined to 1. Just test if it is defined.
+       * src/complain.h: Likewise.
+       * src/reduce.c (useless_nonterminals, inaccessable_symbols):
+       Remove the unused variable `n'.
+       From Albert Chin-A-Young.
+
+       2001-09-18  Marc Autret  <autret_m@epita.fr>
+
+       * doc/bison.1: Update.
+       * doc/bison.texinfo (Bison Options): Update --defines and --graph
+       descriptions.
+       (Option Cross Key): Update.
+       Add --graph.
+
+       2001-09-18  Marc Autret  <autret_m@epita.fr>
+
+       * tests/regression.at: New test (comment in %union).
+
+       2001-09-18  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
+       do that.
+       Reported by Keith Browne.
+
+       2001-09-18  Marc Autret  <autret_m@epita.fr>
+
+       * tests/output.at: Add tests for --defines and --graph.
+
+       2001-09-18  Marc Autret  <autret_m@epita.fr>
+
+       * tests/output.at: Removes tests of %{header,src}_extension features.
+
+       2001-09-18  Akim Demaille  <akim@epita.fr>
+
+       * tests/Makefile.am (package.m4): New.
+       * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
+       (_AT_CHECK_CALC_ERROR): Likewise.
+       Factor the `, ' part of verbose error messages.
+
+       2001-09-18  Marc Autret  <autret_m@epita.fr>
+
+       * src/getargs.c (longopts): Declare --defines and --graph as options
+       with optional arguments.
+       * src/files.h: Add extern declarations.
+       * src/files.c (spec_graph_file, spec_defines_file): New.
+       (output_files): Update.
+       Remove CPP-outed code.
+
+       2001-09-18  Marc Autret  <autret_m@epita.fr>
+
+       Turn off %{source,header}_extension feature.
+
+       * src/files.c (compute_exts_from_gf): Update.
+       (compute_exts_from_src): Update.
+       (output_files): CPP-out useless code.
+       * src/files.h: Remove {header,source}_extension extern declarations.
+       * src/reader.c (parse_dquoted_param): CPP-out.
+       (parse_header_extension_decl): Remove.
+       (parse_source_extension_decl): Remove.
+       (read_declarations): Remove cases tok_{hdrext,srcext}.
+       * src/lex.c (percent_table): Remove {header,source}_extension entries.
+       * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
+
+       2001-09-10  Akim Demaille  <akim@epita.fr>
+
+       * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
+       (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
+       (AT_CHECK_OUTPUT): this.
+       Merely check ls' exit status, its output is useless.
+
+       2001-09-10  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at: Use m4_match.
+       (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
+
+       2001-09-10  Marc Autret  <autret_m@epita.fr>,
+                   Akim Demaille  <akim@epita.fr>
+
+       * src/vcg.h (graph_s): color, textcolor, bordercolor are now
+       enum color_e.
+       * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
+       to `normal'.
+       * src/reader.c (parse_token_decl): Initialize token with tok_eof.
+       * src/lex.h: Adjust prototype.
+       (token_t): Add `tok_undef'.
+       * src/lex.c (struct percent_table_struct): Retval is now a token_t.
+       (parse_percent_token): Now returns token_t.
+       Add default statement in switch.
+       (lex): Separate `c' as an input variable, from the token_t result
+       part.
+       (unlexed): Is a token_t.
+
+       2001-09-10  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Bump to 1.29a.
+
+       2001-09-07  Akim Demaille  <akim@epita.fr>
+
+       Version 1.29.
+
+       2001-08-30  Akim Demaille  <akim@epita.fr>
+
+       * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
+       * m4/atconfig.m4: Remove.
+       * tests/testsuite.at, tests/atlocal.in, tests/output.at,
+       * tests/bison: New.
+       * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
+       m4_if, m4_patsubst, and m4_regexp.
+       * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
+       `input' file instead of echo.
+
+       2001-08-29  Akim Demaille  <akim@epita.fr>
+
+       Bump to 1.28e.
+
+       2001-08-29  Akim Demaille  <akim@epita.fr>
+
+       Version 1.28d.
+
+       2001-08-29  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (yyparse): Don't take the address of an
+       item before the start of an array, as that doesn't conform to
+       the C Standard.
+
+       2001-08-29  Robert Anisko  <anisko_r@epita.fr>
+
+       * doc/bison.texinfo (Location Tracking Calc): New node.
+
+       2001-08-29  Paul Eggert  <eggert@twinsun.com>
+
+       * src/output.c (output): Do not define const, as this now
+       causes more problems than it cures.
+
+       2001-08-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
+       the nodes.
+       Be sure to tag the `detailmenu'.
+
+       2001-08-29  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.maint (do-po-update): Wget refuses to overwrite files:
+       download in a tmp dir.
+
+       2001-08-28  Marc Autret  <autret_m@epita.fr>
+
+       * config/depcomp: New file.
+
+       2001-08-28  Marc Autret  <autret_m@epita.fr>
+
+       * doc/bison.1 (mandoc): Adjust.
+       From Juan Manuel Guerrero.
+
+       2001-08-28  Marc Autret  <autret_m@epita.fr>
+
+       * src/print_graph.c (print_state): Fix.
+
+       2001-08-27  Marc Autret  <autret_m@epita.fr>
+
+       * src/vcg.h (classname_s, infoname_s, node_s): Constify the
+       char * members.
+       Echo modifications to the functions prototypes.
+       * src/vcg.c (add_classname, add_infoname): Adjust arguments.
+
+       2001-08-27  Marc Autret  <autret_m@epita.fr>
+
+       * src/vcg.c: Include `xalloc.h'.
+       (add_colorentry): New.
+       (add_classname): New.
+       (add_infoname): New.
+       * src/vcg.h: Add new prototypes.
+
+       2001-08-27  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.maint: Sync. again with CVS Autoconf.
+
+       2001-08-27  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.maint: Formatting changes.
+       (po-update, cvs-update, update): New targets.
+       (AMTAR): Remove.
+
+       2001-08-27  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
+       * Makefile.maint: Sync. with CVS Autoconf.
+
+       2001-08-27  Marc Autret  <autret_m@epita.fr>
+
+       * src/vcg.h (struct infoname_s): New.
+       (struct colorentry_s): New.
+       (graph_s): New fields {vertical,horizontal}_order in structure.
+       Add `infoname' field.
+       Add `colorentry' field;
+       * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
+       (G_HORIZONTAL_ORDER): New.
+       (G_INFONAME): New.
+       (G_COLORENTRY): New.
+       * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
+       Add output of `infoname'.
+       Add output of `colorentry'.
+
+       2001-08-27  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
+       This one shadowed a global parameter.
+
+       2001-08-24  Marc Autret  <autret_m@epita.fr>
+
+       * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
+       instead of `unsigned'.
+       (print_state): Do not call obstack_object_size () in obstack_grow ()
+       to avoid macro variables shadowing.
+
+       2001-08-23  Marc Autret  <autret_m@epita.fr>
+
+       * src/lex.c (percent_table): Typo: s/naem/name/.
+       Add graph option.
+       Normalize new options declarations.
+
+       2001-08-20  Pascal Bart  <pascal.bart@epita.fr>
+
+       * tests/suite.at: Exercise %header_extension and %source_extension.
+
+       2001-08-16  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (parse_dquoted_param): New.
+       (parse_header_extension_decl): Use it.
+       (parse_source_extension_decl): Likewise.
+
+       2001-08-16  Marc Autret  <autret_m@epita.fr>
+
+       * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
+       (get_xxxx_str): Use assert () instead of complain ().
+       Remove return invokations in default cases.
+       (get_decision_str): Modify default behaviour. Remove second argument.
+       Echo modifications on calls.
+       (output_graph): Fix.
+
+       2001-08-16  Marc Autret  <autret_m@epita.fr>
+
+       * src/getargs.c (usage): Update with ``-g, --graph''.
+
+       2001-08-16  Marc Autret  <autret_m@epita.fr>
+
+       * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
+       (Option Cross Key): Likewise.
+       * doc/bison.1: Update.
+
+2001-09-25  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/output.c (output_master_parser): Don't finish action_obstack.
+       (output_parser): Don't care about the muscle action, here.
+       (prepare): Copy the action_obstack in the action muscle.
+       (output): Free action_obstack.
+
+2001-09-23  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/reader.c (parse_union_decl): Add new obstack union_obstack.  Which
+       will contain `%union' declaration.
+       (parse_union_decl): Delete #line directive output.
+       (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
+       informations about %union.
+       (parse_union_decl): Copy the union_obstack in the muscle stype.
+       * src/bison.simple: Add new #line directive.
+       Add typdef %%stype YYSTYPE.
+
+2001-09-23  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/bison.simple: Add new `#line' directive.
+
+2001-09-22  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/bison.simple: New `#line' directive.
+       * src/output.c (output_parser): Support new dynamic muscle input_line.
+
+2001-09-22  Marc Autret  <autret_m@epita.fr>
+
+       * src/output.c (output_master_parser): New.
+       (output_parser): Be more re-entrant.
+
+2001-09-21  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (copy_definition, parse_union_decl): Update and use
+       `linef' muscle.
+       (copy_action): Likewise.
+       Use obstack_1grow ().
+       * src/muscle_tab.c (muscle_init): Add muscle `linef'.
+
+2001-09-21  Marc Autret  <autret_m@epita.fr>
+
+       * src/options.c (option_table): Adjust.
+       * src/lex.c (parse_percent_token): Fix.
+
+2001-09-20  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/options.c (symtab.h): Include it, need by lex.h.
+
+2001-09-20  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/lex.c (parse_percent_token): Change type of variable `tx', which
+       is now an option_table_struct*.
+       (option_strcmp): New function option_strcmp.
+       (parse_percent_token): Call option_strcmp.
+       * src/getargs.c (xalloc.h, options.h): Include it.
+       (getargs): Call create_long_option_table.
+       (getargs): Free longopts at the end of the function.
+       (shortopts): Move in options.c.
+       * src/options.c (create_long_option_table): New function.  Convert
+       information from option_table to option structure.
+       * src/reader.c (options.h): Include it.
+
+       * src/Makefile.am: Adjust.
+       * src/options.c (option_table): Create from longopts and percent_table.
+       * src/getargs.c (longopts): Delete.
+       * src/lex.c (struct percent_table_struct): Delete.
+       (percent_table): Delete.
+       (options.h): Include it.
+       * src/options.c: Create.
+       * src/options.h: Create.
+       Declare enum opt_access_e.
+       Define struct option_table_struct.
+
+2001-09-20  Marc Autret  <autret_m@epita.fr>
+
+       * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
+       sections of Bison.
+
+2001-09-19  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/bison.simple: s/%%filename/%%skeleton.
+       * src/muscle_tab.c (getargs.h): Include it.
+       (muscle_init): Insert new muscle skeleton.
+
+2001-09-18  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/output.c (output_parser): Delete unused variable actions_dumped.
+
+2001-09-07  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/output.c (output): Delete call to reader_output_yylsp.
+       * src/reader.c (reader): Likewise.
+       * src/reader.h: Delete declaration of reader_output_yylsp.
+
+2001-09-02  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c: Include muscle_tab.h.
+       (parse_union_decl): Update.
+       (parse_macro_decl): Rename parse_muscle_decl.
+       Update to use renamed functions and variable.
+       (read_declarations, copy_action, read_additionnal_code, : Updated
+       with correct variables and functions names.
+       (packsymbols, reader): Likewise.
+
+       * src/reader.h (muscle_obstack): Extern declaration update.
+
+       * src/output.c: Include muscle_tab.h
+       In all functions using macro_insert, change by using muscle_insert ().
+       (macro_obstack): Rename muscle_obstack.
+       Echo modifications in the whole file.
+       (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
+       (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
+       (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
+
+       * src/muscle_tab.h: Update double inclusion macros.
+       (macro_entry_s): Rename muscle_entry_s.
+       Update prototypes.
+
+       * src/muscle_tab.c: Include muscle_tab.h.
+       Rename macro_tabble to muscle_table.
+       (mhash1, mhash2, mcmp): Use muscle_entry.
+       (macro_init): Rename muscle_init. Update.
+       (macro_insert): Rename muscle_insert. Update.
+       (macro_find): Rename muscle_find. Update.
+
+       * src/main.c: Include muscle_tab.h.
+       (main): Call muscle_init ().
+       * src/Makefile.am (bison_SOURCES): Echo modifications.
+
+2001-09-02  Marc Autret  <autret_m@epita.fr>
+
+       Now the files macro_tab.[ch] are named muscle_tab.[ch].
+
+       * src/muscle_tab.c, src/muscle_tab.h: Add files.
+
+2001-09-02  Marc Autret  <autret_m@epita.fr>
+
+       * src/macrotab.c, src/macrotab.h: Remove.
+
+2001-09-01  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/reader.c (copy_guard): Use muscle to specify the `#line'
+       filename.
+
+2001-09-01  Marc Autret  <autret_m@epita.fr>
+
+       * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
+       to an explicit value to activate the feature. We do it here.
+
+2001-08-31  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/output.c (prepare): Delete the `filename' muscule insertion.
+       * src/reader.c (copy_action): Use `filename' muscule with `#line'.
+       (parse_union_decl): Likewise.
+       * src/macrotab.c (macro_init): Initialize filename by infile.
+
+2001-08-31  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple (YYLSP_NEEDED): New definition.
+       * src/output.c (prepare): Add macro insertion of `locations_flag'
+
+2001-08-31  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/output.c (prepare): Delete insertion of previous muscles,
+       and insert the `prefix' muscles.
+       * src/macrotab.c (macro_init): Likewise.
+       (macro_init): Initialization prefix directive by `yy'.
+       * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
+       %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
+       yylval, yydebug, yyerror, yynerrs and yyparse.
+       New directive `#define' to substitute yydebug, ... with option
+       name_prefix.
+
+2001-08-31  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/main.c (main): Standardize.
+       * src/output.c (output_table_data, output_parser): Likewise.
+       * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
+
+2001-08-31  Pascal Bart  <pascal.bart@epita.fr>, Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (read_additionnal_code): Rename %%user_code to
+       %%epilogue.
+       * src/output.c (output): Rename %%declarations to %%prologue.
+       * src/bison.simple: Echo modifications.
+
+2001-08-31  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (readgram): CleanUp.
+       (output_token_defines): Likewise.
+       (packsymbols): Likewise.
+       (reader): Likewise.
+       * src/output.c (output): CPP-out useless code.
+
+2001-08-31  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/reader.c (reader): Delete obsolete call to function
+       output_trailers and output_headers.
+       * src/output.h: Remove obsolete functions prototypes of output_headers
+       and output_trailers.
+
+2001-08-30  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/main.c: Include macrotab.h.
+       * src/macrotab.h (macro_entry_s): Constify fields.
+       Adjust functions prototypes.
+       * src/macrotab.c (macro_insert): Constify key and value.
+       (macro_find): Constify key.
+       (macro_insert): Include 'xalloc.h'
+       (macro_insert): Use XMALLOC.
+       (macro_find): Constify return value.
+       * src/output.c (output_table_data): Rename table to table_data.
+       (output_parser): Constify macro_key, macro_value.
+
+2001-08-30  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (parse_skel_decl): New.
+       (read_declarations): Add case `tok_skel', call parse_skel_decl ().
+       * src/lex.h (token_t): New token `tok_skel'.
+       * src/lex.c (percent_table): Add skeleton option entry.
+       Standardize.
+
+2001-08-29  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple: Add %%user_code directive at the end.
+       * src/reader.c (read_additionnal_code): New.
+       (reader): Use it.
+       * src/output.c (output_program): Remove.
+       (output): Update.
+
+2001-08-28  Marc Autret  <autret_m@epita.fr>
+
+       * src/output.c (output_actions): Clean up.
+       (output_gram): CPP-out useless code.
+       * src/reader.c (reader): Clean up, CPP-out useless code.
+
+2001-08-28  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/output.c (output): Copy attrs_obstack in the '%%definitions'
+       directive.
+       * src/bison.simple: Add `%%definitions'.
+
+2001-08-28  Marc Autret  <autret_m@epita.fr>
+
+       * config/depcomp: New file.
+
+2001-08-27  Paul Eggert  <eggert@twinsun.com>
+
+       * src/bison.simple (yyparse): Don't take the address of an
+       item before the start of an array, as that doesn't conform to
+       the C Standard.
+
+2001-08-27  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/output.c (output): Remove the initialization of the macro
+       obstack.  It was done too late here.
+
+       * src/reader.c (parse_macro_decl): Fix.  Use of the macro obstack was
+       completely wrong.
+       (reader): Initialize the macro obstack here, since we need it to grow
+       '%define' directives.
+
+       * src/reader.h: Declare the macro obstack as extern.
+
+2001-08-27  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/output.c (output_parser): Fix.  Store single '%' characters in
+       the output obstack instead of throwing them away.
+
+2001-08-27  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
+
+2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
+
+       * lib/Makefile.am: Adjust.
+
+2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/bison.simple: Update and add '%%' directives.
+
+2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/reader.c (reader): Remove calls to 'output_headers' and
+       'output_trailers'. Remove some C output.
+       (readgram): Disable a piece of code that was writing a default
+       definition for 'YYSTYPE'.
+       (reader_output_yylsp): Remove.
+       (packsymbols): Output token defintions to a macro.
+       (copy_definition): Disable C output.
+
+       * src/reader.c (parse_macro_decl): New function used to parse macro
+       declarations.
+       (copy_string2): Put the body of copy_string into this new function.
+       Add a parameter to let the caller choose whether he wants to copy the
+       string delimiters or not.
+       (copy_string): Be a simple call to copy_string2 with the last argument
+       bound to true.
+       (read_declarations): Add case for macro definition.
+       (copy_identifier): New.
+       (parse_macro_decl): Read macro identifiers using copy_identifier
+       rather than lex.
+
+2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/output.c (prepare): Add prefixed names.
+       (output_parser): Output semantic actions.
+       (output_parser): Fix bug on '%%line' directives.
+
+       * src/output.c (output_headers): Remove. The C code printed by this
+       function should now be in the skeletons.
+       (output_trailers): Remove.
+       (output): Disable call to 'reader_output_yylsp'.
+       (output_rule_data): Do not output tables to the table obstack.
+
+       * src/output.c: Remove some C dedicated output.
+       Improve the use of macro and output obstacks.
+       (output_defines): Remove.
+
+       * src/output.c (output_token_translations): Associate 'translate'
+       table with a macro. No output to the table obstack.
+       (output_gram): Same for 'rhs' and 'prhs'.
+       (output_stos): Same for 'stos'.
+       (output_rule_data): Same for 'r1' and 'r2'.
+       (token_actions): Same for 'defact'.
+       (goto_actions): Same for 'defgoto'.
+       (output_base): Same for 'pact' and 'pgoto'.
+       (output_table): Same for 'table'.
+       (output_check): Same for 'check'.
+
+       * src/output.c (output_table_data): New function.
+       (output_short_table): Remove.
+       (output_short_or_char_table): Remove.
+
+       * src/output.c (output_parser): Replace most of the skeleton copy code
+       with something new. Skeletons are now processed character by character
+       rather than line by line, and Bison looks for '%%' macros. This is the
+       first step in making Bison's output process (a lot) more flexible.
+       (output_parser): Use the macro table.
+
+2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/main.c (main): Initialize the macro table.
+
+2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/lex.c (percent_table): Add tok_define.
+       * src/lex.h: Add tok_define.
+
+2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
+
+       * src/macrotab.c: New file.
+       * src/macrotab.h: New file.
+       * src/Makefile.am: Update.
+
+2001-08-25  Robert Anisko  <robert.anisko@epita.fr>
+
+       * lib/hash.c: New file.
+       * lib/hash.h: New file.
+       * lib/Makefile.am: Update.
+
+2001-08-15  Akim Demaille  <akim@epita.fr>
+
+       Version 1.28c.
+
+2001-08-15  Marc Autret  <autret_m@epita.fr>
+
+       * src/reader.c (readgram): Indent output macro YYSTYPE.
+       (packsymbols): Likewise.
+       (output_token_defines): Likewise.
+       * src/files.c: Standardize.
+       (compute_header_macro): New.
+       (defines_obstack_save): New. Use compute_header_macro.
+       (output_files): Update. Use defines_obstack_save.
+
+2001-08-15  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Table of Symbols): Document
+       YYSTACK_USE_ALLOCA.
+
+2001-08-15  Akim Demaille  <akim@epita.fr>
+
+       * missing: Update from CVS Automake.
+       * config/config.guess, config/config.sub, config/texinfo.tex:
+       Update from gnu.org.
+
+2001-08-15  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.maint: Sync with CVS Autoconf.
+
+2001-08-14  Pascal Bart  <pascal.bart@epita.fr>
+
+       * doc/bison.texinfo: Include GNU Free Documentation License from
+       `fdl.texi'.
+       * doc/fdl.texi: Add to package.
+
+2001-08-14  Marc Autret  <autret_m@epita.fr>
+
+       Turn on %{source,header}_extension features.
+
+       * src/lex.c (percent_table): Un-CPP out header_extension and
+       source_extension.
+       * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
+       (compute_exts_from_src): Remove conditions. It restores priorities
+       between options.
+
+2001-08-14  Marc Autret  <autret_m@epita.fr>
+
+       * src/files.c (compute_base_names): Add extensions computing when
+       `--file-prefix' used.
+       Standardize function calls.
+
+2001-08-13  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
+       defining it (defined but null disables alloca).
+
+2001-08-13  Marc Autret  <autret_m@epita.fr>
+
+       * src/bison.simple (_yy_memcpy): CPP reformat.
+
+2001-08-13  Pascal Bart  <pascal.bart@epita.fr>
+
+       * tests/atconfig.in (CPPFLAGS): Fix.
+
+2001-08-10  Pascal Bart  <pascal.bart@epita.fr>
+
+       * doc/bison.texinfo: Include GNU General Public License from
+       `gpl.texi'.
+       * doc/gpl.texi: Add to package.
+
+2001-08-10  Marc Autret  <autret_m@epita.fr>
+
+       * src/print_graph.h: Fix.
+       * src/reader.c (read_declarations): Use parse_header_extension_decl ().
+
+2001-08-10  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h: Provide default declarations for stpcpy, strndup,
+       and strnlen.
+
+2001-08-10  Robert Anisko  <anisko_r@epita.fr>
+
+       * doc/bison.texinfo (Locations): Update @$ stuff.
+
+2001-08-09  Robert Anisko  <anisko_r@epita.fr>
+
+       * src/bison.simple (YYLLOC_DEFAULT): Update.
+       (yyparse): Adjust.
+
+2001-08-08  Marc Autret  <autret_m@epita.fr>
+
+       * doc/bison.texinfo: Change @samp{$<@dots{}>} to
+       @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
+       Reported by Fabrice Bauzac.
+
+2001-08-08  Marc Autret  <autret_m@epita.fr>
+
+       * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
+       * src/vcg.c (output_node): Fix.
+       * src/vcg.h: Cleanup.
+       * src/print_graph.c: Add comments.
+       (node_output_size): New global variable. Simplify the formatting of
+       the VCG graph output.
+       (print_actions): Unused code is now used. It notifies the final state
+       and no action states in the VCG graph. It also give the reduce actions.
+       The `shift and goto' edges are red and the `go to state' edges are
+       blue.
+       Get the current node name and node_obstack by argument.
+       (node_obstack): New variable.
+       (print_state): Manage node_obstack.
+       (print_core): Use node_obstack given by argument.
+       A node is not only computed here but in print_actions also.
+       (print_graph): CPP out useless code instead of commenting it.
+
+2001-08-07  Pascal Bart  <pascal.bart@epita.fr>
+
+       * tests/atconfig.in (CPPFLAGS): Fix.
+
+2001-08-07  Akim Demaille  <akim@epita.fr>
+
+       * src/print_graph.c (quote): New.
+       (print_core): Use it.
+
+2001-08-06  Akim Demaille  <akim@epita.fr>, Marc Autret  <autret_m@epita.fr>
+
+       * src/vcg.c (complain.h): Include it.
+       Unepitaize `return' invocations.
+       [NDEBUG] (main): Remove.
+       * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
+       * src/files.c (open_files): Initialize graph_obstack.
+       * src/print_graph.c (print_actions): CPP out useless code.
+       (print_core): Don't output the last `\n' in labels.
+       Use `quote'.
+       * src/files.c (output_files): Output the VCG file.
+       * src/main.c (main): Invoke print_graph ();
+
+2001-08-06  Marc Autret  <autret_m@epita.fr>
+
+       Automaton VCG graph output.
+       Using option ``-g'' or long option ``--graph'', you can generate
+       a gram_filename.vcg file containing a VCG description of the LALR (1)
+       automaton of your grammar.
+
+       * src/main.c: Call to print_graph() function.
+       * src/getargs.h: Update.
+       * src/getargs.c (options): Update to catch `-g' and `--graph' options.
+       (graph_flag): New flag.
+       (longopts): Update.
+       (getargs): Add case `g'.
+       * src/files.c (graph_obstack): New obstack struct.
+       (open_files): Initialize new obstack.
+       (output_files): Saves graph_obstack if required.
+       * src/files.h (graph_obstack): New extern declaration.
+       * src/Makefile.am: Add new source files.
+
+2001-08-06  Marc Autret  <autret_m@epita.fr>
+
+       * src/print_graph.c, src/print_graph.h (graph): New.
+       * src/vcg.h: New file.
+       * src/vcg.c: New file, VCG graph handling.
+
+2001-08-06  Marc Autret  <autret_m@epita.fr>
+
+       Add of %source_extension and %header_extension which specify
+       the source or/and the header output file extension.
+
+       * src/files.c (compute_base_names): Remove initialisation of
+       src_extension and header_extension.
+       (compute_exts_from_gf): Update.
+       (compute_exts_from_src): Update.
+       (output_files): Update.
+       * src/reader.c (parse_header_extension_decl): New.
+       (parse_source_extension_decl): New.
+       (read_declarations): New case statements for the new tokens.
+       * src/lex.c (percent_table): Add entries for %source_extension
+       and %header_extension.
+       * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
+
+2001-08-06  Marc Autret  <autret_m@epita.fr>
+
+       * configure.in: Bump to 1.28c.
+       * doc/bison.texinfo: Texinfo thingies.
+
+2001-08-04  Pascal Bart  <pascal.bart@epita.fr>
+
+       * tests/atconfig.in (CPPFLAGS): Add.
+       * tests/calc.at (AT_CHECK): Use CPPFLAGS.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       Version 1.28b.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       * tests/Makefile.am (check-local): Ship testsuite.
+       * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
+       Include `string.h'.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Try using -Wformat when compiling.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Bump to 1.28b.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       * src/complain.c: Adjust strerror_r portability issues.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       Version 1.28a.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c, src/getarg.h (skeleton)): Constify.
+       * src/lex.c (literalchar): Avoid name clashes on `buf'.
+       * src/getargs.c: Include complain.h.
+       * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
+       * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (readgram): Display hidden chars in error messages.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       Update to gettext 0.10.39.
+
+2001-08-03  Akim Demaille  <akim@epita.fr>
+
+       * lib/strspn.c: New.
+
+2001-08-01  Marc Autret  <autret_m@epita.fr>
+
+       * doc/bison.texinfo: Update.
+       * doc/bison.1 (mandoc): Update.
+       * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
+       * src/files.c: Support output files extensions computing.
+       (src_extension): New static variable.
+       (header_extension): New static variable.
+       (tr): New function.
+       (get_extension_index): New function, gets the index of an extension
+       filename in a string.
+       (compute_exts_from_gf): New function, computes extensions from the
+       grammar file extension.
+       (compute_exts_from_src): New functions, computes extensions from the
+       C source file extension, file given by ``-o'' option.
+       (compute_base_names): Update.
+       (output_files): Update.
+
+2001-08-01  Robert Anisko  <anisko_r@epita.fr>
+
+       * doc/bison.texi: Document @$.
+       (Locations): New section.
+
+2001-07-18  Akim Demaille  <akim@epita.fr>
+
+       * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
+       * config/prev-version.txt, config/move-if-change: New.
+       * Makefile.am: Adjust.
+
+2001-07-08  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/bison.simple (yyparse): Suppress warning `comparaison
+       between signed and unsigned'.
+
+2001-07-05  Pascal Bart  <pascal.bart@epita.fr>
+
+       * src/getargs.h (raw_flag): Remove.
+       * src/getargs.c: Die on `-r'/`--raw'.
+       * src/lex.c (parse_percent_token): Die on `%raw'.
+       * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
+       * tests/calc.at: Suppress test with option `--raw'.
+
+2001-07-14  Akim Demaille  <akim@epita.fr>
+
+       * config/: New.
+       * configure.in: Require Autoconf 2.50.
+       Update to gettext 0.10.38.
+
+2001-03-16  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: ANSIfy the examples.
+
+2001-03-16  Akim Demaille  <akim@epita.fr>
+
+       * getargs.c (skeleton): New variable.
+       (longopts): --skeleton is a new option.
+       (shortopts, getargs): -S is a new option.
+       * getargs.h: Declare skeleton.
+       * output.c (output_parser): Use it.
+
+2001-03-16  Akim Demaille  <akim@epita.fr>
+
+       * m4/strerror_r.m4: New.
+       * m4/error.m4: Run AC_FUNC_STRERROR_R.
+       * lib/error.h, lib/error.c: Update.
+
+2001-03-16  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (longopts): Clean up.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (gensym): `gensym_count' is your own.
+       Use a static buf to create the symbol name, as token_buffer is no
+       longer a buffer.
+
+2001-02-08  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (conflict_report): Be sure not to append to res
+       between two calls, which could happen if both first sprintf were
+       skipped, but not the first cp += strlen.
+
+2001-02-08  Akim Demaille  <akim@epita.fr>
+
+       * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
+       New, from fileutils 4.0.37.
+       * configure.in: Require Autoconf 2.49c.  I took some time before
+       making this decision.  This is the only way out for portability
+       issues in Bison, it would mean way too much duplicate effort to
+       import in Bison features implemented in 2.49c since 2.13.
+       AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
+
+2001-02-02  Akim Demaille  <akim@epita.fr>
+
+       * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
+       * lib/xalloc.h, lib/xmalloc.c: Update.
+
+2001-01-19  Akim Demaille  <akim@epita.fr>
+
+       Get rid of the ad hoc handling of token_buffer in the scanner: use
+       the obstacks.
+
+       * src/lex.c (token_obstack): New.
+       (init_lex): Initialize it.  No longer call...
+       (grow_token_buffer): this.  Remove it.
+       Adjust all the places which used it to use the obstack.
+
+2001-01-19  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.h: Rename all the tokens:
+       s/\bENDFILE\b/tok_eof/g;
+       s/\bIDENTIFIER\b/tok_identifier/g;
+       etc.
+       Let them be enums, not #define, to ease debugging.
+       Adjust all the code.
+
+2001-01-18  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
+       * src/lex.c (maxtoken, grow_token_buffer): Static.
+
+2001-01-18  Akim Demaille  <akim@epita.fr>
+
+       Since we now use obstacks, more % directives can be enabled.
+
+       * src/lex.c (percent_table): Also accept `%yacc',
+       `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
+       `%debug'.
+       Handle the actions for `%semantic_parser' and `%pure_parser' here,
+       instead of returning a token.
+       * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
+       * src/reader.c (read_declarations): Adjust.
+       * src/files.c (open_files): Don't call `compute_base_names', don't
+       compute `attrsfile' since they depend upon data which might be
+       *in* the input file now.
+       (output_files): Do it here.
+       * src/output.c (output_headers): Document the fact that this patch
+       introduces a guaranteed SEGV for semantic parsers.
+       * doc/bison.texinfo: Document them.
+       * tests/suite.at: Exercise these %options.
+
+2000-12-20  Akim Demaille  <akim@epita.fr>
+
+       Also handle the output file (--verbose) with obstacks.
+
+       * files.c (foutput): Remove.
+       (output_obstack): New.
+       Adjust all dependencies.
+       * src/conflicts.c: Return a string.
+       * src/system.h (obstack_grow_string): Rename as...
+       (obstack_sgrow): this.  Be ready to work with non literals.
+       (obstack_fgrow4): New.
+
+2000-12-20  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (open_files): Fix the computation of short_base_name
+       in the case of `-o foo.tab.c'.
+
+2000-12-20  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
+       (copy_dollar): Now that everything uses obstacks, get rid of the
+       FILE * parameters.
+
+2000-12-20  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (open_files): Actually the `.output' file is based
+       on the short_base_name, not base_name.
+       * tests/suite.at (Checking output file names): Adjust.
+
+2000-12-20  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1: Remove, we now use directly...
+       * src/bison.simple: this.
+       * src/Makefile.am: Use pkgdata instead of data.
+
+2000-12-20  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (guard_obstack): New.
+       (open_files): Initialize it.
+       (output_files): Dump it...
+       * src/files.h: Export it.
+       * src/reader.c (copy_guard): Use it.
+
+2000-12-19  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (outfile, defsfile, actfile): Removed as global
+       vars.
+       (open_files): Don't compute them.
+       (output_files): Adjust.
+       (base_name, short_base_name): Be global.
+       Adjust dependencies.
+
+2000-12-19  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (strsuffix): New.
+       (stringappend): Be just like strcat but allocate.
+       (base_names): Eve out from open_files.
+       Try to simplify the rather hairy computation of base_name and
+       short_base_name.
+       (open_files): Use it.
+       * tests/suite.at (Checking output file names): New test.
+
+2000-12-19  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h (obstack_grow_literal_string): Rename as...
+       (obstack_grow_string): this.
+       * src/output.c (output_parser): Recognize `%% actions' instead of
+       `$'.
+       * src/bison.s1: s/$/%% actions/.
+       * src/bison.hairy: Likewise.
+
+2000-12-19  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_parser): Compute the `#line' lines when
+       there are.
+       * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
+       Suggested by Hans Aberg.
+
+2000-12-19  Akim Demaille  <akim@epita.fr>
+
+       Let the handling of the skeleton files be local to the procedures
+       that use it.
+
+       * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
+       longer static.
+       (fparser, open_extra_files): Remove.
+       (open_files, output_files): Don't take care of fparser.
+       * src/files.h: Adjust.
+       * src/output.c (output_parser): Open and close the file to the
+       skeleton.
+       * src/reader.c (read_declarations): When %semantic_parser, open
+       fguard.
+
+2000-12-19  Akim Demaille  <akim@epita.fr>
+
+       * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
+       * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
+
+2000-12-19  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (open_files): Yipee!  We no longer need all the code
+       looking for `/tmp' since we have no tmp file.
+
+2000-12-19  Akim Demaille  <akim@epita.fr>
+
+       * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
+       New macros.
+       * src/files.c (open_files): Less dependency on MSDOS etc.
+
+2000-12-14  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1 (YYLLOC_DEFAULT): New macro.
+       Provide a default definition.
+       Use it when executing the default @ action.
+       * src/reader.c (reader_output_yylsp): No longer include
+       `timestamp' and `text' in the default YYLTYPE.
+
+2000-12-12  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_definition, parse_union_decl, copy_action)
+       (copy_guard): Quote the file names.
+       Reported by Laurent Mascherpa.
+
+2000-12-12  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_headers, output_program, output): Be sure
+       to escape special characters when outputting filenames.
+       (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
+       (output_headers): Don't depend on them, Use ACTSTR.
+
+2000-11-17  Akim Demaille  <akim@epita.fr>
+
+       * lib/obstack.h: Formatting changes.
+       (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
+       prevents type checking.
+       (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
+       cast the value to (void *): assigning a `foo *' to a `void *'
+       variable is valid.
+       (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
+       * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
+       append characters.
+
+2000-11-17  Akim Demaille  <akim@epita.fr>
+
+       * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
+       as...
+       (suite.m4, regression.m4, calc.m4): these.
+       * tests/atgeneral.m4: Update from CVS Autoconf.
+
+2000-11-17  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.m4 (%union and --defines): New test,
+       demonstrating a current bug in the obstack implementation.
+
+2000-11-17  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
+       macros.
+       Use them to declare the variables which are global or local to
+       `yyparse'.
+
+2000-11-17  Akim Demaille  <akim@epita.fr>
+
+       * acconfig.h: Remove, no longer used.
+
+2000-11-07  Akim Demaille  <akim@epita.fr>
+
+       * src: s/Copyright (C)/Copyright/g.
+
+2000-11-07  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
+       defining.
+       * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
+
+2000-11-07  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
+       Merge in a single CPP if/else.
+
+2000-11-07  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output): Remove useless variables.
+       * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
+       argument `data' for consistency with the prototypes.
+       Qualify it `const'.
+       (obstack_copy, obstack_copy0): Rename the second argument as
+       `address' for consistency.  Qualify it `const'.
+       * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
+       (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
+       `const' their input argument (`data' or `address').
+       Adjust the corresponding macros to include `const' in casts.
+
+2000-11-03  Akim Demaille  <akim@epita.fr>
+
+       * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
+       s/PFILE1/BISON_HAIRY/.
+       Adjust dependencies.
+
+2000-11-03  Akim Demaille  <akim@epita.fr>
+
+       For some reason, this was not applied.
+
+       * src/files.c [VMS]: No longer include `ssdef.h', no longer define
+       `unlink': it's no longer used.
+
+2000-11-03  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (skeleton_find): New function, eved out of...
+       (open_files, open_extra_files): here.
+
+2000-11-03  Akim Demaille  <akim@epita.fr>
+
+       Don't use `atexit'.
+
+       * src/files.c (obstack_save): New function.
+       (done): Rename as...
+       (output_files): this.
+       Use `obstack_save'.
+       * src/main.c (main): Don't use `atexit' to register `done', since
+       it no longer has to remove tmp files, just call `output_files'
+       when there are no errors.
+
+2000-11-02  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c [VMS]: No longer include `ssdef.h', no longer define
+       `unlink': it's no longer used.
+       * src/files.h: Formatting changes.
+
+2000-11-02  Akim Demaille  <akim@epita.fr>
+
+       Remove the last uses of mktemp and unlink/delete.
+
+       * src/files.c (fdefines, ftable): Removed.
+       (defines_ostack, table_obstack): New.
+       Adjust dependencies of the former into uses of the latter.
+       * src/output.c (output_short_or_char_table, output_short_table):
+       Convert to using obstacks.
+       * src/reader.c (copy_comment2): Accept one FILE * and two
+       obstacks.
+       (output_token_defines, reader_output_yylsp): Use obstacks.
+       * src/system.h (obstack_fgrow3): New.
+       * po/POTFILES.in: Adjust.
+
+2000-11-01  Akim Demaille  <akim@epita.fr>
+
+       Change each use of `fattrs' into a use of `attrs_obstack'.
+
+       * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
+       * src/files.c (fattrs): Remove.
+       (attrs_obstack): New.
+       Adjust all dependencies.
+       (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
+
+2000-11-01  Akim Demaille  <akim@epita.fr>
+
+       Introduce obstacks.
+       Change each use of `faction' into a use of `action_obstack'.
+
+       * lib/obstack.h, lib/obstack.c: New files.
+       * src/files.c (faction): Remove.
+       (action_obstack): New.
+       Adjust all dependencies.
+
+2000-10-20  Akim Demaille  <akim@epita.fr>
+
+       * lib/quote.h (PARAMS): New macro.  Use it.
+
+2000-10-16  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_short_or_char_table): New function.
+       (output_short_table, output_token_translations): Use it.
+       (goto_actions): Use output_short_table.
+
+2000-10-16  Akim Demaille  <akim@epita.fr>
+
+       * src/symtab.c (bucket_new): New function.
+       (getsym): Use it.
+
+       * src/output.c (output_short_table): New argument to display the
+       comment associated with the table.
+       Adjust dependencies.
+       (output_gram): Use it.
+       (output_rule_data): Nicer output layout for YYTNAME.
+
+2000-10-16  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.c (read_typename): New function.
+       (lex): Use it.
+       * src/reader.c (copy_dollar): Likewise.
+
+2000-10-16  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_comment2): Expect the input stream to be on
+       the `/' which is suspected to open a comment, instead of being
+       called after `//' or `/*' was read.
+       (copy_comment, copy_definition, parse_union_decl, copy_action)
+       (copy_guard): Adjust.
+
+2000-10-16  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_expect_decl): Use `skip_white_space' and
+       `read_signed_integer'.
+
+2000-10-16  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_dollar): New function.
+       (copy_guard, copy_action): Use it.
+
+2000-10-16  Akim Demaille  <akim@epita.fr>
+
+       * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
+       * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
+       New files, from Fileutils 4.0.27.
+       * src/main.c (printable_version): Remove.
+       * src/lex.c, src/reader.c: Use `quote'.
+
+2000-10-04  Akim Demaille  <akim@epita.fr>
+
+       * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
+
+2000-10-04  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Various typos spotted by Neil Booth.
+
+2000-10-04  Akim Demaille  <akim@epita.fr>
+
+       When a literal string is used to define two different tokens,
+       `bison -v' segfaults.
+       Reported by Piotr Gackiewicz, and fixed by Neil Booth.
+
+       * tests/regression.m4: New file.
+       Include the core of the sample provided by Piotr Gackiewicz.
+       * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
+       properly.
+
+2000-10-04  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_expect_decl): Keep `count' within the size
+       of `buffer'.
+       From Neil Booth.
+
+2000-10-02  Paul Eggert  <eggert@twinsun.com>
+
+       * bison.s1 (yyparse): Assign the default value
+       unconditionally, to avoid a GCC warning and make the parser a
+       tad smaller.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (getargs): Don't dump `--help' on unrecognized
+       options.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/derives.c, src/print.c, src/reduce.c: To ease the
+       translation, move some `\n' out of the translated strings.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       The location tracking mechanism is precious for parse error
+       messages.  Nevertheless, it is enabled only when `@n' is used in
+       the grammar, which is a different issue (you can use it in error
+       message, but not in the grammar per se).  Therefore, there should
+       be another means to enable it.
+
+       * src/getargs.c (getargs): Support `--locations'.
+       (usage): Report it.
+       * src/getargs.h (locationsflag): Export it.
+       * src/lex.c (percent_table): Support `%locations'.
+       * src/reader.c (yylsp_needed): Remove this variable, now replaced
+       with `locationsflag'.
+       * doc/bison.texinfo: Document `--locations' and `%locations'.
+       Sort the options.
+       * tests/calc.m4: Test it.
+
+       For regularity of the names, replace each
+       (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
+       (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
+       In addition replace each `flag' with `_flag'.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       Also test parse error messages, including with YYERROR_VERBOSE.
+
+       * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
+       associative).
+       Use it to check the computations.
+       Use it to check `nonassoc' is honored.
+       (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
+       `--yyerror-verbose'.
+       (_AT_CHECK_CALC): Adjust to this option.
+       (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       Test also `--verbose', `--defines' and `--name-prefix'.  Testing
+       the latter demonstrates a flaw in the handling of non debugging
+       parsers introduced by myself on 2000-03-16: `#define yydebug 0'
+       was used in order to simplify:
+
+       #if YYDEBUG
+       if (yydebug)
+       {
+       ...
+       }
+       #endif
+
+       into
+
+       if (yydebug)
+       {
+       ...
+       }
+
+       unfortunately this leads to a CPP conflict when
+       `--name-prefix=foo' is used since it produces `#define yydebug
+       foodebug'.
+
+       * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
+       (YYDPRINTF): New macro.
+       Spread its use.
+       * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
+       the bison options.
+       Also test `--verbose', `--defines' and `--name-prefix'.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       Improve the readability of the produced parsers.
+
+       * src/bison.s1: Formatting changes.
+       Improve the comment related to the `$' mark.
+       (yydefault): Don't fall through to `yyresume': `goto' there.
+       * src/output.c (output_parser): When the `$' is met, skip the end
+       of its line.
+       New variable, `number_of_dollar_signs', to check there's exactly
+       one `$' in the parser skeleton.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * lib/xstrdup.c: New file, from the fileutils.
+       * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
+       (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
+       instead of strlen + xmalloc + strcpy.
+       * src/symtab.c (copys): Remove, use xstrdup instead.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h (associativity): New enum type which replaces the
+       former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
+       `right_assoc', `left_assoc' and `non_assoc'.
+       Adjust all dependencies.
+       * src/reader.c: Formatting changes.
+       (LTYPESTR): Don't define it, use it as a literal in
+       `reader_output_yylsp'.
+       * src/symtab.h (symbol_class): New enum type which replaces the
+       former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
+       `sunknown', `stoken and `snterm'.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (fixed_outfiles): Rename as...
+       (yaccflag): for consistency and accuracy.
+       Adjust dependencies.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       Use the more standard files `xalloc.h' and `xmalloc.c' instead of
+       Bison's `allocate.c' and `alloc.h'.  This patch was surprisingly
+       difficult and introduced a lot of core dump.  It turns out that
+       Bison used an implementation of `xmalloc' based on `calloc', and
+       at various places it does depend upon the initialization to 0.  I
+       have not tried to isolate the pertinent places, and all the former
+       calls to Bison's `xmalloc' are now using `XCALLOC'.  Someday,
+       someone should address this issue.
+
+       * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
+       * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
+       files.
+       Adjust dependencies.
+       * src/warshall.h: New file.
+       Propagate.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       Various anti-`extern in *.c' changes.
+
+       * src/system.h: Include `assert.h'.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/state.h (nstates, final_state, first_state, first_shift)
+       (first_reduction): Move their exportation from here...
+       * src/LR0.h: to here.
+       Adjust dependencies.
+       * src/getargs.c (statisticsflag): New variable.
+       Add support for `--statistics'.
+       Adjust dependencies.
+
+       Remove a lot of now useless `extern' statements in most files.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/LR0.h: New file.
+       Propagate its use.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/print.h: New file.
+       Propagate its use.
+       * src/print.c: Formatting and ordering changes.
+       (verbose, terse): Replace with...
+       (print_results): this new function.
+       Adjust dependencies.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (conflict_report): New function.
+       (conflict_log, verbose_conflict_log): Replace with...
+       (print_conflicts): this function.
+       Adjust dependencies.
+       * src/conflicts.h: New file.
+       Propagate its inclusion.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/nullable.h: New file.
+       Propagate its inclusion.
+       * src/nullable.c: Formatting changes.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.h: New file.
+       Propagate its inclusion.
+       * src/reduce.c: Topological sort and other formatting changes.
+       (bool, TRUE, FALSE): Move their definition to...
+       * src/system.h: here.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c: Formatting changes.
+       (tryopen, tryclose, openfiles): Rename as...
+       (xfopen, xfclose, open_files): this.
+       (stringappend): static.
+       * src/files.h: Complete the list of exported symbols.
+       Propagate its use.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.h: New file.
+       Propagate its use instead of tedious list of `extern' and
+       prototypes.
+       * src/reader.c: Formatting changes, topological sort,
+       s/register//.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/lex.h: Prototype `lex.c' exported functions.
+       * src/reader.c: Adjust.
+       * src/lex.c: Formatting changes.
+       (safegetc): Rename as...
+       (xgetc): this.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/lalr.h: New file.
+       Propagate its inclusion instead of prototypes and `extern'.
+       * src/lalr.c: Formatting changes, topological sorting etc.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (token_actions): Introduce a temporary array,
+       YYDEFACT, that makes it possible for this function to use
+       output_short_table.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       `user_toknums' is output as a `short[]' in `output.c', while it is
+       defined as a `int[]' in `reader.c'.  For consistency with the
+       other output tables, `user_toknums' is now defined as a table of
+       shorts.
+
+       * src/reader.c (user_toknums): Be a short table instead of an int
+       table.
+       Adjust dependencies.
+
+       Factor the short table outputs.
+
+       * src/output.c (output_short_table): New function.
+       * src/output.c (output_gram, output_stos, output_rule_data)
+       (output_base, output_table, output_check):  Use it.
+
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output): Topological sort of the functions, in
+       order to get rid of the `static' prototypes.
+       No longer use `register'.
+       * src/output.h: New file.
+       Propagate its inclusion in files explicitly prototyping functions
+       from output.c.
+
+2000-09-21  Akim Demaille  <akim@epita.fr>
+
+       * src/atgeneral.m4: Update from Autoconf.
+
+2000-09-21  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.h: New file.
+       * src/closure.c: Formatting changes, topological sort over the
+       functions, use of closure.h.
+       (initialize_closure, finalize_closure):  Rename as...
+       (new_closure, free_closure): these.  Adjust dependencies.
+       * src/LR0.c: Formatting changes, topological sort, use of
+       cloture.h.
+       (initialize_states): Rename as...
+       (new_states): this.
+       * src/Makefile.am (noinst_HEADERS): Adjust.
+
+2000-09-20  Akim Demaille  <akim@epita.fr>
+
+       * src/acconfig.h: Don't protect config.h against multiple
+       inclusion.
+       Don't define PARAMS.
+       * src/system.h: Define PARAMS.
+       Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
+       purpose of config.h.  system.h must not try to fix wrong
+       definitions in config.h.
+
+2000-09-20  Akim Demaille  <akim@epita.fr>
+
+       * src/derives.h: New file.
+       * src/main.c, src/derives.h: Use it.
+       Formatting changes.
+       * src/Makefile.am (noinst_HEADERS): Adjust.
+
+2000-09-20  Akim Demaille  <akim@epita.fr>
+
+       * tests/atgeneral.m4: Update from Autoconf.
+       * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
+       (AT_CHECK_CALC): New macros.
+       Use these macros to test bison with options `', `--raw',
+       `--debug', `--yacc', `--yacc --debug'.
+
+2000-09-19  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c: Formatting changes.
+       * src/machine.h: Remove, leaving its contents in...
+       * src/system.h: here.
+       Include stdio.h.
+       Adjust all dependencies on stdio.h and machine.h.
+       * src/getargs.h: New file.
+       Let all `extern' declarations about getargs.c be replaced with
+       inclusion of `getargs.h'.
+       * src/Makefile.am (noinst_HEADERS): Adjust.
+
+       * tests/calc.m4 (yyin): Be initialized in main, not on the global
+       scope.
+       (yyerror): Returns void, not int.
+       * doc/bison.texinfo: Formatting changes.
+
+2000-09-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
+       portable.
+
+2000-09-18  Akim Demaille  <akim@epita.fr>
+
+       * configure.in: Append WARNING_CFLAGS to CFLAGS.
+       * src/Makefile.am (INCLUDES): Don't.
+       Be ready to fetch headers in lib/.
+
+2000-09-18  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Update the copyright.
+       ANSIfy and GNUify the examples.
+       Remove the old menu.
+
+2000-09-18  Akim Demaille  <akim@epita.fr>
+
+       First set of tests: use the `calc' example from the documentation.
+
+       * src/bison.s1 (yyparse): Condition the code using `yytname' which
+       is defined only when YYDEBUG is.
+       * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
+       * src/files.c (tryopen, tryclose): Formatting changes.
+       Move to the top and be static.
+       * src/reader.c (read_signed_integer): Likewise.
+       * tests/calc.m4: New file.
+       * Makefile.am, suite.m4: Adjust.
+       * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
+
+2000-09-18  Akim Demaille  <akim@epita.fr>
+
+       Add support for an Autotest test suite for Bison.
+
+       * m4/m4.m4, m4/atconfig.m4: New files.
+       * m4/Makefile.am (EXTRA_DIST): Adjust.
+       * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
+       files.
+       * src/getargs.c: Display a more standard --version message.
+       * src/reader.c (reader): Formatting changes.
+       No longer depend upon VERSION_STRING.
+       * configure.in: No longer use `dnl'.
+       Set up the test suite and the new directory `tests/.
+       (VERSION_STRING): Remove.
+
+2000-04-14  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_comment2): New function, same as former
+       `copy_comment', but outputs into two FILE *.
+       (copy_comment): Use it.
+       (parse_union_decl): Use it.
+       (get_type, parse_start_decl): Use the same `invalid' message.
+       (parse_start_decl, parse_union_decl): Use the same `multiple'
+       message.
+       (parse_union_decl, copy_guard, copy_action): Use the same
+       `unmatched' message.
+       * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
+
+2000-03-31  Akim Demaille  <akim@epita.fr>
+
+       * src/files.c (tryopen, tryclose): Move to the top.
+       Be static.
+
+2000-03-31  Akim Demaille  <akim@epita.fr>
+
+       * src/main.c (main): Don't call `done', exit does it.
+
+2000-03-31  Akim Demaille  <akim@epita.fr>
+
+       * allocate.c: s/return (foo)/return foo/.
+       * lalr.c: Likewise.
+       * LR0.c: Likewise.
+       * output.c: Likewise.
+       * reader.c: Likewise.
+       * symtab.c: Likewise.
+       * vmsgetargs.c: Likewise.
+
+2000-03-31  Akim Demaille  <akim@epita.fr>
+
+       Clean up the error reporting functions.
+
+       * src/report.c: New file.
+       * src/report.h: Likewise.
+       * src/Makefile.am: Adjust.
+       * m4/error.m4: New file.
+       * m4/Makefile.am: Adjust.
+       * configure.in (jm_PREREQ_ERROR): Call it.
+       * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
+       Remove.
+       (fatal, fatals): Remove.  All callers use complain.c::fatal.
+       (warn, warni, warns, warnss, warnss): Remove.  All callers use
+       complain.c::complain.
+       (toomany): Remove, use fatal instead.
+       * src/files.c (done): No argument, use complain_message_count.
+       * src/main.c (main): Register `done' to `atexit'.
+
+       * src/getargs.c (usage): More `fputs', less `fprintf'.
+
+2000-03-28  Akim Demaille  <akim@epita.fr>
+
+       * lib/: New directory.
+       * Makefile.am (SUBDIRS): Adjust.
+       * configure.in: Adjust.
+       (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
+       useless.
+       * src/alloca.c: Moved to lib/.
+       * src/getopt.c: Likewise.
+       * src/getopt1.c: Likewise.
+       * src/getopt.h: Likewise.
+       * src/ansi2knr.c: Likewise.
+       * src/ansi2knr.1: Likewise.
+       * src/Makefile.am: Adjust.
+       * lib/Makefile.am: New file.
+
+2000-03-28  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.c (usage): Refresh the help message.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/getopt1.c: Updated from textutils 2.0e
+       * src/getopt.c: Likewise.
+       * src/getopt.h: Likewise.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/Makefile.am (bison.simple): Fix the awk program: quote only
+       the file name, not the whole `#line LINE FILE'.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       On syntax errors, report the token on which we choked.
+
+       * src/bison.s1 (yyparse): In the label yyerrlab, when
+       YYERROR_VERBOSE, add yychar in msg.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_at): New function.
+       (copy_guard): Use it.
+       (copy_action): Use it.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       Be kind to translators, save some useless translations.
+
+       * src/main.c (banner): New function.
+       (fatal_banner): Use it.
+       (warn_banner): Use it.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_definition): Use copy_string and
+       copy_comment.  Removed now unused `match', `ended',
+       `cplus_comment'.
+       (copy_comment, copy_string): Moved, to be visible from
+       copy_definition.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_string): Declare `static inline'.  No
+       problems with inline, since it is checked by configure.
+       (copy_comment): Likewise.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (packsymbols): Formatting changes.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_comment): New function, factored out from:
+       (copy_action): Use it.  Removed now unused `match', `ended',
+       `cplus_comment'.
+       (copy_guard): Likewise.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (copy_string): New function, factored out from:
+       (copy_action): Use it.
+       (copy_guard): Likewise.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       Change the handling of @s so that they behave exactly like $s.
+       There is now a pseudo variable @$ (readble and writable), location
+       of the lhs of the rule (by default ranging from the location of
+       the first symbol of the rhs, to the location of the last symbol,
+       or, if the rhs is empty, YYLLOC).
+
+       * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
+       yyval.
+       (yyparse): When providing a default semantic action, provide a
+       default location action.
+       (after the $): No longer change `*YYLSP', just stack YYLOC the
+       same way you stack YYVAL.
+       * src/reader.c (read_declarations): Use warns.
+       (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
+       (copy_action, case '@'): Likewise.
+       Use a standard error message, to save useless work from
+       translators.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1: Formatting and cosmetics changes.
+       * src/reader.c: Likewise.
+       Update the Copyright notice.
+
+2000-03-17  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1 (#line): All set to `#line' only, since the
+       Makefile now handles them.
+
+2000-03-16  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (output_rule_data): Output the documentation of
+       some of the tables.
+       (Copyright notice): Update.
+       Formatting changes.
+
+2000-03-16  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1 [!YYDEBUG]: Define yydebug to 0.  This allows to
+       remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
+       One `#if YYDEBUG' remains, since it uses variables which are
+       defined only if `YYDEBUG != 0'.
+
+2000-03-16  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
+       and related variables so that the similarities are highlighted.
+
+2000-03-16  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1: Properly indent CPP directives.
+
+2000-03-16  Akim Demaille  <akim@epita.fr>
+
+       * src/bison.s1: Properly indent the `alloca' CPP section.
+
+2000-03-16  Akim Demaille  <akim@epita.fr>
+
+       Do not hard code values of directories in `configure.in'.
+       Update the `configure' tool chain.
+
+       * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
+       src/makefile.am.
+       (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
+       (AC_OUTPUT): Add m4/Makefile.
+       Bump to bison 1.28a, 1.29 has never been released.
+       * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
+       handled via src/Makefile.am.
+       (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
+       HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
+       autoheader.
+       * Makefile.am (SUBDIRS): Add m4.
+       (ACLOCAL_AM_FLAGS): New variable.
+       (AUTOMAKE_OPTIONS): Add check-news.
+       * src/Makefile.am (bison.simple): Use awk to replace #line lines with
+       the proper line number and file name.
+       (DEFS): Propagate the location of bison library files and of the
+       locale files.
+       (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
+       builddir.
+       * acinclude.m4: Remove, replaced by the directory m4.
+       * m4/Makefile.am (EXTRA_DIST): New variable.
+       * m4/gettext.m4: New file, from the fileutils.
+       * m4/lcmessage.m4: Likewise
+       * m4/progtest.m4: Likewise.
+       * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
+
+2000-03-10  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c:
+       Formatting changes of various comments.
+       Respect the GNU coding standards at various places.
+       Don't use `_()' when no translation is needed.
+
+1999-12-13  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/files.c:
+       OS/2 honors TMPDIR environment variable.
+
+1999-12-13  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/bison.texinfo: Tweaked spelling and grammar.
+       Updated ISBN.
+       Removed reference to price of printed copy.
+       Mention BISON_SIMPLE and BISON_HAIRY.
+
+1999-12-13  Jesse Thilo  <jthilo@gnu.org>
+
+       * configure.in, NEWS:
+       Bison 1.29 released.
+
+1999-10-27  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
+       Added reference card.
+
+1999-07-26  Jesse Thilo  <jthilo@gnu.org>
+
+       * po/ru.po: Added Russian translation.
+
+1999-07-26  Jesse Thilo  <jthilo@gnu.org>
+
+       * configure.in: Added Russian translation.
+
+1999-07-06  Jesse Thilo  <jthilo@gnu.org>
+
+       * configure.in, NEWS, README:
+       Released version 1.28.
+
+1999-06-14  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/system.h:
+       Squashed redefinition warning on some systems.
+
+       * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
+       Have configure build version string instead of relying on ANSI string
+       concatentation.
+
+1999-06-14  Jesse Thilo  <jthilo@gnu.org>
+
+       * po/POTFILES.in: Got rid of version.c.
+
+1999-06-14  Jesse Thilo  <jthilo@gnu.org>
+
+       * acconfig.h, configure.in:
+       Have configure build version string instead of relying on ANSI string
+       concatentation.
+
+1999-06-08  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/bison.1:
+       Dropped mention of `+' for long-named options.
+
+1999-05-30  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/files.c: Added <unistd.h> for unlink().
+
+       * src/Makefile.am, src/system.h:
+       I18n fixes.
+
+1999-05-30  Jesse Thilo  <jthilo@gnu.org>
+
+       * README: Added a FAQ list.
+
+       * configure.in, acconfig.h:
+       I18n fixes.
+
+1999-05-30  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/FAQ, doc/Makefile.am:
+       Added a FAQ list.
+
+1999-05-19  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/alloc.h, src/symtab.h, src/version.c:
+       Protected inclusion of "config.h" with HAVE_CONFIG_H.
+
+1999-04-18  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/.cvsignore, src/Makefile.am:
+       Reorganized: sources in `src', documentation in `doc'.
+
+       * src/lex.c (literalchar):
+       fixed the code for escaping double quotes (thanks
+       Jonathan Czisny.)
+
+1999-04-18  Jesse Thilo  <jthilo@gnu.org>
+
+       * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
+       Adjusted paths to reflect directory reorganization.
+
+1999-04-18  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/.cvsignore, doc/Makefile.am:
+       Reorganized: sources in `src', documentation in `doc'.
+
+1999-04-18  Jesse Thilo  <jthilo@gnu.org>
+
+       * configure.in:
+       Updated AC_INIT file to reflect directory reorganization.
+
+       * configure.in, .cvsignore, Makefile.am, POTFILES.in:
+       Reorganized: sources in `src', documentation in `doc'.
+
+1999-04-13  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/allocate.c:
+       Don't declare calloc() and realloc() if not necessary.
+
+1999-04-13  Jesse Thilo  <jthilo@gnu.org>
+
+       * configure.in, acconfig.h, acinclude.m4:
+       Don't declare calloc() and realloc() if not necessary.
+
+1999-03-23  Jesse Thilo  <jthilo@gnu.org>
+
+       * po/.cvsignore: Added i18n support.
+
+1999-03-23  Jesse Thilo  <jthilo@gnu.org>
+
+       * acconfig.h, configure.in, Makefile.am:
+       Added i18n support.
+
+1999-03-22  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/bison.s1: Fixed #line numbers.
+
+1999-03-15  Jesse Thilo  <jthilo@gnu.org>
+
+       * po/es.po, po/fr.po, po/nl.po, po/de.po:
+       Added PO files from Translation Project.
+
+1999-03-03  Jesse Thilo  <jthilo@gnu.org>
+
+       * Makefile.am:
+       Added support for non-ANSI compilers (ansi2knr).
+
+1999-02-16  Jesse Thilo  <jthilo@gnu.org>
+
+       * configure.in: Bumped version number to 1.27.
+
+       * Makefile.am:
+       Added `bison.simple' to list of files removed by `make distclean'.
+
+1999-02-12  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/files.c, src/files.h:
+       Defined locations of parser files in config.h instead of Makefile.
+
+1999-02-12  Jesse Thilo  <jthilo@gnu.org>
+
+       * acconfig.h, acinclude.m4, configure.in, Makefile.am:
+       Defined locations of parser files in config.h instead of Makefile.
+
+1999-02-09  Jesse Thilo  <jthilo@gnu.org>
+
+       * Makefile.am:
+       Removed inappropriate use of $< macro.
+
+1999-02-05  Jesse Thilo  <jthilo@gnu.org>
+
+       * po/Makefile.in.in, po/POTFILES.in:
+       Add `po' directory skeleton.
+
+1999-01-27  Jesse Thilo  <jthilo@gnu.org>
+
+       * README: Document help-bison list.
+
+       * configure.in: Add check for mkstemp().
+
+1999-01-20  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
+       Hush a few compiler warnings.
+
+       * src/files.c:
+       Add tryclose(), which verifies that fclose was successful.
+       Hush a couple of compiler warnings.
+
+1999-01-20  Jesse Thilo  <jthilo@gnu.org>
+
+       * Makefile.am, OChangeLog:
+       ChangeLog is now automatically generated.  Include the old version as
+       OChangeLog.
+
+1999-01-14  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/gram.h, src/lalr.c, src/lex.c, src/lex.h, src/machine.h, src/main.c, src/nullable.c, src/output.c, src/print.c, src/reader.c, src/reduce.c, src/state.h, src/symtab.c, src/symtab.h, src/types.h, src/vmsgetargs.c, src/warshall.c, src/allocate.c, src/alloc.h, src/bison.s1, src/closure.c, src/conflicts.c, src/derives.c, src/files.c, src/files.h, src/getargs.c, src/gram.c, src/LR0.c:
+       Update FSF address.
+
+1999-01-14  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/bison.texinfo: Fix formatting glitch.
+
+       * doc/bison.texinfo: Update FSF address.
+
+1999-01-14  Jesse Thilo  <jthilo@gnu.org>
+
+       * acconfig.h: Update FSF address.
+
+1999-01-08  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/system.h:
+       Don't define PACKAGE here, since config.h defines it.
+
+1998-12-30  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/reader.c: Update copyright date.
+
+       * src/main.c:
+       Ditch sprintf to statically-sized buffers in fatal/warn functions in
+       favor of output directly to stderr (avoids buffer overruns).
+
+       * src/reader.c: Some checks for premature EOF.
+
+       * src/allocate.c, src/alloc.h, src/closure.c, src/conflicts.c, src/derives.c, src/getargs.c, src/gram.c, src/lalr.c, src/lex.c, src/LR0.c, src/main.c, src/nullable.c, src/output.c, src/print.c, src/reduce.c, src/symtab.c, src/symtab.h, src/warshall.c:
+       Use prototypes if the compiler understands them.
+
+       * src/files.c: Honor TMPDIR on Unix hosts.
+       Use prototypes if the compiler understands them.
+
+       * src/reader.c:
+       Fix a couple of buffer overrun bugs.
+       Use prototypes if the compiler understands them.
+
+       * src/system.h: Include unistd.h and ctype.h.
+       Use #ifdef instead of #if for NLS symbols.
+
+1998-12-30  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/bison.texinfo:
+       Delete comment "consider using @set for edition number, etc..." since
+       we now are doing so.
+
+1998-12-30  Jesse Thilo  <jthilo@gnu.org>
+
+       * configure.in:
+       Use prototypes if the compiler understands them.
+
+       * NEWS: Document 1.26 highlights.
+
+       * Makefile.am: Require Automake 1.3 or later.
+
+       * acconfig.h:
+       Use prototypes if the compiler understands them.
+
+1998-12-29  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/version.c:
+       Use VERSION symbol from automake for version number.
+
+1998-12-29  Jesse Thilo  <jthilo@gnu.org>
+
+       * acconfig.h, configure.in, version.cin:
+       Use VERSION symbol from automake for version number.
+
+1998-11-28  Jesse Thilo  <jthilo@gnu.org>
+
+       * Makefile.am:
+       Distribute original version of simple parser (bison.s1), not built
+       version (bison.simple).
+
+1998-11-28  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/bison.texinfo: Add info dir entry.
+
+       * doc/bison.texinfo:
+       Let automake put version number into documentation.
+
+1998-11-26  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/bison.cld, src/build.com, src/vmshlp.mar:
+       Add non-RCS files from /gd/gnu/bison.
+
+1998-11-26  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/bison.1:
+       Document the BISON_HAIRY and BISON_SIMPLE variables.
+
+1998-11-25  Jesse Thilo  <jthilo@gnu.org>
+
+       * src/version.c: Build version.c automatically.
+
+       * src/reader.c:
+       Fix token numbering (used to start at 258, not 257).
+
+       * src/system.h: Include config.h.
+
+       * src/getargs.c: Update bug report address.
+
+       * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
+       Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
+
+1998-11-25  Jesse Thilo  <jthilo@gnu.org>
+
+       * Makefile.am:
+       Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
+
+       * configure.in, version.cin:
+       Build version.c automatically.
+
+       * AUTHORS: Add AUTHORS file.
+
+       * README: Update bug report address.
+
+       * bison.simple:
+       Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
+
+       * configure.in, Makefile.am, Makefile.in, stamp-h.in:
+       Add automake stuff.
+
+1998-11-25  Jesse Thilo  <jthilo@gnu.org>
+
+       * doc/bison.texinfo: Clean up some formatting.
+
+1998-05-05  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.texinfo:
+       Explain better why to make a pure parser.
+
+1998-01-05  Richard Stallman  <rms@gnu.org>
+
+       * 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@gnu.org>
+
+       * src/reader.c (stack_offset;):
+       Change some warni to warns.
+
+       * src/lex.c (literalchar): Use warns, not warni.
+
+1997-06-28  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: Add a Bison version comment.
+
+       * src/main.c (fatal, warn, berror):
+       Use program_name.
+
+1997-06-28  Richard Stallman  <rms@gnu.org>
+
+       * Makefile.in (bison_version): New variable.
+       (dist): Use that variable.
+       (bison.s1): Substitute the Bison version into bison.simple.
+
+       * bison.simple: Add a Bison version comment.
+
+1997-06-18  Richard Stallman  <rms@gnu.org>
+
+       * src/main.c (fatal, warn, berror):
+       Make error messages standard.
+       (toomany): Improve error message text.
+
+       * src/LR0.c, src/closure.c, src/conflicts.c, src/derives.c, src/files.c, src/lalr.c, src/lex.c, src/nullable.c, src/output.c, src/print.c, src/reader.c, src/reduce.c, src/symtab.c:
+       new.h renamed to alloc.h.
+
+1997-06-18  Richard Stallman  <rms@gnu.org>
+
+       * Makefile.in: new.h renamed to alloc.h.
+
+1997-05-24  Richard Stallman  <rms@gnu.org>
+
+       * src/lex.c (literalchar):
+       Fix the code for escaping \, " and '.
+
+       (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@gnu.org>
+
+       * src/bison.s1:
+       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-17  Richard Stallman  <rms@gnu.org>
+
+       * 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-04-23  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1:
+       (alloca) [__hpux]: Always define as __builtin_alloca.
+
+1997-04-23  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple:
+       (alloca) [__hpux]: Always define as __builtin_alloca.
+
+1997-04-22  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1:
+       [__hpux]: Include alloca.h (right for HPUX 10)
+       instead of declaring alloca (right for HPUX 9).
+
+       * src/bison.s1 (__yy_memcpy):
+       Declare arg `count' as unsigned int.
+       (yyparse): Cast third arg to __yy_memcpy to unsigned int.
+
+1997-04-22  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple:
+       [__hpux]: Include alloca.h (right for HPUX 10)
+       instead of declaring alloca (right for HPUX 9).
+
+       * bison.simple (__yy_memcpy):
+       Declare arg `count' as unsigned int.
+       (yyparse): Cast third arg to __yy_memcpy to unsigned int.
+
+1997-01-03  Richard Stallman  <rms@gnu.org>
+
+       * src/allocate.c: [__STDC__ or _MSC_VER]:
+       Declare calloc and realloc to return void *.
+
+1997-01-02  Richard Stallman  <rms@gnu.org>
+
+       * src/system.h:
+       [_MSC_VER]: Include stdlib.h and process.h.
+       [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
+
+       * src/main.c (main): Return FAILURE as a value.
+       (printable_version): Declare arg as int, not char.
+
+1997-01-02  Richard Stallman  <rms@gnu.org>
+
+       * Makefile.in (dist):
+       Explicitly check for symlinks, and copy them.
+
+1996-12-19  Richard Stallman  <rms@gnu.org>
+
+       * src/files.c:
+       [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
+
+1996-12-18  Paul Eggert  <eggert@gnu.org>
+
+       * src/bison.s1 (yyparse):
+       If __GNUC__ and YYPARSE_PARAM are both defined,
+       declare yyparse to have a void * argument.
+
+1996-12-18  Paul Eggert  <eggert@gnu.org>
+
+       * bison.simple (yyparse):
+       If __GNUC__ and YYPARSE_PARAM are both defined,
+       declare yyparse to have a void * argument.
+
+1996-12-17  Richard Stallman  <rms@gnu.org>
+
+       * src/reduce.c (nbits): Add some casts.
+
+1996-08-12  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: Test _MSDOS as well as _MSDOS_.
+
+1996-08-12  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: Test _MSDOS as well as _MSDOS_.
+
+1996-07-31  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1:
+       [__sun && __i386]: Include alloca.h.
+
+1996-07-31  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple:
+       [__sun && __i386]: Include alloca.h.
+
+1996-07-30  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: Comment change.
+
+       * src/bison.s1: Test _MSDOS_, not MSDOS.
+
+1996-07-30  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: Comment change.
+
+       * bison.simple: Test _MSDOS_, not MSDOS.
+
+1996-06-01  Richard Stallman  <rms@gnu.org>
+
+       * src/reduce.c, src/reader.c, src/print.c, src/output.c, src/nullable.c, src/lex.c, src/lalr.c, src/getargs.c, src/derives.c, src/conflicts.c, src/closure.c, src/allocate.c:
+       Insert `_' macro around many string constants.
+
+       * src/main.c:
+       Insert `_' macro around many string constants.
+
+       (main): Call setlocale, bindtextdomain and textdomain.
+
+       * 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.
+
+1996-06-01  Richard Stallman  <rms@gnu.org>
+
+       * POTFILES.in: New file.
+
+       * Makefile.in (allocate.o):
+       Define target explicitly.
+
+       * Makefile.in (CFLAGS): Set to @CFLAGS@.
+       (LDFLAGS): Set to @LDFLAGS@.
+       (configure): Run autoconf only if preceding `cd' succeeds.
+       (bison.s1): Redirect output to temporary file then move the
+       temporary to the target, rather than redirecting directly to bison.s1.
+       (clean): Remove config.status and config.log.
+       (distclean): Don't remove config.status here.
+
+1996-05-12  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1:
+       (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
+
+1996-05-12  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple:
+       (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
+
+1996-05-11  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1 (__yy_memcpy):
+       Really reorder the args, as was supposedly done on Feb 14 1995.
+       (yyparse): Calls changed accordingly.
+
+1996-05-11  Richard Stallman  <rms@gnu.org>
+
+       * Makefile.in (dist): Don't use $(srcdir).
+
+       * bison.simple (__yy_memcpy):
+       Really reorder the args, as was supposedly done on Feb 14 1995.
+       (yyparse): Calls changed accordingly.
+
+1996-01-27  Richard Stallman  <rms@gnu.org>
+
+       * src/output.c (output_rule_data):
+       Test YYERROR_VERBOSE in the conditional
+       around the definition of ttyname.
+
+1995-12-29  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1:
+       Fix line numbers in #line commands.
+
+1995-12-29  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple:
+       Fix line numbers in #line commands.
+
+1995-12-27  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1 (YYPARSE_PARAM_DECL):
+       In C++, make it always null.
+       (YYPARSE_PARAM_ARG): New macro.
+       (yyparse): Use YYPARSE_PARAM_ARG.
+
+1995-12-27  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple (YYPARSE_PARAM_DECL):
+       In C++, make it always null.
+       (YYPARSE_PARAM_ARG): New macro.
+       (yyparse): Use YYPARSE_PARAM_ARG.
+
+1995-11-29  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.texinfo:
+       Describe literal string tokens, %raw, %no_lines, %token_table.
+
+1995-11-29  Daniel Hagerty  <hag@gnu.org>
+
+       * doc/bison.texinfo: Fixed update date
+
+1995-10-16  Richard Stallman  <rms@gnu.org>
+
+       * src/version.c: Version 1.25.
+
+1995-10-16  Richard Stallman  <rms@gnu.org>
+
+       * NEWS: *** empty log message ***
+
+1995-10-16  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.1, doc/bison.rnh:
+       Add new options.
+
+1995-10-15  Richard Stallman  <rms@gnu.org>
+
+       * src/vmsgetargs.c, src/getargs.c:
+       Added -n, -k, and -raw switches.
+       (noparserflag, toknumflag, rawtoknumflag): New variables.
+
+       * src/symtab.h (SALIAS):
+       New #define for adding aliases to %token.
+       (struct bucket): Added `alias' field.
+
+       * src/reduce.c (reduce_grammar):
+       Revise error message.
+       (print_notices): Remove final `.' from error message.
+
+       * 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/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/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/lex.h:
+       Added THONG and NOOP for alias processing.
+       Added SETOPT for the new code that allows setting options with %flags.
+
+       * 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 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/gram.h: Comment changes.
+
+       * src/files.c (openfiles, open_extra_files, done):
+        Add faction flag
+       and actfile file.  Handle noparserflag.  Both for -n switch.
+
+       * src/conflicts.c (resolve_sr_conflict):
+       Remove use of alloca.
+
+1995-06-01  Jim Meyering  <meyering@gnu.org>
+
+       * doc/bison.texinfo: *** empty log message ***
+
+1995-05-06  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: Comment change.
+
+1995-05-06  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: Comment change.
+
+1995-05-03  Richard Stallman  <rms@gnu.org>
+
+       * src/version.c: Version now 1.24.
+
+       * src/bison.s1: Change distribution terms.
+
+       * src/version.c: Version now 1.23.
+
+1995-05-03  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.texinfo:
+       Rewrite "Conditions for Using Bison".
+       Update version to 1.24.
+
+1995-05-03  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: Change distribution terms.
+
+1995-02-23  Richard Stallman  <rms@gnu.org>
+
+       * src/files.c: Test __VMS_POSIX as well as VMS.
+
+1995-02-14  Jim Meyering  <meyering@gnu.org>
+
+       * src/bison.s1 (__yy_memcpy):
+       Renamed from __yy_bcopy to avoid
+       confusion.  Reverse FROM and TO arguments to be consistent with
+       those of memcpy.
+
+1995-02-14  Jim Meyering  <meyering@gnu.org>
+
+       * 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@gnu.org>
+
+       * NEWS: reformat
+
+       * NEWS: New file.
+
+       * Makefile.in (DISTFILES): Include NEWS.
+
+       * Makefile.in (DISTFILES):
+       Include install-sh, not install.sh.
+
+       * configure.in: Update to Autoconf v2 macro names.
+
+1994-10-05  David J. MacKenzie  <djm@gnu.org>
+
+       * Makefile.in: fix typo
+
+       * Makefile.in (prefix, exec_prefix):
+       Let configure set them.
+
+1994-09-28  David J. MacKenzie  <djm@gnu.org>
+
+       * Makefile.in: Set datadir to $(prefix)/share.
+
+1994-09-15  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1:
+       Update copyright notice and GPL version.
+
+1994-09-15  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple:
+       Update copyright notice and GPL version.
+
+1994-07-12  Richard Stallman  <rms@gnu.org>
+
+       * src/reduce.c, src/reader.c:
+       entered into RCS
+
+1994-05-05  David J. MacKenzie  <djm@gnu.org>
+
+       * Makefile.in: entered into RCS
+
+1994-03-26  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: entered into RCS
+
+1994-03-26  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: entered into RCS
+
+1994-03-25  Richard Stallman  <rms@gnu.org>
+
+       * src/main.c: entered into RCS
+
+1994-03-24  Richard Stallman  <rms@gnu.org>
+
+       * src/conflicts.c: entered into RCS
+
+1994-01-02  Richard Stallman  <rms@gnu.org>
+
+       * Makefile.in: *** empty log message ***
+
+1993-11-21  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: *** empty log message ***
+
+1993-11-21  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.texinfo: entered into RCS
+
+       * doc/bison.texinfo: *** empty log message ***
+
+1993-11-21  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: *** empty log message ***
+
+1993-10-25  David J. MacKenzie  <djm@gnu.org>
+
+       * doc/bison.texinfo: *** empty log message ***
+
+1993-10-19  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: *** empty log message ***
+
+1993-10-19  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: *** empty log message ***
+
+1993-10-14  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: *** empty log message ***
+
+1993-10-14  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: *** empty log message ***
+
+1993-09-14  David J. MacKenzie  <djm@gnu.org>
+
+       * doc/bison.texinfo: *** empty log message ***
+
+1993-09-13  Noah Friedman  <friedman@gnu.org>
+
+       * Makefile.in: *** empty log message ***
+
+1993-09-10  Richard Stallman  <rms@gnu.org>
+
+       * src/conflicts.c: *** empty log message ***
+
+       * src/system.h: entered into RCS
+
+1993-09-10  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.1: entered into RCS
+
+1993-09-06  Noah Friedman  <friedman@gnu.org>
+
+       * src/version.c: entered into RCS
+
+1993-09-06  Noah Friedman  <friedman@gnu.org>
+
+       * Makefile.in: *** empty log message ***
+
+1993-07-30  David J. MacKenzie  <djm@gnu.org>
+
+       * Makefile.in: *** empty log message ***
+
+1993-07-24  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: *** empty log message ***
+
+1993-07-24  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: *** empty log message ***
+
+1993-07-08  David J. MacKenzie  <djm@gnu.org>
+
+       * Makefile.in: *** empty log message ***
+
+1993-07-04  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: *** empty log message ***
+
+1993-07-04  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: *** empty log message ***
+
+1993-06-26  David J. MacKenzie  <djm@gnu.org>
+
+       * src/getargs.c: entered into RCS
+
+1993-06-26  David J. MacKenzie  <djm@gnu.org>
+
+       * doc/bison.texinfo: *** empty log message ***
+
+       * doc/bison.1: New file.
+
+1993-06-25  Richard Stallman  <rms@gnu.org>
+
+       * src/getargs.c: New file.
+
+1993-06-16  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: *** empty log message ***
+
+1993-06-16  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: *** empty log message ***
+
+1993-06-03  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.s1: New file.
+
+1993-06-03  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.texinfo: *** empty log message ***
+
+1993-06-03  Richard Stallman  <rms@gnu.org>
+
+       * bison.simple: New file.
+
+1993-05-19  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.texinfo: New file.
+
+1993-05-07  Noah Friedman  <friedman@gnu.org>
+
+       * Makefile.in: *** empty log message ***
+
+1993-04-28  Noah Friedman  <friedman@gnu.org>
+
+       * src/reader.c: *** empty log message ***
+
+1993-04-23  Noah Friedman  <friedman@gnu.org>
+
+       * src/alloc.h: entered into RCS
+
+1993-04-20  David J. MacKenzie  <djm@gnu.org>
+
+       * src/version.c: *** empty log message ***
+
+       * src/files.c, src/allocate.c:
+       entered into RCS
+
+       * src/reader.c: *** empty log message ***
+
+       * src/lex.c: entered into RCS
+
+       * src/conflicts.c: New file.
+
+       * src/symtab.c: entered into RCS
+
+       * src/alloc.h: New file.
+
+       * src/LR0.c: entered into RCS
+
+1993-04-18  Noah Friedman  <friedman@gnu.org>
+
+       * src/reader.c: New file.
+
+       * src/version.c: *** empty log message ***
+
+1993-04-18  Noah Friedman  <friedman@gnu.org>
+
+       * Makefile.in: *** empty log message ***
+
+1993-04-17  Noah Friedman  <friedman@gnu.org>
+
+       * Makefile.in: *** empty log message ***
+
+1993-04-15  Richard Stallman  <rms@gnu.org>
+
+       * src/main.c, src/files.c:
+       New file.
+
+1993-04-15  Noah Friedman  <friedman@gnu.org>
+
+       * configure.in: entered into RCS
+
+       * configure.in: *** empty log message ***
+
+       * configure.in: New file.
+
+1993-04-14  Richard Stallman  <rms@gnu.org>
+
+       * Makefile.in: New file.
+
+1993-04-13  Richard Stallman  <rms@gnu.org>
+
+       * src/version.c: New file.
+
+1993-03-25  Richard Stallman  <rms@gnu.org>
+
+       * src/output.c: entered into RCS
+
+1992-09-25  Richard Stallman  <rms@gnu.org>
+
+       * configure.bat: entered into RCS
+
+1992-06-22  Richard Stallman  <rms@gnu.org>
+
+       * src/vmsgetargs.c: entered into RCS
+
+1992-06-22  Richard Stallman  <rms@gnu.org>
+
+       * doc/bison.rnh: entered into RCS
+
+1992-04-20  David J. MacKenzie  <djm@gnu.org>
+
+       * README: entered into RCS
+
+1992-01-22  Richard Stallman  <rms@gnu.org>
+
+       * src/machine.h: entered into RCS
+
+1991-12-21  Richard Stallman  <rms@gnu.org>
+
+       * src/lalr.c, src/closure.c:
+       entered into RCS
+
+1991-12-20  Richard Stallman  <rms@gnu.org>
+
+       * src/state.h: entered into RCS
+
+1991-12-18  Richard Stallman  <rms@gnu.org>
+
+       * src/print.c, src/nullable.c, src/derives.c:
+       entered into RCS
+
+1991-11-03  David J. MacKenzie  <djm@gnu.org>
+
+       * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
+       entered into RCS
+
+1988-09-09  Richard Stallman  <rms@gnu.org>
+
+       * src/bison.hairy: entered into RCS
+
+1987-12-16  Richard Stallman  <rms@gnu.org>
+
+       * REFERENCES: entered into RCS
+
+
+       -----
+
+       Copyright (C) 1987-1988, 1991-2012 Free Software Foundation,
+       Inc.
+
+       Copying and distribution of this file, with or without
+       modification, are permitted provided the copyright notice and this
+       notice are preserved.
index 2a9ad2b1e18dd2d23b70732cc8c866784c7a9806..097a634930f49a8004906c18e0f57b08a97d95e9 100644 (file)
@@ -27,8 +27,7 @@ aclocaldir = @aclocaldir@
 aclocal_DATA = m4/bison-i18n.m4
 
 EXTRA_DIST = .prev-version .version \
-  cfg.mk \
-  OChangeLog PACKAGING
+  cfg.mk ChangeLog-1998 ChangeLog-2012 PACKAGING
 
 # Initialization before completion by local.mk's.
 AM_CFLAGS = $(WARN_CFLAGS)
@@ -62,7 +61,7 @@ include tests/local.mk
 BUILT_SOURCES += $(top_srcdir)/.version
 $(top_srcdir)/.version: configure
        echo $(VERSION) > $@-t && mv $@-t $@
-dist-hook:
+dist-hook: gen-ChangeLog
        echo $(VERSION) > $(distdir)/.tarball-version
 
 .PHONY: update-b4-copyright update-package-copyright-year
@@ -73,3 +72,15 @@ update-b4-copyright:
        @echo 'warning: src/parse-gram.[hc] may need to be regenerated.'
 update-package-copyright-year:
        $(build_aux)/$@ configure.ac
+
+gen_start_date = 2012-01-16
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+       $(AM_V_GEN)if test -d .git; then                                \
+         $(top_srcdir)/build-aux/gitlog-to-changelog                   \
+           --no-cluster                                                \
+           --amend=$(srcdir)/build-aux/git-log-fix                     \
+           --since=$(gen_start_date) > $(distdir)/cl-t;                \
+         rm -f $(distdir)/ChangeLog;                                   \
+         mv $(distdir)/cl-t $(distdir)/ChangeLog;                      \
+       fi
diff --git a/OChangeLog b/OChangeLog
deleted file mode 100644 (file)
index f34e2a3..0000000
+++ /dev/null
@@ -1,1500 +0,0 @@
-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.
index 84f1d48dfd107c7e2583efd3ad0a8cbabad04613..e47b550c05a597b55402978d469dc8213e80c1af 100644 (file)
@@ -19,7 +19,8 @@
 gnulib_modules='
   announce-gen argmatch assert calloc-posix close config-h c-strcase
   configmake dirname error extensions fdl fopen-safer gendocs getopt-gnu
-  gettext git-version-gen gpl-3.0 hash inttypes isnan javacomp-script
+  gettext git-version-gen gitlog-to-changelog
+  gpl-3.0 hash inttypes isnan javacomp-script
   javaexec-script ldexpl maintainer-makefile malloc-gnu mbschr mbsrchr
   mbswidth obstack perror pipe-posix quote quotearg realloc-posix
   spawn-pipe stdbool stpcpy strdup-posix strerror strtoul strverscmp
@@ -66,6 +67,9 @@ bootstrap_post_import_hook()
 {
   # Massage lib/gnulib.mk before using it later in the bootstrapping process.
   etc/prefix-gnulib-mk lib/$gnulib_mk
+
+  # Ensure that ChangeLog exists, for automake.
+  test -f ChangeLog || touch ChangeLog
 }
 
 bootstrap_epilogue()
index 1b199b4725f32bbff6d0efa93e989b98f4c667d7..3a663bf0ea32a4706c90b5c51042733bb9679550 100644 (file)
@@ -1,4 +1,3 @@
-
 /announce-gen
 /arg-nonnull.h
 /c++defs.h
@@ -9,6 +8,7 @@
 /depcomp
 /gendocs.sh
 /git-version-gen
+/gitlog-to-changelog
 /install-sh
 /javacomp.sh.in
 /javaexec.sh.in
@@ -21,4 +21,3 @@
 /vc-list-files
 /warn-on-use.h
 /ylwrap
-
diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix
new file mode 100644 (file)
index 0000000..af702fe
--- /dev/null
@@ -0,0 +1,3 @@
+# This file is expected to be used via gitlog-to-changelog's --amend=FILE
+# option.  It specifies what changes to make to each given SHA1's commit
+# log and metadata, using Perl-eval'able expressions.