* xargs/xargs.1 (STANDARDS CONFORMANCE): re-organise.
---
 xargs/xargs.1 | 134 +++++++++++++++++++++++++++++++++++---------------
 1 file changed, 93 insertions(+), 41 deletions(-)

diff --git a/xargs/xargs.1 b/xargs/xargs.1
index 0f65d870..ab0fa7c0 100644
--- a/xargs/xargs.1
+++ b/xargs/xargs.1
@@ -97,7 +97,7 @@ Disables the end-of-file string, which is treated like any 
other argument.
 Useful when input items might contain white space, quote marks, or backslashes.
 The GNU
 .B find
-(and from POSIX Issue 8, IEEE Std 1003.1\-2024)
+(and from POSIX Issue 8, IEEE Std 1003.1, 2024)
 .B \-print0
 option produces input suitable for this mode.
 .
@@ -564,33 +564,75 @@ been killed by a signal is not used by
 .BR xargs .
 .
 .SH "STANDARDS CONFORMANCE"
-The long-standing
-.B \-0
+This section describes the relationship between GNU
+.B xargs
+and the standards with which it complies.  Some portability
+considerations are mentioned.
+
+.SS OPTIONS
+Options specified in IEEE Std 1003.1, 2024 are
+.BR \-E ,
+.BR \-I ,
+.BR \-L ,
+.BR \-n ,
+.BR \-p ,
+.BR \-r ,
+.BR \-s ,
+.BR \-t ,
+.B \-x
 and
-.B \-r
-options of GNU
+.BR \-0 .
+.
+.TP
+.B \-E
+Since findutils 4.2.9 (2004), GNU
 .B xargs
-appeared first in Issue 8 (IEEE Std 1003.1\-2024) of the POSIX standard.
-The long-standing
-.B \-p
-option of GNU
+has had no default logical end-of-file string.
+This may not be true of other implementations, so you should use
+.B \-E \*'\*'
+to be certain.
+.TP
+.B \-e
+Removed from POSIX in IEEE Std 1003.1, 2004.
+GNU
 .B xargs
-was added to Issue 6 (IEEE Std 1003.1\-2004).
-.P
-As of GNU
-.I findutils
-version 4.2.9 (2004), the default behaviour of
+still supports this, but you should use
+.B \-E
+instead.
+.TP
+\-i
+Removed from POSIX in IEEE Std 1003.1, 2004.
+GNU
 .B xargs
-is not to have a logical end-of-file marker.
-POSIX (IEEE Std 1003.1, 2004 Edition and also later editions) allows
-this.
-.P
-The \-l and \-i options appeared in the 1997 edition of the POSIX
-standard, but do not appear in the 2004 or later editions.
-Therefore you should use \-L and \-I instead, respectively.
-.P
-The \-o option is an extension to the POSIX standard for better
-compatibility with BSD.
+still supports this but you should use
+.B \-I
+instead.
+.TP
+.B \-l
+Removed from POSIX in IEEE Std 1003.1, 2004.
+GNU
+.B xargs
+still supports this but you should use
+.B \-L
+instead.
+.TP
+.B \-o
+An extension to the POSIX standard for better
+compatibility with BSD.  Not in POSIX.
+.TP
+.B \-p
+A GNU extension since before 1994.
+Added to POSIX in IEEE Std 1003.1, 2004.
+.TP
+.B \-r
+A GNU extension since before 1994.
+Added to POSIX in IEEE Std 1003.1, 2024.
+.TP
+.B \-0
+A GNU extension since before 1994.
+Added to POSIX in IEEE Std 1003.1, 2024.
+.
+.SS EXEC SYSTEM CALL LIMITS
 .P
 The POSIX standard allows implementations to have a limit on the size
 of arguments to the
@@ -604,16 +646,8 @@ The
 .B \-\-show\-limits
 option can be used to discover the actual limits in force on the
 current system.
-.P
-In versions of
-.B xargs
-up to and including version 4.9.0 (2022), SIGUSR1 and SIGUSR2 would
-not cause
-.B xargs
-to terminate even if the
-.B \-P
-option was not used.
 .
+.SS POSIX EXIT STATUS REQUIREMENTS
 .P
 The POSIX standard specifies that certain kinds of problem must result
 in particular
@@ -637,13 +671,17 @@ failed with
 value ENOENT
 T}
 _|_|_|_
-Utility could not be invoked|126|126|T{
+T{
+Utility could not be invoked
+T}|126|126|T{
 .ad l
 .BR execvp (2)
 failed with any other error
 T}
 _|_|_|_
-Any other non-success case|1 \- 125|125|T{
+T{
+Any other non-success case
+T}|1 \- 125|125|T{
 .ad l
 Utility killed by a fatal signal
 T}
@@ -663,6 +701,23 @@ _|_|_|_
 Successful completion|0|0|
 .TE
 .
+.SS CONFORMANCE BUGS
+.TS
+tab(|);
+Lb Lb Lb
+L  L  Lx.
+Introduced|Fixed|Description
+4.5.10 (2011)|4.10.0 (2024)|T{
+SIGUSR1 should be a fatal signal by default, but
+SIGUSR1 would not kill
+.B xargs
+even if the
+.B \-P
+option was not in use.
+T}
+.TE
+.P See also the BUGS section, below.
+.
 .SH "HISTORY"
 .
 The
@@ -675,6 +730,7 @@ chapter
 for more information.
 .
 .SH "BUGS"
+.SS "SECURITY"
 It is not possible for
 .B xargs
 to be used securely, since there will always be a time gap between the
@@ -696,6 +752,8 @@ The
 option of
 .B find
 can often be used as a more secure alternative.
+.
+.SS "IMPLEMENTATION LIMITS"
 .P
 When you use the
 .B \-I
@@ -740,12 +798,6 @@ The problem doesn't occur with the output of
 .BR find (1)
 because it emits just one filename per line.
 .P
-In versions of
-.B xargs
-up to and including version 4.9.0 (2022),
-.B xargs -P
-would exit while some of its children were still running, if one of
-them exited with status 255.
 .
 .SH "REPORTING BUGS"
 GNU
-- 
2.47.3


  • [no subject] James Youngman
    • [PATCH] xargs: Re-organise STANDARDS CONFORMANCE secti... James Youngman

Reply via email to