patch 9.0.0245: mechanism to prevent recursive screen updating is incomplete

Problem:    Mechanism to prevent recursive screen updating is incomplete.
Solution:   Add "redraw_not_allowed" and set it in build_stl_str_hl().
            (issue #10952)
diff --git a/src/globals.h b/src/globals.h
index 99ecefb..3c2d904 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -600,9 +600,13 @@
 #endif
 
 // While redrawing the screen this flag is set.  It means the screen size
-// ('lines' and 'rows') must not be changed.
+// ('lines' and 'rows') must not be changed and prevents recursive updating.
 EXTERN int	updating_screen INIT(= FALSE);
 
+// While computing a statusline and the like we do not want any w_redr_type or
+// must_redraw to be set.
+EXTERN int	redraw_not_allowed INIT(= FALSE);
+
 #ifdef MESSAGE_QUEUE
 // While closing windows or buffers messages should not be handled to avoid
 // using invalid windows or buffers.