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.4, updated. v1.4.13-8-gd


From: Eric Blake
Subject: [SCM] GNU M4 source repository branch, branch-1.4, updated. v1.4.13-8-gd3237b2
Date: Mon, 20 Jul 2009 13:14:41 +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=d3237b2af19c80fc80218fd33eb64266be510be8

The branch, branch-1.4 has been updated
       via  d3237b2af19c80fc80218fd33eb64266be510be8 (commit)
       via  af75eb36c890595b686532dc35cf090c4879038f (commit)
       via  5fa9c079fbe226113280ac86401b432d9c0e7981 (commit)
      from  f294059b524570dfd91dff8c51632b0b20a4fede (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 d3237b2af19c80fc80218fd33eb64266be510be8
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-05.
    * NEWS: Document the change.
    
    Signed-off-by: Eric Blake <address@hidden>

commit af75eb36c890595b686532dc35cf090c4879038f
Author: Eric Blake <address@hidden>
Date:   Mon Jul 20 06:54:18 2009 -0600

    Avoid cygwin 1.7 crash with closed stdout.
    
    * gnulib: Update.
    * doc/m4.texinfo (Command line files): Add test; regression
    introduced 2008-07-17.
    * NEWS: Document the change.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 5fa9c079fbe226113280ac86401b432d9c0e7981
Author: Eric Blake <address@hidden>
Date:   Fri Jul 17 15:20:06 2009 -0600

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

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

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

diff --git a/ChangeLog b/ChangeLog
index 2a765b0..2a14a45 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2009-07-20  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-05.
+       * NEWS: Document the change.
+
+       Avoid cygwin 1.7 crash with closed stdout.
+       * gnulib: Update.
+       * doc/m4.texinfo (Command line files): Add test; regression
+       introduced 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-05.
+       * doc/m4.texinfo (Sysval): Test this.
+       * NEWS: Document the change.
+
 2009-06-25  Eric Blake  <address@hidden>
 
        Fix description of limits on diversions.
diff --git a/NEWS b/NEWS
index 8b3b8e9..bfb7ab7 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,18 @@ GNU M4 NEWS - User visible changes.
 Copyright (C) 1992, 1993, 1994, 2004, 2005, 2006, 2007, 2008, 2009 Free
 Software Foundation, Inc.
 
+* 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 48aa74e..9195e06 100644
--- a/doc/m4.texinfo
+++ b/doc/m4.texinfo
@@ -960,6 +960,24 @@ options.
 @example
 @error{}m4: cannot open `Makefile/': Not a directory
 @end example
+
address@hidden Test that closed stderr does not cause a crash.
+
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
+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
@@ -6615,10 +6633,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
@@ -6629,7 +6647,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 e3e47d1..deb58d4 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit e3e47d1710f6154c54b65c5d9dd5d56516a893d6
+Subproject commit deb58d481fc8dc345e463002c7087a08a4f1d5f0
diff --git a/src/builtin.c b/src/builtin.c
index 05146df..d416a00 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -1042,7 +1042,7 @@ m4_esyscmd (struct obstack *obs, int argc, token_data 
**argv)
     }
   if (ferror (pin) || fclose (pin))
     M4ERROR ((EXIT_FAILURE, errno, "cannot read pipe"));
-  status = wait_subprocess (child, ARG (0), false, false, true, false,
+  status = wait_subprocess (child, ARG (0), 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]