--max-line, -l, -L, --max-args, -n, --max-chars, -s now implies -X unless -m is set

This commit is contained in:
Ole Tange 2010-06-25 23:14:15 +02:00
parent d32787376a
commit b9156bb000

View file

@ -37,7 +37,8 @@ after the list of options. That will give you an idea of what GNU
B<parallel> is capable of. B<parallel> is capable of.
You can also watch the intro video for a quick introduction: You can also watch the intro video for a quick introduction:
http://www.youtube.com/watch?v=OpaiGYxkSuQ http://www.youtube.com/watch?v=OpaiGYxkSuQ or at
http://tinyogg.com/watch/TORaR/ and http://tinyogg.com/watch/hfxKj/
=head1 OPTIONS =head1 OPTIONS
@ -300,6 +301,8 @@ Use at most I<max-lines> nonblank input lines per command line.
Trailing blanks cause an input line to be logically continued on the Trailing blanks cause an input line to be logically continued on the
next input line. Implies B<-x>. next input line. Implies B<-x>.
Implies B<-X> unless B<-m> is set.
=item B<--max-lines>[=I<max-lines>] =item B<--max-lines>[=I<max-lines>]
@ -310,6 +313,8 @@ is optional. If I<max-lines> is not specified, it defaults to one.
The B<-l> option is deprecated since the POSIX standard specifies The B<-l> option is deprecated since the POSIX standard specifies
B<-L> instead. B<-L> instead.
Implies B<-X> unless B<-m> is set.
=item B<--controlmaster> (experimental) =item B<--controlmaster> (experimental)
@ -344,7 +349,7 @@ I<max-args> arguments will be used if the size (see the B<-s> option)
is exceeded, unless the B<-x> option is given, in which case is exceeded, unless the B<-x> option is given, in which case
GNU B<parallel> will exit. GNU B<parallel> will exit.
Only used with B<-m> and B<-X>. Implies B<-X> unless B<-m> is set.
=item B<--max-line-length-allowed> =item B<--max-line-length-allowed>
@ -436,6 +441,8 @@ the argument strings. The largest allowed value is system-dependent,
and is calculated as the argument length limit for exec, less the size and is calculated as the argument length limit for exec, less the size
of your environment. The default value is the maximum. of your environment. The default value is the maximum.
Implies B<-X> unless B<-m> is set.
=item B<--show-limits> =item B<--show-limits>
@ -1735,6 +1742,14 @@ sub parse_options {
$::opt_cleanup = 1; $::opt_cleanup = 1;
} }
if(($::opt_l || $::opt_L || $::opt_n || $::opt_s) and not
($::opt_m or $::opt_X)) {
# These --max-line, -l, -L, --max-args, -n, --max-chars, -s
# do not make sense without -X or -m
# so default to -X
$Global::Xargs = 1;
}
if(defined $::opt_a) { if(defined $::opt_a) {
if(not open(ARGFILE,"<",$::opt_a)) { if(not open(ARGFILE,"<",$::opt_a)) {
print STDERR "$Global::progname: ". print STDERR "$Global::progname: ".
@ -1880,7 +1895,7 @@ sub generate_command_line {
$job_line = $arg; $job_line = $arg;
} }
} }
debug("Return jobline: !$job_line!\n"); debug("Return jobline(".length($job_line)."): !$job_line!\n");
} }
return ($job_line,\@quoted_args); return ($job_line,\@quoted_args);
} }