summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Core/_path_files9
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ed600dffc..763553d01 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2000-04-18 Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
+
+ * 10812: Completion/Core/_path_files: fix completion after ~<num>
+
2000-04-18 Peter Stephenson <pws@cambridgesiliconradio.com>
* 10808: Completion/Core/compinstall: handle list-prompt.
diff --git a/Completion/Core/_path_files b/Completion/Core/_path_files
index 1744c280b..10fe39869 100644
--- a/Completion/Core/_path_files
+++ b/Completion/Core/_path_files
@@ -170,7 +170,14 @@ if [[ "$pre[1]" = \~ ]]; then
realpath="${userdirs[$linepath]%/}/"
elif (( $+nameddirs[$linepath] )); then
realpath="${nameddirs[$linepath]%/}/"
- elif [[ "$linepath" = [-+][0-9]## ]]; then
+ elif [[ "$linepath" = ([-+]|)[0-9]## ]]; then
+ if [[ "$linepath" != [-+]* ]]; then
+ if [[ -o pushdminus ]]; then
+ linepath="-$linepath"
+ else
+ linepath="+$linepath"
+ fi
+ fi
if [[ "$linepath" = -* ]]; then
tmp=$(( $#dirstack $linepath ))
else