diff options
author | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-09-06 23:40:55 +0000 |
---|---|---|
committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-09-06 23:41:00 +0000 |
commit | 831a336c494b55641b4ba2c8bb89a8acda2709f8 (patch) | |
tree | 935d76e460f4f543d1f517faa2f0a8c978bf565d | |
parent | 9a722df3a6643696a54421994c8908459e29a947 (diff) | |
download | zsh-831a336c494b55641b4ba2c8bb89a8acda2709f8.tar.gz zsh-831a336c494b55641b4ba2c8bb89a8acda2709f8.tar.xz zsh-831a336c494b55641b4ba2c8bb89a8acda2709f8.zip |
39171: _libvirt: Apply $opt_args-unescaping.
This causes the value of $conn_opt in the code not to have a backslash in front of the colon.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Unix/Command/_libvirt | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index d10ba8a26..be821de99 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2016-09-06 Daniel Shahaf <d.s@daniel.shahaf.name> + * 39171: Completion/Unix/Command/_libvirt: Apply + $opt_args-unescaping. + * unposted: Completion/Unix/Command/_libvirt: Escape $words elements to avoid their interpretation as a pattern against $_cache_virsh_cmds. diff --git a/Completion/Unix/Command/_libvirt b/Completion/Unix/Command/_libvirt index 8ddc28102..658e197dc 100644 --- a/Completion/Unix/Command/_libvirt +++ b/Completion/Unix/Command/_libvirt @@ -116,6 +116,7 @@ esac local -a conn_opt if [[ -n ${(v)opt_args[(I)-c|--connect]} ]]; then local uri=${(v)opt_args[(I)-c|--connect]} + uri=${uri//(#m)\\([\\:])/${MATCH[2]}} # opt_args elements are colon-escaped # For the libvirt remote URI syntax, see: # https://libvirt.org/guide/html/Application_Development_Guide-Architecture-Remote_URIs.html [[ -z ${(Q)uri//([[:alnum:]]|+|:|\/|@|-|\.|\?|=)} ]] && \ |