Commit Graph

195 Commits

Author SHA1 Message Date
Joel E. Denny
22cc8d813e 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-22 18:09:19 -05:00
Joel E. Denny
9398411bfc 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-04 21:07:07 -05:00
Joel E. Denny
9aacab9ae9 Fix some .gitignore and .cvsignore problems.
* bootstrap (insert_sorted_if_absent): Replace all uses with...
(insert_vc_ignore): ... this new function, which prepends `/' to all
.gitignore entries before passing them to insert_sorted_if_absent.
* bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that
.cvsignore files are maintained even though Bison developers run
bootstrap while using Git.
* .cvsignore (*.patch *.log log patches applied): Remove, apparently
unneeded by Bison.
(gnulib): Add.
* .gitignore (/*.patch *.log log patches applied): Remove, broken and
unneeded.  Reported by Eric Blake.
* lib/.gitignore (/*~): Add.
* po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore.
* examples/calc++/.gitignore (/calc++.exe): Add.  Reported by Eric
Blake.
* src/.gitignore (/bison.exe): Add.  Reported by Eric Blake.
2008-07-16 02:05:14 -04:00
Joel E. Denny
0f1d6f10d7 Add .gitignore everywhere based on .cvsignore.
* .gitignore: New.
* build-aux/.gitignore: New.
* data/.gitignore: New.
* doc/.gitignore: New.
* etc/.gitignore: New.
* examples/.gitignore: New.
* examples/calc++/.gitignore: New.
* lib/.gitignore: New.
* m4/.gitignore: New.
* po/.gitignore: New.
* runtime-po/.gitignore: New.
* src/.gitignore: New.
* tests/.gitignore: New.
2008-07-14 06:06:26 -04:00
Joel E. Denny
ad5feac4e2 Pacify ./configure --enable-gcc-warnings.
* src/print-xml.c, src/print-xml.h (xml_puts): Make third argument
`char const *' instead of `char *'.
* src/state.c (state_rule_lookahead_tokens_print_xml): Remove unused
local variable `sep'.
2007-09-24 01:41:35 +00:00
Paul Eggert
0e2f006a23 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-10-01 23:35:37 +00:00
Paul Eggert
b3d0c7a208 Mention lib/xalloc-die.c, not lib/xmalloc.c. 2005-07-22 21:44:03 +00:00
Paul Eggert
f7ab6a5010 * bootstrap: Get runtime translations into runtime-po.
Create runtime-po files automatically, if possible.
* configure.ac: Invoke BISON_I18N, so that we eat our own dog food.
* data/yacc.c: Rewrite inclusion of <libintl.h> so that ENABLE_NLS
does not infringe on the user's name space.
(YYENABLE_NLS): Renamed from ENABLE_BISON_NLS.
* doc/bison.texinfo (Internationalization): Revamp the English
and Texinfo syntax a bit, to try to make it clearer.
(Bison Options, Option Cross Key): Mention --print-localedir.
* m4/bison-i18n.m4 (BISON_I18N): Rename ENABLE_BISON_NLS to
YYENABLE_NLS.  Quote a bit more.
* runtime-po/.cvsignore: New file.
* runtime-po/Makefile.in.in (mostlyclean): Remove *.old.pot.
* runtime-po/Rules-quot: Remove; now created by bootstrap.
* runtime-po/quot.sed: Likewise.
* runtime-po/boldquot.sed: Likewise.
* runtime-po/en@quot.header: Likewise.
* runtime-po/en@boldquot.header: Likewise.
* runtime-po/insert-header.sin: Likewise.
* runtime-po/remove-potcdate.sin: Likewise.
* runtime-po/Makevars: Likewise.
* runtime-po/LINGUAS: Likewise.
* runtime-po/de.po: Likewise; we will rely on the translation project
to maintain this, so "bootstrap" should get it.
* src/getarg.s (PRINT_LOCALEDIR_OPTION): Let the C compiler determine
its value.
* src/main.c (main): Bind the bison-runtime domain, too.

* data/yacc.c: Include <libintl.h> when NLS is enabled.
(YYI18N): Renamed from _. Use dgettext when NLS is enabled.
* po/POTFILES.in: Remove autogenerated file src/parse-gram.c.
* runtime-po: New directory.
* runtime-po/Makefile.in.in: New file, copied from po/, with modified
$(DOMAIN).pot-update rule, so that old messages are never dropped.
* runtime-po/Rules-quot: New file, copied from po/.
* runtime-po/quot.sed: Likewise.
* runtime-po/boldquot.sed: Likewise.
* runtime-po/en@quot.header: Likewise.
* runtime-po/en@boldquot.header: Likewise.
* runtime-po/insert-header.sin: Likewise.
* runtime-po/remove-potcdate.sin: Likewise.
* runtime-po/Makevars: New file.
* runtime-po/POTFILES.in: New file.
* runtime-po/LINGUAS: New file.
* runtime-po/bison-runtime.pot: New file.
* runtime-po/de.po: New file.
* m4/bison.m4: New file.
* Makefile.am (SUBDIRS): Add runtime-po.
(aclocaldir, aclocal_DATA): New variables.
* configure.ac: Add AC_CONFIG_FILES of runtime-po/Makefile.in.
Define aclocaldir.
* src/getargs.c (usage): Document --print-localedir option.
(PRINT_LOCALEDIR_OPTION): New enum item.
(long_options): Add --print-localedir option.
(getargs): Handle --print-localedir option.
* doc/bison.texinfo (Bison Parser): Remove paragraph about _().
(Internationalization): New section.
2005-07-12 23:28:54 +00:00
Paul Eggert
1ce590705a * NEWS: Bison-generated C parsers now use the _ macro to
translate strings.
* data/yacc.c (_) [!defined _]: New macro.
All English strings wrapped inside this macro.
* doc/bison.texinfo (Bison Parser): Document _.
* po/POTFILES.in: Include src/parse-gram.c, since it now
includes translateable strings that parse-gram.y doesn't.
2005-04-14 00:08:56 +00:00
Paul Eggert
1f65350a16 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.
2004-04-28 20:00:56 +00:00
Paul Eggert
0ced3098fd Add Makevars.template, stamp-po.
Remove stamp-cat-id.
2003-12-24 08:32:43 +00:00
Akim Demaille
388f8b197d Update. 2003-08-25 15:15:32 +00:00
Akim Demaille
6040d33886 Regen. 2003-06-25 14:02:36 +00:00
Paul Eggert
226dcab028 Regenerate, to have proper Report-Msgid-Bugs-To: 2003-06-17 18:26:57 +00:00
Paul Eggert
465b4444e8 Regenerate. 2003-06-17 08:34:53 +00:00
Paul Eggert
7a5a3475cf (MSGID_BUGS_ADDRESS): New macro, for gettext 0.12.1. 2003-06-17 08:23:04 +00:00
Paul Eggert
7cc661648b Upgrade to gettext 0.12.1 version. 2003-06-17 08:19:02 +00:00
Akim Demaille
2f924dd373 Regen. 2003-04-29 08:31:48 +00:00
Akim Demaille
265d1ec403 Regen. 2003-03-29 11:09:49 +00:00
Akim Demaille
d2ffe11637 * ro.po: New. 2003-03-03 08:59:34 +00:00
Akim Demaille
1d32c92eef Update. 2003-02-05 09:53:54 +00:00
Paul Eggert
a2814891a4 Added ms translation. 2003-02-01 08:43:41 +00:00
Paul Eggert
f4ca512cc8 Add ms. 2003-02-01 08:34:33 +00:00
Paul Eggert
9e10007658 Regenerate. 2003-02-01 08:18:42 +00:00
Akim Demaille
0692b77351 Regen. 2003-01-13 15:40:18 +00:00
Akim Demaille
f0057011f7 * src/Makefile.am, lib/Makefile.am: Use $(VAR) instead of @VAR@. 2003-01-09 12:45:08 +00:00
Paul Eggert
8e4900ef40 Regenerate. 2003-01-01 10:09:55 +00:00
Paul Eggert
78a00b7d7f Regenerate. 2002-12-29 03:17:45 +00:00
Paul Eggert
73521d9ff8 Regenerate. 2002-12-24 08:33:38 +00:00
Paul Eggert
00ba950c7b Initial revision. 2002-12-13 12:21:13 +00:00
Paul Eggert
05d18c2493 Regenerate. 2002-12-13 12:20:19 +00:00
Paul Eggert
148b7779f3 Add da. 2002-12-13 11:46:51 +00:00
Paul Eggert
ceed6cdce5 Regenerate. 2002-11-25 08:05:09 +00:00
Akim Demaille
0258d1661c 2002-11-15 Tim Van Holder <tim.van.holder@pandora.be>
* src/.cvsignore: Add src-gram.c.
* tests/.cvsignore: Add atlocal.
* config/.cvsignore, m4/.cvsignore, po/.cvsignore:
Add several files that autoreconf may bring in during
bootstrap.
2002-11-15 09:04:37 +00:00
Akim Demaille
caf52fdfab Bump to 1.75c. 2002-11-13 15:17:35 +00:00
Paul Eggert
73dbb6420e Regenerate. 2002-11-13 08:34:23 +00:00
Paul Eggert
322c501d89 Remove src/parse-gram.c, src/scan-gram.c,
src/system.h.  Add src/parsegram.y, src/scan-gram.l.
2002-11-13 06:40:06 +00:00
Akim Demaille
1f5fd52e9b * po/POTFILES.in (src/lalr.c, src/state.c): Remove 2002-11-12 16:09:38 +00:00
Paul Eggert
ccdb39e0a6 Add src/system.h; this isn't really needed, but it keeps "make update"
happy.
2002-11-12 07:51:44 +00:00
Akim Demaille
959e5f515a Update. 2002-11-07 14:28:40 +00:00
Paul Eggert
5c16c6b13a Version 1.75a. 2002-10-25 06:05:50 +00:00
Akim Demaille
48461d4b28 Regen. 2002-10-24 09:58:55 +00:00
Akim Demaille
78bcec17c8 Regen. 2002-10-22 07:47:55 +00:00
Paul Eggert
f7aed66054 Add lib/subpipe.c. 2002-10-20 06:30:43 +00:00
Akim Demaille
b0a7a533c9 Regen. 2002-10-14 12:49:24 +00:00
Akim Demaille
b7195100fd * po/id.po: New. 2002-10-11 10:14:32 +00:00
Paul Eggert
595878d7f5 Update and regenerate. 2002-10-05 06:23:42 +00:00
Akim Demaille
719010ad2b Regen. 2002-09-30 12:43:14 +00:00
Akim Demaille
b778eff5f9 Regen. 2002-09-30 08:38:50 +00:00
Akim Demaille
35f6ddeafb Regen. 2002-09-27 14:55:20 +00:00