summaryrefslogtreecommitdiff
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}')}'