+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ Improve genericity of bench.pl.
+ * etc/bench.pl.in (&bench_grammar): Take the set of benches as
+ argument.
+ (&bench_push_parser): New.
+ Call it.
+
+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ Add documentation to bench.pl.
+ * etc/bench.pl.in: Comment changes.
+
+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ Fuse the three stacks into a single one.
+ In order to make it easy to perform benchmarks to ensure that there are no
+ performance loss, lalr1.cc is forked into lalr1-fusion.cc. Eventually,
+ lalr1-fusion.cc will replace lalr1.cc.
+
+ Meanwhile, to make sure that lalr1-fusion.cc is correctly exercized by the
+ test suite, the user must install a symbolic link from lalr1.cc to it.
+
+ Instead of having three stacks (state, value, location), use a stack
+ of triples. This considerably simplifies the code (and it will be
+ easier not to require locations as currently does the C++ parser),
+ and also gives a 10% speedup according to etc/bench (probably mainly since
+ memory allocation is done once instead of three times).
+
+ Another motivation is to make it easier to destruct properly
+ semantic values: now that they are bound to their state (hence
+ symbol type) it will be easier to call the appropriate destructor.
+
+ These changes should probably benefit the C parser too.
+
+ * data/lalr1.cc: Copy as... * data/lalr1-fusion.cc: this new
+ file.
+ (b4_rhs_value, b4_rhs_location): New definitions overriding those
+ from c++.m4.
+ (state_stack_type, semantic_stack_type, location_stack_type)
+ (yystate_stack_, yysemantic_stack_, yylocation_stack_): Remove.
+ (data_type, stack_type, yystack_): New.
+ (YYLLOC_DEFAULT, yypush_): Adjust.
+ (yyerror_range): Now based on data_type, not location_type.
+
+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ Push the state, value, and location at the same time.
+ This is needed to prepare a forthcoming patch that fuses the three
+ stacks into one.
+
+ * data/lalr1.cc (parser::yypush_): New.
+ (parser::yynewstate): Change the semantics: instead of arriving to
+ this label when value and location have been pushed, but yystate
+ is to be pushed on the state stack, now the three of them must
+ have been pushed before. yystate still must be the new state.
+ This allows to use yypush_ everywhere instead of individual
+ handling of the stacks.
+
+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ Prefer references to pointers.
+ * data/lalr1.cc (b4_symbol_actions): New, overrides the default C
+ definition to use references instead of pointers.
+ (yy_symbol_value_print_, yy_symbol_print_, yydestruct_):
+ Take the value and location as references.
+ Adjust callers.
+
+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ stack::size instead of stack::height.
+ * data/lalr1.cc (stack::height): Rename as...
+ (stack::size): this.
+ Fix the output type.
+ Comment changes.
+
+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ Use variants to support objects as semantic values.
+ This patch was inspired by work by Michiel De Wilde. But he used Boost
+ variants which (i) requires Boost on the user side, (ii) is slow, and
+ (iii) has useless overhead (the parser knows the type of the semantic value
+ there is no reason to duplicate this information as Boost.Variants do).
+
+ This implementation reserves a buffer large enough to store the largest
+ objects. yy::variant implements this buffer. It was implemented with
+ Quentin Hocquet.
+
+ * src/output.c (type_names_output): New.
+ (output_skeleton): Invoke it.
+ * data/c++.m4 (b4_variant_if): New.
+ (b4_symbol_value): If needed, provide a definition for variants.
+ * data/lalr1.cc (b4_symbol_value, b4_symbol_action_)
+ (b4_symbol_variant, _b4_char_sizeof_counter, _b4_char_sizeof_dummy)
+ (b4_char_sizeof, yy::variant): New.
+ (parser::parse): If variants are requested, define
+ parser::union_type, parser::variant, change the definition of
+ semantic_type, construct $$ before running the user action instead
+ of performing a default $$ = $1.
+ * examples/variant.yy: New.
+ Based on an example by Michiel De Wilde.
+
+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ Parameterize the extraction of semantic values.
+ To make future changes easier, no longer rely on ".TYPE" being the
+ way to get a semantic value.
+
+ * data/c.m4 (b4_symbol_value): New.
+ Use it.
+ * data/c++.m4, data/yacc.c: Use it.
+ * data/glr.c: Use b4_symbol_value.
+ (b4_rhs_data): New.
+ Use it.
+
+2008-11-03 Akim Demaille <demaille@gostai.com>
+
+ Prepare easier M4 changes.
+ * data/lalr1.cc: Use escaped [] instead of literals to prepare
+ future changes.
+
+2008-11-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Initiate further development.
+ * NEWS: Create an empty section for new entries.
+ * gnulib: Update submodule to HEAD.
+
+2008-11-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS: Version 2.4.
+
+2008-11-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Prepare for next release.
+ * NEWS: Briefly mention changes since 2.3b.
+ * README: Say GNU m4 1.4.6, which we've been requiring in release
+ announcements already, not 1.4.3, which breaks the build.
+
+2008-11-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Say %language is experimental.
+ We're thinking of extending it's effect on output file naming. See the
+ thread at
+ <http://lists.gnu.org/archive/html/bison-patches/2008-10/msg00003.html>.
+ * NEWS: Say it's experimental.
+ * doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't
+ recommend it over %skeleton for now.
+ (Bison Options): Likewise.
+ (C++ Bison Interface): Use %skeleton not %language.
+ (Calc++ Parser): Use %skeleton not %language.
+ * src/getargs.c (usage): Say it's experimental.
+
+2008-11-01 Di-an Jan <dianj@freeshell.org>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ Support all Java parser class modifiers.
+ * data/java.m4 (b4_percent_define_get3): New.
+ (b4_final_if, b4_strictfp_if): New.
+ * data/lalr1.java (final, strictfp, extends, implements): Support.
+ * doc/bison.texinfo (final, strictfp, extends, implements): Add
+ documentation.
+ * tests/java.at (AT_CHECK_JAVA_MINIMAL): New.
+ (AT_CHECK_JAVA_MINIMAL_W_LEXER): New.
+ (AT_CHECK_JAVA_GREP): New.
+ (Java parser class modifiers): New test.
+ (Java parser class extends and implements): New test.
+
+ Model exception propagation better with throws and lex_throws.
+ * data/java.m4 (b4_list2): New.
+ (throws): Change default.
+ * data/lalr1.java (yyaction): Add throws.
+ (parse): Add lex_throws in addition to throws.
+ * doc/bison.texinfo (throws, lex_throws): Add documentation.
+ * tests/java.at (Java throws specifications): New test.
+
+ Improve documentation for Java parsers.
+ * doc/bison.texinfo (Java Parsers): Add subsections.
+ Don't quote first argument of %define.
+ (Java Bison Interface): Document output files. Move documentation
+ of parser class and merge into Java Parser Interface. Document
+ features that error out. Document directives with no effect.
+ Move note about Javadoc higher.
+ (Java Semantic Values): Explicitly mention stype.
+ Document that generic types cannot be used.
+ (Java Location Values): Use @deftypeivar. Document constructors.
+ Correct return value for toString.
+ (Java Parser Interface): List undocumented constants/fields.
+ Move documentation of fields added by %parse-param closer to list
+ of members. Document that token names are added as fields.
+ Document constructors accurately. Remove error method.
+ (Java Scanner Interface): Move note on %pure-parser to Java Bison
+ Interface. Describe %code lexer and yylex accutately.
+ Remove documentation that does not match the code.
+ (Java Action Features): New.
+ (Java Differences): Add reference. Add item on semantic values.
+ Add note about @{ ... @}. Clarify %% epilogue placement.
+ (Java Declarations Summary): New.
+
+ Fix Java skeleton.
+ * data/java.m4 (b4_prefix): Correct quoting for m4_define_default.
+ (b4_remove_comma): Quote test argument.
+ (b4_identification): Remove "bison" field.
+ * tests/java.at (Java parser class and package names): New test.
+ (Java %parse-param and %lex-param): New test.
+ (Java stype, position_class and location_class): New test.
+
+2008-10-31 Di-an Jan <dianj@freeshell.org>
+
+ * data/lalr1.jave: Update copyright years.
+ (YYParser): Correct name of "generated from" file in Javadoc:
+ use b4_file_name instead of @ofile@.
+ (Location constructor): Correct Javadoc parameter name.
+ (yylloc): Add missing opening m4 quote after b4_location_if.
+ This removes a stray [ in the Javadoc of Lexer.getStartPos.
+ (Lexer.yyerror): Fix incorrect m4 and Javadoc.
+ (YYParser constructor): Correct Javadoc parameter name.
+
+2008-10-30 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Always put auxiliary code files in the same dir as other output files.
+ * src/files.c (compute_file_name_parts): When the user specifies
+ --output but not --file-prefix, extract the directory prefix from the
+ file prefix not from the grammar file name. This affects the location
+ of files like location.hh generated by the C++ skeleton. The includes
+ in the other output files require this fix.
+ * tests/output.at (AT_CHECK_OUTPUT): Automatically create directories
+ for expected output files.
+ (Output files): Add a test for the above.
+
+2008-10-29 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * gnulib: Update submodule to HEAD.
+
+2008-10-28 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update copyright year.
+ * src/files.c: Here.
+
+2008-10-28 Di-an Jan <dianj@freeshell.org> (tiny change)
+
+ Don't overwrite the input file.
+ * src/files.c (output_file_name_check): Fatal error if using input file
+ for output.
+ * tests/output.at: (AT_CHECK_CONFLICTING_OUTPUT): Add return status
+ argument.
+ (Conflicting output files): Add test.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Space changes.
+ * data/lalr1.cc: Formatting changes.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Don't define debugging functions when !YYDEBUG.
+ * data/lalr1.cc (debug_stream, set_debug_stream)
+ (debug_level_type, debug_level, set_debug_level): Don't
+ declare them when YYDEBUG is not defined.
+ The implementation are already YYDEBUG-aware.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Prefer "continue" for empty loop bodies.
+ * etc/bench.pl.in: Use "continue" instead of {}.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Space and comments changes.
+ * data/c++.m4, data/glr.c, data/lalr1.cc: Copyright year changes.
+ * data/c.m4, data/lalr1.cc: Space changes.
+
+2008-10-28 Akim Demaille <demaille@gostai.com>
+
+ Make gnulib a submodule.
+ * gnulib: New.
+ * .gitmodules (gnulib): New.
+
+2008-10-18 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix yyerror_range for user-defined location type in C++. Reported by
+ Georg Sauthoff at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-08/msg00008.html>.
+ * data/lalr1.cc (parse): Change type of yyerror_range to location_type.
+ * THANKS (Georg Sauthoff): Add.
+
+2008-10-18 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update several administrative files mainly to facilitate releasing.
+ * HACKING (Administrivia): Make the git-merge-changelog notes more
+ helpful.
+ (Test suite): Don't say lalr1.cc is not exercised in the test suite.
+ (Release Procedure): Update for git and add numerous details that were
+ previously missing.
+ * Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint.
+ * maint.mk (announcement): Don't list bison as a bootstrap tool so
+ that announcements don't claim we bootstrapped with whatever bison
+ happened to be in PATH. Add flex as a bootstrap tool.
+ * Makefile.maint: Remove, previously replaced by maint.mk.
+ * Makefile.cfg: Remove, and migrate settings to...
+ * cfg.mk: ... here for the sake of `make announcement'.
+ * bootstrap.conf (gnulib_modules): Add announce-gen.
+ * README: Say GNU Bison instead of just Bison. Suggested by Karl
+ Berry.
+
+2008-10-08 Di-an Jan <dianj@freeshell.org> (tiny change)
+
+ Small but important bugfixes for the Java skeleton.
+ * data/lalr1.java (yyerror): Change Location to b4_location_type.
+ (yy_symbol_print): Call toString on yyvaluep.
+
+2008-08-29 Akim Demaille <demaille@gostai.com>
+
+ Clarify UPDATED use.
+ * doc/bison.texinfo: It refers to the last edition of this file,
+ not to the release date of Bison.
+ Reported by Joel E. Denny.
+
+2008-08-29 Akim Demaille <demaille@gostai.com>
+
+ * README: Update FAQ pointer.
+ Reported by Joel E. Denny.
+
+2008-08-27 Eric Blake <ebb9@byu.net>
+
+ Resync m4sugar from autoconf.
+ * data/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine)
+ (m4_init): Adjust to latest m4.git changes.
+ (m4_mapall_sep, _m4_list_cmp, m4_version_compare): Reduce side
+ effects.
+ * data/m4sugar/foreach.m4 (_m4_shiftn): Fix off-by-one bug.
+ (_m4_list_cmp): Reduce side effects.
+
+2008-08-27 Akim Demaille <demaille@gostai.com>
+
+ Check yyerrok in calc.at.
+ * tests/calc.at (calc.y): Use yyerrok on "( error )".
+ (AT_CHECK_CALC): Add a check that ensures that yyerrok works as
+ expected.
+
+2008-08-27 Akim Demaille <demaille@gostai.com>
+
+ Support yyerrok in lalr1.cc.
+ YYBACKUP is still to import back into lalr1.cc.
+ * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define.
+
+2008-08-26 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ For maintainer-check*, don't recompile for a $(VERSION) update.
+ * cfg.mk: New file.
+ (_is-dist-target): Override the one in GNUmakefile.
+ * Makefile.am (EXTRA_DIST): Add cfg.mk.
+
+2008-08-26 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update for recent change to gnulib.
+ * src/parse-gram.y: Don't include strverscmp.h. It comes from
+ string.h now.
+
+2008-08-15 Eric Blake <ebb9@byu.net>
+
+ Remaining m4sugar merge from autoconf.
+ * data/m4sugar/m4sugar.m4: Copy entire file from autoconf.
+ * data/m4sugar/foreach.m4: New file, copied from autoconf.
+ * data/Makefile.am (dist_m4sugar_DATA): Distribute it.
+ * src/output.c (output_skeleton): Tell m4 how to find it.
+
+ Partial m4sugar merge from autoconf: m4_map.
+ * data/m4sugar/m4sugar.m4 (m4_fst): Delete.
+ (m4_map, m4_map_sep, _m4_map): Rewrite more efficiently.
+ (m4_apply, _m4_apply, m4_mapall, m4_mapall_sep): New macros.
+ * data/java.m4 (b4_token_enums): Use more efficient short-circuit
+ for empty list.
+ * data/c.m4 (b4_token_defines, b4_token_enums, b4_c_ansi_formals):
+ Likewise.
+ (b4_parse_param_for): Avoid m4_fst, now that autoconf no longer
+ declares it.
+
+2008-08-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Keep .version and PACKAGE_VERSION in sync.
+ * Makefile.am ($(top_srcdir)/.version): Declare configure as a
+ dependency, and add comments justifying this in more detail. Discussed
+ starting at
+ <http://lists.gnu.org/archive/html/bison-patches/2008-07/msg00022.html>.
+
+2008-08-06 Eric Blake <ebb9@byu.net>
+
+ Partial m4sugar merge from autoconf: m4_shiftn.
+ * data/m4sugar/m4sugar.m4 (m4_shiftn): Faster implementation.
+ (m4_shift2, m4_shift3): New macros.
+ (m4_case, m4_bmatch, m4_bpatsubsts, m4_join): Adjust clients.
+ * data/c.m4 (b4_c_function_def, b4_c_ansi_function_def)
+ (b4_c_ansi_function_decl, b4_c_function_call): Likewise.
+ * data/java.m4 (b4_remove_comma): Likewise.
+
+ Partial m4sugar merge from autoconf: m4_wrap vs. m4 1.6.
+ * data/m4sugar/m4sugar.m4 (m4_unquote, m4_wrap_lifo): New macros.
+ (m4_wrap): Guarantee FIFO order, in spite of m4 1.6.
+ (m4_init): Consolidate wrapped text into single m4_wrap.
+ * data/bison.m4 (b4_check_user_names_wrap): Stick with LIFO order
+ in wrapped text.
+
+2008-08-05 Eric Blake <ebb9@byu.net>
+
+ Partial m4sugar merge from autoconf: builtins, version.m4.
+ * data/m4sugar/m4sugar.m4 (changeword): Nuke.
+ (m4_prepend): Remove, as it is unused and inherently quadratic,
+ whereas m4_append is linear in newer m4.
+ (m4_mkstemp): New builtin.
+ (m4_symbols): Make rename conditional.
+ (m4_version_prereq): Ensure fatal error if used in bison, which
+ intentionally lacks version.m4.
+
+ Fix comments in m4sugar.
+ * data/m4sugar/m4sugar.m4: Comment changes, borrowed from autoconf.
+
+2008-08-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update for recent .gitignore fix in Gnulib.
+ * bootstrap: Back out 2008-07-18 hack now that gnulib-tool creates
+ anchored .gitignore entries.
+
+2008-08-02 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Set gnu or gnits strictness.
+ * configure.ac (AM_INIT_AUTOMAKE): Set gnu strictness during
+ development and gnits strictness for releases. Based on Eric Blake's
+ suggestion at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00019.html>.
+
+2008-07-31 Paolo Bonzini <bonzini@gnu.org>
+
+ * NEWS: Clarify documentation of %language.
+
+2008-07-31 Paolo Bonzini <bonzini@gnu.org>
+
+ Support usage of git-merge-changelog.
+ * .gitattributes: New.
+ * HACKING: Document usage of git-merge-changelog.
+ * bootstrap: Install git-merge-changelog entries in .git/config
+ if appropriate.
+
+2008-07-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Remove remaining dependence on CVS Id keyword.
+ * ChangeLog: For the sake of people still using CVS, don't use dollars
+ when mentioning Id.
+ * data/xslt/bison.xsl: Remove Id from header comments, where it was
+ unusual anyway.
+ * data/xslt/xml2dot.xsl: Likewise.
+ * data/xslt/xml2text.xsl: Likewise.
+ * data/xslt/xml2xhtml.xsl: Likewise.
+ * doc/Doxyfile.in (PROJECT_NUMBER): Don't use ID.
+ * doc/Makefile.am (neutralize): Remove, no longer needed.
+ (.x.1): Don't use neutralize.
+ (edit): Don't substitute for ID.
+ (Doxyfile): Don't define Id, and thus don't depend on ChangeLog.
+
+2008-07-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix dependence on computed configure variables.
+ * doc/Makefile.am (common_dep): Depend on $(top_srcdir)/configure not
+ $(top_srcdir)/configure.ac so that changes to computed variables, such
+ as PACKAGE_VERSION, are seen.
+ * tests/Makefile.am ($(srcdir)/package.m4): Likewise.
+
+2008-07-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update copyright dates for recent changes.
+ * Makefile.am: Here.
+ * src/Makefile.am: Here.
+ * src/reduce.c: Here.
+ * tests/reduce.at: Here.
+
+2008-07-18 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Use git-version-gen for version names between releases.
+ * .cvsignore (.tarball-version, GNUmakefile, *~): Add.
+ * .gitignore (/.tarball-version, /GNUmakefile, /*~): Add.
+ * .prev-version: New.
+ * .version.in: Remove.
+ * ChangeLog: Remove the Id previously used for capturing the CVS
+ revision.
+ * GNUmakefile: Remove, now copied from Gnulib.
+ * Makefile.am: Add code suggested by comments in
+ build-aux/git-version-gen.
+ (EXTRA_DIST): Remove GNUmakefile, handled by Gnulib. Add maint.mk,
+ .prev-version, and .version.
+ * NEWS (2.3b+): Rename to...
+ (?.?): ... this because we're dropping the "+" version naming scheme,
+ but, in general, we still can't be sure of our next release name.
+ * bootstrap: Add a quick hack to remove from .gitignore the
+ GNUmakefile entry that gnulib adds. We already have a /GNUmakefile
+ entry. This should really be fixed in gnulib instead.
+ * bootstrap.conf (gnulib_modules): Add gnumakefile.
+ * configure.ac (AC_INIT): Set version name by invoking
+ build-aux/git-version-gen.
+ (AC_CONFIG_FILES): Remove .version, now generated by
+ build-aux/git-version-gen.
+ * maint.mk: New, copied from coreutils.
+ * doc/.cvsignore (bison.1): Add.
+ * doc/.gitignore (/bison.1): Add.
+ * doc/bison.1: Remove, generated.
+ * src/.cvsignore (revision.c): Remove.
+ * src/.gitignore (/revision.c): Remove.
+ * src/Makefile.am (bison_SOURCES): Remove revision.c and revision.h.
+ (BUILT_SOURCES): Remove revision.c.
+ (revision.c): Remove.
+ * src/getargs.c (version): Don't print revision after the VERSION.
+ * src/revision.h: Remove.
+
+2008-07-16 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix untranslatable composition of sentences. Reported by Goran
+ Uddeborg at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-06/msg00000.html>.
+ * THANKS (Goran Uddeborg): Add.
+ * src/reduce.c (reduce_print): Report the number of nonterminals and
+ rules useless in the grammar in separate sentences.
+ * tests/reduce.at (Useless Rules): Update output.
+ (Reduced Automaton): Likewise.
+ (Underivable Rules): Likewise.
+ (Empty Language): Likewise.
+
+2008-07-15 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix some .gitignore and .cvsignore problems.
+ * bootstrap (insert_sorted_if_absent): Replace all uses with...
+ (insert_vc_ignore): ... this new function, which prepends `/' to all
+ .gitignore entries before passing them to insert_sorted_if_absent.
+ * bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that
+ .cvsignore files are maintained even though Bison developers run
+ bootstrap while using Git.
+ * .cvsignore (*.patch *.log log patches applied): Remove, apparently
+ unneeded by Bison.
+ (gnulib): Add.
+ * .gitignore (/*.patch *.log log patches applied): Remove, broken and
+ unneeded. Reported by Eric Blake.
+ * lib/.gitignore (/*~): Add.
+ * po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore.
+ * examples/calc++/.gitignore (/calc++.exe): Add. Reported by Eric
+ Blake.
+ * src/.gitignore (/bison.exe): Add. Reported by Eric Blake.
+
+2008-07-15 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Improve forward-compatibility with GNU M4. Reported by Eric Blake at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00000.html>.
+ * bootstrap.conf (gnulib_modules): Add unsetenv.
+ * lib/.gitignore, lib/.cvsignore (/unsetenv.c): Add.
+ * m4/.gitignore, m4/.cvsignore (/environ.m4): Add.
+ (/setenv.m4): Add.
+ * src/output.c (output_skeleton): For the m4 invocation, pass -dV as
+ the first argument because it may become position-dependent, and unset
+ POSIXLY_CORRECT so Bison's skeletons have access to GNU M4 extensions.
+ Add comments explaining these issues in more detail.
+
+2008-07-14 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Add .gitignore everywhere based on .cvsignore.
+ * .gitignore: New.
+ * build-aux/.gitignore: New.
+ * data/.gitignore: New.
+ * doc/.gitignore: New.
+ * etc/.gitignore: New.
+ * examples/.gitignore: New.
+ * examples/calc++/.gitignore: New.
+ * lib/.gitignore: New.
+ * m4/.gitignore: New.
+ * po/.gitignore: New.
+ * runtime-po/.gitignore: New.
+ * src/.gitignore: New.
+ * tests/.gitignore: New.
+
+2008-05-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3b+): New section, empty for now.
+ * configure.ac (AC_INIT): 2.3b -> 2.3b+.
+
+2008-05-27 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3b): Update release date since there has been a delay in
+ getting the announcements and tarballs out.
+
+2008-05-23 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS: Version 2.3b.
+ * configure.ac (AC_INIT): Likewise.
+ (PACKAGE_COPYRIGHT_YEAR): Update to 2008.
+
+2008-05-23 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * HACKING: Don't say don't mention HACKING in the ChangeLog. We've
+ been doing it for years.
+ (Test suite): Mention maintainer-push-check and maintainer-xml-check.
+ (Release Procedure): Add FIXME about make alpha being unmaintained.
+
+2008-05-13 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/yacc.c: Reformat m4 a little for readability.
+ * src/lalr.c (build_relations): Correct comment.
+
+2008-05-12 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ DJGPP specific issue.
+ * djgpp/config.sed: Fixes required to run configure scripts generated
+ by autoconf 2.62.
+
+2008-05-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * HACKING (Release Procedure): translation@iro.umontreal.ca is now
+ coordinator@translationproject.org.
+
+2008-05-06 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * THANKS: Add Eric Blake.
+
+2008-04-23 Eric Blake <ebb9@byu.net>
+
+ Revert prior patch, by working around autoconf regression.
+ * tests/output.at (m4_expand): Add workaround for autoconf 2.62.
+ ("Output file name: ("): Uncomment test.
+ ("Output file name: )"): Likewise.
+ Based on an idea from Noah Misch.
+
+2008-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Work-around an Autoconf 2.62 AT_SETUP bug that was not present in
+ 2.61. Reported by Juan Manuel Guerrero at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-04/msg00011.html>.
+ * tests/output.at ("Output file name: ("): Comment out test case for
+ now.
+ ("Output file name: )"): Likewise.
+
+2008-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * GNUmakefile: Update git-version-gen invocation so make dist
+ succeeds.
+
+2008-04-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update to the current gnulib CVS repository, and fix trigraph handling
+ in Bison.
+ * bootstrap: Update gnulib CVS repository URL.
+ (symlink_to_dir): Encapsulate the code that guarantees the destination
+ directory exists into...
+ (check_dst_dir): ... this new function, and...
+ (cp_mark_as_generated): ... reuse it here so that bootstrap doesn't
+ fail when copying files into lib/uniwidth/.
+ * src/output.c (prepare_symbols): When writing yytname muscles, where
+ symbol names will be encoded in C-string literals, tell quotearg to
+ escape trigraphs. This used to be the default in gnulib.
+ * tests/regression.at (Token definitions): Because of the change in
+ gnulib's quotearg behavior, string_as_id in parse-gram.y no longer
+ escapes trigraphs in symbol names. Thus, yytname no longer has
+ trigraphs unnecessarily doubly escaped. Update test case output.
+ Extend test case to be sure Bison's own error messages will no longer
+ have trigraphs in symbol names unnecessarily escaped once.
+
+2008-04-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix make dist infinite loop reported by Juan Manuel Guerrero at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00009.html>.
+ * .cvsignore: Add .version.
+ * .version.in: New.
+ * bootstrap.conf (gnulib_modules): Add git-version-gen.
+ * configure.ac (AC_CONFIG_FILES): Add .version.
+ * build-aux/.cvsignore: Add git-version-gen.
+
+2008-03-08 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3a+): Mention that -g now takes an argument.
+ * doc/bison.texinfo (Bison Options): Reword -W entry a little for
+ consistency. Update the -g and -x entries now that they take
+ arguments. Use brackets to indicate optional arguments.
+ * src/getargs.c (usage): Explain the relationship between arguments of
+ long and short options more completely. Document --defines and -d
+ separately since the former takes an argument but, for POSIX Yacc, the
+ latter does not.
+ (short_options): Let -W take an optional argument like --warnings.
+ (getargs): Sort cases.
+
+2008-02-28 Akim Demaille <demaille@gostai.com>
+
+ * doc/bison.texinfo: Fix a few typos.
+
+2008-02-28 Akim Demaille <akim@epita.fr>
+
+ * doc/bison.texinfo (Bison Options): Document -W.
+ Based on Joel E. Denny's NEWS entry, and Automake's documentation.
+
+2008-02-28 Akim Demaille <akim@epita.fr>
+
+ * src/getargs.c (short_options): Split and sort for readability.
+ -g and -x take optional arguments, just like their long options.
+ * build-aux/cross-options.pl: Use /x to make the regexp easier to
+ understand.
+ Fix the handling of $opt which resulted in all the argument to be
+ considered as optional.
+
+2008-02-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * NEWS (2.3a+): Don't say %language is experimental. Mention Java and
+ say its interface is experimental.
+ * doc/bison.texinfo (Decl Summary): In the %language entry, mention
+ Java.
+ (Bison Options): In the -L and --language entry, mention Java.
+ (Java Bison Interface): Say the interface is experimental.
+ * src/getargs.c (usage): Mention -L and --language.
+
+ * NEWS (2.3a+): Say the push parsing interface is experimental.
+ * doc/bison.texinfo (Push Decl): Likewise.
+ (Decl Summary): Likewise in the "%define api.push_pull" entry.
+ (Push Parser Function): Likewise.
+ (Pull Parser Function): Likewise.
+ (Parser Create Function): Likewise.
+ (Parser Delete Function): Likewise.
+ (Table of Symbols): Likewise in the yypstate_delete, yypstate_new,
+ yypull_parse, and yypush_parse entries.
+
+ * NEWS (2.3a+): Mention XML support, and say the schema is
+ experimental.
+ * doc/bison.texinfo (Bison Options): Mention -x and --xml.
+ * src/getargs.c (usage): Say the XML schema is experimental.
+
+ * NEWS (2.3a+): Say option instead of flag.
+
+2008-02-21 Wojciech Polak <polak@gnu.org>
+
+ * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Change footer
+ text.
+
+2008-02-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix impure push parser compile error reported by Bob Rossi at
+ <http://lists.gnu.org/archive/html/help-bison/2008-02/msg00023.html>.
+ * data/yacc.c: Clean up whitespace in the output a little.
+ (yypstate_allocated): Define for impure push parsers regardless of
+ whether the pull interface is also requested.
+ * tests/push.at (Push Parsing: Multiple impure instances): Extend to
+ check impure push parsers without the pull interface.
+
+ * data/yacc.c (yypstate_new): Don't try to invoke yyerror since
+ yyerror takes arguments specified by %parse-param while yypstate_new
+ does not.
+ * doc/bison.texinfo (Parser Create Function): Document that
+ yypstate_new returns 0 for multiple impure parser instances.
+ * tests/push.at (Push Parsing: Multiple impure instances): Update
+ expected stderr output.
+
+2008-02-19 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * runtime-po/POTFILES.in (push.c): Remove.
+
+2008-02-17 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/Makefile.am (dist_pkgdata_DATA): Remove push.c.
+ * data/push.c: Rename to...
+ * data/yacc.c: ... this, overwriting it.
+ * etc/bench.pl.in (bench_grammar): `%pure-parser'-> `%define api.pure'.
+ `%push-pull-parser' -> `%define api.push_pull "both"'.
+ Remove old yacc.c tests, and update push.c tests to yacc.c.
+
+2008-02-17 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ * data/bison.m4 (b4_percent_code_get): Output %code block comments like
+ `"%code top" blocks' instead of `%code "top" blocks'.
+ * data/push.c: Import yacc.c changes from 2008-01-09 and 2007-08-03.
+ Clean up whitespace in the output a little.
+
+2008-02-16 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix documentation problems reported by Tim Josling at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00013.html>.
+ * NEWS (2.3a+): Mention removal of --no-parser, -n, and %no-parser.
+ * doc/bison.texinfo (Token Decl): Token numbers are *nonnegative*
+ integers. Explain the effect of literal string aliases on error
+ messages. Copy token 0 documentation from the C++ skeleton
+ documentation.
+
+2008-02-16 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Accept a token number in a %left, %right, or %nonassoc for POSIX
+ conformance. Reported by Tim Josling at
+ <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00010.html>.
+ * NEWS (2.3a+): Mention.
+ * doc/bison.texinfo (Precedence Decl): Describe how literal strings
+ and code numbers are treated by precedence declarations.
+ * src/parse-gram.y (precedence_declaration): Use symbols.prec instead
+ of symbols.1.
+ (symbols.prec): New, just like symbols.1 but uses symbol.prec instead
+ of symbol.
+ (symbol.prec): New, just like symbol but allows INT.
+ * src/symtab.c (symbol_user_token_number_set): Remove an aver that no
+ longer holds.
+ * tests/regression.at (Token number in precedence declaration): New
+ test case.
+
+2008-02-06 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ DJGPP specific issues.
+ * djgpp/config.bat: Add filenames that are not 8.3 clean and that must
+ be changed. Copyright timestamp adjusted.
+ * djgpp/config.sed: Add filenames that are not 8.3 clean and that must
+ be changed. Copyright timestamp adjusted.
+ * djgpp/config.site: Copyright timestamp adjusted.
+ * djgpp/config_h.sed: Copyright timestamp adjusted.
+ * djgpp/djunpack.bat: Copyright timestamp adjusted.
+ * djgpp/fnchnage.lst: Add filenames that are not 8.3 clean to the
+ filename translation list.
+ * djgpp/subpipe.c (init_subpipe): Check the environment variables
+ TMPDIR, TMP and TEMP, in that order, to determinate where the temp
+ files shall be created. Before trying to use the temp dir where the
+ environment variable points to check that the dir really exists. If
+ not default to the cwd as temp dir. Copyright timestamp adjusted.
+ * djgpp/subpipe.h: Copyright timestamp adjusted.
+ * djgpp/testsuite.sed: Copyright timestamp adjusted.
+
+2008-01-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/bison.texinfo: Update Back-Cover text to reflect new GNU wording.
+
+2008-01-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/yacc.c (yyparse): Correct the comment when locations aren't used.
+ Problem reported by Claudio Saavedra in
+ <http://lists.gnu.org/archive/html/bug-bison/2008-01/msg00003.html>.
+
+2008-01-05 Wojciech Polak <polak@gnu.org>
+
+ * data/xslt/xml2xhtml.xsl (xsl:template match="/"): Precede an XHTML
+ document's title with the input grammar file name.
+
+2007-12-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Automate regression testing of the XML/XSLT implementation. Discussed
+ starting at
+ <http://lists.gnu.org/archive/html/bison-patches/2007-11/msg00021.html>.
+ * configure.ac (XSLTPROC): New substitution.
+ * Makefile.am (maintainer-xml-check): New phony target invoking...
+ * tests/Makefile.am (maintainer-xml-check): ... this new phony target
+ invoking make maintainer-check with BISON_TEST_XML=1.
+ * tests/atlocal.in (XSLTPROC): New.
+ * tests/local.at (AT_BISON_CHECK): New macro to (1) instruct Valgrind
+ not to report reachable memory when Bison is expected to have a
+ non-zero exit status and (2) to compare XML/XSLT output with --graph
+ and --report=all output for every working grammar when
+ BISON_TEST_XML=1.
+ (AT_BISON_CHECK_NO_XML): Likewise, but skip XML checks.
+ (AT_BISON_CHECK_XML): New.
+ (AT_QUELL_VALGRIND): New.
+ * tests/testsuite.at (ORIGINAL_AT_CHECK): Remove this and...
+ (AT_CHECK): ... don't redefine this since this was the old way to
+ quell Valgrind.
+ * tests/actions.at: Rewrite all AT_CHECK invocations for bison as
+ AT_BISON_CHECK invocations.
+ * tests/c++.at: Likewise.
+ * tests/calc.at: Likewise.
+ * tests/conflicts.at: Likewise.
+ * tests/cxx-type.at: Likewise.
+ * tests/existing.at: Likewise.
+ * tests/glr-regression.at: Likewise.
+ * tests/headers.at: Likewise.
+ * tests/input.at: Likewise.
+ * tests/java.at: Likewise.
+ * tests/output.at: Likewise.
+ * tests/push.at: Likewise.
+ * tests/reduce.at: Likewise.
+ * tests/regression.at: Likewise.
+ * tests/sets.at: Likewise.
+ * tests/skeletons.at: Likewise.
+ * tests/synclines.at: Likewise.
+ * tests/torture.at: Likewise.
+ (Big triangle): Use AT_BISON_CHECK_NO_XML instead since this grammar
+ tends to hang xsltproc.
+ (Big horizontal): Likewise.
+