+2010-02-22 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ portability: fix several issues with M4 subprocess.
+
+ M4's output pipe was not being drained upon fatal errors during
+ scan_skel. As a result, broken-pipe messages from M4 were seen
+ on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a
+ failure in the test suite. The problem was that, on platforms
+ where the default disposition for SIGPIPE is ignore instead of
+ terminate, M4 sometimes saw fwrite fail with errno=EPIPE and
+ then reported it. However, there's some sort of race condition,
+ because the new test group occasionally succeeded.
+ Reported by Albert Chin at
+ <http://lists.gnu.org/archive/html/bug-bison/2010-02/msg00004.html>.
+
+ There were also problems with the test suite livelocking on
+ Tru64 5.1b. Reported by Didier Godefroy at
+ <http://lists.gnu.org/archive/html/bug-bison/2009-05/msg00005.html>.
+ Switching to create_pipe_bidi suggested by Akim Demaille.
+
+ To attempt to solve both of these problems, switch to gnulib's
+ create_pipe_bidi and register M4 process as a slave. Along the
+ way, clean up file name conflict handling, which was affected by
+ the broken-pipe problem before the switch.
+ * NEWS (2.4.2): Document.
+ * THANKS (Didier Godefroy): Add.
+ * bootstrap.conf (gnulib_modules): Add pipe.
+ * gnulib: Update to latest to make sure we have all the latest
+ fixes.
+ * lib/Makefile.am (libbison_a_SOURCES): Remove subpipe.h and
+ subpipe.c.
+ * po/POTFILES.in (lib/subpipe.c): Remove.
+ * src/files.c (compute_output_file_names): Update invocations
+ of output_file_name_check.
+ (output_file_name_check): In the case that the grammar file
+ would be overwritten, use complain instead of fatal, but replace
+ the output file name with /dev/null. Use the /dev/null solution
+ for the case of two conflicting output files as well because it
+ seems safer in case Bison one day tries to open both files at
+ the same time.
+ * src/files.h (output_file_name_check): Update prototype.
+ * src/output.c (output_skeleton): Use create_pipe_bidi and
+ wait_subprocess. Assert that scan_skel completely drains the
+ pipe.
+ * src/scan-skel.l (at_directive_perform): Update
+ output_file_name_check invocation.
+ * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Check that the
+ grammar file actually isn't overwritten.
+ (Conflicting output files: -o foo.y): Update expected output.
+ * tests/skeletons.at (Fatal errors but M4 continues producing
+ output): New test group.
+
+2010-02-04 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Update POTFILES.
+ * HACKING (Release Procedure): Add reminder about keeping
+ POTFILES files up-to-date.
+ * po/POTFILES.in (src/muscle-tab.c, src/scan-skel.l): Add.
+
+2010-02-01 Joel E. Denny <jdenny@clemson.edu>
+
+ Code cleanup.
+ * tests/atlocal.in (abs_top_srcdir): Remove shell variable,
+ which is already defined in atconfig.
+
+2010-01-21 Joel E. Denny <jdenny@clemson.edu>
+
+ * cfg.mk (gnulib_dir): Assume gnulib is a subdirectory.
+
+2010-01-21 Joel E. Denny <jdenny@clemson.edu>
+
+ maint: automate PACKAGE_COPYRIGHT_YEAR update, and update it.
+ * HACKING (Release Procedure): Update notes on copyright years.
+ * Makefile.am (update-package-copyright-year): New target rule.
+ * build-aux/update-package-copyright-year: New file.
+ * cfg.mk (update-copyright): Add update-package-copyright-year
+ as a dependency.
+
+2010-01-19 Joel E. Denny <jdenny@clemson.edu>
+
+ * bootstrap: Import improvements from latest gnulib.
+
+2010-01-19 Joel E. Denny <jdenny@clemson.edu>
+
+ build: require Automake 1.11.1 to avoid a security flaw.
+ * HACKING (Release Procedure): Don't document Automake security
+ flaw here.
+ * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1, and explain
+ why here.
+
+2010-01-19 Joel E. Denny <jdenny@clemson.edu>
+
+ gnulib: update to latest.
+
+2010-01-19 Joel E. Denny <jdenny@clemson.edu>
+
+ ChangeLog (2006-09-15): add Odd Arild Olsen's role for push.c.
+
+2010-01-15 Joel E. Denny <jdenny@clemson.edu>
+
+ Thank the developer of the initial push parser implementation.
+ This unfortunate oversight is several years old.
+ * THANKS (Odd Arild Olsen): Add.
+
+2010-01-04 Joel E. Denny <jdenny@clemson.edu>
+
+ Fix some comments concerning LR(0) versus LALR(1).
+
+ Stop equating LR(0) with nondeterminism and LALR(1) with
+ determinism. That is, if all states are consistent, then LR(0)
+ tables are deterministic. On the other hand, LALR(1) tables
+ might be nondeterministic before conflict resolution, and GLR
+ permits LALR(1) tables to remain nondeterministic.
+ * src/LR0.c, src/LR0.h: Here.
+ * src/lalr.c, src/lalr.h: Here.
+ * src/main.c (main): Here.
+ * src/state.c, src/state.h: Here.
+
+ * src/ielr.h (ielr): In preconditions, expect LR(0) not LALR(1)
+ parser tables.
+
+2010-01-04 Joel E. Denny <jdenny@clemson.edu>
+
+ maint: run "make update-copyright"
+
+2009-12-30 Joel E. Denny <jdenny@clemson.edu>
+
+ POSIX: complain if %prec's token was not defined.
+ * NEWS (2.5): Document.
+ * src/reader.c (grammar_rule_check): Convert warning to
+ complaint.
+ * tests/input.at (%prec's token must be defined): Update.
+
+2009-12-30 Joel E. Denny <jdenny@clemson.edu>
+
+ POSIX: warn if %prec's token was not defined.
+ Reported by Florian Krohm at
+ <http://lists.gnu.org/archive/html/bug-bison/2009-12/msg00005.html>.
+ * NEWS (2.4.2): Document.
+ * src/reader.c (grammar_rule_check): Implement.
+ (grammar_current_rule_prec_set): Add comments explaining that we
+ here assume a %prec identifier is a token, but we still manage
+ to support POSIX.
+ * tests/input.at (%prec's token must be defined): New test
+ group.
+
+2009-12-31 Joel E. Denny <jdenny@clemson.edu>
+
+ * HACKING (Release Procedure): Recommend a secure automake.
+
+2008-12-11 Akim Demaille <demaille@gostai.com>
+
+ Propagate i18n changes into glr.c.
+ * data/glr.c (yyreportSyntaxError): Use "switch" instead of
+ building the error message format dynamically.
+ * data/lalr1.java: Formatting changes.
+
2009-12-22 Joel E. Denny <jdenny@clemson.edu>
Port small part of master's 11707b2b so future ports are easier.
2006-09-15 Bob Rossi <bob@brasko.net>
+ Add support for push parsing. Based on the original work of
+ Odd Arild Olsen <oao@fibula.no>.
* 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.
+ * data/push.c: New file.
* src/getargs.c (push_parser): New var.
* src/getargs.h (push_parser): New declaration.
* src/output.c (prepare): Add macro insertion of `push_flag'.
-----
- Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
- 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1987-1988, 1991-2010 Free Software Foundation,
+ Inc.
Copying and distribution of this file, with or without
modification, are permitted provided the copyright notice and this