Permalink
Browse files

zsh.pl: escape ':' character

':' is interpreted as separator by zsh, so if used as part of the argument
or option's description it needs to be escaped.

The problem can be reproduced as follows:

 % curl --reso<TAB>
 % curl -E <TAB>

Bug: https://bugs.debian.org/921452
  • Loading branch information...
ghedo committed Feb 5, 2019
1 parent dbd32f3 commit b3cc8017b7364f588365be2b2629c49c142efdb7
Showing with 3 additions and 0 deletions.
  1. +3 −0 scripts/zsh.pl
@@ -45,9 +45,12 @@ sub parse_main_opts {

my $option = '';

$arg =~ s/\:/\\\:/g if defined $arg;

$desc =~ s/'/'\\''/g if defined $desc;
$desc =~ s/\[/\\\[/g if defined $desc;
$desc =~ s/\]/\\\]/g if defined $desc;
$desc =~ s/\:/\\\:/g if defined $desc;

$option .= '{' . trim($short) . ',' if defined $short;
$option .= trim($long) if defined $long;

0 comments on commit b3cc801

Please sign in to comment.