updated for version 7.4.323
Problem:    Substitute() with zero width pattern breaks multi-byte character.
Solution:   Take multi-byte character size into account. (Yukihiro Nakadaira)
diff --git a/src/testdir/test69.in b/src/testdir/test69.in
index 75317b4..2510c12 100644
--- a/src/testdir/test69.in
+++ b/src/testdir/test69.in
@@ -180,6 +180,13 @@
 byteidxcomp
 
 STARTTEST
+/^substitute
+:let y = substitute('123', '\zs', 'a', 'g')    | put =y
+ENDTEST
+
+substitute
+
+STARTTEST
 :g/^STARTTEST/.,/^ENDTEST/d
 :1;/^Results/,$wq! test.out
 ENDTEST