parallel: Fixed bug #51290: Macron with -q.

This commit is contained in:
Ole Tange 2017-06-23 07:44:14 +02:00
parent f3d117e7bb
commit 215aa6039f
3 changed files with 19 additions and 12 deletions

View file

@ -216,6 +216,8 @@ New in this release:
* GNU Parallel was cited in: * GNU Parallel was cited in:
* GNU Parallel was used in: https://libraries.io/rubygems/aai
<<Citation not OK: BAMClipper: removing primers from alignments to minimize false-negative mutations in amplicon next-generation sequencing https://www.nature.com/articles/s41598-017-01703-6>> <<Citation not OK: BAMClipper: removing primers from alignments to minimize false-negative mutations in amplicon next-generation sequencing https://www.nature.com/articles/s41598-017-01703-6>>
<<Wrong citation https://iris.sissa.it/retrieve/handle/20.500.11767/36149/10823/And%C3%B2_tesi.pdf>> <<Wrong citation https://iris.sissa.it/retrieve/handle/20.500.11767/36149/10823/And%C3%B2_tesi.pdf>>

View file

@ -1381,7 +1381,7 @@ sub check_invalid_option_combinations {
sub init_globals { sub init_globals {
# Defaults: # Defaults:
$Global::version = 20170623; $Global::version = 20170624;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::infinity = 2**31; $Global::infinity = 2**31;
$Global::debug = 0; $Global::debug = 0;
@ -9453,8 +9453,7 @@ sub replaced {
$perl_expressions_as_re = $perl_expressions_as_re =
join("|", map {s/^-?\d+//; "\Q$_\E"} keys %{$self->{'replacecount'}}); join("|", map {s/^-?\d+//; "\Q$_\E"} keys %{$self->{'replacecount'}});
# Fish out the words that have replacement strings in them # Fish out the words that have replacement strings in them
for my $word ( for my $word (fish_out_words_with_rpl_strings()) {
fish_out_words_with_rpl_strings()) {
# word = AB \257< perlexpr \257> CD \257< perlexpr \257> EF # word = AB \257< perlexpr \257> CD \257< perlexpr \257> EF
::debug("replace", "Replacing in $word\n"); ::debug("replace", "Replacing in $word\n");
my $normal_replace; my $normal_replace;
@ -9511,6 +9510,12 @@ sub replaced {
for(@target) { for(@target) {
s/\257\256/\257/g; s/\257\256/\257/g;
} }
if($opt::q) {
# \257 will be quoted too much
for(@target) {
s/\\\257\\\256/\\\257/g;
}
}
} }
::debug("replace", "Return @target\n"); ::debug("replace", "Return @target\n");
return wantarray ? @target : "@target"; return wantarray ? @target : "@target";

View file

@ -1621,23 +1621,23 @@ par_macron
par_macron ¯ ¯ par_macron ¯ ¯
par_macron ¯ ¯ par_macron ¯ ¯
par_macron ¯ par_macron ¯
par_macron ¯ ¯
par_macron "¯" ¯
par_macron ¯®
par_macron ¯®
par_macron ¯® ¯®
par_macron ¯® ¯®
par_macron ¯®
par_macron ¯® ¯ par_macron ¯® ¯
par_macron "¯®" ¯ par_macron "¯®" ¯
par_macron ¯®
par_macron ¯®
par_macron ¯® ¯®
par_macron ¯® ¯®
par_macron ¯®
par_macron ¯®® ¯®
par_macron "¯®®" ¯®
par_macron /bin/bash: -c: line 0: syntax error near unexpected token `newline' par_macron /bin/bash: -c: line 0: syntax error near unexpected token `newline'
par_macron /bin/bash: -c: line 0: `echo ¯<¯<¯>¯>' par_macron /bin/bash: -c: line 0: `echo ¯<¯<¯>¯>'
par_macron ¯<¯<¯>¯> par_macron ¯<¯<¯>¯>
par_macron /bin/bash: ¯: No such file or directory par_macron /bin/bash: ¯: No such file or directory
par_macron ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> par_macron ¯<¯<¯>¯>
par_macron ¯®®®®> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron "¯®®®®>" ¯<¯<¯>¯> par_macron "¯<¯<¯>¯>" ¯<¯<¯>¯>
par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB
par_pipepart_block_bigger_2G 1 1 4 par_pipepart_block_bigger_2G 1 1 4
par_python_children ### bug #49970: Python child process dies if --env is used par_python_children ### bug #49970: Python child process dies if --env is used