diff src/optionstr.c @ 24630:4cf4d7a71fac v8.2.2854

patch 8.2.2854: custom statusline cannot contain % items Commit: https://github.com/vim/vim/commit/30e3de21fc36153c5f7c9cf9db90bcc60dd67fb9 Author: shadmansaleh <shadmansaleh3@gmail.com> Date: Sat May 15 17:23:28 2021 +0200 patch 8.2.2854: custom statusline cannot contain % items Problem: Custom statusline cannot contain % items. Solution: Add "%{% expr %}". (closes https://github.com/vim/vim/issues/8190)
author Bram Moolenaar <Bram@vim.org>
date Sat, 15 May 2021 17:30:03 +0200
parents 1a658c5eb326
children 7e9e53a0368f
line wrap: on
line diff
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -618,8 +618,10 @@ check_stl_option(char_u *s)
 	}
 	if (*s == '{')
 	{
+	    int reevaluate = (*s == '%');
+
 	    s++;
-	    while (*s != '}' && *s)
+	    while ((*s != '}' || (reevaluate && s[-1] != '%')) && *s)
 		s++;
 	    if (*s != '}')
 		return N_("E540: Unclosed expression sequence");