1
0
forked from aniani/vim

patch 8.2.1898: command modifier parsing always uses global cmdmod

Problem:    Command modifier parsing always uses global cmdmod.
Solution:   Pass in cmdmod_T to use.  Rename struct fields consistently.
This commit is contained in:
Bram Moolenaar
2020-10-24 20:49:43 +02:00
parent 5661ed6c83
commit e100440158
38 changed files with 284 additions and 271 deletions

View File

@@ -2834,7 +2834,7 @@ jump_to_help_window(qf_info_T *qi, int newwin, int *opened_window)
win_T *wp;
int flags;
if (cmdmod.tab != 0 || newwin)
if (cmdmod.cmod_tab != 0 || newwin)
wp = NULL;
else
wp = qf_find_help_win();
@@ -2845,7 +2845,7 @@ jump_to_help_window(qf_info_T *qi, int newwin, int *opened_window)
// Split off help window; put it at far top if no position
// specified, the current window is vertically split and narrow.
flags = WSP_HELP;
if (cmdmod.split == 0 && curwin->w_width != Columns
if (cmdmod.cmod_split == 0 && curwin->w_width != Columns
&& curwin->w_width < 80)
flags |= WSP_TOP;
// If the user asks to open a new window, then copy the location list.
@@ -3278,7 +3278,8 @@ qf_jump_open_window(
qfltype_T qfl_type = qfl->qfl_type;
// For ":helpgrep" find a help window or open one.
if (qf_ptr->qf_type == 1 && (!bt_help(curwin->w_buffer) || cmdmod.tab != 0))
if (qf_ptr->qf_type == 1 && (!bt_help(curwin->w_buffer)
|| cmdmod.cmod_tab != 0))
if (jump_to_help_window(qi, newwin, opened_window) == FAIL)
return FAIL;
if (old_qf_curlist != qi->qf_curlist
@@ -4125,12 +4126,12 @@ qf_open_new_cwindow(qf_info_T *qi, int height)
// The current window becomes the previous window afterwards.
win = curwin;
if (IS_QF_STACK(qi) && cmdmod.split == 0)
if (IS_QF_STACK(qi) && cmdmod.cmod_split == 0)
// Create the new quickfix window at the very bottom, except when
// :belowright or :aboveleft is used.
win_goto(lastwin);
// Default is to open the window below the current window
if (cmdmod.split == 0)
if (cmdmod.cmod_split == 0)
flags = WSP_BELOW;
flags |= WSP_NEWLOC;
if (win_split(height, flags) == FAIL)
@@ -4208,9 +4209,9 @@ ex_copen(exarg_T *eap)
#endif
// Find an existing quickfix window, or open a new one.
if (cmdmod.tab == 0)
if (cmdmod.cmod_tab == 0)
status = qf_goto_cwindow(qi, eap->addr_count != 0, height,
cmdmod.split & WSP_VERT);
cmdmod.cmod_split & WSP_VERT);
if (status == FAIL)
if (qf_open_new_cwindow(qi, height) == FAIL)
{
@@ -5693,7 +5694,7 @@ ex_cfile(exarg_T *eap)
enc = (*curbuf->b_p_menc != NUL) ? curbuf->b_p_menc : p_menc;
#ifdef FEAT_BROWSE
if (cmdmod.browse)
if (cmdmod.cmod_flags & CMOD_BROWSE)
{
char_u *browse_file = do_browse(0, (char_u *)_("Error file"), eap->arg,
NULL, NULL,
@@ -6164,7 +6165,7 @@ vgr_process_files(
wipe_dummy_buffer(buf, dirname_start);
buf = NULL;
}
else if (!cmdmod.hide
else if ((cmdmod.cmod_flags & CMOD_HIDE) == 0
|| buf->b_p_bh[0] == 'u' // "unload"
|| buf->b_p_bh[0] == 'w' // "wipe"
|| buf->b_p_bh[0] == 'd') // "delete"