From e8edd42f7ff0fefbf74db7fbab2d242852b6bce6 Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Sun, 2 Jul 2017 20:29:00 +0100
Subject: 22760: fix partial string length reports with NO_MULTIBYTE
---
Test/D04parameter.ztst | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
(limited to 'Test/D04parameter.ztst')
diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst
index d5798b5b9..3c93990f1 100644
--- a/Test/D04parameter.ztst
+++ b/Test/D04parameter.ztst
@@ -783,16 +783,36 @@
0:${(R)...}
>is the ,
+ # Although there's no reliance on multibyte here, the
+ # code exercised is different, so test both paths in the following group.
+ # If the shell isn't multibyte capable the tests are the same;
+ # that's not a problem.
# This (1) doesn't work with // or /
# (2) perhaps ought to be 18, to be consistent with normal zsh
# substring indexing and with backreferences.
print ${(BES)string##white}
+ (unsetopt multibyte; print ${(BES)string##white})
0:${(BE...)...}
+>14 19
>14 19
print ${(NS)string##white}
+ (unsetopt multibyte; print ${(NS)string##white})
0:${(N)...}
>5
+>5
+
+ fn() {
+ emulate -L zsh
+ local a=abcdef
+ print ${(SNBE)a#abcd}
+ unsetopt multibyte
+ print ${(SNBE)a#abcd}
+ }
+ fn
+0:${(BEN)...} again, with match
+>1 5 4
+>1 5 4
string='abcdefghijklmnopqrstuvwxyz'
print ${${string%[aeiou]*}/(#m)?(#e)/${(U)MATCH}}
--
cgit 1.4.1