summaryrefslogtreecommitdiff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Type/_canonical_paths5
1 files changed, 4 insertions, 1 deletions
diff --git a/Completion/Unix/Type/_canonical_paths b/Completion/Unix/Type/_canonical_paths
index 9bccc7f86..6482602ac 100644
--- a/Completion/Unix/Type/_canonical_paths
+++ b/Completion/Unix/Type/_canonical_paths
@@ -69,7 +69,10 @@ _canonical_paths_add_paths () {
expref=${~origpref} 2>/dev/null
[[ $origpref == (|*/). ]] && rltrim=.
curpref=${${expref%$rltrim}:-./}
- if zstat $curpref >&/dev/null; then
+ if [[ $expref:h == (.|..) ]]; then
+ _canonical_paths_pwd $expref:h
+ canpref=$REPLY/$expref:t
+ elif zstat $curpref >&/dev/null; then
_canonical_paths_get_canonical_path $curpref
canpref=$REPLY
else