+2009-06-10 Akim Demaille <demaille@gostai.com>
+
+ deterministic test suite.
+ Some consistency checks on symbols are performed after all the
+ symbols were read, by an iteration over the symbol table. This
+ traversal is nondeterministic, which can be a problem for test
+ cases.
+ Avoid this.
+ Addresses another form of nondeterminism reported by Joel E. Denny.
+ http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
+
+ * tests/input.at (Numbered tokens): Split the hexadecimal/decimal
+ test in two.
+ Use different file names for the three tests to make the
+ maintenance easier.
+
+2009-06-10 Akim Demaille <demaille@gostai.com>
+
+ deterministic user-token-number redeclaration errors.
+ Address nondeterminism reported by Joel E. Denny.
+ http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00023.html
+
+ * src/uniqstr.h: Comment changes.
+ * src/location.h (boundary_cmp, location_cmp): New.
+ * src/symtab.c (user_token_number_redeclaration): New.
+ (symbol_translation): Use it.
+ * tests/input.at (Numbered tokens): Adjust the expected output.
+
+2009-05-25 Akim Demaille <demaille@gostai.com>
+
+ gnulib: update.
+ * gnulib: Update to latest.
+ * lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
+ * m4/.gitignore: Regen.
+ * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
+ Call xalloc_die on hash_insert failures.
+ Requested by the new __warn_unused_result__ attribute of
+ hash_insert.
+
+2009-05-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Convert multiple variable definition warnings to complaints.
+ * NEWS (2.5): Add a new entry for that change.
+ * doc/bison.texinfo (Decl Summary): Update %define entry.
+ (Bison Options): Update -D/--define/-F/--force-define entry.
+ * src/muscle_tab.c (muscle_percent_define_insert): Implement.
+ * src/muscle_tab.h (muscle_percent_define_insert): Update
+ comments.
+ * tests/input.at (`%define errors'): Update.
+ (`%define, --define, --force-define'): Update.
+
+2009-05-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ -F/--force-define and relative %define/-D/--define priorities.
+ * NEWS (2.5): Add documentation to -D/--define entry.
+ * build-aux/cross-options.pl: Hard-code association of
+ --force-define with %define.
+ * doc/bison.texinfo (Decl Summary): In %define entry,
+ cross-reference command-line options.
+ (Bison Options): Add documentation to -D/--define entry.
+ (Option Cross Key): Widen column for --force-define row.
+ * src/getargs.c (usage): Document -F/--force-define. Realign
+ options in output.
+ (short_options, long_options, getargs): Parse -F/--force-define,
+ and update muscle_percent_define_insert invocation.
+ * src/muscle_tab.h (muscle_percent_define_how): New enum type.
+ (muscle_percent_define_insert): Add argument with that type.
+ * src/muscle_tab.c (muscle_percent_define_insert): Implement
+ -F/--force-define behavior and priorities.
+ * src/parse-gram.y (prologue_declaration): Update
+ muscle_percent_define_insert invocations.
+ * tests/input.at (`%define, --define'): Rename to...
+ (`%define, --define, --force-define'): ... this and extend.
+
+2009-05-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update some comments to make sense for -D.
+ * data/bison.m4 (b4_check_user_names): In header comments, say
+ "user occurrence" instead of "grammar occurrence".
+ * src/muscle_tab.h (muscle_percent_define_insert): Likewise.
+ (muscle_percent_code_grow): Likewise just for consistency.
+
+2009-05-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/c++.m4: Update copyright year.
+
+2009-05-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/c++.m4 (b4_namespace_close): Simplify slightly.
+
+2009-05-19 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Handle a trailing `:' in a user-supplied C++ namespace better.
+ * data/c++.m4 (b4_namespace_close): Don't let it be printed
+ among the closing braces here. This fix might make the
+ generated code easier to debug, but otherwise it should be
+ insignificant because a trailing `:' is a C++ error already.
+
+2009-05-19 Akim Demaille <demaille@gostai.com>
+
+ remove useless variable.
+ * src/getargs.c (skeleton_arg): Remove now useless variable.
+ Should help the compiler see that this printf-like call is sane.
+
+2009-05-11 Akim Demaille <demaille@gostai.com>
+
+ doc: use C++ headers.
+ * doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C
+ headers.
+
+2009-05-05 Akim Demaille <demaille@gostai.com>
+
+ fix hexadecimal token number support.
+ * src/scan-gram.l: Catch incorrect ids after hexadecimal numbers.
+
+2009-05-05 Akim Demaille <demaille@gostai.com>
+
+ tests: check token numbers.
+ * tests/input.at (Numbered tokens): New.
+
+2009-05-04 Akim Demaille <demaille@gostai.com>
+
+ bison: catch bad symbol names.
+ * src/scan-gram.l({int}{id}): Report as an invalid identifier.
+ * tests/input.at: Adjust.
+
+2009-05-04 Akim Demaille <demaille@gostai.com>
+
+ space changes.
+ * src/scan-gram.l: Untabify to be robust to zealous editors.
+
+2009-05-04 Akim Demaille <demaille@gostai.com>
+
+ identifiers: dashes are letters.
+ Dashes can now start identifiers (symbols and directives).
+
+ * src/scan-gram.l ({letter}): Add dash.
+ ({id}): Remove it.
+ * tests/input.at (Symbols): Adjust.
+ Remove stray comment.
+ * tests/regression.at (Invalid inputs): Adjust error message.
+ * doc/bison.texinfo (Symbols): Update.
+
+2009-05-01 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Declare %code to be a permanent feature.
+ * NEWS (2.4.2): Here.
+ * doc/bison.texinfo (Prologue Alternatives): Don't say it's
+ experimental.
+ (Decl Summary): Likewise.
+
+2009-04-30 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Convert underscores to dashes in some %define variable names.
+ For now, just api.push-pull and lr.keep-unreachable-states.
+ Maintain old names for backward compatibility.
+ * NEWS (2.5): Document.
+ * data/c.m4 (b4_identification): Update comment.
+ * data/yacc.c: Update access.
+ * doc/bison.texinfo: Update.
+ * etc/bench.pl.in (bench_grammar): Update use.
+ * src/files.c (tr): Move to...
+ * src/getargs.c, src/getargs.h (tr): ... here because I can't
+ think of a better place to expose it. My logic is that, for all
+ uses of tr so far, command-line arguments can be involved, and
+ getargs.h is already included.
+ * src/main.c (main): Update access.
+ * src/muscle_tab.c (muscle_percent_define_insert): Convert old
+ variable names to new variable names before assigning value.
+ * src/reader.c (reader): Update setting default.
+ * tests/calc.at: Update uses.
+ * tests/conflicts.at (Unreachable States After Conflict
+ Resolution): Update use.
+ * tests/input.at (%define enum variables): Update use.
+ (%define backward compatibility): New test group.
+ * tests/push.at: Update uses.
+ * tests/reduce.at: Update uses.
+ * tests/torture.at: Update uses.
+
+2009-04-30 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Set all front-end %define defaults in one place.
+ * src/main.c (main): Move lr.keep_unreachable_states default...
+ * src/reader.c (reader): ... to here.
+
2009-04-29 Joel E. Denny <jdenny@ces.clemson.edu>
Rename lr.default_reductions to lr.default-reductions.