diff options
author | Eric Blake <ebb9@byu.net> | 2009-08-17 12:09:04 -0600 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2009-08-24 19:44:00 -0600 |
commit | f6e75bf0240fbf2b4e7f5dfc7d70de546241bbdd (patch) | |
tree | 2d24ff14e2312a597fe5416ca0b12b178efaeb02 | |
parent | db2b33bf92064729e8efde7f3342c3ee8014032d (diff) | |
download | m4-f6e75bf0240fbf2b4e7f5dfc7d70de546241bbdd.tar.gz |
Pick up gnulib fixes for sub-process execution.
* gnulib: Update.
* tests/others.at (stdin and stdout closed): New test, to avoid
regression introduced on 1.4 branch on 2008-07-17.
* NEWS: Document the change.
Signed-off-by: Eric Blake <ebb9@byu.net>
(cherry picked from commit d3237b2af19c80fc80218fd33eb64266be510be8)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 6 | ||||
m--------- | gnulib | 0 | ||||
-rw-r--r-- | tests/others.at | 16 |
4 files changed, 27 insertions, 1 deletions
@@ -1,5 +1,11 @@ 2009-08-24 Eric Blake <ebb9@byu.net> + Pick up gnulib fixes for sub-process execution. + * gnulib: Update. + * tests/others.at (stdin and stdout closed): New test, to avoid + regression introduced on 1.4 branch on 2008-07-17. + * NEWS: Document the change. + A status of 127 does not always imply esyscmd failure. * modules/gnu.c (esyscmd): Silence gnulib message; regression introduced 2009-03-13. @@ -338,7 +338,11 @@ contains the following beta features that were deemed worth deferring until * Noteworthy changes in Version 1.4.14 (2009-??-??) [stable] Released by Eric Blake, based on git version 1.4.13.* -** Fix regression introduced in 1.4.13 in the `esyscmd' builtin, where +** Fix regression introduced in 1.4.12 where executing with stdout closed + could crash m4 on exit on some platforms. + +** Fix regressions introduced in 1.4.13 in the `esyscmd' builtin, where + closed file descriptors could interfere with child execution, and where a child status of 127 made m4 print a spurious message to stderr. ** A number of portability improvements inherited from gnulib. diff --git a/gnulib b/gnulib -Subproject 836f3974faad2f3de7bafd46719b77d6632a4c9 +Subproject 2d8b95d62cc4d6524fa6c4dbc3138d88a583915 diff --git a/tests/others.at b/tests/others.at index f95d80f6..5ff1bb06 100644 --- a/tests/others.at +++ b/tests/others.at @@ -737,6 +737,22 @@ m4 FOO AT_CLEANUP +## ----------------------- ## +## stdin and stdout closed ## +## ----------------------- ## + +AT_SETUP([stdin and stdout closed]) + +dnl no error when only stderr is used +AT_DATA([in.m4], [[esyscmd(echo hi >&2 && echo err"print(bye +)d"nl)dnl +]]) +AT_CHECK_M4([in.m4 >&-], [0], [], [[hi +bye +]], [-]) + +AT_CLEANUP + ## ------------- ## ## stdout closed ## ## ------------- ## |