diff src/gui.c @ 12477:68d7bc045dbe v8.0.1118

patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs commit https://github.com/vim/vim/commit/4033c55eca575777718c0701e26635a0cc47d907 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 16 20:54:51 2017 +0200 patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always enabled and only adds 7% to the binary size of the tiny build. Solution: Graduate FEAT_WINDOWS.
author Christian Brabandt <cb@256bit.org>
date Sat, 16 Sep 2017 21:00:06 +0200
parents dfb8254aa735
children 972ea22c946f
line wrap: on
line diff
--- a/src/gui.c
+++ b/src/gui.c
@@ -1642,9 +1642,7 @@ gui_set_shellsize(
 
     min_width = base_width + MIN_COLUMNS * gui.char_width;
     min_height = base_height + MIN_LINES * gui.char_height;
-#ifdef FEAT_WINDOWS
     min_height += tabline_height() * gui.char_height;
-#endif
 
 #ifdef FEAT_GUI_GTK
     if (un_maximize)
@@ -1828,7 +1826,6 @@ gui_write(
 			gui.scroll_region_bot = arg1;
 		    }
 		    break;
-#ifdef FEAT_WINDOWS
 		case 'V':	/* Set vertical scroll region */
 		    if (arg1 < arg2)
 		    {
@@ -1841,7 +1838,6 @@ gui_write(
 			gui.scroll_region_right = arg1;
 		    }
 		    break;
-#endif
 		case 'd':	/* Delete line */
 		    gui_delete_lines(gui.row, 1);
 		    break;
@@ -3154,16 +3150,11 @@ button_set:
      * Visual selection.
      */
     if ((State == NORMAL || State == NORMAL_BUSY || (State & INSERT))
-	    && Y_2_ROW(y) >= topframe->fr_height
-# ifdef FEAT_WINDOWS
-						+ firstwin->w_winrow
-# endif
+	    && Y_2_ROW(y) >= topframe->fr_height + firstwin->w_winrow
 	    && button != MOUSE_DRAG
 # ifdef FEAT_MOUSESHAPE
 	    && !drag_status_line
-#  ifdef FEAT_WINDOWS
 	    && !drag_sep_line
-#  endif
 # endif
 	    )
 	checkfor = MOUSE_NONE;
@@ -3439,7 +3430,6 @@ gui_init_which_components(char_u *oldval
 	    case GO_RIGHT:
 		gui.which_scrollbars[SBAR_RIGHT] = TRUE;
 		break;
-#ifdef FEAT_WINDOWS
 	    case GO_VLEFT:
 		if (win_hasvertsplit())
 		    gui.which_scrollbars[SBAR_LEFT] = TRUE;
@@ -3448,7 +3438,6 @@ gui_init_which_components(char_u *oldval
 		if (win_hasvertsplit())
 		    gui.which_scrollbars[SBAR_RIGHT] = TRUE;
 		break;
-#endif
 	    case GO_BOT:
 		gui.which_scrollbars[SBAR_BOTTOM] = TRUE;
 		break;
@@ -3511,11 +3500,8 @@ gui_init_which_components(char_u *oldval
 	     * 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]
-#ifdef FEAT_WINDOWS
 		    || gui.which_scrollbars[i]
-					!= curtab->tp_prev_which_scrollbars[i]
-#endif
-		    )
+					!= curtab->tp_prev_which_scrollbars[i])
 	    {
 		if (i == SBAR_BOTTOM)
 		    gui_mch_enable_scrollbar(&gui.bottom_sbar,
@@ -3537,9 +3523,7 @@ gui_init_which_components(char_u *oldval
 			fix_size = TRUE;
 		}
 	    }
-#ifdef FEAT_WINDOWS
 	    curtab->tp_prev_which_scrollbars[i] = gui.which_scrollbars[i];
-#endif
 	    prev_which_scrollbars[i] = gui.which_scrollbars[i];
 	}
 
@@ -3615,12 +3599,10 @@ gui_init_which_components(char_u *oldval
 		Columns = prev_Columns;
 #endif
 	}
-#ifdef FEAT_WINDOWS
 	/* 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 */
-#endif
     }
 }
 
@@ -3830,7 +3812,6 @@ send_tabline_menu_event(int tabidx, int 
  * Scrollbar stuff:
  */
 
-#if defined(FEAT_WINDOWS) || defined(PROTO)
 /*
  * Remove all scrollbars.  Used before switching to another tab page.
  */
@@ -3854,7 +3835,6 @@ gui_remove_scrollbars(void)
 	curtab->tp_prev_which_scrollbars[i] = -1;
     }
 }
-#endif
 
     void
 gui_create_scrollbar(scrollbar_T *sb, int type, win_T *wp)
@@ -3872,9 +3852,7 @@ gui_create_scrollbar(scrollbar_T *sb, in
     sb->max = 1;
     sb->top = 0;
     sb->height = 0;
-#ifdef FEAT_WINDOWS
     sb->width = 0;
-#endif
     sb->status_height = 0;
     gui_mch_create_scrollbar(sb, (wp == NULL) ? SBAR_HORIZ : SBAR_VERT);
 }
@@ -3917,9 +3895,7 @@ gui_find_scrollbar(long ident)
     void
 gui_drag_scrollbar(scrollbar_T *sb, long value, int still_dragging)
 {
-#ifdef FEAT_WINDOWS
     win_T	*wp;
-#endif
     int		sb_num;
 #ifdef USE_ON_FLY_SCROLL
     colnr_T	old_leftcol = curwin->w_leftcol;
@@ -4011,15 +3987,10 @@ gui_drag_scrollbar(scrollbar_T *sb, long
     if (sb->wp != NULL)		/* vertical scrollbar */
     {
 	sb_num = 0;
-#ifdef FEAT_WINDOWS
 	for (wp = firstwin; wp != sb->wp && wp != NULL; wp = wp->w_next)
 	    sb_num++;
 	if (wp == NULL)
 	    return;
-#else
-	if (sb->wp != curwin)
-	    return;
-#endif
 
 #ifdef USE_ON_FLY_SCROLL
 	current_scrollbar = sb_num;
@@ -4128,7 +4099,6 @@ gui_drag_scrollbar(scrollbar_T *sb, long
  * Scrollbar stuff:
  */
 
-#if defined(FEAT_AUTOCMD) || defined(FEAT_WINDOWS) || defined(PROTO)
 /*
  * Called when something in the window layout has changed.
  */
@@ -4143,7 +4113,6 @@ gui_may_update_scrollbars(void)
     }
     need_mouse_correct = TRUE;
 }
-#endif
 
     void
 gui_update_scrollbars(
@@ -4154,9 +4123,7 @@ gui_update_scrollbars(
     long	val, size, max;		/* need 32 bits here */
     int		which_sb;
     int		h, y;
-#ifdef FEAT_WINDOWS
     static win_T *prev_curwin = NULL;
-#endif
 
     /* Update the horizontal scrollbar */
     gui_update_horiz_scrollbar(force);
@@ -4249,22 +4216,17 @@ gui_update_scrollbars(
 	    continue;
 	}
 	if (force || sb->height != wp->w_height
-#ifdef FEAT_WINDOWS
 	    || sb->top != wp->w_winrow
 	    || sb->status_height != wp->w_status_height
 	    || sb->width != wp->w_width
-	    || prev_curwin != curwin
-#endif
-	    )
+	    || prev_curwin != curwin)
 	{
 	    /* Height, width or position of scrollbar has changed.  For
 	     * vertical split: curwin changed. */
 	    sb->height = wp->w_height;
-#ifdef FEAT_WINDOWS
 	    sb->top = wp->w_winrow;
 	    sb->status_height = wp->w_status_height;
 	    sb->width = wp->w_width;
-#endif
 
 	    /* Calculate height and position in pixels */
 	    h = (sb->height + sb->status_height) * gui.char_height;
@@ -4290,9 +4252,7 @@ gui_update_scrollbars(
 		y += gui.tabline_height;
 #endif
 
-#ifdef FEAT_WINDOWS
 	    if (wp->w_winrow == 0)
-#endif
 	    {
 		/* Height of top scrollbar includes width of top border */
 		h += gui.border_offset;
@@ -4345,9 +4305,7 @@ gui_update_scrollbars(
 					    val, size, max);
 	}
     }
-#ifdef FEAT_WINDOWS
     prev_curwin = curwin;
-#endif
     --hold_gui_events;
 }
 
@@ -4362,7 +4320,6 @@ gui_do_scrollbar(
     int		which,	    /* SBAR_LEFT or SBAR_RIGHT */
     int		enable)	    /* TRUE to enable scrollbar */
 {
-#ifdef FEAT_WINDOWS
     int		midcol = curwin->w_wincol + curwin->w_width / 2;
     int		has_midcol = (wp->w_wincol <= midcol
 				     && wp->w_wincol + wp->w_width >= midcol);
@@ -4393,7 +4350,6 @@ gui_do_scrollbar(
 		enable = FALSE;
 	}
     }
-#endif
     gui_mch_enable_scrollbar(&wp->w_scrollbars[which], enable);
 }
 
@@ -4863,11 +4819,9 @@ gui_mouse_moved(int x, int y)
 	if (wp == curwin || wp == NULL)
 	    return;	/* still in the same old window, or none at all */
 
-#ifdef FEAT_WINDOWS
 	/* Ignore position in the tab pages line. */
 	if (Y_2_ROW(y) < tabline_height())
 	    return;
-#endif
 
 	/*
 	 * format a mouse click on status line input
@@ -4886,11 +4840,7 @@ gui_mouse_moved(int x, int y)
 	st[2] = KE_FILLER;
 	st[3] = (char_u)MOUSE_LEFT;
 	fill_mouse_coord(st + 4,
-#ifdef FEAT_WINDOWS
 		wp->w_wincol == 0 ? -1 : wp->w_wincol + MOUSE_COLOFF,
-#else
-		-1,
-#endif
 		wp->w_height + W_WINROW(wp));
 
 	add_to_input_buf(st, 8);
@@ -4922,11 +4872,7 @@ gui_mouse_correct(void)
     /* Don't move the mouse when it's left or right of the Vim window */
     if (x < 0 || x > Columns * gui.char_width)
 	return;
-    if (y >= 0
-# ifdef FEAT_WINDOWS
-	    && Y_2_ROW(y) >= tabline_height()
-# endif
-       )
+    if (y >= 0 && Y_2_ROW(y) >= tabline_height())
 	wp = xy2win(x, y);
     if (wp != curwin && wp != NULL)	/* If in other than current window */
     {
@@ -4943,7 +4889,6 @@ gui_mouse_correct(void)
     static win_T *
 xy2win(int x UNUSED, int y UNUSED)
 {
-#ifdef FEAT_WINDOWS
     int		row;
     int		col;
     win_T	*wp;
@@ -4955,7 +4900,7 @@ xy2win(int x UNUSED, int y UNUSED)
     wp = mouse_find_win(&row, &col);
     if (wp == NULL)
 	return NULL;
-# ifdef FEAT_MOUSESHAPE
+#ifdef FEAT_MOUSESHAPE
     if (State == HITRETURN || State == ASKMORE)
     {
 	if (Y_2_ROW(y) >= msg_row)
@@ -4973,11 +4918,8 @@ xy2win(int x UNUSED, int y UNUSED)
 	update_mouseshape(SHAPE_IDX_STATUS);
     else
 	update_mouseshape(-2);
-# endif
+#endif
     return wp;
-#else
-    return firstwin;
-#endif
 }
 
 /*
@@ -5412,7 +5354,6 @@ gui_do_findrepl(
 	|| defined(FEAT_GUI_MAC) \
 	|| defined(PROTO)
 
-#ifdef FEAT_WINDOWS
 static void gui_wingoto_xy(int x, int y);
 
 /*
@@ -5432,7 +5373,6 @@ gui_wingoto_xy(int x, int y)
 	    win_goto(wp);
     }
 }
-#endif
 
 /*
  * Process file drop.  Mouse cursor position, key modifiers, name of files
@@ -5495,9 +5435,7 @@ gui_handle_drop(
     {
 	/* Go to the window under mouse cursor, then shorten given "fnames" by
 	 * current window, because a window can have local current dir. */
-# ifdef FEAT_WINDOWS
 	gui_wingoto_xy(x, y);
-# endif
 	shorten_filenames(fnames, count);
 
 	/* If Shift held down, remember the first item. */