]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Adjust to recent changes to gnulib bootstrap.
[bison.git] / ChangeLog
index 897b54a39c56f69a86c1eda7a18abff6bb78830e..65a7c0298607557c9b5c10a1b1dd96e8a169fe0c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,830 @@
+2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       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 (parser::YYStack::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 (parser::YYStack::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 (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.
 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
 
        portability: use -DGNULIB_POSIXCHECK.
 
 2006-09-15  Bob Rossi  <bob@brasko.net>
 
 
 2006-09-15  Bob Rossi  <bob@brasko.net>
 
+       Add support for push parsing.  Based on the original work of
+       Odd Arild Olsen <oao@fibula.no>.
        * data/Makefile.am (dist_pkgdata_DATA): Add push.c.
        * data/c.m4 (YYPUSH): New.
        (b4_push_if): New macro.  Use it instead of #ifdef YYPUSH.
        * data/Makefile.am (dist_pkgdata_DATA): Add push.c.
        * data/c.m4 (YYPUSH): New.
        (b4_push_if): New macro.  Use it instead of #ifdef YYPUSH.
+       * data/push.c: New file.
        * src/getargs.c (push_parser): New var.
        * src/getargs.h (push_parser): New declaration.
        * src/output.c (prepare): Add macro insertion of `push_flag'.
        * src/getargs.c (push_parser): New var.
        * src/getargs.h (push_parser): New declaration.
        * src/output.c (prepare): Add macro insertion of `push_flag'.
 
        Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
        1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
 
        Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
        1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-       2008, 2009 Free Software Foundation, Inc.
+       2008, 2009, 2010 Free Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this