forked from aniani/vim
patch 9.0.0124: code has more indent than needed
Problem: Code has more indent than needed. Solution: Use continue and return statements. (closes #10824)
This commit is contained in:
parent
c146d974f1
commit
101d57b34b
@ -1241,32 +1241,31 @@ arg_all(void)
|
|||||||
for (idx = 0; idx < ARGCOUNT; ++idx)
|
for (idx = 0; idx < ARGCOUNT; ++idx)
|
||||||
{
|
{
|
||||||
p = alist_name(&ARGLIST[idx]);
|
p = alist_name(&ARGLIST[idx]);
|
||||||
if (p != NULL)
|
if (p == NULL)
|
||||||
|
continue;
|
||||||
|
if (len > 0)
|
||||||
{
|
{
|
||||||
if (len > 0)
|
// insert a space in between names
|
||||||
{
|
if (retval != NULL)
|
||||||
// insert a space in between names
|
retval[len] = ' ';
|
||||||
if (retval != NULL)
|
++len;
|
||||||
retval[len] = ' ';
|
}
|
||||||
++len;
|
for ( ; *p != NUL; ++p)
|
||||||
}
|
{
|
||||||
for ( ; *p != NUL; ++p)
|
if (*p == ' '
|
||||||
{
|
|
||||||
if (*p == ' '
|
|
||||||
#ifndef BACKSLASH_IN_FILENAME
|
#ifndef BACKSLASH_IN_FILENAME
|
||||||
|| *p == '\\'
|
|| *p == '\\'
|
||||||
#endif
|
#endif
|
||||||
|| *p == '`')
|
|| *p == '`')
|
||||||
{
|
{
|
||||||
// insert a backslash
|
// insert a backslash
|
||||||
if (retval != NULL)
|
|
||||||
retval[len] = '\\';
|
|
||||||
++len;
|
|
||||||
}
|
|
||||||
if (retval != NULL)
|
if (retval != NULL)
|
||||||
retval[len] = *p;
|
retval[len] = '\\';
|
||||||
++len;
|
++len;
|
||||||
}
|
}
|
||||||
|
if (retval != NULL)
|
||||||
|
retval[len] = *p;
|
||||||
|
++len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
46
src/diff.c
46
src/diff.c
@ -678,34 +678,36 @@ diff_redraw(
|
|||||||
|
|
||||||
need_diff_redraw = FALSE;
|
need_diff_redraw = FALSE;
|
||||||
FOR_ALL_WINDOWS(wp)
|
FOR_ALL_WINDOWS(wp)
|
||||||
|
{
|
||||||
// when closing windows or wiping buffers skip invalid window
|
// when closing windows or wiping buffers skip invalid window
|
||||||
if (wp->w_p_diff && buf_valid(wp->w_buffer))
|
if (!wp->w_p_diff || !buf_valid(wp->w_buffer))
|
||||||
{
|
continue;
|
||||||
redraw_win_later(wp, SOME_VALID);
|
|
||||||
if (wp != curwin)
|
redraw_win_later(wp, SOME_VALID);
|
||||||
wp_other = wp;
|
if (wp != curwin)
|
||||||
|
wp_other = wp;
|
||||||
#ifdef FEAT_FOLDING
|
#ifdef FEAT_FOLDING
|
||||||
if (dofold && foldmethodIsDiff(wp))
|
if (dofold && foldmethodIsDiff(wp))
|
||||||
foldUpdateAll(wp);
|
foldUpdateAll(wp);
|
||||||
#endif
|
#endif
|
||||||
// A change may have made filler lines invalid, need to take care
|
// A change may have made filler lines invalid, need to take care of
|
||||||
// of that for other windows.
|
// that for other windows.
|
||||||
n = diff_check(wp, wp->w_topline);
|
n = diff_check(wp, wp->w_topline);
|
||||||
if ((wp != curwin && wp->w_topfill > 0) || n > 0)
|
if ((wp != curwin && wp->w_topfill > 0) || n > 0)
|
||||||
|
{
|
||||||
|
if (wp->w_topfill > n)
|
||||||
|
wp->w_topfill = (n < 0 ? 0 : n);
|
||||||
|
else if (n > 0 && n > wp->w_topfill)
|
||||||
{
|
{
|
||||||
if (wp->w_topfill > n)
|
wp->w_topfill = n;
|
||||||
wp->w_topfill = (n < 0 ? 0 : n);
|
if (wp == curwin)
|
||||||
else if (n > 0 && n > wp->w_topfill)
|
used_max_fill_curwin = TRUE;
|
||||||
{
|
else if (wp_other != NULL)
|
||||||
wp->w_topfill = n;
|
used_max_fill_other = TRUE;
|
||||||
if (wp == curwin)
|
|
||||||
used_max_fill_curwin = TRUE;
|
|
||||||
else if (wp_other != NULL)
|
|
||||||
used_max_fill_other = TRUE;
|
|
||||||
}
|
|
||||||
check_topfill(wp, FALSE);
|
|
||||||
}
|
}
|
||||||
|
check_topfill(wp, FALSE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (wp_other != NULL && curwin->w_p_scb)
|
if (wp_other != NULL && curwin->w_p_scb)
|
||||||
{
|
{
|
||||||
|
83
src/edit.c
83
src/edit.c
@ -3749,51 +3749,52 @@ ins_ctrl_(void)
|
|||||||
static int
|
static int
|
||||||
ins_start_select(int c)
|
ins_start_select(int c)
|
||||||
{
|
{
|
||||||
if (km_startsel)
|
if (!km_startsel)
|
||||||
switch (c)
|
return FALSE;
|
||||||
{
|
switch (c)
|
||||||
case K_KHOME:
|
{
|
||||||
case K_KEND:
|
case K_KHOME:
|
||||||
case K_PAGEUP:
|
case K_KEND:
|
||||||
case K_KPAGEUP:
|
case K_PAGEUP:
|
||||||
case K_PAGEDOWN:
|
case K_KPAGEUP:
|
||||||
case K_KPAGEDOWN:
|
case K_PAGEDOWN:
|
||||||
|
case K_KPAGEDOWN:
|
||||||
# ifdef MACOS_X
|
# ifdef MACOS_X
|
||||||
case K_LEFT:
|
case K_LEFT:
|
||||||
case K_RIGHT:
|
case K_RIGHT:
|
||||||
case K_UP:
|
case K_UP:
|
||||||
case K_DOWN:
|
case K_DOWN:
|
||||||
case K_END:
|
case K_END:
|
||||||
case K_HOME:
|
case K_HOME:
|
||||||
# endif
|
# endif
|
||||||
if (!(mod_mask & MOD_MASK_SHIFT))
|
if (!(mod_mask & MOD_MASK_SHIFT))
|
||||||
break;
|
break;
|
||||||
// FALLTHROUGH
|
// FALLTHROUGH
|
||||||
case K_S_LEFT:
|
case K_S_LEFT:
|
||||||
case K_S_RIGHT:
|
case K_S_RIGHT:
|
||||||
case K_S_UP:
|
case K_S_UP:
|
||||||
case K_S_DOWN:
|
case K_S_DOWN:
|
||||||
case K_S_END:
|
case K_S_END:
|
||||||
case K_S_HOME:
|
case K_S_HOME:
|
||||||
// Start selection right away, the cursor can move with
|
// Start selection right away, the cursor can move with CTRL-O when
|
||||||
// CTRL-O when beyond the end of the line.
|
// beyond the end of the line.
|
||||||
start_selection();
|
start_selection();
|
||||||
|
|
||||||
// Execute the key in (insert) Select mode.
|
// Execute the key in (insert) Select mode.
|
||||||
stuffcharReadbuff(Ctrl_O);
|
stuffcharReadbuff(Ctrl_O);
|
||||||
if (mod_mask)
|
if (mod_mask)
|
||||||
{
|
{
|
||||||
char_u buf[4];
|
char_u buf[4];
|
||||||
|
|
||||||
buf[0] = K_SPECIAL;
|
buf[0] = K_SPECIAL;
|
||||||
buf[1] = KS_MODIFIER;
|
buf[1] = KS_MODIFIER;
|
||||||
buf[2] = mod_mask;
|
buf[2] = mod_mask;
|
||||||
buf[3] = NUL;
|
buf[3] = NUL;
|
||||||
stuffReadbuff(buf);
|
stuffReadbuff(buf);
|
||||||
}
|
}
|
||||||
stuffcharReadbuff(c);
|
stuffcharReadbuff(c);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
62
src/help.c
62
src/help.c
@ -1220,38 +1220,38 @@ do_helptags(char_u *dirname, int add_help_tags, int ignore_writeerr)
|
|||||||
for (i = 0; i < filecount; ++i)
|
for (i = 0; i < filecount; ++i)
|
||||||
{
|
{
|
||||||
len = (int)STRLEN(files[i]);
|
len = (int)STRLEN(files[i]);
|
||||||
if (len > 4)
|
if (len <= 4)
|
||||||
{
|
continue;
|
||||||
if (STRICMP(files[i] + len - 4, ".txt") == 0)
|
|
||||||
{
|
|
||||||
// ".txt" -> language "en"
|
|
||||||
lang[0] = 'e';
|
|
||||||
lang[1] = 'n';
|
|
||||||
}
|
|
||||||
else if (files[i][len - 4] == '.'
|
|
||||||
&& ASCII_ISALPHA(files[i][len - 3])
|
|
||||||
&& ASCII_ISALPHA(files[i][len - 2])
|
|
||||||
&& TOLOWER_ASC(files[i][len - 1]) == 'x')
|
|
||||||
{
|
|
||||||
// ".abx" -> language "ab"
|
|
||||||
lang[0] = TOLOWER_ASC(files[i][len - 3]);
|
|
||||||
lang[1] = TOLOWER_ASC(files[i][len - 2]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// Did we find this language already?
|
if (STRICMP(files[i] + len - 4, ".txt") == 0)
|
||||||
for (j = 0; j < ga.ga_len; j += 2)
|
{
|
||||||
if (STRNCMP(lang, ((char_u *)ga.ga_data) + j, 2) == 0)
|
// ".txt" -> language "en"
|
||||||
break;
|
lang[0] = 'e';
|
||||||
if (j == ga.ga_len)
|
lang[1] = 'n';
|
||||||
{
|
}
|
||||||
// New language, add it.
|
else if (files[i][len - 4] == '.'
|
||||||
if (ga_grow(&ga, 2) == FAIL)
|
&& ASCII_ISALPHA(files[i][len - 3])
|
||||||
break;
|
&& ASCII_ISALPHA(files[i][len - 2])
|
||||||
((char_u *)ga.ga_data)[ga.ga_len++] = lang[0];
|
&& TOLOWER_ASC(files[i][len - 1]) == 'x')
|
||||||
((char_u *)ga.ga_data)[ga.ga_len++] = lang[1];
|
{
|
||||||
}
|
// ".abx" -> language "ab"
|
||||||
|
lang[0] = TOLOWER_ASC(files[i][len - 3]);
|
||||||
|
lang[1] = TOLOWER_ASC(files[i][len - 2]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// Did we find this language already?
|
||||||
|
for (j = 0; j < ga.ga_len; j += 2)
|
||||||
|
if (STRNCMP(lang, ((char_u *)ga.ga_data) + j, 2) == 0)
|
||||||
|
break;
|
||||||
|
if (j == ga.ga_len)
|
||||||
|
{
|
||||||
|
// New language, add it.
|
||||||
|
if (ga_grow(&ga, 2) == FAIL)
|
||||||
|
break;
|
||||||
|
((char_u *)ga.ga_data)[ga.ga_len++] = lang[0];
|
||||||
|
((char_u *)ga.ga_data)[ga.ga_len++] = lang[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
70
src/normal.c
70
src/normal.c
@ -1916,45 +1916,45 @@ check_scrollbind(linenr_T topline_diff, long leftcol_diff)
|
|||||||
FOR_ALL_WINDOWS(curwin)
|
FOR_ALL_WINDOWS(curwin)
|
||||||
{
|
{
|
||||||
curbuf = curwin->w_buffer;
|
curbuf = curwin->w_buffer;
|
||||||
// skip original window and windows with 'noscrollbind'
|
// skip original window and windows with 'noscrollbind'
|
||||||
if (curwin != old_curwin && curwin->w_p_scb)
|
if (curwin == old_curwin || !curwin->w_p_scb)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// do the vertical scroll
|
||||||
|
if (want_ver)
|
||||||
{
|
{
|
||||||
// do the vertical scroll
|
|
||||||
if (want_ver)
|
|
||||||
{
|
|
||||||
#ifdef FEAT_DIFF
|
#ifdef FEAT_DIFF
|
||||||
if (old_curwin->w_p_diff && curwin->w_p_diff)
|
if (old_curwin->w_p_diff && curwin->w_p_diff)
|
||||||
{
|
|
||||||
diff_set_topline(old_curwin, curwin);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
curwin->w_scbind_pos += topline_diff;
|
|
||||||
topline = curwin->w_scbind_pos;
|
|
||||||
if (topline > curbuf->b_ml.ml_line_count)
|
|
||||||
topline = curbuf->b_ml.ml_line_count;
|
|
||||||
if (topline < 1)
|
|
||||||
topline = 1;
|
|
||||||
|
|
||||||
y = topline - curwin->w_topline;
|
|
||||||
if (y > 0)
|
|
||||||
scrollup(y, FALSE);
|
|
||||||
else
|
|
||||||
scrolldown(-y, FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
redraw_later(VALID);
|
|
||||||
cursor_correct();
|
|
||||||
curwin->w_redr_status = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// do the horizontal scroll
|
|
||||||
if (want_hor && curwin->w_leftcol != tgt_leftcol)
|
|
||||||
{
|
{
|
||||||
curwin->w_leftcol = tgt_leftcol;
|
diff_set_topline(old_curwin, curwin);
|
||||||
leftcol_changed();
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
curwin->w_scbind_pos += topline_diff;
|
||||||
|
topline = curwin->w_scbind_pos;
|
||||||
|
if (topline > curbuf->b_ml.ml_line_count)
|
||||||
|
topline = curbuf->b_ml.ml_line_count;
|
||||||
|
if (topline < 1)
|
||||||
|
topline = 1;
|
||||||
|
|
||||||
|
y = topline - curwin->w_topline;
|
||||||
|
if (y > 0)
|
||||||
|
scrollup(y, FALSE);
|
||||||
|
else
|
||||||
|
scrolldown(-y, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
redraw_later(VALID);
|
||||||
|
cursor_correct();
|
||||||
|
curwin->w_redr_status = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// do the horizontal scroll
|
||||||
|
if (want_hor && curwin->w_leftcol != tgt_leftcol)
|
||||||
|
{
|
||||||
|
curwin->w_leftcol = tgt_leftcol;
|
||||||
|
leftcol_changed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
80
src/syntax.c
80
src/syntax.c
@ -1485,58 +1485,50 @@ syn_stack_equal(synstate_T *sp)
|
|||||||
reg_extmatch_T *six, *bsx;
|
reg_extmatch_T *six, *bsx;
|
||||||
|
|
||||||
// First a quick check if the stacks have the same size end nextlist.
|
// First a quick check if the stacks have the same size end nextlist.
|
||||||
if (sp->sst_stacksize == current_state.ga_len
|
if (sp->sst_stacksize != current_state.ga_len
|
||||||
&& sp->sst_next_list == current_next_list)
|
|| sp->sst_next_list != current_next_list)
|
||||||
{
|
return FALSE;
|
||||||
// Need to compare all states on both stacks.
|
|
||||||
if (sp->sst_stacksize > SST_FIX_STATES)
|
|
||||||
bp = SYN_STATE_P(&(sp->sst_union.sst_ga));
|
|
||||||
else
|
|
||||||
bp = sp->sst_union.sst_stack;
|
|
||||||
|
|
||||||
for (i = current_state.ga_len; --i >= 0; )
|
// Need to compare all states on both stacks.
|
||||||
|
if (sp->sst_stacksize > SST_FIX_STATES)
|
||||||
|
bp = SYN_STATE_P(&(sp->sst_union.sst_ga));
|
||||||
|
else
|
||||||
|
bp = sp->sst_union.sst_stack;
|
||||||
|
|
||||||
|
for (i = current_state.ga_len; --i >= 0; )
|
||||||
|
{
|
||||||
|
// If the item has another index the state is different.
|
||||||
|
if (bp[i].bs_idx != CUR_STATE(i).si_idx)
|
||||||
|
break;
|
||||||
|
if (bp[i].bs_extmatch == CUR_STATE(i).si_extmatch)
|
||||||
|
continue;
|
||||||
|
// When the extmatch pointers are different, the strings in them can
|
||||||
|
// still be the same. Check if the extmatch references are equal.
|
||||||
|
bsx = bp[i].bs_extmatch;
|
||||||
|
six = CUR_STATE(i).si_extmatch;
|
||||||
|
// If one of the extmatch pointers is NULL the states are different.
|
||||||
|
if (bsx == NULL || six == NULL)
|
||||||
|
break;
|
||||||
|
for (j = 0; j < NSUBEXP; ++j)
|
||||||
{
|
{
|
||||||
// If the item has another index the state is different.
|
// Check each referenced match string. They must all be equal.
|
||||||
if (bp[i].bs_idx != CUR_STATE(i).si_idx)
|
if (bsx->matches[j] != six->matches[j])
|
||||||
break;
|
|
||||||
if (bp[i].bs_extmatch != CUR_STATE(i).si_extmatch)
|
|
||||||
{
|
{
|
||||||
// When the extmatch pointers are different, the strings in
|
// If the pointer is different it can still be the same text.
|
||||||
// them can still be the same. Check if the extmatch
|
// Compare the strings, ignore case when the start item has the
|
||||||
// references are equal.
|
// sp_ic flag set.
|
||||||
bsx = bp[i].bs_extmatch;
|
if (bsx->matches[j] == NULL || six->matches[j] == NULL)
|
||||||
six = CUR_STATE(i).si_extmatch;
|
|
||||||
// If one of the extmatch pointers is NULL the states are
|
|
||||||
// different.
|
|
||||||
if (bsx == NULL || six == NULL)
|
|
||||||
break;
|
break;
|
||||||
for (j = 0; j < NSUBEXP; ++j)
|
if ((SYN_ITEMS(syn_block)[CUR_STATE(i).si_idx]).sp_ic
|
||||||
{
|
? MB_STRICMP(bsx->matches[j], six->matches[j]) != 0
|
||||||
// Check each referenced match string. They must all be
|
: STRCMP(bsx->matches[j], six->matches[j]) != 0)
|
||||||
// equal.
|
|
||||||
if (bsx->matches[j] != six->matches[j])
|
|
||||||
{
|
|
||||||
// If the pointer is different it can still be the
|
|
||||||
// same text. Compare the strings, ignore case when
|
|
||||||
// the start item has the sp_ic flag set.
|
|
||||||
if (bsx->matches[j] == NULL
|
|
||||||
|| six->matches[j] == NULL)
|
|
||||||
break;
|
|
||||||
if ((SYN_ITEMS(syn_block)[CUR_STATE(i).si_idx]).sp_ic
|
|
||||||
? MB_STRICMP(bsx->matches[j],
|
|
||||||
six->matches[j]) != 0
|
|
||||||
: STRCMP(bsx->matches[j], six->matches[j]) != 0)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (j != NSUBEXP)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (i < 0)
|
if (j != NSUBEXP)
|
||||||
return TRUE;
|
break;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return i < 0 ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -735,6 +735,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
124,
|
||||||
/**/
|
/**/
|
||||||
123,
|
123,
|
||||||
/**/
|
/**/
|
||||||
|
140
src/window.c
140
src/window.c
@ -2004,32 +2004,30 @@ win_equal_rec(
|
|||||||
next_curwin_size = -1;
|
next_curwin_size = -1;
|
||||||
FOR_ALL_FRAMES(fr, topfr->fr_child)
|
FOR_ALL_FRAMES(fr, topfr->fr_child)
|
||||||
{
|
{
|
||||||
// If 'winfixwidth' set keep the window width if
|
if (!frame_fixed_width(fr))
|
||||||
// possible.
|
continue;
|
||||||
|
// If 'winfixwidth' set keep the window width if possible.
|
||||||
// Watch out for this window being the next_curwin.
|
// Watch out for this window being the next_curwin.
|
||||||
if (frame_fixed_width(fr))
|
n = frame_minwidth(fr, NOWIN);
|
||||||
|
new_size = fr->fr_width;
|
||||||
|
if (frame_has_win(fr, next_curwin))
|
||||||
{
|
{
|
||||||
n = frame_minwidth(fr, NOWIN);
|
room += p_wiw - p_wmw;
|
||||||
new_size = fr->fr_width;
|
next_curwin_size = 0;
|
||||||
if (frame_has_win(fr, next_curwin))
|
if (new_size < p_wiw)
|
||||||
{
|
new_size = p_wiw;
|
||||||
room += p_wiw - p_wmw;
|
|
||||||
next_curwin_size = 0;
|
|
||||||
if (new_size < p_wiw)
|
|
||||||
new_size = p_wiw;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
// These windows don't use up room.
|
|
||||||
totwincount -= (n + (fr->fr_next == NULL
|
|
||||||
? extra_sep : 0)) / (p_wmw + 1);
|
|
||||||
room -= new_size - n;
|
|
||||||
if (room < 0)
|
|
||||||
{
|
|
||||||
new_size += room;
|
|
||||||
room = 0;
|
|
||||||
}
|
|
||||||
fr->fr_newwidth = new_size;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
// These windows don't use up room.
|
||||||
|
totwincount -= (n + (fr->fr_next == NULL
|
||||||
|
? extra_sep : 0)) / (p_wmw + 1);
|
||||||
|
room -= new_size - n;
|
||||||
|
if (room < 0)
|
||||||
|
{
|
||||||
|
new_size += room;
|
||||||
|
room = 0;
|
||||||
|
}
|
||||||
|
fr->fr_newwidth = new_size;
|
||||||
}
|
}
|
||||||
if (next_curwin_size == -1)
|
if (next_curwin_size == -1)
|
||||||
{
|
{
|
||||||
@ -2145,32 +2143,31 @@ win_equal_rec(
|
|||||||
next_curwin_size = -1;
|
next_curwin_size = -1;
|
||||||
FOR_ALL_FRAMES(fr, topfr->fr_child)
|
FOR_ALL_FRAMES(fr, topfr->fr_child)
|
||||||
{
|
{
|
||||||
|
if (!frame_fixed_height(fr))
|
||||||
|
continue;
|
||||||
// If 'winfixheight' set keep the window height if
|
// If 'winfixheight' set keep the window height if
|
||||||
// possible.
|
// possible.
|
||||||
// Watch out for this window being the next_curwin.
|
// Watch out for this window being the next_curwin.
|
||||||
if (frame_fixed_height(fr))
|
n = frame_minheight(fr, NOWIN);
|
||||||
|
new_size = fr->fr_height;
|
||||||
|
if (frame_has_win(fr, next_curwin))
|
||||||
{
|
{
|
||||||
n = frame_minheight(fr, NOWIN);
|
room += p_wh - p_wmh;
|
||||||
new_size = fr->fr_height;
|
next_curwin_size = 0;
|
||||||
if (frame_has_win(fr, next_curwin))
|
if (new_size < p_wh)
|
||||||
{
|
new_size = p_wh;
|
||||||
room += p_wh - p_wmh;
|
|
||||||
next_curwin_size = 0;
|
|
||||||
if (new_size < p_wh)
|
|
||||||
new_size = p_wh;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
// These windows don't use up room.
|
|
||||||
totwincount -= (n + (fr->fr_next == NULL
|
|
||||||
? extra_sep : 0)) / (p_wmh + 1);
|
|
||||||
room -= new_size - n;
|
|
||||||
if (room < 0)
|
|
||||||
{
|
|
||||||
new_size += room;
|
|
||||||
room = 0;
|
|
||||||
}
|
|
||||||
fr->fr_newheight = new_size;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
// These windows don't use up room.
|
||||||
|
totwincount -= (n + (fr->fr_next == NULL
|
||||||
|
? extra_sep : 0)) / (p_wmh + 1);
|
||||||
|
room -= new_size - n;
|
||||||
|
if (room < 0)
|
||||||
|
{
|
||||||
|
new_size += room;
|
||||||
|
room = 0;
|
||||||
|
}
|
||||||
|
fr->fr_newheight = new_size;
|
||||||
}
|
}
|
||||||
if (next_curwin_size == -1)
|
if (next_curwin_size == -1)
|
||||||
{
|
{
|
||||||
@ -3752,36 +3749,34 @@ close_others(
|
|||||||
for (wp = firstwin; win_valid(wp); wp = nextwp)
|
for (wp = firstwin; win_valid(wp); wp = nextwp)
|
||||||
{
|
{
|
||||||
nextwp = wp->w_next;
|
nextwp = wp->w_next;
|
||||||
if (wp != curwin) // don't close current window
|
if (wp == curwin) // don't close current window
|
||||||
{
|
continue;
|
||||||
|
|
||||||
// Check if it's allowed to abandon this window
|
// Check if it's allowed to abandon this window
|
||||||
r = can_abandon(wp->w_buffer, forceit);
|
r = can_abandon(wp->w_buffer, forceit);
|
||||||
if (!win_valid(wp)) // autocommands messed wp up
|
if (!win_valid(wp)) // autocommands messed wp up
|
||||||
{
|
{
|
||||||
nextwp = firstwin;
|
nextwp = firstwin;
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
if (!r)
|
|
||||||
{
|
|
||||||
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
|
|
||||||
if (message && (p_confirm
|
|
||||||
|| (cmdmod.cmod_flags & CMOD_CONFIRM)) && p_write)
|
|
||||||
{
|
|
||||||
dialog_changed(wp->w_buffer, FALSE);
|
|
||||||
if (!win_valid(wp)) // autocommands messed wp up
|
|
||||||
{
|
|
||||||
nextwp = firstwin;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (bufIsChanged(wp->w_buffer))
|
|
||||||
#endif
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
win_close(wp, !buf_hide(wp->w_buffer)
|
|
||||||
&& !bufIsChanged(wp->w_buffer));
|
|
||||||
}
|
}
|
||||||
|
if (!r)
|
||||||
|
{
|
||||||
|
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
|
||||||
|
if (message && (p_confirm
|
||||||
|
|| (cmdmod.cmod_flags & CMOD_CONFIRM)) && p_write)
|
||||||
|
{
|
||||||
|
dialog_changed(wp->w_buffer, FALSE);
|
||||||
|
if (!win_valid(wp)) // autocommands messed wp up
|
||||||
|
{
|
||||||
|
nextwp = firstwin;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bufIsChanged(wp->w_buffer))
|
||||||
|
#endif
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
win_close(wp, !buf_hide(wp->w_buffer) && !bufIsChanged(wp->w_buffer));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message && !ONE_WINDOW)
|
if (message && !ONE_WINDOW)
|
||||||
@ -5708,6 +5703,7 @@ frame_setheight(frame_T *curfrp, int height)
|
|||||||
|
|
||||||
if (curfrp->fr_parent == NULL)
|
if (curfrp->fr_parent == NULL)
|
||||||
{
|
{
|
||||||
|
// topframe: can only change the command line
|
||||||
if (height > ROWS_AVAIL)
|
if (height > ROWS_AVAIL)
|
||||||
// If height is greater than the available space, try to create
|
// If height is greater than the available space, try to create
|
||||||
// space for the frame by reducing 'cmdheight' if possible, while
|
// space for the frame by reducing 'cmdheight' if possible, while
|
||||||
|
Loading…
x
Reference in New Issue
Block a user