+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.
2011-01-02 Joel E. Denny <joeldenny@joeldenny.org>
- maint: prepare to use date ranges in copyright notices.
+ maint: prepare to use year ranges in copyright notices.
* README (Copyright statements): New section explaining the range
- notation. The GNU coding standards require this explanation. I
- copied ours from coreutils.
+ 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.