about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Functions/Zle/match-words-by-style11
2 files changed, 8 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 169990433..ba79d5e64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,8 @@
 2004-12-09  Peter Stephenson  <pws@csr.com>
 
-	* 20613: Functions/Zle/match-words-by-style: fix inconsistencies
-	with embedded whitespace when matching by shell words.
+	* 20613, 20614: Functions/Zle/match-words-by-style: fix
+	inconsistencies with embedded whitespace when matching by shell
+	words.
 
 	* 20612: Doc/Zsh/contrib.yo, Functions/Zle/match-words-by-style:
 	options to match-words-by-style can override styles.
diff --git a/Functions/Zle/match-words-by-style b/Functions/Zle/match-words-by-style
index 277fe058f..def43f2e9 100644
--- a/Functions/Zle/match-words-by-style
+++ b/Functions/Zle/match-words-by-style
@@ -75,7 +75,7 @@ if [[ -z $curcontext ]]; then
     local curcontext=:zle:match-words-by-style
 fi
 
-while getopts "w:s:c:C:tT" opt; do
+while getopts "w:s:c:C:" opt; do
   case $opt in
     (w)
     wordstyle=$OPTARG
@@ -140,12 +140,11 @@ case $wordstyle in
 	    # Find out what's in front.
 	    eval pat1='${LBUFFER%%(#b)('${wordpat1}')('${spacepat}')}'
 	    # Now everything from ${#pat1}+1 is wordy
-	    wordpat1=${(q)LBUFFER[${#pat1}+1,-1]}
+	    wordpat1=${LBUFFER[${#pat1}+1,-1]}
+	    wordpat2=${RBUFFER[1,${#bufwords[$nwords]}-${#wordpat1}+1]}
 
-	    # Likewise at the end...
-	    eval pat2='${RBUFFER##(#b)('${charskip}${spacepat}')('\
-${wordpat2}')('${spacepat}')}'
-	    wordpat2=${(q)RBUFFER[1,-1-${#pat2}]}
+	    wordpat1=${(q)wordpat1}
+	    wordpat2=${(q)wordpat2}
 	  fi
 	  ;;
   (*space) spacepat='[[:space:]]#'