diff src/gui.c @ 31651:e5ee2ffd826a v9.0.1158

patch 9.0.1158: code is indented more than necessary Commit: https://github.com/vim/vim/commit/7f8b2559a30e2e2a443c35b28e94c6b45ba7ae04 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Jan 8 13:44:24 2023 +0000 patch 9.0.1158: code is indented more than necessary Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes #11787)
author Bram Moolenaar <Bram@vim.org>
date Sun, 08 Jan 2023 14:45:05 +0100
parents a86ee6c0309e
children a509eb37a813
line wrap: on
line diff
--- a/src/gui.c
+++ b/src/gui.c
@@ -1171,71 +1171,73 @@ gui_update_cursor(
 	return;
 
     gui_check_pos();
-    if (!gui.cursor_is_valid || force
-		    || gui.row != gui.cursor_row || gui.col != gui.cursor_col)
-    {
-	gui_undraw_cursor();
-
-	// If a cursor-less sleep is ongoing, leave the cursor invisible
-	if (cursor_is_sleeping())
-	    return;
-
-	if (gui.row < 0)
-	    return;
+
+    if (gui.cursor_is_valid && !force
+		&& gui.row == gui.cursor_row && gui.col == gui.cursor_col)
+	return;
+
+    gui_undraw_cursor();
+
+    // If a cursor-less sleep is ongoing, leave the cursor invisible
+    if (cursor_is_sleeping())
+	return;
+
+    if (gui.row < 0)
+	return;
 #ifdef HAVE_INPUT_METHOD
-	if (gui.row != gui.cursor_row || gui.col != gui.cursor_col)
-	    im_set_position(gui.row, gui.col);
+    if (gui.row != gui.cursor_row || gui.col != gui.cursor_col)
+	im_set_position(gui.row, gui.col);
 #endif
-	gui.cursor_row = gui.row;
-	gui.cursor_col = gui.col;
-
-	// Only write to the screen after ScreenLines[] has been initialized
-	if (!screen_cleared || ScreenLines == NULL)
-	    return;
-
-	// Clear the selection if we are about to write over it
-	if (clear_selection)
-	    clip_may_clear_selection(gui.row, gui.row);
-	// Check that the cursor is inside the shell (resizing may have made
-	// it invalid)
-	if (gui.row >= screen_Rows || gui.col >= screen_Columns)
-	    return;
-
-	gui.cursor_is_valid = TRUE;
-
-	/*
-	 * How the cursor is drawn depends on the current mode.
-	 * When in a terminal window use the shape/color specified there.
-	 */
+    gui.cursor_row = gui.row;
+    gui.cursor_col = gui.col;
+
+    // Only write to the screen after ScreenLines[] has been initialized
+    if (!screen_cleared || ScreenLines == NULL)
+	return;
+
+    // Clear the selection if we are about to write over it
+    if (clear_selection)
+	clip_may_clear_selection(gui.row, gui.row);
+    // Check that the cursor is inside the shell (resizing may have made
+    // it invalid)
+    if (gui.row >= screen_Rows || gui.col >= screen_Columns)
+	return;
+
+    gui.cursor_is_valid = TRUE;
+
+    /*
+     * How the cursor is drawn depends on the current mode.
+     * When in a terminal window use the shape/color specified there.
+     */
 #ifdef FEAT_TERMINAL
-	if (terminal_is_active())
-	    shape = term_get_cursor_shape(&shape_fg, &shape_bg);
-	else
+    if (terminal_is_active())
+	shape = term_get_cursor_shape(&shape_fg, &shape_bg);
+    else
 #endif
-	    shape = &shape_table[get_shape_idx(FALSE)];
-	if (State & MODE_LANGMAP)
-	    id = shape->id_lm;
-	else
-	    id = shape->id;
-
-	// get the colors and attributes for the cursor.  Default is inverted
-	cfg = INVALCOLOR;
-	cbg = INVALCOLOR;
-	cattr = HL_INVERSE;
-	gui_mch_set_blinking(shape->blinkwait,
-			     shape->blinkon,
-			     shape->blinkoff);
-	if (shape->blinkwait == 0 || shape->blinkon == 0
-						       || shape->blinkoff == 0)
-	    gui_mch_stop_blink(FALSE);
+	shape = &shape_table[get_shape_idx(FALSE)];
+    if (State & MODE_LANGMAP)
+	id = shape->id_lm;
+    else
+	id = shape->id;
+
+    // get the colors and attributes for the cursor.  Default is inverted
+    cfg = INVALCOLOR;
+    cbg = INVALCOLOR;
+    cattr = HL_INVERSE;
+    gui_mch_set_blinking(shape->blinkwait,
+	    shape->blinkon,
+	    shape->blinkoff);
+    if (shape->blinkwait == 0 || shape->blinkon == 0
+	    || shape->blinkoff == 0)
+	gui_mch_stop_blink(FALSE);
 #ifdef FEAT_TERMINAL
-	if (shape_bg != INVALCOLOR)
-	{
-	    cattr = 0;
-	    cfg = shape_fg;
-	    cbg = shape_bg;
-	}
-	else
+    if (shape_bg != INVALCOLOR)
+    {
+	cattr = 0;
+	cfg = shape_fg;
+	cbg = shape_bg;
+    }
+    else
 #endif
 	if (id > 0)
 	{
@@ -1251,7 +1253,7 @@ gui_update_cursor(
 # else
 			im_get_status()
 # endif
-			)
+		   )
 		{
 		    iid = syn_name2id((char_u *)"CursorIM");
 		    if (iid > 0)
@@ -1267,132 +1269,131 @@ gui_update_cursor(
 #endif
 	}
 
-	/*
-	 * Get the attributes for the character under the cursor.
-	 * When no cursor color was given, use the character color.
-	 */
-	attr = ScreenAttrs[LineOffset[gui.row] + gui.col];
-	if (attr > HL_ALL)
-	    aep = syn_gui_attr2entry(attr);
-	if (aep != NULL)
-	{
-	    attr = aep->ae_attr;
-	    if (cfg == INVALCOLOR)
-		cfg = ((attr & HL_INVERSE)  ? aep->ae_u.gui.bg_color
-					    : aep->ae_u.gui.fg_color);
-	    if (cbg == INVALCOLOR)
-		cbg = ((attr & HL_INVERSE)  ? aep->ae_u.gui.fg_color
-					    : aep->ae_u.gui.bg_color);
-	}
+    /*
+     * Get the attributes for the character under the cursor.
+     * When no cursor color was given, use the character color.
+     */
+    attr = ScreenAttrs[LineOffset[gui.row] + gui.col];
+    if (attr > HL_ALL)
+	aep = syn_gui_attr2entry(attr);
+    if (aep != NULL)
+    {
+	attr = aep->ae_attr;
 	if (cfg == INVALCOLOR)
-	    cfg = (attr & HL_INVERSE) ? gui.back_pixel : gui.norm_pixel;
+	    cfg = ((attr & HL_INVERSE)  ? aep->ae_u.gui.bg_color
+		    : aep->ae_u.gui.fg_color);
 	if (cbg == INVALCOLOR)
-	    cbg = (attr & HL_INVERSE) ? gui.norm_pixel : gui.back_pixel;
+	    cbg = ((attr & HL_INVERSE)  ? aep->ae_u.gui.fg_color
+		    : aep->ae_u.gui.bg_color);
+    }
+    if (cfg == INVALCOLOR)
+	cfg = (attr & HL_INVERSE) ? gui.back_pixel : gui.norm_pixel;
+    if (cbg == INVALCOLOR)
+	cbg = (attr & HL_INVERSE) ? gui.norm_pixel : gui.back_pixel;
 
 #ifdef FEAT_XIM
-	if (aep != NULL)
+    if (aep != NULL)
+    {
+	xim_bg_color = ((attr & HL_INVERSE) ? aep->ae_u.gui.fg_color
+		: aep->ae_u.gui.bg_color);
+	xim_fg_color = ((attr & HL_INVERSE) ? aep->ae_u.gui.bg_color
+		: aep->ae_u.gui.fg_color);
+	if (xim_bg_color == INVALCOLOR)
+	    xim_bg_color = (attr & HL_INVERSE) ? gui.norm_pixel
+		: gui.back_pixel;
+	if (xim_fg_color == INVALCOLOR)
+	    xim_fg_color = (attr & HL_INVERSE) ? gui.back_pixel
+		: gui.norm_pixel;
+    }
+    else
+    {
+	xim_bg_color = (attr & HL_INVERSE) ? gui.norm_pixel
+	    : gui.back_pixel;
+	xim_fg_color = (attr & HL_INVERSE) ? gui.back_pixel
+	    : gui.norm_pixel;
+    }
+#endif
+
+    attr &= ~HL_INVERSE;
+    if (cattr & HL_INVERSE)
+    {
+	cc = cbg;
+	cbg = cfg;
+	cfg = cc;
+    }
+    cattr &= ~HL_INVERSE;
+
+    /*
+     * When we don't have window focus, draw a hollow cursor.
+     */
+    if (!gui.in_focus)
+    {
+	gui_mch_draw_hollow_cursor(cbg);
+	return;
+    }
+
+    old_hl_mask = gui.highlight_mask;
+    if (shape->shape == SHAPE_BLOCK)
+    {
+	/*
+	 * Draw the text character with the cursor colors.	Use the
+	 * character attributes plus the cursor attributes.
+	 */
+	gui.highlight_mask = (cattr | attr);
+	(void)gui_screenchar(LineOffset[gui.row] + gui.col,
+		GUI_MON_IS_CURSOR | GUI_MON_NOCLEAR, cfg, cbg, 0);
+    }
+    else
+    {
+#if defined(FEAT_RIGHTLEFT)
+	int	    col_off = FALSE;
+#endif
+	/*
+	 * First draw the partial cursor, then overwrite with the text
+	 * character, using a transparent background.
+	 */
+	if (shape->shape == SHAPE_VER)
 	{
-	    xim_bg_color = ((attr & HL_INVERSE) ? aep->ae_u.gui.fg_color
-						: aep->ae_u.gui.bg_color);
-	    xim_fg_color = ((attr & HL_INVERSE) ? aep->ae_u.gui.bg_color
-						: aep->ae_u.gui.fg_color);
-	    if (xim_bg_color == INVALCOLOR)
-		xim_bg_color = (attr & HL_INVERSE) ? gui.norm_pixel
-						   : gui.back_pixel;
-	    if (xim_fg_color == INVALCOLOR)
-		xim_fg_color = (attr & HL_INVERSE) ? gui.back_pixel
-						   : gui.norm_pixel;
+	    cur_height = gui.char_height;
+	    cur_width = (gui.char_width * shape->percentage + 99) / 100;
 	}
 	else
 	{
-	    xim_bg_color = (attr & HL_INVERSE) ? gui.norm_pixel
-					       : gui.back_pixel;
-	    xim_fg_color = (attr & HL_INVERSE) ? gui.back_pixel
-					       : gui.norm_pixel;
-	}
-#endif
-
-	attr &= ~HL_INVERSE;
-	if (cattr & HL_INVERSE)
-	{
-	    cc = cbg;
-	    cbg = cfg;
-	    cfg = cc;
+	    cur_height = (gui.char_height * shape->percentage + 99) / 100;
+	    cur_width = gui.char_width;
 	}
-	cattr &= ~HL_INVERSE;
-
-	/*
-	 * When we don't have window focus, draw a hollow cursor.
-	 */
-	if (!gui.in_focus)
+	if (has_mbyte && (*mb_off2cells)(LineOffset[gui.row] + gui.col,
+		    LineOffset[gui.row] + screen_Columns) > 1)
 	{
-	    gui_mch_draw_hollow_cursor(cbg);
-	    return;
+	    // Double wide character.
+	    if (shape->shape != SHAPE_VER)
+		cur_width += gui.char_width;
+#ifdef FEAT_RIGHTLEFT
+	    if (CURSOR_BAR_RIGHT)
+	    {
+		// gui.col points to the left half of the character but
+		// the vertical line needs to be on the right half.
+		// A double-wide horizontal line is also drawn from the
+		// right half in gui_mch_draw_part_cursor().
+		col_off = TRUE;
+		++gui.col;
+	    }
+#endif
 	}
-
-	old_hl_mask = gui.highlight_mask;
-	if (shape->shape == SHAPE_BLOCK)
-	{
-	    /*
-	     * Draw the text character with the cursor colors.	Use the
-	     * character attributes plus the cursor attributes.
-	     */
-	    gui.highlight_mask = (cattr | attr);
-	    (void)gui_screenchar(LineOffset[gui.row] + gui.col,
-			GUI_MON_IS_CURSOR | GUI_MON_NOCLEAR, cfg, cbg, 0);
-	}
-	else
-	{
+	gui_mch_draw_part_cursor(cur_width, cur_height, cbg);
 #if defined(FEAT_RIGHTLEFT)
-	    int	    col_off = FALSE;
-#endif
-	    /*
-	     * First draw the partial cursor, then overwrite with the text
-	     * character, using a transparent background.
-	     */
-	    if (shape->shape == SHAPE_VER)
-	    {
-		cur_height = gui.char_height;
-		cur_width = (gui.char_width * shape->percentage + 99) / 100;
-	    }
-	    else
-	    {
-		cur_height = (gui.char_height * shape->percentage + 99) / 100;
-		cur_width = gui.char_width;
-	    }
-	    if (has_mbyte && (*mb_off2cells)(LineOffset[gui.row] + gui.col,
-				    LineOffset[gui.row] + screen_Columns) > 1)
-	    {
-		// Double wide character.
-		if (shape->shape != SHAPE_VER)
-		    cur_width += gui.char_width;
-#ifdef FEAT_RIGHTLEFT
-		if (CURSOR_BAR_RIGHT)
-		{
-		    // gui.col points to the left half of the character but
-		    // the vertical line needs to be on the right half.
-		    // A double-wide horizontal line is also drawn from the
-		    // right half in gui_mch_draw_part_cursor().
-		    col_off = TRUE;
-		    ++gui.col;
-		}
-#endif
-	    }
-	    gui_mch_draw_part_cursor(cur_width, cur_height, cbg);
-#if defined(FEAT_RIGHTLEFT)
-	    if (col_off)
-		--gui.col;
+	if (col_off)
+	    --gui.col;
 #endif
 
 #ifndef FEAT_GUI_MSWIN	    // doesn't seem to work for MSWindows
-	    gui.highlight_mask = ScreenAttrs[LineOffset[gui.row] + gui.col];
-	    (void)gui_screenchar(LineOffset[gui.row] + gui.col,
-		    GUI_MON_TRS_CURSOR | GUI_MON_NOCLEAR,
-		    (guicolor_T)0, (guicolor_T)0, 0);
+	gui.highlight_mask = ScreenAttrs[LineOffset[gui.row] + gui.col];
+	(void)gui_screenchar(LineOffset[gui.row] + gui.col,
+		GUI_MON_TRS_CURSOR | GUI_MON_NOCLEAR,
+		(guicolor_T)0, (guicolor_T)0, 0);
 #endif
-	}
-	gui.highlight_mask = old_hl_mask;
     }
+    gui.highlight_mask = old_hl_mask;
 }
 
 #if defined(FEAT_MENU) || defined(PROTO)
@@ -2054,13 +2055,13 @@ gui_write(
     void
 gui_dont_update_cursor(int undraw)
 {
-    if (gui.in_use)
-    {
-	// Undraw the cursor now, we probably can't do it after the change.
-	if (undraw)
-	    gui_undraw_cursor();
-	can_update_cursor = FALSE;
-    }
+    if (!gui.in_use)
+	return;
+
+    // Undraw the cursor now, we probably can't do it after the change.
+    if (undraw)
+	gui_undraw_cursor();
+    can_update_cursor = FALSE;
 }
 
     void
@@ -2679,23 +2680,23 @@ gui_outstr_nowrap(
     void
 gui_undraw_cursor(void)
 {
-    if (gui.cursor_is_valid)
-    {
-	// Always redraw the character just before if there is one, because
-	// with some fonts and characters there can be a one pixel overlap.
-	int startcol = gui.cursor_col > 0 ? gui.cursor_col - 1 : gui.cursor_col;
-	int endcol = gui.cursor_col;
+    if (!gui.cursor_is_valid)
+	return;
+
+    // Always redraw the character just before if there is one, because
+    // with some fonts and characters there can be a one pixel overlap.
+    int startcol = gui.cursor_col > 0 ? gui.cursor_col - 1 : gui.cursor_col;
+    int endcol = gui.cursor_col;
 
 #ifdef FEAT_GUI_GTK
-	gui_adjust_undraw_cursor_for_ligatures(&startcol, &endcol);
+    gui_adjust_undraw_cursor_for_ligatures(&startcol, &endcol);
 #endif
-	gui_redraw_block(gui.cursor_row, startcol,
-				      gui.cursor_row, endcol, GUI_MON_NOCLEAR);
-
-	// Cursor_is_valid is reset when the cursor is undrawn, also reset it
-	// here in case it wasn't needed to undraw it.
-	gui.cursor_is_valid = FALSE;
-    }
+    gui_redraw_block(gui.cursor_row, startcol,
+	    gui.cursor_row, endcol, GUI_MON_NOCLEAR);
+
+    // Cursor_is_valid is reset when the cursor is undrawn, also reset it
+    // here in case it wasn't needed to undraw it.
+    gui.cursor_is_valid = FALSE;
 }
 
     void
@@ -3559,137 +3560,137 @@ gui_init_which_components(char_u *oldval
 		break;
 	}
 
-    if (gui.in_use)
-    {
-	need_set_size = 0;
-	fix_size = FALSE;
+    if (!gui.in_use)
+	return;
+
+    need_set_size = 0;
+    fix_size = FALSE;
 
 #ifdef FEAT_GUI_DARKTHEME
-	if (using_dark_theme != prev_dark_theme)
-	{
-	    gui_mch_set_dark_theme(using_dark_theme);
-	    prev_dark_theme = using_dark_theme;
-	}
+    if (using_dark_theme != prev_dark_theme)
+    {
+	gui_mch_set_dark_theme(using_dark_theme);
+	prev_dark_theme = using_dark_theme;
+    }
 #endif
 
 #ifdef FEAT_GUI_TABLINE
-	// Update the GUI tab line, it may appear or disappear.  This may
-	// cause the non-GUI tab line to disappear or appear.
-	using_tabline = gui_has_tabline();
-	if (!gui_mch_showing_tabline() != !using_tabline)
+    // Update the GUI tab line, it may appear or disappear.  This may
+    // cause the non-GUI tab line to disappear or appear.
+    using_tabline = gui_has_tabline();
+    if (!gui_mch_showing_tabline() != !using_tabline)
+    {
+	// We don't want a resize event change "Rows" here, save and
+	// restore it.  Resizing is handled below.
+	i = Rows;
+	gui_update_tabline();
+	Rows = i;
+	need_set_size |= RESIZE_VERT;
+	if (using_tabline)
+	    fix_size = TRUE;
+	if (!gui_use_tabline())
+	    redraw_tabline = TRUE;    // may draw non-GUI tab line
+    }
+#endif
+
+    for (i = 0; i < 3; i++)
+    {
+	// The scrollbar needs to be updated when it is shown/unshown and
+	// when switching tab pages.  But the size only changes when it's
+	// shown/unshown.  Thus we need two places to remember whether a
+	// scrollbar is there or not.
+	if (gui.which_scrollbars[i] != prev_which_scrollbars[i]
+		|| gui.which_scrollbars[i]
+		!= curtab->tp_prev_which_scrollbars[i])
 	{
-	    // We don't want a resize event change "Rows" here, save and
-	    // restore it.  Resizing is handled below.
-	    i = Rows;
-	    gui_update_tabline();
-	    Rows = i;
-	    need_set_size |= RESIZE_VERT;
-	    if (using_tabline)
-		fix_size = TRUE;
-	    if (!gui_use_tabline())
-		redraw_tabline = TRUE;    // may draw non-GUI tab line
-	}
-#endif
-
-	for (i = 0; i < 3; i++)
-	{
-	    // The scrollbar needs to be updated when it is shown/unshown and
-	    // when switching tab pages.  But the size only changes when it's
-	    // shown/unshown.  Thus we need two places to remember whether a
-	    // scrollbar is there or not.
-	    if (gui.which_scrollbars[i] != prev_which_scrollbars[i]
-		    || gui.which_scrollbars[i]
-					!= curtab->tp_prev_which_scrollbars[i])
+	    if (i == SBAR_BOTTOM)
+		gui_mch_enable_scrollbar(&gui.bottom_sbar,
+			gui.which_scrollbars[i]);
+	    else
+	    {
+		FOR_ALL_WINDOWS(wp)
+		    gui_do_scrollbar(wp, i, gui.which_scrollbars[i]);
+	    }
+	    if (gui.which_scrollbars[i] != prev_which_scrollbars[i])
 	    {
 		if (i == SBAR_BOTTOM)
-		    gui_mch_enable_scrollbar(&gui.bottom_sbar,
-						     gui.which_scrollbars[i]);
+		    need_set_size |= RESIZE_VERT;
 		else
-		{
-		    FOR_ALL_WINDOWS(wp)
-			gui_do_scrollbar(wp, i, gui.which_scrollbars[i]);
-		}
-		if (gui.which_scrollbars[i] != prev_which_scrollbars[i])
-		{
-		    if (i == SBAR_BOTTOM)
-			need_set_size |= RESIZE_VERT;
-		    else
-			need_set_size |= RESIZE_HOR;
-		    if (gui.which_scrollbars[i])
-			fix_size = TRUE;
-		}
+		    need_set_size |= RESIZE_HOR;
+		if (gui.which_scrollbars[i])
+		    fix_size = TRUE;
 	    }
-	    curtab->tp_prev_which_scrollbars[i] = gui.which_scrollbars[i];
-	    prev_which_scrollbars[i] = gui.which_scrollbars[i];
 	}
+	curtab->tp_prev_which_scrollbars[i] = gui.which_scrollbars[i];
+	prev_which_scrollbars[i] = gui.which_scrollbars[i];
+    }
 
 #ifdef FEAT_MENU
-	if (gui.menu_is_active != prev_menu_is_active)
-	{
-	    // We don't want a resize event change "Rows" here, save and
-	    // restore it.  Resizing is handled below.
-	    i = Rows;
-	    gui_mch_enable_menu(gui.menu_is_active);
-	    Rows = i;
-	    prev_menu_is_active = gui.menu_is_active;
-	    need_set_size |= RESIZE_VERT;
-	    if (gui.menu_is_active)
-		fix_size = TRUE;
-	}
+    if (gui.menu_is_active != prev_menu_is_active)
+    {
+	// We don't want a resize event change "Rows" here, save and
+	// restore it.  Resizing is handled below.
+	i = Rows;
+	gui_mch_enable_menu(gui.menu_is_active);
+	Rows = i;
+	prev_menu_is_active = gui.menu_is_active;
+	need_set_size |= RESIZE_VERT;
+	if (gui.menu_is_active)
+	    fix_size = TRUE;
+    }
 #endif
 
 #ifdef FEAT_TOOLBAR
-	if (using_toolbar != prev_toolbar)
-	{
-	    gui_mch_show_toolbar(using_toolbar);
-	    prev_toolbar = using_toolbar;
-	    need_set_size |= RESIZE_VERT;
-	    if (using_toolbar)
-		fix_size = TRUE;
-	}
+    if (using_toolbar != prev_toolbar)
+    {
+	gui_mch_show_toolbar(using_toolbar);
+	prev_toolbar = using_toolbar;
+	need_set_size |= RESIZE_VERT;
+	if (using_toolbar)
+	    fix_size = TRUE;
+    }
 #endif
 #if defined(FEAT_MENU) && !(defined(MSWIN) && !defined(FEAT_TEAROFF))
-	if (using_tearoff != prev_tearoff)
-	{
-	    gui_mch_toggle_tearoffs(using_tearoff);
-	    prev_tearoff = using_tearoff;
-	}
+    if (using_tearoff != prev_tearoff)
+    {
+	gui_mch_toggle_tearoffs(using_tearoff);
+	prev_tearoff = using_tearoff;
+    }
 #endif
-	if (need_set_size != 0)
-	{
+    if (need_set_size != 0)
+    {
 #ifdef FEAT_GUI_GTK
-	    long    prev_Columns = Columns;
-	    long    prev_Rows = Rows;
+	long    prev_Columns = Columns;
+	long    prev_Rows = Rows;
 #endif
-	    // Adjust the size of the window to make the text area keep the
-	    // same size and to avoid that part of our window is off-screen
-	    // and a scrollbar can't be used, for example.
-	    gui_set_shellsize(FALSE, fix_size, need_set_size);
+	// Adjust the size of the window to make the text area keep the
+	// same size and to avoid that part of our window is off-screen
+	// and a scrollbar can't be used, for example.
+	gui_set_shellsize(FALSE, fix_size, need_set_size);
 
 #ifdef FEAT_GUI_GTK
-	    // GTK has the annoying habit of sending us resize events when
-	    // changing the window size ourselves.  This mostly happens when
-	    // waiting for a character to arrive, quite unpredictably, and may
-	    // change Columns and Rows when we don't want it.  Wait for a
-	    // character here to avoid this effect.
-	    // If you remove this, please test this command for resizing
-	    // effects (with optional left scrollbar): ":vsp|q|vsp|q|vsp|q".
-	    // Don't do this while starting up though.
-	    // Don't change Rows when adding menu/toolbar/tabline.
-	    // Don't change Columns when adding vertical toolbar.
-	    if (!gui.starting && need_set_size != (RESIZE_VERT | RESIZE_HOR))
-		(void)char_avail();
-	    if ((need_set_size & RESIZE_VERT) == 0)
-		Rows = prev_Rows;
-	    if ((need_set_size & RESIZE_HOR) == 0)
-		Columns = prev_Columns;
+	// GTK has the annoying habit of sending us resize events when
+	// changing the window size ourselves.  This mostly happens when
+	// waiting for a character to arrive, quite unpredictably, and may
+	// change Columns and Rows when we don't want it.  Wait for a
+	// character here to avoid this effect.
+	// If you remove this, please test this command for resizing
+	// effects (with optional left scrollbar): ":vsp|q|vsp|q|vsp|q".
+	// Don't do this while starting up though.
+	// Don't change Rows when adding menu/toolbar/tabline.
+	// Don't change Columns when adding vertical toolbar.
+	if (!gui.starting && need_set_size != (RESIZE_VERT | RESIZE_HOR))
+	    (void)char_avail();
+	if ((need_set_size & RESIZE_VERT) == 0)
+	    Rows = prev_Rows;
+	if ((need_set_size & RESIZE_HOR) == 0)
+	    Columns = prev_Columns;
 #endif
-	}
-	// When the console tabline appears or disappears the window positions
-	// change.
-	if (firstwin->w_winrow != tabline_height())
-	    shell_new_rows();	// recompute window positions and heights
     }
+    // When the console tabline appears or disappears the window positions
+    // change.
+    if (firstwin->w_winrow != tabline_height())
+	shell_new_rows();	// recompute window positions and heights
 }
 
 #if defined(FEAT_GUI_TABLINE) || defined(PROTO)
@@ -4768,7 +4769,7 @@ gui_mouse_focus(int x, int y)
 	    return;
 
 	/*
-	 * format a mouse click on status line input
+	 * Format a mouse click on status line input,
 	 * ala gui_send_mouse_event(0, x, y, 0, 0);
 	 * Trick: Use a column number -1, so that get_pseudo_mouse_code() will
 	 * generate a K_LEFTMOUSE_NM key code.
@@ -4852,13 +4853,14 @@ gui_mouse_correct(void)
     need_mouse_correct = FALSE;
 
     wp = gui_mouse_window(IGNORE_POPUP);
-    if (wp != curwin && wp != NULL)	// If in other than current window
-    {
-	validate_cline_row();
-	gui_mch_setmouse((int)W_ENDCOL(curwin) * gui.char_width - 3,
-		(W_WINROW(curwin) + curwin->w_wrow) * gui.char_height
-						     + (gui.char_height) / 2);
-    }
+    if (wp == curwin || wp == NULL)
+	return;
+
+    // If in other than current window
+    validate_cline_row();
+    gui_mch_setmouse((int)W_ENDCOL(curwin) * gui.char_width - 3,
+	    (W_WINROW(curwin) + curwin->w_wrow) * gui.char_height
+	    + (gui.char_height) / 2);
 }
 
 /*
@@ -5014,22 +5016,26 @@ display_errors(void)
     char_u	*p;
 
     if (isatty(2))
+    {
 	fflush(stderr);
-    else if (error_ga.ga_data != NULL)
-    {
-	// avoid putting up a message box with blanks only
-	for (p = (char_u *)error_ga.ga_data; *p != NUL; ++p)
-	    if (!isspace(*p))
-	    {
-		// Truncate a very long message, it will go off-screen.
-		if (STRLEN(p) > 2000)
-		    STRCPY(p + 2000 - 14, "...(truncated)");
-		(void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
-				       p, (char_u *)_("&Ok"), 1, NULL, FALSE);
-		break;
-	    }
-	ga_clear(&error_ga);
+	return;
     }
+
+    if (error_ga.ga_data == NULL)
+	return;
+
+    // avoid putting up a message box with blanks only
+    for (p = (char_u *)error_ga.ga_data; *p != NUL; ++p)
+	if (!isspace(*p))
+	{
+	    // Truncate a very long message, it will go off-screen.
+	    if (STRLEN(p) > 2000)
+		STRCPY(p + 2000 - 14, "...(truncated)");
+	    (void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
+		    p, (char_u *)_("&Ok"), 1, NULL, FALSE);
+	    break;
+	}
+    ga_clear(&error_ga);
 }
 #endif
 
@@ -5339,12 +5345,12 @@ gui_wingoto_xy(int x, int y)
     int		col = X_2_COL(x);
     win_T	*wp;
 
-    if (row >= 0 && col >= 0)
-    {
-	wp = mouse_find_win(&row, &col, FAIL_POPUP);
-	if (wp != NULL && wp != curwin)
-	    win_goto(wp);
-    }
+    if (row < 0 || col < 0)
+	return;
+
+    wp = mouse_find_win(&row, &col, FAIL_POPUP);
+    if (wp != NULL && wp != curwin)
+	win_goto(wp);
 }
 
 /*