]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
lr.default-reductions: rename "full" value to "most".
[bison.git] / ChangeLog
index 65dea8bd59bd3d352111e0ee4f6a53b2539d5020..bcbc9eaef7296359b7f80f0965b04662827ad380 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,622 @@
+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.
+       (Error Reporting): When mentioning %error-verbose, 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 %error-verbose, mention LAC, and
+       add cross-reference to the LAC section.
+       (Table of Symbols): In %error-verbose and YYERROR_VERBOSE entries,
+       add cross-references 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.
+
+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.
+
+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.
+       (%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: adjust prior fixes for branch-2.5's lalr1.cc.
+       On master, there is no yychar in lalr1.cc, but there is on
+       branch-2.5, and the prior cherry-pick of "Fix handling of yychar
+       manipulation in user semantic actions" wasn't adjusted for that
+       difference.
+       * data/lalr1.cc (yy::parser::parse): Translate yychar before
+       every use of yytoken, and add comments explaining this approach.
+       * tests/conflicts.at (%error-verbose and consistent errors):
+       Extend to test yychar manipulation with lalr1.cc.
+
+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,
+       set yytoken to yyempty_ before invoking 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 (%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 (%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>
+
+       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.
+       * README-hacking: Renamed from HACKING, since gnulib bootstrap now
+       uses that convention.
+
+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.
 2010-07-29  Joel E. Denny  <joeldenny@joeldenny.org>
 
        maint: enable gnits only at stable releases.
 
        YYFAIL: warn about uses and remove from lalr1.java.
        * NEWS (2.5): Document.
 
        YYFAIL: warn about uses and remove from lalr1.java.
        * NEWS (2.5): Document.
-       * data/lalr1.java (parser::YYStack::YYFAIL): Rename to YYERRLAB,
+       * data/lalr1.java (YYParser::YYFAIL): Rename to YYERRLAB,
        and make it private.  Update all uses.
        * src/scan-code.l (SC_RULE_ACTION): Implement warning.
 
        and make it private.  Update all uses.
        * src/scan-code.l (SC_RULE_ACTION): Implement warning.
 
 
        YYFAIL: deprecate.
        * NEWS (2.4.2): Document deprecation and the phase-out plan.
 
        YYFAIL: deprecate.
        * NEWS (2.4.2): Document deprecation and the phase-out plan.
-       * data/lalr1.java (parser::YYStack::YYFAIL): Add comment about
+       * 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.
        deprecation.
        * data/yacc.c (YYFAIL): Likewise, and suppress warnings about
        YYFAIL from GCC cpp's -Wunused-macros.
 
        -----
 
 
        -----
 
-       Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
-       1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-       2008, 2009, 2010 Free Software Foundation, Inc.
+       Copyright (C) 1987-1988, 1991-2011 Free Software Foundation,
+       Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this