mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.3.008
Problem: 'cursorbind' is kept in places where 'scrollbind' is reset. Solution: Reset 'cursorbind'.
This commit is contained in:
parent
2eea198564
commit
3368ea2152
11
src/buffer.c
11
src/buffer.c
@ -1288,9 +1288,12 @@ do_buffer(action, start, dir, count, forceit)
|
|||||||
/* Go to the other buffer. */
|
/* Go to the other buffer. */
|
||||||
set_curbuf(buf, action);
|
set_curbuf(buf, action);
|
||||||
|
|
||||||
#if defined(FEAT_LISTCMDS) && defined(FEAT_SCROLLBIND)
|
#if defined(FEAT_LISTCMDS) \
|
||||||
|
&& (defined(FEAT_SCROLLBIND) || defined(FEAT_CURSORBIND))
|
||||||
if (action == DOBUF_SPLIT)
|
if (action == DOBUF_SPLIT)
|
||||||
curwin->w_p_scb = FALSE; /* reset 'scrollbind' */
|
{
|
||||||
|
RESET_BINDING(curwin); /* reset 'scrollbind' and 'cursorbind' */
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
|
#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
|
||||||
@ -1917,9 +1920,7 @@ buflist_getfile(n, lnum, options, forceit)
|
|||||||
tabpage_new();
|
tabpage_new();
|
||||||
else if (win_split(0, 0) == FAIL) /* Open in a new window */
|
else if (win_split(0, 0) == FAIL) /* Open in a new window */
|
||||||
return FAIL;
|
return FAIL;
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
11
src/diff.c
11
src/diff.c
@ -1127,11 +1127,13 @@ diff_win_options(wp, addbuf)
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
wp->w_p_diff = TRUE;
|
wp->w_p_diff = TRUE;
|
||||||
|
/* Use 'scrollbind' and 'cursorbind' when available */
|
||||||
|
#ifdef FEAT_SCROLLBIND
|
||||||
|
wp->w_p_scb = TRUE;
|
||||||
|
#endif
|
||||||
#ifdef FEAT_CURSORBIND
|
#ifdef FEAT_CURSORBIND
|
||||||
/* Use cursorbind if it's available */
|
|
||||||
wp->w_p_crb = TRUE;
|
wp->w_p_crb = TRUE;
|
||||||
#endif
|
#endif
|
||||||
wp->w_p_scb = TRUE;
|
|
||||||
wp->w_p_wrap = FALSE;
|
wp->w_p_wrap = FALSE;
|
||||||
# ifdef FEAT_FOLDING
|
# ifdef FEAT_FOLDING
|
||||||
curwin = wp;
|
curwin = wp;
|
||||||
@ -1177,10 +1179,7 @@ ex_diffoff(eap)
|
|||||||
{
|
{
|
||||||
/* Set 'diff', 'scrollbind' off and 'wrap' on. */
|
/* Set 'diff', 'scrollbind' off and 'wrap' on. */
|
||||||
wp->w_p_diff = FALSE;
|
wp->w_p_diff = FALSE;
|
||||||
#ifdef FEAT_CURSORBIND
|
RESET_BINDING(wp);
|
||||||
wp->w_p_crb = FALSE;
|
|
||||||
#endif
|
|
||||||
wp->w_p_scb = FALSE;
|
|
||||||
wp->w_p_wrap = TRUE;
|
wp->w_p_wrap = TRUE;
|
||||||
#ifdef FEAT_FOLDING
|
#ifdef FEAT_FOLDING
|
||||||
curwin = wp;
|
curwin = wp;
|
||||||
|
@ -3498,9 +3498,7 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin)
|
|||||||
curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */
|
curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */
|
||||||
curwin->w_p_nu = 0; /* no line numbers */
|
curwin->w_p_nu = 0; /* no line numbers */
|
||||||
curwin->w_p_rnu = 0; /* no relative line numbers */
|
curwin->w_p_rnu = 0; /* no relative line numbers */
|
||||||
#ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin); /* no scroll or cursor binding */
|
||||||
curwin->w_p_scb = FALSE; /* no scroll binding */
|
|
||||||
#endif
|
|
||||||
#ifdef FEAT_ARABIC
|
#ifdef FEAT_ARABIC
|
||||||
curwin->w_p_arab = FALSE; /* no arabic mode */
|
curwin->w_p_arab = FALSE; /* no arabic mode */
|
||||||
#endif
|
#endif
|
||||||
@ -5471,9 +5469,8 @@ prepare_tagpreview(undo_sync)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
curwin->w_p_pvw = TRUE;
|
curwin->w_p_pvw = TRUE;
|
||||||
curwin->w_p_wfh = TRUE;
|
curwin->w_p_wfh = TRUE;
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin); /* don't take over 'scrollbind'
|
||||||
curwin->w_p_scb = FALSE; /* don't take over 'scrollbind' */
|
and 'cursorbind' */
|
||||||
# endif
|
|
||||||
# ifdef FEAT_DIFF
|
# ifdef FEAT_DIFF
|
||||||
curwin->w_p_diff = FALSE; /* no 'diff' */
|
curwin->w_p_diff = FALSE; /* no 'diff' */
|
||||||
# endif
|
# endif
|
||||||
|
@ -2165,9 +2165,7 @@ do_argfile(eap, argn)
|
|||||||
{
|
{
|
||||||
if (win_split(0, 0) == FAIL)
|
if (win_split(0, 0) == FAIL)
|
||||||
return;
|
return;
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
@ -6898,9 +6898,7 @@ handle_drop(filec, filev, split)
|
|||||||
# ifdef FEAT_WINDOWS
|
# ifdef FEAT_WINDOWS
|
||||||
if (win_split(0, 0) == FAIL)
|
if (win_split(0, 0) == FAIL)
|
||||||
return;
|
return;
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* When splitting the window, create a new alist. Otherwise the
|
/* When splitting the window, create a new alist. Otherwise the
|
||||||
* existing one is overwritten. */
|
* existing one is overwritten. */
|
||||||
@ -7300,7 +7298,9 @@ ex_splitview(eap)
|
|||||||
|| cmdmod.browse
|
|| cmdmod.browse
|
||||||
# endif
|
# endif
|
||||||
)
|
)
|
||||||
curwin->w_p_scb = FALSE;
|
{
|
||||||
|
RESET_BINDING(curwin);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
do_check_scrollbind(FALSE);
|
do_check_scrollbind(FALSE);
|
||||||
# endif
|
# endif
|
||||||
|
@ -6147,9 +6147,7 @@ ex_window()
|
|||||||
curwin->w_p_rl = cmdmsg_rl;
|
curwin->w_p_rl = cmdmsg_rl;
|
||||||
cmdmsg_rl = FALSE;
|
cmdmsg_rl = FALSE;
|
||||||
# endif
|
# endif
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifdef FEAT_AUTOCMD
|
# ifdef FEAT_AUTOCMD
|
||||||
/* Do execute autocommands for setting the filetype (load syntax). */
|
/* Do execute autocommands for setting the filetype (load syntax). */
|
||||||
|
@ -1274,9 +1274,7 @@ cs_find_common(opt, pat, forceit, verbose, use_ll, cmdline)
|
|||||||
{
|
{
|
||||||
win_split(postponed_split > 0 ? postponed_split : 0,
|
win_split(postponed_split > 0 ? postponed_split : 0,
|
||||||
postponed_split_flags);
|
postponed_split_flags);
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
postponed_split = 0;
|
postponed_split = 0;
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
14
src/macros.h
14
src/macros.h
@ -285,3 +285,17 @@
|
|||||||
#else
|
#else
|
||||||
# define DO_AUTOCHDIR
|
# define DO_AUTOCHDIR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(FEAT_SCROLLBIND) && defined(FEAT_CURSORBIND)
|
||||||
|
# define RESET_BINDING(wp) (wp)->w_p_scb = FALSE; (wp)->w_p_crb = FALSE
|
||||||
|
#else
|
||||||
|
# if defined(FEAT_SCROLLBIND)
|
||||||
|
# define RESET_BINDING(wp) (wp)->w_p_scb = FALSE
|
||||||
|
# else
|
||||||
|
# if defined(FEAT_CURSORBIND)
|
||||||
|
# define RESET_BINDING(wp) (wp)->w_p_crb = FALSE
|
||||||
|
# else
|
||||||
|
# define RESET_BINDING(wp)
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
@ -1656,9 +1656,7 @@ win_found:
|
|||||||
opened_window = TRUE; /* close it when fail */
|
opened_window = TRUE; /* close it when fail */
|
||||||
p_swb = empty_option; /* don't split again */
|
p_swb = empty_option; /* don't split again */
|
||||||
swb_flags = 0;
|
swb_flags = 0;
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
if (ll_ref != NULL)
|
if (ll_ref != NULL)
|
||||||
{
|
{
|
||||||
/* The new window should use the location list from the
|
/* The new window should use the location list from the
|
||||||
@ -2334,9 +2332,7 @@ ex_copen(eap)
|
|||||||
win_goto(lastwin);
|
win_goto(lastwin);
|
||||||
if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
|
if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
|
||||||
return; /* not enough room for window */
|
return; /* not enough room for window */
|
||||||
#ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
|
if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
|
||||||
{
|
{
|
||||||
|
@ -5075,9 +5075,7 @@ search_line:
|
|||||||
if (win_split(0, 0) == FAIL)
|
if (win_split(0, 0) == FAIL)
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
#ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
if (depth == -1)
|
if (depth == -1)
|
||||||
{
|
{
|
||||||
|
@ -3143,9 +3143,7 @@ jumpto_tag(lbuf, forceit, keep_help)
|
|||||||
{
|
{
|
||||||
win_split(postponed_split > 0 ? postponed_split : 0,
|
win_split(postponed_split > 0 ? postponed_split : 0,
|
||||||
postponed_split_flags);
|
postponed_split_flags);
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -714,6 +714,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 */
|
||||||
|
/**/
|
||||||
|
8,
|
||||||
/**/
|
/**/
|
||||||
7,
|
7,
|
||||||
/**/
|
/**/
|
||||||
|
14
src/window.c
14
src/window.c
@ -525,9 +525,7 @@ wingotofile:
|
|||||||
setpcmark();
|
setpcmark();
|
||||||
if (win_split(0, 0) == OK)
|
if (win_split(0, 0) == OK)
|
||||||
{
|
{
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
|
(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
|
||||||
ECMD_HIDE, NULL);
|
ECMD_HIDE, NULL);
|
||||||
if (nchar == 'F' && lnum >= 0)
|
if (nchar == 'F' && lnum >= 0)
|
||||||
@ -3277,9 +3275,7 @@ win_alloc_aucmd_win()
|
|||||||
if (aucmd_win != NULL)
|
if (aucmd_win != NULL)
|
||||||
{
|
{
|
||||||
win_init_some(aucmd_win, curwin);
|
win_init_some(aucmd_win, curwin);
|
||||||
# ifdef FEAT_SCROLLBIND
|
RESET_BINDING(aucmd_win);
|
||||||
aucmd_win->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
new_frame(aucmd_win);
|
new_frame(aucmd_win);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3320,10 +3316,8 @@ win_alloc_firstwin(oldwin)
|
|||||||
/* First window in new tab page, initialize it from "oldwin". */
|
/* First window in new tab page, initialize it from "oldwin". */
|
||||||
win_init(curwin, oldwin, 0);
|
win_init(curwin, oldwin, 0);
|
||||||
|
|
||||||
# ifdef FEAT_SCROLLBIND
|
/* We don't want cursor- and scroll-binding in the first window. */
|
||||||
/* We don't want scroll-binding in the first window. */
|
RESET_BINDING(curwin);
|
||||||
curwin->w_p_scb = FALSE;
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user