diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2010-01-19 13:13:56 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2010-01-19 13:13:56 +0000 |
commit | 1c71dfd735f34b2b3c7cf8abc3144e763fc96b60 (patch) | |
tree | 501c56d48a1bff26c8560e82a0a7ef2cd22c857e /Functions/Misc/regexp-replace | |
parent | 7ec0c64b4d3a6131acf5c08c51b30b89309e0ac6 (diff) | |
download | zsh-1c71dfd735f34b2b3c7cf8abc3144e763fc96b60.tar.gz zsh-1c71dfd735f34b2b3c7cf8abc3144e763fc96b60.tar.xz zsh-1c71dfd735f34b2b3c7cf8abc3144e763fc96b60.zip |
unposted: return status 1 if no replacement
Diffstat (limited to 'Functions/Misc/regexp-replace')
-rw-r--r-- | Functions/Misc/regexp-replace | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Functions/Misc/regexp-replace b/Functions/Misc/regexp-replace index 5aaedafba..dec105524 100644 --- a/Functions/Misc/regexp-replace +++ b/Functions/Misc/regexp-replace @@ -19,13 +19,19 @@ emulate -L zsh 4=${(P)1} # $5 is the final string 5= +# 6 indicates if we made a change +6= local MATCH MBEGIN MEND local -a match mbegin mend while [[ -n $4 ]]; do if [[ $4 =~ $2 ]]; then + # append initial part and subsituted match 5+=${4[1,MBEGIN-1]}${(e)3} + # truncate remaining string 4=${4[MEND+1,-1]} + # indicate we did something + 6=1 else break fi @@ -33,3 +39,5 @@ done 5+=$4 eval ${1}=${(q)5} +# status 0 if we did something, else 1. +[[ -n $6 ]] |