Hello community,

here is the log from the commit of package gnu_parallel for openSUSE:Factory 
checked in at 2016-02-25 22:07:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnu_parallel (Old)
 and      /work/SRC/openSUSE:Factory/.gnu_parallel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnu_parallel"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnu_parallel/gnu_parallel.changes        
2016-01-28 17:22:55.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gnu_parallel.new/gnu_parallel.changes   
2016-02-26 00:31:29.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Feb 22 16:52:11 UTC 2016 - [email protected]
+
+- Update to 20160222
+  * Bug fixes and man page updates.
+
+-------------------------------------------------------------------

Old:
----
  parallel-20160122.tar.bz2
  parallel-20160122.tar.bz2.sig

New:
----
  parallel-20160222.tar.bz2
  parallel-20160222.tar.bz2.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnu_parallel.spec ++++++
--- /var/tmp/diff_new_pack.166C3G/_old  2016-02-26 00:31:32.000000000 +0100
+++ /var/tmp/diff_new_pack.166C3G/_new  2016-02-26 00:31:32.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           gnu_parallel
-Version:        20160122
+Version:        20160222
 Release:        0
 Summary:        Shell tool for executing jobs in parallel
 License:        GPL-3.0+

++++++ parallel-20160122.tar.bz2 -> parallel-20160222.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/NEWS new/parallel-20160222/NEWS
--- old/parallel-20160122/NEWS  2016-01-23 10:05:12.000000000 +0100
+++ new/parallel-20160222/NEWS  2016-02-21 22:27:54.000000000 +0100
@@ -1,3 +1,34 @@
+20160222
+
+* Vote for new community on Superuser, Ask Ubuntu, Unix&Linux
+  
http://meta.superuser.com/questions/11127/community-promotion-ads-2016/11225#11225
+  
http://meta.askubuntu.com/questions/14925/community-promotion-ads-2016/15046#15046
+  
http://meta.unix.stackexchange.com/questions/3854/community-promotion-ads-2016/3893#3893
+
+* Daily Quick Tip: parallel
+  https://medium.com/@jacaetevha/daily-quick-tip-parallel-8772435f6582
+
+* Downloading a list of URLs
+  http://blog.gypsydave5.com/2016/02/04/xargs-and-curl/
+
+* Using GNU Parallel and ImageMagick for Conversions
+  
http://blog.fractalcomic.com/tutorials/using-gnu-parallel-and-imagemagick-for-conversions/
+
+* Running bash commands in parallel
+  
http://linuxcommando.blogspot.dk/2016/01/running-bash-commands-in-parallel.html
+
+* parallel processing in PDAL
+  https://smathermather.wordpress.com/2016/01/28/parallel-processing-in-pdal/
+
+* A Million Text Files And A Single Laptop
+  http://randyzwitch.com/gnu-parallel-medium-data/
+
+* 「今日から使い切る」ための GNU Parallelによる並列処理入門
+  http://www.slideshare.net/koji_matsuda/gnu-parallel
+
+* Bug fixes and man page updates.
+
+
 20160122
 
 * --sql DBURL uses DBURL as storage for jobs and output. It does not
@@ -52,21 +83,35 @@
 
 * --transfer is now an alias for --transferfile {}.
 
-* --transferfile works like --transfer, but takes an argument like --return. 
This makes it possible to combine transferring files with multiple input 
sources: parallel -S server --tf {1} wc {2} {1} ::: * ::: -l -w -c
-
-* total_jobs() can now be used in {= =}: parallel echo job {#} of '{= 
$_=total_jobs() =}' ::: {1..50}
-
-* GNU Parallel was cited in: Evolution and Learning in Heterogeneous 
Environments http://research.gold.ac.uk/15078/1/COM_thesis_JonesD_2015.pdf
-
-* GNU Parallel was cited in: Contrasting genetic architectures of 
schizophrenia and other complex diseases using fast variance-components 
analysis http://www.nature.com/ng/journal/v47/n12/full/ng.3431.html
-
-* GNU Parallel was cited in: Efficient Retrieval of Key Material for 
Inspecting Potentially Malicious Traffic in the Cloud 
http://www.cs.bham.ac.uk/~bxb/Papres/2015.1.pdf
-
-* GNU Parallel was cited in: Achieving Consistent Doppler Measurements from 
SDO/HMI Vector Field Inversions http://arxiv.org/pdf/1511.06500.pdf
+* --transferfile works like --transfer, but takes an argument like
+  --return. This makes it possible to combine transferring files
+  with multiple input sources: parallel -S server --tf {1} wc {2}
+  {1} ::: * ::: -l -w -c
+
+* total_jobs() can now be used in {= =}: parallel echo job {#} of '{=
+  $_=total_jobs() =}' ::: {1..50}
+
+* GNU Parallel was cited in: Evolution and Learning in Heterogeneous
+  Environments
+  http://research.gold.ac.uk/15078/1/COM_thesis_JonesD_2015.pdf
+
+* GNU Parallel was cited in: Contrasting genetic architectures of
+  schizophrenia and other complex diseases using fast
+  variance-components analysis
+  http://www.nature.com/ng/journal/v47/n12/full/ng.3431.html
+
+* GNU Parallel was cited in: Efficient Retrieval of Key Material for
+  Inspecting Potentially Malicious Traffic in the Cloud
+  http://www.cs.bham.ac.uk/~bxb/Papres/2015.1.pdf
+
+* GNU Parallel was cited in: Achieving Consistent Doppler Measurements
+  from SDO/HMI Vector Field Inversions
+  http://arxiv.org/pdf/1511.06500.pdf
 
 * Flo uses GNU Parallel: https://github.com/wurmlab/flo
 
-* 使用 GNU parallel 
來平行運算http://mutolisp.logdown.com/posts/316959-using-gnu-parallel-to-parallel-computing
+* 使用 GNU parallel 來平行運算
+  
http://mutolisp.logdown.com/posts/316959-using-gnu-parallel-to-parallel-computing
 
 * Bug fixes and man page updates.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/README new/parallel-20160222/README
--- old/parallel-20160122/README        2016-01-23 09:52:28.000000000 +0100
+++ new/parallel-20160222/README        2016-02-21 22:24:57.000000000 +0100
@@ -40,9 +40,9 @@
 
 Full installation of GNU Parallel is as simple as:
 
-    wget http://ftpmirror.gnu.org/parallel/parallel-20160122.tar.bz2
-    bzip2 -dc parallel-20160122.tar.bz2 | tar xvf -
-    cd parallel-20160122
+    wget http://ftpmirror.gnu.org/parallel/parallel-20160222.tar.bz2
+    bzip2 -dc parallel-20160222.tar.bz2 | tar xvf -
+    cd parallel-20160222
     ./configure && make && sudo make install
 
 
@@ -51,9 +51,9 @@
 If you are not root you can add ~/bin to your path and install in
 ~/bin and ~/share:
 
-    wget http://ftpmirror.gnu.org/parallel/parallel-20160122.tar.bz2
-    bzip2 -dc parallel-20160122.tar.bz2 | tar xvf -
-    cd parallel-20160122
+    wget http://ftpmirror.gnu.org/parallel/parallel-20160222.tar.bz2
+    bzip2 -dc parallel-20160222.tar.bz2 | tar xvf -
+    cd parallel-20160222
     ./configure --prefix=$HOME && make && make install
 
 Or if your system lacks 'make' you can simply copy src/parallel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/configure 
new/parallel-20160222/configure
--- old/parallel-20160122/configure     2016-01-23 09:53:32.000000000 +0100
+++ new/parallel-20160222/configure     2016-02-21 22:25:07.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for parallel 20160122.
+# Generated by GNU Autoconf 2.69 for parallel 20160222.
 #
 # Report bugs to <[email protected]>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='parallel'
 PACKAGE_TARNAME='parallel'
-PACKAGE_VERSION='20160122'
-PACKAGE_STRING='parallel 20160122'
+PACKAGE_VERSION='20160222'
+PACKAGE_STRING='parallel 20160222'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1203,7 +1203,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures parallel 20160122 to adapt to many kinds of systems.
+\`configure' configures parallel 20160222 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1269,7 +1269,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of parallel 20160122:";;
+     short | recursive ) echo "Configuration of parallel 20160222:";;
    esac
   cat <<\_ACEOF
 
@@ -1345,7 +1345,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-parallel configure 20160122
+parallel configure 20160222
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1362,7 +1362,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by parallel $as_me 20160122, which was
+It was created by parallel $as_me 20160222, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2225,7 +2225,7 @@
 
 # Define the identity of the package.
  PACKAGE='parallel'
- VERSION='20160122'
+ VERSION='20160222'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2867,7 +2867,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by parallel $as_me 20160122, which was
+This file was extended by parallel $as_me 20160222, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2929,7 +2929,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-parallel config.status 20160122
+parallel config.status 20160222
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/configure.ac 
new/parallel-20160222/configure.ac
--- old/parallel-20160122/configure.ac  2016-01-23 09:52:28.000000000 +0100
+++ new/parallel-20160222/configure.ac  2016-02-21 22:24:56.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT([parallel], [20160122], [[email protected]])
+AC_INIT([parallel], [20160222], [[email protected]])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/niceload 
new/parallel-20160222/src/niceload
--- old/parallel-20160122/src/niceload  2016-01-23 09:52:28.000000000 +0100
+++ new/parallel-20160222/src/niceload  2016-02-21 22:24:56.000000000 +0100
@@ -24,7 +24,7 @@
 use strict;
 use Getopt::Long;
 $Global::progname="niceload";
-$Global::version = 20160122;
+$Global::version = 20160222;
 Getopt::Long::Configure("bundling","require_order");
 get_options_from_array(\@ARGV) || die_usage();
 if($opt::version) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel 
new/parallel-20160222/src/parallel
--- old/parallel-20160122/src/parallel  2016-01-23 09:52:28.000000000 +0100
+++ new/parallel-20160222/src/parallel  2016-02-21 22:24:56.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env perl
 
-# Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015 Ole Tange
-# and Free Software Foundation, Inc.
+# Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016
+# Ole Tange and Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -1176,12 +1176,13 @@
 
 sub init_globals {
     # Defaults:
-    $Global::version = 20160122;
+    $Global::version = 20160222;
     $Global::progname = 'parallel';
     $Global::infinity = 2**31;
     $Global::debug = 0;
     $Global::verbose = 0;
     $Global::quoting = 0;
+    $Global::total_completed = 0;
     # Read only table with default --rpl values
     %Global::replace =
        (
@@ -1460,6 +1461,7 @@
                        if(/$joblog_regexp/o) {
                            # This is 30% faster than set_job_already_run($1);
                            vec($Global::job_already_run,($1||0),1) = 1;
+                           $Global::total_completed++;
                            $group[$1-1] = "true";
                        } elsif(/(\d+)\s+\S+(\s+[-0-9.]+){6}\s+(.*)$/) {
                            $group[$1-1] = $3
@@ -1495,6 +1497,7 @@
                        if(/$joblog_regexp/o) {
                            # This is 30% faster than set_job_already_run($1);
                            vec($Global::job_already_run,($1||0),1) = 1;
+                           $Global::total_completed++;
                        } elsif(not /\d+\s+[^\s]+\s+([-0-9.]+\s+){6}/) {
                            ::error("Format of '$opt::joblog' is wrong: $_");
                            ::wait_and_exit(255);
@@ -2026,7 +2029,6 @@
     # Returns: N/A
     $Global::total_running = 0;
     $Global::total_started = 0;
-    $Global::total_completed = 0;
     $Global::tty_taken = 0;
     $SIG{USR1} = \&list_running_jobs;
     $SIG{USR2} = \&toggle_progress;
@@ -3601,8 +3603,8 @@
     # Returns: N/A
     print join("\n",
                "GNU $Global::progname $Global::version",
-               "Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015 Ole 
Tange",
-              "and Free Software Foundation, Inc.",
+               "Copyright (C) 
2007,2008,2009,2010,2011,2012,2013,2014,2015,2016",
+              "Ole Tange and Free Software Foundation, Inc.",
                "License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>",
                "This is free software: you are free to change and redistribute 
it.",
                "GNU $Global::progname comes with no warranty.",
@@ -4713,10 +4715,12 @@
            # svr5 => sysv
            # ultrix => ps -ax | awk '{print $3,$5}'
            # unixware => ps -el|awk '{print $2,$14,$15}'
-           my $ps = q{
+           my $ps = ::spacefree(1,q{
                $sysv="ps -ef -o s -o comm";
                $sysv2="ps -ef -o state -o comm";
                $bsd="ps ax -o state,command";
+               # Treat threads as processes
+               $bsd2="ps axH -o state,command";
                $psel="ps -el|awk '{ print \$2,\$14,\$15 }'";
                $cygwin=q{ perl -ne 'close STDERR; /Name/ and print"\n";
                     /(Name|Pid|Ppid|State):\s+(\S+)/ and print "$2\t";' 
/proc/*/status |
@@ -4728,11 +4732,11 @@
                    'darwin' => $bsd,
                    'dec_osf' => $sysv2,
                    'dragonfly' => $bsd,
-                   'freebsd' => $bsd,
+                   'freebsd' => $bsd2,
                    'gnu' => $bsd,
                    'hpux' => $psel,
                    'irix' => $sysv2,
-                   'linux' => $bsd,
+                   'linux' => $bsd2,
                    'minix' => "ps el|awk '{print \$1,\$11}'",
                    'mirbsd' => $bsd,
                    'msys' => $sysv,
@@ -4745,8 +4749,7 @@
                    'ultrix' => "ps -ax | awk '{print \$3,\$5}'",
                    );
                print `$ps{$^O}`;
-           };
-           $ps =~ s/[ \t\n]+/ /g;
+           });
            $cmd = "perl -e ".::shell_quote_scalar($ps);
        }
        return $cmd;
@@ -7917,6 +7920,7 @@
     my $self = shift;
     my ($fdno,$in_fh,$out_fd) = @_;
     my $buf;
+    local $/ = "\n";
     close $self->fh($fdno,"w");
     if($? and $opt::compress) {
        ::error($opt::compress_program." failed.");
@@ -9288,7 +9292,7 @@
     my $class = shift;
     my $fhs = shift;
     for my $fh (@$fhs) {
-       if(-t $fh) {
+       if(-t $fh and -t ($Global::status_fd || *STDERR)) {
            ::warning("Input is read from the terminal.",
                      "Only experts do this on purpose. ".
                      "Press CTRL-D to exit.");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel.1 
new/parallel-20160222/src/parallel.1
--- old/parallel-20160122/src/parallel.1        2016-01-19 16:05:05.000000000 
+0100
+++ new/parallel-20160222/src/parallel.1        2016-02-21 22:25:15.000000000 
+0100
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "PARALLEL 1"
-.TH PARALLEL 1 "2016-01-19" "20160101" "parallel"
+.TH PARALLEL 1 "2016-02-21" "20160222" "parallel"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -434,7 +434,7 @@
 shell quote a string
 .IP " \fB\f(BItotal_jobs()\fB\fR" 15
 .IX Item " total_jobs()"
-number of jobs in total (beta testing)
+number of jobs in total
 .RE
 .RS 9
 .Sp
@@ -559,11 +559,11 @@
 \&  seq 1000 | parallel \-j30 \-\-bar \*(Aq(echo {};sleep 0.1)\*(Aq \e
 \&    2> >(zenity \-\-progress \-\-auto\-kill) | wc
 .Ve
-.IP "\fB\-\-basefile\fR \fIfile\fR (beta testing)" 9
-.IX Item "--basefile file (beta testing)"
+.IP "\fB\-\-basefile\fR \fIfile\fR" 9
+.IX Item "--basefile file"
 .PD 0
-.IP "\fB\-\-bf\fR \fIfile\fR (beta testing)" 9
-.IX Item "--bf file (beta testing)"
+.IP "\fB\-\-bf\fR \fIfile\fR" 9
+.IX Item "--bf file"
 .PD
 \&\fIfile\fR will be transferred to each sshlogin before a jobs is
 started. It will be removed if \fB\-\-cleanup\fR is active. The file may be
@@ -643,8 +643,8 @@
 Implies \fB\-\-pipe\fR unless \fB\-\-pipepart\fR is used.
 .Sp
 See also \fB\-\-fifo\fR.
-.IP "\fB\-\-cleanup\fR (beta testing)" 9
-.IX Item "--cleanup (beta testing)"
+.IP "\fB\-\-cleanup\fR" 9
+.IX Item "--cleanup"
 Remove transferred files. \fB\-\-cleanup\fR will remove the transferred
 files on the remote computer after processing is done.
 .Sp
@@ -1124,11 +1124,11 @@
 processes on the computer is less than \fImax-load\fR. \fImax-load\fR uses
 the same syntax as \fB\-\-jobs\fR, so \fI100%\fR for one per \s-1CPU\s0 is a 
valid
 setting. Only difference is 0 which is interpreted as 0.01.
-.IP "\fB\-\-controlmaster\fR (beta testing)" 9
-.IX Item "--controlmaster (beta testing)"
+.IP "\fB\-\-controlmaster\fR" 9
+.IX Item "--controlmaster"
 .PD 0
-.IP "\fB\-M\fR (beta testing)" 9
-.IX Item "-M (beta testing)"
+.IP "\fB\-M\fR" 9
+.IX Item "-M"
 .PD
 Use ssh's ControlMaster to make ssh connections faster. Useful if jobs
 run remote and are very fast to run. This is disabled for sshlogins
@@ -1190,8 +1190,8 @@
 .Sp
 This is useful for running the same command (e.g. uptime) on a list of
 servers.
-.IP "\fB\-\-onall\fR (alpha testing)" 9
-.IX Item "--onall (alpha testing)"
+.IP "\fB\-\-onall\fR (beta testing)" 9
+.IX Item "--onall (beta testing)"
 Run all the jobs on all computers given with \fB\-\-sshlogin\fR. \s-1GNU
 \&\s0\fBparallel\fR will log into \fB\-\-jobs\fR number of computers in 
parallel
 and run one job at a time on the computer. The order of the jobs will
@@ -1214,11 +1214,11 @@
 of each job is saved in a file and the filename is then printed.
 .Sp
 See also: \fB\-\-results\fR
-.IP "\fB\-\-pipe\fR (beta testing)" 9
-.IX Item "--pipe (beta testing)"
+.IP "\fB\-\-pipe\fR" 9
+.IX Item "--pipe"
 .PD 0
-.IP "\fB\-\-spreadstdin\fR (beta testing)" 9
-.IX Item "--spreadstdin (beta testing)"
+.IP "\fB\-\-spreadstdin\fR" 9
+.IX Item "--spreadstdin"
 .PD
 Spread input to jobs on stdin (standard input). Read a block of data
 from stdin (standard input) and give one block of data as input to one
@@ -1553,15 +1553,15 @@
 the joblog.
 .Sp
 See also \fB\-\-joblog\fR, \fB\-\-resume\fR, \fB\-\-resume\-failed\fR.
-.IP "\fB\-\-retries\fR \fIn\fR (beta testing)" 9
-.IX Item "--retries n (beta testing)"
+.IP "\fB\-\-retries\fR \fIn\fR" 9
+.IX Item "--retries n"
 If a job fails, retry it on another computer on which it has not
 failed. Do this \fIn\fR times. If there are fewer than \fIn\fR computers in
 \&\fB\-\-sshlogin\fR \s-1GNU \s0\fBparallel\fR will re-use all the computers. 
This is
 useful if some jobs fail for no apparent reason (such as network
 failure).
-.IP "\fB\-\-return\fR \fIfilename\fR (beta testing)" 9
-.IX Item "--return filename (beta testing)"
+.IP "\fB\-\-return\fR \fIfilename\fR" 9
+.IX Item "--return filename"
 Transfer files from remote computers. \fB\-\-return\fR is used with
 \&\fB\-\-sshlogin\fR when the arguments are files on the remote computers. When
 processing is done the file \fIfilename\fR will be transferred
@@ -1829,8 +1829,8 @@
 .IX Item "--skip-first-line"
 Do not use the first line of input (used by \s-1GNU \s0\fBparallel\fR itself
 when called with \fB\-\-shebang\fR).
-.IP "\fB\-\-sql\fR \fI\s-1DBURL\s0\fR (alpha testing)" 9
-.IX Item "--sql DBURL (alpha testing)"
+.IP "\fB\-\-sql\fR \fI\s-1DBURL\s0\fR (beta testing)" 9
+.IX Item "--sql DBURL (beta testing)"
 Submit jobs via \s-1SQL\s0 server. \fI\s-1DBURL\s0\fR must point to a table, 
which will
 contain the same information as \fB\-\-joblog\fR, the values from the input
 sources (stored in columns V1 .. Vn), and the output (stored in
@@ -1865,11 +1865,11 @@
 .Vb 1
 \&  :myalias mysql:///mydb/paralleljobs
 .Ve
-.IP "\fB\-\-sqlandworker\fR \fI\s-1DBURL\s0\fR (alpha testing)" 9
-.IX Item "--sqlandworker DBURL (alpha testing)"
+.IP "\fB\-\-sqlandworker\fR \fI\s-1DBURL\s0\fR (beta testing)" 9
+.IX Item "--sqlandworker DBURL (beta testing)"
 Shorthand for: \fB\-\-sql\fR \fI\s-1DBURL\s0\fR \fB\-\-sqlworker\fR 
\fI\s-1DBURL\s0\fR.
-.IP "\fB\-\-sqlworker\fR \fI\s-1DBURL\s0\fR (alpha testing)" 9
-.IX Item "--sqlworker DBURL (alpha testing)"
+.IP "\fB\-\-sqlworker\fR \fI\s-1DBURL\s0\fR (beta testing)" 9
+.IX Item "--sqlworker DBURL (beta testing)"
 Execute jobs via \s-1SQL\s0 server. Read the input sources variables from the
 table pointed to by \fI\s-1DBURL\s0\fR. The \fIcommand\fR on the command line
 should be the same as given by \fB\-\-sql\fR.
@@ -2076,14 +2076,14 @@
 Print the job to be run on stderr (standard error).
 .Sp
 See also \fB\-v\fR, \fB\-p\fR.
-.IP "\fB\-\-transfer\fR (beta testing)" 9
-.IX Item "--transfer (beta testing)"
+.IP "\fB\-\-transfer\fR" 9
+.IX Item "--transfer"
 Transfer files to remote computers. Shorthand for: \fB\-\-transferfile {}\fR.
-.IP "\fB\-\-transferfile\fR \fIfilename\fR (beta testing)" 9
-.IX Item "--transferfile filename (beta testing)"
+.IP "\fB\-\-transferfile\fR \fIfilename\fR" 9
+.IX Item "--transferfile filename"
 .PD 0
-.IP "\fB\-\-tf\fR \fIfilename\fR (beta testing)" 9
-.IX Item "--tf filename (beta testing)"
+.IP "\fB\-\-tf\fR \fIfilename\fR" 9
+.IX Item "--tf filename"
 .PD
 \&\fB\-\-transferfile\fR is used with \fB\-\-sshlogin\fR to transfer files to 
the
 remote computers. The files will be transferred using \fBrsync\fR and
@@ -2211,11 +2211,11 @@
 .IX Item "-V"
 .PD
 Print the version \s-1GNU \s0\fBparallel\fR and exit.
-.IP "\fB\-\-workdir\fR \fImydir\fR (alpha testing)" 9
-.IX Item "--workdir mydir (alpha testing)"
+.IP "\fB\-\-workdir\fR \fImydir\fR (beta testing)" 9
+.IX Item "--workdir mydir (beta testing)"
 .PD 0
-.IP "\fB\-\-wd\fR \fImydir\fR (alpha testing)" 9
-.IX Item "--wd mydir (alpha testing)"
+.IP "\fB\-\-wd\fR \fImydir\fR (beta testing)" 9
+.IX Item "--wd mydir (beta testing)"
 .PD
 Files transferred using \fB\-\-transferfile\fR and \fB\-\-return\fR will be
 relative to \fImydir\fR on remote computers, and the command will be
@@ -2473,6 +2473,14 @@
 .Vb 1
 \&  cat file_list | parallel \*(Aqif [ ! \-e {} ] ; then echo {}; fi\*(Aq
 .Ve
+.SH "EXAMPLE: Composed command with multiple input sources"
+.IX Header "EXAMPLE: Composed command with multiple input sources"
+You have a dir with files named as 24 hours in 5 minute intervals:
+00:00, 00:05, 00:10 .. 23:55. You want to find the files missing:
+.PP
+.Vb 1
+\&  parallel [ \-f {1}:{2} ] "||" echo {1}:{2} does not exist ::: {00..23} ::: 
{00..55..5}
+.Ve
 .SH "EXAMPLE: Calling Bash functions"
 .IX Header "EXAMPLE: Calling Bash functions"
 If the composed command is longer than a line, it becomes hard to
@@ -4238,15 +4246,17 @@
 .IX Subsection "DIFFERENCES BETWEEN xargs AND GNU Parallel"
 \&\fBxargs\fR offers some of the same possibilities as \s-1GNU 
\s0\fBparallel\fR.
 .PP
-\&\fBxargs\fR deals badly with special characters (such as space, ' and
+\&\fBxargs\fR deals badly with special characters (such as space, \e, ' and
 "). To see the problem try this:
 .PP
-.Vb 5
+.Vb 7
 \&  touch important_file
 \&  touch \*(Aqnot important_file\*(Aq
 \&  ls not* | xargs rm
 \&  mkdir \-p "My brother\*(Aqs 12\e" records"
 \&  ls | xargs rmdir
+\&  touch \*(Aqc:\ewindows\esystem32\eclfs.sys\*(Aq
+\&  echo \*(Aqc:\ewindows\esystem32\eclfs.sys\*(Aq | xargs ls \-l
 .Ve
 .PP
 You can specify \fB\-0\fR, but many input generators are not
@@ -4256,7 +4266,7 @@
 (requires using \fB\-0\fR), \fBfind\fR (requires using \fB\-print0\fR), 
\fBgrep\fR
 (requires user to use \fB\-z\fR or \fB\-Z\fR), \fBsort\fR (requires using 
\fB\-z\fR).
 .PP
-So \s-1GNU \s0\fBparallel\fR's newline separation can be emulated with:
+\&\s-1GNU \s0\fBparallel\fR's newline separation can be emulated with:
 .PP
 \&\fBcat | xargs \-d \*(L"\en\*(R" \-n1 \f(BIcommand\fB\fR
 .PP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel.html 
new/parallel-20160222/src/parallel.html
--- old/parallel-20160122/src/parallel.html     2016-01-19 16:05:04.000000000 
+0100
+++ new/parallel-20160222/src/parallel.html     2016-02-21 22:25:14.000000000 
+0100
@@ -27,6 +27,7 @@
   <li><a href="#EXAMPLE:-Compute-intensive-jobs-and-substitution">EXAMPLE: 
Compute intensive jobs and substitution</a></li>
   <li><a href="#EXAMPLE:-Substitution-and-redirection">EXAMPLE: Substitution 
and redirection</a></li>
   <li><a href="#EXAMPLE:-Composed-commands">EXAMPLE: Composed commands</a></li>
+  <li><a 
href="#EXAMPLE:-Composed-command-with-multiple-input-sources">EXAMPLE: Composed 
command with multiple input sources</a></li>
   <li><a href="#EXAMPLE:-Calling-Bash-functions">EXAMPLE: Calling Bash 
functions</a></li>
   <li><a href="#EXAMPLE:-Function-tester">EXAMPLE: Function tester</a></li>
   <li><a href="#EXAMPLE:-Log-rotate">EXAMPLE: Log rotate</a></li>
@@ -399,7 +400,7 @@
 <dt id="total_jobs"> <b>total_jobs()</b></dt>
 <dd>
 
-<p>number of jobs in total (beta testing)</p>
+<p>number of jobs in total</p>
 
 </dd>
 </dl>
@@ -519,11 +520,11 @@
     2&gt; &gt;(zenity --progress --auto-kill) | wc</code></pre>
 
 </dd>
-<dt id="basefile-file-beta-testing"><b>--basefile</b> <i>file</i> (beta 
testing)</dt>
+<dt id="basefile-file"><b>--basefile</b> <i>file</i></dt>
 <dd>
 
 </dd>
-<dt id="bf-file-beta-testing"><b>--bf</b> <i>file</i> (beta testing)</dt>
+<dt id="bf-file"><b>--bf</b> <i>file</i></dt>
 <dd>
 
 <p><i>file</i> will be transferred to each sshlogin before a jobs is started. 
It will be removed if <b>--cleanup</b> is active. The file may be a script to 
run or some common base data needed for the jobs. Multiple <b>--bf</b> can be 
specified to transfer more basefiles. The <i>file</i> will be transferred the 
same way as <b>--transferfile</b>.</p>
@@ -601,7 +602,7 @@
 <p>See also <b>--fifo</b>.</p>
 
 </dd>
-<dt id="cleanup-beta-testing"><b>--cleanup</b> (beta testing)</dt>
+<dt id="cleanup"><b>--cleanup</b></dt>
 <dd>
 
 <p>Remove transferred files. <b>--cleanup</b> will remove the transferred 
files on the remote computer after processing is done.</p>
@@ -1119,11 +1120,11 @@
 <p>Do not start new jobs on a given computer unless the number of running 
processes on the computer is less than <i>max-load</i>. <i>max-load</i> uses 
the same syntax as <b>--jobs</b>, so <i>100%</i> for one per CPU is a valid 
setting. Only difference is 0 which is interpreted as 0.01.</p>
 
 </dd>
-<dt id="controlmaster-beta-testing"><b>--controlmaster</b> (beta testing)</dt>
+<dt id="controlmaster"><b>--controlmaster</b></dt>
 <dd>
 
 </dd>
-<dt id="M-beta-testing"><b>-M</b> (beta testing)</dt>
+<dt id="M"><b>-M</b></dt>
 <dd>
 
 <p>Use ssh&#39;s ControlMaster to make ssh connections faster. Useful if jobs 
run remote and are very fast to run. This is disabled for sshlogins that 
specify their own ssh command.</p>
@@ -1177,7 +1178,7 @@
 <p>This is useful for running the same command (e.g. uptime) on a list of 
servers.</p>
 
 </dd>
-<dt id="onall-alpha-testing"><b>--onall</b> (alpha testing)</dt>
+<dt id="onall-beta-testing"><b>--onall</b> (beta testing)</dt>
 <dd>
 
 <p>Run all the jobs on all computers given with <b>--sshlogin</b>. GNU 
<b>parallel</b> will log into <b>--jobs</b> number of computers in parallel and 
run one job at a time on the computer. The order of the jobs will not be 
changed, but some computers may finish before others.</p>
@@ -1203,11 +1204,11 @@
 <p>See also: <b>--results</b></p>
 
 </dd>
-<dt id="pipe-beta-testing"><b>--pipe</b> (beta testing)</dt>
+<dt id="pipe"><b>--pipe</b></dt>
 <dd>
 
 </dd>
-<dt id="spreadstdin-beta-testing"><b>--spreadstdin</b> (beta testing)</dt>
+<dt id="spreadstdin"><b>--spreadstdin</b></dt>
 <dd>
 
 <p>Spread input to jobs on stdin (standard input). Read a block of data from 
stdin (standard input) and give one block of data as input to one job.</p>
@@ -1532,13 +1533,13 @@
 <p>See also <b>--joblog</b>, <b>--resume</b>, <b>--resume-failed</b>.</p>
 
 </dd>
-<dt id="retries-n-beta-testing"><b>--retries</b> <i>n</i> (beta testing)</dt>
+<dt id="retries-n"><b>--retries</b> <i>n</i></dt>
 <dd>
 
 <p>If a job fails, retry it on another computer on which it has not failed. Do 
this <i>n</i> times. If there are fewer than <i>n</i> computers in 
<b>--sshlogin</b> GNU <b>parallel</b> will re-use all the computers. This is 
useful if some jobs fail for no apparent reason (such as network failure).</p>
 
 </dd>
-<dt id="return-filename-beta-testing"><b>--return</b> <i>filename</i> (beta 
testing)</dt>
+<dt id="return-filename"><b>--return</b> <i>filename</i></dt>
 <dd>
 
 <p>Transfer files from remote computers. <b>--return</b> is used with 
<b>--sshlogin</b> when the arguments are files on the remote computers. When 
processing is done the file <i>filename</i> will be transferred from the remote 
computer using <b>rsync</b> and will be put relative to the default login dir. 
E.g.</p>
@@ -1775,7 +1776,7 @@
 <p>Do not use the first line of input (used by GNU <b>parallel</b> itself when 
called with <b>--shebang</b>).</p>
 
 </dd>
-<dt id="sql-DBURL-alpha-testing"><b>--sql</b> <i>DBURL</i> (alpha testing)</dt>
+<dt id="sql-DBURL-beta-testing"><b>--sql</b> <i>DBURL</i> (beta testing)</dt>
 <dd>
 
 <p>Submit jobs via SQL server. <i>DBURL</i> must point to a table, which will 
contain the same information as <b>--joblog</b>, the values from the input 
sources (stored in columns V1 .. Vn), and the output (stored in columns Stdout 
and Stderr).</p>
@@ -1802,13 +1803,13 @@
 <pre><code>  :myalias mysql:///mydb/paralleljobs</code></pre>
 
 </dd>
-<dt id="sqlandworker-DBURL-alpha-testing"><b>--sqlandworker</b> <i>DBURL</i> 
(alpha testing)</dt>
+<dt id="sqlandworker-DBURL-beta-testing"><b>--sqlandworker</b> <i>DBURL</i> 
(beta testing)</dt>
 <dd>
 
 <p>Shorthand for: <b>--sql</b> <i>DBURL</i> <b>--sqlworker</b> 
<i>DBURL</i>.</p>
 
 </dd>
-<dt id="sqlworker-DBURL-alpha-testing"><b>--sqlworker</b> <i>DBURL</i> (alpha 
testing)</dt>
+<dt id="sqlworker-DBURL-beta-testing"><b>--sqlworker</b> <i>DBURL</i> (beta 
testing)</dt>
 <dd>
 
 <p>Execute jobs via SQL server. Read the input sources variables from the 
table pointed to by <i>DBURL</i>. The <i>command</i> on the command line should 
be the same as given by <b>--sql</b>.</p>
@@ -2007,17 +2008,17 @@
 <p>See also <b>-v</b>, <b>-p</b>.</p>
 
 </dd>
-<dt id="transfer-beta-testing"><b>--transfer</b> (beta testing)</dt>
+<dt id="transfer"><b>--transfer</b></dt>
 <dd>
 
 <p>Transfer files to remote computers. Shorthand for: <b>--transferfile 
{}</b>.</p>
 
 </dd>
-<dt id="transferfile-filename-beta-testing"><b>--transferfile</b> 
<i>filename</i> (beta testing)</dt>
+<dt id="transferfile-filename"><b>--transferfile</b> <i>filename</i></dt>
 <dd>
 
 </dd>
-<dt id="tf-filename-beta-testing"><b>--tf</b> <i>filename</i> (beta 
testing)</dt>
+<dt id="tf-filename"><b>--tf</b> <i>filename</i></dt>
 <dd>
 
 <p><b>--transferfile</b> is used with <b>--sshlogin</b> to transfer files to 
the remote computers. The files will be transferred using <b>rsync</b> and will 
be put relative to the default work dir. If the path contains /./ the remaining 
path will be relative to the work dir. E.g.</p>
@@ -2147,11 +2148,11 @@
 <p>Print the version GNU <b>parallel</b> and exit.</p>
 
 </dd>
-<dt id="workdir-mydir-alpha-testing"><b>--workdir</b> <i>mydir</i> (alpha 
testing)</dt>
+<dt id="workdir-mydir-beta-testing"><b>--workdir</b> <i>mydir</i> (beta 
testing)</dt>
 <dd>
 
 </dd>
-<dt id="wd-mydir-alpha-testing"><b>--wd</b> <i>mydir</i> (alpha testing)</dt>
+<dt id="wd-mydir-beta-testing"><b>--wd</b> <i>mydir</i> (beta testing)</dt>
 <dd>
 
 <p>Files transferred using <b>--transferfile</b> and <b>--return</b> will be 
relative to <i>mydir</i> on remote computers, and the command will be executed 
in the dir <i>mydir</i>.</p>
@@ -2342,6 +2343,12 @@
 
 <pre><code>  cat file_list | parallel &#39;if [ ! -e {} ] ; then echo {}; 
fi&#39;</code></pre>
 
+<h1 id="EXAMPLE:-Composed-command-with-multiple-input-sources">EXAMPLE: 
Composed command with multiple input sources</h1>
+
+<p>You have a dir with files named as 24 hours in 5 minute intervals: 00:00, 
00:05, 00:10 .. 23:55. You want to find the files missing:</p>
+
+<pre><code>  parallel [ -f {1}:{2} ] &quot;||&quot; echo {1}:{2} does not 
exist ::: {00..23} ::: {00..55..5}</code></pre>
+
 <h1 id="EXAMPLE:-Calling-Bash-functions">EXAMPLE: Calling Bash functions</h1>
 
 <p>If the composed command is longer than a line, it becomes hard to read. In 
Bash you can use functions. Just remember to <b>export -f</b> the function.</p>
@@ -3579,17 +3586,19 @@
 
 <p><b>xargs</b> offers some of the same possibilities as GNU 
<b>parallel</b>.</p>
 
-<p><b>xargs</b> deals badly with special characters (such as space, &#39; and 
&quot;). To see the problem try this:</p>
+<p><b>xargs</b> deals badly with special characters (such as space, \, &#39; 
and &quot;). To see the problem try this:</p>
 
 <pre><code>  touch important_file
   touch &#39;not important_file&#39;
   ls not* | xargs rm
   mkdir -p &quot;My brother&#39;s 12\&quot; records&quot;
-  ls | xargs rmdir</code></pre>
+  ls | xargs rmdir
+  touch &#39;c:\windows\system32\clfs.sys&#39;
+  echo &#39;c:\windows\system32\clfs.sys&#39; | xargs ls -l</code></pre>
 
 <p>You can specify <b>-0</b>, but many input generators are not optimized for 
using <b>NUL</b> as separator but are optimized for <b>newline</b> as 
separator. E.g <b>head</b>, <b>tail</b>, <b>awk</b>, <b>ls</b>, <b>echo</b>, 
<b>sed</b>, <b>tar -v</b>, <b>perl</b> (<b>-0</b> and \0 instead of \n), 
<b>locate</b> (requires using <b>-0</b>), <b>find</b> (requires using 
<b>-print0</b>), <b>grep</b> (requires user to use <b>-z</b> or <b>-Z</b>), 
<b>sort</b> (requires using <b>-z</b>).</p>
 
-<p>So GNU <b>parallel</b>&#39;s newline separation can be emulated with:</p>
+<p>GNU <b>parallel</b>&#39;s newline separation can be emulated with:</p>
 
 <p><b>cat | xargs -d &quot;\n&quot; -n1 <i>command</i></b></p>
 
Files old/parallel-20160122/src/parallel.pdf and 
new/parallel-20160222/src/parallel.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel.pod 
new/parallel-20160222/src/parallel.pod
--- old/parallel-20160122/src/parallel.pod      2016-01-19 16:01:43.000000000 
+0100
+++ new/parallel-20160222/src/parallel.pod      2016-02-21 22:24:24.000000000 
+0100
@@ -322,7 +322,7 @@
 
 =item Z<> B<total_jobs()>
 
-number of jobs in total (beta testing)
+number of jobs in total
 
 =back
 
@@ -452,9 +452,9 @@
     2> >(zenity --progress --auto-kill) | wc
 
 
-=item B<--basefile> I<file> (beta testing)
+=item B<--basefile> I<file>
 
-=item B<--bf> I<file> (beta testing)
+=item B<--bf> I<file>
 
 I<file> will be transferred to each sshlogin before a jobs is
 started. It will be removed if B<--cleanup> is active. The file may be
@@ -540,7 +540,7 @@
 See also B<--fifo>.
 
 
-=item B<--cleanup> (beta testing)
+=item B<--cleanup>
 
 Remove transferred files. B<--cleanup> will remove the transferred
 files on the remote computer after processing is done.
@@ -1060,9 +1060,9 @@
 setting. Only difference is 0 which is interpreted as 0.01.
 
 
-=item B<--controlmaster> (beta testing)
+=item B<--controlmaster>
 
-=item B<-M> (beta testing)
+=item B<-M>
 
 Use ssh's ControlMaster to make ssh connections faster. Useful if jobs
 run remote and are very fast to run. This is disabled for sshlogins
@@ -1136,7 +1136,7 @@
 servers.
 
 
-=item B<--onall> (alpha testing)
+=item B<--onall> (beta testing)
 
 Run all the jobs on all computers given with B<--sshlogin>. GNU
 B<parallel> will log into B<--jobs> number of computers in parallel
@@ -1161,9 +1161,9 @@
 
 See also: B<--results>
 
-=item B<--pipe> (beta testing)
+=item B<--pipe>
 
-=item B<--spreadstdin> (beta testing)
+=item B<--spreadstdin>
 
 Spread input to jobs on stdin (standard input). Read a block of data
 from stdin (standard input) and give one block of data as input to one
@@ -1524,7 +1524,7 @@
 See also B<--joblog>, B<--resume>, B<--resume-failed>.
 
 
-=item B<--retries> I<n> (beta testing)
+=item B<--retries> I<n>
 
 If a job fails, retry it on another computer on which it has not
 failed. Do this I<n> times. If there are fewer than I<n> computers in
@@ -1533,7 +1533,7 @@
 failure).
 
 
-=item B<--return> I<filename> (beta testing)
+=item B<--return> I<filename>
 
 Transfer files from remote computers. B<--return> is used with
 B<--sshlogin> when the arguments are files on the remote computers. When
@@ -1791,7 +1791,7 @@
 when called with B<--shebang>).
 
 
-=item B<--sql> I<DBURL> (alpha testing)
+=item B<--sql> I<DBURL> (beta testing)
 
 Submit jobs via SQL server. I<DBURL> must point to a table, which will
 contain the same information as B<--joblog>, the values from the input
@@ -1823,12 +1823,12 @@
   :myalias mysql:///mydb/paralleljobs
 
 
-=item B<--sqlandworker> I<DBURL> (alpha testing)
+=item B<--sqlandworker> I<DBURL> (beta testing)
 
 Shorthand for: B<--sql> I<DBURL> B<--sqlworker> I<DBURL>.
 
 
-=item B<--sqlworker> I<DBURL> (alpha testing)
+=item B<--sqlworker> I<DBURL> (beta testing)
 
 Execute jobs via SQL server. Read the input sources variables from the
 table pointed to by I<DBURL>. The I<command> on the command line
@@ -2050,14 +2050,14 @@
 See also B<-v>, B<-p>.
 
 
-=item B<--transfer> (beta testing)
+=item B<--transfer>
 
 Transfer files to remote computers. Shorthand for: B<--transferfile {}>.
 
 
-=item B<--transferfile> I<filename> (beta testing)
+=item B<--transferfile> I<filename>
 
-=item B<--tf> I<filename> (beta testing)
+=item B<--tf> I<filename>
 
 B<--transferfile> is used with B<--sshlogin> to transfer files to the
 remote computers. The files will be transferred using B<rsync> and
@@ -2187,9 +2187,9 @@
 Print the version GNU B<parallel> and exit.
 
 
-=item B<--workdir> I<mydir> (alpha testing)
+=item B<--workdir> I<mydir> (beta testing)
 
-=item B<--wd> I<mydir> (alpha testing)
+=item B<--wd> I<mydir> (beta testing)
 
 Files transferred using B<--transferfile> and B<--return> will be
 relative to I<mydir> on remote computers, and the command will be
@@ -2420,6 +2420,14 @@
   cat file_list | parallel 'if [ ! -e {} ] ; then echo {}; fi'
 
 
+=head1 EXAMPLE: Composed command with multiple input sources
+
+You have a dir with files named as 24 hours in 5 minute intervals:
+00:00, 00:05, 00:10 .. 23:55. You want to find the files missing:
+
+  parallel [ -f {1}:{2} ] "||" echo {1}:{2} does not exist ::: {00..23} ::: 
{00..55..5}
+
+
 =head1 EXAMPLE: Calling Bash functions
 
 If the composed command is longer than a line, it becomes hard to
@@ -4012,7 +4020,7 @@
 
 B<xargs> offers some of the same possibilities as GNU B<parallel>.
 
-B<xargs> deals badly with special characters (such as space, ' and
+B<xargs> deals badly with special characters (such as space, \, ' and
 "). To see the problem try this:
 
   touch important_file
@@ -4020,6 +4028,8 @@
   ls not* | xargs rm
   mkdir -p "My brother's 12\" records"
   ls | xargs rmdir
+  touch 'c:\windows\system32\clfs.sys'
+  echo 'c:\windows\system32\clfs.sys' | xargs ls -l
 
 You can specify B<-0>, but many input generators are not
 optimized for using B<NUL> as separator but are optimized for
@@ -4028,7 +4038,7 @@
 (requires using B<-0>), B<find> (requires using B<-print0>), B<grep>
 (requires user to use B<-z> or B<-Z>), B<sort> (requires using B<-z>).
 
-So GNU B<parallel>'s newline separation can be emulated with:
+GNU B<parallel>'s newline separation can be emulated with:
 
 B<cat | xargs -d "\n" -n1 I<command>>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel.texi 
new/parallel-20160222/src/parallel.texi
--- old/parallel-20160122/src/parallel.texi     2016-01-19 16:05:21.000000000 
+0100
+++ new/parallel-20160222/src/parallel.texi     2016-02-21 22:25:41.000000000 
+0100
@@ -20,6 +20,7 @@
 * EXAMPLE@asis{:} Compute intensive jobs and substitution::
 * EXAMPLE@asis{:} Substitution and redirection::
 * EXAMPLE@asis{:} Composed commands::
+* EXAMPLE@asis{:} Composed command with multiple input sources::
 * EXAMPLE@asis{:} Calling Bash functions::
 * EXAMPLE@asis{:} Function tester::
 * EXAMPLE@asis{:} Log rotate::
@@ -419,7 +420,7 @@
 @item @strong{total_jobs()}
 @anchor{@strong{total_jobs()}}
 
-number of jobs in total (beta testing)
+number of jobs in total
 
 @end table
 
@@ -558,11 +559,11 @@
     2> >(zenity --progress --auto-kill) | wc
 @end verbatim
 
-@item @strong{--basefile} @emph{file} (beta testing)
-@anchor{@strong{--basefile} @emph{file} (beta testing)}
+@item @strong{--basefile} @emph{file}
+@anchor{@strong{--basefile} @emph{file}}
 
-@item @strong{--bf} @emph{file} (beta testing)
-@anchor{@strong{--bf} @emph{file} (beta testing)}
+@item @strong{--bf} @emph{file}
+@anchor{@strong{--bf} @emph{file}}
 
 @emph{file} will be transferred to each sshlogin before a jobs is
 started. It will be removed if @strong{--cleanup} is active. The file may be
@@ -651,8 +652,8 @@
 
 See also @strong{--fifo}.
 
-@item @strong{--cleanup} (beta testing)
-@anchor{@strong{--cleanup} (beta testing)}
+@item @strong{--cleanup}
+@anchor{@strong{--cleanup}}
 
 Remove transferred files. @strong{--cleanup} will remove the transferred
 files on the remote computer after processing is done.
@@ -1218,11 +1219,11 @@
 the same syntax as @strong{--jobs}, so @emph{100%} for one per CPU is a valid
 setting. Only difference is 0 which is interpreted as 0.01.
 
-@item @strong{--controlmaster} (beta testing)
-@anchor{@strong{--controlmaster} (beta testing)}
+@item @strong{--controlmaster}
+@anchor{@strong{--controlmaster}}
 
-@item @strong{-M} (beta testing)
-@anchor{@strong{-M} (beta testing)}
+@item @strong{-M}
+@anchor{@strong{-M}}
 
 Use ssh's ControlMaster to make ssh connections faster. Useful if jobs
 run remote and are very fast to run. This is disabled for sshlogins
@@ -1295,8 +1296,8 @@
 This is useful for running the same command (e.g. uptime) on a list of
 servers.
 
-@item @strong{--onall} (alpha testing)
-@anchor{@strong{--onall} (alpha testing)}
+@item @strong{--onall} (beta testing)
+@anchor{@strong{--onall} (beta testing)}
 
 Run all the jobs on all computers given with @strong{--sshlogin}. GNU
 @strong{parallel} will log into @strong{--jobs} number of computers in parallel
@@ -1323,11 +1324,11 @@
 
 See also: @strong{--results}
 
-@item @strong{--pipe} (beta testing)
-@anchor{@strong{--pipe} (beta testing)}
+@item @strong{--pipe}
+@anchor{@strong{--pipe}}
 
-@item @strong{--spreadstdin} (beta testing)
-@anchor{@strong{--spreadstdin} (beta testing)}
+@item @strong{--spreadstdin}
+@anchor{@strong{--spreadstdin}}
 
 Spread input to jobs on stdin (standard input). Read a block of data
 from stdin (standard input) and give one block of data as input to one
@@ -1710,8 +1711,8 @@
 
 See also @strong{--joblog}, @strong{--resume}, @strong{--resume-failed}.
 
-@item @strong{--retries} @emph{n} (beta testing)
-@anchor{@strong{--retries} @emph{n} (beta testing)}
+@item @strong{--retries} @emph{n}
+@anchor{@strong{--retries} @emph{n}}
 
 If a job fails, retry it on another computer on which it has not
 failed. Do this @emph{n} times. If there are fewer than @emph{n} computers in
@@ -1719,8 +1720,8 @@
 useful if some jobs fail for no apparent reason (such as network
 failure).
 
-@item @strong{--return} @emph{filename} (beta testing)
-@anchor{@strong{--return} @emph{filename} (beta testing)}
+@item @strong{--return} @emph{filename}
+@anchor{@strong{--return} @emph{filename}}
 
 Transfer files from remote computers. @strong{--return} is used with
 @strong{--sshlogin} when the arguments are files on the remote computers. When
@@ -2011,8 +2012,8 @@
 Do not use the first line of input (used by GNU @strong{parallel} itself
 when called with @strong{--shebang}).
 
-@item @strong{--sql} @emph{DBURL} (alpha testing)
-@anchor{@strong{--sql} @emph{DBURL} (alpha testing)}
+@item @strong{--sql} @emph{DBURL} (beta testing)
+@anchor{@strong{--sql} @emph{DBURL} (beta testing)}
 
 Submit jobs via SQL server. @emph{DBURL} must point to a table, which will
 contain the same information as @strong{--joblog}, the values from the input
@@ -2049,13 +2050,13 @@
   :myalias mysql:///mydb/paralleljobs
 @end verbatim
 
-@item @strong{--sqlandworker} @emph{DBURL} (alpha testing)
-@anchor{@strong{--sqlandworker} @emph{DBURL} (alpha testing)}
+@item @strong{--sqlandworker} @emph{DBURL} (beta testing)
+@anchor{@strong{--sqlandworker} @emph{DBURL} (beta testing)}
 
 Shorthand for: @strong{--sql} @emph{DBURL} @strong{--sqlworker} @emph{DBURL}.
 
-@item @strong{--sqlworker} @emph{DBURL} (alpha testing)
-@anchor{@strong{--sqlworker} @emph{DBURL} (alpha testing)}
+@item @strong{--sqlworker} @emph{DBURL} (beta testing)
+@anchor{@strong{--sqlworker} @emph{DBURL} (beta testing)}
 
 Execute jobs via SQL server. Read the input sources variables from the
 table pointed to by @emph{DBURL}. The @emph{command} on the command line
@@ -2289,16 +2290,16 @@
 
 See also @strong{-v}, @strong{-p}.
 
-@item @strong{--transfer} (beta testing)
-@anchor{@strong{--transfer} (beta testing)}
+@item @strong{--transfer}
+@anchor{@strong{--transfer}}
 
 Transfer files to remote computers. Shorthand for: @strong{--transferfile 
@{@}}.
 
-@item @strong{--transferfile} @emph{filename} (beta testing)
-@anchor{@strong{--transferfile} @emph{filename} (beta testing)}
+@item @strong{--transferfile} @emph{filename}
+@anchor{@strong{--transferfile} @emph{filename}}
 
-@item @strong{--tf} @emph{filename} (beta testing)
-@anchor{@strong{--tf} @emph{filename} (beta testing)}
+@item @strong{--tf} @emph{filename}
+@anchor{@strong{--tf} @emph{filename}}
 
 @strong{--transferfile} is used with @strong{--sshlogin} to transfer files to 
the
 remote computers. The files will be transferred using @strong{rsync} and
@@ -2444,11 +2445,11 @@
 
 Print the version GNU @strong{parallel} and exit.
 
-@item @strong{--workdir} @emph{mydir} (alpha testing)
-@anchor{@strong{--workdir} @emph{mydir} (alpha testing)}
+@item @strong{--workdir} @emph{mydir} (beta testing)
+@anchor{@strong{--workdir} @emph{mydir} (beta testing)}
 
-@item @strong{--wd} @emph{mydir} (alpha testing)
-@anchor{@strong{--wd} @emph{mydir} (alpha testing)}
+@item @strong{--wd} @emph{mydir} (beta testing)
+@anchor{@strong{--wd} @emph{mydir} (beta testing)}
 
 Files transferred using @strong{--transferfile} and @strong{--return} will be
 relative to @emph{mydir} on remote computers, and the command will be
@@ -2730,6 +2731,16 @@
   cat file_list | parallel 'if [ ! -e {} ] ; then echo {}; fi'
 @end verbatim
 
+@node EXAMPLE: Composed command with multiple input sources
+@chapter EXAMPLE: Composed command with multiple input sources
+
+You have a dir with files named as 24 hours in 5 minute intervals:
+00:00, 00:05, 00:10 .. 23:55. You want to find the files missing:
+
+@verbatim
+  parallel [ -f {1}:{2} ] "||" echo {1}:{2} does not exist ::: {00..23} ::: 
{00..55..5}
+@end verbatim
+
 @node EXAMPLE: Calling Bash functions
 @chapter EXAMPLE: Calling Bash functions
 
@@ -4652,7 +4663,7 @@
 
 @strong{xargs} offers some of the same possibilities as GNU @strong{parallel}.
 
-@strong{xargs} deals badly with special characters (such as space, ' and
+@strong{xargs} deals badly with special characters (such as space, \, ' and
 "). To see the problem try this:
 
 @verbatim
@@ -4661,6 +4672,8 @@
   ls not* | xargs rm
   mkdir -p "My brother's 12\" records"
   ls | xargs rmdir
+  touch 'c:\windows\system32\clfs.sys'
+  echo 'c:\windows\system32\clfs.sys' | xargs ls -l
 @end verbatim
 
 You can specify @strong{-0}, but many input generators are not
@@ -4670,7 +4683,7 @@
 (requires using @strong{-0}), @strong{find} (requires using @strong{-print0}), 
@strong{grep}
 (requires user to use @strong{-z} or @strong{-Z}), @strong{sort} (requires 
using @strong{-z}).
 
-So GNU @strong{parallel}'s newline separation can be emulated with:
+GNU @strong{parallel}'s newline separation can be emulated with:
 
 @strong{cat | xargs -d "\n" -n1 @emph{command}}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel_design.7 
new/parallel-20160222/src/parallel_design.7
--- old/parallel-20160122/src/parallel_design.7 2016-01-19 16:05:04.000000000 
+0100
+++ new/parallel-20160222/src/parallel_design.7 2016-02-18 17:14:45.000000000 
+0100
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "PARALLEL_DESIGN 7"
-.TH PARALLEL_DESIGN 7 "2016-01-19" "20160101" "parallel"
+.TH PARALLEL_DESIGN 7 "2016-02-14" "20160122" "parallel"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -820,8 +820,8 @@
 .IX Subsection "Computation of load"
 Contrary to the obvious \fB\-\-load\fR does not use load average. This is
 due to load average rising too slowly. Instead it uses \fBps\fR to list
-the number of jobs in running or blocked state (state D, O or R). This
-gives an instant load.
+the number of threads in running or blocked state (state D, O or
+R). This gives an instant load.
 .PP
 As remote calculation of load can be slow, a process is spawned to run
 \&\fBps\fR and put the result in a file, which is then used next time.
@@ -870,6 +870,9 @@
 Will that require 2x record size memory?
 .PP
 Will that require 2x block size memory?
+.SS "Logo"
+.IX Subsection "Logo"
+The logo is inpired by the Cafe Wall illusion. The font is DejaVu Sans.
 .SH "Historical decisions"
 .IX Header "Historical decisions"
 .SS "\-\-tollef"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel_design.html 
new/parallel-20160222/src/parallel_design.html
--- old/parallel-20160122/src/parallel_design.html      2016-01-19 
16:05:04.000000000 +0100
+++ new/parallel-20160222/src/parallel_design.html      2016-02-21 
22:25:14.000000000 +0100
@@ -55,6 +55,7 @@
       <li><a href="#Multiple-processes-working-together">Multiple processes 
working together</a></li>
       <li><a 
href="#Transferring-of-variables-and-functions-from-zsh">Transferring of 
variables and functions from zsh</a></li>
       <li><a href="#rrs-on-remote-using-a-perl-wrapper">--rrs on remote using 
a perl wrapper</a></li>
+      <li><a href="#Logo">Logo</a></li>
     </ul>
   </li>
   <li><a href="#Historical-decisions">Historical decisions</a>
@@ -574,7 +575,7 @@
 
 <h2 id="Computation-of-load">Computation of load</h2>
 
-<p>Contrary to the obvious <b>--load</b> does not use load average. This is 
due to load average rising too slowly. Instead it uses <b>ps</b> to list the 
number of jobs in running or blocked state (state D, O or R). This gives an 
instant load.</p>
+<p>Contrary to the obvious <b>--load</b> does not use load average. This is 
due to load average rising too slowly. Instead it uses <b>ps</b> to list the 
number of threads in running or blocked state (state D, O or R). This gives an 
instant load.</p>
 
 <p>As remote calculation of load can be slow, a process is spawned to run 
<b>ps</b> and put the result in a file, which is then used next time.</p>
 
@@ -612,6 +613,10 @@
 
 <p>Will that require 2x block size memory?</p>
 
+<h2 id="Logo">Logo</h2>
+
+<p>The logo is inpired by the Cafe Wall illusion. The font is DejaVu Sans.</p>
+
 <h1 id="Historical-decisions">Historical decisions</h1>
 
 <h2 id="tollef">--tollef</h2>
Files old/parallel-20160122/src/parallel_design.pdf and 
new/parallel-20160222/src/parallel_design.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel_design.pod 
new/parallel-20160222/src/parallel_design.pod
--- old/parallel-20160122/src/parallel_design.pod       2016-01-19 
16:01:43.000000000 +0100
+++ new/parallel-20160222/src/parallel_design.pod       2016-02-14 
20:15:21.000000000 +0100
@@ -754,8 +754,8 @@
 
 Contrary to the obvious B<--load> does not use load average. This is
 due to load average rising too slowly. Instead it uses B<ps> to list
-the number of jobs in running or blocked state (state D, O or R). This
-gives an instant load.
+the number of threads in running or blocked state (state D, O or
+R). This gives an instant load.
 
 As remote calculation of load can be slow, a process is spawned to run
 B<ps> and put the result in a file, which is then used next time.
@@ -816,6 +816,10 @@
 
 Will that require 2x block size memory?
 
+=head2 Logo
+
+The logo is inpired by the Cafe Wall illusion. The font is DejaVu Sans.
+
 
 =head1 Historical decisions
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel_design.texi 
new/parallel-20160222/src/parallel_design.texi
--- old/parallel-20160122/src/parallel_design.texi      2016-01-19 
16:05:08.000000000 +0100
+++ new/parallel-20160222/src/parallel_design.texi      2016-02-18 
17:15:00.000000000 +0100
@@ -823,8 +823,8 @@
 
 Contrary to the obvious @strong{--load} does not use load average. This is
 due to load average rising too slowly. Instead it uses @strong{ps} to list
-the number of jobs in running or blocked state (state D, O or R). This
-gives an instant load.
+the number of threads in running or blocked state (state D, O or
+R). This gives an instant load.
 
 As remote calculation of load can be slow, a process is spawned to run
 @strong{ps} and put the result in a file, which is then used next time.
@@ -865,6 +865,7 @@
 * Multiple processes working together::
 * Transferring of variables and functions from zsh::
 * --rrs on remote using a perl wrapper::
+* Logo::
 @end menu
 
 @node Multiple processes working together
@@ -891,6 +892,11 @@
 
 Will that require 2x block size memory?
 
+@node Logo
+@section Logo
+
+The logo is inpired by the Cafe Wall illusion. The font is DejaVu Sans.
+
 @node Historical decisions
 @chapter Historical decisions
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel_tutorial.7 
new/parallel-20160222/src/parallel_tutorial.7
--- old/parallel-20160122/src/parallel_tutorial.7       2016-01-19 
16:05:03.000000000 +0100
+++ new/parallel-20160222/src/parallel_tutorial.7       2016-02-19 
21:58:30.000000000 +0100
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "PARALLEL_TUTORIAL 7"
-.TH PARALLEL_TUTORIAL 7 "2016-01-19" "20160101" "parallel"
+.TH PARALLEL_TUTORIAL 7 "2016-02-19" "20160122" "parallel"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -744,6 +744,12 @@
 \&  parallel echo {} shell quoted is {= \*(Aq$_=Q($_)\*(Aq =} ::: 
\*(Aq*/!#$\*(Aq
 .Ve
 .PP
+Output:
+.PP
+.Vb 1
+\&  */!#$ shell quoted is \e*/\e!\e#\e$
+.Ve
+.PP
 \&\fB\f(CB$job\fB\-\fR>\fB\f(BIskip()\fB\fR skips the job:
 .PP
 .Vb 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel_tutorial.html 
new/parallel-20160222/src/parallel_tutorial.html
--- old/parallel-20160122/src/parallel_tutorial.html    2016-01-19 
16:05:04.000000000 +0100
+++ new/parallel-20160222/src/parallel_tutorial.html    2016-02-21 
22:25:14.000000000 +0100
@@ -590,6 +590,10 @@
 
 <pre><code>  parallel echo {} shell quoted is {= &#39;$_=Q($_)&#39; =} ::: 
&#39;*/!#$&#39;</code></pre>
 
+<p>Output:</p>
+
+<pre><code>  */!#$ shell quoted is \*/\!\#\$</code></pre>
+
 <p><b>$job-</b>&gt;<b>skip()</b> skips the job:</p>
 
 <pre><code>  parallel echo {= &#39;if($_==3) { $job-&gt;skip() }&#39; =} ::: 
{1..5}</code></pre>
Files old/parallel-20160122/src/parallel_tutorial.pdf and 
new/parallel-20160222/src/parallel_tutorial.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel_tutorial.pod 
new/parallel-20160222/src/parallel_tutorial.pod
--- old/parallel-20160122/src/parallel_tutorial.pod     2016-01-19 
16:01:43.000000000 +0100
+++ new/parallel-20160222/src/parallel_tutorial.pod     2016-02-19 
19:36:06.000000000 +0100
@@ -477,6 +477,10 @@
 
   parallel echo {} shell quoted is {= '$_=Q($_)' =} ::: '*/!#$'
 
+Output:
+
+  */!#$ shell quoted is \*/\!\#\$
+
 B<$job->>B<skip()> skips the job:
 
   parallel echo {= 'if($_==3) { $job->skip() }' =} ::: {1..5}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/parallel_tutorial.texi 
new/parallel-20160222/src/parallel_tutorial.texi
--- old/parallel-20160122/src/parallel_tutorial.texi    2016-01-19 
16:05:10.000000000 +0100
+++ new/parallel-20160222/src/parallel_tutorial.texi    2016-02-19 
21:58:34.000000000 +0100
@@ -711,6 +711,12 @@
   parallel echo {} shell quoted is {= '$_=Q($_)' =} ::: '*/!#$'
 @end verbatim
 
+Output:
+
+@verbatim
+  */!#$ shell quoted is \*/\!\#\$
+@end verbatim
+
 @strong{$job-}>@strong{skip()} skips the job:
 
 @verbatim
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/sem 
new/parallel-20160222/src/sem
--- old/parallel-20160122/src/sem       2016-01-23 09:52:28.000000000 +0100
+++ new/parallel-20160222/src/sem       2016-02-21 22:24:56.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env perl
 
-# Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015 Ole Tange
-# and Free Software Foundation, Inc.
+# Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016
+# Ole Tange and Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -1176,12 +1176,13 @@
 
 sub init_globals {
     # Defaults:
-    $Global::version = 20160122;
+    $Global::version = 20160222;
     $Global::progname = 'parallel';
     $Global::infinity = 2**31;
     $Global::debug = 0;
     $Global::verbose = 0;
     $Global::quoting = 0;
+    $Global::total_completed = 0;
     # Read only table with default --rpl values
     %Global::replace =
        (
@@ -1460,6 +1461,7 @@
                        if(/$joblog_regexp/o) {
                            # This is 30% faster than set_job_already_run($1);
                            vec($Global::job_already_run,($1||0),1) = 1;
+                           $Global::total_completed++;
                            $group[$1-1] = "true";
                        } elsif(/(\d+)\s+\S+(\s+[-0-9.]+){6}\s+(.*)$/) {
                            $group[$1-1] = $3
@@ -1495,6 +1497,7 @@
                        if(/$joblog_regexp/o) {
                            # This is 30% faster than set_job_already_run($1);
                            vec($Global::job_already_run,($1||0),1) = 1;
+                           $Global::total_completed++;
                        } elsif(not /\d+\s+[^\s]+\s+([-0-9.]+\s+){6}/) {
                            ::error("Format of '$opt::joblog' is wrong: $_");
                            ::wait_and_exit(255);
@@ -2026,7 +2029,6 @@
     # Returns: N/A
     $Global::total_running = 0;
     $Global::total_started = 0;
-    $Global::total_completed = 0;
     $Global::tty_taken = 0;
     $SIG{USR1} = \&list_running_jobs;
     $SIG{USR2} = \&toggle_progress;
@@ -3601,8 +3603,8 @@
     # Returns: N/A
     print join("\n",
                "GNU $Global::progname $Global::version",
-               "Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015 Ole 
Tange",
-              "and Free Software Foundation, Inc.",
+               "Copyright (C) 
2007,2008,2009,2010,2011,2012,2013,2014,2015,2016",
+              "Ole Tange and Free Software Foundation, Inc.",
                "License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>",
                "This is free software: you are free to change and redistribute 
it.",
                "GNU $Global::progname comes with no warranty.",
@@ -4713,10 +4715,12 @@
            # svr5 => sysv
            # ultrix => ps -ax | awk '{print $3,$5}'
            # unixware => ps -el|awk '{print $2,$14,$15}'
-           my $ps = q{
+           my $ps = ::spacefree(1,q{
                $sysv="ps -ef -o s -o comm";
                $sysv2="ps -ef -o state -o comm";
                $bsd="ps ax -o state,command";
+               # Treat threads as processes
+               $bsd2="ps axH -o state,command";
                $psel="ps -el|awk '{ print \$2,\$14,\$15 }'";
                $cygwin=q{ perl -ne 'close STDERR; /Name/ and print"\n";
                     /(Name|Pid|Ppid|State):\s+(\S+)/ and print "$2\t";' 
/proc/*/status |
@@ -4728,11 +4732,11 @@
                    'darwin' => $bsd,
                    'dec_osf' => $sysv2,
                    'dragonfly' => $bsd,
-                   'freebsd' => $bsd,
+                   'freebsd' => $bsd2,
                    'gnu' => $bsd,
                    'hpux' => $psel,
                    'irix' => $sysv2,
-                   'linux' => $bsd,
+                   'linux' => $bsd2,
                    'minix' => "ps el|awk '{print \$1,\$11}'",
                    'mirbsd' => $bsd,
                    'msys' => $sysv,
@@ -4745,8 +4749,7 @@
                    'ultrix' => "ps -ax | awk '{print \$3,\$5}'",
                    );
                print `$ps{$^O}`;
-           };
-           $ps =~ s/[ \t\n]+/ /g;
+           });
            $cmd = "perl -e ".::shell_quote_scalar($ps);
        }
        return $cmd;
@@ -7917,6 +7920,7 @@
     my $self = shift;
     my ($fdno,$in_fh,$out_fd) = @_;
     my $buf;
+    local $/ = "\n";
     close $self->fh($fdno,"w");
     if($? and $opt::compress) {
        ::error($opt::compress_program." failed.");
@@ -9288,7 +9292,7 @@
     my $class = shift;
     my $fhs = shift;
     for my $fh (@$fhs) {
-       if(-t $fh) {
+       if(-t $fh and -t ($Global::status_fd || *STDERR)) {
            ::warning("Input is read from the terminal.",
                      "Only experts do this on purpose. ".
                      "Press CTRL-D to exit.");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/sql 
new/parallel-20160222/src/sql
--- old/parallel-20160122/src/sql       2016-01-23 09:52:28.000000000 +0100
+++ new/parallel-20160222/src/sql       2016-02-21 22:24:56.000000000 +0100
@@ -566,7 +566,7 @@
 exit ($err);
 
 sub parse_options {
-    $Global::version = 20160122;
+    $Global::version = 20160222;
     $Global::progname = 'sql';
 
     # This must be done first as this may exec myself
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20160122/src/sql.1 
new/parallel-20160222/src/sql.1
--- old/parallel-20160122/src/sql.1     2016-01-23 09:53:35.000000000 +0100
+++ new/parallel-20160222/src/sql.1     2016-02-21 22:25:12.000000000 +0100
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SQL 1"
-.TH SQL 1 "2016-01-23" "20160122" "parallel"
+.TH SQL 1 "2016-02-21" "20160222" "parallel"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
Files old/parallel-20160122/src/sql.pdf and new/parallel-20160222/src/sql.pdf 
differ

++++++ parallel-20160122.tar.bz2.sig -> parallel-20160222.tar.bz2.sig ++++++
--- /work/SRC/openSUSE:Factory/gnu_parallel/parallel-20160122.tar.bz2.sig       
2016-01-28 17:22:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gnu_parallel.new/parallel-20160222.tar.bz2.sig  
2016-02-26 00:31:30.000000000 +0100
@@ -2,7 +2,7 @@
 
 # To check the signature run:
 #  echo | gpg
-#  gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve 
parallel-20160122.tar.bz2.sig
+#  gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve 
parallel-20160222.tar.bz2.sig
 
 echo | gpg 2>/dev/null
 gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $0
@@ -11,32 +11,32 @@
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
-iQTwBAABCgAGBQJWo0LhAAoJENGrRRaIiIiI7FEmnj2pBNeU+Fg9KhlOHpQp2WhX
-upcnCkXHh9qQuUGGxkbQcNUXNfPwi1EzWOBm//A/lhZi7j8B1pDgTHK3t+mn8GVL
-WWh0IinYTw80rLqGwV+Zll8DBi/O5WTKRyXqDPExvDxge7Y85mLsPcS8SEslG+cK
-pUsLExXijtdjQ+1r8x97+klNIZFQBfhvWB3RHMIZPi+ivFdzVRg0eU7sD22LDPTG
-62PRRECfJwlSjL1F4GJzXztSuIalk42yRy5UUrF64Rx5iPWaJQLX0U7hvqeTz8d+
-YBC3clrqil3hLYLG6Dedh93wQgsEPyTirUXxqThw1ikfaagto1r65ht5Hx9bMIf4
-eK/0LVxVI2tJxVwV4W7TyBC/QykBErlfhHRSuceTTNC0yPks1ia4KDcpTISSQuGH
-gHPBpnML0sHEW1vL3f4JYkLXRl2+Ji4epzY/PBP2P1KbbWqMD7hu8mzHKJw2NKdb
-RnIgPPx7XWUz6MmTm7qqQbHgZtolksAsTs06/M6G+M7TZ9lyopafhLE3Zuj2HJ5r
-5WQRy45wJ+n+vbfkZ+VXv6O7dAOhRdCB/pBpT2a76vRMfrK0X5rcxSyywABh4BlO
-Xq5CMhKu9bqBJtGzu/VvG2gHZkkEjcYtkVRdR7HTQ4FV8Gbq1pEAQ9QXBnQvy13+
-ZbaixIo5Hz+Vi16TIMC+yMg7qRZu9fif9MqtcO+Hl79et0VFaeMRDzKVhkuHA4j9
-GYWSV0K2EzXwTxcvVuPDuGtvYPQbELt5TxekdXQNKAtWU9cCuQ+5X9rVcszgprcd
-faZly4fnd1UPtxsilVfeGm4EAWZxYSBNQiSORhjbcR/jH/Bb3KTL8V2qyVGvgkeo
-kwX0YuUnVoHA82nbKL7Sj/Xuf5ygLBE3ogGIU9CPPASbt64qa4IEZu1MMI+Pa5Vw
-qtrURGfZohObJQ0jKPnMlLcKLlY4MXBQrYnH+xV/6BC5MnFicjncJmtaQ8t+C64+
-jefqIfEzbUVoS2VcORtSvybU+X8nro6ymhOjlCYOFMpIcxHKPSl6p5i2LlfqT8AA
-zYm+il2tcpOI4sSpSurc1XBjImdtEXaBZ33IeOouqiI7KmWI2DV6dvrBHWfNSt8t
-30OWWjp9QLDBBbepfYOHYsvoe9yKtadYHbXLXxst0y2j5oEgSINVOUfGERe3bDt0
-lBG6RLlGD8iC4oCHcnmuayGbO9/kIvOB2Gt98XNe8kfagoDh/stS2LWUy6hx/H8z
-vogCebQmw+xDHQejisIZXogQ0nTj1RwcHtUpGwDOwSIq5TC/eIvi3mifP7LJF/S9
-uMVFwpcTcQFLc6hKJT/3dFppwhE7sGY9o0C0AXyZzPV10hjs4TFpUDtdDbEpq2uQ
-qDfWO+V1cYcVpccU+lQ6u67do2y0qUgrOt53quY+zBRLDUhKnX2SCp+8yvLhkweH
-CggO4/YKzBl3/BMl79K4HRuJrvlxS1lcpgD8yHymObtD1fnxD6TP4fQlCRP8yjvo
-KR3mMvcLDtGntV1XyLrX6lccvUH8IZvpADPrl4opUOZTyWZY92vUuqnuWzvT2QAL
-/fswn6WeUCZJfmRIR2eUMQvLg8F+u8HtenwKKCguxszRaDSIKX4/0B+vkeMuWllZ
-s9DbzSDiWUcm6PpEdT1K+eQG+w==
-=4Qzi
+iQTwBAABCgAGBQJWyjQHAAoJENGrRRaIiIiIdbkmoKS4CkGHn6LJrlpiA5ZZHFZt
+ilqSesENZ79xI+fLoVofagqs49e6uiQaWPPydCe+Izzpn0K4gzfeXq0Xtpp+22Z8
+wzQXHyGozZPfXPAtaGTiFdHV8jp/rclCgW8plNUYuawYl0satdvJCHkI0sqqeXoT
+rGu3sOgjFaUoshRDkz1WQNao2XOPIcPV3C5mxxxL95LX+q47lhQO7XWAxPuw8063
+xYedef1mTIz27jFUgo58PfT+d0v3g9avpzponBIrQJb7nR4sYn6X3tJEpxBGmrGa
+5nTfO314PIRZQlJMVHQN2+NSoPm7852dpBNh9Ym5Yq1A794tU3xbaa9i7gRN+yDC
+JXkgjiuRKFln4Ld2udIcGQOBjETBGj7kaD1jA+gBYa4MIp7TnFxwA4AOBaOlgh8R
+e5wATI6DWbWkG9Jtme2GSJD5V34StSO2DErQb5LEuVdtH2mGfNAIGB9x+a7w0PlL
+HEdJ2iLftPYQrorotO+LZCRaDSMWW6irGqirFiUKERhmGZKttkukd/DjKF0lkmw6
+wAWkYCA5vZKw0jbjRLmrP5CVnBkyfPGyKWWpWU4D8AgsMh7VSt8ANcpztib8Y3wP
+MkvxAEv29/ZS09WdEyaNxNEy40cdfw2YLObUvInOixf/SSWkA+Ler/mHUNCNJmYh
+H/bTYiu0BneDq3mppgri0M4784SG4+QBbgW339OBXN85OqTWNPYaW/4xeevCp9US
+0eplmUZVD4uqBPx/Rz+YdAFBbcACKn+y9TGPE9mf9fTT8pcW3hhiQA++UXWZE9T5
+/5L87kF+TSljwnG6ziP5rnTD4kPJtQDdROe0sxyLvmjFAsg99xMSNF6rvKX9eXDd
+l1PQf+LF6pa/b35TO/hwvVSMdaWHf0wMl1Ph2ULUR+0JRXMSfnywLD85e0N/qUNi
+syoXasWfIIm963aD8VwBTnh5AIcOP2AaZ9gDe+a4qEXrRlAcAoARASEKTtY5OPY1
+/vk7A9Rb3w39hrElX610I2g8FwmkD7GOPrdaF5alghqz97XsVehlDns3lZyAEL1f
+zlXNKNva76xzKNmW+FEozDHYQhNIYJ7/tOfVwqKOpG6qckZanLhkWOAfgTKyIbTW
+2BzciywZyAbuHIwD2zDkP/kjOz0JxUnD3qw1ZyffBYqCVynbDCwhpfAiE6imUaOc
+xvz2RhCZtS/9IFWNOSQMGtHeUdM+4JOGQBVgsfrDUgT4uazHvTEwitV+8flGwIP3
+nUEgvNo1IX23t1hyvOMbhoQg2EA+qMnlF5jQOAW6uwbaYvLCzgXXPeH/vHoTDkmA
+BGQRpg60IpdvihhIK3DY/bG/BFCQ6CyIyogsGBHw76yXALa4C7I9OngtiQA9R2Fl
+ovfR93TyqIzDHb3M+HDdAKYQ5go1gxMpP1Sv02Q/K9SjsFzTKnbtSEsuNn/GtThK
+0gAnpHQGKN5wCWFA0xoLH/OHaN1dDBwCPm0lYYvtpo3KZvFxTUNwQ5R0zSpQ/4Vv
+Sdut46mEsGc18PxY39YBQGT6CRgIURzMKvz+SoYQ4dyW6G46ciDaX7Xs/5C6QtE+
+DHx0MPkPft7WVosAJmQ2QmA3Ph7VH6Sbkf5NnuAdmhh0rXH0/tM0gowVa0pJOrfF
+Hbw2JllrQA8tLKBnf0mA2dQJAg==
+=yMZD
 -----END PGP SIGNATURE-----


Reply via email to