Hello community,

here is the log from the commit of package gnu_parallel for openSUSE:Factory 
checked in at 2015-05-24 19:34:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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        
2015-04-27 22:09:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gnu_parallel.new/gnu_parallel.changes   
2015-05-24 19:34:23.000000000 +0200
@@ -1,0 +2,11 @@
+Sat May 23 19:17:45 UTC 2015 - astie...@suse.com
+
+- GNU parallel 20150522: [boo#932143]
+  * Security: The security issue for --sshlogin + --fifo/--cat has
+    been fixed. Thereby all issues with
+    http://lists.gnu.org/archive/html/parallel/2015-04/msg00045.html
+    have been fixed.
+  * Security: After further security analysis the issue fixed in
+    20150422 also fixed the problem for --tmux.
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ gnu_parallel.spec ++++++
--- /var/tmp/diff_new_pack.fPS7Xq/_old  2015-05-24 19:34:24.000000000 +0200
+++ /var/tmp/diff_new_pack.fPS7Xq/_new  2015-05-24 19:34:24.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           gnu_parallel
-Version:        20150422
+Version:        20150522
 Release:        0
 Summary:        Shell tool for executing jobs in parallel
 License:        GPL-3.0+

++++++ parallel-20150422.tar.bz2 -> parallel-20150522.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/CITATION 
new/parallel-20150522/CITATION
--- old/parallel-20150422/CITATION      2014-09-23 16:33:08.000000000 +0200
+++ new/parallel-20150522/CITATION      2015-05-14 17:20:14.000000000 +0200
@@ -1,16 +1,17 @@
 When using programs that use GNU Parallel to process data for publication 
please cite:
 
 @article{Tange2011a,
- title = {GNU Parallel - The Command-Line Power Tool},
- author = {O. Tange},
- address = {Frederiksberg, Denmark},
- journal = {;login: The USENIX Magazine},
- month = {Feb},
- number = {1},
- volume = {36},
- url = {http://www.gnu.org/s/parallel},
- year = {2011},
- pages = {42-47}
+  title = {GNU Parallel - The Command-Line Power Tool},
+  author = {O. Tange},
+  address = {Frederiksberg, Denmark},
+  journal = {;login: The USENIX Magazine},
+  month = {Feb},
+  number = {1},
+  volume = {36},
+  url = {http://www.gnu.org/s/parallel},
+  year = {2011},
+  pages = {42-47}
+  doi = {10.5281/zenodo.16303}
 }
 
 (Feel free to use \nocite{Tange2011a})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/NEWS new/parallel-20150522/NEWS
--- old/parallel-20150422/NEWS  2015-04-23 00:59:51.000000000 +0200
+++ new/parallel-20150522/NEWS  2015-05-22 00:28:04.000000000 +0200
@@ -1,51 +1,118 @@
-20150422
+20150522
 
-New in this release:
+* Security: The security issue for --sshlogin + --fifo/--cat has been fixed. 
Thereby all issues with 
http://lists.gnu.org/archive/html/parallel/2015-04/msg00045.html have been 
fixed.
 
-* Security fix. An attacker on the local system could make you overwrite one 
of your own files with a single byte. The problem exist when you use --compress 
or --tmux or --pipe or --cat or --fifo. The attacker must figure out the 
randomly chosen file name and create a symlink within a time window of 15 ms.
+* Security: After further security analysis the issue fixed in 20150422 also 
fixed the problem for --tmux.
 
-* --shuf will generate all jobs, and shuffle them before running them. This is 
useful to get a quick preview of the results before running the full batch.
+* GNU Parallel was cited in: CIDER: a pipeline for detecting waves of 
coordinated transcriptional regulation in gene expression time-course data 
http://biorxiv.org/content/biorxiv/early/2015/03/17/012518.full.pdf
 
-* GNU Parallel now has a DOI: https://dx.doi.org/10.5281/zenodo.16303
+* GNU Parallel was cited in: Building Genomic Analysis Pipelines in a 
Hackathon Setting with Bioinformatician Teams: DNA-seq, Epigenomics, 
Metagenomics and RNA-seq 
http://biorxiv.org/content/biorxiv/early/2015/05/05/018085.full.pdf
 
-* GNU Parallel was cited in: Scaling Machine Learning for Target Prediction in 
Drug Discovery using Apache Spark 
https://cris.cumulus.vub.ac.be/portal/files/5147244/spark.pdf
+* GNU Parallel was cited in: Toward Enhanced Metadata Quality of Large-Scale 
Digital Libraries: Estimating Volume Time Range 
https://www.ideals.illinois.edu/bitstream/handle/2142/73656/186_ready.pdf
 
-* GNU Parallel was cited in: Bayesian inference of protein structure from 
chemical shift data https://peerj.com/articles/861/
+* GNU Parallel was cited in: Sequencing the cap-snatching repertoire of H1N1 
influenza provides insight into the mechanism of viral transcription initiation 
http://nar.oxfordjournals.org/content/early/2015/04/20/nar.gkv333.full.pdf
 
-* GNU Parallel was cited in: Toward Enhanced Metadata Quality of Large-Scale 
Digital Libraries: Estimating Volume Time Range 
https://www.ideals.illinois.edu/bitstream/handle/2142/73656/186_ready.pdf
+* GNU Parallel was cited in: Genome assembly using Nanopore-guided long and 
error-free DNA reads 
http://www.biomedcentral.com/content/pdf/s12864-015-1519-z.pdf
 
 * GNU Parallel was cited in: Contrasting regional architectures of 
schizophrenia and other complex diseases using fast variance components 
analysis http://biorxiv.org/content/biorxiv/early/2015/03/13/016527.full.pdf
 
-* GNU Parallel was cited in: Experimental study on the Wind Farm Substation 
Cable Installation Problem 
http://i11www.iti.uni-karlsruhe.de/_media/teaching/theses/ma-schmitz-14.pdf
+* GNU Parallel was used (unfortunately with wrong citation) in: Comparing the 
CarbonTracker and TM5-4DVar data assimilation systems for CO2 surface flux 
inversions 
http://www.atmos-chem-phys-discuss.net/15/8883/2015/acpd-15-8883-2015-discussion.html
+
+* GNU Parallel was used in: Gene Set Omic Analysis (GSOA) method 
https://bitbucket.org/srp33/gsoa
+
+* A Quick and Neat :) Orchestrator using GNU Parallel 
http://www.elsotanillo.net/2015/05/a-quick-and-neat-orchestrator-using-gnu-parallel/
+
+* Execute commands on multiple computers using GNU Parallel (setting up a 
cluster on the cheap) 
https://spectraldifferences.wordpress.com/2015/04/26/execute-commands-on-multiple-computers-using-gnu-parallel-setting-up-a-cluster-on-the-cheap/
+
+* Functions and GNU parallel for effective cluster load management 
http://genomespot.blogspot.dk/2015/04/functions-and-gnu-parallel-for.html
+
+* Use parallel processing to save time importing databases 
http://drupalsun.com/node/41854
+
+* Run multiple ssh commands in parallel with GNU Parallel 
http://www.ameir.net/blog/archives/380-run-multiple-ssh-commands-in-parallel-with-gnu-parallel.html
+
+* Importing huge databases faster 
https://www.lullabot.com/blog/article/importing-huge-databases-faster
+
+* Run multiple ssh commands in parallel with GNU Parallel 
https://www.ameir.net/blog/archives/380-run-multiple-ssh-commands-in-parallel-with-gnu-parallel.html/comment-page-1
 
-* GNU Parallel was used in: landsat-gifworks 
https://github.com/KAPPS-/landsat-gifworks
+* Parallel? Gnu parallel! https://debian.pro/1834
+
+* Bug fixes and man page updates.
+
+
+20150422
+
+New in this release:
+
+* Security fix. An attacker on the local system could make you
+  overwrite one of your own files with a single byte. The problem
+  exist when you use --compress or --tmux or --pipe or --cat or
+  --fifo. The attacker must figure out the randomly chosen file name
+  and create a symlink within a time window of 15 ms.
+
+* --shuf will generate all jobs, and shuffle them before running
+  them. This is useful to get a quick preview of the results before
+  running the full batch.
+
+* GNU Parallel now has a DOI: https://dx.doi.org/10.5281/zenodo.16303
+
+* GNU Parallel was cited in: Scaling Machine Learning for Target
+  Prediction in Drug Discovery using Apache Spark
+  https://cris.cumulus.vub.ac.be/portal/files/5147244/spark.pdf
+
+* GNU Parallel was cited in: Bayesian inference of protein structure
+  from chemical shift data https://peerj.com/articles/861/
+
+* GNU Parallel was cited in: Toward Enhanced Metadata Quality of
+  Large-Scale Digital Libraries: Estimating Volume Time Range
+  https://www.ideals.illinois.edu/bitstream/handle/2142/73656/186_ready.pdf
+
+* GNU Parallel was cited in: Contrasting regional architectures of
+  schizophrenia and other complex diseases using fast variance
+  components analysis
+  http://biorxiv.org/content/biorxiv/early/2015/03/13/016527.full.pdf
+
+* GNU Parallel was cited in: Experimental study on the Wind Farm
+  Substation Cable Installation Problem
+  http://i11www.iti.uni-karlsruhe.de/_media/teaching/theses/ma-schmitz-14.pdf
+
+* GNU Parallel was used in: landsat-gifworks
+  https://github.com/KAPPS-/landsat-gifworks
 
 * GNU Parallel was used in: https://github.com/exascience/elprep
 
-* GNU Parallel was used in: 
http://search.cpan.org/~jillrowe/HPC-Runner-GnuParallel-0.01/
+* GNU Parallel was used in:
+  http://search.cpan.org/~jillrowe/HPC-Runner-GnuParallel-0.01/
 
-* GNU Parallel was used in: 
http://search.cpan.org/~ajpage/Bio-Roary-2.0.7/lib/Bio/Roary/JobRunner/Parallel.pm
+* GNU Parallel was used in:
+  
http://search.cpan.org/~ajpage/Bio-Roary-2.0.7/lib/Bio/Roary/JobRunner/Parallel.pm
 
-* GNU Parallel was used in: Rapid haploid SNP calling 
https://github.com/tseemann/snippy
+* GNU Parallel was used in: Rapid haploid SNP calling
+  https://github.com/tseemann/snippy
 
-* Pictures and Metadata http://www.ozzy.no/2015/02/05/pictures-and-metadata/
+* Pictures and Metadata
+  http://www.ozzy.no/2015/02/05/pictures-and-metadata/
 
-* Task automation with bash and parallel 
https://biowize.wordpress.com/2015/03/23/task-automation-with-bash-and-parallel/
+* Task automation with bash and parallel
+  
https://biowize.wordpress.com/2015/03/23/task-automation-with-bash-and-parallel/
 
-* How To: Speed Up File Transfers in Linux using RSync with GNU Parallel 
http://www.yourownlinux.com/2015/04/speed-up-file-transfers-using-rsync-with-gnu-parallel.html
+* How To: Speed Up File Transfers in Linux using RSync with GNU
+  Parallel
+  
http://www.yourownlinux.com/2015/04/speed-up-file-transfers-using-rsync-with-gnu-parallel.html
 
-* Mirroring a Git Repository 
https://avacariu.me/articles/mirroring-a-git-repository.html
+* Mirroring a Git Repository
+  https://avacariu.me/articles/mirroring-a-git-repository.html
 
-* Add an ENVI header to JAXA Global Mangrove Watch PALSAR tiles 
https://spectraldifferences.wordpress.com/2015/03/24/add-an-envi-header-to-jaxa-global-mangrove-watch-palsar-tiles/
+* Add an ENVI header to JAXA Global Mangrove Watch PALSAR tiles
+  
https://spectraldifferences.wordpress.com/2015/03/24/add-an-envi-header-to-jaxa-global-mangrove-watch-palsar-tiles/
 
-* GNU Parallel (Sebuah Uji Coba) 
http://kaka.prakasa.my.id/2014/09/04/gnu-parallel-sebuah-uji-coba/
+* GNU Parallel (Sebuah Uji Coba)
+  http://kaka.prakasa.my.id/2014/09/04/gnu-parallel-sebuah-uji-coba/
 
-* 你见过的最牛逼的命令行程序是什么? http://www.zhihu.com/question/29257300
+* 你见过的最牛逼的命令行程序是什么?
+  http://www.zhihu.com/question/29257300
 
 * Bug fixes and man page updates.
 
-GNU Parallel - For people who live life in the parallel lane.
-
 
 20150322
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/README new/parallel-20150522/README
--- old/parallel-20150422/README        2015-04-23 00:16:38.000000000 +0200
+++ new/parallel-20150522/README        2015-05-21 23:32:47.000000000 +0200
@@ -40,9 +40,9 @@
 
 Full installation of GNU Parallel is as simple as:
 
-    wget http://ftpmirror.gnu.org/parallel/parallel-20150422.tar.bz2
-    bzip2 -dc parallel-20150422.tar.bz2 | tar xvf -
-    cd parallel-20150422
+    wget http://ftpmirror.gnu.org/parallel/parallel-20150522.tar.bz2
+    bzip2 -dc parallel-20150522.tar.bz2 | tar xvf -
+    cd parallel-20150522
     ./configure && make && 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-20150422.tar.bz2
-    bzip2 -dc parallel-20150422.tar.bz2 | tar xvf -
-    cd parallel-20150422
+    wget http://ftpmirror.gnu.org/parallel/parallel-20150522.tar.bz2
+    bzip2 -dc parallel-20150522.tar.bz2 | tar xvf -
+    cd parallel-20150522
     ./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-20150422/configure 
new/parallel-20150522/configure
--- old/parallel-20150422/configure     2015-04-23 00:16:52.000000000 +0200
+++ new/parallel-20150522/configure     2015-05-21 23:32:58.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for parallel 20150422.
+# Generated by GNU Autoconf 2.69 for parallel 20150522.
 #
 # Report bugs to <bug-paral...@gnu.org>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='parallel'
 PACKAGE_TARNAME='parallel'
-PACKAGE_VERSION='20150422'
-PACKAGE_STRING='parallel 20150422'
+PACKAGE_VERSION='20150522'
+PACKAGE_STRING='parallel 20150522'
 PACKAGE_BUGREPORT='bug-paral...@gnu.org'
 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 20150422 to adapt to many kinds of systems.
+\`configure' configures parallel 20150522 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 20150422:";;
+     short | recursive ) echo "Configuration of parallel 20150522:";;
    esac
   cat <<\_ACEOF
 
@@ -1345,7 +1345,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-parallel configure 20150422
+parallel configure 20150522
 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 20150422, which was
+It was created by parallel $as_me 20150522, 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='20150422'
+ VERSION='20150522'
 
 
 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 20150422, which was
+This file was extended by parallel $as_me 20150522, 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 20150422
+parallel config.status 20150522
 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-20150422/configure.ac 
new/parallel-20150522/configure.ac
--- old/parallel-20150422/configure.ac  2015-04-23 00:16:38.000000000 +0200
+++ new/parallel-20150522/configure.ac  2015-05-21 23:32:47.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([parallel], [20150422], [bug-paral...@gnu.org])
+AC_INIT([parallel], [20150522], [bug-paral...@gnu.org])
 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-20150422/src/niceload 
new/parallel-20150522/src/niceload
--- old/parallel-20150422/src/niceload  2015-04-23 00:16:38.000000000 +0200
+++ new/parallel-20150522/src/niceload  2015-05-21 23:32:47.000000000 +0200
@@ -24,7 +24,7 @@
 use strict;
 use Getopt::Long;
 $Global::progname="niceload";
-$Global::version = 20150422;
+$Global::version = 20150522;
 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-20150422/src/niceload.1 
new/parallel-20150522/src/niceload.1
--- old/parallel-20150422/src/niceload.1        2015-01-22 00:33:37.000000000 
+0100
+++ new/parallel-20150522/src/niceload.1        2015-05-10 17:07:00.000000000 
+0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "NICELOAD 1"
-.TH NICELOAD 1 "2015-01-21" "20150122" "parallel"
+.TH NICELOAD 1 "2015-01-21" "20150422" "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-20150422/src/niceload.pdf and 
new/parallel-20150522/src/niceload.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/parallel 
new/parallel-20150522/src/parallel
--- old/parallel-20150422/src/parallel  2015-04-23 00:31:33.000000000 +0200
+++ new/parallel-20150522/src/parallel  2015-05-21 23:32:47.000000000 +0200
@@ -725,7 +725,6 @@
         "use-cpus-instead-of-cores" => \$opt::use_cpus_instead_of_cores,
         "shellquote|shell_quote|shell-quote" => \$opt::shellquote,
         "nice=i" => \$opt::nice,
-        "timeout=s" => \$opt::timeout,
         "tag" => \$opt::tag,
         "tagstring|tag-string=s" => \$opt::tagstring,
         "onall" => \$opt::onall,
@@ -751,9 +750,7 @@
         "compress" => \$opt::compress,
         "tty" => \$opt::tty,
         "T" => \$opt::retired,
-        "halt-on-error|halt=s" => \$opt::halt,
         "H=i" => \$opt::retired,
-        "retries=i" => \$opt::retries,
         "dry-run|dryrun" => \$opt::dryrun,
         "progress" => \$opt::progress,
         "eta" => \$opt::eta,
@@ -779,7 +776,11 @@
         "xapply" => \$opt::xapply,
         "bibtex" => \$opt::bibtex,
         "wc|willcite|will-cite|nn|nonotice|no-notice" => \$opt::willcite,
+        # Termination and retries
+        "halt-on-error|halt=s" => \$opt::halt,
         "memfree=s" => \$opt::memfree,
+        "retries=i" => \$opt::retries,
+        "timeout=s" => \$opt::timeout,
         # xargs-compatibility - implemented, man, testsuite
         "max-procs|P=s" => \$opt::jobs,
         "delimiter|d=s" => \$opt::d,
@@ -1053,7 +1054,7 @@
 
 sub init_globals {
     # Defaults:
-    $Global::version = 20150422;
+    $Global::version = 20150522;
     $Global::progname = 'parallel';
     $Global::infinity = 2**31;
     $Global::debug = 0;
@@ -3276,17 +3277,17 @@
               "please cite:",
               "",
                "\@article{Tange2011a,",
-              " title = {GNU Parallel - The Command-Line Power Tool},",
-              " author = {O. Tange},",
-              " address = {Frederiksberg, Denmark},",
-              " journal = {;login: The USENIX Magazine},",
-              " month = {Feb},",
-              " number = {1},",
-              " volume = {36},",
-              " url = {http://www.gnu.org/s/parallel},";,
-              " year = {2011},",
-              " pages = {42-47}",
-              " doi = {10.5281/zenodo.16303}",
+              "  title = {GNU Parallel - The Command-Line Power Tool},",
+              "  author = {O. Tange},",
+              "  address = {Frederiksberg, Denmark},",
+              "  journal = {;login: The USENIX Magazine},",
+              "  month = {Feb},",
+              "  number = {1},",
+              "  volume = {36},",
+              "  url = {http://www.gnu.org/s/parallel},";,
+              "  year = {2011},",
+              "  pages = {42-47}",
+              "  doi = {10.5281/zenodo.16303}",
               "}",
               "",
               "(Feel free to use \\nocite{Tange2011a})",
@@ -3599,6 +3600,10 @@
                ::debug("init", "shell path $shellpath\n");
                $shellpath and last;
            }
+           if($testpid == $parent_of_ref->{$testpid}) {
+               # In Solaris zones, the PPID of the zsched process is itself
+               last;
+           }
            $testpid = $parent_of_ref->{$testpid};
        }
        return $shellpath;
@@ -6263,24 +6268,29 @@
            }
        }
        if($opt::cat) {
-           # Prepend 'cat > {};'
-           # Append 'unlink {} without affecting $?'
+# Append 'unlink {} without affecting $?'
            $command =
                $self->{'commandline'}->replace_placeholders(["cat > 
\257<\257>; "], 0, 0).
                $command.";". postpone_exit_and_cleanup().
-               $self->{'commandline'}->replace_placeholders(["\257<\257>"], 0, 
0);
+               '$PARALLEL_TMP';
        } elsif($opt::fifo) {
            # Prepend 'mkfifo {}; ('
            # Append ') & _PID=$!; cat > {}; wait $_PID; '
            # (This makes it fail in csh, but give the correct exit code in 
bash)
            # Append 'unlink {} without affecting $?'
+           # Set $ENV{PARALLEL_TMP} when starting a job
+           # Set $ENV{PARALLEL_TMP} in the remote wrapper
+           # mkfifo $PARALLEL_TMP;
+           # {} = $PARALLEL_TMP;
+           # (...) &
+           # cat > $PARALLEL_TMP; wait \$_PID; cleanup $PARALLEL_TMP
+           # perl -e 'open($fifo,">",shift); while(read){print FIFO};unlink 
$fifo;waitpid($pid,0);exit $?' $! $PARALLEL_FIFO
            $command =
-               $self->{'commandline'}->replace_placeholders(["mkfifo 
\257<\257>;\n ("], 0, 0).
+               "mkfifo \$PARALLEL_TMP\n (".
                $command.";".
-               $self->{'commandline'}->replace_placeholders([") & _PID=\$!; 
cat > \257<\257>; ",
-                                           "wait \$_PID; "]).
+               ') & _PID=$!; cat > $PARALLEL_TMP; wait $_PID; '.
                postpone_exit_and_cleanup().
-               $self->{'commandline'}->replace_placeholders(["\257<\257>"], 0, 
0);
+               '$PARALLEL_TMP';
        }
        # Wrap with ssh + tranferring of files
        $command = $self->sshlogin_wrap($command);
@@ -6401,7 +6411,13 @@
            $monitor_parent_sshd_script =
                # This will be packed in ', so only use "
                ::spacefree(0,'$shell = "'.($ENV{'PARALLEL_SHELL'} || 
'$ENV{SHELL}').'";'.
-                       q{
+                           '$tmpdir = 
"'.::perl_quote_scalar($ENV{'TMPDIR'}).'";'.
+                           q{
+               # Set $PARALLEL_TMP to a non-existent file name in $TMPDIR
+               do {
+                   $ENV{PARALLEL_TMP} = $tmpdir."/par".
+                       join"", map { (0..9,"a".."z","A".."Z")[rand(62)] } 
(1..5);
+               } while(-e $ENV{PARALLEL_TMP});
                 $SIG{CHLD} = sub { $done = 1; };
                $pid = fork;
                 unless($pid) {
@@ -6828,6 +6844,7 @@
     }
     $ENV{'PARALLEL_SEQ'} = $job->seq();
     $ENV{'PARALLEL_PID'} = $$;
+    $ENV{'PARALLEL_TMP'} = ::tmpname("par");
     ::debug("run", $Global::total_running, " processes . Starting (",
            $job->seq(), "): $command\n");
     if($opt::pipe) {
@@ -6936,12 +6953,8 @@
        my $self = shift;
        my $actual_command = shift;
        # Temporary file name. Used for fifo to communicate exit val
-       my ($fh, $tmpfifo) = ::tmpfile(SUFFIX => ".tmx");
-       $Global::unlink{$tmpfifo} = 1;
-       close $fh;
-       unlink $tmpfifo;
-#      # FIFO for communicating exit val
-#      my $tmpfifo = ::tmpfifo();
+       my $tmpfifo=::tmpname("tmx");
+
        if(length($tmpfifo) >=100) {
            ::error("tmux does not support sockets with path > 100\n");
            ::wait_and_exit(255);
@@ -6959,12 +6972,13 @@
 
        my $l_act = length($actual_command);
        my $l_tit = length($title);
+       my $l_fifo = length($tmpfifo);
        # The line to run contains a 118 chars extra code + the title 2x
-       my $l_tot = 2 * $l_tit + $l_act + 30;
+       my $l_tot = 2 * $l_tit + $l_act + $l_fifo;
 
        while($l_tit < 1000 and
              (
-              (900 < $l_tot and $l_tot < 1300)
+              (890 < $l_tot and $l_tot < 1350)
               or
               (9250 < $l_tot and $l_tot < 9800)
              )) {
@@ -6977,7 +6991,7 @@
            # 9331 < (title + whole command) < 9636
            $title = $title.('\ 'x75);
            $l_tit = length($title);
-           $l_tot = 2 * $l_tit + $l_act + 30;
+           $l_tot = 2 * $l_tit + $l_act + $l_fifo;
        }
 
        my $tmux;
@@ -6994,7 +7008,7 @@
                $Limits::Command::line_max_len, " tot ",
                $l_tot, "\n");
 
-       return "mkfifo $tmpfifo; $tmux ".
+       return "mkfifo $tmpfifo && $tmux ".
            # Run in tmux
            ::shell_quote_scalar
            (
@@ -7567,14 +7581,14 @@
     my $max_len = $Global::minimal_command_line_length || 
Limits::Command::max_length();
 
     if($opt::cat) {
-       # Generate a tempfile name that will be used as {}
+       # $PARALLEL_TMP will point to a tempfile that will be used as {}
        $Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}->
-           unget([Arg->new(::tmpname("cat"))]);
+           unget([Arg->new('$PARALLEL_TMP')]);
     }
     if($opt::fifo) {
-       # Generate a tempfile name that will be used as {}
+       # $PARALLEL_TMP will point to a tempfile that will be used as {}
        $Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}->
-           unget([Arg->new(::tmpname("fif"))]);
+           unget([Arg->new('$PARALLEL_TMP')]);
     }
     while (not $self->{'arg_queue'}->empty()) {
        $next_arg = $self->{'arg_queue'}->get();
@@ -7868,6 +7882,8 @@
     if(not defined $self->{'replaced'}) {
        # Don't quote arguments if the input is the full command line
        my $quote_arg = $Global::noquote ? 0 : not $Global::quoting;
+       # or if ($opt::cat or $opt::pipe) as they use $PARALLEL_TMP
+       $quote_arg = ($opt::cat || $opt::fifo) ? 0 : $quote_arg;
        $self->{'replaced'} = $self->
            replace_placeholders($self->{'command'},$Global::quoting,
                                 $quote_arg);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/parallel.1 
new/parallel-20150522/src/parallel.1
--- old/parallel-20150422/src/parallel.1        2015-04-22 18:30:44.000000000 
+0200
+++ new/parallel-20150522/src/parallel.1        2015-05-21 23:33:01.000000000 
+0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "PARALLEL 1"
-.TH PARALLEL 1 "2015-04-22" "20150322" "parallel"
+.TH PARALLEL 1 "2015-05-14" "20150522" "parallel"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -557,8 +557,8 @@
 .Sp
 \&\fIregexp\fR is a Perl Regular Expression:
 http://perldoc.perl.org/perlre.html
-.IP "\fB\-\-compress\fR (beta testing)" 9
-.IX Item "--compress (beta testing)"
+.IP "\fB\-\-compress\fR" 9
+.IX Item "--compress"
 Compress temporary files. If the output is big and very compressible
 this will take up less disk space in \f(CW$TMPDIR\fR and possibly be faster
 due to less disk I/O.
@@ -566,11 +566,11 @@
 \&\s-1GNU \s0\fBparallel\fR will try \fBlzop\fR, \fBpigz\fR, \fBgzip\fR, 
\fBpbzip2\fR,
 \&\fBplzip\fR, \fBbzip2\fR, \fBlzma\fR, \fBlzip\fR, \fBxz\fR in that order, 
and use the
 first available.
-.IP "\fB\-\-compress\-program\fR \fIprg\fR (beta testing)" 9
-.IX Item "--compress-program prg (beta testing)"
+.IP "\fB\-\-compress\-program\fR \fIprg\fR" 9
+.IX Item "--compress-program prg"
 .PD 0
-.IP "\fB\-\-decompress\-program\fR \fIprg\fR (beta testing)" 9
-.IX Item "--decompress-program prg (beta testing)"
+.IP "\fB\-\-decompress\-program\fR \fIprg\fR" 9
+.IX Item "--decompress-program prg"
 .PD
 Use \fIprg\fR for (de)compressing temporary files. It is assumed that \fIprg
 \&\-dc\fR will decompress stdin (standard input) to stdout (standard
@@ -579,11 +579,11 @@
 .IX Item "--ctrlc"
 If receiving \s-1SIGNING, GNU \s0\fBparallel\fR will send \s-1SIGINT\s0 to 
tasks
 running on remote computers thus killing them.
-.IP "\fB\-\-delimiter\fR \fIdelim\fR (beta testing)" 9
-.IX Item "--delimiter delim (beta testing)"
+.IP "\fB\-\-delimiter\fR \fIdelim\fR" 9
+.IX Item "--delimiter delim"
 .PD 0
-.IP "\fB\-d\fR \fIdelim\fR (beta testing)" 9
-.IX Item "-d delim (beta testing)"
+.IP "\fB\-d\fR \fIdelim\fR" 9
+.IX Item "-d delim"
 .PD
 Input items are terminated by \fIdelim\fR.  Quotes and backslash are not
 special; every character in the input is taken literally.  Disables
@@ -628,8 +628,8 @@
 because it is \s-1POSIX\s0 compliant for \fBxargs\fR while this option is not.
 If \fIeof-str\fR is omitted, there is no end of file string.  If neither
 \&\fB\-E\fR nor \fB\-e\fR is used, no end of file string is used.
-.IP "\fB\-\-env\fR \fIvar\fR (alpha testing)" 9
-.IX Item "--env var (alpha testing)"
+.IP "\fB\-\-env\fR \fIvar\fR (beta testing)" 9
+.IX Item "--env var (beta testing)"
 Copy environment variable \fIvar\fR. This will copy \fIvar\fR to the
 environment that the command is run in. This is especially useful for
 remote execution.
@@ -823,8 +823,8 @@
 This option is a synonym for \fB\-I\fR\fIreplace-str\fR if \fIreplace-str\fR is
 specified, and for \fB\-I\fR{} otherwise.  This option is deprecated;
 use \fB\-I\fR instead.
-.IP "\fB\-\-joblog\fR \fIlogfile\fR (beta testing)" 9
-.IX Item "--joblog logfile (beta testing)"
+.IP "\fB\-\-joblog\fR \fIlogfile\fR" 9
+.IX Item "--joblog logfile"
 Logfile for executed jobs. Save a list of the executed jobs to
 \&\fIlogfile\fR in the following \s-1TAB\s0 separated format: sequence number,
 sshlogin, start time as seconds since epoch, run time in seconds,
@@ -1065,11 +1065,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
@@ -1094,8 +1094,8 @@
 \&\fB\-\-files\fR is often used with \fB\-\-pipe\fR.
 .Sp
 See also: \fB\-\-recstart\fR, \fB\-\-recend\fR, \fB\-\-fifo\fR, \fB\-\-cat\fR, 
\fB\-\-pipepart\fR.
-.IP "\fB\-\-pipepart\fR (alpha testing)" 9
-.IX Item "--pipepart (alpha testing)"
+.IP "\fB\-\-pipepart\fR (beta testing)" 9
+.IX Item "--pipepart (beta testing)"
 Pipe parts of a physical file. \fB\-\-pipepart\fR works similar to
 \&\fB\-\-pipe\fR, but is much faster. It has a few limitations:
 .RS 9
@@ -1176,20 +1176,20 @@
 Print the maximal number of characters allowed on the command line and
 exit (used by \s-1GNU \s0\fBparallel\fR itself to determine the line length
 on remote computers).
-.IP "\fB\-\-number\-of\-cpus\fR (beta testing)" 9
-.IX Item "--number-of-cpus (beta testing)"
+.IP "\fB\-\-number\-of\-cpus\fR" 9
+.IX Item "--number-of-cpus"
 Print the number of physical CPUs and exit (used by \s-1GNU \s0\fBparallel\fR
 itself to determine the number of physical CPUs on remote computers).
-.IP "\fB\-\-number\-of\-cores\fR (beta testing)" 9
-.IX Item "--number-of-cores (beta testing)"
+.IP "\fB\-\-number\-of\-cores\fR" 9
+.IX Item "--number-of-cores"
 Print the number of \s-1CPU\s0 cores and exit (used by \s-1GNU 
\s0\fBparallel\fR itself
 to determine the number of \s-1CPU\s0 cores on remote computers).
 .IP "\fB\-\-no\-keep\-order\fR" 9
 .IX Item "--no-keep-order"
 Overrides an earlier \fB\-\-keep\-order\fR (e.g. if set in
 \&\fB~/.parallel/config\fR).
-.IP "\fB\-\-nice\fR \fIniceness\fR (beta testing)" 9
-.IX Item "--nice niceness (beta testing)"
+.IP "\fB\-\-nice\fR \fIniceness\fR" 9
+.IX Item "--nice niceness"
 Run the command at this niceness. For simple commands you can just add
 \&\fBnice\fR in front of the command. But if the command consists of more
 sub commands (Like: ls|wc) then prepending \fBnice\fR will not always
@@ -1447,8 +1447,8 @@
 .Sp
 \&\fB\-\-keep\-order\fR will not work with \fB\-\-round\-robin\fR as it is
 impossible to track which input block corresponds to which output.
-.IP "\fB\-\-rpl\fR '\fItag\fR \fIperl expression\fR' (beta testing)" 9
-.IX Item "--rpl 'tag perl expression' (beta testing)"
+.IP "\fB\-\-rpl\fR '\fItag\fR \fIperl expression\fR'" 9
+.IX Item "--rpl 'tag perl expression'"
 Use \fItag\fR as a replacement string for \fIperl expression\fR. This makes
 it possible to define your own replacement strings. \s-1GNU \s0\fBparallel\fR's
 7 replacement strings are implemented as:
@@ -1630,8 +1630,8 @@
 .IX Item "--shellquote"
 Does not run the command but quotes it. Useful for making quoted
 composed commands for \s-1GNU \s0\fBparallel\fR.
-.IP "\fB\-\-shuf\fR (alpha testing)" 9
-.IX Item "--shuf (alpha testing)"
+.IP "\fB\-\-shuf\fR (beta testing)" 9
+.IX Item "--shuf (beta testing)"
 Shuffle jobs. When having multiple input sources it is hard to
 randomize jobs. \-\-shuf will generate all jobs, and shuffle them before
 running them. This is useful to get a quick preview of the results
@@ -1789,8 +1789,8 @@
 the lines will be prepended with the sshlogin instead.
 .Sp
 \&\fB\-\-tag\fR is ignored when using \fB\-u\fR.
-.IP "\fB\-\-tagstring\fR \fIstr\fR (beta testing)" 9
-.IX Item "--tagstring str (beta testing)"
+.IP "\fB\-\-tagstring\fR \fIstr\fR" 9
+.IX Item "--tagstring str"
 Tag lines with a string. Each output line will be prepended with
 \&\fIstr\fR and \s-1TAB \s0(\et). \fIstr\fR can contain replacement strings 
such as
 {}.
@@ -1802,8 +1802,8 @@
 into temporary files in /tmp. By setting \fB\-\-tmpdir\fR you can use a
 different dir for the files. Setting \fB\-\-tmpdir\fR is equivalent to
 setting \f(CW$TMPDIR\fR.
-.IP "\fB\-\-tmux\fR (beta testing)" 9
-.IX Item "--tmux (beta testing)"
+.IP "\fB\-\-tmux\fR" 9
+.IX Item "--tmux"
 Use \fBtmux\fR for output. Start a \fBtmux\fR session and run each job in a
 window in that session. No other output will be produced.
 .IP "\fB\-\-timeout\fR \fIval\fR" 9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/parallel.html 
new/parallel-20150522/src/parallel.html
--- old/parallel-20150422/src/parallel.html     2015-04-22 18:30:44.000000000 
+0200
+++ new/parallel-20150522/src/parallel.html     2015-05-21 23:33:00.000000000 
+0200
@@ -519,7 +519,7 @@
 <p><i>regexp</i> is a Perl Regular Expression: 
http://perldoc.perl.org/perlre.html</p>
 
 </dd>
-<dt id="compress-beta-testing"><b>--compress</b> (beta testing)</dt>
+<dt id="compress"><b>--compress</b></dt>
 <dd>
 
 <p>Compress temporary files. If the output is big and very compressible this 
will take up less disk space in $TMPDIR and possibly be faster due to less disk 
I/O.</p>
@@ -527,11 +527,11 @@
 <p>GNU <b>parallel</b> will try <b>lzop</b>, <b>pigz</b>, <b>gzip</b>, 
<b>pbzip2</b>, <b>plzip</b>, <b>bzip2</b>, <b>lzma</b>, <b>lzip</b>, <b>xz</b> 
in that order, and use the first available.</p>
 
 </dd>
-<dt id="compress-program-prg-beta-testing"><b>--compress-program</b> 
<i>prg</i> (beta testing)</dt>
+<dt id="compress-program-prg"><b>--compress-program</b> <i>prg</i></dt>
 <dd>
 
 </dd>
-<dt id="decompress-program-prg-beta-testing"><b>--decompress-program</b> 
<i>prg</i> (beta testing)</dt>
+<dt id="decompress-program-prg"><b>--decompress-program</b> <i>prg</i></dt>
 <dd>
 
 <p>Use <i>prg</i> for (de)compressing temporary files. It is assumed that 
<i>prg -dc</i> will decompress stdin (standard input) to stdout (standard 
output) unless <b>--decompress-program</b> is given.</p>
@@ -543,11 +543,11 @@
 <p>If receiving SIGNING, GNU <b>parallel</b> will send SIGINT to tasks running 
on remote computers thus killing them.</p>
 
 </dd>
-<dt id="delimiter-delim-beta-testing"><b>--delimiter</b> <i>delim</i> (beta 
testing)</dt>
+<dt id="delimiter-delim"><b>--delimiter</b> <i>delim</i></dt>
 <dd>
 
 </dd>
-<dt id="d-delim-beta-testing"><b>-d</b> <i>delim</i> (beta testing)</dt>
+<dt id="d-delim"><b>-d</b> <i>delim</i></dt>
 <dd>
 
 <p>Input items are terminated by <i>delim</i>. Quotes and backslash are not 
special; every character in the input is taken literally. Disables the 
end-of-file string, which is treated like any other argument. The specified 
delimiter may be characters, C-style character escapes such as \n, or octal or 
hexadecimal escape codes. Octal and hexadecimal escape codes are understood as 
for the printf command. Multibyte characters are not supported.</p>
@@ -591,7 +591,7 @@
 <p>This option is a synonym for the <b>-E</b> option. Use <b>-E</b> instead, 
because it is POSIX compliant for <b>xargs</b> while this option is not. If 
<i>eof-str</i> is omitted, there is no end of file string. If neither <b>-E</b> 
nor <b>-e</b> is used, no end of file string is used.</p>
 
 </dd>
-<dt id="env-var-alpha-testing"><b>--env</b> <i>var</i> (alpha testing)</dt>
+<dt id="env-var-beta-testing"><b>--env</b> <i>var</i> (beta testing)</dt>
 <dd>
 
 <p>Copy environment variable <i>var</i>. This will copy <i>var</i> to the 
environment that the command is run in. This is especially useful for remote 
execution.</p>
@@ -795,7 +795,7 @@
 <p>This option is a synonym for <b>-I</b><i>replace-str</i> if 
<i>replace-str</i> is specified, and for <b>-I</b>{} otherwise. This option is 
deprecated; use <b>-I</b> instead.</p>
 
 </dd>
-<dt id="joblog-logfile-beta-testing"><b>--joblog</b> <i>logfile</i> (beta 
testing)</dt>
+<dt id="joblog-logfile"><b>--joblog</b> <i>logfile</i></dt>
 <dd>
 
 <p>Logfile for executed jobs. Save a list of the executed jobs to 
<i>logfile</i> in the following TAB separated format: sequence number, 
sshlogin, start time as seconds since epoch, run time in seconds, bytes in 
files transferred, bytes in files returned, exit status, signal, and command 
run.</p>
@@ -1045,11 +1045,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>
@@ -1069,7 +1069,7 @@
 <p>See also: <b>--recstart</b>, <b>--recend</b>, <b>--fifo</b>, <b>--cat</b>, 
<b>--pipepart</b>.</p>
 
 </dd>
-<dt id="pipepart-alpha-testing"><b>--pipepart</b> (alpha testing)</dt>
+<dt id="pipepart-beta-testing"><b>--pipepart</b> (beta testing)</dt>
 <dd>
 
 <p>Pipe parts of a physical file. <b>--pipepart</b> works similar to 
<b>--pipe</b>, but is much faster. It has a few limitations:</p>
@@ -1153,13 +1153,13 @@
 <p>Print the maximal number of characters allowed on the command line and exit 
(used by GNU <b>parallel</b> itself to determine the line length on remote 
computers).</p>
 
 </dd>
-<dt id="number-of-cpus-beta-testing"><b>--number-of-cpus</b> (beta 
testing)</dt>
+<dt id="number-of-cpus"><b>--number-of-cpus</b></dt>
 <dd>
 
 <p>Print the number of physical CPUs and exit (used by GNU <b>parallel</b> 
itself to determine the number of physical CPUs on remote computers).</p>
 
 </dd>
-<dt id="number-of-cores-beta-testing"><b>--number-of-cores</b> (beta 
testing)</dt>
+<dt id="number-of-cores"><b>--number-of-cores</b></dt>
 <dd>
 
 <p>Print the number of CPU cores and exit (used by GNU <b>parallel</b> itself 
to determine the number of CPU cores on remote computers).</p>
@@ -1171,7 +1171,7 @@
 <p>Overrides an earlier <b>--keep-order</b> (e.g. if set in 
<b>~/.parallel/config</b>).</p>
 
 </dd>
-<dt id="nice-niceness-beta-testing"><b>--nice</b> <i>niceness</i> (beta 
testing)</dt>
+<dt id="nice-niceness"><b>--nice</b> <i>niceness</i></dt>
 <dd>
 
 <p>Run the command at this niceness. For simple commands you can just add 
<b>nice</b> in front of the command. But if the command consists of more sub 
commands (Like: ls|wc) then prepending <b>nice</b> will not always work. 
<b>--nice</b> will make sure all sub commands are niced - even on remote 
servers.</p>
@@ -1404,7 +1404,7 @@
 <p><b>--keep-order</b> will not work with <b>--round-robin</b> as it is 
impossible to track which input block corresponds to which output.</p>
 
 </dd>
-<dt id="rpl-tag-perl-expression-beta-testing"><b>--rpl</b> &#39;<i>tag</i> 
<i>perl expression</i>&#39; (beta testing)</dt>
+<dt id="rpl-tag-perl-expression"><b>--rpl</b> &#39;<i>tag</i> <i>perl 
expression</i>&#39;</dt>
 <dd>
 
 <p>Use <i>tag</i> as a replacement string for <i>perl expression</i>. This 
makes it possible to define your own replacement strings. GNU 
<b>parallel</b>&#39;s 7 replacement strings are implemented as:</p>
@@ -1573,7 +1573,7 @@
 <p>Does not run the command but quotes it. Useful for making quoted composed 
commands for GNU <b>parallel</b>.</p>
 
 </dd>
-<dt id="shuf-alpha-testing"><b>--shuf</b> (alpha testing)</dt>
+<dt id="shuf-beta-testing"><b>--shuf</b> (beta testing)</dt>
 <dd>
 
 <p>Shuffle jobs. When having multiple input sources it is hard to randomize 
jobs. --shuf will generate all jobs, and shuffle them before running them. This 
is useful to get a quick preview of the results before running the full 
batch.</p>
@@ -1722,7 +1722,7 @@
 <p><b>--tag</b> is ignored when using <b>-u</b>.</p>
 
 </dd>
-<dt id="tagstring-str-beta-testing"><b>--tagstring</b> <i>str</i> (beta 
testing)</dt>
+<dt id="tagstring-str"><b>--tagstring</b> <i>str</i></dt>
 <dd>
 
 <p>Tag lines with a string. Each output line will be prepended with <i>str</i> 
and TAB (\t). <i>str</i> can contain replacement strings such as {}.</p>
@@ -1736,7 +1736,7 @@
 <p>Directory for temporary files. GNU <b>parallel</b> normally buffers output 
into temporary files in /tmp. By setting <b>--tmpdir</b> you can use a 
different dir for the files. Setting <b>--tmpdir</b> is equivalent to setting 
$TMPDIR.</p>
 
 </dd>
-<dt id="tmux-beta-testing"><b>--tmux</b> (beta testing)</dt>
+<dt id="tmux"><b>--tmux</b></dt>
 <dd>
 
 <p>Use <b>tmux</b> for output. Start a <b>tmux</b> session and run each job in 
a window in that session. No other output will be produced.</p>
Files old/parallel-20150422/src/parallel.pdf and 
new/parallel-20150522/src/parallel.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/parallel.pod 
new/parallel-20150522/src/parallel.pod
--- old/parallel-20150422/src/parallel.pod      2015-04-22 18:26:25.000000000 
+0200
+++ new/parallel-20150522/src/parallel.pod      2015-05-14 17:20:14.000000000 
+0200
@@ -488,7 +488,7 @@
 http://perldoc.perl.org/perlre.html
 
 
-=item B<--compress> (beta testing)
+=item B<--compress>
 
 Compress temporary files. If the output is big and very compressible
 this will take up less disk space in $TMPDIR and possibly be faster
@@ -499,9 +499,9 @@
 first available.
 
 
-=item B<--compress-program> I<prg> (beta testing)
+=item B<--compress-program> I<prg>
 
-=item B<--decompress-program> I<prg> (beta testing)
+=item B<--decompress-program> I<prg>
 
 Use I<prg> for (de)compressing temporary files. It is assumed that I<prg
 -dc> will decompress stdin (standard input) to stdout (standard
@@ -514,9 +514,9 @@
 running on remote computers thus killing them.
 
 
-=item B<--delimiter> I<delim> (beta testing)
+=item B<--delimiter> I<delim>
 
-=item B<-d> I<delim> (beta testing)
+=item B<-d> I<delim>
 
 Input items are terminated by I<delim>.  Quotes and backslash are not
 special; every character in the input is taken literally.  Disables
@@ -568,7 +568,7 @@
 B<-E> nor B<-e> is used, no end of file string is used.
 
 
-=item B<--env> I<var> (alpha testing)
+=item B<--env> I<var> (beta testing)
 
 Copy environment variable I<var>. This will copy I<var> to the
 environment that the command is run in. This is especially useful for
@@ -782,7 +782,7 @@
 use B<-I> instead.
 
 
-=item B<--joblog> I<logfile> (beta testing)
+=item B<--joblog> I<logfile>
 
 Logfile for executed jobs. Save a list of the executed jobs to
 I<logfile> in the following TAB separated format: sequence number,
@@ -1039,9 +1039,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
@@ -1068,7 +1068,7 @@
 See also: B<--recstart>, B<--recend>, B<--fifo>, B<--cat>, B<--pipepart>.
 
 
-=item B<--pipepart> (alpha testing)
+=item B<--pipepart> (beta testing)
 
 Pipe parts of a physical file. B<--pipepart> works similar to
 B<--pipe>, but is much faster. It has a few limitations:
@@ -1162,13 +1162,13 @@
 on remote computers).
 
 
-=item B<--number-of-cpus> (beta testing)
+=item B<--number-of-cpus>
 
 Print the number of physical CPUs and exit (used by GNU B<parallel>
 itself to determine the number of physical CPUs on remote computers).
 
 
-=item B<--number-of-cores> (beta testing)
+=item B<--number-of-cores>
 
 Print the number of CPU cores and exit (used by GNU B<parallel> itself
 to determine the number of CPU cores on remote computers).
@@ -1180,7 +1180,7 @@
 B<~/.parallel/config>).
 
 
-=item B<--nice> I<niceness> (beta testing)
+=item B<--nice> I<niceness>
 
 Run the command at this niceness. For simple commands you can just add
 B<nice> in front of the command. But if the command consists of more
@@ -1441,7 +1441,7 @@
 impossible to track which input block corresponds to which output.
 
 
-=item B<--rpl> 'I<tag> I<perl expression>' (beta testing)
+=item B<--rpl> 'I<tag> I<perl expression>'
 
 Use I<tag> as a replacement string for I<perl expression>. This makes
 it possible to define your own replacement strings. GNU B<parallel>'s
@@ -1616,7 +1616,7 @@
 composed commands for GNU B<parallel>.
 
 
-=item B<--shuf> (alpha testing)
+=item B<--shuf> (beta testing)
 
 Shuffle jobs. When having multiple input sources it is hard to
 randomize jobs. --shuf will generate all jobs, and shuffle them before
@@ -1781,7 +1781,7 @@
 B<--tag> is ignored when using B<-u>.
 
 
-=item B<--tagstring> I<str> (beta testing)
+=item B<--tagstring> I<str>
 
 Tag lines with a string. Each output line will be prepended with
 I<str> and TAB (\t). I<str> can contain replacement strings such as
@@ -1798,7 +1798,7 @@
 setting $TMPDIR.
 
 
-=item B<--tmux> (beta testing)
+=item B<--tmux>
 
 Use B<tmux> for output. Start a B<tmux> session and run each job in a
 window in that session. No other output will be produced.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/parallel.texi 
new/parallel-20150522/src/parallel.texi
--- old/parallel-20150422/src/parallel.texi     2015-04-22 18:30:54.000000000 
+0200
+++ new/parallel-20150522/src/parallel.texi     2015-05-21 23:33:10.000000000 
+0200
@@ -564,8 +564,8 @@
 @emph{regexp} is a Perl Regular Expression:
 http://perldoc.perl.org/perlre.html
 
-@item @strong{--compress} (beta testing)
-@anchor{@strong{--compress} (beta testing)}
+@item @strong{--compress}
+@anchor{@strong{--compress}}
 
 Compress temporary files. If the output is big and very compressible
 this will take up less disk space in $TMPDIR and possibly be faster
@@ -575,11 +575,11 @@
 @strong{plzip}, @strong{bzip2}, @strong{lzma}, @strong{lzip}, @strong{xz} in 
that order, and use the
 first available.
 
-@item @strong{--compress-program} @emph{prg} (beta testing)
-@anchor{@strong{--compress-program} @emph{prg} (beta testing)}
+@item @strong{--compress-program} @emph{prg}
+@anchor{@strong{--compress-program} @emph{prg}}
 
-@item @strong{--decompress-program} @emph{prg} (beta testing)
-@anchor{@strong{--decompress-program} @emph{prg} (beta testing)}
+@item @strong{--decompress-program} @emph{prg}
+@anchor{@strong{--decompress-program} @emph{prg}}
 
 Use @emph{prg} for (de)compressing temporary files. It is assumed that 
@emph{prg
 -dc} will decompress stdin (standard input) to stdout (standard
@@ -591,11 +591,11 @@
 If receiving SIGNING, GNU @strong{parallel} will send SIGINT to tasks
 running on remote computers thus killing them.
 
-@item @strong{--delimiter} @emph{delim} (beta testing)
-@anchor{@strong{--delimiter} @emph{delim} (beta testing)}
+@item @strong{--delimiter} @emph{delim}
+@anchor{@strong{--delimiter} @emph{delim}}
 
-@item @strong{-d} @emph{delim} (beta testing)
-@anchor{@strong{-d} @emph{delim} (beta testing)}
+@item @strong{-d} @emph{delim}
+@anchor{@strong{-d} @emph{delim}}
 
 Input items are terminated by @emph{delim}.  Quotes and backslash are not
 special; every character in the input is taken literally.  Disables
@@ -649,8 +649,8 @@
 If @emph{eof-str} is omitted, there is no end of file string.  If neither
 @strong{-E} nor @strong{-e} is used, no end of file string is used.
 
-@item @strong{--env} @emph{var} (alpha testing)
-@anchor{@strong{--env} @emph{var} (alpha testing)}
+@item @strong{--env} @emph{var} (beta testing)
+@anchor{@strong{--env} @emph{var} (beta testing)}
 
 Copy environment variable @emph{var}. This will copy @emph{var} to the
 environment that the command is run in. This is especially useful for
@@ -878,8 +878,8 @@
 specified, and for @strong{-I}@{@} otherwise.  This option is deprecated;
 use @strong{-I} instead.
 
-@item @strong{--joblog} @emph{logfile} (beta testing)
-@anchor{@strong{--joblog} @emph{logfile} (beta testing)}
+@item @strong{--joblog} @emph{logfile}
+@anchor{@strong{--joblog} @emph{logfile}}
 
 Logfile for executed jobs. Save a list of the executed jobs to
 @emph{logfile} in the following TAB separated format: sequence number,
@@ -1160,11 +1160,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
@@ -1190,8 +1190,8 @@
 
 See also: @strong{--recstart}, @strong{--recend}, @strong{--fifo}, 
@strong{--cat}, @strong{--pipepart}.
 
-@item @strong{--pipepart} (alpha testing)
-@anchor{@strong{--pipepart} (alpha testing)}
+@item @strong{--pipepart} (beta testing)
+@anchor{@strong{--pipepart} (beta testing)}
 
 Pipe parts of a physical file. @strong{--pipepart} works similar to
 @strong{--pipe}, but is much faster. It has a few limitations:
@@ -1289,14 +1289,14 @@
 exit (used by GNU @strong{parallel} itself to determine the line length
 on remote computers).
 
-@item @strong{--number-of-cpus} (beta testing)
-@anchor{@strong{--number-of-cpus} (beta testing)}
+@item @strong{--number-of-cpus}
+@anchor{@strong{--number-of-cpus}}
 
 Print the number of physical CPUs and exit (used by GNU @strong{parallel}
 itself to determine the number of physical CPUs on remote computers).
 
-@item @strong{--number-of-cores} (beta testing)
-@anchor{@strong{--number-of-cores} (beta testing)}
+@item @strong{--number-of-cores}
+@anchor{@strong{--number-of-cores}}
 
 Print the number of CPU cores and exit (used by GNU @strong{parallel} itself
 to determine the number of CPU cores on remote computers).
@@ -1307,8 +1307,8 @@
 Overrides an earlier @strong{--keep-order} (e.g. if set in
 @strong{~/.parallel/config}).
 
-@item @strong{--nice} @emph{niceness} (beta testing)
-@anchor{@strong{--nice} @emph{niceness} (beta testing)}
+@item @strong{--nice} @emph{niceness}
+@anchor{@strong{--nice} @emph{niceness}}
 
 Run the command at this niceness. For simple commands you can just add
 @strong{nice} in front of the command. But if the command consists of more
@@ -1593,8 +1593,8 @@
 @strong{--keep-order} will not work with @strong{--round-robin} as it is
 impossible to track which input block corresponds to which output.
 
-@item @strong{--rpl} '@emph{tag} @emph{perl expression}' (beta testing)
-@anchor{@strong{--rpl} '@emph{tag} @emph{perl expression}' (beta testing)}
+@item @strong{--rpl} '@emph{tag} @emph{perl expression}'
+@anchor{@strong{--rpl} '@emph{tag} @emph{perl expression}'}
 
 Use @emph{tag} as a replacement string for @emph{perl expression}. This makes
 it possible to define your own replacement strings. GNU @strong{parallel}'s
@@ -1792,8 +1792,8 @@
 Does not run the command but quotes it. Useful for making quoted
 composed commands for GNU @strong{parallel}.
 
-@item @strong{--shuf} (alpha testing)
-@anchor{@strong{--shuf} (alpha testing)}
+@item @strong{--shuf} (beta testing)
+@anchor{@strong{--shuf} (beta testing)}
 
 Shuffle jobs. When having multiple input sources it is hard to
 randomize jobs. --shuf will generate all jobs, and shuffle them before
@@ -1967,8 +1967,8 @@
 
 @strong{--tag} is ignored when using @strong{-u}.
 
-@item @strong{--tagstring} @emph{str} (beta testing)
-@anchor{@strong{--tagstring} @emph{str} (beta testing)}
+@item @strong{--tagstring} @emph{str}
+@anchor{@strong{--tagstring} @emph{str}}
 
 Tag lines with a string. Each output line will be prepended with
 @emph{str} and TAB (\t). @emph{str} can contain replacement strings such as
@@ -1984,8 +1984,8 @@
 different dir for the files. Setting @strong{--tmpdir} is equivalent to
 setting $TMPDIR.
 
-@item @strong{--tmux} (beta testing)
-@anchor{@strong{--tmux} (beta testing)}
+@item @strong{--tmux}
+@anchor{@strong{--tmux}}
 
 Use @strong{tmux} for output. Start a @strong{tmux} session and run each job 
in a
 window in that session. No other output will be produced.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/parallel_design.7 
new/parallel-20150522/src/parallel_design.7
--- old/parallel-20150422/src/parallel_design.7 2015-04-22 22:19:32.000000000 
+0200
+++ new/parallel-20150522/src/parallel_design.7 2015-05-10 17:07:00.000000000 
+0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "PARALLEL_DESIGN 7"
-.TH PARALLEL_DESIGN 7 "2015-04-22" "20150322" "parallel"
+.TH PARALLEL_DESIGN 7 "2015-04-22" "20150422" "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-20150422/src/parallel_design.pdf and 
new/parallel-20150522/src/parallel_design.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/parallel_tutorial.7 
new/parallel-20150522/src/parallel_tutorial.7
--- old/parallel-20150422/src/parallel_tutorial.7       2015-04-06 
22:16:04.000000000 +0200
+++ new/parallel-20150522/src/parallel_tutorial.7       2015-05-13 
10:15:56.000000000 +0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "PARALLEL_TUTORIAL 7"
-.TH PARALLEL_TUTORIAL 7 "2015-04-06" "20150322" "parallel"
+.TH PARALLEL_TUTORIAL 7 "2015-05-13" "20150422" "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-20150422/src/parallel_tutorial.pdf and 
new/parallel-20150522/src/parallel_tutorial.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/sem 
new/parallel-20150522/src/sem
--- old/parallel-20150422/src/sem       2015-04-23 00:31:33.000000000 +0200
+++ new/parallel-20150522/src/sem       2015-05-21 23:32:47.000000000 +0200
@@ -725,7 +725,6 @@
         "use-cpus-instead-of-cores" => \$opt::use_cpus_instead_of_cores,
         "shellquote|shell_quote|shell-quote" => \$opt::shellquote,
         "nice=i" => \$opt::nice,
-        "timeout=s" => \$opt::timeout,
         "tag" => \$opt::tag,
         "tagstring|tag-string=s" => \$opt::tagstring,
         "onall" => \$opt::onall,
@@ -751,9 +750,7 @@
         "compress" => \$opt::compress,
         "tty" => \$opt::tty,
         "T" => \$opt::retired,
-        "halt-on-error|halt=s" => \$opt::halt,
         "H=i" => \$opt::retired,
-        "retries=i" => \$opt::retries,
         "dry-run|dryrun" => \$opt::dryrun,
         "progress" => \$opt::progress,
         "eta" => \$opt::eta,
@@ -779,7 +776,11 @@
         "xapply" => \$opt::xapply,
         "bibtex" => \$opt::bibtex,
         "wc|willcite|will-cite|nn|nonotice|no-notice" => \$opt::willcite,
+        # Termination and retries
+        "halt-on-error|halt=s" => \$opt::halt,
         "memfree=s" => \$opt::memfree,
+        "retries=i" => \$opt::retries,
+        "timeout=s" => \$opt::timeout,
         # xargs-compatibility - implemented, man, testsuite
         "max-procs|P=s" => \$opt::jobs,
         "delimiter|d=s" => \$opt::d,
@@ -1053,7 +1054,7 @@
 
 sub init_globals {
     # Defaults:
-    $Global::version = 20150422;
+    $Global::version = 20150522;
     $Global::progname = 'parallel';
     $Global::infinity = 2**31;
     $Global::debug = 0;
@@ -3276,17 +3277,17 @@
               "please cite:",
               "",
                "\@article{Tange2011a,",
-              " title = {GNU Parallel - The Command-Line Power Tool},",
-              " author = {O. Tange},",
-              " address = {Frederiksberg, Denmark},",
-              " journal = {;login: The USENIX Magazine},",
-              " month = {Feb},",
-              " number = {1},",
-              " volume = {36},",
-              " url = {http://www.gnu.org/s/parallel},";,
-              " year = {2011},",
-              " pages = {42-47}",
-              " doi = {10.5281/zenodo.16303}",
+              "  title = {GNU Parallel - The Command-Line Power Tool},",
+              "  author = {O. Tange},",
+              "  address = {Frederiksberg, Denmark},",
+              "  journal = {;login: The USENIX Magazine},",
+              "  month = {Feb},",
+              "  number = {1},",
+              "  volume = {36},",
+              "  url = {http://www.gnu.org/s/parallel},";,
+              "  year = {2011},",
+              "  pages = {42-47}",
+              "  doi = {10.5281/zenodo.16303}",
               "}",
               "",
               "(Feel free to use \\nocite{Tange2011a})",
@@ -3599,6 +3600,10 @@
                ::debug("init", "shell path $shellpath\n");
                $shellpath and last;
            }
+           if($testpid == $parent_of_ref->{$testpid}) {
+               # In Solaris zones, the PPID of the zsched process is itself
+               last;
+           }
            $testpid = $parent_of_ref->{$testpid};
        }
        return $shellpath;
@@ -6263,24 +6268,29 @@
            }
        }
        if($opt::cat) {
-           # Prepend 'cat > {};'
-           # Append 'unlink {} without affecting $?'
+# Append 'unlink {} without affecting $?'
            $command =
                $self->{'commandline'}->replace_placeholders(["cat > 
\257<\257>; "], 0, 0).
                $command.";". postpone_exit_and_cleanup().
-               $self->{'commandline'}->replace_placeholders(["\257<\257>"], 0, 
0);
+               '$PARALLEL_TMP';
        } elsif($opt::fifo) {
            # Prepend 'mkfifo {}; ('
            # Append ') & _PID=$!; cat > {}; wait $_PID; '
            # (This makes it fail in csh, but give the correct exit code in 
bash)
            # Append 'unlink {} without affecting $?'
+           # Set $ENV{PARALLEL_TMP} when starting a job
+           # Set $ENV{PARALLEL_TMP} in the remote wrapper
+           # mkfifo $PARALLEL_TMP;
+           # {} = $PARALLEL_TMP;
+           # (...) &
+           # cat > $PARALLEL_TMP; wait \$_PID; cleanup $PARALLEL_TMP
+           # perl -e 'open($fifo,">",shift); while(read){print FIFO};unlink 
$fifo;waitpid($pid,0);exit $?' $! $PARALLEL_FIFO
            $command =
-               $self->{'commandline'}->replace_placeholders(["mkfifo 
\257<\257>;\n ("], 0, 0).
+               "mkfifo \$PARALLEL_TMP\n (".
                $command.";".
-               $self->{'commandline'}->replace_placeholders([") & _PID=\$!; 
cat > \257<\257>; ",
-                                           "wait \$_PID; "]).
+               ') & _PID=$!; cat > $PARALLEL_TMP; wait $_PID; '.
                postpone_exit_and_cleanup().
-               $self->{'commandline'}->replace_placeholders(["\257<\257>"], 0, 
0);
+               '$PARALLEL_TMP';
        }
        # Wrap with ssh + tranferring of files
        $command = $self->sshlogin_wrap($command);
@@ -6401,7 +6411,13 @@
            $monitor_parent_sshd_script =
                # This will be packed in ', so only use "
                ::spacefree(0,'$shell = "'.($ENV{'PARALLEL_SHELL'} || 
'$ENV{SHELL}').'";'.
-                       q{
+                           '$tmpdir = 
"'.::perl_quote_scalar($ENV{'TMPDIR'}).'";'.
+                           q{
+               # Set $PARALLEL_TMP to a non-existent file name in $TMPDIR
+               do {
+                   $ENV{PARALLEL_TMP} = $tmpdir."/par".
+                       join"", map { (0..9,"a".."z","A".."Z")[rand(62)] } 
(1..5);
+               } while(-e $ENV{PARALLEL_TMP});
                 $SIG{CHLD} = sub { $done = 1; };
                $pid = fork;
                 unless($pid) {
@@ -6828,6 +6844,7 @@
     }
     $ENV{'PARALLEL_SEQ'} = $job->seq();
     $ENV{'PARALLEL_PID'} = $$;
+    $ENV{'PARALLEL_TMP'} = ::tmpname("par");
     ::debug("run", $Global::total_running, " processes . Starting (",
            $job->seq(), "): $command\n");
     if($opt::pipe) {
@@ -6936,12 +6953,8 @@
        my $self = shift;
        my $actual_command = shift;
        # Temporary file name. Used for fifo to communicate exit val
-       my ($fh, $tmpfifo) = ::tmpfile(SUFFIX => ".tmx");
-       $Global::unlink{$tmpfifo} = 1;
-       close $fh;
-       unlink $tmpfifo;
-#      # FIFO for communicating exit val
-#      my $tmpfifo = ::tmpfifo();
+       my $tmpfifo=::tmpname("tmx");
+
        if(length($tmpfifo) >=100) {
            ::error("tmux does not support sockets with path > 100\n");
            ::wait_and_exit(255);
@@ -6959,12 +6972,13 @@
 
        my $l_act = length($actual_command);
        my $l_tit = length($title);
+       my $l_fifo = length($tmpfifo);
        # The line to run contains a 118 chars extra code + the title 2x
-       my $l_tot = 2 * $l_tit + $l_act + 30;
+       my $l_tot = 2 * $l_tit + $l_act + $l_fifo;
 
        while($l_tit < 1000 and
              (
-              (900 < $l_tot and $l_tot < 1300)
+              (890 < $l_tot and $l_tot < 1350)
               or
               (9250 < $l_tot and $l_tot < 9800)
              )) {
@@ -6977,7 +6991,7 @@
            # 9331 < (title + whole command) < 9636
            $title = $title.('\ 'x75);
            $l_tit = length($title);
-           $l_tot = 2 * $l_tit + $l_act + 30;
+           $l_tot = 2 * $l_tit + $l_act + $l_fifo;
        }
 
        my $tmux;
@@ -6994,7 +7008,7 @@
                $Limits::Command::line_max_len, " tot ",
                $l_tot, "\n");
 
-       return "mkfifo $tmpfifo; $tmux ".
+       return "mkfifo $tmpfifo && $tmux ".
            # Run in tmux
            ::shell_quote_scalar
            (
@@ -7567,14 +7581,14 @@
     my $max_len = $Global::minimal_command_line_length || 
Limits::Command::max_length();
 
     if($opt::cat) {
-       # Generate a tempfile name that will be used as {}
+       # $PARALLEL_TMP will point to a tempfile that will be used as {}
        $Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}->
-           unget([Arg->new(::tmpname("cat"))]);
+           unget([Arg->new('$PARALLEL_TMP')]);
     }
     if($opt::fifo) {
-       # Generate a tempfile name that will be used as {}
+       # $PARALLEL_TMP will point to a tempfile that will be used as {}
        $Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}->
-           unget([Arg->new(::tmpname("fif"))]);
+           unget([Arg->new('$PARALLEL_TMP')]);
     }
     while (not $self->{'arg_queue'}->empty()) {
        $next_arg = $self->{'arg_queue'}->get();
@@ -7868,6 +7882,8 @@
     if(not defined $self->{'replaced'}) {
        # Don't quote arguments if the input is the full command line
        my $quote_arg = $Global::noquote ? 0 : not $Global::quoting;
+       # or if ($opt::cat or $opt::pipe) as they use $PARALLEL_TMP
+       $quote_arg = ($opt::cat || $opt::fifo) ? 0 : $quote_arg;
        $self->{'replaced'} = $self->
            replace_placeholders($self->{'command'},$Global::quoting,
                                 $quote_arg);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/sem.1 
new/parallel-20150522/src/sem.1
--- old/parallel-20150422/src/sem.1     2015-01-15 00:44:37.000000000 +0100
+++ new/parallel-20150522/src/sem.1     2015-05-13 10:15:56.000000000 +0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SEM 1"
-.TH SEM 1 "2015-01-03" "20150109" "parallel"
+.TH SEM 1 "2015-05-13" "20150422" "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-20150422/src/sem.pdf and new/parallel-20150522/src/sem.pdf 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-20150422/src/sql 
new/parallel-20150522/src/sql
--- old/parallel-20150422/src/sql       2015-04-23 00:16:38.000000000 +0200
+++ new/parallel-20150522/src/sql       2015-05-21 23:32:47.000000000 +0200
@@ -566,7 +566,7 @@
 exit ($err);
 
 sub parse_options {
-    $Global::version = 20150422;
+    $Global::version = 20150522;
     $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-20150422/src/sql.1 
new/parallel-20150522/src/sql.1
--- old/parallel-20150422/src/sql.1     2015-04-23 00:16:55.000000000 +0200
+++ new/parallel-20150522/src/sql.1     2015-05-21 23:33:00.000000000 +0200
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "SQL 1"
-.TH SQL 1 "2015-04-23" "20150422" "parallel"
+.TH SQL 1 "2015-05-21" "20150522" "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-20150422/src/sql.pdf and new/parallel-20150522/src/sql.pdf 
differ

++++++ parallel-20150422.tar.bz2.sig -> parallel-20150522.tar.bz2.sig ++++++
--- /work/SRC/openSUSE:Factory/gnu_parallel/parallel-20150422.tar.bz2.sig       
2015-04-27 22:09:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gnu_parallel.new/parallel-20150522.tar.bz2.sig  
2015-05-24 19:34:23.000000000 +0200
@@ -2,7 +2,7 @@
 
 # To check the signature run:
 #  echo | gpg
-#  gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve 
parallel-20150422.tar.bz2.sig
+#  gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve 
parallel-20150522.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 v2.0.22 (GNU/Linux)
 
-iQTwBAABCgAGBQJVOCnuAAoJENGrRRaIiIiIXZkmmQHHtzQPMWzetWZgOW1O6xdA
-bqi8+9hOQxLaOoZIX+K1hLLYsiTQ3fjOGOmLPqy5ISGbI9cCqKO54OR+OMOvplit
-6YYmGgs1A8NBZThoXjga87tMu4mfbMqiacQVcXTVUzTT3PG5JWNgJ7dmhgbOeLb0
-B2esDduIm8TUNmTEb+AcAF6sg3B3nSPLqYgpAILUWxscbHEoffuKEzCXP6NhOMMw
-gtEz2EEDoIR49/4MgWBs6ocCKNgY+1q5/4X8UgxsoEKBW7gkvXzZnFF934syYW/w
-n5yWXpelJix8GxNjASK7U461WpZ9s7RR9vuemekJYYBHWCsM6HquRL0NTKBBvjht
-uAINwBp2KAY4YyRf3FI7h4cR7EkAOiqi1WPVL7KlA9uwa03TcL6yAF5CsKMUsLQ4
-i5Mv8ifhdBWs4LoUsBmgtrNih7BSOQhlOrkOz7d7GTYWRDB6gTrarj26K9LXXpcy
-j/DzhHf8ENnfTiKTgGMqanplJlsztMPZ4OCUde3D7bDlWhUZYvWxPt0xQ8/Rk16k
-V80FulTJjm4AHRkb+Vmw+tHOsT8sJ3Fq+ROhFhJJ/c0O8VMob5HKWQd6NveLAfbd
-AK0Tnj3bjiJ7RPyvDLqV+OTkmW3aB+MdJILyYD0VjXlftxZkhM7jjw/2D5YUa/bZ
-Q9mEjkgf/AF9O/GbZ822DWPOLME5PftQ4NXQNuGXfbvTJ3VpZI3t55NyWx4GBFLh
-y+XWSMgo2suZzp5ML1NlBhs+uoTopXrtMGXIBOJB9OYY23jMsNzg23v7hWzROoWh
-qBfxsyr5m5DZugoplzhgEBObSt6PuebfnIe/74n41yoXvBFwSFfjc2btyfEtLmik
-oq8RynaEcvuli32iGsZBoCqyYJ/d9lo31SYENBx3m6LzW64DcQnjlDQBQi7+5Zni
-spMJ4TrCGOpHDeq1bqbuyKsGIzODFV0GF2hsbXUzIEuABN2mtGhF3Vss2S73q8l4
-O1BA6IkyAe7jCA7Iv3BzWnWqmfGD1Zi18qeEmUYm+2kg/2Tg2vmO3OjMTzGyoqTi
-/Uk0tSkPrqpKGaf5oU0nbpDIdNQbB4iMEJCF4gGcgRe76Q5iNT2x+Z288aJk3ULq
-rQ72h1KLVM0mRYwVhJq8PP2dV/r7ePZW3PYa2xPZH/WL2nG1N9ZegzwDhtgznVnU
-KSZihoMAD9OxqCd6pwyTQfcf9O+gnDLJS3KogzNEJIVa6zQMwXdHJU0tu+8lwbPR
-I2ir/NcVoibfBINPP9ttPZ6s6Rzk4LlYHaihwqoNyh7LcJFTbwiGq0uYkypr41WG
-hTcRAnwinXcMfB4O33ogvySNxs5WtlQYMu06TlvMwRMVRspP9dD9rKrIx+O/7RDY
-GezQDyorEH2dHwjCh2mEMm8deThlAF6xVOk7AbI0aLccHuNfWyuLkA2ltkRZz8oi
-3pN0syzX5X6lAujz/1y967peI8Fvexg9wxiYfxuAlLhiAuO3qDCcrFV7jAQ2eH+l
-huvIELGbffLBC9rFEwobyQe9+go3XAuJBDtQpcMPn2QXDHNYDrmxUgtPNyfAgsNG
-BZlpMfSKuMeJysOg4+2s6X8CbD3tiNm2nAFD2lbTN7k/npBiTtsHmkTCuK/G4kjR
-+0StKFRKIo4qOoG5sMXLYwfH0A==
-=7QLH
+iQTwBAABCgAGBQJVXlxEAAoJENGrRRaIiIiIzGcmmwZXDHq51OpxTtxcBh7TNHQe
+LRj7/0z1oFJhlnsiLgpypjWKWWWiXsJOLC8RQXvO84TulrJz7tWT383dBCbOowAY
+ZC/kWz7yB8NDV5cP6jqw9vJ6AUMeARAih249IgTvZeHuviUVVabfE8NKCsJWCDfF
+KbHG/Itk17Th2nvaUhYZ0RdSgmcy9QLpzjavfdu4elJ9oBkt9yx1e32qXsbc8wRu
+jE1aLaP7faHYDEz9dCZbb90gQuMOR77RNmbsubaxHMTX+cvKK6LTGQb+7Rq7pv5I
+QCqqCfa9bX7uF1k175dzpkTOZR2PoIPc2s5mx8tjrzOddRH/a3USEbFjrsEtI9sT
+bKIz4xCsbGhCQy/XUsaTuihS2Fsy8x7R7qK0JYvD7OtL1bs5Hp69VycjH5it5Ulz
+JrCc0K1uIdQB0TpwWJq7IDq7dxDV2g/fed78bANq+yqgMCI9kFKHkxK7VOGpHC/n
+u3u3lmUo6ikC4rQ3kQLmtQ0tywXBgFx1NMhD40S/bcQDU2GLd9t2dWuUrMsQoe/q
+CrXSxhxLD2ckWJnWwCwGl42xXryL1++0IY0sw/44H1qZeVUXqgHPre5AKMPKVhfI
+7ixer53qRLape7H4OA1i4zlded70snVPQEYGdrwqiKQFHMyVgfPQfv0ZwnJZJgdA
+Y3OncFeHjnc+xuBEM4gq02cN8gf8NPy+WmXF7UwfPPxKqNzNiFlzfaO2QIYS+g9a
+SRiU1ZiHy/+W24NDuBvOjcNAs3KP2wqgKctDVyFVT97X2u98EjiRgjlmzyGscC4F
+kz+8Jo0Tpn0R/C+h+eKEYJrLeTUThbVNNaGssfZo704p0Yms0BIK1QInT1EfjDF6
+72yR26yR7zi8bpfJSE8AcMV/eKZIeNwZ59vPyhchZTKxL/EJ/oSZraTLRhcJF2pF
+E0yaXsezFvkoHwjSgIjo9kppN8Lhuh846BGL3ua7r/25qcCSxa79cf2Xocexonku
+QfK4G2tom3yjoH7NDm12FQM6uFKB2AmZLzldfF9V+Q7sGdYeBdFH+47B50iUhwV0
+LzlZifAF/28ax59wn5qdn1PZ10j+y37OcZWXoRDXSKGC14yW5JSy/H2CHn9ygJV7
+zoszw41qlkpeTkxgEtSK9Waew2kphxaMGkaTxh7VCqreFPf7u5E4Q3jQlKtI1cym
+OFSyGjuls7KcokJH1RZhI4eVVArSMB5a5eVThBiPzw/OILXR3EBXNRS5EOUgkLB5
+rYh6xuJvHpBHWRl9WpdOLXJ2QCocWJ7LRat3ImEeEgHcrrEbc7UU9LLCIKVMxITV
+sea8zAHPlaId6LkDstRETxNeUlZIOX9iBxzyoLVE3KZElawCPKHyFmaN5wKjm2BP
+KRELtvtWs+aRshVlxQoNm5LO77qbSR2hNSRwwUbFe4lO3TxsbRm6Lb7+SDBka84a
+YEbSPo0ZkDclYyfWmpLBeoRaqHGA70aUvvGvC2C6UOas0w6pLLxWjS7zq+Poieys
+WtLUc1OvQc3ozmlU0CVfJ8eBX5wr8TKADScvuMyxHlda8O9INmswhjppFROBj/wM
+9IzLVotlsHRs4thuv1h8L1GHj5JZPlUI1qwIgJfQ7tGIbULKRurZwxvn40fi77Tw
+5qKM6yrcCuR4XciH4asjrA5XXA==
+=qvDl
 -----END PGP SIGNATURE-----


Reply via email to