about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-07-10 10:05:05 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-07-10 10:05:05 +0000
commit10878a43eb7373ec6774477b15810b7616e5bdc7 (patch)
treed155528d5205124427ef6f3986ae390e3c1428df
parentbe76af4372019d5d9a16b9aa3324d98cbec57fe0 (diff)
downloadzsh-10878a43eb7373ec6774477b15810b7616e5bdc7.tar.gz
zsh-10878a43eb7373ec6774477b15810b7616e5bdc7.tar.xz
zsh-10878a43eb7373ec6774477b15810b7616e5bdc7.zip
18841: work around problem which caused the whole word to be removed
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Base/Completer/_prefix6
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d5576ea4a..dd9707722 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-09  Oliver Kiddle  <opk@zsh.org>
+
+	* 18841: Completion/Base/Completer/_prefix: work around problem
+	where the unambiguous part is empty making the word be removed
+
 2003-07-07  Oliver Kiddle  <opk@zsh.org>
 
 	* 18822: Completion/Base/Completer/_expand
diff --git a/Completion/Base/Completer/_prefix b/Completion/Base/Completer/_prefix
index 3ec153245..a198f4cfb 100644
--- a/Completion/Base/Completer/_prefix
+++ b/Completion/Base/Completer/_prefix
@@ -48,7 +48,11 @@ for tmp in "$comp[@]"; do
       [[ compstate[nmatches] -gt 1 ]] && return 0
       compadd -U -i "$IPREFIX" -I "$ISUFFIX" - "${compstate[unambiguous]%$suf}x"
       compstate[list]=
-      compstate[insert]=unambiguous
+      if [[ -n $compstate[unambiguous] ]]; then
+        compstate[insert]=unambiguous
+      else
+        compstate[insert]=0
+      fi
       return 0
     fi
     (( _matcher_num++ ))