startup: handle 'guicursor' after user config

If parse_shape_opt() is done before user config, the TUI may cause
unwanted changes to the terminal cursor which cannot later be undone
(see #4396).

fix #10750
This commit is contained in:
Justin M. Keyes
2019-08-13 22:10:05 +02:00
parent 947bd293c9
commit cbfd18c85a

View File

@ -1001,7 +1001,6 @@ void set_init_2(bool headless)
p_window = Rows - 1; p_window = Rows - 1;
} }
set_number_default("window", Rows - 1); set_number_default("window", Rows - 1);
parse_shape_opt(SHAPE_CURSOR); // set cursor shapes from 'guicursor'
(void)parse_printoptions(); // parse 'printoptions' default value (void)parse_printoptions(); // parse 'printoptions' default value
} }
@ -1010,6 +1009,8 @@ void set_init_2(bool headless)
*/ */
void set_init_3(void) void set_init_3(void)
{ {
parse_shape_opt(SHAPE_CURSOR); // set cursor shapes from 'guicursor'
// Set 'shellpipe' and 'shellredir', depending on the 'shell' option. // Set 'shellpipe' and 'shellredir', depending on the 'shell' option.
// This is done after other initializations, where 'shell' might have been // This is done after other initializations, where 'shell' might have been
// set, but only if they have not been set before. // set, but only if they have not been set before.