X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/be16239bf7c03d49673f7651ff3a12a3b0da77d1..da12206a7c7fd16bdeb0fa716c029eec1309176d:/ChangeLog?ds=sidebyside

diff --git a/ChangeLog b/ChangeLog
index c0c758cd..f4d7374d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1257 @@
+2004-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Version 2.0.  Reformat the existing news items since
+	1.875, so that related items are grouped together.
+	* configure.ac (AC_INIT): Bump version to 1.875f.
+	* src/parse-gram.c, src/parse-gram.h: Regenerate with 2.0.
+
+	* data/lalr1.cc (yydestruct_): Pacify unused variable warning
+	for yymsg, too.
+
+	* src/LR0.c (new_itemsets): Use memset rather than zeroing by
+	hand.  This avoids a warning about comparing int to size_t when
+	GCC warnings are enabled.
+
+2004-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Bison-generated parsers no longer default to using the
+	alloca function (when available) to extend the parser stack, due
+	to widespread problems in unchecked stack-overflow detection.
+	* data/glr.c (YYMAXDEPTH): Remove undef when zero.  It's the user's
+	responsibility to set it to a positive value.  This lets the user
+	specify a value that is not a preprocessor constant.
+	* data/yacc.c (YYMAXDEPTH): Likewise.
+	(YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero.
+	* doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs
+	to be a compile-time constant.  However, explain the constraints on it.
+	Also, explain the constraints on YYINITDEPTH.
+	(Table of Symbols): Explain that alloca is no longer the default.
+	Explain the user's responsibility if they define YYSTACK_USE_ALLOCA
+	to 1.
+
+	* doc/bison.texinfo (Location Default Action): Mention that n must
+	be zero when k is zero.  Suggested by Frank Heckenbach.
+
+2004-12-22  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (parser::token_number_type, parser::rhs_number_type)
+	(parser::state_type, parser::semantic_type, parser::location_type):
+	Private, not public.
+	(parser::parse): Return ints, not bool.
+	Returning a bool introduces a problem: 0 corresponds to false, and
+	it seems weird to return false on success.  Returning true changes
+	the conventions for yyparse.
+	Alternatively we could return void and send an exception.
+	There is no clear consensus (yet?).
+	(state_stack, semantic_stack, location_stack): Rename as...
+	(state_stack_type, semantic_stack_type, location_stack_type): these.
+	Private, not public.
+	* tests/c++.at: New.
+	* tests/testsuite.at, tests/Makefile.am: Adjust.
+
+2004-12-21  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (parser::parse): Return a bool instead of an int.
+
+2004-12-21  Akim Demaille  <akim@epita.fr>
+
+	Don't impose std::string for filenames.
+
+	* data/lalr1.cc (b4_filename_type): New.
+	(position::filename): Use it.
+	(parser.hh): Move the inclusion of stack.hh and location.hh below
+	the user code, so that needed headers for the filename type can be
+	included first.
+	Forward declare them before the user code.
+	* tests/Makefile.am (check-local, installcheck-local): Pass
+	TESTSUITEFLAGS to the TESTSUITE.
+
+2004-12-20  Akim Demaille  <akim@epita.fr>
+
+	Use more STL like names: my_class instead of MyClass.
+
+	* data/lalr1.cc (LocationStack, LocationType, RhsNumberType)
+	(SemanticStack, SemanticType, StateStack, StateType)
+	(TokenNumberType, Stack, Slice, Traits, Parser::location)
+	(Parser::value): Rename as...
+	(location_stack, location_type, rhs_number_type, semantic_stack)
+	(semantic_type, state_stack, state_type, token_number_type, stack)
+	(slice, traits, parser::yylloc, parser::yylval): these.
+
+	* tests/calc.at, tests/regression.at, tests/actions.at: Adjust.
+
+2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (YYLLOC_DEFAULT): Use GNU spacing conventions.
+	* data/yacc.c (YYLLOC_DEFAULT): Likewise.
+
+2004-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove uses of 'short int' and 'unsigned short int'.  This raises
+	some arbitrary limits.  It uses more memory but nowadays that's
+	not much of an issue.
+
+	This change does not affect the generated parsers; that's a different
+	task, as some users will want to conserve memory there.
+
+	Ideally we should use size_t to represent all object counts, and
+	something like ptrdiff_t to represent signed differences of object
+	counts; but that will require more code-cleanup than I have the
+	time to do right now.
+
+	* src/LR0.c (allocate_itemsets, new_itemsets, save_reductions):
+	Use size_t, not int or short int, to count objects.
+	* src/closure.c (nritemset, closure): Likewise.
+	* src/closure.h (nritemset, closure): Likewise.
+	* src/nullable.c (nullable_compute): Likewise.
+	* src/print.c (print_core): Likewise.
+	* src/print_graph.c (print_core): Likewise.
+	* src/state.c (state_compare, state_hash): Likewise.
+	* src/state.h (struct state): Likewise.
+	* src/tables.c (default_goto, goto_actions): Likewise.
+
+	* src/gram.h (rule_number, rule): Use int, not short int.
+	* src/output.c (prepare_rules): Likewise.
+	* src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions,
+	errs, reductions): Likewise.
+	* src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol):
+	Likewise.
+	* src/tables.c (vector_number, tally, action_number,
+	ACTION_NUMBER_MINIMUM): Likewise.
+	* src/output.c (muscle_insert_short_int_table): Remove.
+
+2004-12-17  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc: Extensive Doxygenation.
+	(error_): Rename as...
+	(error): this, since it is visible to the user.
+	Adjust callers.
+	(Parser::message): Now an automatic variable from...
+	(Parser::yyreport_syntax_error_): here.
+	* tests/actions.at, tests/calc.at, tests/regression.at: Adjust to
+	Parser::error.
+	* tests/input.at: Escape $.
+
+2004-12-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):
+	Parenthesize rhs to avoid obscure problems with mistakes like
+	"foo$$bar = foo$1bar;".  Problem reported by twlevo at xs4all.
+	* data/lalr1.cc (b4_lhs_value, b4_rhs_value, b4_lhs_location,
+	b4_rhs_location): Likewise.
+	* data/yacc.c (b4_lhs_value, b4_rhs_value, b4_lhs_location,
+	b4_rhs_location): Likewise.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (yyreport_syntax_error_): Catch up with glr.c and
+	yacc.c: be sure to stay within yycheck_.
+	* tests/actions.at: Re-enable C++ tests.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+	* src/print_graph.c (print_graph): Remove layoutalgorithm uses for
+	real.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+	Use #define to handle the %name-prefix.
+
+	* data/glr.c, data/yacc.c: Comment changes.
+	* data/lalr1.cc (yylex): Use #define to select the name of yylex,
+	so that one can refer to yylex in the parser file, and have it
+	renamed, as is the case with other skeletons.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+	Move lalr1.cc internals into yy*.
+
+	* data/lalr1.cc (semantic_stack_, location_stack_, state_stack_)
+	(semantic_stack_, location_stack_, pact_, pact_ninf_, defact_)
+	(pgoto_, defgoto_, table_, table_ninf_, check_, stos_, r1_, r2_)
+	(name_, rhs_, prhs_, rline_, token_number_, eof_, last_, nnts_)
+	(empty_, final_, terror_, errcode_, ntokens_)
+	(user_token_number_max_, undef_token_, n_, len_, state_, nerrs_)
+	(looka_, ilooka_, error_range_, nerrs_):
+	Rename as...
+	(yysemantic_stack_, yylocation_stack_, yystate_stack_)
+	(yysemantic_stack_, yylocation_stack_, yypact_, yypact_ninf_)
+	(yydefact_, yypgoto_, yydefgoto_, yytable_, yytable_ninf_)
+	(yycheck_, yystos_, yyr1_, yyr2_, yyname_, yyrhs_, yyprhs_)
+	(yyrline_, yytoken_number_, yyeof_, yylast_, yynnts_, yyempty_)
+	(yyfinal_, yyterror_, yyerrcode_, yyntokens_)
+	(yyuser_token_number_max_, yyundef_token_, yyn_, yylen_, yystate_)
+	(yynerrs_, yylooka_, yyilooka_, yyerror_range_, yynerrs_):
+	these.
+
+2004-12-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix some problems reported by twlevo at xs4all.
+	* src/symtab.c (symbol_new): Report an error if the input grammar
+	contains too many symbols.  This is better than calling abort() later.
+	* src/vcg.h (enum layoutalgorithm): Remove.  All uses removed.
+	(struct node, struct graph):
+	Rename member expand to stretch.  All uses changed.
+	(struct graph): Remove member layoutalgorithm.  All uses removed.
+	* src/vcg.c (get_layoutalgorithm_str): Remove.  All uses removed.
+	* src/vcg_defaults.h (G_STRETCH): Renamed from G_EXPAND.
+	All uses changed.
+	(N_STRETCH): Rename from N_EXPAND.  All uses changed.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc: Normalize /** \brief ... */ to ///.
+	Add more Doxygen comments.
+	(symprint_, stack_print_, reduce_print_, destruct_, pop)
+	(report_syntax_error_, translate_): Rename as...
+	(yysymprint_, yystack_print_, yyreduce_print_, yydestruct_)
+	(yypop_, yyreport_syntax_error_, yytranslate_): this.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (lex_): Rename as...
+	(yylex_): this.
+	Move the trace here.
+	Take the %name-prefix into account.
+	Reported by Alexandre Duret-Lutz.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+	Simplify the C++ parser constructor.
+
+	* data/lalr1.cc (debug_): Rename as...
+	(yydebug_): so that the parser's internals are always in the yy*
+	pseudo namespace.
+	Adjust uses.
+	(b4_parse_param_decl): Remove the leading comma as it is now only
+	called as unique argument list.
+	(Parser::Parser): Remove the constructor accepting a location and
+	an initial debugging level.
+	Remove from the other ctor the argument for the debugging level.
+	(debug_level_type, debug_level, set_debug_level): New.
+
+	* tests/actions.at, tests/calc.at, tests/regression.at: Adjust
+	constructor calls.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+	Remove b4_root related material: failure experiment
+	(which goal was to allow to derive from a class).
+
+	* data/lalr1.cc (b4_root, b4_param, b4_constructor): Remove
+	definitions and uses.
+
+2004-12-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (struct yyGLRStack): yyerror_range now has 3 items,
+	not 2, since it's not portable to subtract 1 from the start of an
+	array.  The new item 0 is never set or used.  All uses changed.
+
+	(yyrecoverSyntaxError): Use YYLLOC_DEFAULT instead of assuming
+	the default definition of YYLLOC_DEFAULT.  Problem reported
+	by Frank Heckenbach.
+
+2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (YYRHSLOC): Don't have two definitions, one for
+	the normal case and one for the error case.  Just use the
+	first one uniformly.  Problem reported by Frank Heckenbach.
+	(YYLLOC_DEFAULT): Use the conventions of yacc.c, so we can
+	use exactly the same macro in both places.
+	(yyerror_range): Now of type yyGLRStackItem, not YYLTYPE,
+	so that the normal-case YYRHSLOC works for the error case too.
+	All uses changed.
+	* data/yacc.c (YYRHSLOC): New macro, taken from glr.c.
+	(YYLLOC_DEFAULT): Use the same macro as glr.c.
+	* doc/bison.texinfo (Location Default Action): Don't claim that
+	we have an array of locations.  Use the same macro for both glr
+	and lalr parsers.  Mention YYRHSLOC.  Mention what happens when
+	the index is 0.
+
+2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* HACKING: Update email addresses to send announcements to.
+
+	* configure.ac (AC_INIT): Bump version to 1.875f.
+
+2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Version 1.875e.
+	* src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875e.
+
+	* src/scan-skel.l: Include "complain.h", for "fatal".
+
+	* src/relation.h (relation_print, relation_digraph):
+	Relation sizes are of type relation_node, not size_t (this is
+	merely a doc fix, since the two types are equivalent).
+	(relation_transpose): Relation sizes are of type relation_node,
+	not int.
+	* src/relation.c: Likewise.
+	(top, infinity): Now of type relation_node, not int.
+	(traverse, relation_transpose): Use relation_node, not int.
+
+	* data/glr.c (yyuserAction, yyrecoverSyntaxError): Mark args
+	with ATTRIBUTE_UNUSED if they're not used, to avoid GCC warning.
+	(yyparse): Remove unused local introduced in 2004-10-25 patch.
+
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg
+	specifying whether the test should be skipped.  Use it tp
+	specify that the [%defines %skeleton "lalr1.cc"] tests currently
+	fail on some hosts, and should be skipped.
+
+2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/system.h (CALLOC, MALLOC, REALLOC): Remove.  All callers
+	changed to use xcalloc, xnmalloc, xnrealloc, respectively,
+	unless otherwise specified below.
+
+	* src/LR0.c (allocate_itemsets): Use xnmalloc, not xcalloc,
+	to allocate kernel_base, kernel_items, kernel_size, since
+	they needn't be initialized to 0.
+	(allocate_storgae): Likewise, for shiftset, redset, shift_symbol.
+	* src/closure.c (new_closure): Likewise, for itemset.
+	* src/derives.c (derives_compute): Likewise, for delts, derives, q.
+	* src/lalr.c (set_goto_map): Likewise, for temp_map.
+	(initialize_F): Likewise, for reads, edge, reads[i], includes[i].
+	(build_relations): Likewise for edge, states1, includes.
+	* src/nullable.c (nullable_compute): Likewise, for squeue, relts.
+	* src/reader.c (packgram): Likewise, for ritem, rules.
+	* src/reduce.c (nonterminals_reduce): Likewise for nontermmap.
+	* src/relation.c (relation_digraph): Likewise for VERTICES.
+	(relation_transpose): Likewise for new_R, end_R.
+	* src/symtab.c (symbols_token_translations_init): Likewise for
+	token_translations.
+	* src/tables.c (save_row): Likewise for froms, tos, conflict_tos.
+	(token_actions): Likewise for yydefact, actrow, conflrow,
+	conflict_list.
+	(save_column): Likewise for froms[symno], tos[symno].
+	(goto_actions): Likewise for state_count.
+	(pack_table): Likewise for base, pos, check.
+	(tables_generate): Likewise for width.
+
+	* src/LR0.c (set_states): Don't reuse kernel_size and kernel_base
+	for initial core.  Just have a separate core, so we needn't worry
+	about whether kernel_size and kernel_base are initialized.
+
+	* src/LR0.c (shift_symbol, redset, shiftset, kernel_base,
+	kernel_size, kernel_items): Remove unnecessary initialization.
+	* src/conflicts.c (conflicts): Likewise.
+	* src/derives.c (derives): Likewise.
+	* src/muscle_tablc (muscle_insert): Likewise.
+	* src/relation.c (relation_digraph): Likewise.
+	* src/tables.c (froms, tos, conflict_tos, tally, width, actrow, order,
+	conflrow, conflict_table, conflict_list, table, check):
+	Likewise.
+
+	* src/closure.c (new_closure): Arg is of type unsigned int, not int.
+	This is because all callers pass unsigned int.
+	* src/closure.h (new_closure): Likewise.
+
+	* src/lalr.c (initialize_F): Initialize reads[i] in all cases.
+	(build_relations): Initialize includes[i] in all cases.
+	* src/reader.c (packgram): Always initialize rules[ruleno].prec
+	and rules[ruleno].precsym.  Initialize members in order.
+	* src/relation.c (relation_transpose): Always initialize new_R[i]
+	and end_R[i].
+	* src/table.c (conflict_row): Initialize 0 at end of conflict_list.
+
+	* src/output.c (prepare_actions): Pass 0 instead of conflict_list[0];
+	conflict_list[0] was always 0, but now it isn't initialized.
+
+	* src/table.c (table_grow): When conflict_table grew, the grown
+	area wasn't cleared.  Fix this.
+
+	* lib/.cvsignore: Add strdup.c, strdup.h.
+	* m4/.cvsignore: Add strdup.m4.
+
+2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/lalr.h (GOTO_NUMBER_MAXIMUM): New macro.
+	* src/lalr.c (set_goto_map): Don't allow ngotos to equal
+	GOTO_NUMBER_MAXIMUM, since we occasionally compute
+	ngotos + 1 without checking for overflow.
+	(build_relations): Use END_NODE, not -1, to denote end of edges.
+	* src/lalr.c (set_goto_map, map_goto, initialize_F, add_loopback_edge,
+	build_relations): Use goto_number, not int, for goto numbers.
+	* src/tables.c (save_column, default_goto): Likewise.
+
+2004-11-23  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (YYSTYPE): Define it as is done for C, instead
+	of #defining from yystype.
+	Don't typedef yystype, C++ does not need it.
+	This lets it possible to forward declare it as union.
+
+2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* bootstrap (gnulib_modules): Add extensions.
+	Problem reported by Jim Meyering.
+
+2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/LR0.c, src/closure.c, src/derives.c, src/gram.c,
+	src/lalr.c, src/nullable.c, src/relation.c, src/scan-skel.l,
+	src/system.h, src/tables.c: XFREE -> free, to accommodate
+	recent change to gnulib xalloc.h.
+	Problem reported by Jim Meyering.
+
+2004-11-17  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (symprint_): Use cdebug_ to avoid warnings.
+
+2004-10-28  Akim Demaille  <akim@epita.fr>,
+	    Alexandre Duret-Lutz <adl@gnu.org>
+
+	* data/lalr1.cc (Parser::yycdebug_): New, a pointer, to allow
+	changes.
+	(YYCDEBUG): Adjust.
+	Use it instead of cdebug_.
+	(Parser::debug_stream, Parser::set_debug_stream): New.
+	(Parser::symprint_): Define cdebug_ for temporary backward
+	compatibility.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use
+	debug_stream ().
+
+2004-11-17  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser:print_): Remove, use %printer instead.
+	* tests/regression.at (_AT_DATA_DANCER_Y): Adjust.
+	* tests/calc.at (_AT_DATA_CALC_Y): Ditto.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.
+
+2004-10-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (yyloc_default): Remove; not used.
+	Problem reported by Frank Heckenbach.
+
+2004-10-25  Akim Demaille  <akim@epita.fr>
+
+	* data/glr.c (YYRHSLOC): Move its definition next to its uses.
+	Introduce another definition to address simple location arrays.
+	(yyGLRStack): New member: yyerror_range.
+	(yyrecoverSyntaxError, yyparse): Update it.
+	(yyrecoverSyntaxError): Use it when shifting the error token to
+	have an accurate range, equivalent to the one computed by both
+	yacc.c and lalr1.cc.
+	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Change its yylex so
+	that column numbers start at column 0, as per GNU Coding
+	Standards, the others tests, and the doc.
+	(_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT_WITH_LOC):
+	Adjust to the above change (first column is 0).
+	And adjust the location of the "<error>", now covering the whole
+	line.
+
+2004-10-22  Akim Demaille  <akim@epita.fr>
+       and  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove some arbitrary limits on goto numbers and relations.
+	* src/lalr.c (goto_map, ngotos, from_state, to_state): Omit
+	initial values, since they're never used.
+	(set_goto_map): ngotos is now unsigned, so test for overflow
+	by seeing whether it wraps around to zero.
+	* src/lalr.h (goto_number): Now size_t, not short int.
+	(GOTO_NUMBER_MAXIMUM): Remove.
+	* src/relation.c (relation_print, traverse, relation_transpose):
+	Check for END_NODE rather than looking at sign.
+	* src/relation.h (END_NODE): New macro.
+	(relation_node): Now size_t, not short int.
+
+2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/bison.texinfo (Language and Grammar): In example, "int" is a
+	keyword, not an identifier.  Problem reported by Baron Schwartz in
+	<http://lists.gnu.org/archive/html/bug-bison/2004-10/msg00017.html>.
+
+2004-10-11  Akim Demaille  <akim@epita.fr>
+
+	* src/symtab.c (symbol_check_alias_consistency): Also check
+	type names, destructors, and printers.
+	Reported by Alexandre Duret-Lutz.
+	Recode the handling of associativity and precedence in terms
+	of symbol_precedence_set.
+	Accept no redeclaration at all, not even equal to the previous
+	value.
+	(redeclaration): New.
+	Use it to factor redeclaration complaints.
+	(symbol_make_alias): Don't set the type of the alias, let
+	symbol_check_alias_consistency do it as for other features.
+	* src/symtab.h (symbol): Add new member prec_location, and
+	type_location.
+	* src/symtab.c (symbol_precedence_set, symbol_type_set): Set them.
+	* tests/input.at (Incompatible Aliases): New.
+
+2004-10-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	.cvsignore fixes to accommodate gnulib changes,
+	and the practice of naming build directories "_build".
+	* .cvsignore: Add "_*".  Sort.
+	* lib/.cvsignore: Add getopt_.h, xalloc-die.c.
+	* m4/.cvsignore: Add "*_gl.m4".
+
+2004-10-06  Akim Demaille  <akim@epita.fr>
+
+	* src/parse-gram.y (add_param): Fix the truncation of trailing
+	spaces.
+
+2004-10-05  Akim Demaille  <akim@epita.fr>
+
+	In Bison 1.875's yacc.c, YYLLOC_DEFAULT was called regardless
+	whether the reducion was empty or not.  This leaves room to
+	improve the use of YYLLOC_DEFAULT in such a case.
+	lalr1.cc is still experimental, so changing this is acceptable.
+	And finally, there are probably not many users who changed the
+	handling of locations in GLR, so changing is admissible too.
+
+	* data/glr.c, data/lalr1.cc, data/yacc.c (YYLLOC_DEFAULT): On an
+	empty reduction, set @$ to an empty location ending the previously
+	stacked symbol.
+	Adjust uses to make sure the code is triggered on empty
+	reductions.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust the
+	expected output: empty reductions have empty locations.
+
+2004-09-29  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc: Move towards a more standard C++ coding style
+	for templates: Class < T > -> Class<T>.
+
+2004-09-29  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc: Reinstall the former ctor, for sake of
+	compatibility, but warn it will be removed.
+	Move towards a more standard C++ coding style (i.e., type *var ->
+	type* var).
+
+2004-09-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/parse-gram.y (add_param): Rewrite to avoid strchr,
+	since it's less likely to work if NULs are involved in the future.
+
+2004-09-27  Akim Demaille  <akim@epita.fr>
+
+	* data/yacc.c (YY_LOCATION_PRINT): Fix its default declaration.
+
+2004-09-27  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (b4_parse_param_decl_1): New.
+	(b4_parse_param_decl): Use it to have different names between attribute
+	and argument names.
+	(b4_cc_constructor_call): Likewise.
+
+2004-09-24  Akim Demaille  <akim@epita.fr>
+
+	* src/parse-gram.y (add_param): Strip the leading and trailing
+	blanks from a formal argument declaration.
+	(YY_LOCATION_PRINT): New.
+
+2004-09-24  Akim Demaille  <akim@epita.fr>
+
+	* data/c.m4 (b4_yysymprint_generate): Move the YYINPUT invocation
+	after the location.
+
+2004-09-24  Akim Demaille  <akim@epita.fr>
+
+	* doc/bison.texinfo (Table of Symbols): Sort.
+
+2004-09-21  Akim Demaille  <akim@epita.fr>
+
+	* data/yacc.c, data/glr.c (b4_at_dollar, b4_dollar_dollar): Remove
+	the useless parentheses.
+	Suggested by Paul Eggert.
+
+2004-09-20  Akim Demaille  <akim@epita.fr>
+
+	Let the initial-action act on the look-ahead, and use it for the
+	"initial push" (corresponding to an hypothetical beginning-of-file).
+	And let lalr1.cc honor %initial-action.
+
+	* doc/bison.texinfo (Initial Action Decl): Clarify, and add an
+	example.
+	* data/lalr1.cc (Parser::initlocation_): Remove, bad experiment.
+	(Parser::Parser): Remove the ctor that used to initialize it.
+	(Parser::parse): Like in the other skeletons, issue the "starting
+	parse" message before any action.
+	Honor %initial-action.
+	Initialize the stacks with the lookahead.
+	* data/yacc.c: Let $$ and @$ in %initial-action designate the
+	look-ahead.
+	Push them in the stacks.
+	* tests/actions.at, tests/calc.at: Adjust the C++ ctor invocations.
+
+2004-09-20  Akim Demaille  <akim@epita.fr>
+
+	* doc/bison.texinfo (Initial Action Decl): New.
+
+2004-09-20  Akim Demaille  <akim@epita.fr>
+
+	* data/yacc.c (YY_LOCATION_PRINT): Use YYLTYPE_IS_TRIVIAL as a
+	clearer criterion to define it.
+	(parse): Initialize the initial location when YYLTYPE_IS_TRIVIAL.
+	When reducing on an empty RHS, use the latest stacked location as
+	location.
+	yylloc is not always available.
+	* data/glr.c: Likewise.
+	Also, honor initial-actions.
+
+2004-09-20  Akim Demaille  <akim@epita.fr>
+
+	* data/yacc.c (YY_LOCATION_PRINT): New.
+	Define when we know YYLTYPE's structure, i.e., when the default
+	YYLLOC_DEFAULT is used.
+	* data/c.m4 (b4_yysymprint_generate): Use it.
+	* data/lalr1.cc (YYLLOC_DEFAULT): Stop relying on the initial
+	value of the result.
+	(error_start_): Replace with...
+	(error_range_): this location array.
+	This allows to replace code relying on the implementation of
+	locations by portable code.
+	* data/yacc.c (yylerrsp): Replace with...
+	(yyerror_range): this.
+	Every time a token is popped, update yyerror_range[0], to have an
+	accurate location for the error token.
+	* data/glr.c (YY_LOCATION_PRINT): New.
+	(yyprocessOneStack): Fix an invocation of YY_SYMBOL_PRINT:
+	deference a pointer.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): No longer
+	report the location in %printers.
+
+	* src/scan-skel.l: Instead of abort, report error messages to ease
+	understanding skeleton scanning failures.
+
+2004-09-16  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Stack::Iterator, Stack::ConstIterator): Rename as...
+	(iterator, const_iterator): these, to be more in the C++ spirit.
+	Also, return reverse iterators so that when displaying the stack
+	we display its bottom first.
+	(Parser::stack_print_, Parser::reduce_print_): Match the messages
+	from yacc.c.
+	We should probably use vector here though.
+
+2004-09-16  Akim Demaille  <akim@epita.fr>
+
+	Have more complete shift traces.
+
+	* data/yacc.c, data/lalr1.c, data/glr.c: Use YY_SYMBOL_PRINT
+	to report Shifts instead of ad hoc YYDPRINTF invocations,
+	including for the error token.
+	* data/lalr1.cc (symprint_): Output the location.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): In C++, don't
+	output the location within the %printer.
+	Activate GLR tests, at least to make sure they compile properly.
+	They still don't pass though.
+	* tests/calc.at: Adjust expect verbose output, since now "Entering
+	state..." is on a different line than the "Shifting" message.
+
+2004-09-08  Akim Demaille  <akim@epita.fr>
+
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Move the
+	Bison directive from the Bison file to the invocation of this
+	macro, so that these directives are passed to
+	AT_BISON_OPTION_PUSHDEFS to get correct help macros.
+	Use these helping macros (e.g., AT_LOC, AT_VAL and so forth).
+	Move the AT_SETUP/AT_CLEANUP outside, to report as test title
+	the extra Bison directives instead of the whole series.
+	Change the grammar so that there are recoverable errors, and
+	unrecoverable errors.  Now we can have the parser give up before
+	consuming the whole input.  As a result we now can observe that
+	the lookahead is freed when needed.
+	Change the parser source to parse argv[1] instead of a hard coded
+	string.
+	Simplify yylex, and give a value and location to EOF.
+	Simplify some invocations of AT_CHECK_PRINTER_AND_DESTRUCTOR that
+	passed directives already coded in the file.
+	Add some tests to check the location of "error".
+	For some tests, the C++ parser is correct, and not yacc.c.
+	For other tests, they provide different, but unsatisfying, values,
+	so keep the C++ value so that at least one parser is "correct"
+	according to the test suite.
+	(Actions after errors): Remove, this is subsumed by the
+	AT_CHECK_PRINTER_AND_DESTRUCTOR series.
+
+2004-09-06  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc: Adjust the indentation of the labels.
+        (Parser::pop): New.
+	Use it.
+
+2004-09-06  Akim Demaille  <akim@epita.fr>
+
+	* data/yacc.cc, data/glr.cc (yydestruct): Accept an additional
+	argument, an informative message.
+	Call YY_SYMBOL_PRINT.
+	Adjust all callers: integrate the associated YY_SYMBOL_PRINT.
+	* data/lalr1.cc (destruct_): Likewise.
+	In addition, no longer depend on b4_yysymprint_generate and
+	b4_yydestruct_generate to generate these functions, do it "by
+	hand".
+
+2004-09-03  Akim Demaille  <akim@epita.fr>
+
+	* data/glr.c, data/lalr1.cc, data/yacc.c: When YYABORT was
+	invoked, yydestruct the lookahead.
+	* tests/calc.at (Calculator $1): Update the expected lengths of
+	traces: there is an added line for the discarded lookahead.
+	* doc/bison.texinfo (Destructor Decl): Some rewording.
+	Define "discarded" symbols.
+
+2004-09-02  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (translate_, destruct_): No reason to be static.
+
+2004-09-02  Akim Demaille  <akim@epita.fr>
+
+	* data/glr.c, yacc.c (YYDSYMPRINT): Remove, not used.
+	(YYDSYMPRINTF): Rename as...
+	(YY_SYMBOL_PRINT): this.
+	* data/lalr1.cc (YY_SYMBOL_PRINT): New, modeled after the previous
+	two.
+	Use it instead of direct symprint_ calls.
+	(yybackup): Tweak the "Now at end of input" case to match yacc.c's
+	one.
+
+2004-09-02  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (b4_yysymprint_generate): New.
+	(symprint_): New member function, defined when YYDEBUG.
+	Use it consistently instead of token/nterm debugging output by
+	hand.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust
+	%printer calls to use cdebug_ when using lalr1.cc.
+
+2004-08-30  Florian Krohm  <florian@edamail.fishkill.ibm.com>
+
+	* data/glr.c: Guard the declarations of yypstack and yypdumpstack
+	with #ifdef YYDEBUG.
+
+2004-08-26  Akim Demaille  <akim@epita.fr>
+
+	* doc/bison.texinfo (Implementing Loops): Rename as...
+	(Implementing Gotos/Loops): this.
+
+2004-08-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Adjust to latest gnulib.
+	* bootstrap (gnulib_modules): Add xalloc-die.
+	Set LC_ALL=C so that file names sort consistently.
+	Prefer the gnulib copies of gettext.m4, glibc21.m4,
+	inttypes_h.m4, lib-ld.m4, lib-prefix.m4, po.m4, stdint_h.m4,
+	uintmax_t.m4, ulonglong.m4.
+	(intl_files_to_remove): Add gettext.m4, lib-ld.m4, lib-prefix.m4,
+	po.m4 since we are now using _gl.m4 instead.
+
+2004-08-10  Florian Krohm  <florian@edamail.fishkill.ibm.com>
+
+	* src/scan-action.l: Remove. Scanning of semantic actions is
+	handled in scan-gram.l.
+
+2004-08-07  Florian Krohm  <florian@edamail.fishkill.ibm.com>
+
+	* src/scan-gram.l (handle_syncline): Use uniqstr_new not xstrdup.
+
+	* src/location.h (struct): The file member is a uniqstr.
+	(equal_boundaries): Use UNIQSTR_EQ for comparison.
+
+2004-07-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix bug with non-%union parsers that have printers or destructors,
+	which led to a Bison core dump.  Reported by Peter Fales in
+	<http://lists.gnu.org/archive/html/bug-bison/2004-07/msg00014.html>.
+
+	* data/c.m4 (b4_symbol_actions): Don't assume %union was used.
+	* data/lalr1.cc (yystype) [defined YYSTYPE]: Define to YYSTYPE,
+	not to our own type.
+	* src/output.c (symbol_destructors_output, symbol_printers_output):
+	Don't assume %union.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR,
+	AT_CHECK_PRINTER_AND_DESTRUCTOR): New argument
+	UNION-FLAG.  All callers changed.
+	(_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't assume %union.
+	Use type char, not unsigned int, when declaring an array of char;
+	this lets us remove a cast.
+	(Printers and Destructors): Add non-%union test cases.
+
+2004-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/bison.texinfo: Minor editorial changes, mostly to the new
+	GLR writeups.  E.g., avoid frenchspacing and the future tense,
+	change "lookahead" to "look-ahead", and change "wrt" to "with
+	respect to".
+
+2004-06-21  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+	* doc/bison.texinfo (Merging GLR Parses, Compiler Requirements):
+	New sections, split off from the GLR Parsers section.  Put the new
+	Simple GLR Parser near the start of the GLR section, for clarity.
+	Rewrite connective text.
+
+2004-06-21  Frank Heckenbach  <frank@g-n-u.de>
+
+	* doc/bison.texinfo (Simple GLR Parsers): New section.
+
+2004-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS, TODO, doc/bison.texinfo:
+	Use "look-ahead" instead of "lookahead", to be consistent.
+	* REFERENCES: Fix incorrect reference to DeRemer and Pennello,
+	while we're fixing "look-ahead".
+	* src/conflicts.c (shift_set): Renamed from shiftset.
+	(look_ahead_set): Renamed from lookaheadset.
+	* src/print.c: Likewise.
+	* src/getargs.c (report_args): Add "look-ahead" as the new canonical
+	name for "lookahead".
+	(report_types, usage): Likewise.
+	* src/getargs.h (report_look_ahead_tokens): Renamed from
+	report_lookaheads.
+	* src/lalr.c (compute_look_ahead_tokens): Renamed from
+	compute_lookaheads.
+	(state_look_ahead_tokens_count): Renamed from state_lookaheads_count.
+	(look_ahead_tokens_print): Renamed from lookaheads_print.
+	* src/state.c (state_rule_look_ahead_tokens_print): Renamed from
+	state_rule_lookaheads_print.
+	* src/state.h: Likewise.
+	(reductions.look_ahead_tokens): Renamed from lookaheads.
+	* tests/torture.at (AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR): Renamed from
+	AT_DATA_LOOKAHEADS_GRAMMAR.
+
+2004-06-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* README: Update location of patched M4 distribution.
+
+2004-05-30  Albert Chin-A-Young  <china@thewrittenword.com>
+
+	Don't assume the C++ compiler takes the same arguments as the C compiler
+	(trivial change).
+	* configure.ac (O0CXXFLAGS): New var.
+	* tests/atlocal.in (CXXFLAGS): Use it.
+
+2004-05-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix some "make check" problems with C++ reported by
+	Albert Chin-A-Young for Tru64 C++ in this thread:
+	http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00049.html
+
+	* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check for std::cerr.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
+	Output to a .cc file for C++, not to a .c file.
+	* tests/calc.at (AT_CHECK_CALC): Likewise.
+	* tests/regression.at (AT_CHECK_DANCER): Likewise.
+	* tests/local.at (AT_COMPILE_CXX): Default to OUTPUT.cc, not OUTPUT.c.
+
+2004-05-28  Albert Chin-A-Young  <china@thewrittenword.com>
+
+	* tests/calc.at, tests/actions.at: Workaround for SGI
+	C++ compiler.  (trivial change)
+
+2004-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Spent a few hours checking out which prerequisite versions the
+	current sources actually require.  I went all the way back to
+	Gettext 0.10.40, Automake 1.4, and Autoconf 2.57 and investigated
+	a seemingly endless set of combinations of versions more recent
+	than that.  The bottom line is that the current sources require
+	fairly recent versions of the build tools, and it'll be some work
+	to change this.
+	* configure.ac (AC_PREREQ): Increase from 2.58 to 2.59.
+	(AM_INIT_AUTOMAKE): Increase from 1.7 to 1.8.
+	(AM_GNU_GETTEXT_VERSION): Increase from 0.11.5 to 0.12.
+	Add comments explaining why those particular versions are
+	currently needed.
+
+	* src/parse-gram.y (lloc_default): Rewrite to avoid compiler bug
+	in SGI MIPSpro 7.4.1m.  Problem reported by Albert Chin-A-Young in
+	<http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00037.html>.
+
+	* configure.ac (AC_PREREQ): Bump to 2.58, since 2.57 doesn't work
+	(it fails with a Autoconf-without-aclocal-m4 diagnostic).
+
+2004-05-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* configure.ac (AM_GNU_GETTEXT_VERSION): Lower it from 0.14.1 to
+	0.11.5.  Suggested by Bruno Haible.
+	* bootstrap: Remove gettext version checking.
+
+	* doc/bison.texinfo (Decl Summary): Also mention that %union
+	can depend on prerequisite types.  Problem reported by Tim
+	Van Holder.
+
+2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* README: Mention GNU m4 1.4 bugs and Akim's patched version.
+	* README-alpha: Don't tell people not to package this.
+
+	* bootstrap: Don't assume $(...) works; use `...` instead.
+	Problem reported by Paul Hilfinger.  Also, diagnose non-GNU
+	gettext better.
+
+	* doc/bison.texinfo (Decl Summary, Bison Options): Clarify what's
+	put into the -d output file, and mention what to do if YYSTYPE is
+	defined as a macro.
+
+2004-05-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Undo change made earlier today: it caused autopoint to not bring
+	in ABOUT-NLS.  Ouch.  Instead, substitute our own diagnostic for
+	autopoint's.
+
+	* bootstrap: Check that gettext version matches what's in
+	configure.ac.  Warn users to ignore robots.txt ERROR 404.
+	* bootstrap: Undo today's earlier change (logged below).
+	* configure.ac (AM_GNU_GETTEXT_VERSION): Likewise.
+
+	The gettext version checking is causing more trouble than it's
+	curing; remove it.  Problem reported by Paul Hilfinger.
+
+	* bootstrap: Issue a warning that one can expect a message
+	'AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION'.
+	* configure.ac (AM_GNU_GETTEXT_VERSION): Remove.
+
+2004-05-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Ensure that the C++ compiler used for testing actually works on a
+	simple test program; if not, skip the C++-related tests.  Problem
+	reported by Vin Shelton in:
+	http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00026.html
+
+	* m4/cxx.m4: New file.
+	* configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add.
+	* tests/atlocal.in (BISON_CXX_WORKS): Add.
+	* tests/local.at (AT_COMPILE_CXX): Use it.
+
+2004-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (yylloc): Output this macro even if locations are not
+	being generated, as the GLR parser needs it even in that case.
+	Problem reported by Troy A. Johnson
+	<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=195946>.
+
+	* configure.ac (AC_INIT): Update to 1.875e.
+
+2004-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Version 1.875d.
+	* configure.ac (AC_INIT): Likewise.
+	* src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875d.
+
+	* configure.ac (--enable-gcc-warnings): Do not enable -Wshadow,
+	-Wmissing-prototypes, or -Wstrict-prototypes for C++.  The current
+	lalr1.cc runs afoul of the first, and the last two are no longer
+	supported by GCC 3.4.0.
+	* README: Mention GNU m4 1.4 or later; mention m4 patches.
+	* HACKING: Use ./bootstrap, not "make update" to import foreign files.
+
+2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/muscle_tab.c (hash_muscle): Accept and return size_t, not
+	unsigned int, for compatibility with latest gnulib hash module.
+	* src/state.c (state_hash, state_hasher): Likewise.
+	* src/symtab.c (hash_symbol, hash_symbol_hasher): Likewise.
+	* src/uniqstr.c (hash_uniqstr): Likewise.
+
+2004-05-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Unescaped newlines are no longer allowed in char & strings.
+
+	* src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER,
+	SC_CHARACTER,SC_STRING>): Reject unescaped newlines in
+	character and string literals.
+	(unexpected_end): New function.
+	(unexpected_eof): Use it.
+	(unexpected_newline): New function.
+	(<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>): Coalesce duplicate
+	actions.
+
+	* NEWS: Document %expect-rr.
+
+	* bootstrap (--gnulib-srcdir=*, --cvs-user=*):
+	Fix typo by replacing $1 with $option.
+	Remove more 'intl'-related files.
+	Don't DEFUN AM_INTL_SUBDIR twice.
+
+	* lib/.cvsignore: Add strndup.h.  Remove memchr.c, memcmp.c,
+	memrchr.c, strcasecmp.c, strchr.c, strrchr.c, strspn.c, strtol.c,
+	strtoul.c.
+	* m4/.cvsignore: Add exitfail.m4, extensions.m4, gnulib.m4,
+	hard-locale.m4, mbstate_t.m4, strerror_r.m4, strndup.m4,
+	xstrndup.m4.  Remove glibc21.m4, intdiv0.m4, inttypes-pri.m4,
+	inttypes.m4, inttypes_h.m4, isc-posix.m4, lcmessage.m4,
+	stdint_h.m4, uintmax_t.m4, ulonglong.m4.
+	* src/.cvsignore: Add *.output.
+
+	* src/parse-gram.y: Put copyright notice inside %{ %} so it
+	gets copied to the output file.
+
+2004-04-28  Paul Eggert  <eggert@twinsun.com>
+
+	Get files from the gnulib and po repositories, instead of relying
+	on them being in our CVS.  Upgrade to latest versions of gnulib
+	and Automake.
+
+	* Makefile.am (SUBDIRS): Remove m4; Automake now does m4.
+	* bootstrap: Bootstrap from gnulib and po repositories.
+	Much of this code was stolen from GNU diff and GNU tar's bootstrap.
+	* README-cvs: Document these changes.  Remove version numbers from
+	mentions of build tools, since they change so often.  Mention Flex.
+
+	* configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg.
+	(gl_USE_SYSTEM_EXTENSIONS): Add.
+	(AC_GNU_SOURCE, AC_AIX, AC_MINIX):
+	Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS
+	does this for us.
+	(AC_ISC_POSIX): Remove; we no longer support this
+	ancient OS, as it gets in the way of latest Autoconf & gnulib.
+	(AC_HEADER_STDC): Remove: we now assume C89 or better.
+	(AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS.
+	Do not check for C89 headers, except for locale.h which is used
+	by the Yacc library and must port to K&R hosts.
+	(AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS.
+	Do not check for C89 functions, except for setlocale which is
+	used by the Yacc library.
+	(AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed.
+	(gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR,
+	gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL,
+	gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE,
+	gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC,
+	AM_GNU_GETTEXT): Remove; now done by:
+	(GNULIB_AUTOCONF_SNIPPET): Add.  "bootstrap" builds this for us.
+	(AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this
+	for us.
+
+	* lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap".
+	(BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES):
+	Define to empty, as gnulib.mk will do the rest for us.
+	($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this
+	for us.
+	(libbison_a_SOURCES): Define to $(lib_SOURCES) now.
+	(lib_SOURCES): New symbol, containing only the non-gnulib libs.
+
+	* src/files.c: Include gnulib's xstrndup.h.
+
+	* src/system.h (MALLOC): Use xnmalloc, for better overflow checking.
+	(REALLOC): Use xnrealloc, for likewise.
+	(xstrndup, stpcpy): Remove decls, as gnulib does this for us now.
+	(strnlen, memrchr): Remove decls; functions no longer used.
+	Include <stpcpy.h>.
+
+	* config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c,
+	lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
+	lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
+	lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h,
+	lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c,
+	lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h,
+	lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
+	lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c,
+	lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c,
+	lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h,
+	lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c,
+	m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
+	m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4,
+	m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4,
+	m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4,
+	m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4,
+	m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4,
+	m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in,
+	po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po,
+	po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po,
+	po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po:
+	Remove, as these files are now generated automatically
+	by bootstrap or automake.
+
+	* po/ChangeLog: Remove: all but one entry was a duplicate
+	of this file, and I moved that 2000-11-02 entry here.
+
+	* config/.cvsignore: Add Makefile, depcomp, install-sh.
+	* lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c,
+	argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h,
+	exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c,
+	getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h,
+	hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c,
+	memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h,
+	quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h,
+	strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c,
+	strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c,
+	unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c,
+	xstrndup.h.
+	* m4/.cvsignore: Remove Makefile, Makefile.in.  Add alloca.m4,
+	dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4,
+	mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4,
+	stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4.
+	* po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars.
+	* src/.cvsignore: Remove *_.c.
+
+
+	* Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't
+	support it.  (The latest stable gzip doesn't.)
+
+2004-04-27  Paul Eggert  <eggert@twinsun.com>
+
+	* data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this
+	case, as stos_ is now used by destructors due to the 2004-02-09
+	change.
+
+	Remove more K&R C support.
+	* lib/libiberty.y (PARAMS): Remove.  All uses removed.
+	* lib/subpipe.c (errno): Remove decl.
+	Include <stdlib.h> unconditionally.
+	(EXIT_FAILURE): Remove macro.
+	* src/complain.c (vfprintf, strerror): Remove.
+	* src/system.h: Include limits.h, stdlib.h, string.h, locale.h
+	unconditionally.
+	(EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns.
+	Use latest Autoconf recommendations for including inttypes.h, stdint.h.
+	(strchr, strspn, memchr): Remove decls.
+	* tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h
+	unconditionally.  Do not declare perror.
+	* tests/conflicts.at (%nonassoc and eof): Include stdlib.h
+	unconditionally.
+
+	* src/complain.c (_): Remove useless defn, as system.h defines this.
+
+	* lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed
+	with latest obstack.h.
+	* lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args
+	to procedure types, as obstack.h now does that for us.
+	* lib/lbitset.c (lbitset_elt_alloc): Likewise.
+
+	* lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>,
+	so that this include file can stand alone.
+	* lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h
+	does this now.  Include subpipe.h first after config.h, to
+	test whether it can stand alone.
+
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't
+	declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the
+	unused declaration.
+
+	* tests/synclines.at (%union synch line): Put a dummy member in
+	the union, because empty unions aren't allowed in C.  Caught
+	by GCC 3.4.0.
+
+2004-04-13  Jim Meyering  <jim@meyering.net>
+
+	* src/conflicts.c (conflicts_print): Correct format string typo:
+	use `%%' to produce literal `%'.  (trivial change)
+
+2004-03-30  Paul Eggert  <eggert@twinsun.com>
+
+	* src/getargs.c (version): Update copyright year to 2004.
+
+	* data/c.m4 (b4_int_type): Use 'short int' rather than
+	'short', and similarly for 'long', 'unsigned', etc.
+	* data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum,
+	yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError,
+	yy_yypstack, yydumpstack): Likewise.
+	* data/lalr1.cc (user_token_number_max_, user_token_number_max_,
+	translate_, seq_, [], pop, Slice, range_, operator+, operator+=):
+	Likewise.
+	* data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char,
+	yy_stack_print, yyparse): Likewise.
+	* doc/bison.texinfo (Prologue, Multiple Types): Likewise.
+	* lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise.
+	* lib/bitset.c (bitset_print): Likewise.
+	* lib/bitset_stats.c (bitste_log_histogram_print): Likewise.
+	* lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
+	* lib/bitsetv.c (bitsetv_dump): Likewise.
+	* lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise.
+	* lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset):
+	Likewise.
+	* src/LR0.c (allocate_itemsets): Likewise.
+	* src/gram.h (rule_number, rule): Likewise.
+	* src/lalr.h (goto_number): Likewise.
+	* src/nullable.c (nullable_compute): Likewise.
+	* src/output.c (prepare_rules): Likewise.
+	* src/relation.c (relation_print, relation_digraph): Likewise.
+	* src/relation.h (relation_node): Likewise.
+	* src/state.h (state_number, transitions, errs, reductions,
+	struct state): Likewise.
+	* src/symtab.h (symbol_number, struct symbol): Likewise.
+	* src/tables.c (vector_number, tally, action_number,
+	default_goto, goto_actions): Likewise.
+	* tests/existing.at (GNU Cim Grammar): Likewise.
+	* tests/regression.at (Web2c Actions): Likewise.
+
+	* src/output.c (muscle_insert_short_int_table): Renamed from
+	muscle_insert_short_table.  All uses changed.
+
+2004-03-25  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+	* src/parse-gram.y: Define PERCENT_EXPECT_RR.
+	(declaration): Replace expected_conflicts with expected_sr_conflicts.
+	Add %expect-rr rule.
+
+	* src/scan-gram.l: Recognize %expect-rr.
+
+	* src/conflicts.h (expected_sr_conflicts): Rename from
+	expected_conflicts.
+	(expected_rr_conflicts): Declare.
+
+	* src/conflicts.c (expected_sr_conflicts): Rename from
+	expected_conflicts.
+	(expected_rr_conflicts): Define.
+	(conflicts_print): Check r/r conflicts against expected_rr_conflicts
+	for GLR parsers.
+	Use expected_sr_conflicts in place of expected_conflicts.
+	Warn if expected_rr_conflicts used in non-GLR parser.
+
+	* doc/bison.texinfo: Add documentation for %expect-rr.
+
+2004-03-08  Paul Eggert  <eggert@gnu.org>
+
+	Add support for hex token numbers.  Suggested by Odd Arild Olsen in
+	<http://lists.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
+
+	* NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
+	in lalr1.cc.
+	* doc/bison.texinfo (Token Decl): Add hexadecimal token numbers.
+	* src/scan-gram.l (scan_integer): New function.
+	({int}): Use it.
+	(0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers.
+	(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+,
+	handle_action_dollar, handle_action_at, convert_ucn_to_byte):
+	Say "long int", not "long", for uniformity with GNU style.
+
+2004-02-25  Paul Eggert  <eggert@twinsun.com>
+
+	* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from
+	compilers.  This fixes a problem with Intel's C++ compiler being
+	chatty, reported by Guido Trentalancia in
+	<http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
+
+2004-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Support %destructor and merge error locations in lalr1.cc.
+
+	* data/lalr1.cc (b4_cxx_destruct_def): New macro.
+	(Parser::stos_): Define unconditionally.
+	(Parser::destruct_): New method.  Generate its body with
+	b4_yydestruct_generate.
+	(Parser::error_start_): New attribute.
+	(Parser::parse) <yyerrlab, yyerrlab1>: Call destruct_ on erroneous
+	token which are discarded.
+	(Parser::parse) <yyerrlab, yyerrorlab, yyerrlab1>: Update
+	error_start_ when erroneous token are discarded.
+	(Parser::parse) <yyerrlab1>: Compute the location of the error
+	token so that it covers all the discarded tokens.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust so
+	it can be called with `%skeleton "lalr1.cc"', and do that.
+
+2004-02-02  Paul Eggert  <eggert@twinsun.com>
+
+	* src/Makefile.am (AM_CPPFLAGS): New macro.  It mentions
+	$(top_srcdir)/lib and ../lib.  This fixes a bug reported
+	by Paul Hilfinger; the old INCLUDES value didn't mention ../lib.
+	There's no need to mention top_builddir since Automake does that
+	for us.
+	(INCLUDES): Remove, as Automake says it's obsolescent.
+	Contents migrated into AM_CPPFLAGS as described above.
+	* lib/Makefile.am (INCLUDES): Remove; obsolescent.
+
+2004-01-14  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+	* data/glr.c (yytokenName): Bullet-proof against YYEMPTY token.
+	(yyreportSyntaxError): Handle case where lookahead token is
+	YYEMPTY.
+
 2004-01-13  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
 
 	* data/glr.c: Put casts on uses of YYREALLOC and YYMALLOC so that
@@ -17,7 +1271,7 @@
 	including it.
 	* tests/Makefile.am ($(TESTSUITE)): Remove warning about ignoring
 	multiple inclusion warnings.
-	
+
 2003-12-02  Akim Demaille  <akim@epita.fr>
 
 	* doc/bison.texinfo (How Can I Reset the Parser): More about start
@@ -139,6 +1393,10 @@
 	* data/lalr1.cc (Parser::reduce_print_): Remove unused yyi.
 	From Alexandre Duret-Lutz.
 
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	Version 1.875c.
+
 2003-08-25  Akim Demaille  <akim@epita.fr>
 
 	* data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New.
@@ -153,7 +1411,7 @@
 
 	Have lalr1.cc catch with Paul Eggert's patch to fix the infinite
 	error recovery loops.  This patch is based on
-	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>.
+	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>.
 	Also, augment the similarity between lalr1.cc and yacc.c.
 	Note: the locations of error recovery rules are not correct yet.
 
@@ -202,14 +1460,14 @@
 
 	* data/glr.c (yyglrReduce): Don't use C89 string concatenation,
 	for portability to K&R C (after ansi2knr, presumably).  See
-	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>
+	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>
 	by Frank Heckenbach, though I have omitted the structure-initialization
 	part of his glr-knr.diff patch since I recall that the Portable
 	C Compiler didn't require that change.
 
 	Let the user specify how to allocate and free memory.
 	Derived from a suggestion by Frank Heckenbach in
-	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>.
+	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>.
 	* data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
 	All uses of free, malloc, realloc changed to use these macros,
 	and unnecessary casts removed.
@@ -219,7 +1477,7 @@
 
 	* data/lalr1.cc (operator<<(std::ostream&, const Position&)):
 	use s.empty() rather than s == "" to test for empty string; see
-	<http://mail.gnu.org/archive/html/bison-patches/2003-07/msg00003.html>
+	<http://lists.gnu.org/archive/html/bison-patches/2003-07/msg00003.html>
 	(trivial change)
 
 2003-06-25  Akim Demaille  <akim@epita.fr>
@@ -242,7 +1500,7 @@
 	yyreportTree): Do not assume that size_t is the same width as int,
 	when printing sizes.  Print sizes using an unsigned format.
 	Problem reported by Frank Heckenbach in
-	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>.
+	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>.
 
 	Port to Forte Developer 7 C compiler.
 	* data/glr.c (struct YYLTYPE): If locations are not being used,
@@ -287,7 +1545,7 @@
 	(ATTRIBUTE_UNUSED): Define unconditionally.
 
 	Upgrade to 2003-06-08 libbitset, submitted by Michael Hayes in:
-	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00005.html>
+	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00005.html>
 	* lib/Makefile.am (bitsets_sources): Add vbitset.c, vbitset.h.
 	* lib/vbitset.c, lib/vbitset.h: New files.
 	* lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
@@ -407,7 +1665,7 @@
 	* tests/local.at (AT_COMPILE_CXX): Use it instead of CFLAGS.
 
 	Fix a GLR parser bug I reported in February; see
-	<http://mail.gnu.org/archive/html/bison-patches/2003-02/msg00008.html>.
+	<http://lists.gnu.org/archive/html/bison-patches/2003-02/msg00008.html>.
 	The problem was that GLR parsers did not conform to the C standard,
 	because actions like { $1 = $2 + $3; } expanded to expressions
 	that invoked YYFILL in separate subexpressions, and YYFILL assigned
@@ -428,7 +1686,7 @@
 	parser can loop.  Provide a test case and a fix for yacc.c.  I
 	don't have a fix for lalr1.cc or for glr.c, unfortunately.
 	The original bug report is in:
-	<http://mail.gnu.org/archive/html/bison-patches/2003-02/msg00044.html>
+	<http://lists.gnu.org/archive/html/bison-patches/2003-02/msg00044.html>
 
 	* data/yacc.c (YYERROR): Now just 'goto yyerrorlab', since the
 	macro's size was becoming unwieldy.
@@ -561,14 +1819,14 @@
 	* lib/bitset.h (__INT_TO_PTR): Define to a value that presumes
 	C89.  This avoids a diagnostic on compilers that define __STDC__
 	to 0, fixing a problem with Tru64 cc reported by Martin Mokrejs in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
 
 2003-05-03  Paul Eggert  <eggert@twinsun.com>
 
 	* lib/bitset.h (BITSET_FOR_EACH, BITSET_FOR_EACH_REVERSE):
 	Do not overrun array bounds.
 	This should fix a bug reported today by Olatunji Oluwabukunmi in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-05/msg00004.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-05/msg00004.html>.
 
 2003-04-29  Akim Demaille  <akim@epita.fr>
 
@@ -600,7 +1858,7 @@
 2003-04-27  Paul Eggert  <eggert@twinsun.com>
 
 	Avoid gcc -Wundef warnings reported by Gerald Pfeifer in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00044.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00044.html>.
 	* data/yacc.c (YYSTACK_ALLOC): Don't evaluate YYSTACK_USE_ALLOCA
 	if it is not defined.
 	(YYMAXDEPTH): Don't evaluate YYMAXDEPTH if it is not defined.
@@ -612,13 +1870,13 @@
 	type suitable for the corresponding table, since the latter might
 	be unsigned but the ninf value might be negative.  This fixes a
 	bug reported by Alexandre Duret-Lutz in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00017.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00017.html>.
 
 	* configure.ac (AC_FUNC_ERROR_AT_LINE): Remove, since gl_ERROR
 	invokes it.  We shouldn't invoke it twice because it will attempt
 	to put error.o in the archive twice.  This fixes a glitch reported
 	by Martin Mokrejs in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
 
 2003-04-21  Paul Eggert  <eggert@twinsun.com>
 
@@ -645,7 +1903,7 @@
 	* src/conflicts.c (set_conflicts): Resolve all conflicts, not just
 	the first one.  This change is from Paul Hilfinger, and it fixes
 	regression reported by Werner Lemberg in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
 
 	(resolve_sr_conflict): Don't invoke state_errs_set
 	unless one or more tokens have been explicitly made errors.
@@ -694,7 +1952,7 @@
 	(<INITIAL><<EOF>>, <SC_PRE_CODE><<EOF>>): Set *loc to the scanner
 	cursor, instead of leaving it undefined.  This fixes a bug
 	reported by Tim Van Holder in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00023.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-03/msg00023.html>.
 	* tests/input.at (Torturing the Scanner): Test the scanner on
 	an empty input file, which was Tim Van Holder's test case.
 
@@ -702,7 +1960,7 @@
 	<sys/resource.h> can be included, include sys/time.h and
 	sys/times.h first, if available.  This works around the SunOS
 	4.1.4 porting bug reported by Bruce Becker in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00018.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-03/msg00018.html>.
 
 	* m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't
 	AC_CHECK_HEADERS([sys/wait.h]), as this interferes with
@@ -816,7 +2074,7 @@
 
 	* lib/mbswidth.c: Include <wchar.h> before "mbswidth.h", to work
 	around a UnixWare 7.1.1 porting bug reported by John Hughes in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00030.html>.
 
 2003-02-26  Paul Eggert  <eggert@twinsun.com>
 
@@ -831,7 +2089,7 @@
 	* data/glr.c (yy_reduce_print): yylineno -> yylno,
 	to avoid collision with flex use of yylineno.
 	Problem reported by Bruce Lilly in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00016.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00016.html>.
 	* data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
 	* data/yacc.c (yy_reduce_print): Likewise.
 
@@ -901,13 +2159,13 @@
 	* tests/atlocal.in (LDFLAGS, LIBS): New vars.
 	* tests/testsuite.at (AT_COMPILE): Use them.
 	This fixes the testsuite problem reported by Robert Lentz in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00011.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00011.html>.
 
 2003-02-12  Paul Eggert  <eggert@twinsun.com>
 
 	* data/yacc.c (yyerrlab) [YYERROR_VERBOSE]:
 	Avoid subscript error in yycheck.  Bug reported by Andrew Suffield in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00003.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00003.html>.
 	* data/glr.c (yyreportSyntaxError) [YYERROR_VERBOSE]: Likewise.
 	Check for malloc failure, for consistency with yacc.c.
 	(yytname_size): Remove, for consistency with yacc.c.
@@ -1037,7 +2295,7 @@
 
 	Changes in response to error report by S. Eken: GLR mode does not
 	handle negative $ indices or $ indices in embedded rules correctly.
-	See <http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00076.html>.
+	See <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00076.html>.
 
 	* data/glr.c (b4_rhs_value): Change to use YYFILL macro.
 	(b4_rhs_location): Ditto.
@@ -1068,8 +2326,8 @@
 	* data/lalr1.cc: Do not use @output_header_name@ unless
 	b4_defines_flag is set.  This fixes two bugs reported by
 	Tim Van Holder in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00071.html>
-	and <http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00073.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00071.html>
+	and <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00073.html>.
 
 2003-01-21  Paul Eggert  <eggert@twinsun.com>
 
@@ -1087,7 +2345,7 @@
 
 	* src/output.c (symbol_printers_output): Fix typo that led
 	to core dump.  Problem reported by Antonio Rus in
-	<http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00058.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00058.html>.
 
 2003-01-13  Akim Demaille  <akim@epita.fr>,
 		Quoc Peyrot <chojin@lrde.epita.fr>,
@@ -1105,7 +2363,7 @@
 	* NEWS: %expect-violations are now just warnings, reverting
 	to Bison 1.30 and 1.75 behavior.  This fixes the GCC 3.2
 	bootstrapping problem reported by Matthias Klose; see
-	<http://mail.gnu.org/archive/html/bug-bison/2003-01/msg00053.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00053.html>.
 	* src/conflicts.c (conflicts_print): Likewise.
 	* tests/conflicts.at (%expect not enough, %expect too much,
 	%expect with reduce conflicts): Likewise.
@@ -1233,7 +2491,7 @@
 
 	Fix a bug where error locations were not being recorded correctly.
 	This problem was originally reported by Paul Hilfinger in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00086.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00086.html>.
 
 	* data/yacc.c (yyparse): New local var yylerrsp, to record the
 	top of the location stack's error locations.
@@ -1281,7 +2539,7 @@
 
 	Remove obsolete references to bison.simple and bison.hairy.
 	Problem mentioned by Aubin Mahe in
-	<http://mail.gnu.org/archive/html/help-bison/2002-12/msg00010.html>.
+	<http://lists.gnu.org/archive/html/help-bison/2002-12/msg00010.html>.
 	* data/glr.c: Comment fix.
 	* doc/bison.1: Remove references.  Also, mention "yacc".
 
@@ -1416,7 +2674,7 @@
 	* config/install-sh: Sync with autotools.
 
 	Fix a bad interaction with flex 2.5.23 reported by Bruce Lilly in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
 	* data/yacc.c (YYLTYPE, struct yyltype): Do not define unless
 	locations are requested.
 	(union yyalloc): Do not depend on YYLTYPE_IS_TRIVIAL unless
@@ -1697,7 +2955,7 @@
 	sequences like "@" that are treated specially by src/scan-skel.l.
 	Instead, just use the file's basename.  This fixes the bug
 	reported by Martin Mokrejs in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-12/msg00007.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-12/msg00007.html>.
 
 2002-12-06  Paul Eggert  <eggert@twinsun.com>
 
@@ -1795,7 +3053,7 @@
 	* configure.ac (AC_REPLACE_FUNCS): Add strtoul.
 	* lib/strtoul.c: New file, from gnulib.
 	This fixes a porting bug reported by Peter Klein in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-12/msg00000.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-12/msg00000.html>.
 
 2002-11-30  Paul Eggert  <eggert@twinsun.com>
 
@@ -1847,7 +3105,7 @@
 
 	* data/c.m4 (b4_yysymprint_generate): yyout -> yyoutput,
 	to avoid collision with lex macro described by Bruce Lilly in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.
 	* doc/bison.texinfo (Prologue, Tracing): yyprint -> print_token_value.
 	* src/parse-gram.y (print_token_value): Renamed from yyprint.
@@ -1945,7 +3203,7 @@
 	* data/glr.c (yygetLRActions): Replace `yyindex' with
 	`yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch.
 	This fixes the regression with Sun ONE Studio 7 cc that I reported in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00077.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00077.html>.
 
 2002-11-18  Akim Demaille  <akim@epita.fr>
 
@@ -2063,7 +3321,7 @@
 	duplicating xfopen's body.
 
 	Fix bugs reported by Nelson H. F. Beebe in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00078.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00078.html>.
 
 	* tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that
 	"$CC -E foo.h" is allowed, as this doesn't work with the Portland
@@ -2106,7 +3364,7 @@
 2002-11-13  Paul Eggert  <eggert@twinsun.com>
 
 	Fix some bugs reported by Albert Chin-A-Young in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00066.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00066.html>.
 
 	* tests/input.at (Torturing the Scanner): Don't invoke "cc a.c b.c
 	-o c"; the HP C compiler chatters during compilation.
@@ -2135,7 +3393,7 @@
 	(yyglrReduce): Return yyok, not 0.
 	This should avoid the enumerated-type warnings reported
 	by Nelson H. F. Beebe in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00057.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00057.html>.
 
 	* lib/bbitset.h (BITSET_INLINE): Remove.
 	* lib/bitset.h [! BITSET_INLINE]: Remove.
@@ -2145,12 +3403,12 @@
 	* data/glr.c (inline): Remove #define.  It's the user's
 	responsibility to #define it away, just like 'const'.
 	This fixes one of the bugs reported by Nelson H. F. Beebe in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00058.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00058.html>.
 
 	* Makefile.maint (po-check): Scan .l and .y files instead of the
 	.c and the .h files that they generate.  This fixes the bug
 	reported by Tim Van Holder in:
-	<http://mail.gnu.org/archive/html/bison-patches/2002-11/msg00062.html>
+	<http://lists.gnu.org/archive/html/bison-patches/2002-11/msg00062.html>
 	Look for N_ as well as for _.  Try to avoid matching #define for
 	N_ and _.
 	* po/POTFILES.in: Remove src/parse-gram.c, src/scan-gram.c,
@@ -2311,7 +3569,7 @@
 	Revamp to fix many (but not all) of the C- and M4-related quoting
 	problems.  Among other things, this fixes the Bison bug reported
 	by Jan Hubicka when processing the Bash grammar; see:
-	<http://mail.gnu.org/archive/html/bison-patches/2002-11/msg00039.html>
+	<http://lists.gnu.org/archive/html/bison-patches/2002-11/msg00039.html>
 
 	Use new @ escapes consistently.  Represent brackets with @{ and @}
 	rather than @<:@ and @:>@, since this works a bit better with dumb
@@ -2379,7 +3637,7 @@
 2002-11-09  Paul Eggert  <eggert@twinsun.com>
 
 	Fix the test failure due to GCC warnings described in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-11/msg00000.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00000.html>.
 	* data/glr.c (yyis_pact_ninf, yyis_table_ninf): New macros, which
 	evaluate to 0 if it's impossible for NINF to be in the respective
 	table.
@@ -2731,8 +3989,8 @@
 	* data/glr.c (struct yyltype): Define members even when not
 	doing locations.  This is more consistent with yacc.c, and it
 	works around the following bug reports:
-	http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00106.html
-	http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00111.html
+	http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00106.html
+	http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00111.html
 
 	* doc/bison.texinfo: Minor spelling and typographical fixes.  Use
 	@acronym consistently.  Standardize on "Yacc" instead of "YACC",
@@ -3164,7 +4422,7 @@
 2002-10-13  Paul Eggert  <eggert@twinsun.com>
 
 	Fix problem reported by Henrik Grubbstroem in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00098.html>:
+	<http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00098.html>:
 	"nonterm: { $$ = 123; } { $$ = $1; };" was wrongly rejected,
 	because the Bison parser reads the second action before reducing
 	the first one.
@@ -3181,7 +4439,7 @@
 	Include <sys/time.h> when checking for clock_t and struct tms.
 	Use same include order as source.
 	This is for the SunOS 4.1.4 porting bug reported by Peter Klein in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00016.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00016.html>.
 
 	* lib/timevar.c: Update copyright date and clarify comments.
 	(get_time) [IN_GCC]: Keep the GCC version for reference.
@@ -3194,13 +4452,13 @@
 	* src/reader.c (grammar_current_rule_check):
 	Don't worry about the default action if $$ is untyped.
 	Prevents bogus warnings reported by Jim Gifford in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00015.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00015.html>.
 
 	* data/c.m4 (b4_token_enum): Do not define YYTOKENTYPE.
 	* data/glr.c, data/lalr1.cc, data/yacc.c:
 	Output token definitions before the first part of user declarations.
 	Fixes compatibility problem reported by Jim Gifford for kbd in
-	<http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00014.html>.
+	<http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00014.html>.
 
 2002-10-11  Paul Eggert  <eggert@twinsun.com>
 
@@ -3325,7 +4583,7 @@
 
 	* lib/bitset.h (bitset_reset): Do not assume that bitset_word is
 	the same width as int.  This reapplies a hunk of the 2002-08-12 patch
-	<http://mail.gnu.org/archive/html/bison-patches/2002-08/msg00007.html>,
+	<http://lists.gnu.org/archive/html/bison-patches/2002-08/msg00007.html>,
 	which was inadvertently undone by the 2002-09-30 patch.
 	* lib/lbitset.c (debug_lbitset): Do not assume that bitset_word is
 	the same width as int.
@@ -10050,6 +11308,7 @@
 	obstacks.
 	(output_token_defines, reader_output_yylsp): Use obstacks.
 	* src/system.h (obstack_fgrow3): New.
+	* po/POTFILES.in: Adjust.
 
 2000-11-01  Akim Demaille  <akim@epita.fr>
 
@@ -11789,7 +13048,7 @@
 -----
 
 Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Compiler Compiler.