mirror of
https://github.com/vim/vim
synced 2025-03-30 22:46:45 +02:00
patch 7.4.1611
Problem: The versplit feature makes the code uneccessary complicated. Solution: Remove FEAT_VERTSPLIT, always support vertical splits when FEAT_WINDOWS is defined.
This commit is contained in:
parent
cc6cf9b9f9
commit
44a2f923c0
31 changed files with 141 additions and 397 deletions
13
src/buffer.c
13
src/buffer.c
|
@ -4607,9 +4607,9 @@ do_arg_all(
|
|||
old_curwin = curwin;
|
||||
old_curtab = curtab;
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
# ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Try closing all windows that are not in the argument list.
|
||||
|
@ -4629,10 +4629,7 @@ do_arg_all(
|
|||
buf = wp->w_buffer;
|
||||
if (buf->b_ffname == NULL
|
||||
|| (!keep_tabs && buf->b_nwindows > 1)
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
|| wp->w_width != Columns
|
||||
#endif
|
||||
)
|
||||
|| wp->w_width != Columns)
|
||||
i = opened_len;
|
||||
else
|
||||
{
|
||||
|
@ -4901,13 +4898,11 @@ ex_buffer_all(exarg_T *eap)
|
|||
{
|
||||
wpnext = wp->w_next;
|
||||
if ((wp->w_buffer->b_nwindows > 1
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
|| ((cmdmod.split & WSP_VERT)
|
||||
? wp->w_height + wp->w_status_height < Rows - p_ch
|
||||
- tabline_height()
|
||||
: wp->w_width != Columns)
|
||||
#endif
|
||||
#ifdef FEAT_WINDOWS
|
||||
|| (had_tab > 0 && wp != firstwin)
|
||||
#endif
|
||||
) && firstwin != lastwin
|
||||
|
|
|
@ -1093,7 +1093,7 @@ win_lbr_chartabsize(
|
|||
&& vim_isbreak(c)
|
||||
&& !vim_isbreak(s[1])
|
||||
&& wp->w_p_wrap
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
&& wp->w_width != 0
|
||||
# endif
|
||||
)
|
||||
|
@ -1250,10 +1250,10 @@ in_win_border(win_T *wp, colnr_T vcol)
|
|||
int width1; /* width of first line (after line number) */
|
||||
int width2; /* width of further lines */
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
if (wp->w_width == 0) /* there is no border */
|
||||
return FALSE;
|
||||
#endif
|
||||
# endif
|
||||
width1 = W_WIDTH(wp) - win_col_off(wp);
|
||||
if ((int)vcol < width1 - 1)
|
||||
return FALSE;
|
||||
|
|
|
@ -13734,7 +13734,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
|||
#ifdef FEAT_VIMINFO
|
||||
"viminfo",
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
"vertsplit",
|
||||
#endif
|
||||
#ifdef FEAT_VIRTUALEDIT
|
||||
|
@ -20646,10 +20646,8 @@ f_winrestcmd(typval_T *argvars UNUSED, typval_T *rettv)
|
|||
{
|
||||
sprintf((char *)buf, "%dresize %d|", winnr, wp->w_height);
|
||||
ga_concat(&ga, buf);
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
sprintf((char *)buf, "vert %dresize %d|", winnr, wp->w_width);
|
||||
ga_concat(&ga, buf);
|
||||
# endif
|
||||
++winnr;
|
||||
}
|
||||
ga_append(&ga, NUL);
|
||||
|
@ -20701,7 +20699,7 @@ f_winrestview(typval_T *argvars, typval_T *rettv UNUSED)
|
|||
|
||||
check_cursor();
|
||||
win_new_height(curwin, curwin->w_height);
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
win_new_width(curwin, W_WIDTH(curwin));
|
||||
# endif
|
||||
changed_window_setting();
|
||||
|
@ -20756,7 +20754,7 @@ f_winwidth(typval_T *argvars, typval_T *rettv)
|
|||
if (wp == NULL)
|
||||
rettv->vval.v_number = -1;
|
||||
else
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
rettv->vval.v_number = wp->w_width;
|
||||
#else
|
||||
rettv->vval.v_number = Columns;
|
||||
|
|
|
@ -5867,11 +5867,9 @@ ex_help(exarg_T *eap)
|
|||
* specified, the current window is vertically split and
|
||||
* narrow. */
|
||||
n = WSP_HELP;
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
if (cmdmod.split == 0 && curwin->w_width != Columns
|
||||
&& curwin->w_width < 80)
|
||||
n |= WSP_TOP;
|
||||
# endif
|
||||
if (win_split(0, n) == FAIL)
|
||||
goto erret;
|
||||
#else
|
||||
|
|
|
@ -2013,7 +2013,7 @@ do_one_cmd(
|
|||
|
||||
case 'v': if (checkforcmd(&ea.cmd, "vertical", 4))
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
cmdmod.split |= WSP_VERT;
|
||||
#endif
|
||||
continue;
|
||||
|
@ -7923,14 +7923,6 @@ ex_splitview(exarg_T *eap)
|
|||
int browse_flag = cmdmod.browse;
|
||||
# endif
|
||||
|
||||
# ifndef FEAT_VERTSPLIT
|
||||
if (eap->cmdidx == CMD_vsplit || eap->cmdidx == CMD_vnew)
|
||||
{
|
||||
ex_ni(eap);
|
||||
return;
|
||||
}
|
||||
# endif
|
||||
|
||||
# ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
# endif
|
||||
|
@ -7942,10 +7934,8 @@ ex_splitview(exarg_T *eap)
|
|||
{
|
||||
if (eap->cmdidx == CMD_split)
|
||||
eap->cmdidx = CMD_new;
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
if (eap->cmdidx == CMD_vsplit)
|
||||
eap->cmdidx = CMD_vnew;
|
||||
# endif
|
||||
}
|
||||
# endif
|
||||
|
||||
|
@ -7964,9 +7954,7 @@ ex_splitview(exarg_T *eap)
|
|||
# endif
|
||||
# ifdef FEAT_BROWSE
|
||||
if (cmdmod.browse
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
&& eap->cmdidx != CMD_vnew
|
||||
# endif
|
||||
&& eap->cmdidx != CMD_new)
|
||||
{
|
||||
# ifdef FEAT_AUTOCMD
|
||||
|
@ -8224,11 +8212,10 @@ ex_resize(exarg_T *eap)
|
|||
;
|
||||
}
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
# ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
#endif
|
||||
# endif
|
||||
n = atol((char *)eap->arg);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (cmdmod.split & WSP_VERT)
|
||||
{
|
||||
if (*eap->arg == '-' || *eap->arg == '+')
|
||||
|
@ -8238,7 +8225,6 @@ ex_resize(exarg_T *eap)
|
|||
win_setwidth_win((int)n, wp);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if (*eap->arg == '-' || *eap->arg == '+')
|
||||
n += curwin->w_height;
|
||||
|
@ -8397,7 +8383,7 @@ do_exedit(
|
|||
if ((eap->cmdidx == CMD_new
|
||||
|| eap->cmdidx == CMD_tabnew
|
||||
|| eap->cmdidx == CMD_tabedit
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
|| eap->cmdidx == CMD_vnew
|
||||
#endif
|
||||
) && *eap->arg == NUL)
|
||||
|
@ -8409,7 +8395,7 @@ do_exedit(
|
|||
old_curwin == NULL ? curwin : NULL);
|
||||
}
|
||||
else if ((eap->cmdidx != CMD_split
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& eap->cmdidx != CMD_vsplit
|
||||
#endif
|
||||
)
|
||||
|
|
|
@ -500,11 +500,7 @@ getcmdline(
|
|||
}
|
||||
else
|
||||
{
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
win_redraw_last_status(topframe);
|
||||
# else
|
||||
lastwin->w_redr_status = TRUE;
|
||||
# endif
|
||||
redraw_statuslines();
|
||||
}
|
||||
KeyTyped = skt;
|
||||
|
|
|
@ -97,6 +97,7 @@
|
|||
/*
|
||||
* +windows Multiple windows. Without this there is no help
|
||||
* window and no status lines.
|
||||
* +vertsplit Vertically split windows.
|
||||
*/
|
||||
#ifdef FEAT_SMALL
|
||||
# define FEAT_WINDOWS
|
||||
|
@ -111,16 +112,6 @@
|
|||
# define FEAT_LISTCMDS
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +vertsplit Vertically split windows.
|
||||
*/
|
||||
#ifdef FEAT_NORMAL
|
||||
# define FEAT_VERTSPLIT
|
||||
#endif
|
||||
#if defined(FEAT_VERTSPLIT) && !defined(FEAT_WINDOWS)
|
||||
# define FEAT_WINDOWS
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +cmdhist Command line history.
|
||||
*/
|
||||
|
@ -144,8 +135,8 @@
|
|||
# define FEAT_JUMPLIST
|
||||
#endif
|
||||
|
||||
/* the cmdline-window requires FEAT_VERTSPLIT and FEAT_CMDHIST */
|
||||
#if defined(FEAT_VERTSPLIT) && defined(FEAT_CMDHIST)
|
||||
/* the cmdline-window requires FEAT_WINDOWS and FEAT_CMDHIST */
|
||||
#if defined(FEAT_WINDOWS) && defined(FEAT_CMDHIST)
|
||||
# define FEAT_CMDWIN
|
||||
#endif
|
||||
|
||||
|
@ -601,7 +592,7 @@
|
|||
* +mksession ":mksession" command.
|
||||
* Requires +windows and +vertsplit.
|
||||
*/
|
||||
#if defined(FEAT_NORMAL) && defined(FEAT_WINDOWS) && defined(FEAT_VERTSPLIT)
|
||||
#if defined(FEAT_NORMAL) && defined(FEAT_WINDOWS)
|
||||
# define FEAT_SESSION
|
||||
#endif
|
||||
|
||||
|
|
|
@ -427,7 +427,7 @@ EXTERN int gui_prev_topfill INIT(= 0);
|
|||
EXTERN int drag_status_line INIT(= FALSE); /* dragging the status line */
|
||||
EXTERN int postponed_mouseshape INIT(= FALSE); /* postponed updating the
|
||||
mouse pointer shape */
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
EXTERN int drag_sep_line INIT(= FALSE); /* dragging vert separator */
|
||||
# endif
|
||||
# endif
|
||||
|
@ -1547,9 +1547,7 @@ EXTERN char_u e_umark[] INIT(= N_("E78: Unknown mark"));
|
|||
EXTERN char_u e_wildexpand[] INIT(= N_("E79: Cannot expand wildcards"));
|
||||
#ifdef FEAT_WINDOWS
|
||||
EXTERN char_u e_winheight[] INIT(= N_("E591: 'winheight' cannot be smaller than 'winminheight'"));
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
EXTERN char_u e_winwidth[] INIT(= N_("E592: 'winwidth' cannot be smaller than 'winminwidth'"));
|
||||
# endif
|
||||
#endif
|
||||
EXTERN char_u e_write[] INIT(= N_("E80: Error while writing"));
|
||||
EXTERN char_u e_zerocount[] INIT(= N_("Zero count"));
|
||||
|
|
22
src/gui.c
22
src/gui.c
|
@ -1812,7 +1812,7 @@ gui_write(
|
|||
gui.scroll_region_bot = arg1;
|
||||
}
|
||||
break;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
case 'V': /* Set vertical scroll region */
|
||||
if (arg1 < arg2)
|
||||
{
|
||||
|
@ -3128,7 +3128,7 @@ button_set:
|
|||
&& button != MOUSE_DRAG
|
||||
# ifdef FEAT_MOUSESHAPE
|
||||
&& !drag_status_line
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
&& !drag_sep_line
|
||||
# endif
|
||||
# endif
|
||||
|
@ -3406,7 +3406,7 @@ gui_init_which_components(char_u *oldval UNUSED)
|
|||
case GO_RIGHT:
|
||||
gui.which_scrollbars[SBAR_RIGHT] = TRUE;
|
||||
break;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
case GO_VLEFT:
|
||||
if (win_hasvertsplit())
|
||||
gui.which_scrollbars[SBAR_LEFT] = TRUE;
|
||||
|
@ -3839,7 +3839,7 @@ gui_create_scrollbar(scrollbar_T *sb, int type, win_T *wp)
|
|||
sb->max = 1;
|
||||
sb->top = 0;
|
||||
sb->height = 0;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
sb->width = 0;
|
||||
#endif
|
||||
sb->status_height = 0;
|
||||
|
@ -4121,7 +4121,7 @@ gui_update_scrollbars(
|
|||
long val, size, max; /* need 32 bits here */
|
||||
int which_sb;
|
||||
int h, y;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
static win_T *prev_curwin = NULL;
|
||||
#endif
|
||||
|
||||
|
@ -4219,10 +4219,8 @@ gui_update_scrollbars(
|
|||
#ifdef FEAT_WINDOWS
|
||||
|| sb->top != wp->w_winrow
|
||||
|| sb->status_height != wp->w_status_height
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
|| sb->width != wp->w_width
|
||||
|| prev_curwin != curwin
|
||||
# endif
|
||||
#endif
|
||||
)
|
||||
{
|
||||
|
@ -4232,9 +4230,7 @@ gui_update_scrollbars(
|
|||
#ifdef FEAT_WINDOWS
|
||||
sb->top = wp->w_winrow;
|
||||
sb->status_height = wp->w_status_height;
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
sb->width = wp->w_width;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Calculate height and position in pixels */
|
||||
|
@ -4316,7 +4312,7 @@ gui_update_scrollbars(
|
|||
val, size, max);
|
||||
}
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
prev_curwin = curwin;
|
||||
#endif
|
||||
--hold_gui_events;
|
||||
|
@ -4333,7 +4329,7 @@ gui_do_scrollbar(
|
|||
int which, /* SBAR_LEFT or SBAR_RIGHT */
|
||||
int enable) /* TRUE to enable scrollbar */
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#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);
|
||||
|
@ -4857,7 +4853,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_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
wp->w_wincol == 0 ? -1 : wp->w_wincol + MOUSE_COLOFF,
|
||||
#else
|
||||
-1,
|
||||
|
@ -4934,11 +4930,9 @@ xy2win(int x UNUSED, int y UNUSED)
|
|||
}
|
||||
else if (row > wp->w_height) /* below status line */
|
||||
update_mouseshape(SHAPE_IDX_CLINE);
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
else if (!(State & CMDLINE) && W_VSEP_WIDTH(wp) > 0 && col == wp->w_width
|
||||
&& (row != wp->w_height || !stl_connected(wp)) && msg_scrolled == 0)
|
||||
update_mouseshape(SHAPE_IDX_VSEP);
|
||||
# endif
|
||||
else if (!(State & CMDLINE) && W_STATUS_HEIGHT(wp) > 0
|
||||
&& row == wp->w_height && msg_scrolled == 0)
|
||||
update_mouseshape(SHAPE_IDX_STATUS);
|
||||
|
|
|
@ -179,7 +179,7 @@ typedef struct GuiScrollbar
|
|||
/* Values measured in characters: */
|
||||
int top; /* Top of scroll bar (chars from row 0) */
|
||||
int height; /* Current height of scroll bar in rows */
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
int width; /* Current width of scroll bar in cols */
|
||||
#endif
|
||||
int status_height; /* Height of status line */
|
||||
|
|
|
@ -1177,7 +1177,7 @@ luaV_window_index(lua_State *L)
|
|||
lua_pushinteger(L, w->w_cursor.lnum);
|
||||
else if (strncmp(s, "col", 3) == 0)
|
||||
lua_pushinteger(L, w->w_cursor.col + 1);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
else if (strncmp(s, "width", 5) == 0)
|
||||
lua_pushinteger(L, W_WIDTH(w));
|
||||
#endif
|
||||
|
@ -1220,7 +1220,7 @@ luaV_window_newindex (lua_State *L)
|
|||
w->w_cursor.col = v - 1;
|
||||
update_screen(VALID);
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
else if (strncmp(s, "width", 5) == 0)
|
||||
{
|
||||
win_T *win = curwin;
|
||||
|
|
|
@ -145,7 +145,7 @@ static Scheme_Object *get_window_num(void *, int, Scheme_Object **);
|
|||
static Scheme_Object *get_window_buffer(void *, int, Scheme_Object **);
|
||||
static Scheme_Object *get_window_height(void *, int, Scheme_Object **);
|
||||
static Scheme_Object *set_window_height(void *, int, Scheme_Object **);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
static Scheme_Object *get_window_width(void *, int, Scheme_Object **);
|
||||
static Scheme_Object *set_window_width(void *, int, Scheme_Object **);
|
||||
#endif
|
||||
|
@ -2066,7 +2066,7 @@ set_window_height(void *data, int argc, Scheme_Object **argv)
|
|||
return scheme_void;
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* (get-win-width [window]) */
|
||||
static Scheme_Object *
|
||||
get_window_width(void *data, int argc, Scheme_Object **argv)
|
||||
|
@ -3718,7 +3718,7 @@ static Vim_Prim prims[]=
|
|||
{get_window_buffer, "get-win-buffer", 0, 1},
|
||||
{get_window_height, "get-win-height", 0, 1},
|
||||
{set_window_height, "set-win-height", 1, 2},
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
{get_window_width, "get-win-width", 0, 1},
|
||||
{set_window_width, "set-win-width", 1, 2},
|
||||
#endif
|
||||
|
|
|
@ -3673,8 +3673,6 @@ WindowAttr(WindowObject *self, char *name)
|
|||
#ifdef FEAT_WINDOWS
|
||||
else if (strcmp(name, "row") == 0)
|
||||
return PyLong_FromLong((long)(self->win->w_winrow));
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
else if (strcmp(name, "width") == 0)
|
||||
return PyLong_FromLong((long)(W_WIDTH(self->win)));
|
||||
else if (strcmp(name, "col") == 0)
|
||||
|
@ -3765,7 +3763,7 @@ WindowSetattr(WindowObject *self, char *name, PyObject *valObject)
|
|||
|
||||
return 0;
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
else if (strcmp(name, "width") == 0)
|
||||
{
|
||||
long width;
|
||||
|
|
|
@ -1449,7 +1449,7 @@ static VALUE window_width(VALUE self UNUSED)
|
|||
|
||||
static VALUE window_set_width(VALUE self UNUSED, VALUE width)
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
win_T *win = get_win(self);
|
||||
win_T *savewin = curwin;
|
||||
|
||||
|
|
|
@ -2088,7 +2088,7 @@ command_line_scan(mparm_T *parmp)
|
|||
break;
|
||||
|
||||
case 'O': /* "-O[N]" open N vertical split windows */
|
||||
#if defined(FEAT_VERTSPLIT) && defined(FEAT_WINDOWS)
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* default is 0: open window for each file */
|
||||
parmp->window_count = get_number_arg((char_u *)argv[0],
|
||||
&argv_idx, 0);
|
||||
|
|
|
@ -1976,7 +1976,7 @@ plines_win_nofill(
|
|||
if (!wp->w_p_wrap)
|
||||
return 1;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (wp->w_width == 0)
|
||||
return 1;
|
||||
#endif
|
||||
|
@ -2052,7 +2052,7 @@ plines_win_col(win_T *wp, linenr_T lnum, long column)
|
|||
if (!wp->w_p_wrap)
|
||||
return lines + 1;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (wp->w_width == 0)
|
||||
return lines + 1;
|
||||
#endif
|
||||
|
|
|
@ -169,7 +169,7 @@ coladvance2(
|
|||
|
||||
if (finetune
|
||||
&& curwin->w_p_wrap
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
&& curwin->w_width != 0
|
||||
# endif
|
||||
&& wcol >= (colnr_T)width)
|
||||
|
@ -3633,7 +3633,7 @@ get_shape_idx(int mouse)
|
|||
}
|
||||
if (mouse && drag_status_line)
|
||||
return SHAPE_IDX_SDRAG;
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
if (mouse && drag_sep_line)
|
||||
return SHAPE_IDX_VDRAG;
|
||||
# endif
|
||||
|
|
10
src/move.c
10
src/move.c
|
@ -990,7 +990,7 @@ curs_columns(
|
|||
curwin->w_wrow = curwin->w_height - 1;
|
||||
}
|
||||
else if (curwin->w_p_wrap
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& curwin->w_width != 0
|
||||
#endif
|
||||
)
|
||||
|
@ -1096,7 +1096,7 @@ curs_columns(
|
|||
&& curwin->w_height != 0
|
||||
&& curwin->w_cursor.lnum == curwin->w_topline
|
||||
&& width > 0
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& curwin->w_width != 0
|
||||
#endif
|
||||
)
|
||||
|
@ -1259,7 +1259,7 @@ scrolldown(
|
|||
*/
|
||||
wrow = curwin->w_wrow;
|
||||
if (curwin->w_p_wrap
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& curwin->w_width != 0
|
||||
#endif
|
||||
)
|
||||
|
@ -1468,7 +1468,7 @@ scrolldown_clamp(void)
|
|||
end_row += plines(curwin->w_topline - 1);
|
||||
#endif
|
||||
if (curwin->w_p_wrap
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& curwin->w_width != 0
|
||||
#endif
|
||||
)
|
||||
|
@ -1532,7 +1532,7 @@ scrollup_clamp(void)
|
|||
start_row = curwin->w_wrow - plines(curwin->w_topline);
|
||||
#endif
|
||||
if (curwin->w_p_wrap
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& curwin->w_width != 0
|
||||
#endif
|
||||
)
|
||||
|
|
18
src/normal.c
18
src/normal.c
|
@ -2306,8 +2306,6 @@ do_mouse(
|
|||
int in_status_line; /* mouse in status line */
|
||||
#ifdef FEAT_WINDOWS
|
||||
static int in_tab_line = FALSE; /* mouse clicked in tab line */
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
int in_sep_line; /* mouse in vertical separator line */
|
||||
#endif
|
||||
int c1, c2;
|
||||
|
@ -2384,13 +2382,11 @@ do_mouse(
|
|||
drag_status_line = FALSE;
|
||||
update_mouseshape(SHAPE_IDX_STATUS);
|
||||
}
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
if (!is_drag && drag_sep_line)
|
||||
{
|
||||
drag_sep_line = FALSE;
|
||||
update_mouseshape(SHAPE_IDX_VSEP);
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -2784,9 +2780,7 @@ do_mouse(
|
|||
oap == NULL ? NULL : &(oap->inclusive), which_button);
|
||||
moved = (jump_flags & CURSOR_MOVED);
|
||||
in_status_line = (jump_flags & IN_STATUS_LINE);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
in_sep_line = (jump_flags & IN_SEP_LINE);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (isNetbeansBuffer(curbuf)
|
||||
|
@ -3022,7 +3016,6 @@ do_mouse(
|
|||
}
|
||||
#endif
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
else if (in_sep_line)
|
||||
{
|
||||
# ifdef FEAT_MOUSESHAPE
|
||||
|
@ -3033,7 +3026,6 @@ do_mouse(
|
|||
}
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
else if ((mod_mask & MOD_MASK_MULTI_CLICK) && (State & (NORMAL | INSERT))
|
||||
&& mouse_has(MOUSE_VISUAL))
|
||||
{
|
||||
|
@ -4401,10 +4393,10 @@ nv_screengo(oparg_T *oap, int dir, long dist)
|
|||
if (width2 == 0)
|
||||
width2 = 1; /* avoid divide by zero */
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (curwin->w_width != 0)
|
||||
{
|
||||
#endif
|
||||
{
|
||||
/*
|
||||
* Instead of sticking at the last character of the buffer line we
|
||||
* try to stick in the last column of the screen.
|
||||
|
@ -4491,9 +4483,7 @@ nv_screengo(oparg_T *oap, int dir, long dist)
|
|||
}
|
||||
}
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
}
|
||||
#endif
|
||||
|
||||
if (virtual_active() && atend)
|
||||
coladvance(MAXCOL);
|
||||
|
@ -7987,7 +7977,7 @@ nv_g_cmd(cmdarg_T *cap)
|
|||
oap->motion_type = MCHAR;
|
||||
oap->inclusive = FALSE;
|
||||
if (curwin->w_p_wrap
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& curwin->w_width != 0
|
||||
#endif
|
||||
)
|
||||
|
@ -8054,7 +8044,7 @@ nv_g_cmd(cmdarg_T *cap)
|
|||
oap->motion_type = MCHAR;
|
||||
oap->inclusive = TRUE;
|
||||
if (curwin->w_p_wrap
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& curwin->w_width != 0
|
||||
#endif
|
||||
)
|
||||
|
|
27
src/option.c
27
src/option.c
|
@ -243,8 +243,6 @@
|
|||
#define PV_UL OPT_BOTH(OPT_BUF(BV_UL))
|
||||
#ifdef FEAT_WINDOWS
|
||||
# define PV_WFH OPT_WIN(WV_WFH)
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
# define PV_WFW OPT_WIN(WV_WFW)
|
||||
#endif
|
||||
#define PV_WRAP OPT_WIN(WV_WRAP)
|
||||
|
@ -466,10 +464,9 @@ struct vimoption
|
|||
# define ISP_LATIN1 (char_u *)"@,161-255"
|
||||
#endif
|
||||
|
||||
/* The 16 bit MS-DOS version is low on space, make the string as short as
|
||||
* possible when compiling with few features. */
|
||||
/* Make the string as short as possible when compiling with few features. */
|
||||
#if defined(FEAT_DIFF) || defined(FEAT_FOLDING) || defined(FEAT_SPELL) \
|
||||
|| defined(FEAT_VERTSPLIT) || defined(FEAT_CLIPBOARD) \
|
||||
|| defined(FEAT_WINDOWS) || defined(FEAT_CLIPBOARD) \
|
||||
|| defined(FEAT_INS_EXPAND) || defined(FEAT_SYN_HL) || defined(FEAT_CONCEAL)
|
||||
# define HIGHLIGHT_INIT "8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn"
|
||||
#else
|
||||
|
@ -1040,7 +1037,7 @@ static struct vimoption options[] =
|
|||
(char_u *)&p_dy, PV_NONE,
|
||||
{(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
|
||||
{"eadirection", "ead", P_STRING|P_VI_DEF,
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
(char_u *)&p_ead, PV_NONE,
|
||||
{(char_u *)"both", (char_u *)0L}
|
||||
#else
|
||||
|
@ -2492,7 +2489,7 @@ static struct vimoption options[] =
|
|||
#endif
|
||||
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"splitright", "spr", P_BOOL|P_VI_DEF,
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
(char_u *)&p_spr, PV_NONE,
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
|
@ -2892,7 +2889,7 @@ static struct vimoption options[] =
|
|||
#endif
|
||||
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"winfixwidth", "wfw", P_BOOL|P_VI_DEF|P_RSTAT,
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
(char_u *)VAR_WIN, PV_WFW,
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
|
@ -2906,14 +2903,14 @@ static struct vimoption options[] =
|
|||
#endif
|
||||
{(char_u *)1L, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"winminwidth", "wmw", P_NUM|P_VI_DEF,
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
(char_u *)&p_wmw, PV_NONE,
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
#endif
|
||||
{(char_u *)1L, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"winwidth", "wiw", P_NUM|P_VI_DEF,
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
(char_u *)&p_wiw, PV_NONE,
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
|
@ -2966,7 +2963,7 @@ static struct vimoption options[] =
|
|||
p_term("t_CS", T_CCS)
|
||||
p_term("t_Cs", T_UCS)
|
||||
p_term("t_cs", T_CS)
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
p_term("t_CV", T_CSV)
|
||||
#endif
|
||||
p_term("t_da", T_DA)
|
||||
|
@ -3049,7 +3046,7 @@ static char *(p_bsdir_values[]) = {"current", "last", "buffer", NULL};
|
|||
static char *(p_scbopt_values[]) = {"ver", "hor", "jump", NULL};
|
||||
#endif
|
||||
static char *(p_debug_values[]) = {"msg", "throw", "beep", NULL};
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
static char *(p_ead_values[]) = {"both", "ver", "hor", NULL};
|
||||
#endif
|
||||
#if defined(FEAT_QUICKFIX)
|
||||
|
@ -6796,7 +6793,7 @@ did_set_string_option(
|
|||
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* 'eadirection' */
|
||||
else if (varp == &p_ead)
|
||||
{
|
||||
|
@ -8468,7 +8465,7 @@ set_num_option(
|
|||
win_setminheight();
|
||||
}
|
||||
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
else if (pp == &p_wiw)
|
||||
{
|
||||
if (p_wiw < 1)
|
||||
|
@ -10259,8 +10256,6 @@ get_varp(struct vimoption *p)
|
|||
#endif
|
||||
#ifdef FEAT_WINDOWS
|
||||
case PV_WFH: return (char_u *)&(curwin->w_p_wfh);
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
case PV_WFW: return (char_u *)&(curwin->w_p_wfw);
|
||||
#endif
|
||||
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
||||
|
|
|
@ -463,7 +463,7 @@ static char *(p_dy_values[]) = {"lastline", "uhex", NULL};
|
|||
#define DY_LASTLINE 0x001
|
||||
#define DY_UHEX 0x002
|
||||
EXTERN int p_ed; /* 'edcompatible' */
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
EXTERN char_u *p_ead; /* 'eadirection' */
|
||||
#endif
|
||||
EXTERN int p_ea; /* 'equalalways' */
|
||||
|
@ -802,7 +802,7 @@ EXTERN char_u *p_tal; /* 'tabline' */
|
|||
#ifdef FEAT_SPELL
|
||||
EXTERN char_u *p_sps; /* 'spellsuggest' */
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
EXTERN int p_spr; /* 'splitright' */
|
||||
#endif
|
||||
EXTERN int p_sol; /* 'startofline' */
|
||||
|
@ -957,8 +957,6 @@ EXTERN int p_wmnu; /* 'wildmenu' */
|
|||
#ifdef FEAT_WINDOWS
|
||||
EXTERN long p_wh; /* 'winheight' */
|
||||
EXTERN long p_wmh; /* 'winminheight' */
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
EXTERN long p_wmw; /* 'winminwidth' */
|
||||
EXTERN long p_wiw; /* 'winwidth' */
|
||||
#endif
|
||||
|
@ -1172,8 +1170,6 @@ enum
|
|||
#endif
|
||||
#ifdef FEAT_WINDOWS
|
||||
, WV_WFH
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
, WV_WFW
|
||||
#endif
|
||||
, WV_WRAP
|
||||
|
|
|
@ -1578,11 +1578,9 @@ qf_jump(
|
|||
* specified, the current window is vertically split and narrow.
|
||||
*/
|
||||
flags = WSP_HELP;
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
if (cmdmod.split == 0 && curwin->w_width != Columns
|
||||
&& curwin->w_width < 80)
|
||||
flags |= WSP_TOP;
|
||||
# endif
|
||||
if (qi != &ql_info)
|
||||
flags |= WSP_NEWLOC; /* don't copy the location list */
|
||||
|
||||
|
@ -2360,15 +2358,12 @@ ex_copen(exarg_T *eap)
|
|||
win_goto(win);
|
||||
if (eap->addr_count != 0)
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (cmdmod.split & WSP_VERT)
|
||||
{
|
||||
if (height != W_WIDTH(win))
|
||||
win_setwidth(height);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (height != win->w_height)
|
||||
else if (height != win->w_height)
|
||||
win_setheight(height);
|
||||
}
|
||||
}
|
||||
|
@ -2425,11 +2420,7 @@ ex_copen(exarg_T *eap)
|
|||
|
||||
/* Only set the height when still in the same tab page and there is no
|
||||
* window to the side. */
|
||||
if (curtab == prevtab
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
&& curwin->w_width == Columns
|
||||
#endif
|
||||
)
|
||||
if (curtab == prevtab && curwin->w_width == Columns)
|
||||
win_setheight(height);
|
||||
curwin->w_p_wfh = TRUE; /* set 'winfixheight' */
|
||||
if (win_valid(win))
|
||||
|
|
84
src/screen.c
84
src/screen.c
|
@ -133,7 +133,7 @@ static void screen_line(int row, int coloff, int endcol, int clear_width, int rl
|
|||
static void screen_line(int row, int coloff, int endcol, int clear_width);
|
||||
# define SCREEN_LINE(r, o, e, c, rl) screen_line((r), (o), (e), (c))
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
static void draw_vsep_win(win_T *wp, int row);
|
||||
#endif
|
||||
#ifdef FEAT_STL_OPT
|
||||
|
@ -156,7 +156,7 @@ static void screen_char_2(unsigned off, int row, int col);
|
|||
static void screenclear2(void);
|
||||
static void lineclear(unsigned off, int width);
|
||||
static void lineinvalid(unsigned off, int width);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
static void linecopy(int to, int from, win_T *wp);
|
||||
static void redraw_block(int row, int end, win_T *wp);
|
||||
#endif
|
||||
|
@ -170,7 +170,7 @@ static void draw_tabline(void);
|
|||
#if defined(FEAT_WINDOWS) || defined(FEAT_WILDMENU) || defined(FEAT_STL_OPT)
|
||||
static int fillchar_status(int *attr, int is_curwin);
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
static int fillchar_vsep(int *attr);
|
||||
#endif
|
||||
#ifdef FEAT_STL_OPT
|
||||
|
@ -180,7 +180,7 @@ static void win_redr_custom(win_T *wp, int draw_ruler);
|
|||
static void win_redr_ruler(win_T *wp, int always);
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_CLIPBOARD) || defined(FEAT_VERTSPLIT)
|
||||
#if defined(FEAT_CLIPBOARD) || defined(FEAT_WINDOWS)
|
||||
/* Ugly global: overrule attribute used by screen_char() */
|
||||
static int screen_char_attr = 0;
|
||||
#endif
|
||||
|
@ -1095,7 +1095,7 @@ win_update(win_T *wp)
|
|||
return;
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* Window is zero-width: Only need to draw the separator. */
|
||||
if (wp->w_width == 0)
|
||||
{
|
||||
|
@ -2138,7 +2138,7 @@ win_update(win_T *wp)
|
|||
}
|
||||
else
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
draw_vsep_win(wp, row);
|
||||
#endif
|
||||
if (eof) /* we hit the end of the file */
|
||||
|
@ -5627,7 +5627,7 @@ win_line(
|
|||
)
|
||||
{
|
||||
win_draw_end(wp, '@', ' ', row, wp->w_height, HLF_AT);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
draw_vsep_win(wp, row);
|
||||
#endif
|
||||
row = endrow;
|
||||
|
@ -5835,7 +5835,7 @@ screen_line(
|
|||
unsigned max_off_to;
|
||||
#endif
|
||||
int col = 0;
|
||||
#if defined(FEAT_GUI) || defined(UNIX) || defined(FEAT_VERTSPLIT)
|
||||
#if defined(FEAT_GUI) || defined(UNIX) || defined(FEAT_WINDOWS)
|
||||
int hl;
|
||||
#endif
|
||||
int force = FALSE; /* force update rest of the line */
|
||||
|
@ -6174,7 +6174,7 @@ screen_line(
|
|||
#endif
|
||||
screen_fill(row, row + 1, col + coloff, clear_width + coloff,
|
||||
' ', ' ', 0);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
off_to += clear_width - col;
|
||||
col = clear_width;
|
||||
#endif
|
||||
|
@ -6183,7 +6183,7 @@ screen_line(
|
|||
|
||||
if (clear_width > 0)
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* For a window that's left of another, draw the separator char. */
|
||||
if (col + coloff < Columns)
|
||||
{
|
||||
|
@ -6289,7 +6289,7 @@ redraw_statuslines(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if (defined(FEAT_WILDMENU) && defined(FEAT_VERTSPLIT)) || defined(PROTO)
|
||||
#if (defined(FEAT_WILDMENU) && defined(FEAT_WINDOWS)) || defined(PROTO)
|
||||
/*
|
||||
* Redraw all status lines at the bottom of frame "frp".
|
||||
*/
|
||||
|
@ -6313,7 +6313,7 @@ win_redraw_last_status(frame_T *frp)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/*
|
||||
* Draw the verticap separator right of window "wp" starting with line "row".
|
||||
*/
|
||||
|
@ -6606,7 +6606,7 @@ win_redr_status_matches(
|
|||
screen_fill(row, row + 1, clen, (int)Columns, fillchar, fillchar, attr);
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
win_redraw_last_status(topframe);
|
||||
#else
|
||||
lastwin->w_redr_status = TRUE;
|
||||
|
@ -6700,11 +6700,6 @@ win_redr_status(win_T *wp)
|
|||
len += 4;
|
||||
}
|
||||
|
||||
#ifndef FEAT_VERTSPLIT
|
||||
this_ru_col = ru_col;
|
||||
if (this_ru_col < (Columns + 1) / 2)
|
||||
this_ru_col = (Columns + 1) / 2;
|
||||
#else
|
||||
this_ru_col = ru_col - (Columns - W_WIDTH(wp));
|
||||
if (this_ru_col < (W_WIDTH(wp) + 1) / 2)
|
||||
this_ru_col = (W_WIDTH(wp) + 1) / 2;
|
||||
|
@ -6714,7 +6709,6 @@ win_redr_status(win_T *wp)
|
|||
len = 1;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
{
|
||||
|
@ -6761,7 +6755,6 @@ win_redr_status(win_T *wp)
|
|||
#endif
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/*
|
||||
* May need to draw the character below the vertical separator.
|
||||
*/
|
||||
|
@ -6774,7 +6767,6 @@ win_redr_status(win_T *wp)
|
|||
screen_putchar(fillchar, W_WINROW(wp) + wp->w_height, W_ENDCOL(wp),
|
||||
attr);
|
||||
}
|
||||
#endif
|
||||
busy = FALSE;
|
||||
}
|
||||
|
||||
|
@ -6811,7 +6803,6 @@ redraw_custom_statusline(win_T *wp)
|
|||
}
|
||||
#endif
|
||||
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
/*
|
||||
* Return TRUE if the status line of window "wp" is connected to the status
|
||||
* line of the window right of it. If not, then it's a vertical separator.
|
||||
|
@ -6839,7 +6830,6 @@ stl_connected(win_T *wp)
|
|||
}
|
||||
return FALSE;
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* FEAT_WINDOWS */
|
||||
|
||||
|
@ -6963,7 +6953,7 @@ win_redr_custom(
|
|||
if (*stl++ != '(')
|
||||
stl = p_ruf;
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
col = ru_col - (Columns - W_WIDTH(wp));
|
||||
if (col < (W_WIDTH(wp) + 1) / 2)
|
||||
col = (W_WIDTH(wp) + 1) / 2;
|
||||
|
@ -6999,7 +6989,7 @@ win_redr_custom(
|
|||
# endif
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
col += W_WINCOL(wp);
|
||||
#endif
|
||||
}
|
||||
|
@ -8038,7 +8028,7 @@ screen_char(unsigned off, int row, int col)
|
|||
/*
|
||||
* Stop highlighting first, so it's easier to move the cursor.
|
||||
*/
|
||||
#if defined(FEAT_CLIPBOARD) || defined(FEAT_VERTSPLIT)
|
||||
#if defined(FEAT_CLIPBOARD) || defined(FEAT_WINDOWS)
|
||||
if (screen_char_attr != 0)
|
||||
attr = screen_char_attr;
|
||||
else
|
||||
|
@ -8113,7 +8103,7 @@ screen_char_2(unsigned off, int row, int col)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_CLIPBOARD) || defined(FEAT_VERTSPLIT) || defined(PROTO)
|
||||
#if defined(FEAT_CLIPBOARD) || defined(FEAT_WINDOWS) || defined(PROTO)
|
||||
/*
|
||||
* Draw a rectangle of the screen, inverted when "invert" is TRUE.
|
||||
* This uses the contents of ScreenLines[] and doesn't change it.
|
||||
|
@ -8167,7 +8157,7 @@ screen_draw_rectangle(
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/*
|
||||
* Redraw the characters for a vertically split window.
|
||||
*/
|
||||
|
@ -8875,7 +8865,7 @@ lineinvalid(unsigned off, int width)
|
|||
(void)vim_memset(ScreenAttrs + off, -1, (size_t)width * sizeof(sattr_T));
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/*
|
||||
* Copy part of a Screenline for vertically split window "wp".
|
||||
*/
|
||||
|
@ -9373,7 +9363,7 @@ win_do_lines(
|
|||
|
||||
/* only a few lines left: redraw is faster */
|
||||
if (mayclear && Rows - line_count < 5
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& wp->w_width == Columns
|
||||
#endif
|
||||
)
|
||||
|
@ -9409,12 +9399,12 @@ win_do_lines(
|
|||
* scroll-up .
|
||||
*/
|
||||
if (scroll_region
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
|| W_WIDTH(wp) != Columns
|
||||
#endif
|
||||
)
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (scroll_region && (wp->w_width == Columns || *T_CSV != NUL))
|
||||
#endif
|
||||
scroll_region_set(wp, row);
|
||||
|
@ -9424,7 +9414,7 @@ win_do_lines(
|
|||
else
|
||||
retval = screen_ins_lines(W_WINROW(wp) + row, 0, line_count,
|
||||
wp->w_height - row, wp);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (scroll_region && (wp->w_width == Columns || *T_CSV != NUL))
|
||||
#endif
|
||||
scroll_region_reset();
|
||||
|
@ -9543,7 +9533,7 @@ screen_ins_lines(
|
|||
* exists.
|
||||
*/
|
||||
result_empty = (row + line_count >= end);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (wp != NULL && wp->w_width != Columns && *T_CSV == NUL)
|
||||
type = USE_REDRAW;
|
||||
else
|
||||
|
@ -9585,7 +9575,7 @@ screen_ins_lines(
|
|||
/* Remove a modeless selection when inserting lines halfway the screen
|
||||
* or not the full width of the screen. */
|
||||
if (off + row > 0
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
|| (wp != NULL && wp->w_width != Columns)
|
||||
# endif
|
||||
)
|
||||
|
@ -9613,7 +9603,7 @@ screen_ins_lines(
|
|||
end += off;
|
||||
for (i = 0; i < line_count; ++i)
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (wp != NULL && wp->w_width != Columns)
|
||||
{
|
||||
/* need to copy part of a line */
|
||||
|
@ -9649,7 +9639,7 @@ screen_ins_lines(
|
|||
screen_stop_highlight();
|
||||
windgoto(cursor_row, 0);
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* redraw the characters */
|
||||
if (type == USE_REDRAW)
|
||||
redraw_block(row, end, wp);
|
||||
|
@ -9758,7 +9748,7 @@ screen_del_lines(
|
|||
* 5. Use T_DL (delete line) if it exists.
|
||||
* 6. redraw the characters from ScreenLines[].
|
||||
*/
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (wp != NULL && wp->w_width != Columns && *T_CSV == NUL)
|
||||
type = USE_REDRAW;
|
||||
else
|
||||
|
@ -9790,7 +9780,7 @@ screen_del_lines(
|
|||
else if (*T_CDL != NUL && line_count > 1 && can_delete)
|
||||
type = USE_T_CDL;
|
||||
else if (can_clear(T_CE) && result_empty
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& (wp == NULL || wp->w_width == Columns)
|
||||
#endif
|
||||
)
|
||||
|
@ -9806,7 +9796,7 @@ screen_del_lines(
|
|||
/* Remove a modeless selection when deleting lines halfway the screen or
|
||||
* not the full width of the screen. */
|
||||
if (off + row > 0
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
|| (wp != NULL && wp->w_width != Columns)
|
||||
# endif
|
||||
)
|
||||
|
@ -9840,7 +9830,7 @@ screen_del_lines(
|
|||
end += off;
|
||||
for (i = 0; i < line_count; ++i)
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (wp != NULL && wp->w_width != Columns)
|
||||
{
|
||||
/* need to copy part of a line */
|
||||
|
@ -9876,7 +9866,7 @@ screen_del_lines(
|
|||
|
||||
screen_stop_highlight();
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* redraw the characters */
|
||||
if (type == USE_REDRAW)
|
||||
redraw_block(row, end, wp);
|
||||
|
@ -10445,7 +10435,7 @@ fillchar_status(int *attr, int is_curwin)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/*
|
||||
* Get the character to use in a separator between vertically split windows.
|
||||
* Get its attributes in "*attr".
|
||||
|
@ -10540,7 +10530,7 @@ win_redr_ruler(win_T *wp, int always)
|
|||
int i;
|
||||
size_t len;
|
||||
int o;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
int this_ru_col;
|
||||
int off = 0;
|
||||
int width = Columns;
|
||||
|
@ -10623,10 +10613,8 @@ win_redr_ruler(win_T *wp, int always)
|
|||
{
|
||||
row = W_WINROW(wp) + wp->w_height;
|
||||
fillchar = fillchar_status(&attr, wp == curwin);
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
off = W_WINCOL(wp);
|
||||
width = W_WIDTH(wp);
|
||||
# endif
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
@ -10634,7 +10622,7 @@ win_redr_ruler(win_T *wp, int always)
|
|||
row = Rows - 1;
|
||||
fillchar = ' ';
|
||||
attr = 0;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
width = Columns;
|
||||
off = 0;
|
||||
#endif
|
||||
|
@ -10674,7 +10662,7 @@ win_redr_ruler(win_T *wp, int always)
|
|||
if (wp->w_status_height == 0) /* can't use last char of screen */
|
||||
#endif
|
||||
++o;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
this_ru_col = ru_col - (Columns - width);
|
||||
if (this_ru_col < 0)
|
||||
this_ru_col = 0;
|
||||
|
|
|
@ -2200,7 +2200,7 @@ typedef struct w_line
|
|||
struct frame_S
|
||||
{
|
||||
char fr_layout; /* FR_LEAF, FR_COL or FR_ROW */
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
int fr_width;
|
||||
int fr_newwidth; /* new width used in win_equal_rec() */
|
||||
#endif
|
||||
|
@ -2370,8 +2370,6 @@ struct window_S
|
|||
status/command line(s) */
|
||||
#ifdef FEAT_WINDOWS
|
||||
int w_status_height; /* number of status lines (0 or 1) */
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
int w_wincol; /* Leftmost column of window in screen.
|
||||
use W_WINCOL() */
|
||||
int w_width; /* Width of window, excluding separation.
|
||||
|
|
|
@ -6783,7 +6783,7 @@ static char *(highlight_init_both[]) =
|
|||
"StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold"),
|
||||
CENT("StatusLineNC term=reverse cterm=reverse",
|
||||
"StatusLineNC term=reverse cterm=reverse gui=reverse"),
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
CENT("VertSplit term=reverse cterm=reverse",
|
||||
"VertSplit term=reverse cterm=reverse gui=reverse"),
|
||||
#endif
|
||||
|
|
12
src/term.c
12
src/term.c
|
@ -179,13 +179,13 @@ static struct builtin_term builtin_termcaps[] =
|
|||
# ifdef TERMINFO
|
||||
{(int)KS_CDL, IF_EB("\033|%p1%dD", ESC_STR "|%p1%dD")},
|
||||
{(int)KS_CS, IF_EB("\033|%p1%d;%p2%dR", ESC_STR "|%p1%d;%p2%dR")},
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
{(int)KS_CSV, IF_EB("\033|%p1%d;%p2%dV", ESC_STR "|%p1%d;%p2%dV")},
|
||||
# endif
|
||||
# else
|
||||
{(int)KS_CDL, IF_EB("\033|%dD", ESC_STR "|%dD")},
|
||||
{(int)KS_CS, IF_EB("\033|%d;%dR", ESC_STR "|%d;%dR")},
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
{(int)KS_CSV, IF_EB("\033|%d;%dV", ESC_STR "|%d;%dV")},
|
||||
# endif
|
||||
# endif
|
||||
|
@ -1080,7 +1080,7 @@ static struct builtin_term builtin_termcaps[] =
|
|||
# else
|
||||
{(int)KS_CS, "[%dCS%d]"},
|
||||
# endif
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
# ifdef FEAT_WINDOWS
|
||||
# ifdef TERMINFO
|
||||
{(int)KS_CSV, "[%p1%dCSV%p2%d]"},
|
||||
# else
|
||||
|
@ -2862,7 +2862,7 @@ win_new_shellsize(void)
|
|||
if (old_Columns != Columns)
|
||||
{
|
||||
old_Columns = Columns;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
shell_new_columns(); /* update window sizes */
|
||||
#endif
|
||||
}
|
||||
|
@ -3485,7 +3485,7 @@ scroll_region_set(win_T *wp, int off)
|
|||
{
|
||||
OUT_STR(tgoto((char *)T_CS, W_WINROW(wp) + wp->w_height - 1,
|
||||
W_WINROW(wp) + off));
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (*T_CSV != NUL && wp->w_width != Columns)
|
||||
OUT_STR(tgoto((char *)T_CSV, W_WINCOL(wp) + wp->w_width - 1,
|
||||
W_WINCOL(wp)));
|
||||
|
@ -3500,7 +3500,7 @@ scroll_region_set(win_T *wp, int off)
|
|||
scroll_region_reset(void)
|
||||
{
|
||||
OUT_STR(tgoto((char *)T_CS, (int)Rows - 1, 0));
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (*T_CSV != NUL)
|
||||
OUT_STR(tgoto((char *)T_CSV, (int)Columns - 1, 0));
|
||||
#endif
|
||||
|
|
|
@ -83,7 +83,7 @@ enum SpecialKey
|
|||
KS_CSI, /* start insert mode (bar cursor) */
|
||||
KS_CEI, /* end insert mode (block cursor) */
|
||||
KS_CSR, /* start replace mode (underline cursor) */
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
KS_CSV, /* scroll region vertical */
|
||||
#endif
|
||||
KS_OP, /* original color pair */
|
||||
|
|
20
src/ui.c
20
src/ui.c
|
@ -2583,7 +2583,7 @@ jump_to_mouse(
|
|||
int which_button) /* MOUSE_LEFT, MOUSE_RIGHT, MOUSE_MIDDLE */
|
||||
{
|
||||
static int on_status_line = 0; /* #lines below bottom of window */
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
static int on_sep_line = 0; /* on separator right of window */
|
||||
#endif
|
||||
static int prev_row = -1;
|
||||
|
@ -2623,7 +2623,7 @@ retnomove:
|
|||
* line, stop Visual mode */
|
||||
if (on_status_line)
|
||||
return IN_STATUS_LINE;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (on_sep_line)
|
||||
return IN_SEP_LINE;
|
||||
#endif
|
||||
|
@ -2681,7 +2681,7 @@ retnomove:
|
|||
}
|
||||
else
|
||||
on_status_line = 0;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (col >= wp->w_width) /* In separator line */
|
||||
{
|
||||
on_sep_line = col - wp->w_width + 1;
|
||||
|
@ -2706,7 +2706,7 @@ retnomove:
|
|||
if (VIsual_active
|
||||
&& (wp->w_buffer != curwin->w_buffer
|
||||
|| (!on_status_line
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
&& !on_sep_line
|
||||
#endif
|
||||
#ifdef FEAT_FOLDING
|
||||
|
@ -2730,9 +2730,7 @@ retnomove:
|
|||
{
|
||||
/* A click outside the command-line window: Use modeless
|
||||
* selection if possible. Allow dragging the status lines. */
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
on_sep_line = 0;
|
||||
# endif
|
||||
# ifdef FEAT_CLIPBOARD
|
||||
if (on_status_line)
|
||||
return IN_STATUS_LINE;
|
||||
|
@ -2764,7 +2762,7 @@ retnomove:
|
|||
else
|
||||
return IN_STATUS_LINE | CURSOR_MOVED;
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (on_sep_line) /* In (or below) status line */
|
||||
{
|
||||
/* Don't use start_arrow() if we're in the same window */
|
||||
|
@ -2798,7 +2796,7 @@ retnomove:
|
|||
#endif
|
||||
return IN_STATUS_LINE; /* Cursor didn't move */
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
else if (on_sep_line && which_button == MOUSE_LEFT)
|
||||
{
|
||||
if (dragwin != NULL)
|
||||
|
@ -2828,7 +2826,7 @@ retnomove:
|
|||
#endif
|
||||
|
||||
row -= W_WINROW(curwin);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
col -= W_WINCOL(curwin);
|
||||
#endif
|
||||
|
||||
|
@ -3089,7 +3087,6 @@ mouse_find_win(int *rowp, int *colp UNUSED)
|
|||
{
|
||||
if (fp->fr_layout == FR_LEAF)
|
||||
break;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (fp->fr_layout == FR_ROW)
|
||||
{
|
||||
for (fp = fp->fr_child; fp->fr_next != NULL; fp = fp->fr_next)
|
||||
|
@ -3099,7 +3096,6 @@ mouse_find_win(int *rowp, int *colp UNUSED)
|
|||
*colp -= fp->fr_width;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else /* fr_layout == FR_COL */
|
||||
{
|
||||
for (fp = fp->fr_child; fp->fr_next != NULL; fp = fp->fr_next)
|
||||
|
@ -3141,7 +3137,7 @@ get_fpos_of_mouse(pos_T *mpos)
|
|||
*/
|
||||
if (row >= wp->w_height) /* In (or below) status line */
|
||||
return IN_STATUS_LINE;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (col >= wp->w_width) /* In vertical separator line */
|
||||
return IN_SEP_LINE;
|
||||
#endif
|
||||
|
|
|
@ -646,7 +646,7 @@ static char *(features[]) =
|
|||
#else
|
||||
"-user_commands",
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
"+vertsplit",
|
||||
#else
|
||||
"-vertsplit",
|
||||
|
@ -748,6 +748,8 @@ static char *(features[]) =
|
|||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1611,
|
||||
/**/
|
||||
1610,
|
||||
/**/
|
||||
|
|
|
@ -810,7 +810,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
|
|||
#define FINDFILE_DIR 1 /* only directories */
|
||||
#define FINDFILE_BOTH 2 /* files and directories */
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
# define W_WINCOL(wp) (wp->w_wincol)
|
||||
# define W_WIDTH(wp) (wp->w_width)
|
||||
# define W_ENDCOL(wp) (wp->w_wincol + wp->w_width)
|
||||
|
|
204
src/window.c
204
src/window.c
|
@ -16,9 +16,7 @@ static void win_init(win_T *newp, win_T *oldp, int flags);
|
|||
static void win_init_some(win_T *newp, win_T *oldp);
|
||||
static void frame_comp_pos(frame_T *topfrp, int *row, int *col);
|
||||
static void frame_setheight(frame_T *curfrp, int height);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
static void frame_setwidth(frame_T *curfrp, int width);
|
||||
#endif
|
||||
static void win_exchange(long);
|
||||
static void win_rotate(int, int);
|
||||
static void win_totop(int size, int flags);
|
||||
|
@ -32,7 +30,6 @@ static win_T *frame2win(frame_T *frp);
|
|||
static int frame_has_win(frame_T *frp, win_T *wp);
|
||||
static void frame_new_height(frame_T *topfrp, int height, int topfirst, int wfh);
|
||||
static int frame_fixed_height(frame_T *frp);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
static int frame_fixed_width(frame_T *frp);
|
||||
static void frame_add_statusline(frame_T *frp);
|
||||
static void frame_new_width(frame_T *topfrp, int width, int leftfirst, int wfw);
|
||||
|
@ -40,7 +37,6 @@ static void frame_add_vsep(frame_T *frp);
|
|||
static int frame_minwidth(frame_T *topfrp, win_T *next_curwin);
|
||||
static void frame_fix_width(win_T *wp);
|
||||
#endif
|
||||
#endif
|
||||
static int win_alloc_firstwin(win_T *oldwin);
|
||||
static void new_frame(win_T *wp);
|
||||
#if defined(FEAT_WINDOWS) || defined(PROTO)
|
||||
|
@ -54,10 +50,8 @@ static void win_free(win_T *wp, tabpage_T *tp);
|
|||
static void frame_append(frame_T *after, frame_T *frp);
|
||||
static void frame_insert(frame_T *before, frame_T *frp);
|
||||
static void frame_remove(frame_T *frp);
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
static void win_goto_ver(int up, long count);
|
||||
static void win_goto_hor(int left, long count);
|
||||
# endif
|
||||
static void frame_add_height(frame_T *frp, int n);
|
||||
static void last_status_rec(frame_T *fr, int statusline);
|
||||
|
||||
|
@ -68,9 +62,7 @@ static int check_snapshot_rec(frame_T *sn, frame_T *fr);
|
|||
static win_T *restore_snapshot_rec(frame_T *sn, frame_T *fr);
|
||||
|
||||
static int frame_check_height(frame_T *topfrp, int height);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
static int frame_check_width(frame_T *topfrp, int width);
|
||||
#endif
|
||||
|
||||
#endif /* FEAT_WINDOWS */
|
||||
|
||||
|
@ -143,24 +135,22 @@ do_window(
|
|||
(void)win_split((int)Prenum, 0);
|
||||
break;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/* split current window in two parts, vertically */
|
||||
case Ctrl_V:
|
||||
case 'v':
|
||||
CHECK_CMDWIN
|
||||
reset_VIsual_and_resel(); /* stop Visual mode */
|
||||
# ifdef FEAT_QUICKFIX
|
||||
#ifdef FEAT_QUICKFIX
|
||||
/* When splitting the quickfix window open a new buffer in it,
|
||||
* don't replicate the quickfix buffer. */
|
||||
if (bt_quickfix(curbuf))
|
||||
goto newwindow;
|
||||
# endif
|
||||
# ifdef FEAT_GUI
|
||||
#endif
|
||||
#ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
# endif
|
||||
#endif
|
||||
(void)win_split((int)Prenum, WSP_VERT);
|
||||
break;
|
||||
#endif
|
||||
|
||||
/* split current window and edit alternate file */
|
||||
case Ctrl_HAT:
|
||||
|
@ -184,7 +174,7 @@ newwindow:
|
|||
vim_snprintf((char *)cbuf, sizeof(cbuf) - 5, "%ld", Prenum);
|
||||
else
|
||||
cbuf[0] = NUL;
|
||||
#if defined(FEAT_VERTSPLIT) && defined(FEAT_QUICKFIX)
|
||||
#if defined(FEAT_QUICKFIX)
|
||||
if (nchar == 'v' || nchar == Ctrl_V)
|
||||
STRCAT(cbuf, "v");
|
||||
#endif
|
||||
|
@ -282,14 +272,7 @@ newwindow:
|
|||
case K_DOWN:
|
||||
case Ctrl_J:
|
||||
CHECK_CMDWIN
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
win_goto_ver(FALSE, Prenum1);
|
||||
#else
|
||||
for (wp = curwin; wp->w_next != NULL && Prenum1-- > 0;
|
||||
wp = wp->w_next)
|
||||
;
|
||||
win_goto(wp);
|
||||
#endif
|
||||
break;
|
||||
|
||||
/* cursor to window above */
|
||||
|
@ -297,17 +280,9 @@ newwindow:
|
|||
case K_UP:
|
||||
case Ctrl_K:
|
||||
CHECK_CMDWIN
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
win_goto_ver(TRUE, Prenum1);
|
||||
#else
|
||||
for (wp = curwin; wp->w_prev != NULL && Prenum1-- > 0;
|
||||
wp = wp->w_prev)
|
||||
;
|
||||
win_goto(wp);
|
||||
#endif
|
||||
break;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/* cursor to left window */
|
||||
case 'h':
|
||||
case K_LEFT:
|
||||
|
@ -324,7 +299,6 @@ newwindow:
|
|||
CHECK_CMDWIN
|
||||
win_goto_hor(FALSE, Prenum1);
|
||||
break;
|
||||
#endif
|
||||
|
||||
/* move window to new tab page */
|
||||
case 'T':
|
||||
|
@ -397,10 +371,8 @@ newwindow:
|
|||
/* move window to the very top/bottom/left/right */
|
||||
case 'K':
|
||||
case 'J':
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
case 'H':
|
||||
case 'L':
|
||||
#endif
|
||||
CHECK_CMDWIN
|
||||
win_totop((int)Prenum,
|
||||
((nchar == 'H' || nchar == 'L') ? WSP_VERT : 0)
|
||||
|
@ -440,7 +412,6 @@ newwindow:
|
|||
win_setheight(Prenum ? (int)Prenum : 9999);
|
||||
break;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/* increase current window width */
|
||||
case '>':
|
||||
#ifdef FEAT_GUI
|
||||
|
@ -464,7 +435,6 @@ newwindow:
|
|||
#endif
|
||||
win_setwidth(Prenum != 0 ? (int)Prenum : 9999);
|
||||
break;
|
||||
#endif
|
||||
|
||||
/* jump to tag and split window if tag exists (in preview window) */
|
||||
#if defined(FEAT_QUICKFIX)
|
||||
|
@ -655,7 +625,6 @@ get_wincmd_addr_type(char_u *arg, exarg_T *eap)
|
|||
case Ctrl_RSB:
|
||||
case 'g':
|
||||
case Ctrl_G:
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
case Ctrl_V:
|
||||
case 'v':
|
||||
case 'h':
|
||||
|
@ -666,7 +635,6 @@ get_wincmd_addr_type(char_u *arg, exarg_T *eap)
|
|||
case 'L':
|
||||
case '>':
|
||||
case '<':
|
||||
#endif
|
||||
#if defined(FEAT_QUICKFIX)
|
||||
case '}':
|
||||
#endif
|
||||
|
@ -831,7 +799,6 @@ win_split_ins(
|
|||
out_flush();
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (flags & WSP_VERT)
|
||||
{
|
||||
int wmw1;
|
||||
|
@ -920,7 +887,6 @@ win_split_ins(
|
|||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
layout = FR_COL;
|
||||
|
||||
|
@ -998,10 +964,7 @@ win_split_ins(
|
|||
|
||||
/* Only make all windows the same height if one of them (except oldwin)
|
||||
* is higher than one of the split windows. */
|
||||
if (!do_equal && p_ea && size == 0
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
&& *p_ead != 'h'
|
||||
#endif
|
||||
if (!do_equal && p_ea && size == 0 && *p_ead != 'h'
|
||||
&& oldwin->w_frame->fr_parent != NULL)
|
||||
{
|
||||
frp = oldwin->w_frame->fr_parent->fr_child;
|
||||
|
@ -1027,11 +990,7 @@ win_split_ins(
|
|||
&& ((flags & WSP_BOT)
|
||||
|| (flags & WSP_BELOW)
|
||||
|| (!(flags & WSP_ABOVE)
|
||||
&& (
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
(flags & WSP_VERT) ? p_spr :
|
||||
#endif
|
||||
p_sb))))
|
||||
&& ( (flags & WSP_VERT) ? p_spr : p_sb))))
|
||||
{
|
||||
/* new window below/right of current one */
|
||||
if (new_wp == NULL)
|
||||
|
@ -1068,12 +1027,8 @@ win_split_ins(
|
|||
*/
|
||||
if (flags & (WSP_TOP | WSP_BOT))
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if ((topframe->fr_layout == FR_COL && (flags & WSP_VERT) == 0)
|
||||
|| (topframe->fr_layout == FR_ROW && (flags & WSP_VERT) != 0))
|
||||
#else
|
||||
if (topframe->fr_layout == FR_COL)
|
||||
#endif
|
||||
{
|
||||
curfrp = topframe->fr_child;
|
||||
if (flags & WSP_BOT)
|
||||
|
@ -1091,12 +1046,9 @@ win_split_ins(
|
|||
before = FALSE;
|
||||
else if (flags & WSP_ABOVE)
|
||||
before = TRUE;
|
||||
else
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (flags & WSP_VERT)
|
||||
else if (flags & WSP_VERT)
|
||||
before = !p_spr;
|
||||
else
|
||||
#endif
|
||||
before = !p_sb;
|
||||
}
|
||||
if (curfrp->fr_parent == NULL || curfrp->fr_parent->fr_layout != layout)
|
||||
|
@ -1136,7 +1088,6 @@ win_split_ins(
|
|||
set_fraction(oldwin);
|
||||
wp->w_fraction = oldwin->w_fraction;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (flags & WSP_VERT)
|
||||
{
|
||||
wp->w_p_scr = curwin->w_p_scr;
|
||||
|
@ -1194,10 +1145,8 @@ win_split_ins(
|
|||
frame_fix_width(wp);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
/* width and column of new window is same as current window */
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (flags & (WSP_TOP | WSP_BOT))
|
||||
{
|
||||
wp->w_wincol = 0;
|
||||
|
@ -1211,7 +1160,6 @@ win_split_ins(
|
|||
wp->w_vsep_width = oldwin->w_vsep_width;
|
||||
}
|
||||
frp->fr_width = curfrp->fr_width;
|
||||
#endif
|
||||
|
||||
/* "new_size" of the current window goes to the new window, use
|
||||
* one row for the status line */
|
||||
|
@ -1234,10 +1182,8 @@ win_split_ins(
|
|||
/* Don't set the status_height for oldwin yet, this might break
|
||||
* frame_fix_height(oldwin), therefore will be set below. */
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (flags & WSP_BOT)
|
||||
frame_add_statusline(curfrp);
|
||||
#endif
|
||||
frame_fix_height(wp);
|
||||
frame_fix_height(oldwin);
|
||||
|
||||
|
@ -1273,15 +1219,11 @@ win_split_ins(
|
|||
*/
|
||||
if (do_equal || dir != 0)
|
||||
win_equal(wp, TRUE,
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
(flags & WSP_VERT) ? (dir == 'v' ? 'b' : 'h')
|
||||
: dir == 'h' ? 'b' :
|
||||
#endif
|
||||
'v');
|
||||
: dir == 'h' ? 'b' : 'v');
|
||||
|
||||
/* Don't change the window height/width to 'winheight' / 'winwidth' if a
|
||||
* size was given. */
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (flags & WSP_VERT)
|
||||
{
|
||||
i = p_wiw;
|
||||
|
@ -1295,7 +1237,6 @@ win_split_ins(
|
|||
# endif
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
i = p_wh;
|
||||
if (size != 0)
|
||||
|
@ -1311,11 +1252,9 @@ win_split_ins(
|
|||
* make the new window the current window
|
||||
*/
|
||||
win_enter(wp, FALSE);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (flags & WSP_VERT)
|
||||
p_wiw = i;
|
||||
else
|
||||
#endif
|
||||
p_wh = i;
|
||||
|
||||
return OK;
|
||||
|
@ -1454,7 +1393,6 @@ make_windows(
|
|||
int maxcount;
|
||||
int todo;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (vertical)
|
||||
{
|
||||
/* Each windows needs at least 'winminwidth' lines and a separator
|
||||
|
@ -1463,7 +1401,6 @@ make_windows(
|
|||
- (p_wiw - p_wmw)) / (p_wmw + 1);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
/* Each window needs at least 'winminheight' lines and a status line. */
|
||||
maxcount = (curwin->w_height + curwin->w_status_height
|
||||
|
@ -1491,7 +1428,6 @@ make_windows(
|
|||
|
||||
/* todo is number of windows left to create */
|
||||
for (todo = count - 1; todo > 0; --todo)
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (vertical)
|
||||
{
|
||||
if (win_split(curwin->w_width - (curwin->w_width - todo)
|
||||
|
@ -1499,7 +1435,6 @@ make_windows(
|
|||
break;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if (win_split(curwin->w_height - (curwin->w_height - todo
|
||||
* STATUS_HEIGHT) / (todo + 1)
|
||||
|
@ -1587,7 +1522,6 @@ win_exchange(long Prenum)
|
|||
temp = curwin->w_status_height;
|
||||
curwin->w_status_height = wp->w_status_height;
|
||||
wp->w_status_height = temp;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
temp = curwin->w_vsep_width;
|
||||
curwin->w_vsep_width = wp->w_vsep_width;
|
||||
wp->w_vsep_width = temp;
|
||||
|
@ -1610,7 +1544,6 @@ win_exchange(long Prenum)
|
|||
frame_fix_width(curwin);
|
||||
frame_fix_width(wp);
|
||||
}
|
||||
#endif
|
||||
|
||||
(void)win_comp_pos(); /* recompute window positions */
|
||||
|
||||
|
@ -1640,7 +1573,6 @@ win_rotate(int upwards, int count)
|
|||
need_mouse_correct = TRUE;
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/* Check if all frames in this row/col have one window. */
|
||||
for (frp = curwin->w_frame->fr_parent->fr_child; frp != NULL;
|
||||
frp = frp->fr_next)
|
||||
|
@ -1649,7 +1581,6 @@ win_rotate(int upwards, int count)
|
|||
EMSG(_("E443: Cannot rotate when another window is split"));
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
while (count--)
|
||||
{
|
||||
|
@ -1691,15 +1622,13 @@ win_rotate(int upwards, int count)
|
|||
wp1->w_status_height = n;
|
||||
frame_fix_height(wp1);
|
||||
frame_fix_height(wp2);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
n = wp2->w_vsep_width;
|
||||
wp2->w_vsep_width = wp1->w_vsep_width;
|
||||
wp1->w_vsep_width = n;
|
||||
frame_fix_width(wp1);
|
||||
frame_fix_width(wp2);
|
||||
#endif
|
||||
|
||||
/* recompute w_winrow and w_wincol for all windows */
|
||||
/* recompute w_winrow and w_wincol for all windows */
|
||||
(void)win_comp_pos();
|
||||
}
|
||||
|
||||
|
@ -1736,7 +1665,7 @@ win_totop(int size, int flags)
|
|||
win_equal(curwin, TRUE, 'v');
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT)
|
||||
#if defined(FEAT_GUI)
|
||||
/* When 'guioptions' includes 'L' or 'R' may have to remove or add
|
||||
* scrollbars. Have to update them anyway. */
|
||||
gui_may_update_scrollbars();
|
||||
|
@ -1766,7 +1695,6 @@ win_move_after(win_T *win1, win_T *win2)
|
|||
height = win1->w_prev->w_status_height;
|
||||
win1->w_prev->w_status_height = win1->w_status_height;
|
||||
win1->w_status_height = height;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (win1->w_prev->w_vsep_width == 1)
|
||||
{
|
||||
/* Remove the vertical separator from the last-but-one window,
|
||||
|
@ -1776,14 +1704,12 @@ win_move_after(win_T *win1, win_T *win2)
|
|||
win1->w_vsep_width = 1;
|
||||
win1->w_frame->fr_width += 1;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else if (win2 == lastwin)
|
||||
{
|
||||
height = win1->w_status_height;
|
||||
win1->w_status_height = win2->w_status_height;
|
||||
win2->w_status_height = height;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (win1->w_vsep_width == 1)
|
||||
{
|
||||
/* Remove the vertical separator from win1, add it to the last
|
||||
|
@ -1793,7 +1719,6 @@ win_move_after(win_T *win1, win_T *win2)
|
|||
win1->w_vsep_width = 0;
|
||||
win1->w_frame->fr_width -= 1;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
win_remove(win1, NULL);
|
||||
frame_remove(win1->w_frame);
|
||||
|
@ -1819,11 +1744,7 @@ win_equal(
|
|||
'b' for both, 0 for using p_ead */
|
||||
{
|
||||
if (dir == 0)
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
dir = *p_ead;
|
||||
#else
|
||||
dir = 'b';
|
||||
#endif
|
||||
win_equal_rec(next_curwin == NULL ? curwin : next_curwin, current,
|
||||
topframe, dir, 0, tabline_height(),
|
||||
(int)Columns, topframe->fr_height);
|
||||
|
@ -1861,21 +1782,16 @@ win_equal_rec(
|
|||
/* Set the width/height of this frame.
|
||||
* Redraw when size or position changes */
|
||||
if (topfr->fr_height != height || topfr->fr_win->w_winrow != row
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
|| topfr->fr_width != width || topfr->fr_win->w_wincol != col
|
||||
#endif
|
||||
)
|
||||
{
|
||||
topfr->fr_win->w_winrow = row;
|
||||
frame_new_height(topfr, height, FALSE, FALSE);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
topfr->fr_win->w_wincol = col;
|
||||
frame_new_width(topfr, width, FALSE, FALSE);
|
||||
#endif
|
||||
redraw_all_later(CLEAR);
|
||||
}
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
else if (topfr->fr_layout == FR_ROW)
|
||||
{
|
||||
topfr->fr_width = width;
|
||||
|
@ -2017,12 +1933,9 @@ win_equal_rec(
|
|||
totwincount -= wincount;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else /* topfr->fr_layout == FR_COL */
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
topfr->fr_width = width;
|
||||
#endif
|
||||
topfr->fr_height = height;
|
||||
|
||||
if (dir != 'h') /* equalize frame heights */
|
||||
|
@ -2486,18 +2399,8 @@ win_close(win_T *win, int free_buf)
|
|||
curbuf = curwin->w_buffer;
|
||||
close_curwin = TRUE;
|
||||
}
|
||||
if (p_ea
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
&& (*p_ead == 'b' || *p_ead == dir)
|
||||
#endif
|
||||
)
|
||||
win_equal(curwin, TRUE,
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
dir
|
||||
#else
|
||||
0
|
||||
#endif
|
||||
);
|
||||
if (p_ea && (*p_ead == 'b' || *p_ead == dir))
|
||||
win_equal(curwin, TRUE, dir);
|
||||
else
|
||||
win_comp_pos();
|
||||
if (close_curwin)
|
||||
|
@ -2521,7 +2424,7 @@ win_close(win_T *win, int free_buf)
|
|||
if (help_window)
|
||||
restore_snapshot(SNAP_HELP_IDX, close_curwin);
|
||||
|
||||
#if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT)
|
||||
#if defined(FEAT_GUI)
|
||||
/* When 'guioptions' includes 'L' or 'R' may have to remove scrollbars. */
|
||||
if (gui.in_use && !win_hasvertsplit())
|
||||
gui_init_which_components(NULL);
|
||||
|
@ -2678,10 +2581,8 @@ winframe_remove(
|
|||
/* Remove this frame from the list of frames. */
|
||||
frame_remove(frp_close);
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (frp_close->fr_parent->fr_layout == FR_COL)
|
||||
{
|
||||
#endif
|
||||
/* When 'winfixheight' is set, try to find another frame in the column
|
||||
* (as close to the closed frame as possible) to distribute the height
|
||||
* to. */
|
||||
|
@ -2715,7 +2616,6 @@ winframe_remove(
|
|||
}
|
||||
frame_new_height(frp2, frp2->fr_height + frp_close->fr_height,
|
||||
frp2 == frp_close->fr_next ? TRUE : FALSE, FALSE);
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
*dirp = 'v';
|
||||
}
|
||||
else
|
||||
|
@ -2755,7 +2655,6 @@ winframe_remove(
|
|||
frp2 == frp_close->fr_next ? TRUE : FALSE, FALSE);
|
||||
*dirp = 'h';
|
||||
}
|
||||
#endif
|
||||
|
||||
/* If rows/columns go to a window below/right its positions need to be
|
||||
* updated. Can only be done after the sizes have been updated. */
|
||||
|
@ -2830,11 +2729,9 @@ win_altframe(
|
|||
return alt_tabpage()->tp_curwin->w_frame;
|
||||
|
||||
frp = win->w_frame;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (frp->fr_parent != NULL && frp->fr_parent->fr_layout == FR_ROW)
|
||||
b = p_spr;
|
||||
else
|
||||
#endif
|
||||
b = p_sb;
|
||||
if ((!b && frp->fr_next != NULL) || frp->fr_prev == NULL)
|
||||
return frp->fr_next;
|
||||
|
@ -2909,7 +2806,6 @@ frame_new_height(
|
|||
win_new_height(topfrp->fr_win,
|
||||
height - topfrp->fr_win->w_status_height);
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
else if (topfrp->fr_layout == FR_ROW)
|
||||
{
|
||||
do
|
||||
|
@ -2928,7 +2824,6 @@ frame_new_height(
|
|||
}
|
||||
while (frp != NULL);
|
||||
}
|
||||
#endif
|
||||
else /* fr_layout == FR_COL */
|
||||
{
|
||||
/* Complicated case: Resize a column of frames. Resize the bottom
|
||||
|
@ -3027,7 +2922,6 @@ frame_fixed_height(frame_T *frp)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/*
|
||||
* Return TRUE if width of frame "frp" should not be changed because of
|
||||
* the 'winfixwidth' option.
|
||||
|
@ -3249,7 +3143,6 @@ frame_fix_width(win_T *wp)
|
|||
{
|
||||
wp->w_frame->fr_width = wp->w_width + wp->w_vsep_width;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Set frame height from the window it contains.
|
||||
|
@ -3272,9 +3165,7 @@ frame_minheight(frame_T *topfrp, win_T *next_curwin)
|
|||
{
|
||||
frame_T *frp;
|
||||
int m;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
int n;
|
||||
#endif
|
||||
|
||||
if (topfrp->fr_win != NULL)
|
||||
{
|
||||
|
@ -3289,7 +3180,6 @@ frame_minheight(frame_T *topfrp, win_T *next_curwin)
|
|||
++m;
|
||||
}
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
else if (topfrp->fr_layout == FR_ROW)
|
||||
{
|
||||
/* get the minimal height from each frame in this row */
|
||||
|
@ -3301,7 +3191,6 @@ frame_minheight(frame_T *topfrp, win_T *next_curwin)
|
|||
m = n;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
/* Add up the minimal heights for all frames in this column. */
|
||||
|
@ -3313,7 +3202,6 @@ frame_minheight(frame_T *topfrp, win_T *next_curwin)
|
|||
return m;
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/*
|
||||
* Compute the minimal width for frame "topfrp".
|
||||
* When "next_curwin" isn't NULL, use p_wiw for this window.
|
||||
|
@ -3362,7 +3250,6 @@ frame_minwidth(
|
|||
|
||||
return m;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
|
@ -3559,9 +3446,7 @@ win_alloc_firstwin(win_T *oldwin)
|
|||
if (curwin->w_frame == NULL)
|
||||
return FAIL;
|
||||
topframe = curwin->w_frame;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
topframe->fr_width = Columns;
|
||||
#endif
|
||||
topframe->fr_height = Rows - p_ch;
|
||||
topframe->fr_win = curwin;
|
||||
|
||||
|
@ -3592,10 +3477,8 @@ win_init_size(void)
|
|||
{
|
||||
firstwin->w_height = ROWS_AVAIL;
|
||||
topframe->fr_height = ROWS_AVAIL;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
firstwin->w_width = Columns;
|
||||
topframe->fr_width = Columns;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(FEAT_WINDOWS) || defined(PROTO)
|
||||
|
@ -3932,10 +3815,8 @@ enter_tabpage(
|
|||
#endif
|
||||
))
|
||||
shell_new_rows();
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (curtab->tp_old_Columns != Columns && starting == 0)
|
||||
shell_new_columns(); /* update window widths */
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_GUI)
|
||||
/* When 'guioptions' includes 'L' or 'R' may have to remove or add
|
||||
|
@ -4214,7 +4095,6 @@ win_find_tabpage(win_T *win)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/*
|
||||
* Move to window above or below "count" times.
|
||||
*/
|
||||
|
@ -4340,7 +4220,6 @@ end:
|
|||
if (foundfr != NULL)
|
||||
win_goto(foundfr->fr_win);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Make window "wp" the current window.
|
||||
|
@ -4468,11 +4347,9 @@ win_enter_ext(
|
|||
else if (curwin->w_height == 0)
|
||||
win_setheight(1);
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/* set window width to desired minimal value */
|
||||
if (curwin->w_width < p_wiw && !curwin->w_p_wfw)
|
||||
win_setwidth((int)p_wiw);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MOUSE
|
||||
setmouse(); /* in case jumped to/from help buffer */
|
||||
|
@ -4592,10 +4469,8 @@ win_alloc(win_T *after UNUSED, int hidden UNUSED)
|
|||
if (!hidden)
|
||||
win_append(after, new_wp);
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
new_wp->w_wincol = 0;
|
||||
new_wp->w_width = Columns;
|
||||
#endif
|
||||
|
||||
/* position the display and the cursor at the top of the file. */
|
||||
new_wp->w_topline = 1;
|
||||
|
@ -4915,7 +4790,7 @@ shell_new_rows(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
#if defined(FEAT_VERTSPLIT) || defined(PROTO)
|
||||
#if defined(FEAT_WINDOWS) || defined(PROTO)
|
||||
/*
|
||||
* Called from win_new_shellsize() after Columns changed.
|
||||
*/
|
||||
|
@ -5016,47 +4891,33 @@ frame_comp_pos(frame_T *topfrp, int *row, int *col)
|
|||
{
|
||||
win_T *wp;
|
||||
frame_T *frp;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
int startcol;
|
||||
int startrow;
|
||||
#endif
|
||||
|
||||
wp = topfrp->fr_win;
|
||||
if (wp != NULL)
|
||||
{
|
||||
if (wp->w_winrow != *row
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
|| wp->w_wincol != *col
|
||||
#endif
|
||||
)
|
||||
if (wp->w_winrow != *row || wp->w_wincol != *col)
|
||||
{
|
||||
/* position changed, redraw */
|
||||
wp->w_winrow = *row;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
wp->w_wincol = *col;
|
||||
#endif
|
||||
redraw_win_later(wp, NOT_VALID);
|
||||
wp->w_redr_status = TRUE;
|
||||
}
|
||||
*row += wp->w_height + wp->w_status_height;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
*col += wp->w_width + wp->w_vsep_width;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
startrow = *row;
|
||||
startcol = *col;
|
||||
#endif
|
||||
for (frp = topfrp->fr_child; frp != NULL; frp = frp->fr_next)
|
||||
{
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (topfrp->fr_layout == FR_ROW)
|
||||
*row = startrow; /* all frames are at the same row */
|
||||
else
|
||||
*col = startcol; /* all frames are at the same col */
|
||||
#endif
|
||||
frame_comp_pos(frp, row, col);
|
||||
}
|
||||
}
|
||||
|
@ -5172,7 +5033,6 @@ frame_setheight(frame_T *curfrp, int height)
|
|||
/*
|
||||
* Column of frames: try to change only frames in this column.
|
||||
*/
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
/*
|
||||
* Do this twice:
|
||||
* 1: compute room available, if it's not enough try resizing the
|
||||
|
@ -5181,9 +5041,6 @@ frame_setheight(frame_T *curfrp, int height)
|
|||
* Try not to reduce the height of a window with 'winfixheight' set.
|
||||
*/
|
||||
for (run = 1; run <= 2; ++run)
|
||||
#else
|
||||
for (;;)
|
||||
#endif
|
||||
{
|
||||
room = 0;
|
||||
room_reserved = 0;
|
||||
|
@ -5198,11 +5055,9 @@ frame_setheight(frame_T *curfrp, int height)
|
|||
if (frp != curfrp)
|
||||
room -= frame_minheight(frp, NULL);
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (curfrp->fr_width != Columns)
|
||||
room_cmdline = 0;
|
||||
else
|
||||
#endif
|
||||
{
|
||||
room_cmdline = Rows - p_ch - (lastwin->w_winrow
|
||||
+ lastwin->w_height + lastwin->w_status_height);
|
||||
|
@ -5212,19 +5067,14 @@ frame_setheight(frame_T *curfrp, int height)
|
|||
|
||||
if (height <= room + room_cmdline)
|
||||
break;
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (run == 2 || curfrp->fr_width == Columns)
|
||||
#endif
|
||||
{
|
||||
if (height > room + room_cmdline)
|
||||
height = room + room_cmdline;
|
||||
break;
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
frame_setheight(curfrp->fr_parent, height
|
||||
+ frame_minheight(curfrp->fr_parent, NOWIN) - (int)p_wmh - 1);
|
||||
#endif
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -5308,7 +5158,6 @@ frame_setheight(frame_T *curfrp, int height)
|
|||
}
|
||||
}
|
||||
|
||||
#if defined(FEAT_VERTSPLIT) || defined(PROTO)
|
||||
/*
|
||||
* Set current window width and take care of repositioning other windows to
|
||||
* fit around it.
|
||||
|
@ -5483,7 +5332,6 @@ frame_setwidth(frame_T *curfrp, int width)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif /* FEAT_VERTSPLIT */
|
||||
|
||||
/*
|
||||
* Check 'winminheight' for a valid value.
|
||||
|
@ -5644,7 +5492,6 @@ win_drag_status_line(win_T *dragwin, int offset)
|
|||
showmode();
|
||||
}
|
||||
|
||||
# if defined(FEAT_VERTSPLIT) || defined(PROTO)
|
||||
/*
|
||||
* Separator line of dragwin is dragged "offset" lines right (negative is left).
|
||||
*/
|
||||
|
@ -5747,7 +5594,6 @@ win_drag_vsep_line(win_T *dragwin, int offset)
|
|||
(void)win_comp_pos();
|
||||
redraw_all_later(NOT_VALID);
|
||||
}
|
||||
# endif /* FEAT_VERTSPLIT */
|
||||
#endif /* FEAT_MOUSE */
|
||||
|
||||
#endif /* FEAT_WINDOWS */
|
||||
|
@ -5918,7 +5764,7 @@ win_new_height(win_T *wp, int height)
|
|||
invalidate_botline_win(wp);
|
||||
}
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
#ifdef FEAT_WINDOWS
|
||||
/*
|
||||
* Set the width of a window.
|
||||
*/
|
||||
|
@ -5965,10 +5811,8 @@ command_height(void)
|
|||
|
||||
/* Find bottom frame with width of screen. */
|
||||
frp = lastwin->w_frame;
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
while (frp->fr_width != Columns && frp->fr_parent != NULL)
|
||||
frp = frp->fr_parent;
|
||||
# endif
|
||||
|
||||
/* Avoid changing the height of a window with 'winfixheight' set. */
|
||||
while (frp->fr_prev != NULL && frp->fr_layout == FR_LEAF
|
||||
|
@ -6104,14 +5948,12 @@ last_status_rec(frame_T *fr, int statusline)
|
|||
redraw_all_later(SOME_VALID);
|
||||
}
|
||||
}
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
else if (fr->fr_layout == FR_ROW)
|
||||
{
|
||||
/* vertically split windows, set status line for each one */
|
||||
for (fp = fr->fr_child; fp != NULL; fp = fp->fr_next)
|
||||
last_status_rec(fp, statusline);
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
/* horizontally split window, set status line for last one */
|
||||
|
@ -6574,9 +6416,7 @@ make_snapshot_rec(frame_T *fr, frame_T **frp)
|
|||
if (*frp == NULL)
|
||||
return;
|
||||
(*frp)->fr_layout = fr->fr_layout;
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
(*frp)->fr_width = fr->fr_width;
|
||||
# endif
|
||||
(*frp)->fr_height = fr->fr_height;
|
||||
if (fr->fr_next != NULL)
|
||||
make_snapshot_rec(fr->fr_next, &((*frp)->fr_next));
|
||||
|
@ -6620,9 +6460,7 @@ restore_snapshot(
|
|||
win_T *wp;
|
||||
|
||||
if (curtab->tp_snapshot[idx] != NULL
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
&& curtab->tp_snapshot[idx]->fr_width == topframe->fr_width
|
||||
# endif
|
||||
&& curtab->tp_snapshot[idx]->fr_height == topframe->fr_height
|
||||
&& check_snapshot_rec(curtab->tp_snapshot[idx], topframe) == OK)
|
||||
{
|
||||
|
@ -6665,15 +6503,11 @@ restore_snapshot_rec(frame_T *sn, frame_T *fr)
|
|||
win_T *wp2;
|
||||
|
||||
fr->fr_height = sn->fr_height;
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
fr->fr_width = sn->fr_width;
|
||||
# endif
|
||||
if (fr->fr_layout == FR_LEAF)
|
||||
{
|
||||
frame_new_height(fr, fr->fr_height, FALSE, FALSE);
|
||||
# ifdef FEAT_VERTSPLIT
|
||||
frame_new_width(fr, fr->fr_width, FALSE, FALSE);
|
||||
# endif
|
||||
wp = sn->fr_win;
|
||||
}
|
||||
if (sn->fr_next != NULL)
|
||||
|
@ -6811,7 +6645,7 @@ restore_buffer(buf_T *save_curbuf)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if (defined(FEAT_GUI) && defined(FEAT_VERTSPLIT)) || defined(PROTO)
|
||||
#if (defined(FEAT_GUI) && defined(FEAT_WINDOWS)) || defined(PROTO)
|
||||
/*
|
||||
* Return TRUE if there is any vertically split window.
|
||||
*/
|
||||
|
@ -7181,7 +7015,7 @@ frame_check_height(frame_T *topfrp, int height)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_VERTSPLIT) || defined(PROTO)
|
||||
#if defined(FEAT_WINDOWS) || defined(PROTO)
|
||||
/*
|
||||
* Return TRUE if "topfrp" and its children are at the right width.
|
||||
*/
|
||||
|
|
Loading…
Add table
Reference in a new issue