about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Functions/Misc/zargs4
-rw-r--r--Functions/Zle/match-words-by-style3
3 files changed, 7 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 5b71d978c..e1cbeaa84 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
 	* 29673: Doc/Zsh/compsys.yo: Clarify what 'other' in the
 	ignore-line style does.
 
+	* 28852: Misc/zargs, Zle/match-words-by-style: Use syntax that doesn't
+	depend on SHORT_LOOPS being set.
+
 2011-08-11  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* Src/Modules/datetime.mdd: unposted: also fix the autofeatures.
@@ -15239,5 +15242,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5423 $
+* $Revision: 1.5424 $
 *****************************************************
diff --git a/Functions/Misc/zargs b/Functions/Misc/zargs
index 58d84617e..8350b1aba 100644
--- a/Functions/Misc/zargs
+++ b/Functions/Misc/zargs
@@ -207,7 +207,7 @@ then
     else
 	call=($command)
 	# Use "repeat" here so "continue" won't complain.
-	repeat 1 eval "$execute ; $analyze"
+	repeat 1; do eval "$execute ; $analyze"; done
 	return $ret
     fi
 fi
@@ -273,7 +273,7 @@ do
     repeat $P
     do
 	((ARGC)) || break
-	for (( end=l; end && ${(c)#argv[1,end]} > s; end/=2 )) :
+	for (( end=l; end && ${(c)#argv[1,end]} > s; end/=2 )) { }
 	(( end > n && ( end = n ) ))
 	args=( $argv[1,end] )
 	shift $((end > ARGC ? ARGC : end))
diff --git a/Functions/Zle/match-words-by-style b/Functions/Zle/match-words-by-style
index 69ceba76a..b387828f3 100644
--- a/Functions/Zle/match-words-by-style
+++ b/Functions/Zle/match-words-by-style
@@ -220,8 +220,7 @@ if [[ $wordstyle = *subword* ]]; then
 fi
 
 match=()
-charskip=
-repeat $skip charskip+=\?
+charskip=${(l:skip::?:)}
 
 eval pat2='${RBUFFER##(#b)('${charskip}${spacepat}')('\
 ${wordpat2}')('${spacepat}')}'