summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Completion/X/Command/_netscape5
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ee9e110a1..310405d26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2002-01-07 Sven Wischnowsky <wischnow@zsh.org>
+ * 16407: Completion/X/Command/_netscape: fix nested _tags-loops
+ by re-initialising the outer one when leaving the inner one
+
* 16406: Completion/Base/Completer/_approximate,
Completion/Unix/Type/_signals, Completion/X/Command/_netscape,
Completion/Zsh/Command/_kill, Doc/Zsh/builtins.yo: fixes for
diff --git a/Completion/X/Command/_netscape b/Completion/X/Command/_netscape
index 48b3fab7b..617ec37de 100644
--- a/Completion/X/Command/_netscape
+++ b/Completion/X/Command/_netscape
@@ -1,6 +1,6 @@
#compdef netscape
-local curcontext="$curcontext" state line ret=1 suf
+local curcontext="$curcontext" state line ret=1 suf files
typeset -A opt_args
_x_arguments -C \
@@ -68,7 +68,7 @@ fi
if [[ "$state" = "urls" ]]; then
_tags files urls
while _tags; do
- _requested files expl 'file' _files "$@" && ret=0
+ _requested files expl 'file' _files "$@" && files=yes ret=0
if _requested urls; then
# Complete netscape urls
if compset -P about: ; then
@@ -87,6 +87,7 @@ if [[ "$state" = "urls" ]]; then
done
(( ret )) || return 0
done
+ [[ -z "$files" ]] && _tags files
fi
fi
(( ret )) || return 0