Re: [gnu.org #1912852] Typo in the findutils manual

Bernhard Voelker <[email protected]>
Newsgroups gmane.comp.gnu.findutils.bugs
Message-ID <[email protected]>
Hello Thérèse,

first of all, I have to admit that I don't have access to RT.
I wrote the sysadmins to clarify.

I hope you'll find this reply on the regular Findutils mailing list.

On 1/23/23 20:02, Therese Godefroy via RT wrote:
> Hello Bernhard,
> 
> Here is the sentence the OP is referring to:
> 
> "The xargs command will process all its input, building
> command lines and executing them, unless one of the
> commands exits with a status of 255 (this will cause xargs
> to issue an error message and stop) or it reads a line
> contains the end of file string specified with the ‘--eof’
> option."
> 
> Even with the typo corrected, I find this sentence a
> little difficult to read. It may help to emphasize its
> structure, for example by adding numbers:
> 
> ... unless (1) one of the
> commands exits with a status of 255 (this will cause xargs
> to issue an error message and stop) or (2) it reads a line
> containing the end of file string specified with the ‘--eof’
> option."
> 
> Best regards,
> Thérèse
> 
> 
> Le Lun 23 Jan 2023 04:07:04, [email protected] a écrit :
>> https://www.gnu.org/software/findutils/manual/html_mono/find.html
>>
>> s/a line contains the/a line containing the/

I'm not a native speaker, but I find the existing wording quite okay.

What's definitely worth improving is the order of the stop conditions
in that sentence: obviously, xargs would stop when the EOF string from
a given --eof option is read ... before it can check if the launched
command existed with status 255.

   $ seq 252 258 | xargs/xargs -tn1 --eof=255 sh -c 'exit $1' sh
   sh -c 'exit $1' sh 252
   sh -c 'exit $1' sh 253
   sh -c 'exit $1' sh 254

   $ seq 252 258 | xargs/xargs -tn1 --eof=256 sh -c 'exit $1' sh
   sh -c 'exit $1' sh 252
   sh -c 'exit $1' sh 253
   sh -c 'exit $1' sh 254
   sh -c 'exit $1' sh 255
   xargs/xargs: sh: exited with status 255; aborting

What about the attached?

Have a nice day,
Berny
0001-doc-improve-description-bout-when-xargs-stops-proces.patch (text/x-patch, 1.6 KB)
From 411717fc7addaef4dc1f923c38714eab4cf735fb Mon Sep 17 00:00:00 2001
From: Bernhard Voelker <[email protected]>
Date: Wed, 25 Jan 2023 08:26:33 +0100
Subject: [PATCH] doc: improve description bout when xargs stops processing

* doc/find.texi (Multiple Files): Clarify better that xargs will stop when
reading the EOF string specified with the --eof option, or when a
launched command exists with status 255.  Switch the two termination
conditions to reflect the behavior.

Fixes RT #1912852.
---
 doc/find.texi | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/doc/find.texi b/doc/find.texi
index e2e746a6..f6c11f6a 100644
--- a/doc/find.texi
+++ b/doc/find.texi
@@ -2478,11 +2478,13 @@ However, if the command needs to have its standard input be a terminal
 substitution method or use either the @samp{--arg-file} option or the
 @samp{--open-tty} option of @code{xargs}.
 
-The @code{xargs} command will process all its input, building command
-lines and executing them, unless one of the commands exits with a
-status of 255 (this will cause xargs to issue an error message and
-stop) or it reads a line contains the end of file string specified
-with the @samp{--eof} option.
+The @code{xargs} command will usually process all its input, building command
+lines and executing them.
+The processing stops earlier and immediately if the tool reads a line containing
+the end of file string specified with the @samp{--eof} option,
+or if one of the launched commands exits with a status of 255.
+The latter will cause @code{xargs} to issue an error message and exit with
+status 124.
 
 @menu
 * Unsafe File Name Handling::
-- 
2.39.0
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.