]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Version 2.0.
[bison.git] / ChangeLog
index 85539ff0868c885a1eaec423e2d34350374113e2..f4d7374d89a155436201dfe0f5a4be28a43c0e16 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,564 @@
+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
 2004-09-20  Akim Demaille  <akim@epita.fr>
 
        Let the initial-action act on the look-ahead, and use it for the
 
        * 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
 
        * 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://mail.gnu.org/archive/html/bug-bison/2004-05/msg00037.html>.
+       <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).
 
        * configure.ac (AC_PREREQ): Bump to 2.58, since 2.57 doesn't work
        (it fails with a Autoconf-without-aclocal-m4 diagnostic).
        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:
        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://mail.gnu.org/archive/html/bug-bison/2004-05/msg00026.html
+       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.
 
        * m4/cxx.m4: New file.
        * configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add.
 2004-03-08  Paul Eggert  <eggert@gnu.org>
 
        Add support for hex token numbers.  Suggested by Odd Arild Olsen in
 2004-03-08  Paul Eggert  <eggert@gnu.org>
 
        Add support for hex token numbers.  Suggested by Odd Arild Olsen in
-       <http://mail.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
+       <http://lists.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
 
        * NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
        in lalr1.cc.
 
        * NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
        in lalr1.cc.
        * 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
        * 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://mail.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
+       <http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
 
 2004-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
 
 
 2004-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
 
 
        Have lalr1.cc catch with Paul Eggert's patch to fix the infinite
        error recovery loops.  This patch is based on
 
        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.
 
        Also, augment the similarity between lalr1.cc and yacc.c.
        Note: the locations of error recovery rules are not correct yet.
 
 
        * data/glr.c (yyglrReduce): Don't use C89 string concatenation,
        for portability to K&R C (after ansi2knr, presumably).  See
 
        * 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
        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.
        * data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
        All uses of free, malloc, realloc changed to use these macros,
        and unnecessary casts removed.
 
        * data/lalr1.cc (operator<<(std::ostream&, const Position&)):
        use s.empty() rather than s == "" to test for empty string; see
 
        * 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>
        (trivial change)
 
 2003-06-25  Akim Demaille  <akim@epita.fr>
        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
        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,
 
        Port to Forte Developer 7 C compiler.
        * data/glr.c (struct YYLTYPE): If locations are not being used,
        (ATTRIBUTE_UNUSED): Define unconditionally.
 
        Upgrade to 2003-06-08 libbitset, submitted by Michael Hayes in:
        (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,
        * 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,
        * tests/local.at (AT_COMPILE_CXX): Use it instead of CFLAGS.
 
        Fix a GLR parser bug I reported in February; see
        * 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
        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
        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:
        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.
 
        * data/yacc.c (YYERROR): Now just 'goto yyerrorlab', since the
        macro's size was becoming unwieldy.
        * 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
        * 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
 
 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>
 
 
 2003-04-29  Akim Demaille  <akim@epita.fr>
 
 2003-04-27  Paul Eggert  <eggert@twinsun.com>
 
        Avoid gcc -Wundef warnings reported by Gerald Pfeifer in
 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.
        * 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.
        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
        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
 
        * 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>
 
 
 2003-04-21  Paul Eggert  <eggert@twinsun.com>
 
        * 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
        * 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.
 
        (resolve_sr_conflict): Don't invoke state_errs_set
        unless one or more tokens have been explicitly made errors.
        (<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
        (<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.
 
        * tests/input.at (Torturing the Scanner): Test the scanner on
        an empty input file, which was Tim Van Holder's test case.
 
        <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
        <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
 
        * m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't
        AC_CHECK_HEADERS([sys/wait.h]), as this interferes with
 
        * lib/mbswidth.c: Include <wchar.h> before "mbswidth.h", to work
        around a UnixWare 7.1.1 porting bug reported by John Hughes in
 
        * 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>
 
 
 2003-02-26  Paul Eggert  <eggert@twinsun.com>
 
        * data/glr.c (yy_reduce_print): yylineno -> yylno,
        to avoid collision with flex use of yylineno.
        Problem reported by Bruce Lilly in
        * 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.
 
        * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
        * data/yacc.c (yy_reduce_print): Likewise.
 
        * tests/atlocal.in (LDFLAGS, LIBS): New vars.
        * tests/testsuite.at (AT_COMPILE): Use them.
        This fixes the testsuite problem reported by Robert Lentz in
        * 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
 
 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.
        * data/glr.c (yyreportSyntaxError) [YYERROR_VERBOSE]: Likewise.
        Check for malloc failure, for consistency with yacc.c.
        (yytname_size): Remove, for consistency with yacc.c.
 
        Changes in response to error report by S. Eken: GLR mode does not
        handle negative $ indices or $ indices in embedded rules correctly.
 
        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.
 
        * data/glr.c (b4_rhs_value): Change to use YYFILL macro.
        (b4_rhs_location): Ditto.
        * 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
        * 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>
 
 
 2003-01-21  Paul Eggert  <eggert@twinsun.com>
 
 
        * src/output.c (symbol_printers_output): Fix typo that led
        to core dump.  Problem reported by Antonio Rus in
 
        * 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>,
 
 2003-01-13  Akim Demaille  <akim@epita.fr>,
                Quoc Peyrot <chojin@lrde.epita.fr>,
        * 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
        * 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.
        * src/conflicts.c (conflicts_print): Likewise.
        * tests/conflicts.at (%expect not enough, %expect too much,
        %expect with reduce conflicts): Likewise.
 
        Fix a bug where error locations were not being recorded correctly.
        This problem was originally reported by Paul Hilfinger in
 
        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.
 
        * data/yacc.c (yyparse): New local var yylerrsp, to record the
        top of the location stack's error locations.
 
        Remove obsolete references to bison.simple and bison.hairy.
        Problem mentioned by Aubin Mahe in
 
        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".
 
        * data/glr.c: Comment fix.
        * doc/bison.1: Remove references.  Also, mention "yacc".
 
        * config/install-sh: Sync with autotools.
 
        Fix a bad interaction with flex 2.5.23 reported by Bruce Lilly in
        * 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
        * data/yacc.c (YYLTYPE, struct yyltype): Do not define unless
        locations are requested.
        (union yyalloc): Do not depend on YYLTYPE_IS_TRIVIAL unless
        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
        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>
 
 
 2002-12-06  Paul Eggert  <eggert@twinsun.com>
 
        * configure.ac (AC_REPLACE_FUNCS): Add strtoul.
        * lib/strtoul.c: New file, from gnulib.
        This fixes a porting bug reported by Peter Klein in
        * 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>
 
 
 2002-11-30  Paul Eggert  <eggert@twinsun.com>
 
 
        * data/c.m4 (b4_yysymprint_generate): yyout -> yyoutput,
        to avoid collision with lex macro described by Bruce Lilly in
 
        * 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.
        * 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.
        * 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
        * 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>
 
 
 2002-11-18  Akim Demaille  <akim@epita.fr>
 
        duplicating xfopen's body.
 
        Fix bugs reported by Nelson H. F. Beebe in
        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
 
        * 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
 2002-11-13  Paul Eggert  <eggert@twinsun.com>
 
        Fix some bugs reported by Albert Chin-A-Young in
 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.
 
        * tests/input.at (Torturing the Scanner): Don't invoke "cc a.c b.c
        -o c"; the HP C compiler chatters during compilation.
        (yyglrReduce): Return yyok, not 0.
        This should avoid the enumerated-type warnings reported
        by Nelson H. F. Beebe in
        (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.
 
        * lib/bbitset.h (BITSET_INLINE): Remove.
        * lib/bitset.h [! BITSET_INLINE]: Remove.
        * 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
        * 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:
 
        * 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,
        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,
        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:
        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
 
        Use new @ escapes consistently.  Represent brackets with @{ and @}
        rather than @<:@ and @:>@, since this works a bit better with dumb
 2002-11-09  Paul Eggert  <eggert@twinsun.com>
 
        Fix the test failure due to GCC warnings described in
 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.
        * 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.
        * 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:
        * 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",
 
        * doc/bison.texinfo: Minor spelling and typographical fixes.  Use
        @acronym consistently.  Standardize on "Yacc" instead of "YACC",
 2002-10-13  Paul Eggert  <eggert@twinsun.com>
 
        Fix problem reported by Henrik Grubbstroem in
 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.
        "nonterm: { $$ = 123; } { $$ = $1; };" was wrongly rejected,
        because the Bison parser reads the second action before reducing
        the first one.
        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
        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.
 
        * lib/timevar.c: Update copyright date and clarify comments.
        (get_time) [IN_GCC]: Keep the GCC version for reference.
        * 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
        * 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
 
        * 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>
 
 
 2002-10-11  Paul Eggert  <eggert@twinsun.com>
 
 
        * 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
 
        * 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.
        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.