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:
@@ -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"
|
||||
|
Reference in New Issue
Block a user