updated for version 7.4.212

Problem:    Now that the +visual feature is always enabled the #ifdefs for it
            are not useful.
Solution:   Remove the checks for FEAT_VISUAL.
This commit is contained in:
Bram Moolenaar
2014-03-23 15:13:05 +01:00
parent a687837516
commit f7ff6e85e8
39 changed files with 121 additions and 858 deletions
-2
View File
@@ -1432,10 +1432,8 @@ set_curbuf(buf, action)
curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */
buflist_altfpos(curwin); /* remember curpos */
#ifdef FEAT_VISUAL
/* Don't restart Select mode after switching to another buffer. */
VIsual_reselect = FALSE;
#endif
/* close_windows() or apply_autocmds() may change curbuf */
prevbuf = curbuf;
+1 -6
View File
@@ -1380,10 +1380,7 @@ getvcol(wp, pos, start, cursor, end)
&& (State & NORMAL)
&& !wp->w_p_list
&& !virtual_active()
#ifdef FEAT_VISUAL
&& !(VIsual_active
&& (*p_sel == 'e' || ltoreq(*pos, VIsual)))
#endif
&& !(VIsual_active && (*p_sel == 'e' || ltoreq(*pos, VIsual)))
)
*cursor = vcol + incr - 1; /* cursor at end */
else
@@ -1463,7 +1460,6 @@ getvvcol(wp, pos, start, cursor, end)
}
#endif
#if defined(FEAT_VISUAL) || defined(PROTO)
/*
* Get the leftmost and rightmost virtual column of pos1 and pos2.
* Used for Visual block mode.
@@ -1500,7 +1496,6 @@ getvcols(wp, pos1, pos2, left, right)
else
*right = to1;
}
#endif
/*
* skipwhite: skip over ' ' and '\t'.
+3 -19
View File
@@ -220,9 +220,7 @@ static int ins_esc __ARGS((long *count, int cmdchar, int nomove));
#ifdef FEAT_RIGHTLEFT
static void ins_ctrl_ __ARGS((void));
#endif
#ifdef FEAT_VISUAL
static int ins_start_select __ARGS((int c));
#endif
static void ins_insert __ARGS((int replaceState));
static void ins_ctrl_o __ARGS((void));
static void ins_shift __ARGS((int c, int lastc));
@@ -932,7 +930,6 @@ edit(cmdchar, startln, count)
}
#endif
#ifdef FEAT_VISUAL
/*
* If 'keymodel' contains "startsel", may start selection. If it
* does, a CTRL-O and c will be stuffed, we need to get these
@@ -940,7 +937,6 @@ edit(cmdchar, startln, count)
*/
if (ins_start_select(c))
continue;
#endif
/*
* The big switch to handle a character in insert mode.
@@ -6900,7 +6896,6 @@ stop_insert(end_insert_pos, esc, nomove)
else if (cc != NUL)
++curwin->w_cursor.col; /* put cursor back on the NUL */
#ifdef FEAT_VISUAL
/* <C-S-Right> may have started Visual mode, adjust the position for
* deleted characters. */
if (VIsual_active && VIsual.lnum == curwin->w_cursor.lnum)
@@ -6910,12 +6905,11 @@ stop_insert(end_insert_pos, esc, nomove)
if (VIsual.col > len)
{
VIsual.col = len;
# ifdef FEAT_VIRTUALEDIT
#ifdef FEAT_VIRTUALEDIT
VIsual.coladd = 0;
# endif
#endif
}
}
#endif
}
}
did_ai = FALSE;
@@ -8112,9 +8106,7 @@ ins_reg()
int need_redraw = FALSE;
int regname;
int literally = 0;
#ifdef FEAT_VISUAL
int vis_active = VIsual_active;
#endif
/*
* If we are going to wait for a character, show a '"'.
@@ -8218,11 +8210,9 @@ ins_reg()
if (need_redraw || stuff_empty())
edit_unputchar();
#ifdef FEAT_VISUAL
/* Disallow starting Visual mode here, would get a weird mode. */
if (!vis_active && VIsual_active)
end_visual_mode();
#endif
}
/*
@@ -8419,11 +8409,7 @@ ins_esc(count, cmdchar, nomove)
#endif
)
&& (restart_edit == NUL
|| (gchar_cursor() == NUL
#ifdef FEAT_VISUAL
&& !VIsual_active
#endif
))
|| (gchar_cursor() == NUL && !VIsual_active))
#ifdef FEAT_RIGHTLEFT
&& !revins_on
#endif
@@ -8525,7 +8511,6 @@ ins_ctrl_()
}
#endif
#ifdef FEAT_VISUAL
/*
* If 'keymodel' contains "startsel", may start selection.
* Returns TRUE when a CTRL-O and other keys stuffed.
@@ -8581,7 +8566,6 @@ ins_start_select(c)
}
return FALSE;
}
#endif
/*
* <Insert> key in Insert mode: toggle insert/replace mode.
+1 -14
View File
@@ -11833,12 +11833,10 @@ f_getregtype(argvars, rettv)
{
case MLINE: buf[0] = 'V'; break;
case MCHAR: buf[0] = 'v'; break;
#ifdef FEAT_VISUAL
case MBLOCK:
buf[0] = Ctrl_V;
sprintf((char *)buf + 1, "%ld", reglen + 1);
break;
#endif
}
rettv->v_type = VAR_STRING;
rettv->vval.v_string = vim_strsave(buf);
@@ -12552,9 +12550,7 @@ f_has(argvars, rettv)
#ifdef FEAT_VIRTUALEDIT
"virtualedit",
#endif
#ifdef FEAT_VISUAL
"visual",
#endif
#ifdef FEAT_VISUALEXTRA
"visualextra",
#endif
@@ -14397,7 +14393,6 @@ f_mode(argvars, rettv)
buf[1] = NUL;
buf[2] = NUL;
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (VIsual_select)
@@ -14405,9 +14400,7 @@ f_mode(argvars, rettv)
else
buf[0] = VIsual_mode;
}
else
#endif
if (State == HITRETURN || State == ASKMORE || State == SETWSIZE
else if (State == HITRETURN || State == ASKMORE || State == SETWSIZE
|| State == CONFIRM)
{
buf[0] = 'r';
@@ -16756,7 +16749,6 @@ f_setreg(argvars, rettv)
case 'V': case 'l': /* line-wise selection */
yank_type = MLINE;
break;
#ifdef FEAT_VISUAL
case 'b': case Ctrl_V: /* block-wise selection */
yank_type = MBLOCK;
if (VIM_ISDIGIT(stropt[1]))
@@ -16766,7 +16758,6 @@ f_setreg(argvars, rettv)
--stropt;
}
break;
#endif
}
}
@@ -18769,7 +18760,6 @@ f_visualmode(argvars, rettv)
typval_T *argvars UNUSED;
typval_T *rettv UNUSED;
{
#ifdef FEAT_VISUAL
char_u str[2];
rettv->v_type = VAR_STRING;
@@ -18780,7 +18770,6 @@ f_visualmode(argvars, rettv)
/* A non-zero number or non-empty string argument: reset mode. */
if (non_zero_arg(&argvars[0]))
curbuf->b_visual_mode_eval = NUL;
#endif
}
/*
@@ -19154,14 +19143,12 @@ var2fpos(varp, dollar_lnum, fnum)
return NULL;
if (name[0] == '.') /* cursor */
return &curwin->w_cursor;
#ifdef FEAT_VISUAL
if (name[0] == 'v' && name[1] == NUL) /* Visual start */
{
if (VIsual_active)
return &VIsual;
return &curwin->w_cursor;
}
#endif
if (name[0] == '\'') /* mark */
{
pp = getmark_buf_fnum(curbuf, name[1], FALSE, fnum);
-2
View File
@@ -3274,13 +3274,11 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin)
goto theend;
}
#ifdef FEAT_VISUAL
/*
* End Visual mode before switching to another buffer, so the text can be
* copied into the GUI selection buffer.
*/
reset_VIsual();
#endif
#ifdef FEAT_AUTOCMD
if ((command != NULL || newlnum > (linenr_T)0)
+2 -12
View File
@@ -8577,10 +8577,8 @@ ex_operators(eap)
beginline(BL_SOL | BL_FIX);
}
#if defined(FEAT_VISUAL)
if (VIsual_active)
end_visual_mode();
#endif
switch (eap->cmdidx)
{
@@ -8991,11 +8989,7 @@ ex_redraw(eap)
RedrawingDisabled = 0;
p_lz = FALSE;
update_topline();
update_screen(eap->forceit ? CLEAR :
#ifdef FEAT_VISUAL
VIsual_active ? INVERTED :
#endif
0);
update_screen(eap->forceit ? CLEAR : VIsual_active ? INVERTED : 0);
#ifdef FEAT_TITLE
if (need_maketitle)
maketitle();
@@ -9030,11 +9024,7 @@ ex_redrawstatus(eap)
status_redraw_all();
else
status_redraw_curbuf();
update_screen(
# ifdef FEAT_VISUAL
VIsual_active ? INVERTED :
# endif
0);
update_screen(VIsual_active ? INVERTED : 0);
RedrawingDisabled = r;
p_lz = p;
out_flush();
+1 -5
View File
@@ -214,7 +214,6 @@
* +visual Visual mode - now always included.
* +visualextra Extra features for Visual mode (mostly block operators).
*/
#define FEAT_VISUAL
#ifdef FEAT_NORMAL
# define FEAT_VISUALEXTRA
#endif
@@ -1138,13 +1137,10 @@
#ifdef FEAT_GUI
# ifndef FEAT_CLIPBOARD
# define FEAT_CLIPBOARD
# ifndef FEAT_VISUAL
# define FEAT_VISUAL
# endif
# endif
#endif
#if defined(FEAT_NORMAL) && defined(FEAT_VISUAL) \
#if defined(FEAT_NORMAL) \
&& (defined(UNIX) || defined(VMS)) \
&& defined(WANT_X11) && defined(HAVE_X11)
# define FEAT_XCLIPBOARD
-6
View File
@@ -430,11 +430,9 @@ opFoldRange(first, last, opening, recurse, had_visual)
}
if (done == DONE_NOTHING)
EMSG(_(e_nofold));
#ifdef FEAT_VISUAL
/* Force a redraw to remove the Visual highlighting. */
if (had_visual)
redraw_curbuf_later(INVERTED);
#endif
}
/* openFold() {{{2 */
@@ -807,11 +805,9 @@ deleteFold(start, end, recursive, had_visual)
if (!did_one)
{
EMSG(_(e_nofold));
#ifdef FEAT_VISUAL
/* Force a redraw to remove the Visual highlighting. */
if (had_visual)
redraw_curbuf_later(INVERTED);
#endif
}
else
/* Deleting markers may make cursor column invalid. */
@@ -1065,7 +1061,6 @@ find_wl_entry(win, lnum)
}
/* foldAdjustVisual() {{{2 */
#ifdef FEAT_VISUAL
/*
* Adjust the Visual area to include any fold at the start or end completely.
*/
@@ -1103,7 +1098,6 @@ foldAdjustVisual()
#endif
}
}
#endif
/* cursor_foldstart() {{{2 */
/*
-8
View File
@@ -870,7 +870,6 @@ start_redo(count, old_redo)
c = read_redo(FALSE, old_redo);
}
#ifdef FEAT_VISUAL
if (c == 'v') /* redo Visual */
{
VIsual = curwin->w_cursor;
@@ -880,7 +879,6 @@ start_redo(count, old_redo)
redo_VIsual_busy = TRUE;
c = read_redo(FALSE, old_redo);
}
#endif
/* try to enter the count (in place of a previous count) */
if (count)
@@ -1162,7 +1160,6 @@ typebuf_typed()
return typebuf.tb_maplen == 0;
}
#if defined(FEAT_VISUAL) || defined(PROTO)
/*
* Return the number of characters that are mapped (or not typed).
*/
@@ -1171,7 +1168,6 @@ typebuf_maplen()
{
return typebuf.tb_maplen;
}
#endif
/*
* remove "len" characters from typebuf.tb_buf[typebuf.tb_off + offset]
@@ -2443,7 +2439,6 @@ vgetorpeek(advance)
idx = get_menu_index(current_menu, local_State);
if (idx != MENU_INDEX_INVALID)
{
# ifdef FEAT_VISUAL
/*
* In Select mode and a Visual mode menu
* is used: Switch to Visual mode
@@ -2457,7 +2452,6 @@ vgetorpeek(advance)
(void)ins_typebuf(K_SELECT_STRING,
REMAP_NONE, 0, TRUE, FALSE);
}
# endif
ins_typebuf(current_menu->strings[idx],
current_menu->noremap[idx],
0, TRUE,
@@ -2516,7 +2510,6 @@ vgetorpeek(advance)
break;
}
#ifdef FEAT_VISUAL
/*
* In Select mode and a Visual mode mapping is used:
* Switch to Visual mode temporarily. Append K_SELECT
@@ -2529,7 +2522,6 @@ vgetorpeek(advance)
(void)ins_typebuf(K_SELECT_STRING, REMAP_NONE,
0, TRUE, FALSE);
}
#endif
#ifdef FEAT_EVAL
/* Copy the values from *mp that are used, because
-4
View File
@@ -662,7 +662,6 @@ EXTERN int silent_mode INIT(= FALSE);
/* set to TRUE when "-s" commandline argument
* used for ex */
#ifdef FEAT_VISUAL
EXTERN pos_T VIsual; /* start position of active Visual selection */
EXTERN int VIsual_active INIT(= FALSE);
/* whether Visual mode is active */
@@ -677,7 +676,6 @@ EXTERN int VIsual_mode INIT(= 'v');
EXTERN int redo_VIsual_busy INIT(= FALSE);
/* TRUE when redoing Visual */
#endif
#ifdef FEAT_MOUSE
/*
@@ -1178,11 +1176,9 @@ EXTERN int fill_fold INIT(= '-');
EXTERN int fill_diff INIT(= '-');
#endif
#ifdef FEAT_VISUAL
/* Whether 'keymodel' contains "stopsel" and "startsel". */
EXTERN int km_stopsel INIT(= FALSE);
EXTERN int km_startsel INIT(= FALSE);
#endif
#ifdef FEAT_CMDWIN
EXTERN int cedit_key INIT(= -1); /* key value of 'cedit' option */
-2
View File
@@ -3132,11 +3132,9 @@ button_set:
*/
if (!mouse_has(checkfor) || checkfor == MOUSE_COMMAND)
{
#ifdef FEAT_VISUAL
/* Don't do modeless selection in Visual mode. */
if (checkfor != MOUSE_NONEF && VIsual_active && (State & NORMAL))
return;
#endif
/*
* When 'mousemodel' is "popup", shift-left is translated to right.
+2 -6
View File
@@ -1068,11 +1068,7 @@ HandleODocAE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
}
*/
#ifdef FEAT_VISUAL
reset_VIsual();
#endif
fnames = new_fnames_from_AEDesc(&theList, &numFiles, &error);
if (error)
@@ -1142,7 +1138,7 @@ HandleODocAE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
/* Update the screen display */
update_screen(NOT_VALID);
#ifdef FEAT_VISUAL
/* Select the text if possible */
if (gotPosition)
{
@@ -1160,7 +1156,7 @@ HandleODocAE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
VIsual.col = 0;
}
}
#endif
setcursor();
out_flush();
-2
View File
@@ -3708,9 +3708,7 @@ _OnDropFiles(
DragQueryPoint(hDrop, &pt);
MapWindowPoints(s_hwnd, s_textArea, &pt, 1);
# ifdef FEAT_VISUAL
reset_VIsual();
# endif
fnames = (char_u **)alloc(cFiles * sizeof(char_u *));
+3 -12
View File
@@ -1057,9 +1057,7 @@ main_loop(cmdwin, noexmode)
if (!cmdwin && !noexmode && SETJMP(x_jump_env))
{
State = NORMAL;
# ifdef FEAT_VISUAL
VIsual_active = FALSE;
# endif
got_int = TRUE;
need_wait_return = FALSE;
global_busy = FALSE;
@@ -1096,11 +1094,7 @@ main_loop(cmdwin, noexmode)
check_timestamps(FALSE);
if (need_wait_return) /* if wait_return still needed ... */
wait_return(FALSE); /* ... call it now */
if (need_start_insertmode && goto_im()
#ifdef FEAT_VISUAL
&& !VIsual_active
#endif
)
if (need_start_insertmode && goto_im() && !VIsual_active)
{
need_start_insertmode = FALSE;
stuffReadbuff((char_u *)"i"); /* start insert mode next */
@@ -1202,7 +1196,7 @@ main_loop(cmdwin, noexmode)
diff_need_scrollbind = FALSE;
}
#endif
#if defined(FEAT_FOLDING) && defined(FEAT_VISUAL)
#if defined(FEAT_FOLDING)
/* Include a closed fold completely in the Visual area. */
foldAdjustVisual();
#endif
@@ -1228,12 +1222,9 @@ main_loop(cmdwin, noexmode)
update_topline();
validate_cursor();
#ifdef FEAT_VISUAL
if (VIsual_active)
update_curbuf(INVERTED);/* update inverted part */
else
#endif
if (must_redraw)
else if (must_redraw)
update_screen(0);
else if (redraw_cmdline || clear_cmdline)
showmode();
-16
View File
@@ -98,7 +98,6 @@ setmark_pos(c, pos, fnum)
return OK;
}
#ifdef FEAT_VISUAL
if (c == '<' || c == '>')
{
if (c == '<')
@@ -110,7 +109,6 @@ setmark_pos(c, pos, fnum)
curbuf->b_visual.vi_mode = 'v';
return OK;
}
#endif
#ifndef EBCDIC
if (c > 'z') /* some islower() and isupper() cannot handle
@@ -340,9 +338,7 @@ getmark_buf_fnum(buf, c, changefile, fnum)
int *fnum;
{
pos_T *posp;
#ifdef FEAT_VISUAL
pos_T *startp, *endp;
#endif
static pos_T pos_copy;
posp = NULL;
@@ -403,7 +399,6 @@ getmark_buf_fnum(buf, c, changefile, fnum)
curwin->w_cursor = pos;
listcmd_busy = slcb;
}
#ifdef FEAT_VISUAL
else if (c == '<' || c == '>') /* start/end of visual area */
{
startp = &buf->b_visual.vi_start;
@@ -428,7 +423,6 @@ getmark_buf_fnum(buf, c, changefile, fnum)
#endif
}
}
#endif
else if (ASCII_ISLOWER(c)) /* normal named mark */
{
posp = &(buf->b_namedm[c - 'a']);
@@ -757,10 +751,8 @@ do_marks(eap)
show_one_mark(']', arg, &curbuf->b_op_end, NULL, TRUE);
show_one_mark('^', arg, &curbuf->b_last_insert, NULL, TRUE);
show_one_mark('.', arg, &curbuf->b_last_change, NULL, TRUE);
#ifdef FEAT_VISUAL
show_one_mark('<', arg, &curbuf->b_visual.vi_start, NULL, TRUE);
show_one_mark('>', arg, &curbuf->b_visual.vi_end, NULL, TRUE);
#endif
show_one_mark(-1, arg, NULL, NULL, FALSE);
}
@@ -892,10 +884,8 @@ ex_delmarks(eap)
case '.': curbuf->b_last_change.lnum = 0; break;
case '[': curbuf->b_op_start.lnum = 0; break;
case ']': curbuf->b_op_end.lnum = 0; break;
#ifdef FEAT_VISUAL
case '<': curbuf->b_visual.vi_start.lnum = 0; break;
case '>': curbuf->b_visual.vi_end.lnum = 0; break;
#endif
case ' ': break;
default: EMSG2(_(e_invarg2), p);
return;
@@ -1085,11 +1075,9 @@ mark_adjust(line1, line2, amount, amount_after)
one_adjust_nodel(&(curbuf->b_changelist[i].lnum));
#endif
#ifdef FEAT_VISUAL
/* Visual area */
one_adjust_nodel(&(curbuf->b_visual.vi_start.lnum));
one_adjust_nodel(&(curbuf->b_visual.vi_end.lnum));
#endif
#ifdef FEAT_QUICKFIX
/* quickfix marks */
@@ -1136,14 +1124,12 @@ mark_adjust(line1, line2, amount, amount_after)
if (win->w_tagstack[i].fmark.fnum == fnum)
one_adjust_nodel(&(win->w_tagstack[i].fmark.mark.lnum));
#ifdef FEAT_VISUAL
/* the displayed Visual area */
if (win->w_old_cursor_lnum != 0)
{
one_adjust_nodel(&(win->w_old_cursor_lnum));
one_adjust_nodel(&(win->w_old_visual_lnum));
}
#endif
/* topline and cursor position for windows with the same buffer
* other than the current window */
@@ -1260,11 +1246,9 @@ mark_col_adjust(lnum, mincol, lnum_amount, col_amount)
col_adjust(&(curbuf->b_changelist[i]));
#endif
#ifdef FEAT_VISUAL
/* Visual area */
col_adjust(&(curbuf->b_visual.vi_start));
col_adjust(&(curbuf->b_visual.vi_end));
#endif
/* previous context mark */
col_adjust(&(curwin->w_pcmark));
-4
View File
@@ -1640,7 +1640,6 @@ get_menu_index(menu, state)
idx = MENU_INDEX_INSERT;
else if (state & CMDLINE)
idx = MENU_INDEX_CMDLINE;
#ifdef FEAT_VISUAL
else if (VIsual_active)
{
if (VIsual_select)
@@ -1648,7 +1647,6 @@ get_menu_index(menu, state)
else
idx = MENU_INDEX_VISUAL;
}
#endif
else if (state == HITRETURN || state == ASKMORE)
idx = MENU_INDEX_CMDLINE;
else if (finish_op)
@@ -1811,14 +1809,12 @@ menu_is_tearoff(name)
static int
get_menu_mode()
{
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (VIsual_select)
return MENU_INDEX_SELECT;
return MENU_INDEX_VISUAL;
}
#endif
if (State & INSERT)
return MENU_INDEX_INSERT;
if ((State & CMDLINE) || State == ASKMORE || State == HITRETURN)
+2 -15
View File
@@ -31,9 +31,7 @@ virtual_active()
if (virtual_op != MAYBE)
return virtual_op;
return (ve_flags == VE_ALL
# ifdef FEAT_VISUAL
|| ((ve_flags & VE_BLOCK) && VIsual_active && VIsual_mode == Ctrl_V)
# endif
|| ((ve_flags & VE_INSERT) && (State & INSERT)));
}
@@ -149,9 +147,7 @@ coladvance2(pos, addspaces, finetune, wcol)
one_more = (State & INSERT)
|| restart_edit != NUL
#ifdef FEAT_VISUAL
|| (VIsual_active && *p_sel != 'o')
#endif
#ifdef FEAT_VIRTUALEDIT
|| ((ve_flags & VE_ONEMORE) && wcol < MAXCOL)
#endif
@@ -570,9 +566,7 @@ check_cursor_col_win(win)
* - in Visual mode and 'selection' isn't "old"
* - 'virtualedit' is set */
if ((State & INSERT) || restart_edit
#ifdef FEAT_VISUAL
|| (VIsual_active && *p_sel != 'o')
#endif
#ifdef FEAT_VIRTUALEDIT
|| (ve_flags & VE_ONEMORE)
#endif
@@ -627,9 +621,7 @@ check_cursor()
adjust_cursor_col()
{
if (curwin->w_cursor.col > 0
# ifdef FEAT_VISUAL
&& (!VIsual_active || *p_sel == 'o')
# endif
&& gchar_cursor() == NUL)
--curwin->w_cursor.col;
}
@@ -3290,17 +3282,14 @@ get_real_state()
{
if (State & NORMAL)
{
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (VIsual_select)
return SELECTMODE;
return VISUAL;
}
else
#endif
if (finish_op)
return OP_PENDING;
else if (finish_op)
return OP_PENDING;
}
return State;
}
@@ -3738,7 +3727,6 @@ get_shape_idx(mouse)
}
if (finish_op)
return SHAPE_IDX_O;
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (*p_sel == 'e')
@@ -3746,7 +3734,6 @@ get_shape_idx(mouse)
else
return SHAPE_IDX_V;
}
#endif
return SHAPE_IDX_N;
}
#endif
-6
View File
@@ -2857,17 +2857,13 @@ do_check_cursorbind()
win_T *old_curwin = curwin;
buf_T *old_curbuf = curbuf;
int restart_edit_save;
# ifdef FEAT_VISUAL
int old_VIsual_select = VIsual_select;
int old_VIsual_active = VIsual_active;
# endif
/*
* loop through the cursorbound windows
*/
# ifdef FEAT_VISUAL
VIsual_select = VIsual_active = 0;
# endif
for (curwin = firstwin; curwin; curwin = curwin->w_next)
{
curbuf = curwin->w_buffer;
@@ -2916,10 +2912,8 @@ do_check_cursorbind()
/*
* reset current-window
*/
# ifdef FEAT_VISUAL
VIsual_select = old_VIsual_select;
VIsual_active = old_VIsual_active;
# endif
curwin = old_curwin;
curbuf = old_curbuf;
}
-2
View File
@@ -2232,11 +2232,9 @@ nb_do_cmd(
nb_set_curbuf(buf->bufp);
#ifdef FEAT_VISUAL
/* Don't want Visual mode now. */
if (VIsual_active)
end_visual_mode();
#endif
#ifdef NBDEBUG
s = args;
#endif
+52 -307
View File
File diff suppressed because it is too large Load Diff
+20 -157
View File
@@ -57,9 +57,7 @@ static struct yankreg
char_u **y_array; /* pointer to array of line pointers */
linenr_T y_size; /* number of lines in y_array */
char_u y_type; /* MLINE, MCHAR or MBLOCK */
#ifdef FEAT_VISUAL
colnr_T y_width; /* only set if y_type == MBLOCK */
#endif
} y_regs[NUM_REGISTERS];
static struct yankreg *y_current; /* ptr to current yankreg */
@@ -107,17 +105,13 @@ static void free_yank_all __ARGS((void));
static int yank_copy_line __ARGS((struct block_def *bd, long y_idx));
#ifdef FEAT_CLIPBOARD
static void copy_yank_reg __ARGS((struct yankreg *reg));
# if defined(FEAT_VISUAL) || defined(FEAT_EVAL)
static void may_set_selection __ARGS((void));
# endif
#endif
static void dis_msg __ARGS((char_u *p, int skip_esc));
#if defined(FEAT_COMMENTS) || defined(PROTO)
static char_u *skip_comment __ARGS((char_u *line, int process, int include_space, int *is_comment));
#endif
#ifdef FEAT_VISUAL
static void block_prep __ARGS((oparg_T *oap, struct block_def *, linenr_T, int));
#endif
#if defined(FEAT_CLIPBOARD) || defined(FEAT_EVAL)
static void str_to_reg __ARGS((struct yankreg *y_ptr, int type, char_u *str, long len, long blocklen));
#endif
@@ -187,7 +181,6 @@ get_op_type(char1, char2)
return i;
}
#if defined(FEAT_VISUAL) || defined(PROTO)
/*
* Return TRUE if operator "op" always works on whole lines.
*/
@@ -197,7 +190,6 @@ op_on_lines(op)
{
return opchars[op][2];
}
#endif
/*
* Get first operator command character.
@@ -232,18 +224,14 @@ op_shift(oap, curs_top, amount)
long i;
int first_char;
char_u *s;
#ifdef FEAT_VISUAL
int block_col = 0;
#endif
if (u_save((linenr_T)(oap->start.lnum - 1),
(linenr_T)(oap->end.lnum + 1)) == FAIL)
return;
#ifdef FEAT_VISUAL
if (oap->block_mode)
block_col = curwin->w_cursor.col;
#endif
for (i = oap->line_count; --i >= 0; )
{
@@ -272,15 +260,12 @@ op_shift(oap, curs_top, amount)
foldOpenCursor();
#endif
#ifdef FEAT_VISUAL
if (oap->block_mode)
{
curwin->w_cursor.lnum = oap->start.lnum;
curwin->w_cursor.col = block_col;
}
else
#endif
if (curs_top) /* put cursor on first line, for ">>" */
else if (curs_top) /* put cursor on first line, for ">>" */
{
curwin->w_cursor.lnum = oap->start.lnum;
beginline(BL_SOL | BL_FIX); /* shift_line() may have set cursor.col */
@@ -733,14 +718,10 @@ op_reindent(oap, how)
* there is no change still need to remove the Visual highlighting. */
if (last_changed != 0)
changed_lines(first_changed, 0,
#ifdef FEAT_VISUAL
oap->is_VIsual ? start_lnum + oap->line_count :
#endif
last_changed + 1, 0L);
#ifdef FEAT_VISUAL
else if (oap->is_VIsual)
redraw_curbuf_later(INVERTED);
#endif
if (oap->line_count > p_report)
{
@@ -948,7 +929,6 @@ may_get_selection(regname)
}
#endif
#if defined(FEAT_VISUAL) || defined(PROTO)
/*
* Obtain the contents of a "normal" register. The register is made empty.
* The returned pointer has allocated memory, use put_register() later.
@@ -1016,10 +996,10 @@ put_register(name, reg)
*y_current = *(struct yankreg *)reg;
vim_free(reg);
# ifdef FEAT_CLIPBOARD
#ifdef FEAT_CLIPBOARD
/* Send text written to clipboard register to the clipboard. */
may_set_selection();
# endif
#endif
}
void
@@ -1034,7 +1014,6 @@ free_register(reg)
vim_free(reg);
*y_current = tmp;
}
#endif
#if defined(FEAT_MOUSE) || defined(PROTO)
/*
@@ -1634,10 +1613,8 @@ op_delete(oap)
int n;
linenr_T lnum;
char_u *ptr;
#ifdef FEAT_VISUAL
char_u *newp, *oldp;
struct block_def bd;
#endif
linenr_T old_lcount = curbuf->b_ml.ml_line_count;
int did_yank = FALSE;
int orig_regname = oap->regname;
@@ -1670,10 +1647,8 @@ op_delete(oap)
* delete linewise. Don't do this for the change command or Visual mode.
*/
if ( oap->motion_type == MCHAR
#ifdef FEAT_VISUAL
&& !oap->is_VIsual
&& !oap->block_mode
#endif
&& oap->line_count > 1
&& oap->motion_force == NUL
&& oap->op_type == OP_DELETE)
@@ -1787,7 +1762,6 @@ op_delete(oap)
}
}
#ifdef FEAT_VISUAL
/*
* block mode delete
*/
@@ -1838,9 +1812,7 @@ op_delete(oap)
oap->end.lnum + 1, 0L);
oap->line_count = 0; /* no lines deleted */
}
else
#endif
if (oap->motion_type == MLINE)
else if (oap->motion_type == MLINE)
{
if (oap->op_type == OP_CHANGE)
{
@@ -1924,13 +1896,10 @@ op_delete(oap)
return FAIL;
/* if 'cpoptions' contains '$', display '$' at end of change */
if ( vim_strchr(p_cpo, CPO_DOLLAR) != NULL
if ( vim_strchr(p_cpo, CPO_DOLLAR) != NULL
&& oap->op_type == OP_CHANGE
&& oap->end.lnum == curwin->w_cursor.lnum
#ifdef FEAT_VISUAL
&& !oap->is_VIsual
#endif
)
&& !oap->is_VIsual)
display_dollar(oap->end.col - !oap->inclusive);
n = oap->end.col - oap->start.col + 1 - !oap->inclusive;
@@ -1967,11 +1936,8 @@ op_delete(oap)
}
else
{
(void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
#ifdef FEAT_VISUAL
&& !oap->is_VIsual
#endif
);
(void)del_bytes((long)n, !virtual_op,
oap->op_type == OP_DELETE && !oap->is_VIsual);
}
}
else /* delete characters between lines */
@@ -2008,11 +1974,8 @@ op_delete(oap)
{
/* delete from start of line until op_end */
curwin->w_cursor.col = 0;
(void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
#ifdef FEAT_VISUAL
&& !oap->is_VIsual
#endif
);
(void)del_bytes((long)n, !virtual_op,
oap->op_type == OP_DELETE && !oap->is_VIsual);
curwin->w_cursor = curpos; /* restore curwin->w_cursor */
}
if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
@@ -2025,14 +1988,12 @@ op_delete(oap)
#ifdef FEAT_VIRTUALEDIT
setmarks:
#endif
#ifdef FEAT_VISUAL
if (oap->block_mode)
{
curbuf->b_op_end.lnum = oap->end.lnum;
curbuf->b_op_end.col = oap->start.col;
}
else
#endif
curbuf->b_op_end = oap->start;
curbuf->b_op_start = oap->start;
@@ -2318,9 +2279,7 @@ op_tilde(oap)
oparg_T *oap;
{
pos_T pos;
#ifdef FEAT_VISUAL
struct block_def bd;
#endif
int did_change = FALSE;
if (u_save((linenr_T)(oap->start.lnum - 1),
@@ -2328,7 +2287,6 @@ op_tilde(oap)
return;
pos = oap->start;
#ifdef FEAT_VISUAL
if (oap->block_mode) /* Visual block mode */
{
for (; pos.lnum <= oap->end.lnum; ++pos.lnum)
@@ -2340,7 +2298,7 @@ op_tilde(oap)
one_change = swapchars(oap->op_type, &pos, bd.textlen);
did_change |= one_change;
# ifdef FEAT_NETBEANS_INTG
#ifdef FEAT_NETBEANS_INTG
if (netbeans_active() && one_change)
{
char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE);
@@ -2350,13 +2308,12 @@ op_tilde(oap)
netbeans_inserted(curbuf, pos.lnum, bd.textcol,
&ptr[bd.textcol], bd.textlen);
}
# endif
#endif
}
if (did_change)
changed_lines(oap->start.lnum, 0, oap->end.lnum + 1, 0L);
}
else /* not block mode */
#endif
{
if (oap->motion_type == MLINE)
{
@@ -2412,11 +2369,9 @@ op_tilde(oap)
}
}
#ifdef FEAT_VISUAL
if (!did_change && oap->is_VIsual)
/* No change: need to remove the Visual selection */
redraw_curbuf_later(INVERTED);
#endif
/*
* Set '[ and '] marks.
@@ -3018,10 +2973,8 @@ op_yank(oap, deleting, mess)
if ( oap->motion_type == MCHAR
&& oap->start.col == 0
&& !oap->inclusive
#ifdef FEAT_VISUAL
&& (!oap->is_VIsual || *p_sel == 'o')
&& !oap->block_mode
#endif
&& oap->end.col == 0
&& yanklines > 1)
{
@@ -3032,9 +2985,7 @@ op_yank(oap, deleting, mess)
y_current->y_size = yanklines;
y_current->y_type = yanktype; /* set the yank register type */
#ifdef FEAT_VISUAL
y_current->y_width = 0;
#endif
y_current->y_array = (char_u **)lalloc_clear((long_u)(sizeof(char_u *) *
yanklines), TRUE);
@@ -3047,7 +2998,6 @@ op_yank(oap, deleting, mess)
y_idx = 0;
lnum = oap->start.lnum;
#ifdef FEAT_VISUAL
if (oap->block_mode)
{
/* Visual block mode */
@@ -3057,19 +3007,16 @@ op_yank(oap, deleting, mess)
if (curwin->w_curswant == MAXCOL && y_current->y_width > 0)
y_current->y_width--;
}
#endif
for ( ; lnum <= yankendlnum; lnum++, y_idx++)
{
switch (y_current->y_type)
{
#ifdef FEAT_VISUAL
case MBLOCK:
block_prep(oap, &bd, lnum, FALSE);
if (yank_copy_line(&bd, y_idx) == FAIL)
goto fail;
break;
#endif
case MLINE:
if ((y_current->y_array[y_idx] =
@@ -3206,9 +3153,7 @@ op_yank(oap, deleting, mess)
if (mess) /* Display message about yank? */
{
if (yanktype == MCHAR
#ifdef FEAT_VISUAL
&& !oap->block_mode
#endif
&& yanklines == 1)
yanklines = 0;
/* Some versions of Vi use ">=" here, some don't... */
@@ -3218,17 +3163,13 @@ op_yank(oap, deleting, mess)
update_topline_redraw();
if (yanklines == 1)
{
#ifdef FEAT_VISUAL
if (oap->block_mode)
MSG(_("block of 1 line yanked"));
else
#endif
MSG(_("1 line yanked"));
}
#ifdef FEAT_VISUAL
else if (oap->block_mode)
smsg((char_u *)_("block of %ld lines yanked"), yanklines);
#endif
else
smsg((char_u *)_("%ld lines yanked"), yanklines);
}
@@ -3239,11 +3180,7 @@ op_yank(oap, deleting, mess)
*/
curbuf->b_op_start = oap->start;
curbuf->b_op_end = oap->end;
if (yanktype == MLINE
#ifdef FEAT_VISUAL
&& !oap->block_mode
#endif
)
if (yanktype == MLINE && !oap->block_mode)
{
curbuf->b_op_start.col = 0;
curbuf->b_op_end.col = MAXCOL;
@@ -3380,7 +3317,6 @@ do_put(regname, dir, count, flags)
long i; /* index in y_array[] */
int y_type;
long y_size;
#ifdef FEAT_VISUAL
int oldlen;
long y_width = 0;
colnr_T vcol;
@@ -3388,7 +3324,6 @@ do_put(regname, dir, count, flags)
int incr = 0;
long j;
struct block_def bd;
#endif
char_u **y_array = NULL;
long nr_lines = 0;
pos_T new_cursor;
@@ -3497,14 +3432,11 @@ do_put(regname, dir, count, flags)
get_yank_register(regname, FALSE);
y_type = y_current->y_type;
#ifdef FEAT_VISUAL
y_width = y_current->y_width;
#endif
y_size = y_current->y_size;
y_array = y_current->y_array;
}
#ifdef FEAT_VISUAL
if (y_type == MLINE)
{
if (flags & PUT_LINE_SPLIT)
@@ -3535,7 +3467,6 @@ do_put(regname, dir, count, flags)
curbuf->b_op_start = curwin->w_cursor; /* default for '[ mark */
curbuf->b_op_end = curwin->w_cursor; /* default for '] mark */
}
#endif
if (flags & PUT_LINE) /* :put command or "p" in Visual line mode. */
y_type = MLINE;
@@ -3547,7 +3478,6 @@ do_put(regname, dir, count, flags)
goto end;
}
#ifdef FEAT_VISUAL
if (y_type == MBLOCK)
{
lnum = curwin->w_cursor.lnum + y_size + 1;
@@ -3556,9 +3486,7 @@ do_put(regname, dir, count, flags)
if (u_save(curwin->w_cursor.lnum - 1, lnum) == FAIL)
goto end;
}
else
#endif
if (y_type == MLINE)
else if (y_type == MLINE)
{
lnum = curwin->w_cursor.lnum;
#ifdef FEAT_FOLDING
@@ -3610,7 +3538,6 @@ do_put(regname, dir, count, flags)
lnum = curwin->w_cursor.lnum;
col = curwin->w_cursor.col;
#ifdef FEAT_VISUAL
/*
* Block mode
*/
@@ -3792,7 +3719,6 @@ do_put(regname, dir, count, flags)
curwin->w_cursor.lnum = lnum;
}
else
#endif
{
/*
* Character or Line mode
@@ -3866,17 +3792,9 @@ do_put(regname, dir, count, flags)
curwin->w_cursor.col += (colnr_T)(totlen - 1);
}
}
#ifdef FEAT_VISUAL
if (VIsual_active)
lnum++;
#endif
} while (
#ifdef FEAT_VISUAL
VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum
#else
FALSE /* stop after 1 paste */
#endif
);
} while (VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum);
curbuf->b_op_end = curwin->w_cursor;
/* For "CTRL-O p" in Insert mode, put cursor after last char */
@@ -4038,9 +3956,7 @@ end:
if (regname == '=')
vim_free(y_array);
#ifdef FEAT_VISUAL
VIsual_active = FALSE;
#endif
/* If the cursor is past the end of the line put it at the end. */
adjust_cursor_eol();
@@ -4729,11 +4645,9 @@ op_format(oap, keep_cursor)
return;
curwin->w_cursor = oap->start;
#ifdef FEAT_VISUAL
if (oap->is_VIsual)
/* When there is no change: need to remove the Visual selection */
redraw_curbuf_later(INVERTED);
#endif
/* Set '[ mark at the start of the formatted area */
curbuf->b_op_start = oap->start;
@@ -4765,7 +4679,6 @@ op_format(oap, keep_cursor)
saved_cursor.lnum = 0;
}
#ifdef FEAT_VISUAL
if (oap->is_VIsual)
{
win_T *wp;
@@ -4783,7 +4696,6 @@ op_format(oap, keep_cursor)
}
}
}
#endif
}
#if defined(FEAT_EVAL) || defined(PROTO)
@@ -4794,11 +4706,9 @@ op_format(oap, keep_cursor)
op_formatexpr(oap)
oparg_T *oap;
{
# ifdef FEAT_VISUAL
if (oap->is_VIsual)
/* When there is no change: need to remove the Visual selection */
redraw_curbuf_later(INVERTED);
# endif
if (fex_format(oap->start.lnum, oap->line_count, NUL) != 0)
/* As documented: when 'formatexpr' returns non-zero fall back to
@@ -5238,7 +5148,6 @@ paragraph_start(lnum)
return FALSE;
}
#ifdef FEAT_VISUAL
/*
* prepare a few things for block mode yank/delete/tilde
*
@@ -5397,7 +5306,6 @@ block_prep(oap, bdp, lnum, is_del)
bdp->textcol = (colnr_T) (pstart - line);
bdp->textstart = pstart;
}
#endif /* FEAT_VISUAL */
#ifdef FEAT_RIGHTLEFT
static void reverse_line __ARGS((char_u *s));
@@ -5748,19 +5656,13 @@ read_viminfo_register(virp, force)
str = skipwhite(skiptowhite(str));
if (STRNCMP(str, "CHAR", 4) == 0)
y_current->y_type = MCHAR;
#ifdef FEAT_VISUAL
else if (STRNCMP(str, "BLOCK", 5) == 0)
y_current->y_type = MBLOCK;
#endif
else
y_current->y_type = MLINE;
/* get the block width; if it's missing we get a zero, which is OK */
str = skipwhite(skiptowhite(str));
#ifdef FEAT_VISUAL
y_current->y_width = getdigits(&str);
#else
(void)getdigits(&str);
#endif
}
while (!(eof = viminfo_readline(virp))
@@ -5868,11 +5770,9 @@ write_viminfo_registers(fp)
case MCHAR:
type = (char_u *)"CHAR";
break;
#ifdef FEAT_VISUAL
case MBLOCK:
type = (char_u *)"BLOCK";
break;
#endif
default:
sprintf((char *)IObuff, _("E574: Unknown register type %d"),
y_regs[i].y_type);
@@ -5886,13 +5786,7 @@ write_viminfo_registers(fp)
fprintf(fp, "\"%c", c);
if (c == execreg_lastc)
fprintf(fp, "@");
fprintf(fp, "\t%s\t%d\n", type,
#ifdef FEAT_VISUAL
(int)y_regs[i].y_width
#else
0
#endif
);
fprintf(fp, "\t%s\t%d\n", type, (int)y_regs[i].y_width);
/* If max_num_lines < 0, then we save ALL the lines in the register */
if (max_num_lines > 0 && num_lines > max_num_lines)
@@ -6039,10 +5933,8 @@ clip_get_selection(cbd)
{
struct yankreg *old_y_previous, *old_y_current;
pos_T old_cursor;
#ifdef FEAT_VISUAL
pos_T old_visual;
int old_visual_mode;
#endif
colnr_T old_curswant;
int old_set_curswant;
pos_T old_op_start, old_op_end;
@@ -6063,10 +5955,8 @@ clip_get_selection(cbd)
old_set_curswant = curwin->w_set_curswant;
old_op_start = curbuf->b_op_start;
old_op_end = curbuf->b_op_end;
#ifdef FEAT_VISUAL
old_visual = VIsual;
old_visual_mode = VIsual_mode;
#endif
clear_oparg(&oa);
oa.regname = (cbd == &clip_plus ? '+' : '*');
oa.op_type = OP_YANK;
@@ -6084,10 +5974,8 @@ clip_get_selection(cbd)
curwin->w_set_curswant = old_set_curswant;
curbuf->b_op_start = old_op_start;
curbuf->b_op_end = old_op_end;
#ifdef FEAT_VISUAL
VIsual = old_visual;
VIsual_mode = old_visual_mode;
#endif
}
else
{
@@ -6190,7 +6078,6 @@ clip_convert_selection(str, len, cbd)
}
# if defined(FEAT_VISUAL) || defined(FEAT_EVAL)
/*
* If we have written to a clipboard register, send the text to the clipboard.
*/
@@ -6208,7 +6095,6 @@ may_set_selection()
clip_gen_set_selection(&clip_plus);
}
}
# endif
#endif /* FEAT_CLIPBOARD || PROTO */
@@ -6273,10 +6159,8 @@ get_reg_type(regname, reglen)
if (y_current->y_array != NULL)
{
#ifdef FEAT_VISUAL
if (reglen != NULL && y_current->y_type == MBLOCK)
*reglen = y_current->y_width;
#endif
return y_current->y_type;
}
return MAUTO;
@@ -6454,11 +6338,6 @@ write_reg_contents_ex(name, str, maxlen, must_append, yank_type, block_len)
get_yank_register(name, TRUE);
if (!y_append && !must_append)
free_yank_all();
#ifndef FEAT_VISUAL
/* Just in case - make sure we don't use MBLOCK */
if (yank_type == MBLOCK)
yank_type = MAUTO;
#endif
str_to_reg(y_current, yank_type, str, len, block_len);
# ifdef FEAT_CLIPBOARD
@@ -6496,9 +6375,7 @@ str_to_reg(y_ptr, yank_type, str, len, blocklen)
int append = FALSE; /* append to last line in register */
char_u *s;
char_u **pp;
#ifdef FEAT_VISUAL
long maxlen;
#endif
if (y_ptr->y_array == NULL) /* NULL means empty register */
y_ptr->y_size = 0;
@@ -6539,9 +6416,7 @@ str_to_reg(y_ptr, yank_type, str, len, blocklen)
pp[lnum] = y_ptr->y_array[lnum];
vim_free(y_ptr->y_array);
y_ptr->y_array = pp;
#ifdef FEAT_VISUAL
maxlen = 0;
#endif
/*
* Find the end of each line and save it into the array.
@@ -6552,10 +6427,8 @@ str_to_reg(y_ptr, yank_type, str, len, blocklen)
if (str[i] == '\n')
break;
i -= start; /* i is now length of line */
#ifdef FEAT_VISUAL
if (i > maxlen)
maxlen = i;
#endif
if (append)
{
--lnum;
@@ -6585,12 +6458,10 @@ str_to_reg(y_ptr, yank_type, str, len, blocklen)
}
y_ptr->y_type = type;
y_ptr->y_size = lnum;
# ifdef FEAT_VISUAL
if (type == MBLOCK)
y_ptr->y_width = (blocklen < 0 ? maxlen - 1 : blocklen);
else
y_ptr->y_width = 0;
# endif
}
#endif /* FEAT_CLIPBOARD || FEAT_EVAL || PROTO */
@@ -6684,12 +6555,10 @@ cursor_pos_info()
long word_count_cursor = 0;
int eol_size;
long last_check = 100000L;
#ifdef FEAT_VISUAL
long line_count_selected = 0;
pos_T min_pos, max_pos;
oparg_T oparg;
struct block_def bd;
#endif
/*
* Compute the length of the file in characters.
@@ -6705,7 +6574,6 @@ cursor_pos_info()
else
eol_size = 1;
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (lt(VIsual, curwin->w_cursor))
@@ -6749,7 +6617,6 @@ cursor_pos_info()
}
line_count_selected = max_pos.lnum - min_pos.lnum + 1;
}
#endif
for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
{
@@ -6762,7 +6629,6 @@ cursor_pos_info()
last_check = byte_count + 100000L;
}
#ifdef FEAT_VISUAL
/* Do extra processing for VIsual mode. */
if (VIsual_active
&& lnum >= min_pos.lnum && lnum <= max_pos.lnum)
@@ -6773,13 +6639,13 @@ cursor_pos_info()
switch (VIsual_mode)
{
case Ctrl_V:
# ifdef FEAT_VIRTUALEDIT
#ifdef FEAT_VIRTUALEDIT
virtual_op = virtual_active();
# endif
#endif
block_prep(&oparg, &bd, lnum, 0);
# ifdef FEAT_VIRTUALEDIT
#ifdef FEAT_VIRTUALEDIT
virtual_op = MAYBE;
# endif
#endif
s = bd.textstart;
len = (long)bd.textlen;
break;
@@ -6811,7 +6677,6 @@ cursor_pos_info()
}
}
else
#endif
{
/* In non-visual mode, check for the line the cursor is on */
if (lnum == curwin->w_cursor.lnum)
@@ -6833,7 +6698,6 @@ cursor_pos_info()
if (!curbuf->b_p_eol && curbuf->b_p_bin)
byte_count -= eol_size;
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (VIsual_mode == Ctrl_V && curwin->w_curswant < MAXCOL)
@@ -6864,7 +6728,6 @@ cursor_pos_info()
byte_count_cursor, byte_count);
}
else
#endif
{
p = ml_get_curline();
validate_virtcol();
-20
View File
@@ -1629,11 +1629,7 @@ static struct vimoption
#endif
SCRIPTID_INIT},
{"keymodel", "km", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
#ifdef FEAT_VISUAL
(char_u *)&p_km, PV_NONE,
#else
(char_u *)NULL, PV_NONE,
#endif
{(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
{"keywordprg", "kp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
(char_u *)&p_kp, PV_KP,
@@ -2190,19 +2186,11 @@ static struct vimoption
(char_u *)&p_secure, PV_NONE,
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
{"selection", "sel", P_STRING|P_VI_DEF,
#ifdef FEAT_VISUAL
(char_u *)&p_sel, PV_NONE,
#else
(char_u *)NULL, PV_NONE,
#endif
{(char_u *)"inclusive", (char_u *)0L}
SCRIPTID_INIT},
{"selectmode", "slm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
#ifdef FEAT_VISUAL
(char_u *)&p_slm, PV_NONE,
#else
(char_u *)NULL, PV_NONE,
#endif
{(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
{"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
#ifdef FEAT_SESSION
@@ -2979,13 +2967,9 @@ static char *(p_wop_values[]) = {"tagfile", NULL};
static char *(p_wak_values[]) = {"yes", "menu", "no", NULL};
#endif
static char *(p_mousem_values[]) = {"extend", "popup", "popup_setpos", "mac", NULL};
#ifdef FEAT_VISUAL
static char *(p_sel_values[]) = {"inclusive", "exclusive", "old", NULL};
static char *(p_slm_values[]) = {"mouse", "key", "cmd", NULL};
#endif
#ifdef FEAT_VISUAL
static char *(p_km_values[]) = {"startsel", "stopsel", NULL};
#endif
#ifdef FEAT_BROWSE
static char *(p_bsdir_values[]) = {"current", "last", "buffer", NULL};
#endif
@@ -6578,7 +6562,6 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
}
#endif
#ifdef FEAT_VISUAL
/* 'selection' */
else if (varp == &p_sel)
{
@@ -6593,7 +6576,6 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
if (check_opt_strings(p_slm, p_slm_values, TRUE) != OK)
errmsg = e_invarg;
}
#endif
#ifdef FEAT_BROWSE
/* 'browsedir' */
@@ -6605,7 +6587,6 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
}
#endif
#ifdef FEAT_VISUAL
/* 'keymodel' */
else if (varp == &p_km)
{
@@ -6617,7 +6598,6 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
km_startsel = (vim_strchr(p_km, 'a') != NULL);
}
}
#endif
/* 'mousemodel' */
else if (varp == &p_mousem)
-4
View File
@@ -572,9 +572,7 @@ EXTERN char_u *p_isi; /* 'isident' */
EXTERN char_u *p_isp; /* 'isprint' */
EXTERN int p_js; /* 'joinspaces' */
EXTERN char_u *p_kp; /* 'keywordprg' */
#ifdef FEAT_VISUAL
EXTERN char_u *p_km; /* 'keymodel' */
#endif
#ifdef FEAT_LANGMAP
EXTERN char_u *p_langmap; /* 'langmap'*/
#endif
@@ -681,10 +679,8 @@ EXTERN char_u *p_sbo; /* 'scrollopt' */
#endif
EXTERN char_u *p_sections; /* 'sections' */
EXTERN int p_secure; /* 'secure' */
#ifdef FEAT_VISUAL
EXTERN char_u *p_sel; /* 'selection' */
EXTERN char_u *p_slm; /* 'selectmode' */
#endif
#ifdef FEAT_SESSION
EXTERN char_u *p_ssop; /* 'sessionoptions' */
EXTERN unsigned ssop_flags;
-4
View File
@@ -2270,9 +2270,7 @@ clip_mch_request_selection(VimClipboard *cbd)
default:
case 'L': type = MLINE; break;
case 'C': type = MCHAR; break;
#ifdef FEAT_VISUAL
case 'B': type = MBLOCK; break;
#endif
}
}
@@ -2799,9 +2797,7 @@ Win16SetClipboardData(
default:
case MLINE: clip_sel_type = "L"; break;
case MCHAR: clip_sel_type = "C"; break;
#ifdef FEAT_VISUAL
case MBLOCK: clip_sel_type = "B"; break;
#endif
}
movedata(
-4
View File
@@ -78,9 +78,7 @@ clip_mch_request_selection(VimClipboard *cbd)
default: /* fallthrough to line type */
case 'L': type = MLINE; break;
case 'C': type = MCHAR; break;
#ifdef FEAT_VISUAL
case 'B': type = MBLOCK; break;
#endif
}
is_type_set = TRUE;
}
@@ -143,9 +141,7 @@ clip_mch_set_selection(VimClipboard *cbd)
default: /* fallthrough to MLINE */
case MLINE: *vim_clip = 'L'; break;
case MCHAR: *vim_clip = 'C'; break;
#ifdef FEAT_VISUAL
case MBLOCK: *vim_clip = 'B'; break;
#endif
}
vim_strncpy(text_clip, str, len);
+1 -1
View File
@@ -68,7 +68,7 @@
#endif
#define USE_FNAME_CASE /* adjust case of file names */
#if !defined(FEAT_CLIPBOARD) && defined(FEAT_VISUAL) && defined(FEAT_MOUSE)
#if !defined(FEAT_CLIPBOARD) && defined(FEAT_MOUSE)
# define FEAT_CLIPBOARD /* include clipboard support */
#endif
#if defined(__DATE__) && defined(__TIME__)
-2
View File
@@ -2347,9 +2347,7 @@ ex_copen(eap)
else
height = QF_WINHEIGHT;
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
#ifdef FEAT_GUI
need_mouse_correct = TRUE;
#endif
+1 -5
View File
@@ -4179,9 +4179,8 @@ reg_prev_class()
- (*mb_head_off)(regline, reginput - 1), reg_buf);
return -1;
}
#endif
#ifdef FEAT_VISUAL
static int reg_match_visual __ARGS((void));
/*
@@ -4258,7 +4257,6 @@ reg_match_visual()
}
return TRUE;
}
#endif
#define ADVANCE_REGINPUT() mb_ptr_adv(reginput)
@@ -4440,9 +4438,7 @@ regmatch(scan)
break;
case RE_VISUAL:
#ifdef FEAT_VISUAL
if (!reg_match_visual())
#endif
status = RA_NOMATCH;
break;
-2
View File
@@ -6403,14 +6403,12 @@ nfa_regmatch(prog, start, submatch, m)
break;
case NFA_VISUAL:
#ifdef FEAT_VISUAL
result = reg_match_visual();
if (result)
{
add_here = TRUE;
add_state = t->state->out;
}
#endif
break;
case NFA_MOPEN1:
+9 -50
View File
@@ -446,8 +446,6 @@ redrawWinline(lnum, invalid)
#endif
}
#if defined(FEAT_RUBY) || defined(FEAT_PERL) || defined(FEAT_VISUAL) || \
(defined(FEAT_CLIPBOARD) && defined(FEAT_X11)) || defined(PROTO)
/*
* update all windows that are editing the current buffer
*/
@@ -458,7 +456,6 @@ update_curbuf(type)
redraw_curbuf_later(type);
update_screen(type);
}
#endif
/*
* update_screen()
@@ -596,14 +593,12 @@ update_screen(type)
&& curwin->w_botfill == curwin->w_old_botfill
#endif
&& curwin->w_topline == curwin->w_lines[0].wl_lnum)
#ifdef FEAT_VISUAL
|| (type == INVERTED
&& VIsual_active
&& curwin->w_old_cursor_lnum == curwin->w_cursor.lnum
&& curwin->w_old_visual_mode == VIsual_mode
&& (curwin->w_valid & VALID_VIRTCOL)
&& curwin->w_old_curswant == curwin->w_curswant)
#endif
))
curwin->w_redr_type = type;
@@ -1030,10 +1025,8 @@ win_update(wp)
updating. 0 when no mid area updating. */
int bot_start = 999;/* first row of the bot area that needs
updating. 999 when no bot area updating */
#ifdef FEAT_VISUAL
int scrolled_down = FALSE; /* TRUE when scrolled down when
w_topline got smaller a bit */
#endif
#ifdef FEAT_SEARCH_EXTRA
matchitem_T *cur; /* points to the match list */
int top_to_mod = FALSE; /* redraw above mod_top */
@@ -1354,9 +1347,7 @@ win_update(wp)
/* Need to update rows that are new, stop at the
* first one that scrolled down. */
top_end = i;
#ifdef FEAT_VISUAL
scrolled_down = TRUE;
#endif
/* Move the entries that were scrolled, disable
* the entries for the lines to be redrawn. */
@@ -1513,7 +1504,6 @@ win_update(wp)
type = NOT_VALID;
}
#ifdef FEAT_VISUAL
/* check if we are updating or removing the inverted part */
if ((VIsual_active && buf == curwin->w_buffer)
|| (wp->w_old_cursor_lnum != 0 && type != NOT_VALID))
@@ -1708,7 +1698,6 @@ win_update(wp)
wp->w_old_visual_lnum = 0;
wp->w_old_visual_col = 0;
}
#endif /* FEAT_VISUAL */
#if defined(FEAT_SYN_HL) || defined(FEAT_SEARCH_EXTRA)
/* reset got_int, otherwise regexp won't work */
@@ -2670,7 +2659,6 @@ fold_line(wp, fold_count, foldinfo, lnum, row)
* 6. set highlighting for the Visual area an other text.
* If all folded lines are in the Visual area, highlight the line.
*/
#ifdef FEAT_VISUAL
if (VIsual_active && wp->w_buffer == curwin->w_buffer)
{
if (ltoreq(curwin->w_cursor, VIsual))
@@ -2718,7 +2706,6 @@ fold_line(wp, fold_count, foldinfo, lnum, row)
}
}
}
#endif
#ifdef FEAT_SYN_HL
/* Show 'cursorcolumn' in the fold line. */
@@ -2876,10 +2863,8 @@ win_line(wp, lnum, startrow, endrow, nochange)
int fromcol, tocol; /* start/end of inverting */
int fromcol_prev = -2; /* start of inverting after cursor */
int noinvcur = FALSE; /* don't invert the cursor */
#ifdef FEAT_VISUAL
pos_T *top, *bot;
int lnum_in_visual_area = FALSE;
#endif
pos_T pos;
long v;
@@ -3090,7 +3075,6 @@ win_line(wp, lnum, startrow, endrow, nochange)
*/
fromcol = -10;
tocol = MAXCOL;
#ifdef FEAT_VISUAL
if (VIsual_active && wp->w_buffer == curwin->w_buffer)
{
/* Visual is after curwin->w_cursor */
@@ -3183,9 +3167,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
/*
* handle 'incsearch' and ":s///c" highlighting
*/
else
#endif /* FEAT_VISUAL */
if (highlight_match
else if (highlight_match
&& wp == curwin
&& lnum >= curwin->w_cursor.lnum
&& lnum <= curwin->w_cursor.lnum + search_match_lines)
@@ -3324,7 +3306,6 @@ win_line(wp, lnum, startrow, endrow, nochange)
mb_ptr_adv(ptr);
}
#if defined(FEAT_SYN_HL) || defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL)
/* When:
* - 'cuc' is set, or
* - 'colorcolumn' is set, or
@@ -3333,27 +3314,16 @@ win_line(wp, lnum, startrow, endrow, nochange)
* the end of the line may be before the start of the displayed part.
*/
if (vcol < v && (
# ifdef FEAT_SYN_HL
wp->w_p_cuc
|| draw_color_col
# if defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL)
||
# endif
# endif
# ifdef FEAT_VIRTUALEDIT
virtual_active()
# ifdef FEAT_VISUAL
||
# endif
# endif
# ifdef FEAT_VISUAL
(VIsual_active && wp->w_buffer == curwin->w_buffer)
# endif
))
#ifdef FEAT_SYN_HL
wp->w_p_cuc || draw_color_col ||
#endif
#ifdef FEAT_VIRTUALEDIT
virtual_active() ||
#endif
(VIsual_active && wp->w_buffer == curwin->w_buffer)))
{
vcol = v;
}
#endif
/* Handle a character that's not completely on the screen: Put ptr at
* that character but skip the first few screen characters. */
@@ -4500,9 +4470,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
&& ((wp->w_p_list && lcs_eol > 0)
|| ((fromcol >= 0 || fromcol_prev >= 0)
&& tocol > vcol
#ifdef FEAT_VISUAL
&& VIsual_mode != Ctrl_V
#endif
&& (
# ifdef FEAT_RIGHTLEFT
wp->w_p_rl ? (col >= 0) :
@@ -4854,11 +4822,9 @@ win_line(wp, lnum, startrow, endrow, nochange)
#endif
if (lcs_eol == lcs_eol_one
&& ((area_attr != 0 && vcol == fromcol
#ifdef FEAT_VISUAL
&& (VIsual_mode != Ctrl_V
|| lnum == VIsual.lnum
|| lnum == curwin->w_cursor.lnum)
#endif
&& c == NUL)
#ifdef FEAT_SEARCH_EXTRA
/* highlight 'hlsearch' match at end of line */
@@ -9659,10 +9625,7 @@ showmode()
do_mode = ((p_smd && msg_silent == 0)
&& ((State & INSERT)
|| restart_edit
#ifdef FEAT_VISUAL
|| VIsual_active
#endif
));
|| VIsual_active));
if (do_mode || Recording)
{
/*
@@ -9790,7 +9753,6 @@ showmode()
if ((State & INSERT) && p_paste)
MSG_PUTS_ATTR(_(" (paste)"), attr);
#ifdef FEAT_VISUAL
if (VIsual_active)
{
char *p;
@@ -9810,7 +9772,6 @@ showmode()
}
MSG_PUTS_ATTR(_(p), attr);
}
#endif
MSG_PUTS_ATTR(" --", attr);
}
@@ -9839,11 +9800,9 @@ showmode()
msg_clr_cmdline();
#ifdef FEAT_CMDL_INFO
# ifdef FEAT_VISUAL
/* In Visual mode the size of the selected area must be redrawn. */
if (VIsual_active)
clear_showcmd();
# endif
/* If the last window has no status line, the ruler is after the mode
* message and must be redrawn */
+5 -59
View File
@@ -506,7 +506,7 @@ last_pat_prog(regmatch)
#endif
/*
* lowest level search function.
* Lowest level search function.
* Search for 'count'th occurrence of pattern 'pat' in direction 'dir'.
* Start at position 'pos' and return the found position in 'pos'.
*
@@ -3198,7 +3198,6 @@ current_word(oap, count, include, bigword)
cls_bigword = bigword;
clearpos(&start_pos);
#ifdef FEAT_VISUAL
/* Correct cursor when 'selection' is exclusive */
if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
dec_cursor();
@@ -3208,7 +3207,6 @@ current_word(oap, count, include, bigword)
* character, select the word and/or white space under the cursor.
*/
if (!VIsual_active || equalpos(curwin->w_cursor, VIsual))
#endif
{
/*
* Go to start of current word or white space.
@@ -3245,7 +3243,6 @@ current_word(oap, count, include, bigword)
include_white = TRUE;
}
#ifdef FEAT_VISUAL
if (VIsual_active)
{
/* should do something when inclusive == FALSE ! */
@@ -3253,7 +3250,6 @@ current_word(oap, count, include, bigword)
redraw_curbuf_later(INVERTED); /* update the inversion */
}
else
#endif
{
oap->start = start_pos;
oap->motion_type = MCHAR;
@@ -3267,7 +3263,6 @@ current_word(oap, count, include, bigword)
while (count > 0)
{
inclusive = TRUE;
#ifdef FEAT_VISUAL
if (VIsual_active && lt(curwin->w_cursor, VIsual))
{
/*
@@ -3288,7 +3283,6 @@ current_word(oap, count, include, bigword)
}
}
else
#endif
{
/*
* Move cursor forward one word and/or white area.
@@ -3334,18 +3328,15 @@ current_word(oap, count, include, bigword)
back_in_line();
if (cls() == 0 && curwin->w_cursor.col > 0)
{
#ifdef FEAT_VISUAL
if (VIsual_active)
VIsual = curwin->w_cursor;
else
#endif
oap->start = curwin->w_cursor;
}
}
curwin->w_cursor = pos; /* put cursor back at end */
}
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (*p_sel == 'e' && inclusive && ltoreq(VIsual, curwin->w_cursor))
@@ -3357,7 +3348,6 @@ current_word(oap, count, include, bigword)
}
}
else
#endif
oap->inclusive = inclusive;
return OK;
@@ -3384,7 +3374,6 @@ current_sent(oap, count, include)
pos = start_pos;
findsent(FORWARD, 1L); /* Find start of next sentence. */
#ifdef FEAT_VISUAL
/*
* When the Visual area is bigger than one character: Extend it.
*/
@@ -3471,7 +3460,6 @@ extend:
}
return OK;
}
#endif
/*
* If the cursor started on a blank, check if it is just before the start
@@ -3521,7 +3509,6 @@ extend:
find_first_blank(&start_pos);
}
#ifdef FEAT_VISUAL
if (VIsual_active)
{
/* Avoid getting stuck with "is" on a single space before a sentence. */
@@ -3534,7 +3521,6 @@ extend:
redraw_curbuf_later(INVERTED); /* update the inversion */
}
else
#endif
{
/* include a newline after the sentence, if there is one */
if (incl(&curwin->w_cursor) == -1)
@@ -3574,9 +3560,7 @@ current_block(oap, count, include, what, other)
/*
* If we start on '(', '{', ')', '}', etc., use the whole block inclusive.
*/
#ifdef FEAT_VISUAL
if (!VIsual_active || equalpos(VIsual, curwin->w_cursor))
#endif
{
setpcmark();
if (what == '{') /* ignore indent */
@@ -3587,7 +3571,6 @@ current_block(oap, count, include, what, other)
/* cursor on '(' or '{', move cursor just after it */
++curwin->w_cursor.col;
}
#ifdef FEAT_VISUAL
else if (lt(VIsual, curwin->w_cursor))
{
old_start = VIsual;
@@ -3595,7 +3578,6 @@ current_block(oap, count, include, what, other)
}
else
old_end = VIsual;
#endif
/*
* Search backwards for unclosed '(', '{', etc..
@@ -3641,7 +3623,6 @@ current_block(oap, count, include, what, other)
if (decl(&curwin->w_cursor) != 0)
break;
}
#ifdef FEAT_VISUAL
/*
* In Visual mode, when the resulting area is not bigger than what we
* started with, extend it to the next block, and then exclude again.
@@ -3666,11 +3647,9 @@ current_block(oap, count, include, what, other)
curwin->w_cursor = *end_pos;
}
else
#endif
break;
}
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (*p_sel == 'e')
@@ -3683,7 +3662,6 @@ current_block(oap, count, include, what, other)
showmode();
}
else
#endif
{
oap->start = start_pos;
oap->motion_type = MCHAR;
@@ -3807,17 +3785,13 @@ current_tagblock(oap, count_arg, include)
old_pos = curwin->w_cursor;
old_end = curwin->w_cursor; /* remember where we started */
old_start = old_end;
#ifdef FEAT_VISUAL
if (!VIsual_active || *p_sel == 'e')
#endif
decl(&old_end); /* old_end is inclusive */
/*
* If we start on "<aaa>" select that block.
*/
#ifdef FEAT_VISUAL
if (!VIsual_active || equalpos(VIsual, curwin->w_cursor))
#endif
{
setpcmark();
@@ -3843,7 +3817,6 @@ current_tagblock(oap, count_arg, include)
old_end = curwin->w_cursor;
}
}
#ifdef FEAT_VISUAL
else if (lt(VIsual, curwin->w_cursor))
{
old_start = VIsual;
@@ -3851,7 +3824,6 @@ current_tagblock(oap, count_arg, include)
}
else
old_end = VIsual;
#endif
again:
/*
@@ -3951,7 +3923,6 @@ again:
}
}
#ifdef FEAT_VISUAL
if (VIsual_active)
{
/* If the end is before the start there is no text between tags, select
@@ -3966,7 +3937,6 @@ again:
showmode();
}
else
#endif
{
oap->start = start_pos;
oap->motion_type = MCHAR;
@@ -4010,7 +3980,6 @@ current_par(oap, count, include, type)
start_lnum = curwin->w_cursor.lnum;
#ifdef FEAT_VISUAL
/*
* When visual area is more than one line: extend it.
*/
@@ -4064,7 +4033,6 @@ extend:
curwin->w_cursor.col = 0;
return retval;
}
#endif
/*
* First move back to the start_lnum of the paragraph or white lines
@@ -4136,7 +4104,6 @@ extend:
while (start_lnum > 1 && linewhite(start_lnum - 1))
--start_lnum;
#ifdef FEAT_VISUAL
if (VIsual_active)
{
/* Problem: when doing "Vipipip" nothing happens in a single white
@@ -4149,7 +4116,6 @@ extend:
showmode();
}
else
#endif
{
oap->start.lnum = start_lnum;
oap->start.col = 0;
@@ -4247,7 +4213,6 @@ current_quote(oap, count, include, quotechar)
int col_end;
int col_start = curwin->w_cursor.col;
int inclusive = FALSE;
#ifdef FEAT_VISUAL
int vis_empty = TRUE; /* Visual selection <= 1 char */
int vis_bef_curs = FALSE; /* Visual starts before cursor */
int inside_quotes = FALSE; /* Looks like "i'" done before */
@@ -4331,17 +4296,11 @@ current_quote(oap, count, include, quotechar)
}
}
else
#endif
if (line[col_start] == quotechar
#ifdef FEAT_VISUAL
|| !vis_empty
#endif
)
if (line[col_start] == quotechar || !vis_empty)
{
int first_col = col_start;
#ifdef FEAT_VISUAL
if (!vis_empty)
{
if (vis_bef_curs)
@@ -4349,7 +4308,7 @@ current_quote(oap, count, include, quotechar)
else
first_col = find_prev_quote(line, col_start, quotechar, NULL);
}
#endif
/* The cursor is on a quote, we don't know if it's the opening or
* closing quote. Search from the start of the line to find out.
* Also do this when there is a Visual area, a' may leave the cursor
@@ -4406,14 +4365,9 @@ current_quote(oap, count, include, quotechar)
/* Set start position. After vi" another i" must include the ".
* For v2i" include the quotes. */
if (!include && count < 2
#ifdef FEAT_VISUAL
&& (vis_empty || !inside_quotes)
#endif
)
if (!include && count < 2 && (vis_empty || !inside_quotes))
++col_start;
curwin->w_cursor.col = col_start;
#ifdef FEAT_VISUAL
if (VIsual_active)
{
/* Set the start of the Visual area when the Visual area was empty, we
@@ -4433,7 +4387,6 @@ current_quote(oap, count, include, quotechar)
}
}
else
#endif
{
oap->start = curwin->w_cursor;
oap->motion_type = MCHAR;
@@ -4441,14 +4394,10 @@ current_quote(oap, count, include, quotechar)
/* Set end position. */
curwin->w_cursor.col = col_end;
if ((include || count > 1
#ifdef FEAT_VISUAL
/* After vi" another i" must include the ". */
if ((include || count > 1 /* After vi" another i" must include the ". */
|| (!vis_empty && inside_quotes)
#endif
) && inc_cursor() == 2)
inclusive = TRUE;
#ifdef FEAT_VISUAL
if (VIsual_active)
{
if (vis_empty || vis_bef_curs)
@@ -4480,7 +4429,6 @@ current_quote(oap, count, include, quotechar)
}
}
else
#endif
{
/* Set inclusive and other oap's flags. */
oap->inclusive = inclusive;
@@ -4491,7 +4439,6 @@ current_quote(oap, count, include, quotechar)
#endif /* FEAT_TEXTOBJ */
#if defined(FEAT_VISUAL) || defined(PROTO)
static int is_one_char __ARGS((char_u *pattern));
/*
@@ -4690,7 +4637,6 @@ is_one_char(pattern)
vim_regfree(regmatch.regprog);
return result;
}
#endif /* FEAT_VISUAL */
#if defined(FEAT_LISP) || defined(FEAT_CINDENT) || defined(FEAT_TEXTOBJ) \
|| defined(PROTO)
+2 -5
View File
@@ -10191,7 +10191,6 @@ spell_suggest(count)
if (no_spell_checking(curwin))
return;
#ifdef FEAT_VISUAL
if (VIsual_active)
{
/* Use the Visually selected text as the bad word. But reject
@@ -10209,10 +10208,8 @@ spell_suggest(count)
++badlen;
end_visual_mode();
}
else
#endif
/* Find the start of the badly spelled word. */
if (spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL) == 0
/* Find the start of the badly spelled word. */
else if (spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL) == 0
|| curwin->w_cursor.col > prev_cursor.col)
{
/* No bad word or it starts after the cursor: use the word under the
+1 -9
View File
@@ -346,9 +346,7 @@ struct u_header
#endif
int uh_flags; /* see below */
pos_T uh_namedm[NMARKS]; /* marks before undo/after redo */
#ifdef FEAT_VISUAL
visualinfo_T uh_visual; /* Visual areas before undo/after redo */
#endif
time_t uh_time; /* timestamp when the change was made */
long uh_save_nr; /* set when the file was saved after the
changes in this block */
@@ -1406,12 +1404,10 @@ struct file_buffer
pos_T b_namedm[NMARKS]; /* current named marks (mark.c) */
#ifdef FEAT_VISUAL
/* These variables are set when VIsual_active becomes FALSE */
visualinfo_T b_visual;
# ifdef FEAT_EVAL
#ifdef FEAT_EVAL
int b_visual_mode_eval; /* b_visual.vi_mode for visualmode() */
# endif
#endif
pos_T b_last_cursor; /* cursor position when last unloading this
@@ -1980,7 +1976,6 @@ struct window_S
time through cursupdate() to the
current virtual column */
#ifdef FEAT_VISUAL
/*
* the next six are used to update the visual part
*/
@@ -1991,7 +1986,6 @@ struct window_S
linenr_T w_old_visual_lnum; /* last known start of visual part */
colnr_T w_old_visual_col; /* last known start of visual part */
colnr_T w_old_curswant; /* last known value of Curswant */
#endif
/*
* "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for
@@ -2293,10 +2287,8 @@ typedef struct oparg_S
(inclusive) */
int empty; /* op_start and op_end the same (only used by
do_change()) */
#ifdef FEAT_VISUAL
int is_VIsual; /* operator on Visual area */
int block_mode; /* current operator is Visual block mode */
#endif
colnr_T start_vcol; /* start col for block mode operator */
colnr_T end_vcol; /* end col for block mode operator */
#ifdef FEAT_AUTOCMD
-4
View File
@@ -6837,10 +6837,8 @@ static char *(highlight_init_light[]) =
CENT("SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
"SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue"),
#endif
#ifdef FEAT_VISUAL
CENT("Visual term=reverse",
"Visual term=reverse guibg=LightGrey"),
#endif
#ifdef FEAT_DIFF
CENT("DiffAdd term=bold ctermbg=LightBlue",
"DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"),
@@ -6927,10 +6925,8 @@ static char *(highlight_init_dark[]) =
CENT("SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan",
"SignColumn term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan"),
#endif
#ifdef FEAT_VISUAL
CENT("Visual term=reverse",
"Visual term=reverse guibg=DarkGrey"),
#endif
#ifdef FEAT_DIFF
CENT("DiffAdd term=bold ctermbg=DarkBlue",
"DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"),
+1 -4
View File
@@ -3456,12 +3456,9 @@ setmouse()
return;
}
# ifdef FEAT_VISUAL
if (VIsual_active)
checkfor = MOUSE_VISUAL;
else
# endif
if (State == HITRETURN || State == ASKMORE || State == SETWSIZE)
else if (State == HITRETURN || State == ASKMORE || State == SETWSIZE)
checkfor = MOUSE_RETURN;
else if (State & INSERT)
checkfor = MOUSE_INSERT;
+10 -18
View File
@@ -2610,13 +2610,11 @@ retnomove:
if (on_sep_line)
return IN_SEP_LINE;
#endif
#ifdef FEAT_VISUAL
if (flags & MOUSE_MAY_STOP_VIS)
{
end_visual_mode();
redraw_curbuf_later(INVERTED); /* delete the inversion */
}
#endif
#if defined(FEAT_CMDWIN) && defined(FEAT_CLIPBOARD)
/* Continue a modeless selection in another window. */
if (cmdwin_type != 0 && row < W_WINROW(curwin))
@@ -2686,32 +2684,30 @@ retnomove:
}
#endif
#ifdef FEAT_VISUAL
/* Before jumping to another buffer, or moving the cursor for a left
* click, stop Visual mode. */
if (VIsual_active
&& (wp->w_buffer != curwin->w_buffer
|| (!on_status_line
# ifdef FEAT_VERTSPLIT
#ifdef FEAT_VERTSPLIT
&& !on_sep_line
# endif
# ifdef FEAT_FOLDING
#endif
#ifdef FEAT_FOLDING
&& (
# ifdef FEAT_RIGHTLEFT
# ifdef FEAT_RIGHTLEFT
wp->w_p_rl ? col < W_WIDTH(wp) - wp->w_p_fdc :
# endif
col >= wp->w_p_fdc
# ifdef FEAT_CMDWIN
+ (cmdwin_type == 0 && wp == curwin ? 0 : 1)
# endif
)
# endif
col >= wp->w_p_fdc
# ifdef FEAT_CMDWIN
+ (cmdwin_type == 0 && wp == curwin ? 0 : 1)
# endif
)
#endif
&& (flags & MOUSE_MAY_STOP_VIS))))
{
end_visual_mode();
redraw_curbuf_later(INVERTED); /* delete the inversion */
}
#endif
#ifdef FEAT_CMDWIN
if (cmdwin_type != 0 && wp != curwin)
{
@@ -2801,14 +2797,12 @@ retnomove:
#endif
else /* keep_window_focus must be TRUE */
{
#ifdef FEAT_VISUAL
/* before moving the cursor for a left click, stop Visual mode */
if (flags & MOUSE_MAY_STOP_VIS)
{
end_visual_mode();
redraw_curbuf_later(INVERTED); /* delete the inversion */
}
#endif
#if defined(FEAT_CMDWIN) && defined(FEAT_CLIPBOARD)
/* Continue a modeless selection in another window. */
@@ -2933,7 +2927,6 @@ retnomove:
if (mouse_comp_pos(curwin, &row, &col, &curwin->w_cursor.lnum))
mouse_past_bottom = TRUE;
#ifdef FEAT_VISUAL
/* Start Visual mode before coladvance(), for when 'sel' != "old" */
if ((flags & MOUSE_MAY_VIS) && !VIsual_active)
{
@@ -2947,7 +2940,6 @@ retnomove:
if (p_smd && msg_silent == 0)
redraw_cmdline = TRUE; /* show visual mode later */
}
#endif
curwin->w_curswant = col;
curwin->w_set_curswant = FALSE; /* May still have been TRUE */
-24
View File
@@ -532,9 +532,7 @@ u_savecommon(top, bot, newbot, reload)
/* save named marks and Visual marks for undo */
mch_memmove(uhp->uh_namedm, curbuf->b_namedm, sizeof(pos_T) * NMARKS);
#ifdef FEAT_VISUAL
uhp->uh_visual = curbuf->b_visual;
#endif
curbuf->b_u_newhead = uhp;
if (curbuf->b_u_oldhead == NULL)
@@ -1014,16 +1012,7 @@ serialize_uhp(fp, buf, uhp)
/* Assume NMARKS will stay the same. */
for (i = 0; i < NMARKS; ++i)
serialize_pos(uhp->uh_namedm[i], fp);
#ifdef FEAT_VISUAL
serialize_visualinfo(&uhp->uh_visual, fp);
#else
{
visualinfo_T info;
memset(&info, 0, sizeof(visualinfo_T));
serialize_visualinfo(&info, fp);
}
#endif
put_time(fp, uhp->uh_time);
/* Optional fields. */
@@ -1082,14 +1071,7 @@ unserialize_uhp(fp, file_name)
uhp->uh_flags = get2c(fp);
for (i = 0; i < NMARKS; ++i)
unserialize_pos(&uhp->uh_namedm[i], fp);
#ifdef FEAT_VISUAL
unserialize_visualinfo(&uhp->uh_visual, fp);
#else
{
visualinfo_T info;
unserialize_visualinfo(&info, fp);
}
#endif
uhp->uh_time = get8ctime(fp);
/* Optional fields. */
@@ -2406,9 +2388,7 @@ u_undoredo(undo)
int old_flags;
int new_flags;
pos_T namedm[NMARKS];
#ifdef FEAT_VISUAL
visualinfo_T visualinfo;
#endif
int empty_buffer; /* buffer became empty */
u_header_T *curhead = curbuf->b_u_curhead;
@@ -2430,9 +2410,7 @@ u_undoredo(undo)
* save marks before undo/redo
*/
mch_memmove(namedm, curbuf->b_namedm, sizeof(pos_T) * NMARKS);
#ifdef FEAT_VISUAL
visualinfo = curbuf->b_visual;
#endif
curbuf->b_op_start.lnum = curbuf->b_ml.ml_line_count;
curbuf->b_op_start.col = 0;
curbuf->b_op_end.lnum = 0;
@@ -2602,13 +2580,11 @@ u_undoredo(undo)
curbuf->b_namedm[i] = curhead->uh_namedm[i];
curhead->uh_namedm[i] = namedm[i];
}
#ifdef FEAT_VISUAL
if (curhead->uh_visual.vi_start.lnum != 0)
{
curbuf->b_visual = curhead->uh_visual;
curhead->uh_visual = visualinfo;
}
#endif
/*
* If the cursor is only off by one line, put it at the same position as
+4 -6
View File
@@ -642,15 +642,11 @@ static char *(features[]) =
#else
"-virtualedit",
#endif
#ifdef FEAT_VISUAL
"+visual",
# ifdef FEAT_VISUALEXTRA
#ifdef FEAT_VISUALEXTRA
"+visualextra",
# else
"-visualextra",
# endif
#else
"-visual",
"-visualextra",
#endif
#ifdef FEAT_VIMINFO
"+viminfo",
@@ -738,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
212,
/**/
211,
/**/
-30
View File
@@ -130,9 +130,7 @@ do_window(nchar, Prenum, xchar)
case Ctrl_S:
case 's':
CHECK_CMDWIN
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
#ifdef FEAT_QUICKFIX
/* When splitting the quickfix window open a new buffer in it,
* don't replicate the quickfix buffer. */
@@ -150,9 +148,7 @@ do_window(nchar, Prenum, xchar)
case Ctrl_V:
case 'v':
CHECK_CMDWIN
# ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
# endif
# ifdef FEAT_QUICKFIX
/* When splitting the quickfix window open a new buffer in it,
* don't replicate the quickfix buffer. */
@@ -170,9 +166,7 @@ do_window(nchar, Prenum, xchar)
case Ctrl_HAT:
case '^':
CHECK_CMDWIN
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
STRCPY(cbuf, "split #");
if (Prenum)
vim_snprintf((char *)cbuf + 7, sizeof(cbuf) - 7,
@@ -184,9 +178,7 @@ do_window(nchar, Prenum, xchar)
case Ctrl_N:
case 'n':
CHECK_CMDWIN
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
#ifdef FEAT_QUICKFIX
newwindow:
#endif
@@ -206,18 +198,14 @@ newwindow:
/* quit current window */
case Ctrl_Q:
case 'q':
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
do_cmdline_cmd((char_u *)"quit");
break;
/* close current window */
case Ctrl_C:
case 'c':
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
do_cmdline_cmd((char_u *)"close");
break;
@@ -226,9 +214,7 @@ newwindow:
case Ctrl_Z:
case 'z':
CHECK_CMDWIN
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
do_cmdline_cmd((char_u *)"pclose");
break;
@@ -248,9 +234,7 @@ newwindow:
case Ctrl_O:
case 'o':
CHECK_CMDWIN
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
do_cmdline_cmd((char_u *)"only");
break;
@@ -399,18 +383,14 @@ newwindow:
case Ctrl_R:
case 'r':
CHECK_CMDWIN
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
win_rotate(FALSE, (int)Prenum1); /* downwards */
break;
/* rotate windows upwards */
case 'R':
CHECK_CMDWIN
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
win_rotate(TRUE, (int)Prenum1); /* upwards */
break;
@@ -499,9 +479,7 @@ newwindow:
case ']':
case Ctrl_RSB:
CHECK_CMDWIN
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
if (Prenum)
postponed_split = Prenum;
else
@@ -612,9 +590,7 @@ wingotofile:
#endif
case ']':
case Ctrl_RSB:
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
if (Prenum)
postponed_split = Prenum;
else
@@ -3726,9 +3702,7 @@ leave_tabpage(new_curbuf, trigger_leave_autocmds)
{
tabpage_T *tp = curtab;
#ifdef FEAT_VISUAL
reset_VIsual_and_resel(); /* stop Visual mode */
#endif
#ifdef FEAT_AUTOCMD
if (trigger_leave_autocmds)
{
@@ -4029,12 +4003,10 @@ win_goto(wp)
return;
#endif
#ifdef FEAT_VISUAL
if (wp->w_buffer != curbuf)
reset_VIsual_and_resel();
else if (VIsual_active)
wp->w_cursor = curwin->w_cursor;
#endif
#ifdef FEAT_GUI
need_mouse_correct = TRUE;
@@ -6037,7 +6009,6 @@ grab_file_name(count, file_lnum)
long count;
linenr_T *file_lnum;
{
# ifdef FEAT_VISUAL
if (VIsual_active)
{
int len;
@@ -6048,7 +6019,6 @@ grab_file_name(count, file_lnum)
return find_file_name_in_path(ptr, len,
FNAME_MESS|FNAME_EXP|FNAME_REL, count, curbuf->b_ffname);
}
# endif
return file_name_at_cursor(FNAME_MESS|FNAME_HYP|FNAME_EXP|FNAME_REL, count,
file_lnum);