+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-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.
+
+2008-12-11 Akim Demaille <demaille@gostai.com>
+
+ Propagate i18n changes into glr.c.
+ * data/glr.c (yyreportSyntaxError): Use "switch" instead of
+ building the error message format dynamically.
+ * data/lalr1.java: Formatting changes.
+
+2009-12-22 Joel E. Denny <jdenny@clemson.edu>
+
+ Port small part of master's 11707b2b so future ports are easier.
+ * data/lalr1.java (YYParser::yysyntax_error): Untabify.
+
+2008-12-11 Akim Demaille <demaille@gostai.com>
+
+ Simplify the i18n of the error messages.
+ * data/lalr1.cc: Comment changes.
+
+2008-11-11 Akim Demaille <demaille@gostai.com>
+
+ Prefer M4 to CPP.
+ * data/lalr1.cc: Use b4_error_verbose_if instead of #if
+ YYERROR_VERBOSE.
+
+2008-11-11 Akim Demaille <demaille@gostai.com>
+
+ Support i18n of the parse error messages.
+ * TODO (lalr1.cc/I18n): Remove.
+ * data/lalr1.cc (yysyntax_error_): Support the translation of the
+ error messages, as done in yacc.c.
+ Stay within the yy* pseudo namespace.
+
+2009-12-22 Joel E. Denny <jdenny@clemson.edu>
+
+ Port small part of master's 8901f32e so future ports are easier.
+ * data/lalr1.cc (yy::parser::yysyntax_error_): Always add second
+ argument, but name it in the function definition only when
+ verbose error messages are enabled and it'll thus be used.
+ (yy::parser::parse): Update use of yysyntax_error_.
+
+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 (%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.
+