]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Remove more 'intl'-related files while bootstrapping.
[bison.git] / ChangeLog
index 6b5bb825d6cb8451af8eb8111f40f9145307857d..7e4a1e92bf043a491940807b052763c5c4f8ae7e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2004-04-28  Paul Eggert  <eggert@twinsun.com>
+
+       Get files from the gnulib and po repositories, instead of relying
+       on them being in our CVS.  Upgrade to latest versions of gnulib
+       and Automake.
+
+       * Makefile.am (SUBDIRS): Remove m4; Automake now does m4.
+       * bootstrap: Bootstrap from gnulib and po repositories.
+       Much of this code was stolen from GNU diff and GNU tar's bootstrap.
+       * README-cvs: Document these changes.  Remove version numbers from
+       mentions of build tools, since they change so often.  Mention Flex.
+
+       * configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg.
+       (gl_USE_SYSTEM_EXTENSIONS): Add.
+       (AC_GNU_SOURCE): Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS
+       does this for us.
+       (AC_ISC_POSIX, AC_MINIX): Remove; we no longer support these
+       ancient OSes, as they get in the way of latest Autoconf & gnulib.
+       (AC_HEADER_STDC): Remove: we now assume C89 or better.
+       (AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS.
+       Do not check for C89 headers, except for locale.h which is used
+       by the Yacc library and must port to K&R hosts.
+       (AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS.
+       Do not check for C89 functions, except for setlocale which is
+       used by the Yacc library.
+       (AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed.
+       (gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR,
+       gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL,
+       gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE,
+       gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC,
+       AM_GNU_GETTEXT): Remove; now done by:
+       (GNULIB_AUTOCONF_SNIPPET): Add.  "bootstrap" builds this for us.
+       (AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this
+       for us.
+
+       * lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap".
+       (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES):
+       Define to empty, as gnulib.mk will do the rest for us.
+       ($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this
+       for us.
+       (libbison_a_SOURCES): Define to $(lib_SOURCES) now.
+       (lib_SOURCES): New symbol, containing only the non-gnulib libs.
+
+       * src/files.c: Include gnulib's xstrndup.h.
+
+       * src/system.h (MALLOC): Use xnmalloc, for better overflow checking.
+       (REALLOC): Use xnrealloc, for likewise.
+       (xstrndup, stpcpy): Remove decls, as gnulib does this for us now.
+       (strnlen, memrchr): Remove decls; functions no longer used.
+       Include <stpcpy.h>.
+
+       * config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c,
+       lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
+       lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
+       lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h,
+       lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c,
+       lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h,
+       lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
+       lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c,
+       lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c,
+       lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h,
+       lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c,
+       m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
+       m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4,
+       m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4,
+       m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4,
+       m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4,
+       m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4,
+       m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in,
+       po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po,
+       po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po,
+       po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po:
+       Remove, as these files are now generated automatically
+       by bootstrap or automake.
+
+       * po/ChangeLog: Remove: all but one entry was a duplicate
+       of this file, and I moved that 2000-11-02 entry here.
+
+       * config/.cvsignore: Add Makefile, depcomp, install-sh.
+       * lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c,
+       argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h,
+       exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c,
+       getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h,
+       hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c,
+       memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h,
+       quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h,
+       strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c,
+       strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c,
+       unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c,
+       xstrndup.h.
+       * m4/.cvsignore: Remove Makefile, Makefile.in.  Add alloca.m4,
+       dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4,
+       mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4,
+       stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4.
+       * po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars.
+       * src/.cvsignore: Remove *_.c.
+
+
+       * Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't
+       support it.  (The latest stable gzip doesn't.)
+
+2004-04-27  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this
+       case, as stos_ is now used by destructors due to the 2004-02-09
+       change.
+
+       Remove more K&R C support.
+       * lib/libiberty.y (PARAMS): Remove.  All uses removed.
+       * lib/subpipe.c (errno): Remove decl.
+       Include <stdlib.h> unconditionally.
+       (EXIT_FAILURE): Remove macro.
+       * src/complain.c (vfprintf, strerror): Remove.
+       * src/system.h: Include limits.h, stdlib.h, string.h, locale.h
+       unconditionally.
+       (EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns.
+       Use latest Autoconf recommendations for including inttypes.h, stdint.h.
+       (strchr, strspn, memchr): Remove decls.
+       * tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h
+       unconditionally.  Do not declare perror.
+       * tests/conflicts.at (%nonassoc and eof): Include stdlib.h
+       unconditionally.
+
+       * src/complain.c (_): Remove useless defn, as system.h defines this.
+
+       * lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed
+       with latest obstack.h.
+       * lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args
+       to procedure types, as obstack.h now does that for us.
+       * lib/lbitset.c (lbitset_elt_alloc): Likewise.
+
+       * lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>,
+       so that this include file can stand alone.
+       * lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h
+       does this now.  Include subpipe.h first after config.h, to
+       test whether it can stand alone.
+
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't
+       declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the
+       unused declaration.
+
+       * tests/synclines.at (%union synch line): Put a dummy member in
+       the union, because empty unions aren't allowed in C.  Caught
+       by GCC 3.4.0.
+
+2004-04-13  Jim Meyering  <jim@meyering.net>
+
+       * src/conflicts.c (conflicts_print): Correct format string typo:
+       use `%%' to produce literal `%'.  (trivial change)
+
+2004-03-30  Paul Eggert  <eggert@twinsun.com>
+
+       * src/getargs.c (version): Update copyright year to 2004.
+
+       * data/c.m4 (b4_int_type): Use 'short int' rather than
+       'short', and similarly for 'long', 'unsigned', etc.
+       * data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum,
+       yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError,
+       yy_yypstack, yydumpstack): Likewise.
+       * data/lalr1.cc (user_token_number_max_, user_token_number_max_,
+       translate_, seq_, [], pop, Slice, range_, operator+, operator+=):
+       Likewise.
+       * data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char,
+       yy_stack_print, yyparse): Likewise.
+       * doc/bison.texinfo (Prologue, Multiple Types): Likewise.
+       * lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise.
+       * lib/bitset.c (bitset_print): Likewise.
+       * lib/bitset_stats.c (bitste_log_histogram_print): Likewise.
+       * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
+       * lib/bitsetv.c (bitsetv_dump): Likewise.
+       * lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise.
+       * lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset):
+       Likewise.
+       * src/LR0.c (allocate_itemsets): Likewise.
+       * src/gram.h (rule_number, rule): Likewise.
+       * src/lalr.h (goto_number): Likewise.
+       * src/nullable.c (nullable_compute): Likewise.
+       * src/output.c (prepare_rules): Likewise.
+       * src/relation.c (relation_print, relation_digraph): Likewise.
+       * src/relation.h (relation_node): Likewise.
+       * src/state.h (state_number, transitions, errs, reductions,
+       struct state): Likewise.
+       * src/symtab.h (symbol_number, struct symbol): Likewise.
+       * src/tables.c (vector_number, tally, action_number,
+       default_goto, goto_actions): Likewise.
+       * tests/existing.at (GNU Cim Grammar): Likewise.
+       * tests/regression.at (Web2c Actions): Likewise.
+
+       * src/output.c (muscle_insert_short_int_table): Renamed from
+       muscle_insert_short_table.  All uses changed.
+
+2004-03-25  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+       * src/parse-gram.y: Define PERCENT_EXPECT_RR.
+       (declaration): Replace expected_conflicts with expected_sr_conflicts.
+       Add %expect-rr rule.
+
+       * src/scan-gram.l: Recognize %expect-rr.
+
+       * src/conflicts.h (expected_sr_conflicts): Rename from
+       expected_conflicts.
+       (expected_rr_conflicts): Declare.
+
+       * src/conflicts.c (expected_sr_conflicts): Rename from
+       expected_conflicts.
+       (expected_rr_conflicts): Define.
+       (conflicts_print): Check r/r conflicts against expected_rr_conflicts
+       for GLR parsers.
+       Use expected_sr_conflicts in place of expected_conflicts.
+       Warn if expected_rr_conflicts used in non-GLR parser.
+
+       * doc/bison.texinfo: Add documentation for %expect-rr.
+
+2004-03-08  Paul Eggert  <eggert@gnu.org>
+
+       Add support for hex token numbers.  Suggested by Odd Arild Olsen in
+       <http://mail.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
+
+       * NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
+       in lalr1.cc.
+       * doc/bison.texinfo (Token Decl): Add hexadecimal token numbers.
+       * src/scan-gram.l (scan_integer): New function.
+       ({int}): Use it.
+       (0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers.
+       (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+,
+       handle_action_dollar, handle_action_at, convert_ucn_to_byte):
+       Say "long int", not "long", for uniformity with GNU style.
+
+2004-02-25  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from
+       compilers.  This fixes a problem with Intel's C++ compiler being
+       chatty, reported by Guido Trentalancia in
+       <http://mail.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
+
+2004-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       Support %destructor and merge error locations in lalr1.cc.
+
+       * data/lalr1.cc (b4_cxx_destruct_def): New macro.
+       (Parser::stos_): Define unconditionally.
+       (Parser::destruct_): New method.  Generate its body with
+       b4_yydestruct_generate.
+       (Parser::error_start_): New attribute.
+       (Parser::parse) <yyerrlab, yyerrlab1>: Call destruct_ on erroneous
+       token which are discarded.
+       (Parser::parse) <yyerrlab, yyerrorlab, yyerrlab1>: Update
+       error_start_ when erroneous token are discarded.
+       (Parser::parse) <yyerrlab1>: Compute the location of the error
+       token so that it covers all the discarded tokens.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust so
+       it can be called with `%skeleton "lalr1.cc"', and do that.
+
+2004-02-02  Paul Eggert  <eggert@twinsun.com>
+
+       * src/Makefile.am (AM_CPPFLAGS): New macro.  It mentions
+       $(top_srcdir)/lib and ../lib.  This fixes a bug reported
+       by Paul Hilfinger; the old INCLUDES value didn't mention ../lib.
+       There's no need to mention top_builddir since Automake does that
+       for us.
+       (INCLUDES): Remove, as Automake says it's obsolescent.
+       Contents migrated into AM_CPPFLAGS as described above.
+       * lib/Makefile.am (INCLUDES): Remove; obsolescent.
+
+2004-01-14  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+       * data/glr.c (yytokenName): Bullet-proof against YYEMPTY token.
+       (yyreportSyntaxError): Handle case where lookahead token is
+       YYEMPTY.
+
+2004-01-13  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/glr.c: Put casts on uses of YYREALLOC and YYMALLOC so that
+       resulting parsers are compilable with C++.
+
+2003-12-23  Paul Eggert  <eggert@twinsun.com>
+
+       * config/depcomp, config/install-sh: Sync with Automake 1.8.
+       * src/output.c (output_skeleton): Rename local var.
+       * tests/input.at (Torturing the Scanner): Don't use \x0 or \0 in
+       Bison tokens, as this runs afoul of the 2003-10-07 change that
+       disallowed NUL bytes in character constants or string literals.
+
+       * tests/local.at: Require Autoconf 2.59's Autotest.
+       * tests/testsuite.at: Don't include local.at, since we now assume
+       Autoconf 2.59 or later.  Autoconf 2.59 had some problems with
+       including it.
+       * tests/Makefile.am ($(TESTSUITE)): Remove warning about ignoring
+       multiple inclusion warnings.
+
+2003-12-02  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (How Can I Reset the Parser): More about start
+       conditions.
+       From Bruno Haible.
+
+2003-11-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * doc/bison.texinfo (Bison Options): Escape `@' in `$@'.
+
+2003-10-07  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/Makefile.am (clean-local): Don't run 'testsuite --clean'
+       if testsuite doesn't exist.
+
+       * doc/bison.texinfo (Symbols): NUL bytes are not allowed in string
+       literals, unfortunately.
+       * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
+       Complain about NUL bytes in character constants or string literals.
+
+2003-10-05  Paul Eggert  <eggert@twinsun.com>
+
+       * NEWS: Don't document %no-default-prec, as it's still
+       too experimental.
+       * doc/bison.texinfo: Document %no-default-prec only if
+       the defaultprec flag is set.  Normally it's not.
+
+2003-10-04  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (b4_rhs_value, b4_rhs_location): Yield a
+       non-modifiable lvalue, instead of a modifiable one.
+       * doc/bison.texinfo (Actions): Document that $$ can
+       be assigned to.  Do not claim that $$ and $N are
+       array element references: user code should not rely on this.
+
+2003-10-01  Paul Eggert  <eggert@twinsun.com>
+
+       * src/parse-gram.h (PERCENT_NO_DEFAULT_PREC): New token.
+       (grammar_declaration): Use it.
+       * src/scan-gram.l: New token %no-default-prec.
+       * tests/conflicts.at: Revamp tests to use %no-default-prec.
+       * NEWS, doc/bison.texinfo: Document the above.
+
+2003-10-01  Akim Demaille  <akim@epita.fr>
+
+       VCG no longer supports long_straight_phase.
+
+       * src/vcg.c, src/vcg.h: Remove the handling of long_straight_phase.
+       * src/print_graph.c (print_graph): Adjust.
+
+2003-09-30  Frank Heckenbach  <frank@g-n-u.de>
+       and Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (Decl Summary, Contextual Precedence,
+       Table of Symbols): Document %default-prec.
+       * src/parse-gram.y (PERCENT_DEFAULT_PREC): New token.
+       (grammar_declaration): Set default_prec on %default-prec.
+       * src/scan-gram.l (%default-prec): New token.
+       * src/reader.h (default_prec): New flag.
+       * src/reader.c: Likewise.
+       (packgram): Handle it.
+       * tests/conflicts.at (%default-prec without %prec,
+       %default-prec with %prec, %default-prec 1): New tests.
+
+2003-09-30  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/testsuite.at: Include local.at, not input.at, fixing
+       a typo in the 2003-08-25 patch.
+
+2003-08-27  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (yyparse) [__GNUC__]: "Use" yyerrorlab to pacify
+       GCC warnings.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+       * config/announce-gen (print_changelog_deltas): Neutralize "<#" as
+       "<\#" to avoid magic from Gnus when posting parts of this script.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::report_syntax_error_): New, extracted from
+       (Parser::parse): here.
+       Adjust: nerrs and errstatus is now replaced by...
+       (Parser::nerrs_, Parser::errstatus_): New.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * config/announce-gen, Makefile.cfg: New.
+       * Makefile.am: Adjust.
+       * GNUmakefile, Makefile.maint: Update from CVS Autoconf, but
+       keeping local WGET and WGETFLAGS modifications from Paul Eggert.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       When reducing initial empty rules, Bison parser read an initial
+       location that is not defined.  This results in garbage, and that
+       affects Bison's own parser.  Therefore we need (i) to extend Bison
+       to support a means to initialize this location, and (ii) to use
+       this CVS Bison to fix CVS Bison's parser.
+
+       * src/reader.h, reader.c (epilogue_augment): Remove, replace
+       with...
+       * src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this.
+       * src/parse-gram.y: Adjust.
+       (%initial-action): New.
+       (%error-verbose): Since we require CVS Bison, there is no reason
+       not to use it.
+       * src/scan-gram.l: Adjust.
+       * src/Makefile.am (YACC): New, to make sure we use our own parser.
+       * data/yacc.c (yyparse): Use b4_initial_action.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Don't promote stdout for error messages.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::reduce_print_): Remove unused yyi.
+       From Alexandre Duret-Lutz.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       Version 1.875c.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New.
+       Use them.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::reduce_print_): New.
+       Use it.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       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>.
+       Also, augment the similarity between lalr1.cc and yacc.c.
+       Note: the locations of error recovery rules are not correct yet.
+
+       * data/lalr1.cc: Comment changes to augment the similarity between
+       lalr1.cc and yacc.c.
+       (YYERROR): Goto to yyerrorlab, not yyerrlab1.
+       (yyerrlab1): Remove, but where it used to be (now the bottom part of
+       yyerrlab), when hitting EOF, pop the whole stack here instead of
+       merely falling thru the default error handling mechanism.
+       (yyerrorlab): New label, with the old contents of YYERROR,
+       plus the following change: pop the stack of rhs corresponding
+       to the production that invoked YYERROR.  That is how Yacc
+       behaves (required by POSIX).
+       * tests/calc.at (AT_CHECK_CALC_LALR1_CC): No longer expected to
+       fail.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       Tune local.at so that people can "autom4te -l autotest calc.at -o
+       calc" for instance, to extract a sub test suite.
+
+       * tests/testsuite.at: Move the initialization, Autotest version
+       requirement, and AT_TESTED invocation into...
+       * tests/local.at: here.
+       * tests/testsuite.at: Include it for compatibility with Autoconf
+       2.57.
+       * tests/Makefile.am ($(TESTSUITE)): Report that the warning should
+       be ignore.
+
+2003-08-04  Paul Eggert  <eggert@twinsun.com>
+
+       Rework code slightly to avoid gcc -Wtraditional warnings.
+       * data/glr.c (yyuserMerge): Return void, not YYSTYPE.
+       The returned value is now stored in *YY0.  All callers changed.
+       * src/output.c (merge_output): Adjust to the above change.
+
+2003-07-26  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYASSERT): New macro.
+       (yyfillin, yydoAction, yyglrReduce, yysplitStack,
+       yyresolveStates, yyprocessOneStack):
+       Use `YYASSERT (FOO);' rather than `if (! (FOO)) abort ();'.
+       Derived from a suggestion by Frank Heckenbach.
+
+2003-07-25  Paul Eggert  <eggert@twinsun.com>
+
+       * 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>
+       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>.
+       * data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
+       All uses of free, malloc, realloc changed to use these macros,
+       and unnecessary casts removed.
+       * data/yacc.c (YYFREE, YYMALLOC): Likewise.
+
+2003-07-06  Matthias Mann  <MatthiasMann@gmx.de>
+
+       * 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>
+       (trivial change)
+
+2003-06-25  Akim Demaille  <akim@epita.fr>
+
+       * config/depcomp, config/install-sh: Update from masters.
+
+2003-06-20  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYLLOC_DEFAULT): Parenthesize arguments as needed,
+       and return properly parenthesized result.
+       * data/lalar1.cc (YYLLOC_DEFAULT): Likewise.
+       * data/yacc.c (YYLLOC_DEFAULT): Likewise.
+       Remove unnecessary parentheses from uses.
+       * doc/bison.texinfo (Location Default Action): Describe the
+       conventions for parentheses.
+
+2003-06-19  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yyremoveDeletes, yy_reduce_print, yyglrReduce,
+       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>.
+
+       Port to Forte Developer 7 C compiler.
+       * data/glr.c (struct YYLTYPE): If locations are not being used,
+       declare a single dummy member, as empty structs do not conform
+       to the C standard.
+       (YYERROR, YYBACKUP): Do not use "do { ...; return foo; } while (0)";
+       the Forte Developer 7 C compiler complains that end-of-loop
+       code is not reached.
+
+2003-06-17  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/libiberty.h (PARAMS): Spell argument as Args, not as X, to
+       avoid warnings from picky compilers about redefinition of PARAMS.
+
+2003-06-17  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.875b.
+
+       * NEWS: Document 1.875b.
+
+       * lib/bbitset.h: Do not include config.h; that's the includer's job.
+       Do not include <sys/types.h>; shouldn't be needed on a C89 host.
+       * lib/bitset.h (bitset_compatible_p): Indent as per GNU standard.
+       Don't use 'index' in comments, as it's a builtin fn on some hosts.
+       * lib/bitset_stats.c: Include gettext.h unconditionally, as
+       per recent gettext manual's suggestion.
+       * lib/ebitset.c (ebitset_resize, ebitset_unused_clear):
+       Use prototypes, not old-style definitions.
+       * lib/lbitset.c (lbitset_unused_clear): Likewise.
+       * lib/vbitset.c (vbitset_resize, vbitset_ones, vbitset_zero,
+       vbitset_empty_p, vbitset_copy1, vbitset_not, vbitset_equal_p,
+       vbitset_subset_p, vbitset_disjoint_p, vbitset_and, vbitset_and_cmp,
+       vbitset_andn, vbitset_andn_cmp, vbitset_or, vbitset_or_cmp,
+       vbitset_xor, vbitset_xor_cmp, vbitset_and_or, vbitset_and_or_cmp,
+       vbitset_andn_or, vbitset_andn_or_cmp, vbitset_or_and,
+       vbitset_or_and_cmp, vbitset_copy): Likewise.
+
+       * lib/libiberty.h: Do not include config.h; that's the includer's job.
+       Do not include <stdlib.h>.
+       (PARAMS): Define unconditionally for C89.
+       (ATTRIBUTE_NORETURN): Remove.
+       (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>
+       * 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/bitset_stats.c, lib/ebitset.c, lib/lbitset.c: Import
+       from libbitset.
+
+       * doc/bison.texinfo (How Can I Reset the Parser): Renamed from
+       `How Can I Reset @code{yyparse}', since texinfo does not allow
+       arbitrary @ in node names.
+
+       * m4/Makefile.am (EXTRA_DIST): Add the following files, which
+       shouldn't be needed according to the gettext 0.12.1 documentation
+       but which seem to be needed anyway: codeset.m4 glibc21.m4
+       intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4
+       lcmessage.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4.
+       * po/Makefile.in.in: Upgrade to gettext 0.12.1 version.
+
+       * lib/.cvsignore: Add stdbool.h.
+       * m4/.cvsignore: Add nls.m4, po.m4.
+
+       Upgrade to CVS gnulib.
+       * stdbool_.h: File renamed from stdbool.h.in.
+       * configure.ac (AM_STDBOOL_H): Invoke this instead of
+       AC_HEADER_STDBOOL.
+       (AM_GNU_GETTEXT): Put brackets around args, as latest manual suggests.
+       (AM_GNU_GETTEXT_VERSION): Update to 0.12.1.
+       * lib/Makefile.am (EXTRA_DIST): Add stdbool_.h.
+       (MOSTLYCLEANFILES): New var.
+       ($(libbison_a_OBJECTS)): Depend on $(STDBOOL_H).
+       (stdbool.h): New rule.
+       * lib/dirname.c, lib/dirname.h, lib/hash.c, lib/hash.h,
+       lib/malloc.c, lib/obstack.h, lib/quote.c, lib/realloc.c,
+       lib/strcasecmp.c, lib/xalloc.h, m4/alloca.m4, m4/onceonly.m4,
+       m4/quote.m4: Upgrade to today's gnulib.
+
+       * tests/calc.at (AT_CHECK_CALC): New option EXPECTED-TO-FAIL.
+       (AT_CHECK_CALC_LALR1_CC): Use it, since the C++ LALR parser fails
+       the tests right now.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Ensure yylex and
+       yyerror are declared before use; C99 requires this.
+
+2003-06-09  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/glr.c (YYERROR): Update definition to reset yyerrState to 0
+       first.
+       (yyrecoverSyntaxError): Correct the logic for setting and testing
+       yyerrState.
+       Correct comment on handling EOF.
+       Allow states with only a default reduction, rather than failing
+       (I can't quite reconstruct why these were not allowed before).
+
+       Fixes to avoid problem that $-N rules in GLR parsers can cause
+       buffer overruns, corrupting state.
+
+       * src/output.c (prepare_rules): Output max_left_semantic_context
+       definition.
+       * src/reader.h (max_left_semantic_context): New variable declaration.
+       * src/scan-gram.l (max_left_semantic_context): Define.
+       (handle_action_dollar): Update max_left_semantic_context.
+       * data/glr.c (YYMAXLEFT): New definition.
+       (yydoAction): Increase size of yyrhsVals by YYMAXLEFT.
+       (yyresolveAction): Ditto.
+
+       Fixes to problems with location handling in GLR parsers reported by
+       Frank Heckenbach (2003/06/05).
+
+       * data/glr.c (YYLTYPE): Make trivial if locations not used.
+       (YYRHSLOC): Add parentheses, and define only if locations used.
+       (YYLLOC_DEFAULT): Add parentheses, and give trivial definition if
+       locations not used.
+       (yyuserAction): Use YYLLOC_DEFAULT to set *yylocp.
+       (yydoAction): Remove redundant initialization of *yyvalp and *yylocp.
+
+       * tests/cxx-type.at: Exercise location information; update tests
+       to differentiate output with and without locations.
+       Remove forward declarations of yylex and yyerror---caused errors
+       because default YYLTYPE not yet defined.
+       Change semantic actions to compute strings, rather than printing
+       them directly (to test proper passing of semantics values).  Change
+       output to prefix notation and update test data and expected results.
+       (yylex): Track locations.
+       (stmtMerge): Return value rather than printing, and include arguments
+       in value.
+
+2003-06-03  Paul Eggert  <eggert@twinsun.com>
+
+       Avoid warnings generated by GCC 2.95.4 when Bison is
+       configured with --enable-gcc-warnings.
+       * data/lalr1.cc (yy::]b4_parser_class_name[::parse,
+       yy::]b4_parser_class_name[::translate_,
+       yy::Stack::operator[] (unsigned),
+       yy::Stack::operator[] (unsigned) const,
+       yy::Slice::operator[] (unsigned),
+       yy::Slice::operator[] (unsigned) const):
+       Rename local vars to avoid warnings.
+       * tests/glr-regression.at (Improper handling of embedded actions
+       and $-N in GLR parsers): Remove unused local variable from yylex.
+       * tests/regression.at (_AT_DATA_DANCER_Y): Declare yylex to take
+       (void) as arg when not pure, since we now assume C89 when building
+       Bison.  Pacify GCC by using parameter.
+
+2003-06-02  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc (yy::Position::lines, yy::Position::columns,
+       yy::Location::lines, yy::Location::columns): Rename arguments
+       to avoid shadowing; this removes a warning generated by GCC 3.3.
+
+2003-06-01  Paul Eggert  <eggert@twinsun.com>
+
+       Don't pass C-only warning optins (e.g., -Wmissing-declarations)
+       to g++, as GCC 3.3 complains if you do it.
+       * configure.ac (WARNING_CXXFLAGS): New subst.  Set it to
+       everything that WARNING_CFLAGS has, except omit warnings
+       not suitable for C++.
+       (AC_PROG_CXX): Use this instead of AC_CHECK_PROGS([CXX], [g++]).
+       * tests/atlocal.in (CXXFLAGS): New var.
+       * 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>.
+       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
+       to a local variable.  The C standard says that expressions
+       like (var = f ()) + (var = f ()) have undefined behavior.
+       Another problem was that GCC sometimes issues warnings that
+       yyfill and its parameters are unused.
+
+       * data/glr.c (yyfillin): Renamed from the old yyfill.  Mark
+       as possibly unused.
+       (yyfill): New function.
+       (YYFILL): Use it.
+       (yyuserAction): Change type of yynormal to bool, so that it matches
+       the new yyfill signature.  Mark it as possibly unused.
+
+
+       Follow up on a bug I reported in February, where a Bison-generated
+       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>
+
+       * data/yacc.c (YYERROR): Now just 'goto yyerrorlab', since the
+       macro's size was becoming unwieldy.
+       (yyerrlab): Do not discard an empty lookahead symbol, as this
+       might destroy garbage.
+       (yyerrorlab): New label, with the old contents of YYERROR,
+       plus the following change: pop the stack of rhs corresponding
+       to the production that invoked YYERROR.  That is how Yacc
+       behaves, and POSIX requires this behavior.
+       (yyerrlab1): Use YYPOPSTACK instead of its definiens.
+       * tests/calc.at (_AT_DATA_CALC_Y): Include unistd.h if available.
+       Define 'alarm' to do nothing if unistd.h is not available.
+       Add a new rule "exp: '-' error;" to test the above change to
+       data/yacc.c.  Use 'alarm' to abort any test taking longer than
+       10 seconds, as it's probably looping.
+       (AT_CHECK_CALC): Test recovery from error in new grammar rule.
+       Also, the new yacc.c generates two fewer diagnostics for an
+       existing test.
+
+2003-05-24  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYSTACKEXPANDABLE): Do not evaluate
+       YYSTYPE_IS_TRIVIAL or YYSTYPE_IS_TRIVIAL unless they are defined.
+       This fixes a problem reported by John Bowman when the Compaq/HP
+       Alpha cxx compiler happy (e.g. using cxx -D__USE_STD_IOSTREAM
+       -ansi -Wall -gall).
+       * data/yacc.c (union yyalloc): Likewise.
+       (YYCOPY): Do not evaluate __GNUC__ unless it is defined.
+
+       Switch from 'int' to 'bool' where that makes sense.
+
+       * lib/abitset.c (abitset_test, abitset_empty_p, abitset_equal_p,
+       abitset_subset_p, abitset_disjoint_p, abitset_and_cmp,
+       abitset_andn_cmp, abitset_or_cmp, abitset_xor_cmp, abitset_and_or,
+       abitset_and_or_cmp, abitset_andn_or_cmp, abitset_or_and_cmp):
+       Return or accept bool, not int.  All callers changed.
+       * lib/bbitset.h: (bitset_toggle_, bitset_copy_, bitset_and_or_cmp_,
+       bitset_andn_or_cmp_, bitset_or_and_cmp_): Likewise.
+       * lib/bitset.c (bitset_only_set_p, bitset_print, bitset_toggle_,
+       bitset_copy_, bitset_op4_cmp, bitset_and_or_cmp_, bitset_andn_or_cmp_,
+       bitset_or_and_cmp_): Likewise.
+       * lib/bitset.h (bitset_test, bitset_only_set_p): Likewise.
+       * lib/bitset_stats.c (bitset_stats_print, bitset_stats_toggle,
+       bitset_stats_test, bitset_stats_empty_p, bitset_stats_disjoint_p,
+       bitset_stats_equal_p, bitset_stats_subset_p, bitset_stats_and_cmp,
+       bitset_stats_andn_cmp, bitset_stats_or_cmp, bitset_stats_xor_cmp,
+       bitset_stats_and_or_cmp, bitset_stats_andn_or_cmp,
+       bitset_stats_or_and_cmp): Likewise.
+       * lib/ebitset.c (ebitset_elt_zero_p, ebitset_equal_p, ebitset_copy_cmp,
+       ebitset_test, ebitset_empty_p, ebitset_subset_p, ebitset_disjoint_p,
+       ebitset_op3_cmp, ebitset_and_cmp, ebitset_andn_cmp, ebitset_or_cmp,
+       ebitset_xor_cmp): Likewise.
+       * lib/lbitset.c (lbitset_elt_zero_p, lbitset_equal_p, lbitset_copy_cmp,
+       lbitset_test, lbitset_empty_p, lbitset_subset_p, lbitset_disjoint_p,
+       lbitset_op3_cmp, lbitset_and_cmp, lbitset_andn_cmp, lbitset_or_cmp,
+       lbitset_xor_cmp): Likewise.
+       * lib/bbitset.h: Include <stdbool.h>.
+       (struct bitset_vtable): The following members now return bool, not
+       int: toggle, test, empty_p, disjoint_p, equal_p, subset_p,
+       and_cmp, andn_cmp, or_cmp, xor_cmp, and_or_cmp, andn_or_cmp,
+       or_and_cmp).
+       * src/conflicts.c (count_rr_conflicts): Likewise.
+       * lib/bitset_stats.h (bitset_stats_enabled): Now bool, not int.
+       All uses changed.
+       * lib/ebitset.c (ebitset_obstack_init): Likewise.
+       * lib/lbitset.c (lbitset_obstack_init): Likewise.
+       * src/getargs.c (debug_flag, defines_flag, locations_flag,
+       no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
+       graph_flag): Likewise.
+       * src/getargs.h (debug_flag, defines_flag, locations_flag,
+       no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
+       graph_flag): Likewise.
+       * src/output.c (error_verbose): Likewise.
+       * src/output.h (error_verbose): Likewise.
+       * src/reader.c (start_flag, typed): Likewise.
+       * src/reader.h (typed): Likewise.
+       * src/getargs.c (LOCATIONS_OPTION): New constant.
+       (long_options, getargs): Use it.
+       * src/lalr.c (build_relations): Use bool, not int.
+       * src/nullable.c (nullable_compute): Likewise.
+       * src/print.c (print_reductions): Likewise.
+       * src/tables.c (action_row, pack_vector): Likewise.
+       * src/muscle_tab.h (MUSCLE_INSERT_BOOL): New macro.
+       * src/output.c (prepare): Use it.
+       * src/output.c (token_definitions_output,
+       symbol_destructors_output, symbol_destructors_output): Use string,
+       not boolean integer, to keep track of whether to output separator.
+       * src/print_graph.c (print_core): Likewise.
+       * src/state.c (state_rule_lookaheads_print): Likewise.
+
+       * config/install-sh: Sync from automake 1.7.5.
+
+2003-05-14  Paul Eggert  <eggert@twinsun.com>
+
+       * src/parse-gram.y (rules_or_grammar_declaration): Require a
+       semicolon after a grammar declaration, in the interest of possible
+       future changes to the Bison input language.
+       Do not allow a stray semicolon at the start of the grammar.
+       (rhses.1): Allow one or more semicolons after any rule, including
+       just before "|" as required by POSIX.
+       * tests/input.at (Torturing the Scanner): Add tests for ";|" in a
+       grammar.
+
+2003-05-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       %parse-param support for lalr1.cc.
+
+       * data/lalr1.cc (b4_parse_param_decl, b4_parse_param_cons,
+       b4_cc_constructor_calls, b4_cc_constructor_call,
+       b4_parse_param_vars, b4_cc_var_decls, b4_cc_var_decl): New m4
+       definitions.
+       (yy::b4_parser_class_name::b4_parser_class_name): Take extra
+       parse-param arguments.
+       (yy::b4_parser_class_name): Declare instance variables to
+       hold parse-param arguments.
+       * tests/calc.at: s/value/semantic_value/ because value clashes
+       with a member of yy::b4_parser_class_name.  Adjust C++ code
+       to handle %parse-param.  Enable %parse-param test in C++.
+
+2003-05-12  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (How Can I Reset @code{yyparse}): Reword the
+       English a bit.  Fix fclose typo.  Change "const char" to "char
+       const", and use ANSI C rather than K&R for "main".  Suggest
+       YY_FLUSH_BUFFER over yyrestart (as that is what Flex recommends)
+       and suggest yy_switch_to_buffer.
+
+2003-05-05  Paul Eggert  <eggert@twinsun.com>
+
+       * 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>.
+
+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>.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (pure_parser, glr_parser): Move to...
+       * src/getargs.c, src/getargs.h: here, as bool, not int.
+       (nondeterministic_parser): New.
+       * src/parse-gram.y, src/scan-gram.l: Support
+       %nondeterministic-parser.
+       * src/output.c (prepare): Use nondeterministic_parser instead
+       of glr_parser where appropriate.
+       * src/tables.c (conflict_row, action_row, save_row)
+       (token_actions, token_actions, pack_vector): Ditto.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (C++ Parsers, Implementing Loops): New.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at: Also test yacc.c and glr.c (but not lalr1.cc yet)
+       with %pure-parser and %locations to exercise the patch from Yakov
+       Markovitch below.
+
+2003-04-28  Tim Van Holder <tim.van.holder@pandora.be>
+
+       * data/yacc.c: (b4_lex_param): Corrected for the case where
+       %lex-param is provided and %pure-parser isn't.
+
+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>.
+       * 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.
+
+2003-04-26  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc (yy::Parser::pact_ninf_, yy::Parser::table_ninf_):
+       Declare to be of type suitable for the ninf value itself, not of
+       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>.
+
+       * 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>.
+
+2003-04-21  Paul Eggert  <eggert@twinsun.com>
+
+       * m4/error.m4: Update from Bruno Haible's 2003-04-14 patch
+       to gnulib.
+
+2003-04-21  Yakov Markovitch <Markovitch@iso.ru>
+
+       * data/glr.c (yyexpandGLRStack) [!YYSTACKEXPANDABLE]:
+       Fix obvious typo that results in uncompilable GLR parsers
+       when both %pure-parser and %locations are used.  (trivial change)
+
+2003-04-17  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l: Add %option nounput, since we no longer use unput.
+       (unexpected_eof): Renamed from unexpected_end_of_file, for brevity.
+       Do not insert the expected token via unput, as this runs afoul
+       of a POSIX-compatibility bug in flex 2.5.31.
+       All uses changed to BEGIN the parent state,
+       since we no longer insert the expected token via unput.
+       * tests/regression.at (Invalid inputs): Remove cascaded diagnostic
+       that is no longer emitted after the above change.
+
+       * 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>.
+
+       (resolve_sr_conflict): Don't invoke state_errs_set
+       unless one or more tokens have been explicitly made errors.
+       Otherwise, the above change causes Bison to abort.
+
+       * tests/existing.at (GNU pic Grammar): New test case, taken from
+       Lemberg's email.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * doc/Makefile.am (AM_MAKEINFOFLAGS): Don't split the info file.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare_symbols): Avoid trailing spaces in the
+       output.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Strings are Destroyed): s/losses/loses/.
+       From Paul Hilfinger.
+
+2003-03-29  Akim Demaille  <akim@epita.fr>
+
+       * m4/error.m4: Do not put under dynamic conditions some code which
+       expansion is under static control.
+
+2003-03-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (How Can I Reset @code{yyparse}): New.
+
+2003-03-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Strings are Destroyed): New.
+
+2003-03-13  Paul Eggert  <eggert@twinsun.com>
+
+       * .cvsignore: Add configure.lineno.
+       * src/.cvsignore: Add yacc.
+       * tests/.cvsignore: Add testsuite.log.
+       * doc/fdl.texi: Sync with latest FSF version.
+
+2003-03-12  Paul Eggert  <eggert@twinsun.com>
+
+       * scan-gram.l (YY_USER_INIT): Initialize code_start, too.
+       (<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>.
+       * tests/input.at (Torturing the Scanner): Test the scanner on
+       an empty input file, which was Tim Van Holder's test case.
+
+       * m4/timevar.m4 (BISON_PREREQ_TIMEVAR): When checking whether
+       <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>.
+
+       * m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't
+       AC_CHECK_HEADERS([sys/wait.h]), as this interferes with
+       AC_HEADER_SYS_WAIT.
+
+       Merge changes from gnulib.  This was prompted because the CVS
+       snapshot didn't build on Solaris 7 due to strnlen problems.
+
+       These changes need to be merged back into gnulib:
+       * lib/hash.c: Include <stdbool.h> unconditionally.
+       * m4/onceonly.m4 (m4_quote): New macro.
+       (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
+       Quote AC_FOREACH variable-expansions properly.
+       The 2003-01-03 obstack.h change also needs merging.
+       {end of changes requiring merging}
+
+       * lib/stdbool.h.in, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
+       m4/getopt.m4, m4/hash.m4, m4/malloc.m4, m4/memchr.m4,
+       m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/quote.m4,
+       m4/quotearg.m4, m4/realloc.m4, m4/stpcpy.m4, m4/strnlen.m4,
+       m4/strtol.m4, m4/strtoul.m4, m4/unlocked-io.m4, m4/xalloc.m4:
+       New files, imported from gnulib.
+       * m4/Makefile.am (EXTRA_DIST): Add the new m4/*.m4 files mentioned
+       above.
+
+       * lib/mbswidth.c, m4/error.m4, m4/mbrtowc.m4, m4/mbswidth.m4,
+       m4/memcmp.m4, m4/prereq.m4, m4/stdbool.m4: Update to current
+       gnulib sources.
+
+       * configure.ac (gl_DIRNAME, gl_GETOPT, gl_HASH, gl_QUOTE, gl_XALLOC):
+       Add.
+       (gl_ERROR): New, replacing jm_PREREQ_ERROR.
+       (gl_FUNC_ALLOCA): New, replacing AC_FUNC_ALLOCA.
+       (gl_FUNC_STPCPY): New, replacing AC_REPLACE_FUNCS(stpcpy).
+       (gl_FUNC_STRNLEN): New, replacing AC_FUNC_STRNLEN.
+       (gl_MBSWIDTH): New, replacing jm_PREREQ_MBSWIDTH.
+       (gl_OBSTACK): New, replacing AC_FUNC_OBSTACK.
+       (gl_QUOTEARG): New, replacing jm_PREREQ_QUOTEARG.
+       (jm_FUNC_GLIBC_UNLOCKED_IO, gl_FUNC_STPCPY, gl_FUNC_STRTOL): New.
+       (jm_FUNC_MALLOC): New, replacing AC_FUNC_MALLOC.
+       (jm_FUNC_REALLOC): New, replacing AC_FUNC_REALLOC.
+       (jm_PREREQ_ARGMATCH): Remove.
+       (AC_REPLACE_FUNCS): Remove memchr, memrchr, stpcpy, strtol, strtoul.
+       * lib/Makefile.am (libbison_a_SOURCES): Add argmatch.c, argmatch.h.
+
+       * src/system.h: Include <stdbool.h> unconditionally.
+
+       * lib/bbitset.h: Include <limits.h> unconditionally.  We have been
+       assuming at least C89 in the bitset code for some time now.
+
+2003-03-03  Akim Demaille  <akim@epita.fr>
+
+       * ro.po: New.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Table of Symbols): Reactivate the
+       documentation for %lex-param, and %parse-param.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c, data/glr.c, data/lal1.cc: Use similar code to
+       generate verbose error messages.
+       Use the number of tokens as an upper bound in yytname, as it
+       cannot be a non terminal.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (_AT_DATA_DANCER_Y): Fix the expected error
+       message.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       * tests/regression.at (_AT_DATA_DANCER_Y, AT_CHECK_DANCER): New.
+       Use them to exercise yycheck overrun.
+       Based on Andrew Suffield's grammar.
+
+2003-03-02  Akim Demaille  <akim@epita.fr>
+
+       Create tests/local.at for Bison generic testing macros.
+
+       * tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Move to...
+       * tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
+       This new file.
+       * tests/calc.at (AT_CHECK_CALC): Adjust.
+       * tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR)
+       (AT_COMPILE, AT_COMPILE_CXX, AT_PARSER_CHECK): Move to...
+       * tests/local.at: here.
+       (AT_COMPILE_CXX): Tags the tests using it as c++.
+       Ignore the test if CXX is not functional.
+
+2003-03-01  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l (code_start): Initialize it to scanner_cursor,
+       not loc->end, since loc->end might contain garbage and this leads
+       to undefined behavior on some platforms.
+       (id_loc, token_start): Use (IF_LINTed) initial values that do not
+       depend on *loc, so that the reader doesn't give the the false
+       impression that *loc is initialized.
+       (<INITIAL>"%%"): Do not bother setting code_start, since its value
+       does not survive the return.
+
+2003-03-01  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-gram.l (code_start): Always initialize it when entering
+       into yylex, as SC_EPILOGUE is activated *before* the corresponding
+       yylex invocation.  An alternative would be making it static, but
+       then it starts with the second %%'s beginning, instead of its end.
+
+2003-02-28  Paul Eggert  <eggert@twinsun.com>
+
+       * 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>.
+
+2003-02-26  Paul Eggert  <eggert@twinsun.com>
+
+       * README: Mention compiler bug in Sun Forte Developer 6 update 2.
+       Remove Sequent/Pyramid discussion (nobody uses them any more).
+       Merge VMS and MS-DOS discussion; these ports may well be dead
+       but let's keep mentioning them for now.  Put <> around email
+       addresses.  Add copyright notice.
+
+2003-02-24  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>.
+       * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
+       * data/yacc.c (yy_reduce_print): Likewise.
+
+       * config/depcomp: Sync with Automake 1.7.3.
+
+2003-02-21  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: Use temporary variables instead of casts to
+       change integer types.
+       Suggested by Paul Eggert.
+
+2003-02-21  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Use "location" consistently to refer to @n,
+       to avoid confusions with lalr1.cc's notion of Position.
+       Suggested by Paul Eggert.
+
+2003-02-20  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (position.hh): Make sure "columns" never pushes
+       before initial_columns.
+       (location.hh): Use consistent variable names when defining the
+       operator<<.
+       Use "last" so that we subtract from Positions, not from unsigned.
+
+2003-02-20  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (position.hh): New subfile, including the extended
+       and Doxygen'ed documentation of class Position.
+       (location.hh): Use it.
+       Document a` la Doxygen.
+       With the help of Benoit Perrot.
+
+2003-02-20  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Define
+       AT_YACC_IF.
+       Redefine AT_YYERROR_SEES_LOC_IF using it.
+       (_AT_DATA_CALC_Y): Don't declare yyerror when lalr1.cc, as it is
+       not defined.
+       Don't use the location in yy::Parser::error_ and
+       yy::Parser::print_ when not %locations.
+       Activate more lalr1.cc tests.
+
+2003-02-19  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: When displaying a line number, be sure to make it
+       an int.
+
+2003-02-19  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (b4_stack_depth_init, yy::Parser::initdepth_):
+       Remove, useless.
+       (YYABORT, YYACCEPT, YYERROR): New.
+       * tests/calc.at: Renable the lalr1.cc test.
+
+2003-02-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at (AT_CHECK_CALC): Check different scenarios of
+       error recovery, mixing with/without pops and discarding of the
+       lookahead.
+       Exercise YYERROR.
+       Disable the lalr1.cc tests as currently it doesn't support YYERROR.
+
+2003-02-17  Paul Eggert  <eggert@twinsun.com>
+
+       * 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>.
+
+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>.
+       * data/glr.c (yyreportSyntaxError) [YYERROR_VERBOSE]: Likewise.
+       Check for malloc failure, for consistency with yacc.c.
+       (yytname_size): Remove, for consistency with yacc.c.
+
+       The bug still remains in data/lalr1.cc, as I didn't have time
+       to fix it there.
+
+2003-02-06  Akim Demaille  <akim@epita.fr>
+
+       * configure.ac (GXX): Rename as...
+       (CXX): this, to keep the original Autoconf semantics.
+       Require 2.57.
+       * data/lalr1.cc: Fix b4_copyright invocations.
+       If YYDEBUG is not defined, don't depend upon name_ being defined.
+       (location.hh): Include string and iostream.
+       (Position::filename): New member.
+       (Position::Position ()): New.
+       (operator<< (Position)): New.
+       (operator- (Position, int)): New.
+       (Location::first, Location::last): Rename as...
+       (Location::begin, Location::end): these, to mock the conventional
+       iterator names.
+       (operator<< (Location)): New.
+       * tests/atlocal.in (CXX): New.
+       * tests/testsuite.at (AT_COMPILE_CXX): New.
+       * tests/calc.at (_AT_DATA_CALC_Y): Adjust yyerror to report the
+       locations in a more synthetic way.
+       (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF is positive if
+       lalr1.cc is used.
+       Adjust the C locations to match those from Emacs: first column is
+       column 0.
+       Change all the expected results.
+       Conform to the GCS: simplify the locations when applicable.
+       (LOC, VAL, YYLLOC_FORMAL, YYLLOC_ARG, USE_YYLLOC, LEX_FORMALS)
+       (LEX_ARGS, USE_LEX_ARGS, LEX_PRE_FORMALS, LEX_PRE_ARGS): Replace
+       these CPP macros with the m4 macros new defined by...
+       (AT_CHECK_PUSHDEFS): this, i.e.:
+       (AT_LALR1_CC_IF, AT_PURE_LEX_IF, AT_LOC, AT_VAL, AT_LEX_FORMALS)
+       (AT_LEX_ARGS, AT_USE_LEX_ARGS, AT_LEX_PRE_FORMALS, AT_LEX_PRE_ARGS)
+       New macros.
+       (AT_CHECK_POPDEFS): Undefine them.
+       (AT_CHECK_CALC_LALR1_CC): New.
+       Use it for the first lalr1.cc test.
+
+2003-02-04  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (YYLLOC_DEFAULT): Fix its definition: be based on
+       Location as is defined.
+
+2003-02-04  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc: If YYDEBUG is not defined, don't depend upon
+       name_ being defined.
+
+2003-02-03  Paul Eggert  <eggert@twinsun.com>
+
+       * src/gram.h (start_symbol): Remove unused decl.
+
+       Use more-consistent naming conventions for local vars.
+
+       * src/derives.c (derives_compute): Change type of local var from
+       int to rule_number.
+       * src/gram.c (grammar_rules_partial_print): Likewise.
+       * src/print.c (print_core): Likewise.
+       * src/reduce.c (reduce_grammar_tables): Likewise.
+
+       * src/gram.c (grammar_dump): Change name of item_number *
+       local var from r to rp.
+       * src/nullable.c (nullable_compute): Likewise.
+
+       * src/gram.h (ISTOKEN, ISVAR): Use i, not s, for int var.
+
+       * src/gram.h (symbol_number_as_item_number): Use sym, not s,
+       for symbol or symbol_number var.
+       * src/reader.c (grammar_start_symbol_set): Likewise.
+       * src/reader.h (grammar_start_symbol_set, grammar_symbol_append):
+       Likewise.
+       * src/state.c (transitions_to): Likewise.
+       * src/state.h: Likewise.
+       * src/tables.c (symbol_number_to_vector_number): Likewise.
+
+       * src/muscle_tab.h (MUSCLE_OBSTACK_SGROW): Use p, not s, for
+       char * var.
+
+       * src/parse-gram.y (lloc_default): Use loc, not r, for YYLTYPE
+       var.
+
+       * src/scan-gram.l (no_cr_read): Use bytes_read, not s, for size
+       var.
+
+       * src/system.h (xstrndup, strchr, strspn, strnlen, memchr, memrchr):
+       Use str, not s, for char * var.  Use ch, not c, for character var.
+       Use size for size var.
+
+       * src/uniqstr.c (uniqstr_new, uniqstr_assert): Use str, not s, for
+       char * var.
+       (uniqstr_print, uniqst_print_processor): Use ustr, not s, for
+       uniqstr var.
+       * src/uniqstr.h: Likewise.
+
+       * src/vcg.c (get_color_str, get_textmode_str, get_shape_str,
+       get_layoutalgorithm_str, get_decision_str, get_orientation_str,
+       get_node_alignment_str, get_arrow_mode_str, get_crossing_type_str,
+       get_view_str, get_linestyle_str, get_arrowstyle_str): Rename
+       param to have same name as that of enum, so that we don't use
+       "s" to stand for a non-state.
+
+2003-02-02  Akim Demaille  <akim@epita.fr>
+
+       * src/scan-skel.l: Scan more than one inert character per yylex
+       invocation.
+
+2003-02-01  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.875a.
+
+       * po/LINGUAS: Add ms.
+
+2003-01-30  Akim Demaille  <akim@epita.fr>
+
+       * doc/Makefile.am (CLEANFILES): Add bison.fns for distcheck.
+
+2003-01-29  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * tests/cxx-type.at: Correct apparent typo in Bison input: $$ instead
+       of $1.
+
+       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>.
+
+       * data/glr.c (b4_rhs_value): Change to use YYFILL macro.
+       (b4_rhs_location): Ditto.
+       (yyfill): New function to copy from stack tree into array
+       incrementally.
+       (yyuserAction): Modify to allow incremental move of semantic values
+       to rhs array when in GLR mode.
+       Define YYFILL to use in user-defined actions to fill semantic array
+       as needed.
+       Remove dummy use of yystack, as there is now a guaranteed use.
+       (yydoAction): Modify to allow incremental move of semantic values
+       to rhs array when in GLR mode.
+       (yyresolveAction): Ditto.
+       (yyglrShiftDefer): Update comment.
+       (yyresolveStates): Use X == NULL for pointers, not !X.
+       (yyglrReduce): Ditto.
+       (yydoAction): Ditto
+
+       * tests/glr-regr1.at: Rename to ...
+       * tests/glr-regression.at: Add new regression test for the problems
+       described above (adapted from S. Eken).
+       Update copyright notice.
+       * tests/testsuite.at: Rename glr-regr1.at to glr-regression.at.
+       * tests/Makefile.am: Ditto.
+
+2003-01-28  Paul Eggert  <eggert@twinsun.com>
+
+       * 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>.
+
+2003-01-21  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c (YYERROR): Move code from yyerrlab1 to here, so that
+       we don't need to worry about yyerrlab1 being reported as an
+       "unused label" by non-GCC C compilers.  The downside is that if
+       locations are used then a couple of statements are duplicated each
+       time YYERROR is invoked, but the upside is that the warnings
+       should vanish.
+       (yyerrlab1): Move code to YERROR.
+       (yyerrlab2): Remove.  Change uses back to yyerrlab1.
+       This reverts some of the 2002-12-27 change.
+
+2003-01-17  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>.
+
+2003-01-13  Akim Demaille  <akim@epita.fr>,
+               Quoc Peyrot <chojin@lrde.epita.fr>,
+               Robert Anisko <anisko_r@lrde.epita.fr>
+
+       * data/lalr1.cc (parse::yyerrlab1): When popping the stack, stop
+       when the stacks contain one element, as the loop would otherwise
+       free the last state, and then use the top state (the one we just
+       popped).  This means that the initial elements will not be freed
+       explicitly, as is the case in yacc.c; it is not a problem, as
+       these elements have fake values.
+
+2003-01-11  Paul Eggert  <eggert@twinsun.com>
+
+       * 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>.
+       * src/conflicts.c (conflicts_print): Likewise.
+       * tests/conflicts.at (%expect not enough, %expect too much,
+       %expect with reduce conflicts): Likewise.
+       * doc/bison.texinfo (Expect Decl): Document this.  Also mention
+       that the warning is enabled if the number of conflicts changes
+       (not necessarily increases).
+
+       * src/getargs.c (version): Update copyright year.
+
+2003-01-09  Akim Demaille  <akim@epita.fr>
+
+       * src/Makefile.am, lib/Makefile.am: Use $(VAR) instead of @VAR@.
+
+2003-01-08  Paul Eggert  <eggert@twinsun.com>
+
+       * Makefile.maint (WGETFLAGS):
+       New macro, containing "-C off" to disable proxy caches.
+       All uses of $(WGET) changed to $(WGET) $(WGETFLAGS).
+       (rel-check): Use $(WGET) instead of wget.
+
+2003-01-06  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (Generalized LR Parsing): Add a reference to
+       the GLR paper of Scott, Johnstone and Hussain.
+
+2003-01-04  Paul Eggert  <eggert@twinsun.com>
+
+       * configure.ac (AC_ARG_ENABLE): Add --disable-yacc.
+       (YACC_SCRIPT, YACC_LIBRARY): New vars to AC_SUBST.
+       * lib/Makefile.am (lib_LIBRARIES): liby.a -> @YACC_LIBRARY@.
+       (EXTRA_LIBRARIES): New var, for liby.a.
+       * src/Makefile.am (bin_SCRIPTS): yacc -> @YACC_SCRIPT@.
+       (EXTRA_SCRIPTS): New var, for yacc.
+
+       * data/yacc.c (yyerrlab1): Omit attribute if __cplusplus is defined,
+       since GNU C++ (as of 3.2.1) does not allow attributes on labels.
+       Problem reported by Nelson H. F. Beebe.
+
+2003-01-03  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/obstack.h (__INT_TO_PTR) [__STDC__]: Cast result to
+       (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
+       when compiling Bison 1.875's `bitset bset = obstack_alloc
+       (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
+
+       * src/scan-skel.l (QPUTS): Omit redundant `;' from macro definition.
+       ([^@\n]): Renamed from [^@\n]+ so that the token buffer does not
+       grow to a huge size with typical invocation.
+
+       * lib/hash.c (_Bool, bool, false, true, __bool_true_false_are_defined):
+       Use the pattern recommended by Autoconf 2.57, except also protect
+       against double-definition.
+       * src/system.h: Likewise.
+       Portability issues reported by Nelson H. F. Beebe.
+
+       * data/glr.c (yybool): Renamed from bool, to avoid collisions in C.
+       All uses changed.  Provide a definition in both C and C++.
+       (yytrue, yyfalse): Define even if defined (__cplusplus).
+
+       * lib/bitset_stats.c (bitset_stats_list): Remove unused var.
+       Reported by Nelson H. F. Beebe.
+
+       * src/scan-skel.l ("@oline@"): Output lineno+1, not lineno.
+
+2003-01-02  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c (yyerrlab1): Append `;' after attribute, to
+       pacify the buggy "smart preprocessor" in MacOS 10.2.3.
+       Bug reported by Nelson H. F. Beebe.
+
+2003-01-01  Paul Eggert  <eggert@twinsun.com>
+
+       * Version 1.875.
+
+2002-12-30  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>","):
+       Moved here from...
+       (<INITIAL>","): Here.  This causes stray "," to be treated
+       more uniformly.
+
+       * src/scan-gram.l (<SC_BRACED_CODE>"}"): Output ";" before the
+       last brace in braced code when not in Yacc mode, for compatibility
+       with Bison 1.35.  This resurrects the 2001-12-15 patch to
+       src/reader.c.
+
+       * src/reader.h (YYDECL): Use YYSTYPE, not its deprecated alias
+       yystype.  This follows up the 2002-12-24 YYSTYPE bug fix.
+
+2002-12-28  Paul Eggert  <eggert@twinsun.com>
+
+       * src/symtab.c (symbol_make_alias): Set type of SYMVAL to be
+       that of SYM's type.  This fixes Debian bug 168069, reported by
+       Thomas Olsson.
+
+2002-12-28  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75f.
+
+       Switch back to the Yacc style of conflict reports, undoing some
+       of the 2002-07-30 change.
+       * doc/bison.texinfo (Understanding): Use Yacc style for
+       conflict reports.  Also, use new way of locating rules.
+       * src/conflicts.c (conflict_report):
+       Renamed from conflict_report_yacc, removing the old
+       'conflict_report'.  Translate the entire conflict report at once,
+       so that we don't assume that "," has the same interpretation in
+       all languages.
+       (conflicts_output): Use Yacc-style conflict report for each state,
+       instead of our more-complicated style.
+       (conflicts_print): Use Yacc-style conflict report, except print
+       the input file name when not emulating Yacc.
+       * tests/conflicts.at (Unresolved SR Conflicts, Defaulted
+       Conflicted Reduction, %expect not enough, %expect too much,
+       %expect with reduce conflicts): Switch to Yacc-style conflict reports.
+       * tests/existing.at (GNU Cim Grammar): Likewise.
+       * tests/glr-regr1.at (Badly Collapsed GLR States): Likewise.
+
+       * src/complain.c (warn_at, warn, complain_at, complain, fatal_at,
+       fatal): Don't invoke fflush; it's not needed and it might even be
+       harmful for stdout, as stdout might not be open.
+       * src/reduce.c (reduce_print): Likewise.
+
+2002-12-27  Paul Eggert  <eggert@twinsun.com>
+
+       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>.
+
+       * data/yacc.c (yyparse): New local var yylerrsp, to record the
+       top of the location stack's error locations.
+       (yyerrlab): Set it.  When discarding a token, push its location
+       onto yylerrsp so that we don't lose track of the error's end.
+       (yyerrlab1): Now is only the target of YYERROR, so that we can
+       properly record the location of the action that failed.  For GCC
+       2.93 and later, insert an __attribute__ ((__unused__)) to avoid
+       GCC warning about yyerrlab1 being unused if YYERROR is unused.
+       (yyerrlab2): New label, which yyerrlab now falls through to.
+       Compute the error's location by applying YYLLOC_DEFAULT to
+       the locations of all the symbols that went into the error.
+       * doc/bison.texinfo (Location Default Action): Mention that
+       YYLLOC_DEFAULT is also invoked for syntax errors.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
+       Error locations include the locations of all the tokens that were
+       discarded, not just the last token.
+
+2002-12-26  Paul Eggert  <eggert@twinsun.com>
+
+       * src/files.c: Include quote.h.
+       (compute_output_file_names): Warn if we detect conflicting
+       outputs to the same file.  This should catch the misunderstanding
+       exemplified by Debian Bug 165349, reported by Bruce Stephens..
+
+       * src/conflicts.c (conflicts_print): If the user specifies
+       "%expect N", report an error if there are any reduce/reduce
+       conflicts.  This is what the manual says should happen.
+       This fixes Debian bug 130890, reported by Anthony DeRobertis.
+       * tests/conflicts.at (%expect with reduce conflicts): New test.
+
+       Don't use m4_include on relative file names, as it doesn't work as
+       desired if there happens to be a file with that name under ".".
+
+       * m4sugar/version.m4: Remove; it was included but it wasn't used.
+       * data/Makefile.am (dist_m4sugar_DATA): Remove m4sugar/version.m4.
+       * data/m4sugar/m4sugar.m4: Don't include m4sugar/version.m4.
+       * data/glr.c, data/lalr1.cc, data/yacc.c: Don't include c.m4.
+       * src/output.c (output_skeleton): Use full path names when
+       specifying a file to include; don't rely on include path, as
+       it's unreliable when the working file contains a file with
+       that name.
+
+2002-12-25  Paul Eggert  <eggert@twinsun.com>
+
+       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>.
+       * data/glr.c: Comment fix.
+       * doc/bison.1: Remove references.  Also, mention "yacc".
+
+       * src/getargs.c (getargs) [MSDOS]: Don't assume optarg != NULL
+       with -g option.
+
+       * src/parse-gram.y (declaration): Use enum "report_states" rather
+       than its numeric value 1.
+
+       * src/scan-skel.l ("@output ".*\n): Close any old yyout before
+       opening a new one.  This fixes Debian bug 165349, reported by
+       Bruce Stephens.
+
+2002-12-24  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75e.
+
+       * Makefile.maint (cvs-update): Don't assume that the shell
+       supports $(...), as Solaris sh doesn't.
+
+       * src/parse-gram.y (lloc_default): Remove test for empty
+       nonterminals at the end, since it didn't change the result.
+
+2002-12-24  Paul Eggert  <eggert@twinsun.com>
+
+       If the user does not define YYSTYPE as a macro, Bison now declares it
+       using typedef instead of defining it as a macro.  POSIX requires this.
+       For consistency, YYLTYPE is also declared instead of defined.
+
+       %union directives can now have a tag before the `{', e.g., the
+       directive `%union foo {...}' now generates the C code
+       `typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
+       The default union tag is `YYSTYPE', for compatibility with Solaris 9
+       Yacc.  For consistency, YYLTYPE's struct tag is now `YYLTYPE'
+       instead of `yyltype'.
+
+       `yystype' and `yyltype' are now obsolescent macros instead of being
+       typedefs or tags; they are no longer documented and will be
+       withdrawn in a future release.
+
+       * data/glr.c (b4_location_type): Remove.
+       (YYSTYPE): Renamed from yystype.
+       (YYSTYPE_IS_DECLARED): New macro, used to prevent double-typedef.
+       (struct YYLTYPE): Renamed from struct yyltype.
+       (YYLTYPE): Renamed from yyltype.
+       (yyltype, yystype): New (and obsolescent) macros,
+       for backward compatibility.
+       * data/yacc.c: Likewise.
+
+       * data/yacc.c (YYSTYPE): Declare as union YYSTYPE if the user
+       does not specify a union tag.  This is for compatibility with
+       Solaris 9 yacc.
+
+       * src/parse-gram.y (add_param): 2nd arg is now char * not char
+       const *, since it is now modified by stripping surrounding { }.
+       (current_braced_code): Remove.
+       (PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_UNION,
+       PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Change names to include
+       trailing " {...}".  Now of type <chars>.
+       (grammar_declaration): Adjust to bundled tokens.
+       (code_content): Remove; stripping is now done by add_param.
+       (print_token_value): Print contents of bundled tokens.
+       (token_name): New function.
+
+       * src/reader.h (braced_code, current_braced_code): Remove.
+       (token_name): New decl.
+
+       * src/scan-gram.l (handle_dollar, handle_at): Now takes int
+       token_type, not braced_code code_kind.  All uses changed.
+       (SC_PRE_CODE): New state, for scanning after a keyword that
+       has (or usually has) an immediately-following braced code.
+       (token_type): New local var, to keep track of which token type
+       to return when scanning braced code.
+       (<INITIAL>"%destructor", <INITIAL>"%lex-param",
+       <INITIAL>"%parse-param", <INITIAL>"%printer",
+       <INITIAL>"%union"): Set token type and BEGIN SC_PRE_CODE
+       instead of returning a token type immediately.
+       (<INITIAL>"{"): Set token type.
+       (<SC_BRACED_CODE>"}"): Use it.
+       (handle_action_dollar, handle_action_at): Now returns bool
+       indicating success.  Fail if ! current_rule; this prevents a core dump.
+       (handle_symbol_code_dollar, handle_symbol_code_at):
+       Remove; merge body into caller.
+       (handle_dollar, handle_at): Complain in invalid contexts.
+
+       * NEWS, doc/bison.texinfo: Document the above.
+       * NEWS: Fix years and program names in copyright notice.
+
+2002-12-17  Paul Eggert  <eggert@twinsun.com>
+
+       * NEWS, doc/bison.texinfo (Parser Function, Pure Calling, Error
+       Reporting, Table of Symbols): Omit mentions of %lex-param and
+       %parse-param from the documentation for now.
+
+2002-12-15  Paul Eggert  <eggert@twinsun.com>
+
+       Undo most of the 2002-11-12 yychar -> yytoken patch, as it broke
+       GCC 3.2.1 (which depends on yychar == YYEMPTY when there is no
+       lookahead symbol, and which sets yychar in parser actions) and it
+       disagreed with the Bison documentation.  Bug
+       reported by Andrew Walrond.
+
+       * data/yacc.c (YYTRANSLATE): Don't check for negative argument,
+       as the caller now does that.
+       (yyclearin, YYBACKUP, yyparse): Use yychar, not yytoken.
+       (YYEMPTY): Parenthesize right hand side, since others use it.
+       (yyparse): Don't assume that our generated code is the only code
+       that sets yychar.
+
+2002-12-13  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75d.
+
+       POSIX requires a "yacc" command.
+       * src/Makefile.am (bin_SCRIPTS): New macro, for yacc.
+       (MOSTLYCLEANFILES): Add yacc.
+       (yacc): New rule.
+       * doc/bison.texinfo (Invocation, Bison Options): Mention yacc
+       as an alias for bison y.
+
+       * po/LINGUAS: Add da.
+
+       * src/getargs.c (__GNU_LIBRARY__) [lint]: Define to work around
+       problem with latest <getopt.h>.
+       (HACK_FOR___GNU_LIBRARY___PROTOTYPE): New macro.
+
+       * doc/fdl.texi: Upgrade to 1.2.
+       * lib/alloca.c, lib/error.c, lib/getopt.c, lib/getopt.h
+       lib/getopt1.c, lib/gettext.h, lib/memrchr.c, lib/obstack.c,
+       lib/obstack.h, lib/strnlen.c, lib/unlocked-io.h: Sync with
+       gnulib.
+       * 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>.
+       * data/yacc.c (YYLTYPE, struct yyltype): Do not define unless
+       locations are requested.
+       (union yyalloc): Do not depend on YYLTYPE_IS_TRIVIAL unless
+       locations are requested.
+
+2002-12-12  Paul Eggert  <eggert@twinsun.com>
+
+       Remove unportable casts and storage allocation tricks.
+       While we're at it, remove almost all casts, since they
+       usually aren't needed and are a sign of trouble.
+
+       * configure.ac (AC_CHECK_TYPES): Check for uintptr_t.
+
+       * src/derives.c (derives_compute): Do not subtract NTOKENS from
+       the pointer DSET returned by malloc; this isn't portable.
+       Instead, always use DSET[i - NTOKENS] rather than DSET[i].
+       Similarly for DERIVES.
+       * src/lalr.c (set_goto_map): Likewise, for GOTO_MAP and TEMP_MAP.
+       * src/nullable.c (nullable_compute): Likewise, for RSETS and NULLABLE.
+       * src/reduce.c (reduce_grammar_tables): Likewise, for nontermmap
+
+       * src/derives.c (derives_compute): Do not bother invoking
+       int_of_rule_number, since rule numbers are integers.
+
+       * src/files.c (concat2, tr, compute_base_name): Use xmalloc (N)
+       rather than XMALLOC (char, N).
+
+       * src/files.c (filename_split): Rewrite to avoid cast.
+
+       * src/gram.h (symbol_number_as_item_number,
+       item_number_as_symbol_number, rule_number_as_item_number,
+       item_number_as_rule_number):
+       Now inline functions rather than macros, to avoid casts.
+       * src/state.h (state_number_as_int): Likewise.
+       * src/tables.c (state_number_to_vector_number,
+       symbol_number_to_vector_number): Likewise.
+
+       * src/gram.h (int_of_rule_number): Remove; no longer used.
+
+       * src/lalr.c (add_lookback_edge): Use malloc rather than calloc,
+       since the resulting storage is always stored into.
+
+       * src/main.c (alloca) [C_ALLOCA]: Add decl here, the only place
+       where it's needed.
+
+       * src/muscle_tab.c (muscle_m4_output):
+       Now inline.  Return bool, not int.
+       * src/state.c (state_compare): Likewise.
+       * src/symtab.c (symbol_check_defined,
+       symbol_check_alias_consistency, symbol_pack, symbol_translation,
+       hash_compare_symbol, hash_symbol):
+       Likewise.
+       * src/uniqstr.c (uniqstr_print): Likewise.
+       * src/muscle_tab.c (muscle_m4_output_processor):
+       New function, to avoid casts.
+       * src/state.c (state_comparator, stage_hasher): Likewise.
+       * src/symtab.c (symbol_check_defined_processor,
+       symbol_check_alias_consistency_processor, symbol_pack_processor,
+       symbol_translation_processor, hash_symbol_comparator,
+       hash_symbol_hasher): Likewise.
+       * src/uniqstr.c (uniqstr_print_processor): Likewise.
+       * src/muscle_tab.c (muscles_m4_output):
+       Use new functions instead of casting old functions unportably.
+       * src/state.c (state_hash_new): Likewise.
+       * src/symtab.c (symbols_new, symbols_do, symbols_check_defined,
+       symbols_token_translations_init):
+       Likewise.
+       * src/uniqstr.c (uniqstrs_new, hash_initialize, uniqstrs_do): Likewise.
+
+       * src/output.c (GENERATE_MUSCLE_INSERT_TABLE): Use long local
+       var instead of casting to long, to avoid casts.
+       (prepare_states): Use MALLOC rather than alloca, so that we don't
+       have to worry about alloca.
+       * src/state.c (state_hash_lookup): Likewise.
+
+       * src/scan-gram.l (<SC_ESCAPED_CHARACTER>"'"): Use unsigned char
+       local var instead of casting to unsigned char, to avoid casts.
+
+       * src/state.c (TRANSITIONS_ALLOC, ERRS_ALLOC, REDUCTIONS_ALLOC,
+       STATE_ALLOC): Remove.
+       (transitions_new, errs_new, reductions_new, state_new): Use malloc
+       rather than calloc, and use offsetof to avoid allocating slightly
+       too much storage.
+       (state_new): Initialize all members.
+
+       * src/state.c (state_hash): Use unsigned accumulator, not signed.
+
+       * src/symtab.c (symbol_free): Remove; unused.
+       (symbol_get): Remove cast in lhs of assignment.
+       (symbols_do): Now static.  Accept generic arguments, not
+       hashing-related ones.
+
+       * src/symtab.h: (NUMBER_UNDEFINED): Remove unnecessary cast.
+       (symbol_processor): Remove.
+       (symbols_do): Remove decl; now static.
+
+       * src/system.h (alloca): Remove; decl no longer needed.
+       (<stddef.h>): Include, for offsetof.
+       (<inttypes.>, <stdint.h>): Include if available.
+       (uintptr_t): New type, if system lacks it.
+       (CALLOC, MALLOC, REALLOC): New macros.
+       All uses of XCALLOC, XMALLOC, and XREALLOC changed to use these
+       new macros.
+
+       * src/tables.c (table_size): Now int, to pacify GCC.
+       (table_grow, table_ninf_remap): Use signed table size.
+       (save_row): Don't bother initializing locals when not needed.
+       (default_goto, goto_actions, pack_vector): Remove unnecessary casts.
+       * src/uniqstr.c (hash_compare_uniqstr):  Likewise.
+
+       * src/vcg.h: Correct misspellings.
+
+       * src/vcg_defaults.h (G_CMAX): Now INT_MAX.
+
+
+       * src/getargs.c (getargs): Don't assume EOF == -1.
+
+2002-12-09  Paul Eggert  <eggert@twinsun.com>
+
+       Change identifier spellings to avoid collisions with names
+       that are reserved by POSIX.
+
+       Don't use names ending in _t, since POSIX reserves them.
+       For consistency, remove _e and _s endings -- they're weren't
+       needed to remove ambiguity.  All uses changed.
+       * src/uniqstr.h (uniqstr): Renamed from uniqstr_t, which in
+       turn was just renamed from struniq_t.
+       * src/uniqstr.c (uniqstr_processor): Renamed from struniq_processor,
+       which in turn was just renamed from struniq_processor_t.
+       (hash_compare_uniqstr): Renamed from hash_compare_struniq, which
+       in turn was renamed from hash_compare_struniq_t.
+       * src/LR0.c (struct state_list): Renamed from struct state_list_s.
+       (state_list): Renamed from state_list_t.
+       * src/assoc.h (assoc): Renamed from assoc_t.
+       * src/conflicts.c (enum conflict_resolution): Renamed from
+       enum conflict_resolution_e.
+       * src/derives.c (struct rule_list): Renamed from struct rule_list_s.
+       (rule_list): Renamed from rule_list_t.
+       * src/getargs.h (enum trace): Renamed from enum trace_e.
+       (enum report): Renamed from enum report_e.
+       * src/gram.h (item_number): Renamed from item_number_t.
+       (rule_number): Renamed from rule_number_t.
+       (struct rule_s): Remove the "rule_s" part; not used.
+       (rule): Renamed from rule_t.
+       (rule_filter): Renamed from rule_filter_t.
+       * src/lalr.c (struct goto_list): Renamed from struct goto_list_s.
+       (goto_list): Renamed from goto_list_t.
+       * src/lalr.h (goto_number): Renamed from goto_number_t.
+       * src/location.h (location): Renamed from location_t.
+       * src/muscle_tab.c (muscle_entry): Renamed from muscle_entry_t,
+       and moved here from:
+       * src/muscle_tab.h (muscle_entry_t): here.
+       * src/nullable.c (struct rule_list): Renamed from struct rule_list_s.
+       (rule_list): Renamed from rule_list_t.
+       * src/print_graph.c (static_graph): Renamed from graph.
+       * src/reader.h (braced_code): Renamed from braced_code_t.
+       Remove brace_code_e tag.
+       * src/relation.h (relation_node): Renamed from relation_node_t.
+       (relation_nodes): Renamed from relation_nodes_t.
+       (relation): Renamed from relation_t.
+       * src/state.h (state_number): Renamed from state_number_t.
+       (struct state): Renamed from struct state_s.
+       (state): Renamed from state_t.
+       (transitions): Renamed from transitions_t.  Unused (and
+       misspelled) transtion_s tag removed.
+       (errs): Renamed from errs_t.  Unused errs_s tag removed.
+       (reductions): Renamed from reductions_t.  Unused tag
+       reductions_s removed.
+       * src/symlist.h (symbol_list): Renamed from symbol_list_t.
+       (struct symbol_list): Renamed from struct symbol_list_s.
+       * src/symtab.h (symbol_number): Renamed from symbol_number_t.
+       (struct symbol): Renamed from struct symbol_s.
+       (symbol): Renamed from symbol_t.
+       * src/tables.c (vector_number): Renamed from vector_number_t.
+       (action_number): Renamed from action_t.
+       * src/tables.h (base_number): Renamed from base_t.
+       * src/vcg.h (enum color): Renamed from enum color_e.
+       (enum textmode): Renamed from enum textmode_e.
+       (enum shape): Renamed from enum shape_e.
+       (struct colorentry): Renamed from struct colorentry_s.
+       (struct classname): Renamed from struct classname_s.
+       (struct infoname): Renamed from struct infoname_s.
+       (enum layoutalgorithm): Renamed from enum layoutalgorithm_e.
+       (enum decision): Renamed from enum decision_e.
+       (enum orientation): Renamed from enum orientation_e.
+       (enum alignment): Renamed from enum alignment_e.
+       (enum arrow_mode): Renamed from enum arrow_mode_e.
+       (enum crossing_type): Renamed from enum crossing_type_e.
+       (enum view): Renamed from enum view_e.
+       (struct node): Renamed from struct node_s.
+       (node): Renamed from node_t.
+       (enum linestyle): Renamed from enum linestyle_e.
+       (enum arrowstyle): Renamed from enum arrowstyle_e.
+       (struct edge): Renamed from struct edge.
+       (edge): Renamed from edge_t.
+       (struct graph): Renamed from struct graph_s.
+       (graph): Renamed from graph_t.
+       * tests/calc.at (_AT_DATA_CALC_Y, Simple LALR Calculator):
+       Rename value_t -> value.
+       * tests/input.at (Torturing the Scanner): Rename value_t -> value,
+       value_t_as_yystype -> value_as_yystype.
+
+       Don't include <errno.h> in the mainstream code, since it
+       reserves E[A-Z0-9]* and we want to use symbols like 'EQUALS'.
+       * lib/get-errno.c, lib/get-errno.h: New files.
+       * lib/Makefile.am (libbison_a_SOURCES): Add get-errno.h,
+       get-errno.c.
+       * src/files.c (xfopen, xfclose): Use get_errno instead of errno.
+       * src/output.c (output_skeleton): Likewise.
+       * src/scan-gram.l (<INITIAL>{int}): Use set_errno and get_errno
+       instead of errno.
+       (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>\\x[0-9abcdefABCDEF]+):
+       Likewise.
+       (handle_action_dollar, handle_action_at): Likewise.
+       * src/system.h: Do not include <errno.h>.
+       (TAB_EXT): Renamed from EXT_TAB.
+       (OUTPUT_EXT): Renamed from EXT_OUTPUT.
+
+       Avoid str[a-z]*, since <string.h> reserves that name space.
+       Change all instances of "struniq" in names to "uniqstr", and
+       likewise for "STRUNIQ" and "UNIQSTR".
+       * src/uniqstr.c: Renamed from src/struniq.c.
+       * src/uniqstr.h: Renamed from src/struniq.h.
+       * src/Makefile.am (bison_SOURCES): Adjust to these renamings.
+       * src/files.c (strsuffix): Remove; unused.
+       (concat2): Renamed from stringappend.  Now static.
+       * src/files.h (strsuffix, stringappend): Remove; unused.
+       * src/parse-gram.y (<chars>): Renamed from <string>.
+       (<uniqstr>): Renamed from <struniq>.
+       * src/scan-gram.l (obstack_for_string): Renamed from string_obstack.
+       * src/vcg.h (struct node_s.expand): Renamed from struct node_s.stretch.
+       (struct graph_s.expand): Renamed from struct graph_s.stretch.
+       * src/vcg_defaults.h (G_EXPAND): Renamed from G_STRETCH.
+       (G_LONG_STRAIGHT_PHASE): Renamed from G_STRAIGHT_PHASE.
+       (N_EXPAND): Renamed from N_STRETCH.
+
+       Avoid *_MAX and *_MIN, since <limits.h> reserves that name space.
+       * data/yacc.c (YYSTACK_GAP_MAXIMUM): Renamed from YYSTACK_GAP_MAX.
+       * src/gram.h (ITEM_NUMBER_MAX, ITEM_NUMBER_MIN, RULE_NUMBER_MAX):
+       Remove; unused.
+       * src/lalr.h (GOTO_NUMBER_MAXIMUM): Renamed from GOTO_NUMBER_MAX.
+       * src/state.h (STATE_NUMBER_MAXIMUM): Renamed from STATE_NUMBER_MAX.
+       * src/symtab.h (SYMBOL_NUMBER_MAXIMUM): Renamed from SYMBOL_NUMBER_MAX.
+       * src/tables.c (VECTOR_NUMBER_MAX, VECTOR_NUMBER_MIN): Remove; unused.
+       (BASE_MAXIMUM): Renamed from BASE_MAX.
+       (BASE_MINIMUM): Renamed from BASE_MIN.
+       (ACTION_MAX): Remove; unused.
+       (ACTION_NUMBER_MINIMUM): Renamed from ACTION_MIN.
+       Unnecessary casts removed from above defines.
+
+
+       Fix misspelling in names.
+       * src/vcg.h (enum_alignment_e): Renamed from enum_alignement_e.
+       * src/vcg_defaults.h (G_NODE_ALIGNMENT): Renamed from
+       G_NODE_ALIGNEMENT.
+
+
+       * lib/timevar.c (timevar_report): Renamed from time_report,
+       for consistency with other names.
+       * lib/timevar.h (timevar_report): New decl.
+       * src/system.h (time_report): Remove; decl is now in lib/timevar.h.
+
+
+       Sort include-file uses.
+
+       Reorder all include files under src to be in the order "system.h".
+       then the ../lib include files in angle brackets (alphabetized),
+       then the . include files in double-quotes (alphabetized).  Fix
+       dependency breakages encountered in this process, as follows:
+       * src/closure.h, src/derives.h, src/state.h: Include "gram.h".
+       * src/complain.c: Don't include stdlib.h, string.h _LIBC stuff.
+       * src/state.h: Include "symtab.h".
+
+2002-12-08  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c, data/lalr1.cc, data/yacc.c: Do not use __file__,
+       since this causes problems when __file__ contains character
+       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>.
+
+2002-12-06  Paul Eggert  <eggert@twinsun.com>
+
+       Add support for rules that do not have trailing semicolons, as
+       POSIX requires.  Improve the quality of locations in Bison
+       diagnostics.
+
+       * src/location.c: Include <quotearg.h>.
+       (empty_location): Now const.
+       (location_print): New function.  Follow the recommendation of the
+       GNU Coding Standards for locations that span file boundaries.
+       * src/location.h: Do not include <quotearg.h>; no longer needed.
+       (boundary): New type.
+       (location_t): Use it.  This allows locations to span file boundaries.
+       All member uses changed: file -> start.file or end.file (as needed),
+       first_line -> start.line, first_column -> start.column,
+       last_line -> end.line, last_column -> end.column.
+       (equal_boundaries): New function.
+       (LOCATION_RESET, LOCATION_STEP): Remove.
+       (LOCATION_PRINT): Remove.  All callers changed to use location_print.
+       (empty_location): Now const.
+       (location_print): New decl.
+       * src/parse-gram.y (lloc_default): New function, which handles
+       empty locations more accurately.
+       (YYLLOC_DEFAULT): Use it.
+       (%token COLON): Remove.
+       (%token ID_COLON): New token.
+       (rules): Use it.
+       (declarations, rules): Remove trailing semicolon.
+       (declaration, rules_or_grammar_declaration):
+       Allow empty (";") declaration.
+       (symbol_def): Remove empty actions; no longer needed.
+       (rules_or_grammar_declaration): Remove trailing semicolon.
+       (semi_colon.opt): Remove.
+       * src/reader.h: Include location.h.
+       (scanner_cursor): New decl.
+       * src/reduce.c (nonterminals_reduce): Use warn_at rather than
+       rolling our own.
+       * src/scan-gram.l (YY_USER_INIT): Initialize scanner_cursor instead
+       of *loc.
+       (STEP): Remove.  No longer needed, now that adjust_location does
+       the work.  All uses removed.
+       (scanner_cursor): New var.
+       (adjust_location): Renamed from extend_location.  It now sets
+       *loc and adjusts the scanner cursor.  All uses changed.
+       Don't bother testing for CR.
+       (handle_syncline): Remove location arg; now updates scanner cursor.
+       All callers changed.
+       (unexpected_end_of_file): Now accepts start boundary of token or
+       comment, not location.  All callers changed.  Update scanner cursor,
+       not the location.
+       (SC_AFTER_IDENTIFIER): New state.
+       (context_state): Renamed from c_context.  All uses changed.
+       (id_loc, code_start, token_start): New local vars.
+       (<INITIAL,SC_AFTER_IDENTIFIER>): New initial context.  Move all
+       processing of Yacc white space and equivalents here.
+       (<INITIAL>{id}): Save id_loc.  Begin state SC_AFTER_IDENTIFIER
+       instead of returning ID immediately, since we need to search for
+       a subsequent colon.
+       (<INITIAL>"'", "\""): Save token_start.
+       (<INITIAL>"%{", "{", "%%"): Save code_start.
+       (<SC_AFTER_IDENTIFIER>): New state, looking for a colon.
+       (<SC_YACC_COMMENT>, <SC_COMMENT>, <SC_LINE_COMMENT>):
+       BEGIN context_state at end, not INITIAL.
+       (<SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'",
+       <SC_BRACED_CODE>"}", <SC_PROLOGUE>"%}", <SC_EPILOGUE><<EOF>>):
+       Return correct token start.
+       (<SC_BRACED_CODE,SC_PROLOGUE,SC_EPILOGUE>): Save start boundary when
+       the start of a character, string or multiline comment is found.
+       * tests/conflicts.at (S/R in initial, Defaulted Conflicted
+       Reduction): Adjust reported locations to match the more-precise
+       results now expected.
+       * tests/input.at (Invalid $n, Invalid @n, Type Clashes): Likewise.
+       * tests/reduce.at (Useless Rules, Reduced Automaton,
+       Underivable Rules): Likewise.
+       * tests/regression.at (Invalid inputs): No longer `expecting ";"
+       or "|"' now that so many other tokens are allowed by the new grammar.
+
+       * src/complain.h (current_file): Remove duplicate decl;
+       current_file is now owned by files.h.
+       * src/complain.c, src/scan-gram.l: Include files.h.
+
+2002-12-06  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yy_reduce_print): Don't assume that yyrline[yyrule]
+       promotes to int; it might be unsigned int.
+       * data/yacc.c (yy_reduce_print): Likewise.
+
+       * doc/bison.texinfo (Table of Symbols): YYERROR_VERBOSE should
+       be #defined in the prologue, not in the Bison declarations.
+       This fixes Debian Bug 102878, reported by Shaul Karl.
+
+2002-12-02  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>.
+
+2002-11-30  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l (no_cr_read, extend_location): Move to epilogue,
+       and put only a forward declaration in the prologue.  This is for
+       consistency with the other scanner helper functions.
+
+       Type clashes now generate warnings, not errors, since it
+       appears that POSIX may allow some grammars with type clashes.
+       * src/reader.c (grammar_current_rule_check): Warn about
+       type clashes instead of complaining.
+       * tests/input.at (Type Clashes): Expect warnings, not complaints.
+
+       Add Yacc library, since POSIX requires it.
+       * doc/bison.texinfo (Yacc Library): New node.  Regenerate top menu.
+       * lib/Makefile.am (lib_LIBRARIES, liby_a_SOURCES): New macros.
+       * lib/main.c, lib/yyerror.c: New files.
+
+       gram_error can be static; it need not be extern.
+       * src/reader.h (gram_error): Remove decl.
+       * src/parse-gram.y (gram_error): Now static.  Add static decl.
+       (print_token_value): Omit parameter names from forward decl,
+       for consistency.
+
+2002-11-29  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo: Emphasize that yylex and yyerror must
+       be declared before being used.  E.g., one should typically
+       declare them in the prologue.  Use GNU coding style in examples.
+       Put "const" consistently after the type it modifies.  Mention
+       that C99 supports "inline".  Mention that yyerror traditionally
+       returns "int".
+
+       %parse-param and %lex-param now take just one argument, the
+       declaration; the argument name is deduced from the declaration.
+
+       * doc/bison.texinfo (Parser Function, Pure Calling, Error
+       Reporting, Table of Symbols): Document this.
+       * src/parse-gram.y (add_param): New function.
+       (COMMA): Remove.
+       (declaration): Implement new rule for %parse-param and %lex-param.
+       * src/scan-gram.l: "," now elicits a warning, rather than being
+       a token; this is more compatible with byacc.
+       * tests/calc.at (Simple LALR Calculator): Adopt new convention.
+
+2002-11-27  Paul Eggert  <eggert@twinsun.com>
+
+       Rename identifiers to avoid real and potential collisions.
+
+       * 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>.
+       * 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.
+       All uses changed.
+       (YYPARSE_PARAM, YYLEX_PARAM, yycontrol): Remove.  All uses changed.
+       The name "yycontrol" violates the name space rules, and this stuff
+       wasn't being used anyway.
+       (input): Remove action; this stuff wasn't being used.
+       (gram_error): Rename local variable yylloc -> loc.
+       * src/reader.h (struct gram_control_s, gram_control_t): Remove.
+       (YY_DECL): Don't use "yy" at start of local variables.
+       All uses changed, e.g., yylloc -> loc.
+       * src/scan-gram.l (STEP): Renamed from YY_STEP.  All uses changed.
+       (STRING_GROW): Renamed from YY_OBS_GROW.  All uses changed.
+       (STRING_FINISH): Renamed from YY_OBS_FINISH.  All uses changed.
+       (STRING_FREE): Renamed from YY_OBS_FREE.  All uses changed.
+
+       * src/parse-gram.y (gram_error): loc is now const *.
+       * src/reader.h (gram_error): Likewise.
+
+2002-11-24  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.75c.
+
+       * tests/actions.at (Actions after errors): Use an output format
+       more similar to that of the Printers and Destructors test.
+       Test the position of the ';' token too.
+       (Printers and Destructors): Likewise.
+       (Printers and Destructors: %glr-parser): Remove for now, to avoid
+       unnecessarily alarming people when the test fails.
+
+       * data/yacc.c (yyerrlab1): Move this label down, so that the
+       parser does not discard the lookahead token if the user code
+       invokes YYERROR.  This change is required for POSIX conformance.
+
+       * lib/error.c: Sync with gnulib.
+
+2002-11-22  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/quotearg.c, lib/quotearg.h: Sync with gnulib.
+       * lib/mbswidth.c, lib/mbswidth.h: Likewise.
+       * lib/xmalloc.c: Likewise.
+
+2002-11-20  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/argmatch.c, lib/argmatch.h: Sync with gnulib.
+
+2002-11-20  Paul Eggert  <eggert@twinsun.com>
+
+       Avoid use of <assert.h>, as the GNU Coding Standards hint that one
+       should use `if (! x) abort ();' rather than `assert (x);', and
+       anyway it's one less thing to worry about configuring.
+
+       * data/glr.c, lib/hash.c, src/system.h: Do not include <assert.h>.
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise,
+       and replace all instances of assert with abort.
+       * tests/calc.at (_AT_DATA_CALC_Y): Likewise.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Likewise.
+
+       * data/glr.c (yydoAction, yyglrReduce, yysplitStack, yyresolveStates,
+       yyresolveAction, yyprocessOneStack): Use abort rather than assert.
+       * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
+       hash_find_entry, hash_rehash, hash_insert): Likewise.
+       * src/conflicts.c (resolve_sr_conflict): Likewise.
+       * src/lalr.c (set_goto_map, map_goto): Likewise.
+       * src/nullable.c (nullable_compute): Likewise.
+       * src/output.c (prepare_rules, token_definitions_output): Likewise.
+       * src/reader.c (packgram, reader): Likewise.
+       * src/state.c (state_new, state_free, state_transitions_set,
+       state_reduction_find): Likewise.
+       * src/symtab.c (symbol_user_token_number_set, symbol_make_alias,
+       symbol_pack): Likewise.
+       * src/tables.c (conflict_row, pack_vector): Likewise.
+       * src/vcg.c (get_color_str, get_textmode_str, get_shape_str,
+       get_layoutalgorithm_str, get_decision_str, get_orientation_str,
+       get_node_alignement_str, get_arrow_mode_str, get_crossing_type_str,
+       get_view_str, get_linestyle_str, get_arrowstyle_str): Likewise.
+
+       * lib/argmatch.h (ARRAY_CARDINALITY): Do not bother to #undef.
+       (ARGMATCH_CONSTRAINT): New macro.
+       (ARGMATCH_ASSERT): Use it.
+
+       * src/system.h (verify): New macro.
+       * src/getargs.c (trace_argmatch, report_argmatch): Use verify
+       rather than assert.
+       * src/tables.c (tables_generate): Likewise.
+
+       * src/struniq.c (struniq_assert): Now returns void, and aborts
+       if the assertion is false.
+       (struniq_assert_p): Remove.
+       * src/struniq.h: Likewise.
+
+2002-11-18  Paul Eggert  <eggert@twinsun.com>
+
+       * 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>.
+
+2002-11-18  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Tracing): `yyprint' shouldn't prepend a
+       space.
+       From Tim Van Holder.
+
+2002-11-17  Paul Eggert  <eggert@twinsun.com>
+
+       Pacify Sun ONE Studio 7 lint.  Also, rename "ParseError"
+       to "SyntaxError" for consistency with my 2002-11-15 change.
+
+       * data/glr.c (YYDPRINTF, YYDSYMPRINT, YYDSYMPRINTF) [!YYDEBUG]: Do
+       not define to {}, since this breaks the common use of `YYDPRINTF
+       ((...));' if a single statement is desired (e.g. before `else').
+       Work around GCC warnings by surrounding corresponding calls with
+       {} if needed.
+       (yyhasResolvedValue): Remove unused function.
+       (yymergeOptionSets, yyresolvStack): Use `continue;' for empty
+       loop body.
+       (yyreportSyntaxError): Renamed from yyreportParseError.
+       (yyrecoverSyntaxError): Renamed from yyrecoverParseError.
+       All uses changed.
+       * tests/calc.at (_AT_DATA_CALC_Y): Make vars static instead of
+       extern when possible.  Remove unused initializations.
+
+2002-11-16  Akim Demaille  <akim@epita.fr>
+
+       Augment the similarity between GLR and LALR traces.
+
+       * data/yacc.c (yy_stack_print, YY_STACK_PRINT, yy_reduce_print)
+       (YY_REDUCE_PRINT): New.
+       (yyparse): Use them.
+       * data/glr.c (yy_reduce_print): Use YYFPRINTF, no need for
+       YYDPRINT here.
+       (yyglrReduce, yyrecoverParseError, yyparse): Don't report the
+       state reached after the reduction/recovery, since...
+       (yyparse, yyprocessOneStack): Report the state we are entering in.
+
+2002-11-16  Akim Demaille  <akim@epita.fr>
+
+       * src/getargs.h, src/getargs.c (trace_e, trace_args, trace_types):
+       Add support for --trace=skeleton.
+       * src/scan-skel.l: %option debug.
+       Scan strings of non-@ or \n instead of character by character.
+       (scan_skel): Handle trace_skeleton.
+       (QPUTS): New.
+       (@output_parser_name@, @output_header_name@): ``Restore'' their
+       support (used to be M4 macros).
+       * data/yacc.c: Quote larger chunks, a la glr.c.
+       * data/lalr1.cc: Likewise.
+       The header guards are no longer available, so use some other
+       string than `YYLSP_NEEDED'.
+
+2002-11-16  Akim Demaille  <akim@epita.fr>
+
+       Make the ``Printers and Destructors'' test more verbose, taking
+       `yacc.c''s behavior as (possibly wrong) reference.
+
+       * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use printf
+       instead of fprint on stdout.
+       Set and report the last_line of the symbols.
+       Consistently display values and locations.
+
+2002-11-16  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c: Avoid over-quoting of __line__ and __file__.
+
+2002-11-15  Paul Eggert  <eggert@twinsun.com>
+
+       * tests/actions.at (Actions after errors): New test case.
+
+       * data/glr.c, data/lalr1.cc, data/yacc.cc, doc/bison.texinfo,
+       src/conflicts.c, src/parse-gram.y, src/tables.c, src/tables.h,
+       tests/action.at, tests/calc.at, tests/conflicts.at,
+       tests/cxx-type.at, tests/regression.at:
+       "parse error" -> "syntax error" for POSIX compatibility.
+       "parsing stack overflow..." -> "parser stack overflow" so
+       that code matches Bison documentation.
+
+2002-11-15  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (declaration): Have %parse-param and %lex-param
+       take two BRACED_CODE, not two string_content.
+       Free the scanner's obstack when we are done.
+       (code_content): New.
+       * tests/calc.at: Adjust.
+       * doc/bison.texinfo: Adjust.
+       Also, make sure to include the `,' for these declarations.
+
+2002-11-15  Tim Van Holder  <tim.van.holder@pandora.be>
+
+       * m4/prereq.m4: Removed the commented jm_PREREQ_HASH
+       definition; avoids potential autoreconf problems.
+
 2002-11-15  Akim Demaille  <akim@epita.fr>
 
        Always check the value returned by yyparse.
 2002-11-15  Akim Demaille  <akim@epita.fr>
 
        Always check the value returned by yyparse.
        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/pipermail/bug-bison/2002-November/001893.html>.
+       <http://mail.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
        backslash-newline tests with "#if 0", to make it less likely that
        we'll run into compiler bugs.  Bring back solitary \ inside
        comment, but add a closing comment to work around HP C bug.  Don't
        backslash-newline tests with "#if 0", to make it less likely that
        we'll run into compiler bugs.  Bring back solitary \ inside
        comment, but add a closing comment to work around HP C bug.  Don't
-       test backslash-newline in C character constant.  This should fix
-       the input.at bug reported by Nelson H. F. Beebe in
-       <http://mail.gnu.org/pipermail/bug-bison/2002-November/001893.html>.
+       test backslash-newline in C character constant.
 
 2002-11-14  Akim Demaille  <akim@epita.fr>
 
 
 2002-11-14  Akim Demaille  <akim@epita.fr>
 
 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/pipermail/bug-bison/2002-November/001881.html>.
+       <http://mail.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.
        * data/glr.c (yydoAction): Return YYRESULTTAG, not int.
        (yyglrReduce): Return yyok, not 0.
        This should avoid the enumerated-type warnings reported
        * data/glr.c (yydoAction): Return YYRESULTTAG, not int.
        (yyglrReduce): Return yyok, not 0.
        This should avoid the enumerated-type warnings reported
-       by Nelson H.F. Beebe in
-       <http://mail.gnu.org/pipermail/bug-bison/2002-November/001872.html>.
+       by Nelson H. F. Beebe in
+       <http://mail.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'.
 
        * 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/pipermail/bug-bison/2002-November/001873.html>.
+       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>.
 
        * 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/pipermail/bison-patches/2002-November/001352.html>
+       <http://mail.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/pipermail/bison-patches/2002-November/001329.html>
+       <http://mail.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/pipermail/bug-bison/2002-November/001815.html>.
+       <http://mail.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/pipermail/bug-bison/2002-October/001764.html
-       http://mail.gnu.org/pipermail/bug-bison/2002-October/001769.html
-       and I hope it also fixes this bug report:
-       http://mail.gnu.org/pipermail/bug-bison/2002-October/001748.html
+       http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00106.html
+       http://mail.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/pipermail/bug-bison/2002-October/001670.html>:
+       <http://mail.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/pipermail/bug-bison/2002-October/001674.html>.
+       <http://mail.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/pipermail/bug-bison/2002-October/001673.html>.
+       <http://mail.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/pipermail/bug-bison/2002-October/001672.html>.
+       <http://mail.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/pipermail/bison-patches/2002-August/001111.html>,
+       <http://mail.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.
 
 2002-06-11  Akim Demaille  <akim@epita.fr>
 
 
 2002-06-11  Akim Demaille  <akim@epita.fr>
 
-       * src/reader.c  (parse_action): Don't store directly into the
+       * src/reader.c (parse_action): Don't store directly into the
        rule's action member: return the action as a string.
        Don't require `rule_length' as an argument: compute it.
        (grammar_current_rule_symbol_append)
        rule's action member: return the action as a string.
        Don't require `rule_length' as an argument: compute it.
        (grammar_current_rule_symbol_append)
 
        * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
        its argument.
 
        * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
        its argument.
-       Reported by Peter Hámorský.
+       Reported by Peter Hamorsky.
 
 2001-12-05  Akim Demaille  <akim@epita.fr>
 
 
 2001-12-05  Akim Demaille  <akim@epita.fr>
 
 
 2001-11-12  Akim Demaille  <akim@epita.fr>
 
 
 2001-11-12  Akim Demaille  <akim@epita.fr>
 
-       %expext was not functioning at all.
+       %expect was not functioning at all.
 
        * src/conflicts.c (expected_conflicts): Set to -1.
        (conflict_report): Use ngettext.
 
        * src/conflicts.c (expected_conflicts): Set to -1.
        (conflict_report): Use ngettext.
        obstacks.
        (output_token_defines, reader_output_yylsp): Use obstacks.
        * src/system.h (obstack_fgrow3): New.
        obstacks.
        (output_token_defines, reader_output_yylsp): Use obstacks.
        * src/system.h (obstack_fgrow3): New.
+       * po/POTFILES.in: Adjust.
 
 2000-11-01  Akim Demaille  <akim@epita.fr>
 
 
 2000-11-01  Akim Demaille  <akim@epita.fr>
 
 1987-12-16  Richard Stallman  <rms@gnu.org>
 
        * REFERENCES: entered into RCS
 1987-12-16  Richard Stallman  <rms@gnu.org>
 
        * REFERENCES: entered into RCS
+
 -----
 
 -----
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
 
-This file is part of GNU Bison.
+This file is part of Bison, the GNU Compiler Compiler.
 
 
-GNU Bison is free software; you can redistribute it and/or modify
+Bison is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2, or (at your option)
 any later version.
 
-GNU Bison is distributed in the hope that it will be useful,
+Bison is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GNU Bison; see the file COPYING.  If not, write to
+along with Bison; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.