]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Use git-version-gen for version names between releases.
[bison.git] / ChangeLog
index 662d7bcb914bb47eb162a600bbe1d15b38609954..35a839c6f16191f1aa516dd99fd558f970b1a813 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+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.
+
+2007-12-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In XML output, remove redundant class attribute on symbol element.
+       * data/xslt/bison.xsl (xsl:key name="bison:symbolByName"): New.
+       * data/xslt/xml2xhtml.xsl (xsl:template match="symbol"): Use it to
+       look up a symbol to determine whether it's a nonterminal or terminal.
+       * src/gram.c (rule_rhs_print_xml): Remove class attribute.
+       * src/state.c (state_rule_lookahead_tokens_print_xml): Likewise.
+
+       Add prec/assoc information to XML output.
+       * src/gram.c (grammar_rules_print_xml): For each rule that has a
+       %prec, add a percent_prec attribute.
+       * src/print-xml.c (print_grammar): For each terminal that has a
+       precedence or associativity, add a prec or assoc attribute.
+       (xml_indent): New.
+       (xml_puts): Use xml_indent.
+       (xml_printf): Use xml_indent.
+       * src/print-xml.h (xml_indent): Prototype.
+
+       * tests/existing.at (GNU pic Grammar): Fix a rule miscopied from
+       <http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
+
+2007-12-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/xslt/bison.xsl (bison:ruleNumber): Rename to...
+       (bison:ruleByNumber): ... this for clarity.
+       * data/xslt/xml2dot.xsl (xsl:template match="item"): Update.
+       * data/xslt/xml2text.xsl (xsl:template match="item"): Update.
+       (xsl:template match="reduction"): Update.
+       (xsl:template match="item"): Update.
+       (xsl:template match="reduction"): Update.
+
+       In the XML output, don't print the list of rules where symbols appear.
+       Compute it in XSLT instead.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00024.html>.
+       * data/xslt/bison.xsl (bison:ruleByLhs): New.
+       (bison:ruleByRhs): New.
+       * data/xslt/xml2text.xsl (xsl:template match="terminal"): Use
+       bison:ruleByRhs.
+       (xsl:template match="terminal/rule"): Remove.
+       (xsl:template match="nonterminal"): Use bison:ruleByLhs and
+       bison:ruleByRhs.
+       (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"):
+       Remove.
+       * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Use
+       bison:ruleByRhs and mode="number-link" for rule template.
+       (xsl:template match="terminal/rule"): Remove.
+       (xsl:template match="nonterminal"): Use bison:ruleByLhs and
+       bison:ruleByRhs and mode="number-link" for rule template.
+       (xsl:template match="nonterminal/left/rule|nonterminal/right/rule"):
+       Rewrite as...
+       (xsl:template match="rule" mode="number-link"): ... this.
+       * src/print-xml.c (print_grammar): Don't print the list of rules.
+
+2007-12-01  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Don't let --report affect XML output; always print all information.
+       Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00020.html>.
+       * src/conflicts.c (log_resolution): Implement.
+       * src/print-xml.c (print_core): Implement.
+       (print_state): Implement.
+       (print_xml): Implement.
+
+       * NEWS (2.3a+): Fix quotes.
+       * src/parse-gram.y (prologue_declaration): For consistency with -v,
+       don't let %verbose clear the list specified by --report.
+
+2007-11-26  Akim Demaille  <akim@epita.fr>
+
+       * data/Makefile.am (dist_pkgdata_DATA): Ship and install bison.xsl.
+
+2007-11-24  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In the XML output, list useless and unused symbols and rules with the
+       useful ones and add a "usefulness" attribute.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00017.html>.
+       * src/gram.c (grammar_rules_partial_print_xml): Remove.
+       (grammar_rules_print_xml): Print all rules instead of just those
+       useful in the grammar, and add a "usefulness" attribute.
+       * src/gram.h (grammar_rules_partial_print_xml): Remove prototype.
+       * src/print-xml.c (print_rules_useless_in_parser): Remove.
+       (print_grammar): Print all nonterminals instead of just useful ones,
+       and add a "usefulness" attribute to nonterminals and terminals.
+       (print_xml): Don't print a separate "reductions" or
+       "rules-useless-in-parser" element.
+       * src/reduce.c (reduce_output): Use reduce_token_unused_in_grammar.
+       (reduce_xml): Remove.
+       (reduce_token_unused_in_grammar): New.
+       (reduce_nonterminal_useless_in_grammar): New.
+       * src/reduce.h (reduce_xml): Remove prototype.
+       (reduce_token_unused_in_grammar): Add prototype.
+       (reduce_nonterminal_useless_in_grammar): Add prototype.
+       * data/xslt/xml2text.xsl: Update for XML changes.
+       * data/xslt/xml2xhtml.xsl: Update for XML changes.
+       * tests/reduce.at (Useless Terminals): Update output.
+       (Useless Rules): Update output.
+       (Reduced Automaton): Update output.
+
+       Say "Terminals unused in grammar" instead of "Unused terminals".
+       * NEWS (2.3a+): Update.
+       * doc/bison.texinfo (Understanding): Update example output.
+       * src/reduce.c (reduce_output): Implement.
+       * data/xslt/xml2text.xsl: Implement.
+       * data/xslt/xml2xhtml.xsl: Implement.
+
+2007-11-18  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Accept --report-file=FILE to override the default `.output' filename.
+       * NEWS (2.3a+): Mention.
+       * doc/bison.texinfo (Bison Options): Add an entry.
+       * src/files.c (compute_output_file_names): Don't override
+       spec_verbose_file if already set.
+       * src/getargs.c (usage): Document --report-file.
+       (REPORT_FILE_OPTION): New anonymous enum member.
+       (long_options): Add entry for it.
+       (getargs): Add case for it setting spec_verbose_file.
+
+       * build-aux/cross-options.pl: Don't record a short option just because
+       there's an arg.
+       * doc/.cvsignore: Add yacc.1.
+
+2007-11-14  Akim Demaille  <akim@epita.fr>
+
+       * doc/yacc.1.in: New.
+       * configure.ac, doc/Makefile.am: Adjust.
+       * configure.ac (PACKAGE_COPYRIGHT_YEAR): New substitution, and new
+       config.h symbol.
+       Use AC_SUBST for assignments too.
+       * src/getargs.c (version): Use PACKAGE_COPYRIGHT_YEAR.
+
+2007-11-10  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/gram.c: Remove comments that duplicate comments in gram.h.
+
+       When reporting useless rules and nonterminals, say "useless in grammar"
+       instead of "useless", and say "useless in parser" instead of "never
+       reduced".  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-10/msg00033.html>.
+       * NEWS (2.3a+): Mention this change.
+       * data/xslt/xml2text.xsl: Update output text and expected input XML
+       element names to match changes below.
+       * data/xslt/xml2xhtml.xsl: Likewise.
+       (xsl:template match="bison-xml-report"): Add missing entry in Table of
+       Contents: "Rules useless in parser due to conflicts".
+       * doc/bison.texinfo (Decl Summary): Reword a little.
+       (Understanding): Update example output for changes below.
+       * src/gram.c: (rule_useful_p): Rename to...
+       (rule_useful_in_grammar_p): ... this.
+       (rule_useless_p): Rename to...
+       (rule_useless_in_grammar_p): ... this.
+       (rule_never_reduced_p): Rename to...
+       (rule_useless_in_parser_p): ... this.
+       (grammar_rules_print): Update for renames.
+       (grammar_rules_print_xml): Update for renames.
+       (grammar_rules_never_reduced_report): Rename to...
+       (grammar_rules_useless_report): ... this since it is used for either
+       kind of useless rule.
+       * src/gram.h: Reword comments and update function names in prototypes.
+       * src/main.c (main): Say "rule useless in parser due to conflicts".
+       * src/print-xml.c (print_rules_never_reduced): Rename to...
+       (print_rules_useless_in_parser): ... this, and rename output XML
+       element "rules-never-reduced" to "rules-useless-in-parser".
+       (print_xml): Update for rename.
+       * src/print.c (print_results): Say "Rules useless in parser due to
+       conflicts".
+       * src/reduce.c (reduce_grammar_tables): Say "rule useless in grammar".
+       (nonterminals_reduce): Say "nonterminal useless in grammar".
+       (reduce_output): Say "Nonterminals useless in grammar".
+       Say "Rules useless in grammar".
+       (reduce_xml): Rename output XML element "useless" to
+       "useless-in-grammar".
+       (reduce_print): Don't report the count of grammatically useless rules
+       as "rules never reduced" just because %yacc is specified.
+       In the correct report of this count, say nonterminal(s) and rule(s)
+       "useless in grammar".
+       * tests/conflicts.at (S/R in initial): Update expected output.
+       (Defaulted Conflicted Reduction): Likewise.
+       (Unreachable States After Conflict Resolution): Likewise.
+       * tests/existing.at (GNU pic Grammar): Likewise.
+       * tests/reduce.at (Useless Nonterminals): Likewise.
+       (Useless Rules): Likewise.
+       (Reduced Automaton): Likewise.
+       (Underivable Rules): Likewise.
+       (Empty Language): Likewise.
+
+2007-11-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/bison.m4 (b4_cat): Put a newline after the end delimiter of the
+       here document and before the EOF so that BSD's implementation of Bourne
+       shell doesn't parse the delimiter as part of the here document.
+       * doc/.cvsignore: Add cross-options.texi.
+       * src/getargs.c (usage): Add a blank line after the warning categories.
+
+2007-11-08  Paolo Bonzini  <bonzini@gnu.org>
+
+       * data/lalr1.java (Lexer): Remove usage of b4_pure_if.
+
+2007-11-05  Akim Demaille  <akim@epita.fr>
+
+       Remove Id: from bison.1.
+       * doc/Makefile.am (remove_time_stamp): Include the sed invocation.
+       (perl -0777 -pi -e 's/\.PP\nId): New.
+       (.x.1): Use it to ignore the version control revision.
+
+2007-11-05  Akim Demaille  <demaille@gostai.com>
+
+       * build-aux/Makefile.am: Ship cross-options.pl.
+       * doc/Makefile.am: Always refer to cross-options.texi with
+       $(srcdir).
+       (MAINTAINERCLEANFILES): Add it.
+
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Generate the long/short option cross-table.
+       * build-aux/cross-options.pl: New.
+       * doc/Makefile.am (cross-options.texi): New.
+       * doc/bison.texinfo: Use it.
+
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Generate bison.1 using help2man.
+       * doc/common.x, doc/bison.x: New.
+       * doc/Makefile.am (bison.1, .x.1): New.
+       The code is taken from autoconf-2.61/man/Makefile.am.
+       * configure.ac: Look for help2man.
+
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Complete --help.
+       * src/getargs.c (usage): Document -W, make it clear that -d,
+       -g and -x have optional arguments.
+
+2007-11-04  Akim Demaille  <demaille@gostai.com>
+
+       Find sha1sum when named gsha1sum.
+       * bootstrap (find_tool): New.
+       ($SHA1SUM): New.
+
+2007-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Deprecate %pure-parser and add `%define api.pure'.  Discussed starting
+       at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00006.html>.
+       * NEWS (2.3a+): Mention.
+       * data/bison.m4 (b4_pure_if): Don't define it here.
+       * data/c.m4 (b4_identification): Depend on individual skeletons to
+       define b4_pure_flag, b4_push_flag, or b4_pull_flag if they use the
+       values of the %define variables api.pure or api.push_pull.  Define
+       YYPURE, YYPUSH, and YYPULL accordingly.
+       * data/glr.c: Define b4_pure_if based on `%define api.pure' unless
+       glr.cc has already defined b4_pure_flag.
+       * data/push.c: Define b4_pure_if based on `%define api.pure'.
+       Remove YYPUSH and YYPULL since they're back in b4_identification again.
+       * data/yacc.c: Define b4_pure_if based on `%define api.pure'.
+       * doc/bison.texinfo (Pure Decl): Update.
+       (Push Decl): Update.
+       (Decl Summary): Add api.pure to %define entry.
+       In %pure-parser entry, say it's deprecated and reference %define.
+       (Pure Calling): Update.
+       (Error Reporting): Update.
+       (C++ Scanner Interface): Update.
+       (How Can I Reset the Parser): Update.
+       (Table of Symbols): In %pure-parser entry, say it's deprecated and
+       reference %define.
+       * src/getargs.c (pure_parser): Remove global variable.
+       * src/getargs.h (pure_parser): Remove extern.
+       * src/output.c (prepare): Don't define pure_flag muscle.
+       * src/parse-gram.y (prologue_declaration): Implement %pure-parser as a
+       wrapper around `%define api.pure'.
+       * tests/calc.at (Simple LALR Calculator): Update.
+       (Simple GLR Calculator): Update.
+       * tests/cxx-type.at (GLR: Resolve ambiguity, pure, no locations):
+       Update.
+       (GLR: Resolve ambiguity, pure, locations): Update.
+       (GLR: Merge conflicting parses, pure, no locations): Update.
+       (GLR: Merge conflicting parses, pure, locations): Update.
+       * tests/glr-regression.at (Uninitialized location when reporting
+       ambiguity): Update
+       * tests/input.at (Unused %define api.pure): New test case.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Update definition for
+       AT_PURE_IF and AT_PURE_AND_LOC_IF.
+       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update.
+
+2007-10-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       %define push_pull -> %define api.push_pull.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00005.html>.
+       * data/push.c: Expect the new name.
+       * data/yacc.c: Likewise.
+       * doc/bison.texinfo (Push Decl): Update.
+       (Decl Summary): Update %define entry.
+       (Push Parser Function): Update.
+       (Pull Parser Function): Update.
+       (Parser Create Function): Update.
+       (Parser Delete Function): Update.
+       * tests/calc.at (Simple LALR Calculator): Update.
+       * tests/input.at (%define enum variables): Update.
+       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update.
+       (Push Parsing: Multiple impure instances): Update.
+       (Push Parsing: Unsupported Skeletons): Update.
+       * tests/torture.at (Exploding the Stack Size with Alloca): Update.
+       (Exploding the Stack Size with Malloc): Update.
+
+       * NEWS (2.3a+): Add an entry for the push parser, and clean up the
+       other entries some.
+
+2007-10-27  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       For the XML output's terminal element, rename @number to @token-number,
+       and add @symbol-number.  In the nonterminal element, rename @number to
+       @symbol-number.  Discussed starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2007-10/msg00040.html>.
+       * data/xslt/xml2text.xsl (xsl:template match="terminal"): Update for
+       renames.
+       (xsl:template match="nonterminal"): Likewise.
+       * data/xslt/xml2xhtml.xsl (xsl:template match="terminal"): Likewise.
+       (xsl:template match="nonterminal"): Likewise.
+       * src/print-xml.c (print_grammar): Implement.
+
+2007-10-21  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * data/xslt/xml2dot.xsl (xsl:template match="automaton/state"): After
+       2007-10-11 change, the child elements here are items not rules.
+       (xsl:template match="item"): New.
+       (xsl:template match="rule"): Update for new reduced itemset.
+       (xsl:template match="point"): Remove.
+       (xsl:template match="empty"): For consistency with --graph, don't
+       output "/* empty */".
+       * data/xslt/xml2text.xsl (xsl:template match="terminal"): When invoking
+       line-wrap, don't pass a negative value as first-line-length since this
+       won't work with the following changes.
+       (xsl:template name="line-wrap"): Simplify slightly.
+       (xsl:template name="ws-search"): Eliminate recursion.
+       * src/print_graph.c (print_core): Don't print a reduction's lookahead
+       set next to an item whose dot is not at the end of the RHS even if it
+       happens to be associated with the same rule.
+
+2007-10-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add %define lr.keep_unreachable_states.
+       * NEWS (2.3a+): Mention it in the entry for unreachable state removal.
+       * doc/bison.texinfo (Decl Summary): Mention it in the %define entry.
+       * src/main.c (main): Implement it.
+       * tests/conflicts.at (Unreachable States After Conflict Resolution):
+       Extend to test it, and fix a typo.
+
+2007-10-19  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * NEWS (2.3a+): Add entry for recent .output file lookahead set fix.
+       * doc/bison.texinfo (Understanding): Remove a bogus lookahead set in
+       the example .output text.
+       * tests/regression.at (Extra lookahead sets in report): Improve wording
+       of comments.
+
+2007-10-17  Wojciech Polak  <polak@gnu.org>
+
+       * src/print-xml.c (print_grammar): Renamed
+       <terminal> and <nonterminal> attributes:
+       "type" to "number" and "symbol" to "name".
+       * data/xslt/xml2text.xsl (xsl:template match="terminal"):
+       Use new attribute names.
+       (xsl:template match="nonterminal"): Likewise.
+       * data/xslt/xml2xhtml.xsl: Likewise.
+
+2007-10-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * doc/bison.texinfo (Bison Options): Add entry for --print-datadir.
+       (Option Cross Key): Likewise.
+
+       * src/print-xml.c (print_core): Don't print a reduction's lookahead set
+       next to an item whose dot is not at the end of the RHS even if it
+       happens to be associated with the same rule.
+       * src/print.c (print_core): Likewise.
+       * tests/conflicts.at (Unresolved SR Conflicts): Update output.
+       (Resolved SR Conflicts): Update output.
+       * tests/regression.at (Extra lookahead sets in report): New test case.
+
+2007-10-11  Wojciech Polak  <polak@gnu.org>
+
+       * src/print-xml.c (print_core): Remove item set
+       redundancy.
+       * data/xslt/bison.xsl (bison:ruleNumber): New key.
+       Improve processing time. Suggested by Joel E. Denny.
+       * data/xslt/xml2dot.xsl (xsl:template name="escape"):
+       Write xsl:param "required" attribute as comment.
+       * data/xslt/xml2text.xsl (xsl:template match="item"): New.
+       (xsl:template match="rule"): Support new reduced itemset.
+       (xsl:template match="point"): Remove.
+       * data/xslt/xml2xhtml.xsl: Likewise.
+
+2007-10-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/getargs.c (version): Update copyright year.
+
+2007-10-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Make xml2dot.xsl and --graph produce the same output.
+       * data/xslt/xml2dot.xsl (xsl:template match="rule"): Use a `&#10;'
+       instead of a `\n'.  That is, don't add escapes yet or they'll be doubly
+       escaped later.
+       (xsl:template name="output-node"): Use the new escape template instead
+       of the string-replace template directly.
+       (xsl:template name="output-edge"): Likewise.
+       (xsl:template name="escape"): New, escapes backslashes and newlines in
+       addition to quotation marks.
+       * src/graphviz.c (start_graph, output_node, output_edge): Add
+       whitespace to output for legibility.
+
+       Make xml2text.xsl and --report produce the same output, and remove the
+       XML "conflicts" element since a conflict summary is easily extracted
+       from the automaton.
+       * data/xslt/bison.xsl: New.
+       (xsl:template match="state" mode="bison:count-conflicts): New.
+       * data/xslt/xml2text.xsl: Import bison.xsl.
+       (xsl:template match="bison-xml-report"): Instead of styling the
+       "conflicts" element, style the "automaton" element with mode
+       "conflicts".  Unlike the former, the latter lists S/R and R/R
+       conflicts for a state on the same line.
+       (xsl:template match="conflicts"): Remove.
+       (xsl:template match="conflict"): Remove.
+       (xsl:template match="terminal"): Line-wrap the list of rules in which
+       the terminal is used.
+       (xsl:template match="nonterminal"): Likewise for nonterminals.
+       (xsl:template match="automaton" mode="conflicts"): New.
+       (xsl:template match="state" mode="conflicts"): New.
+       (xsl:template name="line-wrap"): New.
+       (xsl:template name="ws-search"): New.
+       * data/xslt/xml2xhtml.xsl: Import bison.xsl.
+       (xsl:template match="bison-xml-report"): Instead of styling the
+       "conflicts" element, style the "automaton" element with mode
+       "conflicts."
+       (xsl:template match="conflicts"): Remove.
+       (xsl:template match="conflict"): Remove.
+       (xsl:template match="automaton" mode="conflicts"): New.
+       (xsl:template match="state" mode="conflicts): New.
+       * src/conflicts.c (conflicts_output_xml): Remove.
+       * src/conflicts.h (conflicts_output_xml): Remove prototype.
+       * src/print-xml.c (print_xml): Don't invoke conflicts_output_xml.
+       * src/print.c (print_grammar): Consistently wrap at the 66th column so
+       the corresponding XSLT is easier.  Also, never wrap between a word and
+       the comma that follows it.
+
+2007-10-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Improve C++ namespace support.  Discussed starting at
+       <http://lists.gnu.org/archive/html/help-bison/2007-09/msg00016.html>.
+       * data/c++.m4: (b4_namespace_ref, b4_namespace_open,
+       b4_namespace_close): New macros that interpret the %define variable
+       "namespace" so its value can contain "::" to indicate nested
+       namespaces.
+       * data/glr.cc (b4_namespace): Don't define, and replace all uses with
+       the above macros.
+       * data/lalr1.cc (b4_namespace): Likewise.
+       * data/location.cc (b4_namespace): Likewise.
+       * doc/bison.texinfo (Decl Summary): Move `%define push_pull' entry
+       inside a new table in the general %define entry.  Document `%define
+       namespace' there as well.  Point the %name-prefix entry to it since it
+       explains it more completely in the case of C++.
+       (C++ Bison Interface): Mention `%define namespace' instead of
+       %name-prefix.
+       (Table of Symbols): Remove the `%define push_pull' entry.  The %define
+       entry suffices.
+       * tests/c++.at (Relative namespace references): New test case.
+       (Absolute namespace references): New test case.
+       (Syntactically invalid namespace references): New test case.
+       * tests/input.at (C++ namespace reference errors): New test case.
+
+2007-10-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Add syncline support and location accessor to internal %define
+       interfaces.
+       * data/bison.m4 (b4_percent_define_get_loc): New.
+       (b4_percent_define_get_syncline): New.
+       (b4_percent_define_flag_if): Use b4_percent_define_get_loc.
+       (b4_percent_define_default): Record defining location as line 1 rather
+       than 0 for the sake of synchronizing #line's, and define
+       b4_percent_define_syncline(VARIABLE).
+       (b4_percent_define_check_values): Use b4_percent_define_get_loc.
+       * src/muscle_tab.c (muscle_syncline_grow): New.
+       (muscle_code_grow): Use muscle_syncline_grow.
+       (muscle_percent_define_insert): Use muscle_percent_define_get_loc, and
+       define b4_percent_define_syncline(VARIABLE).
+       (muscle_percent_define_get_loc): New.
+       (muscle_percent_define_get_syncline): New.
+       (muscle_percent_define_flag_if): Use muscle_percent_define_get_loc, and
+       remove some unused variables.
+       (muscle_percent_define_default): Record defining location as line 1
+       rather than 0 for the sake of synchronizing #line's, and define
+       b4_percent_define_syncline(VARIABLE).
+       (muscle_percent_define_check_values): Use
+       muscle_percent_define_get_loc.
+       * src/muscle_tab.h (muscle_percent_define_get_loc): Prototype.
+       (muscle_percent_define_get_syncline): Prototype.
+       * tests/skeletons.at (%define Boolean variables: invalid skeleton
+       defaults): Update output for location change.
+       (Complaining during macro argument expansion): Extend to test
+       b4_percent_define_get_loc and b4_percent_define_get_syncline errors.
+
+2007-10-07  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Fix some error-reporting macro bugs.
+       * data/bison.m4 (b4_cat): New.
+       (b4_error, b4_error_at): Use b4_cat to send error directives directly
+       to stdout so they don't become arguments to other macros.  Update
+       comments and add examples.
+       (b4_warn, b4_warn_at, b4_complain, b4_complain_at): Update comments and
+       add examples.
+       (b4_fatal, b4_fatal_at): Likewise, and invoke m4_exit(1) immediately
+       after printing the error directive so that M4 doesn't report subsequent
+       problems that are induced by this problem.
+       * src/scan-skel.l: Recognize @` digraph outside of directive arguments
+       instead of just in them.  Recognize @\n in both places.  Both expand to
+       the empty string.  Needed by b4_cat.
+       * tests/skeletons.at (Complaining during macro argument expansion):
+       New test case.
+       (Fatal errors make M4 exit immediately): New test case.
+
+2007-10-04  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Implement --print-datadir.
+       * src/getargs.c (usage): Mention.
+       (PRINT_DATADIR_OPTION): New anonymous enum member.
+       (long_options): Add entry for it.
+       (getargs): Add case for it calling compute_pkgdatadir.
+       * src/output.c (output_skeleton): Encapsulate data directory
+       computation from here...
+       (prepare): ... and from here...
+       (compute_pkgdatadir): ... into this new function.
+       * src/output.h (compute_pkgdatadir): Prototype.
+
+2007-09-29  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * src/print-xml.c (escape_bufs): New static global variable
+       replacing...
+       (xml_escape_n): ... the static local variable buf here.
+       (print_xml): Free memory for escape_bufs.
+       * src/reduce.c (reduce_xml): XML-escape terminal symbol tags.
+
+2007-09-25  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Replace `%push-parser' and `%push-pull-parser' with
+       `%define push_pull "push"' and `%define push_pull "both"'.
+       `%define push_pull "pull"' is the default.
+       * doc/bison.texinfo (Push Decl, Push Parser Function,
+       Pull Parser Function, Parser Create Function, Parser Delete Function):
+       Update declarations.
+       (Decl Summary, Table of Symbols): Replace %push-parser and
+       %push-pull-parser entries with a %define push_pull entry.
+       * data/bison.m4 (b4_percent_define_check_values): New macro.
+       (b4_pull_if, b4_push_if, b4_use_push_for_pull_if): Move these
+       definitions...
+       * data/c.m4 (b4_identification): ... and the YYPUSH and YYPULL cpp
+       definitions...
+       * data/push.c: ... to here and compute them from the value of the
+       %define variable push_pull.
+       * data/c-skel.m4: Instead of choosing the push.c skeleton for push
+       parsing requests here...
+       * data/yacc.c: ... hack this to switch to push.c any time
+       b4_use_push_pull_flag or the %define variable push_pull is set.  This
+       will go away when we mv push.c yacc.c.
+       * data/c++-skel.m4, data/glr.c, data/java-skel.m4: Don't report that
+       push parsing is not supported since unused %define variables are
+       reported anyway.
+       * src/getargs.c, src/getargs.h (pull_parser, push_parser): Remove.
+       * src/muscle_tab.h (muscle_percent_define_check_values): Update
+       comments for consistency with b4_percent_define_check_values.
+       * src/output.c (prepare): Don't insert b4_pull_flag and b4_push_flag
+       muscles.
+       * src/parse-gram.y (PERCENT_PUSH_PARSER, PERCENT_PUSH_PULL_PARSER):
+       Remove.
+       (prologue_declaration): Remove %push-parser and %push-pull-parser
+       rules.
+       * src/scan-gram.l (%push-parser, %push-pull-parser): Remove rules.
+       * tests/calc.at: Update declarations.
+       * tests/input.at (%define enum variables): New test case.
+       * tests/push.at (Push Parsing: Memory Leak for Early Deletion): Update
+       declaration.
+       (Push Parsing: Multiple impure instances): Update declaration.
+       (Push Parsing: Unsupported Skeletons): New test case.
+       * tests/torture.at (Exploding the Stack Size with Alloca): Update
+       declaration.
+       (Exploding the Stack Size with Malloc): Update declaration.
+
+2007-09-24  Wojciech Polak  <polak@gnu.org>
+
+       Add XSLT transformations.
+
+       * data/xslt/xml2dot.xsl: Transform XML into DOT.
+       * data/xslt/xml2text.xsl: Transform XML into plain text.
+       * data/xslt/xml2xhtml.xsl: Transform XML into XHTML.
+       * data/Makefile.am (xsltdir): New variable.
+       (dist_xslt_DATA): Add xslt/*.xsl files.
+
+2007-09-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/conflicts.c (log_resolution): Fix indenting bugs I introduced.
+       Problem reported by Wojciech Polak.
+       * src/print-xml.c (xml_puts): Work even if LEVEL exceeds INT_MAX/2.
+       (xml_printf): Undo change I made on 21 September; that is,
+       indent 2 spaces, not 1.
+
+2007-09-23  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Pacify ./configure --enable-gcc-warnings.
+       * src/print-xml.c, src/print-xml.h (xml_puts): Make third argument
+       `char const *' instead of `char *'.
+       * src/state.c (state_rule_lookahead_tokens_print_xml): Remove unused
+       local variable `sep'.
+
+2007-09-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * src/gram.c (rule_rhs_print_xml): Now static, since it isn't used
+       elsewhere.
+       * src/print-xml.c: Prefer "const" after types; that's more consistent.
+       (xml_printf): Indent just 1 space for level.
+       (e_char, xlate_char): Remove.
+       (xml_escape_string): Rewrite to avoid undefined behavior (used
+       storage that was freed from the stack).
+       (xml_escape_n): Don't bother checking for subscript error.
+
+2007-09-21  Wojciech Polak  <polak@gnu.org>
+
+       Add Bison XML Automaton Report.
+
+       Add support for an -x option to generate an XML report.
+       It is not documented yet.
+       * src/print-xml.c: New file.
+       * src/print-xml.h: Likewise.
+       * lib/timevar.def (TV_XML): New var.
+       * src/Makefile.am (bison_SOURCES): Add print-xml.c, print-xml.h.
+       * src/conflicts.c: Include print-xml.h.
+       (solved_conflicts_xml_obstack): New var.
+       (log_resolution, conflicts_solve, conflicts_free):
+       Add support for XML report.
+       (conflicts_output_val): New function.
+       * src/conflicts.h (conflicts_output_val): New decl.
+       * src/files.c (spec_xml_file): New var.
+       (compute_output_file_names, output_file_names_free): Add XML support.
+       * src/files.h (spec_xml_file): New decl.
+       * src/getargs.c (xml_flag): New var.
+       (usage, short_options, long_options, getargs): Add XML support.
+       * src/getargs.h (xml_flag): New decl.
+       * src/gram.c: Include print-xml.h.
+       (rule_lhs_print_xml, rule_rhs_print_xml):
+       (grammar_rules_partial_print_xml, grammar_rules_print_xml):
+       New functions.
+       * src/gram.h: Declare external ones.
+       * src/main.c: Include print-xml.h.
+       (main): Add XML support.
+       * src/reduce.c: Include print-xml.h.
+       (reduce_xml): New function.
+       * src/reduce.h: Declare it.
+       * src/state.c: Include print-xml.h.
+       (state_new): Add XML support.
+       (state_rule_lookahead_tokens_print_xml): New function.
+       * src/state.h: Declare it.
+       (struct state): New member solved_conflicts_xml.
+       * src/symtab.c (symbol_class_get_string): New function.
+       * src/symtab.h: Declare it.
+
+2007-09-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * GNUmakefile: Switch to coreutils's version.
+       * bootstrap: Likewise.
+       * Makefile.cfg: Adjust to new GNUmakefile.
+       * README-hacking: Likewise.
+
+       Import from gnulib:
+
+       2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
+                   Bruno Haible  <bruno@clisp.org>
+
+       * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
+       and is a script that invokes bison. Tighten the code. Add comments.
+
+2007-08-28  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Spell "boolean" as "Boolean".  Reported by Akim Demaille.
+       * data/bison.m4 (b4_percent_define_flag_if): Fix complaint.
+       * doc/bison.texinfo (Decl Summary): Fix.
+       * src/muscle_tab.c (muscle_percent_define_flag_if): Fix complaint.
+       * tests/input.at (Boolean %define variables): Update output.
+       * tests/skeletons.at (%define boolean variables: invalid skeleton
+       defaults): Rename to...
+       (%define Boolean variables: invalid skeleton defaults): ... this and
+       update output.
+
+2007-08-17  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       In impure push mode, don't allow more than one yypstate to be allocated
+       since multiple impure parsers would corrupt yynerrs.
+       * data/push.c (yypstate_allocated): New static global variable
+       initialized to 0.
+       (yypull_parse): If yypstate_new returns 0, don't report it as memory
+       exhaustion if yypstate_allocated is 1, but still return 2.
+       (yypstate_new): Invoke yyerror and return 0 if yypstate_allocated is
+       already 1.  Otherwise, set it to 1.
+       (yypstate_delete): Set it to 0.
+       * tests/push.at (Push Parsing: Multiple impure instances): New test
+       case.
+
+2007-08-17  Bob Rossi  <bob@brasko.net>
+
+       * doc/bison.texinfo (Push Decl): Document the push parser.
+       (Table of Symbols): Ditto.
+       (Pure Decl): Ditto.
+       (Decl Summary): Ditto.
+       (Multiple Parsers, Push Parser Function, Pull Parser Function,
+       Parser Create Function, Parser Delete Function):
+       Add new push parser symbols.
+       (Table of Symbols): Document push-parser, push-pull-parser,
+       yypush_parse, yypull_parse, yypstate_new and yypstate_delete.
+
 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
 
        Update to GPLv3.
 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
 
        Update to GPLv3.
 
 2007-03-07  Paolo Bonzini  <bonzini@gnu.org>
 
 
 2007-03-07  Paolo Bonzini  <bonzini@gnu.org>
 
-        * data/java.m4 (b4_single_class_if): Remove.
-        (b4_abstract_if): Look at "%define abstract".
-        (b4_lexer_if): New.
-        (b4_union_name): Rename...
-        (b4_yystype): ... to this.  Map to "%define stype".
-        (b4_rhs_value, b4_parse_param_decl, b4_lex_param_decl,
-        b4_maybe_throws): Fix quoting.
-        (b4_lex_param_call): Move below to keep b4_*_param_decl close.
-        * data/lalr1.java (Lexer interface): Always define.
-        (Lexer interface within parser class): Remove.
-        (YYLexer class): New, used when "%code lexer" is present.
-        (constructor): When "%code lexer" is used, pass %lex-param
-        to the lexer constructor.
-        (yylex, yyparse): Remove %lex-param from method invocations
-        (YYStack, yyaction, yyparse): Rename b4_union_name to b4_yystype.
-
-        * doc/bison.texinfo (Java Bison Interface): Mention "%define
-        abstract".  Rename "%define union_name" to "%define stype".
-        Rename method names according to previous patch.
-        (Java Scanner Interface): Describe "%code lexer" instead of
-        "%pure-parser" and "%define single_class".
-        (Java Differences): Mention "%code lexer".
-
-        * tests/java.at (_AT_DATA_JAVA_CALC_Y): Remove final argument.
-        Include scanner here, using macros from tests/local.at.
-        (AT_DATA_CALC_Y): Remove final argument.
-        (_AT_CHECK_JAVA_CALC): Likewise.
-        (AT_CHECK_JAVA_CALC): Likewise.  Test all four combinations
-        of %locations and %error-verbose.
-        (main): Test with and without %lex-param.
-        * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_LEXPARAM_IF.
-        (AT_BISON_OPTION_POPDEFS): Pop it.
+       * data/java.m4 (b4_single_class_if): Remove.
+       (b4_abstract_if): Look at "%define abstract".
+       (b4_lexer_if): New.
+       (b4_union_name): Rename...
+       (b4_yystype): ... to this.  Map to "%define stype".
+       (b4_rhs_value, b4_parse_param_decl, b4_lex_param_decl,
+       b4_maybe_throws): Fix quoting.
+       (b4_lex_param_call): Move below to keep b4_*_param_decl close.
+       * data/lalr1.java (Lexer interface): Always define.
+       (Lexer interface within parser class): Remove.
+       (YYLexer class): New, used when "%code lexer" is present.
+       (constructor): When "%code lexer" is used, pass %lex-param
+       to the lexer constructor.
+       (yylex, yyparse): Remove %lex-param from method invocations
+       (YYStack, yyaction, yyparse): Rename b4_union_name to b4_yystype.
+
+       * doc/bison.texinfo (Java Bison Interface): Mention "%define
+       abstract".  Rename "%define union_name" to "%define stype".
+       Rename method names according to previous patch.
+       (Java Scanner Interface): Describe "%code lexer" instead of
+       "%pure-parser" and "%define single_class".
+       (Java Differences): Mention "%code lexer".
+
+       * tests/java.at (_AT_DATA_JAVA_CALC_Y): Remove final argument.
+       Include scanner here, using macros from tests/local.at.
+       (AT_DATA_CALC_Y): Remove final argument.
+       (_AT_CHECK_JAVA_CALC): Likewise.
+       (AT_CHECK_JAVA_CALC): Likewise.  Test all four combinations
+       of %locations and %error-verbose.
+       (main): Test with and without %lex-param.
+       * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_LEXPARAM_IF.
+       (AT_BISON_OPTION_POPDEFS): Pop it.
 
 2007-03-07  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
 
 
 2007-03-07  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
 
        -----
 
        Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
        -----
 
        Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
-       1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+       1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
        Free Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this
        notice are preserved.
        Free Software Foundation, Inc.
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice and this
        notice are preserved.
-
-$Id$