+2006-10-21 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Don't apply the default %destructor/%printer to an unreferenced midrule
+ value. Mentioned at
+ <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00104.html>.
+ * src/symtab.c (dummy_symbol_get): Name all dummy symbols initially
+ like $@n instead of just @n so that the default %destructor/%printer
+ logic doesn't see them as user-defined symbols.
+ (symbol_is_dummy): Check for both forms of the name.
+ * src/reader.c (packgram): Remove the `$' from each midrule symbol
+ name for which the midrule value is referenced in any action.
+ * tests/actions.at (Default %printer and %destructor for mid-rule
+ values): New test.
+ * tests/regression.at (Rule Line Numbers, Web2c Report): Update output
+ for change to dummy symbol names.
+
+2006-10-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Warn about unset midrule $$ if the corresponding $n is used.
+ * src/reader.c (symbol_should_be_used): Check midrule parent rule for
+ $n usage.
+ (packgram): Before invoking grammar_rule_check on any rule, make sure
+ all actions have already been scanned in order to set `used' flags.
+ Otherwise, checking that a midrule's $$ is set will not always work
+ properly because the midrule check must forward-reference the midrule's
+ parent rule.
+ * tests/input.at (AT_CHECK_UNUSED_VALUES): Extend to check the new
+ warning.
+
+2006-10-20 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ More improvements to the documentation of the prologue alternatives:
+ * NEWS (2.3a+): Mention the new `Prologue Alternatives' section in the
+ Bison manual.
+ * doc/bison.texinfo (Prologue Alternatives): Correct some errors. Add
+ some text to clarify the relative importance of the new directives and
+ to show how these directives may be viewed as code labels.
+
+2006-10-16 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Similar to the recently removed %before-header, add %code-top as the
+ alternative to the pre-prologue. Mentioned at
+ <http://lists.gnu.org/archive/html/bison-patches/2006-10/msg00063.html>.
+ Also, let the prologue alternatives appear in the grammar section.
+ * src/parse-gram.y (PERCENT_CODE_TOP): New token.
+ (prologue_declaration): Move the existing prologue alternatives to...
+ (grammar_declaration): ... here and add %code-top.
+ * src/scan-gram.l (PERCENT_CODE_TOP): New token.
+
+ Clean up and extend documentation for the prologue alternatives.
+ * NEWS (2.3a+): Describe prologue alternatives.
+ * doc/bison.texinfo (Prologue): Move discussion of prologue
+ alternatives to...
+ (Prologue Alternatives): ... this new section, and extend it to discuss
+ all 4 directives in detail.
+ (Bison Symbols): Clean up discussion of prologue alternatives and add
+ %code-top.
+
+2006-10-16 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ DJGPP specific issues.
+
+ * djgpp/config.bat: config.hin has been moved to lib. Adjust
+ config.bat accordingly.
+ * djgpp/config.sed: Adjust config.sed for the use of autoconf 2.60.
+ * djgpp/config.site: Likewise.
+
+2006-10-16 Paolo Bonzini <bonzini@gnu.org>
+
+ Replace %*-header with %provides, %requires, %code. See discussion at
+ http://lists.gnu.org/archive/html/bison-patches/2006-10/msg00002.html
+
+ * data/bison.m4 (b4_user_requires, b4_user_provides): New.
+ (b4_user_start_header): Remove.
+ * data/glr.c: Use new macros instead of b4_*start_header
+ and b4_*end_header.
+ * data/glr.cc: Likewise.
+ * data/lalr1.cc: Likewise.
+ * data/push.c: Likewise.
+ * data/yacc.c: Likewise.
+
+ * doc/bison.texinfo: Remove %before-header, rename
+ %{start,end,after}-header to %requires, %provides, %code.
+
+ * src/parse-gram.y: Likewise (also rename token names accordingly).
+ * src/scan-gram.l: Likewise.
+ * tests/actions.at: Likewise.
+
+2006-10-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/Makefile.am (AM_CFLAGS): Remove $(WERROR_CFLAGS).
+ Problem reported by Joel E. Denny.
+
+2006-10-14 Jim Meyering <jim@meyering.net>
+
+ (Sync from coreutils.)
+ Work also when the working directory (with e.g. coreutils sources)
+ is version controlled with git, rather than CVS.
+ * bootstrap (CVS_only_file): Test for the existence of README-cvs,
+ rather than CVS.
+ In messages and comments, say e.g., "checked-out sources",
+ rather than "CVS sources".
+ (version_controlled_file): New function. Work for git as well as
+ for CVS. Don't use grep's -q option.
+ (slurp): Call it here, in place of CVS-specific code.
+
+2006-10-14 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Fix testsuite for ./configure --enable-gcc-warnings:
+ * configure.ac (gcc-warnings): Move -Wall before -Wno-sign-compare.
+ Otherwise, gcc 4.1.0 (at least) warns about sign comparisons in
+ __AT_CHECK_PRINTER_AND_DESTRUCTOR in tests/actions.at.
+ * test/input.at (Torturing the Scanner): #include <stdlib.h> for abort.
+ * test/regression.at (Diagnostic that expects two alternatives):
+ Likewise.
+
+2006-10-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap.conf (gnulib_modules): Add config-h.
+ * djgpp/subpipe.c: Include <config.h> unconditionally; don't
+ worry about HAVE_CONFIG_H.
+ * lib/abitset.c: Likewise.
+ * lib/bitset.c: Likewise.
+ * lib/bitset_stats.c: Likewise.
+ * lib/bitsetv-print.c: Likewise.
+ * lib/bitsetv.c: Likewise.
+ * lib/ebitset.c: Likewise.
+ * lib/get-errno.c: Likewise.
+ * lib/lbitset.c: Likewise.
+ * lib/subpipe.c: Likewise.
+ * lib/timevar.c: Likewise.
+ * lib/vbitset.c: Likewise.
+ * lib/bitset.c: Include "bitset.h" first, to test interface.
+ * lib/bitset_stats.c: Include "bitset_stats.h" first.
+ * lib/bitsetv-print.c: Include "bitsetv-print.h" first.
+ * lib/bitsetv.c: Include "bitsetv.h" first.
+ * lib/get-errno.c: Include "get-errno.h" first.
+ * m4/.cvsignore: Add config-h.m4.
+ * tests/actions.at (Default %printer and %destructor for ...):
+ Adjust expected line numbers in output to reflect removal of #if
+ HAVE_CONFIG_H lines.
+ * tests/glr-regression.at (Missed %merge type warnings when ...):
+ Likewise.
+ * tests/regression.at (Braced code in declaration in rules section):
+ Likewise.
+ * tests/atlocal.in (CPPFLAGS): Don't define HAVE_CONFIG_H.
+ * tests/local.at (AT_DATA_GRAMMAR_PROLOGUE):
+ Include <config.h> unconditionally.
+
+ * bootstrap: Sync from coreutils, as follows:
+
+ 2006-10-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap (symlink_to_gnulib): Fix bug: the dot_dots shell
+ variable was sometimes used without being initialized. This
+ messed up the installation of the INSTALL file in some cases.
+
+ 2006-10-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap (usage, main program, symlink_to_gnulib): Add option
+ --copy. Inspired by a suggestion from Bruno Haible.
+
+ 2006-10-03 Jim Meyering <jim@meyering.net>
+
+ * bootstrap: Undo last change to this file, since now gnulib-tool
+ sticks with the automake default in generating dependencies.
+
+2006-10-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac: Use AC_PROG_CC_STDC; this is more modern than
+ the old AC_PROG_CC / AM_PROG_CC_STDC combination.
+
+ * doc/bison.1: Add copyright notice.
+
+ * data/glr.c: Don't include <stdarg.h>; not used.
+
+ * NEWS: The -g and --graph options now output graphs in Graphviz
+ DOT format, not VCG format.
+ * doc/bison.1: Likewise.
+ * doc/bison.texinfo (Understanding, Bison Options): Likewise.
+ * THANKS: Add Satya Kiran Popuri, who proposed the initial version
+ of this change in
+ <http://lists.gnu.org/archive/html/bison-patches/2006-09/msg00158.html>.
+ * TODO: Remove Graphviz entry.
+ * src/Makefile.am (bison_SOURCES): Add graphviz.c and graphviz.h;
+ remove vcg.c, vcg.h, vcg_defaults.h.
+ * src/vcg.c, src/vcg.h, src/vcg_defaults.h: Remove.
+ * src/graphviz.c, src/graphviz.h: New files.
+ * src/files.c (compute_output_file_names): Output .dot, not .vcg.
+ * src/files.h: Make comment more generic.
+ * src/main.c (main): Likewise.
+ * src/print_graph.h: Likewise.
+ * src/getargs.c (usage): Make usage description more generic.
+ * src/print_graph.c: Include graphviz.h rather than vcg.h.
+ (static_graph, fgraph): Remove. All uses changed to pass
+ arguments instead of sharing a static var.
+ (print_core, print_actions, print_state, print_graph):
+ Output graphviz format rather than VCG format.
+ * tests/.cvsignore: Remove *.vcg; add *.dot.
+ * tests/output.at: Expect *.dot files, not *.vcg files.
+
+ * data/Makefile.am (dist_pkgdata_DATA): Add bison.m4; this
+ accommodates the 2006-10-08 change.
+
+2006-10-11 Bob Rossi <bob@brasko.net>
+
+ * data/push.c (yypushparse, yypvarsinit, yypvars): Wrap in b4_push_if.
+ (b4_yyssa, b4_yyerror_range): New macros.
+ (struct yypvars): Remove yyssa_ptr and yyerror_range_ptr fields.
+ (yypvarsinit): Remove init of removed fields.
+ (yypushparse): Remove use of removed fields; use new macros instead.
+
+2006-10-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/push.c (yypushparse): Fix memory leak if yymsg is malloced
+ in a push parser. Reindent slightly to match yacc.c better.
+
+2006-10-11 Bob Rossi <bob@brasko.net>
+
+ * data/push.c (struct yypvars): Remove yymsgbuf, yymsgbuf_ptr, yymsg,
+ yymsg_alloc fields.
+ (yypvarsinit, yypushparse): Remove init of removed fields.
+ (yypushparse): Use yymsgbuf instead of yymsgbuf_ptr.
+
+2006-10-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * THANKS: Add Paolo Bonzini and Bob Rossi.
+
+2006-10-08 Paolo Bonzini <bonzini@gnu.org>
+
+ * data/c.m4 (b4_copyright, b4_epilogue, b4_location_initial_column,
+ b4_location_initial_line, p4_parse_param, b4_ints_in, b4_flag_if,
+ b4_define_flag_if and uses, b4_basename, b4_syncline, b4_user_code,
+ b4_define_user_cde and uses): Remove.
+ (b4_comment, b4_prefix, b4_sync_start): New.
+ * data/bison.m4: New file, with most of the content removed from c.m4.
+ * src/muscle_tab.h: Use "do {...} while(0)" throughout.
+ * src/output.c (output_skeleton): Pass bison.m4.
+ (prepare): Pass glr_flag and nondeterministic_flag. Pass prefix
+ only if specified.
+
+2006-10-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix test failure reported by Tom Lane in
+ <http://lists.gnu.org/archive/html/bug-bison/2006-10/msg00000.html>
+ and try to make such failures easier to catch in the future.
+ * data/glr.c (YYTRANSLATE): Don't check for nonpositive arg;
+ that's now the caller's responsibility.
+ (yyprocessOneStack, yyrecoverSyntaxError, yyparse):
+ Set yychar = YYEOF if it's negative.
+ * tests/actions.at (yylex): Abort if asked to read past EOF.
+ * tests/conflicts.at (yylex): Likewise.
+ * tests/cxx-type.at (yylex): Likewise.
+ * tests/glr-regression.at (yylex): Likewise.
+ * tests/input.at (yylex): Likewise.
+ * tests/regression.at (yylex): Likewise.
+ * tests/torture.at (yylex): Likewise.
+
+2006-10-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix problems with translating English-language diagnostics.
+ * bootstrap: Fix bug introduced in recent bootstrap changes, with
+ respect to bison-runtime pot generation. The YY_ stuff
+ wasn't being captured.
+ * bootstrap.conf (XGETTEXT_OPTIONS_RUNTIME): New var.
+ * po/POTFILES.in: Add src/location.c, src/scan-code.l.
+ * runtime-po/POTFILES.in: Add data/push.c.
+
+2006-09-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge bootstrap changes from coreutils.
+
+ 2006-09-28 Jim Meyering <jim@meyering.net>
+
+ Automatically generated dependencies are important even
+ when all of the sources in a directory come from gnulib.
+ * bootstrap (gnulib_tool): Remove the "no-dependencies" automake
+ option that gnulib-tool adds to what becomes our lib/gnulib.mk.
+
+ 2006-09-23 Jim Meyering <jim@meyering.net>
+
+ * bootstrap (gnulib_tool_options): Add "--local-dir gl".
+
+ 2006-09-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap: Add support for --force.
+ (usage): New function. Describe usage less tersely.
+ (CVS_only_file): New var.
+
+2006-09-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/push.c (YYPUSH_MORE): Make it an enum instead.
+ (yypushparse): Use YYPUSH_MORE instead of the mystery constant.
+ Adjust white space and comments to match GNU style better.
+
+2006-09-20 Bob Rossi <bob@brasko.net>
+
+ * data/push.c (yyresult_get): Remove function.
+ (YYPUSH_MORE): Add #define.
+ (yypushparse): Modify return value.
+
+2006-09-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * stamp-h.in: Remove; no longer needed.
+ * .cvsignore: Replace autom4te.cache and config.cache with *.cache.
+ Remove config.h, config.hin, intl (no longer created).
+ * lib/.cvsignore: Add config.h, config.hin, configmake.h, inttypes.h,
+ stamp-h1.
+
+ Sync bootstrap from coreutils, as follows:
+
+ 2006-09-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap (symlink_to_gnulib): New function.
+ (cp_mark_as_generated): Use it, to prefer symlinks-to-gnulib
+ to copies-of-gnulib.
+ (cp_mark_as_generated, slurp, gnulib_files):
+ Avoid making a copy if it's the same as the old version.
+ (gnulib_files): Add support for this variable (used by Bison).
+
+2006-09-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/getargs.c (usage): Rework to use conventions similar to
+ coreutils, to make translation a bit easier and the code a bit
+ smaller. Problem reported by Tim Van Holder.
+
+2006-09-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use some of gnulib's new modules, taken from coreutils.
+
+ * bootstrap: Sync from coreutils, except add support for gnulib_files.
+ * bootstrap.conf: New file.
+ (gnulib_modules): Add configmake, inttypes, unistd.
+ (XGETTEXT_OPTIONS): Add complain, complain_at,
+ fatal, fatal_at, warn, warn_at, unexpected_end.
+ * configure.ac (AC_CONFIG_HEADERS): config.h is now in lib, not here.
+ (gl_USE_SYSTEM_EXTENSIONS): Remove; gl_EARLY now does this.
+ (gl_EARLY): Add.
+ (AM_STDBOOL_H): Remove; gl_INIT now dows this.
+ (gl_INIT): Add
+ (GNULIB_AUTOCONF_SNIPPET): Remove.
+ (AM_GNU_GETTEXT): Add; require formatstring macros since that's
+ the pickiest.
+ * lib/.cvsignore: Add inttypes_.h.
+ * lib/Makefile.am: Include gnulib.mk first so we can append to it.
+ (AM_CFLAGS): Add WERROR_CFLAGS, to be more like coreutils.
+ (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES): Remove
+ no-longer-necessary initializations.
+ (lib_SOURCES): Remove, replacing by libbison_a_SOURCES.
+ * lib/subpipe.c: Include <unistd.h> unconditionally, now that we
+ use the unistd module.
+ * src/system.h: Likewise.
+ * m4/.cvsignore: Remove *_gl.m4, gnulib.m4, inttypes_h.m4, uintmax_t.m4,
+ ulonglong.m4. Add gettext.m4, gnulib-cache.m4, gnulib-comp.m4,
+ gnulib-tool.m4, inttypes-h.m4, inttypes-pri.m4, inttypes.m4.
+ * src/Makefile.am (DEFS): Remove, since configmake does this for us.
+ (AM_CPPFLAGS): Remove -I../lib, since Automake does that for us.
+ * src/system.h: Include inttypes.h unconditionally, now that we
+ use the inttypes module. Don't bother to include stdint.h, since
+ inttypes.h now does that for us.
+ (LOCALEDIR): Remove, now that we use the configmake module.
+ * src/getargs.c: Include configmake.h.
+ * src/main.c: Likewise.
+ * src/output.c: Likewise.
+ * tests/atlocal.in (CPPFLAGS): Include from $abs_top_builddir/lib,
+ not from $abs_top_builddir, since config.h moved.
+
+
+ Port to GCC 2.95. First two problems reported by Michael Deutschmann in
+ <http://lists.gnu.org/archive/html/bug-bison/2006-09/msg00018.html>.
+
+ * src/parse-gram.y (symbol_declaration): Don't put statements
+ before declarations; it's not portable to C89.
+ * src/scan-code.l (handle_action_at): Likewise.
+
+ * src/scan-code.l: Always initialize braces_level; the old code
+ left it uninitialized and therefore had undefined behavior.
+
+ Don't attempt to redefine 'assert', since it runs afoul of
+ systems where standard headers (mistakenly) include <assert.h>.
+ Instead, define and use our own alternative, called 'aver'.
+ * src/reader.c: Don't include assert.h, since we no longer
+ use assert.
+ * src/scan-code.l: Likewise.
+ * src/system.h (assert): Remove, replacing with....
+ (aver): New function, taking a bool arg. All uses changed.
+ * src/tables.c (pack_vector): Ensure that aver arg is bool,
+ not merely an integer.
+
+2006-09-15 Bob Rossi <bob@brasko.net>
+
+ * data/Makefile.am (dist_pkgdata_DATA): Add push.c.
+ * data/c.m4 (YYPUSH): New.
+ (b4_push_if): New macro. Use it instead of #ifdef YYPUSH.
+ * src/getargs.c (push_parser): New var.
+ * src/getargs.h (push_parser): New declaration.
+ * src/output.c (prepare): Add macro insertion of `push_flag'.
+ * src/parse-gram.y (PERCENT_PUSH_PARSER): New token.
+ (prologue_declaration): Parse %push-parser.
+ * src/scan-gram.l: Scan new PERCENT_PUSH_PARSER token.
+ * tests/calc.at (_AT_CHECK_CALC_ERROR): Add "Return" and "Now" to
+ list of removed lines from the traces observed.
+ (AT_CHECK_CALC_LALR): Added push parser tests.
+
2006-09-13 Paul Eggert <eggert@cs.ucla.edu>
+ * NEWS: Version 2.3a.
+ * configure.ac (AC_INIT): Likewise.
+
* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Remove
"#define YYSTYPE int" that caused "make maintainer-check" to fail
due to header ordering dependencies. I don't know why the #define