updated for version 7.0168
diff --git a/src/eval.c b/src/eval.c
index a3bf58d..fe3c5a7 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -12836,10 +12836,9 @@
 			remain = vim_strsave(q - 1);
 		    else
 		    {
-			cpy = vim_strnsave(q-1, STRLEN(q-1) + STRLEN(remain));
+			cpy = concat_str(q - 1, remain);
 			if (cpy != NULL)
 			{
-			    STRCAT(cpy, remain);
 			    vim_free(remain);
 			    remain = cpy;
 			}