+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.
+