X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/f16b08196c780556cbf50691e2944960aebc46f6..0925d5bfd40aac15b9c55cd1b60e28befc4bd55d:/ChangeLog

diff --git a/ChangeLog b/ChangeLog
index 662d7bcb..f562d3a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1334 @@
+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.
+
+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.
@@ -335,38 +1666,38 @@
 
 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>
 
@@ -19514,11 +20845,9 @@
 	-----
 
 	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.
-
-$Id$