summary refs log tree commit diff
path: root/Completion/X/_xmodmap
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/X/_xmodmap')
-rw-r--r--Completion/X/_xmodmap6
1 files changed, 4 insertions, 2 deletions
diff --git a/Completion/X/_xmodmap b/Completion/X/_xmodmap
index 6595d5adf..5c7fcf3fe 100644
--- a/Completion/X/_xmodmap
+++ b/Completion/X/_xmodmap
@@ -82,12 +82,14 @@ if [[ -n "$state" ]]; then
     [[ "$what" = *ksym* ]] && _x_keysym "$suf[@]" && ret=0
 
   else
-    if _wanted commands; then
+    _tags commands
+    while _tags; do
       while _next_label commands expl command; do
         compadd "$expl[@]" -S ' ' keycode keysym clear add remove && ret=0
         compadd "$expl[@]" -S ' = ' pointer && ret=0
       done
-    fi
+      (( ret )) || return 0
+    done
   fi
 fi