From 4d067b3020104a8b19a34fa4d3b6e5e8f3eb036a Mon Sep 17 00:00:00 2001
From: Laurent Bercot
Date: Thu, 26 Feb 2015 01:48:50 +0000
Subject: - added forstdin - rewrote forbacktickx as a wrapper around
forstdin - removed el_obsolescent - version: rc for 2.1.1.0
---
doc/forbacktickx.html | 5 +-
doc/forstdin.html | 78 ++++++++++++++++++
doc/index.html | 3 +-
doc/upgrade.html | 7 ++
package/deps.mak | 10 ++-
package/info | 2 +-
package/modes | 3 +-
package/targets.mak | 1 +
src/execline/deps-exe/forbacktickx | 1 -
src/execline/deps-exe/forstdin | 2 +
src/execline/forbacktickx.c | 155 ++++++++++++------------------------
src/execline/forstdin.c | 157 +++++++++++++++++++++++++++++++++++++
src/include/execline/execline.h | 1 -
src/libexecline/deps-lib/execline | 1 -
src/libexecline/el_obsolescent.c | 10 ---
15 files changed, 312 insertions(+), 124 deletions(-)
create mode 100644 doc/forstdin.html
create mode 100644 src/execline/deps-exe/forstdin
create mode 100644 src/execline/forstdin.c
delete mode 100644 src/libexecline/el_obsolescent.c
diff --git a/doc/forbacktickx.html b/doc/forbacktickx.html
index 0780f3d..979a483 100644
--- a/doc/forbacktickx.html
+++ b/doc/forbacktickx.html
@@ -76,7 +76,10 @@ split x.
- You can start loop... with "import -u variable"
-to perform variable substitution.
+to perform variable substitution.
+ - forbacktickx is now implemented as a trivial wrapper around the
+pipeline and
+forstdin commands.
+
+
+execline
+Software
+skarnet.org
+
+
+ The forstdin program
+
+
+forstdin uses its input as loop elements to
+run another program.
+
+
+ Interface
+
+
+ In an execlineb script:
+
+
+
+ forstdin [ -p | -o okcodes | -x breakcodes ] [ -n ] [ -C | -c ] [ -0 | -d delim ] variable loop...
+
+
+
+ - forstdin reads its standard input as it becomes available,
+splitting it automatically.
+ - For every argument x in the split output,
+forstdin runs loop... as a child process, with
+variable=x added to its environment.
+ - forstdin then exits 0.
+
+
+ Options
+
+
+ - -p : parallel mode. Do not wait for a loop...
+instance to finish before spawning the next one. forbacktickx will
+still wait for all instances of loop to terminate before
+exiting, though.
+ - -0 : accept null characters on its stdin,
+using them as delimiters. If this option and a -d option are
+used simultaneously, the rightmost one wins.
+ - -o okcodes : okcodes must
+be a comma-separated list of exit codes. If the -p flag
+hasn't been given and loop exits with one of the codes in
+okcodes,
+forstdin will run the following instances of the loop, but if the exit code is
+not listed in okcodes, forstdin will exit immediately with an
+approximation of the same exit code.
+ - -x breakcodes : like the previous
+option, but with inverted meaning - the listed exit codes are codes
+that will make forstdin break the loop and exit, and the unlisted exit
+codes will make it keep looping.
+ - Other options are used to control
+the substitution mechanism for every x. Of course, you can't
+split x.
+
+
+ Notes
+
+
+ - You can start loop... with "import -u variable"
+to perform variable substitution.
+
+
+
diff --git a/doc/forstdin.html b/doc/forstdin.html
new file mode 100644
index 0000000..e4c5534
--- /dev/null
+++ b/doc/forstdin.html
@@ -0,0 +1,78 @@
+
+