summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Completion/Unix/Type/_path_files6
1 files changed, 5 insertions, 1 deletions
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files
index 8bc9373a1..2e851058f 100644
--- a/Completion/Unix/Type/_path_files
+++ b/Completion/Unix/Type/_path_files
@@ -247,7 +247,11 @@ if [[ "$pre" = [^][*?#^\|\<\>\\]#(\`[^\`]#\`|\$)*/* && "$compstate[quote]" != \'
# meant as a partial path.
linepath="${(M)pre##*\$[^/]##/}"
- eval 'realpath=${(e)~linepath}' 2>/dev/null
+ function {
+ # do not treat an unset parameter expansion as the empty string
+ setopt localoptions nounset
+ eval 'realpath=${(e)~linepath}' 2>/dev/null
+ }
[[ -z "$realpath" || "$realpath" = "$linepath" ]] && return 1
pre="${pre#${linepath}}"
i='[^/]'