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