Re: fix several regressions

Eric Blake <[email protected]>
Newsgroups gmane.comp.gnu.m4.patches
Message-ID <[email protected]>
> $ echo 'esyscmd(echo hi >&2)dnl' > oops.m4
> $ m4-1.4.11 oops.m4 <&- >&-
> hi
> $ m4-1.4.13 oops.m4 <&- >&-
> m4-1.4.13: esyscmd subprocess failed

In trying to port this to the master branch, I couldn't
reproduce the failure (in other words, my earlier test was
incomplete); I also discovered a cygwin popen bug
that makes the regression look worse than it is.

$ cat oops.m4
esyscmd(echo hi >&2 && echo err"print(bye
)d"nl)dnl
$ m4 oops.m4 <&- >&- # current state works
hi
bye
$ m4-1.4.13 oops.m4  <&- >&- # gnulib pipe module was buggy
hi
sh: line 1: echo: write error: Bad file descriptor
$ m4-1.4.6 oops.m4  <&- >&- # cygwin 1.7 popen is currently buggy
hi
sh: line 1: echo: write error: Bad file descriptor
$ m4-1.4.5 oops.m4  <&- >&- # 
hi
bye

And there is no gnulib popen_safer module.

From e435cf1c3291fe62d02ad769ca42f620079d47db Mon Sep 17 00:00:00 2001
From: Eric Blake <[email protected]>
Date: Mon, 17 Aug 2009 15:33:42 -0600
Subject: [PATCH] Enhance test with closed descriptors.

* doc/m4.texinfo (Command line files): Enhance test from
2009-07-20 to actually test the bug being fixed.

Signed-off-by: Eric Blake <[email protected]>
---
 ChangeLog      |    4 ++++
 doc/m4.texinfo |    4 +++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 37dc678..0dd334c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-08-17  Eric Blake  <[email protected]>

+	Enhance test with closed descriptors.
+	* doc/m4.texinfo (Command line files): Enhance test from
+	2009-07-20 to actually test the bug being fixed.
+
 	Update copyright year.
 	* AUTHORS: Run UPDATE_COPYRIGHT_FORCE=1 make update-copyright.
 	* BACKLOG: Likewise.
diff --git a/doc/m4.texinfo b/doc/m4.texinfo
index b95d109..89a80a7 100644
--- a/doc/m4.texinfo
+++ b/doc/m4.texinfo
@@ -981,10 +981,12 @@ Command line files
       `errprint(` skipping: syscmd does not have unix semantics
 ')m4exit(`77')')dnl
 changequote(`[', `]')dnl
-syscmd([echo 'esyscmd(echo hi >&2)dnl' > tmp.m4 \
+syscmd([echo 'esyscmd(echo hi >&2 && echo err"print(bye
+)d"nl)dnl' > tmp.m4 \
   && ']__program__[' tmp.m4 <&- >&- \
   && rm tmp.m4])sysval
 @error{}hi
+@error{}bye
 @result{}0
 @end example
 @end ignore
-- 
1.6.3.2


-- 
View this message in context: http://www.nabble.com/fix-several-regressions-tp24569557p25014642.html
Sent from the Gnu - M4 - Patches mailing list archive at Nabble.com.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.