users/12461: fix quoting of mount points for umount

This commit is contained in:
Peter Stephenson 2008-01-19 19:37:01 +00:00
parent b44aef2754
commit 9382be3347
2 changed files with 26 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2008-01-19 Peter Stephenson <p.w.stephenson@ntlworld.com>
* users/12461: Completion/Unix/Command/_mount: mount points
weren't completed properly for umount.
2008-01-18 Barton E. Schaefer <schaefer@zsh.org>
* users/12453: Functions/Misc/xtermctl: X11 window control for

View File

@ -867,8 +867,27 @@ udevordir)
;;
esac
dpath_tmp=( "${(@M)dev_tmp:#/*}" )
dev_tmp=( "${(@)dev_tmp:#/*}" )
# "Mummy, why is mount point matching full of squiggles?"
#
# "Well, dear, the clever people who wrote Linux decided that some
# funny characters that might confuse programmes looking at the names
# would be encoded as octal escapes, like for example \040 for space.
# The clever people who wrote zsh decided that nothing would
# ever be quite as simple as it should be, so to substitute octal
# escapes everywhere in a string, even though the shell understands
# them natively in print escapes, needs some hackery where you match
# the octal number using the numeric closure syntax introduced after
# 4.3.4, then reinput the number in a standard math mode format as 8#OOO,
# and turn that into a character using the (#) parameter flag."
#
# "Mummy, why is nothing ever quite as simple as it should be?"
#
# "Well, dear, if it was then the clever people who write programmes would
# have been replaced by intelligent monkeys and then they'd be out
# of working roaming the streets, and we wouldn't want that, would we?"
mp_tmp=("${(@q)mp_tmp//(#m)\\[0-7](#c3)/${(#)$(( 8#${MATCH[2,-1]} ))}}")
dpath_tmp=( "${(@Mq)dev_tmp:#/*}" )
dev_tmp=( "${(@q)dev_tmp:#/*}" )
_alternative \
'device-labels:device label:compadd -a dev_tmp' \