]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Fix YYRHSLOC problem reported by Frank Heckenbach.
[bison.git] / ChangeLog
index f4adc7078da6612b954ffb0d024f0da048ab00fc..3f953fad79f6653e818568e599945e670d453b26 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,476 @@
+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...
 
        * 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).
        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.
 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.
        * 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>
 
 
        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.
 
 
        * 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.
 
        * 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>
        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,
        (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,
        * 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
        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.
        * 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>
 
 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.
        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>
 
        * 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.
        (<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.
 
        <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
 
        * 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>
 
        * 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.
 
        * 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.
 
        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/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>
 
 
        * 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>,
        * 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.
 
        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.
 
        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".
 
        * 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
        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>
 
        * 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>
 
 
        * 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.
        * 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>
 
        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
 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.
        (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.
        * 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,
        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
 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 (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",
 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.
        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.
        * 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>
 
 
        * 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.