m4-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU M4 source repository branch, branch-1.6, updated. v1.5.89a-134


From: Eric Blake
Subject: [SCM] GNU M4 source repository branch, branch-1.6, updated. v1.5.89a-134-g84d6d32
Date: Fri, 24 Jul 2009 02:47:27 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU M4 source repository".

http://git.sv.gnu.org/gitweb/?p=m4.git;a=commitdiff;h=84d6d32337b57d350d93a17979931fe653cb37c5

The branch, branch-1.6 has been updated
       via  84d6d32337b57d350d93a17979931fe653cb37c5 (commit)
       via  3b4531ee543aad31e612cf34e11de79f85d50216 (commit)
       via  6d2da8c7932c6bb062803c3feddc903ec81c2eb9 (commit)
      from  891a0fd44d0666fc0576071ec9866cb2b87490eb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 84d6d32337b57d350d93a17979931fe653cb37c5
Author: Eric Blake <address@hidden>
Date:   Mon Jul 20 07:08:27 2009 -0600

    Pick up gnulib fixes for sub-process execution.
    
    * gnulib: Update.
    * doc/m4.texinfo (Command line files): Add test; regression
    introduced 2009-03-04.
    * NEWS: Document the change.
    
    Signed-off-by: Eric Blake <address@hidden>
    (cherry picked from commit d3237b2af19c80fc80218fd33eb64266be510be8)

commit 3b4531ee543aad31e612cf34e11de79f85d50216
Author: Eric Blake <address@hidden>
Date:   Thu Jul 23 19:57:03 2009 -0600

    Avoid cygwin 1.7 crash with closed stdout.
    
    * gnulib: Update.
    * doc/m4.texinfo (Command line files): Add test to avoid
    regression introduced on 1.4 branch on 2008-07-17.
    * NEWS: Document the change.
    
    Signed-off-by: Eric Blake <address@hidden>
    (cherry picked from commit af75eb36c890595b686532dc35cf090c4879038f)

commit 6d2da8c7932c6bb062803c3feddc903ec81c2eb9
Author: Eric Blake <address@hidden>
Date:   Tue Jul 21 21:04:54 2009 -0600

    A status of 127 does not always imply esyscmd failure.
    
    * src/builtin.c (m4_esyscmd): Silence gnulib message; regression
    introduced 2009-03-04.
    * doc/m4.texinfo (Sysval): Test this.
    * NEWS: Document the change.
    
    Signed-off-by: Eric Blake <address@hidden>
    (cherry picked from commit 5fa9c079fbe226113280ac86401b432d9c0e7981)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog      |   20 ++++++++++++++++++++
 NEWS           |   12 ++++++++++++
 doc/m4.texinfo |   33 ++++++++++++++++++++++++++++++---
 gnulib         |    2 +-
 src/builtin.c  |    3 ++-
 5 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 69321da..8ce5206 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2009-07-23  Eric Blake  <address@hidden>
+
+       Pick up gnulib fixes for sub-process execution.
+       * gnulib: Update.
+       * doc/m4.texinfo (Command line files): Add test; regression
+       introduced 2009-03-04.
+       * NEWS: Document the change.
+
+       Avoid cygwin 1.7 crash with closed stdout.
+       * gnulib: Update.
+       * doc/m4.texinfo (Command line files): Add 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.
+       * src/builtin.c (m4_esyscmd): Silence gnulib message; regression
+       introduced 2009-03-04.
+       * doc/m4.texinfo (Sysval): Test this.
+       * NEWS: Document the change.
+
 2009-06-25  Eric Blake  <address@hidden>
 
        Use bitrotate for hashing.
diff --git a/NEWS b/NEWS
index f1d641a..63da9f9 100644
--- a/NEWS
+++ b/NEWS
@@ -149,6 +149,18 @@ contains the following beta features that were deemed 
worth deferring until
 
 ** A number of portability improvements inherited from gnulib.
 
+* 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.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.
+
 * Noteworthy changes in Version 1.4.13 (2009-04-01) [stable]
   Released by Eric Blake, based on git version 1.4.12.*
 
diff --git a/doc/m4.texinfo b/doc/m4.texinfo
index 0182979..cacc4b9 100644
--- a/doc/m4.texinfo
+++ b/doc/m4.texinfo
@@ -1057,6 +1057,33 @@ options.
 @example
 @error{}m4: cannot open `Makefile/': Not a directory
 @end example
+
address@hidden Test that closed stderr does not cause a crash.  Not all
address@hidden systems have the same message for EBADF.
+
address@hidden xerr: ignore
address@hidden
+ifdef(`__unix__', ,
+      `errprint(` skipping: syscmd does not have unix semantics
+')m4exit(`77')')dnl
+changequote(`[', `]')dnl
+syscmd([echo | ']__program__[' >&-])dnl
address@hidden: write error: Bad file descriptor
+sysval
address@hidden
address@hidden example
+
address@hidden
+ifdef(`__unix__', ,
+      `errprint(` skipping: syscmd does not have unix semantics
+')m4exit(`77')')dnl
+changequote(`[', `]')dnl
+syscmd([echo 'esyscmd(echo hi >&2)dnl' > tmp.m4 \
+  && ']__program__[' tmp.m4 <&- >&- \
+  && rm tmp.m4])sysval
address@hidden
address@hidden
address@hidden example
 @end ignore
 
 @node Syntax
@@ -7445,10 +7472,10 @@ esyscmd(`false')
 @result{}
 ifelse(sysval, `0', `zero', `non-zero')
 @result{}non-zero
-esyscmd(`exit 2')
+esyscmd(`echo dnl && exit 127')
 @result{}
 sysval
address@hidden
address@hidden
 esyscmd(`true')
 @result{}
 sysval
@@ -7459,7 +7486,7 @@ sysval
 command, for example, if the system-imposed argument length is exceeded,
 or if there were not enough resources to fork.  It is not possible to
 distinguish between failed execution and successful execution that had
-an exit status of 127.
+an exit status of 127, unless there was output from the child process.
 
 On UNIX platforms, where it is possible to detect when command execution
 is terminated by a signal, rather than a normal exit, the result is the
diff --git a/gnulib b/gnulib
index 836f397..2d8b95d 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 836f3974faad2f3de7bafd46719b77d6632a4c96
+Subproject commit 2d8b95d62cc4d6524fa6c4dbc3138d88a5839159
diff --git a/src/builtin.c b/src/builtin.c
index 191e05d..0badfd8 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -1228,7 +1228,8 @@ m4_esyscmd (struct obstack *obs, int argc, 
macro_arguments *argv)
   if (ferror (pin) || fclose (pin))
     m4_error (EXIT_FAILURE, errno, me, _("cannot read pipe to command %s"),
              quotearg_style (locale_quoting_style, cmd));
-  status = wait_subprocess (child, caller, false, false, true, false,
+  errno = 0;
+  status = wait_subprocess (child, caller, false, true, true, false,
                            &sig_status);
   if (sig_status)
     {


hooks/post-receive
-- 
GNU M4 source repository




reply via email to

[Prev in Thread] Current Thread [Next in Thread]