diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2007-11-10 14:30:22 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2007-11-10 14:30:22 +0000 |
commit | aa7e584ee80ca8a7107c7af59fd827a399ac93cd (patch) | |
tree | 37fddc71d3a7418e11994f29b2e4d835697c6575 | |
parent | 50c2a44e71ad38d5f1daba65f2b5ea9a65d4cf40 (diff) | |
download | zsh-aa7e584ee80ca8a7107c7af59fd827a399ac93cd.tar.gz zsh-aa7e584ee80ca8a7107c7af59fd827a399ac93cd.tar.xz zsh-aa7e584ee80ca8a7107c7af59fd827a399ac93cd.zip |
Mikael Magnusson, 24076; 24081: cancel argument processing after widget
calls with general arguments
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | Doc/Zsh/zle.yo | 4 | ||||
-rw-r--r-- | Functions/Zle/backward-kill-word-match | 2 | ||||
-rw-r--r-- | Functions/Zle/delete-whole-word-match | 4 | ||||
-rw-r--r-- | Functions/Zle/kill-word-match | 2 |
5 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index 7a3502f92..e2dd2b900 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-11-10 Peter Stephenson <p.w.stephenson@ntlworld.com> + + * Mikael Magnusson, 24076; 24081: Doc/Zsh/zle.yo, + Functions/Zle/backward-kill-word-match, + Functions/Zle/delete-whole-word-match, + Functions/Zle/kill-word-match: need to cancel option + processing with -- after widget calls with arguments. + 2007-11-09 Wayne Davison <wayned@users.sourceforge.net> * unposted: Completion/Unix/Command/_rsync: Added missing diff --git a/Doc/Zsh/zle.yo b/Doc/Zsh/zle.yo index cafb96e90..db4becd74 100644 --- a/Doc/Zsh/zle.yo +++ b/Doc/Zsh/zle.yo @@ -554,7 +554,9 @@ appears as if the top-level widget called by the user were still active. With the option tt(-w), tt(WIDGET) and related parameters are set to reflect the widget being executed by the tt(zle) call. -Any further arguments will be passed to the widget. If it is a shell +Any further arguments will be passed to the widget; note that as +standard argument handling is performed, any general argument list +should be preceded by tt(-)tt(-). If it is a shell function, these are passed down as positional parameters; for builtin widgets it is up to the widget in question what it does with them. Currently arguments are only handled by the incremental-search commands, diff --git a/Functions/Zle/backward-kill-word-match b/Functions/Zle/backward-kill-word-match index 28f7e76ee..ded4db2b5 100644 --- a/Functions/Zle/backward-kill-word-match +++ b/Functions/Zle/backward-kill-word-match @@ -23,7 +23,7 @@ while (( count-- )); do if [[ -n $done || $LASTWIDGET = *kill* ]]; then CUTBUFFER="$word$CUTBUFFER" else - zle copy-region-as-kill "$word" + zle copy-region-as-kill -- "$word" fi LBUFFER=$matched_words[1] else diff --git a/Functions/Zle/delete-whole-word-match b/Functions/Zle/delete-whole-word-match index 978b95ee7..6f1ba6697 100644 --- a/Functions/Zle/delete-whole-word-match +++ b/Functions/Zle/delete-whole-word-match @@ -9,7 +9,7 @@ # saved for future yanking in the normal way. emulate -L zsh -setopt extendedglob +setopt extendedglob xtrace local curcontext=:zle:$WIDGET local -a matched_words @@ -49,7 +49,7 @@ if [[ $WIDGET = *kill* ]]; then if [[ $LASTWIDGET = *kill* ]]; then CUTBUFFER="$CUTBUFFER$word" else - zle copy-region-as-kill "$word" + zle copy-region-as-kill -- "$word" fi fi BUFFER="${BUFFER[1,pos1]}${BUFFER[pos2,-1]}" diff --git a/Functions/Zle/kill-word-match b/Functions/Zle/kill-word-match index 55e253dea..5fcaeb86c 100644 --- a/Functions/Zle/kill-word-match +++ b/Functions/Zle/kill-word-match @@ -22,7 +22,7 @@ while (( count-- )); do if [[ -n $done || $LASTWIDGET = *kill* ]]; then CUTBUFFER="$CUTBUFFER$word" else - zle copy-region-as-kill $word + zle copy-region-as-kill -- $word fi RBUFFER=${(j..)matched_words[6,7]} else |