# HG changeset patch # User Bram Moolenaar # Date 1395583985 -3600 # Node ID 50dbef5e774af6a998d1798569566429c38378b1 # Parent 657ade71d3954f38f0e7c00d6e5763c4e09d08c9 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. diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -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; diff --git a/src/charset.c b/src/charset.c --- a/src/charset.c +++ b/src/charset.c @@ -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'. diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -220,9 +220,7 @@ static int ins_esc __ARGS((long *count, #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 /* 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 /* * key in Insert mode: toggle insert/replace mode. diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -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); diff --git a/src/ex_cmds.c b/src/ex_cmds.c --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3274,13 +3274,11 @@ do_ecmd(fnum, ffname, sfname, eap, newln 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) diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -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(); diff --git a/src/feature.h b/src/feature.h --- a/src/feature.h +++ b/src/feature.h @@ -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 diff --git a/src/fold.c b/src/fold.c --- a/src/fold.c +++ b/src/fold.c @@ -430,11 +430,9 @@ opFoldRange(first, last, opening, recurs } 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_vi 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 */ /* diff --git a/src/getchar.c b/src/getchar.c --- a/src/getchar.c +++ b/src/getchar.c @@ -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 diff --git a/src/globals.h b/src/globals.h --- a/src/globals.h +++ b/src/globals.h @@ -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 */ diff --git a/src/gui.c b/src/gui.c --- a/src/gui.c +++ b/src/gui.c @@ -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. diff --git a/src/gui_mac.c b/src/gui_mac.c --- a/src/gui_mac.c +++ b/src/gui_mac.c @@ -1068,11 +1068,7 @@ HandleODocAE(const AppleEvent *theAEvent } */ - -#ifdef FEAT_VISUAL reset_VIsual(); -#endif - fnames = new_fnames_from_AEDesc(&theList, &numFiles, &error); if (error) @@ -1142,7 +1138,7 @@ HandleODocAE(const AppleEvent *theAEvent /* 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 VIsual.col = 0; } } -#endif + setcursor(); out_flush(); diff --git a/src/gui_w48.c b/src/gui_w48.c --- a/src/gui_w48.c +++ b/src/gui_w48.c @@ -3708,9 +3708,7 @@ gui_mch_browse( DragQueryPoint(hDrop, &pt); MapWindowPoints(s_hwnd, s_textArea, &pt, 1); -# ifdef FEAT_VISUAL reset_VIsual(); -# endif fnames = (char_u **)alloc(cFiles * sizeof(char_u *)); diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -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(); diff --git a/src/mark.c b/src/mark.c --- a/src/mark.c +++ b/src/mark.c @@ -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, fnu 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, fnu 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, fnu #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 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 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_amoun 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)); diff --git a/src/menu.c b/src/menu.c --- a/src/menu.c +++ b/src/menu.c @@ -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) diff --git a/src/misc2.c b/src/misc2.c --- a/src/misc2.c +++ b/src/misc2.c @@ -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, wc 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 diff --git a/src/move.c b/src/move.c --- a/src/move.c +++ b/src/move.c @@ -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; } diff --git a/src/netbeans.c b/src/netbeans.c --- a/src/netbeans.c +++ b/src/netbeans.c @@ -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 diff --git a/src/normal.c b/src/normal.c --- a/src/normal.c +++ b/src/normal.c @@ -14,7 +14,6 @@ #include "vim.h" -#ifdef FEAT_VISUAL /* * The Visual area is remembered for reselection. */ @@ -24,7 +23,6 @@ static colnr_T resel_VIsual_vcol; /* nr static int VIsual_mode_orig = NUL; /* saved Visual mode */ static int restart_VIsual_select = 0; -#endif #ifdef FEAT_EVAL static void set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount)); @@ -37,7 +35,7 @@ static int static int find_command __ARGS((int cmdchar)); static void op_colon __ARGS((oparg_T *oap)); static void op_function __ARGS((oparg_T *oap)); -#if defined(FEAT_MOUSE) && defined(FEAT_VISUAL) +#if defined(FEAT_MOUSE) static void find_start_of_word __ARGS((pos_T *)); static void find_end_of_word __ARGS((pos_T *)); static int get_mouse_class __ARGS((char_u *p)); @@ -48,9 +46,7 @@ static int checkclearop __ARGS((oparg_T static int checkclearopq __ARGS((oparg_T *oap)); static void clearop __ARGS((oparg_T *oap)); static void clearopbeep __ARGS((oparg_T *oap)); -#ifdef FEAT_VISUAL static void unshift_special __ARGS((cmdarg_T *cap)); -#endif #ifdef FEAT_CMDL_INFO static void del_from_showcmd __ARGS((int)); #endif @@ -117,25 +113,19 @@ static void nv_Replace __ARGS((cmdarg_T #ifdef FEAT_VREPLACE static void nv_vreplace __ARGS((cmdarg_T *cap)); #endif -#ifdef FEAT_VISUAL static void v_swap_corners __ARGS((int cmdchar)); -#endif static void nv_replace __ARGS((cmdarg_T *cap)); static void n_swapchar __ARGS((cmdarg_T *cap)); static void nv_cursormark __ARGS((cmdarg_T *cap, int flag, pos_T *pos)); -#ifdef FEAT_VISUAL static void v_visop __ARGS((cmdarg_T *cap)); -#endif static void nv_subst __ARGS((cmdarg_T *cap)); static void nv_abbrev __ARGS((cmdarg_T *cap)); static void nv_optrans __ARGS((cmdarg_T *cap)); static void nv_gomark __ARGS((cmdarg_T *cap)); static void nv_pcmark __ARGS((cmdarg_T *cap)); static void nv_regname __ARGS((cmdarg_T *cap)); -#ifdef FEAT_VISUAL static void nv_visual __ARGS((cmdarg_T *cap)); static void n_start_visual_mode __ARGS((int c)); -#endif static void nv_window __ARGS((cmdarg_T *cap)); static void nv_suspend __ARGS((cmdarg_T *cap)); static void nv_g_cmd __ARGS((cmdarg_T *cap)); @@ -155,11 +145,9 @@ static void nv_bck_word __ARGS((cmdarg_T static void nv_wordcmd __ARGS((cmdarg_T *cap)); static void nv_beginline __ARGS((cmdarg_T *cap)); static void adjust_cursor __ARGS((oparg_T *oap)); -#ifdef FEAT_VISUAL static void adjust_for_sel __ARGS((cmdarg_T *cap)); static int unadjust_for_sel __ARGS((void)); static void nv_select __ARGS((cmdarg_T *cap)); -#endif static void nv_goto __ARGS((cmdarg_T *cap)); static void nv_normal __ARGS((cmdarg_T *cap)); static void nv_esc __ARGS((cmdarg_T *oap)); @@ -248,24 +236,14 @@ static const struct nv_cmd {Ctrl_N, nv_down, NV_STS, FALSE}, {Ctrl_O, nv_ctrlo, 0, 0}, {Ctrl_P, nv_up, NV_STS, FALSE}, -#ifdef FEAT_VISUAL {Ctrl_Q, nv_visual, 0, FALSE}, -#else - {Ctrl_Q, nv_ignore, 0, 0}, -#endif {Ctrl_R, nv_redo, 0, 0}, {Ctrl_S, nv_ignore, 0, 0}, {Ctrl_T, nv_tagpop, NV_NCW, 0}, {Ctrl_U, nv_halfpage, 0, 0}, -#ifdef FEAT_VISUAL {Ctrl_V, nv_visual, 0, FALSE}, {'V', nv_visual, 0, FALSE}, {'v', nv_visual, 0, FALSE}, -#else - {Ctrl_V, nv_error, 0, 0}, - {'V', nv_error, 0, 0}, - {'v', nv_error, 0, 0}, -#endif {Ctrl_W, nv_window, 0, 0}, {Ctrl_X, nv_addsub, 0, 0}, {Ctrl_Y, nv_scroll_line, 0, FALSE}, @@ -427,9 +405,7 @@ static const struct nv_cmd {K_HELP, nv_help, NV_NCW, 0}, {K_F1, nv_help, NV_NCW, 0}, {K_XF1, nv_help, NV_NCW, 0}, -#ifdef FEAT_VISUAL {K_SELECT, nv_select, 0, 0}, -#endif #ifdef FEAT_GUI {K_VER_SCROLLBAR, nv_ver_scrollbar, 0, 0}, {K_HOR_SCROLLBAR, nv_hor_scrollbar, 0, 0}, @@ -579,11 +555,9 @@ normal_cmd(oap, toplevel) #ifdef FEAT_CMDL_INFO int need_flushbuf; /* need to call out_flush() */ #endif -#ifdef FEAT_VISUAL pos_T old_pos; /* cursor position before command */ int mapped_len; static int old_mapped_len = 0; -#endif int idx; #ifdef FEAT_EVAL int set_prevcount = FALSE; @@ -643,9 +617,7 @@ normal_cmd(oap, toplevel) } #endif -#ifdef FEAT_VISUAL mapped_len = typebuf_maplen(); -#endif State = NORMAL_BUSY; #ifdef USE_ON_FLY_SCROLL @@ -666,7 +638,6 @@ normal_cmd(oap, toplevel) c = safe_vgetc(); LANGMAP_ADJUST(c, TRUE); -#ifdef FEAT_VISUAL /* * If a mapping was started in Visual or Select mode, remember the length * of the mapping. This is used below to not return to Insert mode for as @@ -677,12 +648,10 @@ normal_cmd(oap, toplevel) else if (old_mapped_len || (VIsual_active && mapped_len == 0 && typebuf_maplen() > 0)) old_mapped_len = typebuf_maplen(); -#endif if (c == NUL) c = K_ZERO; -#ifdef FEAT_VISUAL /* * In Select mode, typed text replaces the selection. */ @@ -703,16 +672,13 @@ normal_cmd(oap, toplevel) msg_nowait = TRUE; /* don't delay going to insert mode */ old_mapped_len = 0; /* do go to Insert mode */ } -#endif #ifdef FEAT_CMDL_INFO need_flushbuf = add_to_showcmd(c); #endif getcount: -#ifdef FEAT_VISUAL if (!(VIsual_active && VIsual_select)) -#endif { /* * Handle a count before a command and compute ca.count0. @@ -856,7 +822,6 @@ getcount: goto normal_end; #endif -#ifdef FEAT_VISUAL /* * In Visual/Select mode, a few keys are handled in a special way. */ @@ -892,7 +857,6 @@ getcount: } } } -#endif #ifdef FEAT_RIGHTLEFT if (curwin->w_p_rl && KeyTyped && !KeyStuffed @@ -930,11 +894,7 @@ getcount: && !Recording && !Exec_reg) || ((ca.cmdchar == 'a' || ca.cmdchar == 'i') - && (oap->op_type != OP_NOP -#ifdef FEAT_VISUAL - || VIsual_active -#endif - )))) + && (oap->op_type != OP_NOP || VIsual_active)))) { int *cp; int repl = FALSE; /* get character for replace mode */ @@ -1168,7 +1128,6 @@ getcount: msg_col = 0; } -#ifdef FEAT_VISUAL old_pos = curwin->w_cursor; /* remember where cursor was */ /* When 'keymodel' contains "startsel" some keys start Select/Visual @@ -1188,7 +1147,6 @@ getcount: mod_mask &= ~MOD_MASK_SHIFT; } } -#endif /* * Execute the command! @@ -1220,12 +1178,10 @@ getcount: #endif } -#ifdef FEAT_VISUAL /* Get the length of mapped chars again after typing a count, second * character or "z333". */ if (old_mapped_len > 0) old_mapped_len = typebuf_maplen(); -#endif /* * If an operation is pending, handle it... @@ -1247,11 +1203,9 @@ getcount: if ( ((p_smd && msg_silent == 0 && (restart_edit != 0 -#ifdef FEAT_VISUAL || (VIsual_active && old_pos.lnum == curwin->w_cursor.lnum && old_pos.col == curwin->w_cursor.col) -#endif ) && (clear_cmdline || redraw_cmdline) @@ -1259,9 +1213,7 @@ getcount: && !msg_nowait && KeyTyped) || (restart_edit != 0 -#ifdef FEAT_VISUAL && !VIsual_active -#endif && (msg_scroll || emsg_on_display))) && oap->regname == 0 @@ -1368,36 +1320,24 @@ normal_end: * May switch from Visual to Select mode after CTRL-O command. */ if ( oap->op_type == OP_NOP -#ifdef FEAT_VISUAL && ((restart_edit != 0 && !VIsual_active && old_mapped_len == 0) || restart_VIsual_select == 1) -#else - && restart_edit != 0 -#endif && !(ca.retval & CA_COMMAND_BUSY) && stuff_empty() && oap->regname == 0) { -#ifdef FEAT_VISUAL if (restart_VIsual_select == 1) { VIsual_select = TRUE; showmode(); restart_VIsual_select = 0; } -#endif - if (restart_edit != 0 -#ifdef FEAT_VISUAL - && !VIsual_active && old_mapped_len == 0 -#endif - ) + if (restart_edit != 0 && !VIsual_active && old_mapped_len == 0) (void)edit(restart_edit, FALSE, 1L); } -#ifdef FEAT_VISUAL if (restart_VIsual_select == 2) restart_VIsual_select = 1; -#endif /* Save count before an operator for next time. */ opcount = ca.opcount; @@ -1437,15 +1377,13 @@ do_pending_operator(cap, old_col, gui_ya int empty_region_error; int restart_edit_save; -#ifdef FEAT_VISUAL /* The visual area is remembered for redo */ static int redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */ static linenr_T redo_VIsual_line_count; /* number of lines */ static colnr_T redo_VIsual_vcol; /* number of cols or end column */ static long redo_VIsual_count; /* count for Visual operator */ -# ifdef FEAT_VIRTUALEDIT +#ifdef FEAT_VIRTUALEDIT int include_line_break = FALSE; -# endif #endif #if defined(FEAT_CLIPBOARD) @@ -1459,10 +1397,8 @@ do_pending_operator(cap, old_col, gui_ya if ((clip_star.available || clip_plus.available) && oap->op_type != OP_NOP && !gui_yank -# ifdef FEAT_VISUAL && VIsual_active && !redo_VIsual_busy -# endif && oap->regname == 0) clip_auto_select(); #endif @@ -1471,13 +1407,8 @@ do_pending_operator(cap, old_col, gui_ya /* * If an operation is pending, handle it... */ - if ((finish_op -#ifdef FEAT_VISUAL - || VIsual_active -#endif - ) && oap->op_type != OP_NOP) - { -#ifdef FEAT_VISUAL + if ((finish_op || VIsual_active) && oap->op_type != OP_NOP) + { oap->is_VIsual = VIsual_active; if (oap->motion_force == 'V') oap->motion_type = MLINE; @@ -1501,17 +1432,14 @@ do_pending_operator(cap, old_col, gui_ya VIsual_select = FALSE; VIsual_reselect = FALSE; } -#endif /* Only redo yank when 'y' flag is in 'cpoptions'. */ /* Never redo "zf" (define fold). */ if ((vim_strchr(p_cpo, CPO_YANK) != NULL || oap->op_type != OP_YANK) -#ifdef FEAT_VISUAL && ((!VIsual_active || oap->motion_force) /* Also redo Operator-pending Visual mode mappings */ || (VIsual_active && cap->cmdchar == ':' && oap->op_type != OP_COLON)) -#endif && cap->cmdchar != 'D' #ifdef FEAT_FOLDING && oap->op_type != OP_FOLD @@ -1554,7 +1482,6 @@ do_pending_operator(cap, old_col, gui_ya } } -#ifdef FEAT_VISUAL if (redo_VIsual_busy) { /* Redo of an operation on a Visual area. Use the same size from @@ -1639,7 +1566,6 @@ do_pending_operator(cap, old_col, gui_ya if (VIsual_mode == 'V') oap->start.col = 0; } -#endif /* FEAT_VISUAL */ /* * Set oap->start to the first position of the operated text, oap->end @@ -1690,7 +1616,6 @@ do_pending_operator(cap, old_col, gui_ya virtual_op = virtual_active(); #endif -#ifdef FEAT_VISUAL if (VIsual_active || redo_VIsual_busy) { if (VIsual_mode == Ctrl_V) /* block mode */ @@ -1826,9 +1751,9 @@ do_pending_operator(cap, old_col, gui_ya { oap->motion_type = MCHAR; if (VIsual_mode != Ctrl_V && *ml_get_pos(&(oap->end)) == NUL -# ifdef FEAT_VIRTUALEDIT +#ifdef FEAT_VIRTUALEDIT && (include_line_break || !virtual_op) -# endif +#endif ) { oap->inclusive = FALSE; @@ -1840,9 +1765,9 @@ do_pending_operator(cap, old_col, gui_ya { ++oap->end.lnum; oap->end.col = 0; -# ifdef FEAT_VIRTUALEDIT +#ifdef FEAT_VIRTUALEDIT oap->end.coladd = 0; -# endif +#endif ++oap->line_count; } else @@ -1868,10 +1793,10 @@ do_pending_operator(cap, old_col, gui_ya if (!gui_yank) { VIsual_active = FALSE; -# ifdef FEAT_MOUSE +#ifdef FEAT_MOUSE setmouse(); mouse_dragging = 0; -# endif +#endif if (mode_displayed) clear_cmdline = TRUE; /* unshow visual mode later */ #ifdef FEAT_CMDL_INFO @@ -1886,7 +1811,6 @@ do_pending_operator(cap, old_col, gui_ya redraw_curbuf_later(INVERTED); } } -#endif #ifdef FEAT_MBYTE /* Include the trailing byte of a multi-byte char. */ @@ -1921,16 +1845,14 @@ do_pending_operator(cap, old_col, gui_ya empty_region_error = (oap->empty && vim_strchr(p_cpo, CPO_EMPTYREGION) != NULL); -#ifdef FEAT_VISUAL /* Force a redraw when operating on an empty Visual region, when * 'modifiable is off or creating a fold. */ if (oap->is_VIsual && (oap->empty || !curbuf->b_p_ma -# ifdef FEAT_FOLDING +#ifdef FEAT_FOLDING || oap->op_type == OP_FOLD -# endif +#endif )) redraw_curbuf_later(INVERTED); -#endif /* * If the end of an operator is in column one while oap->motion_type @@ -1943,10 +1865,8 @@ do_pending_operator(cap, old_col, gui_ya && oap->inclusive == FALSE && !(cap->retval & CA_NO_ADJ_OP_END) && oap->end.col == 0 -#ifdef FEAT_VISUAL && (!oap->is_VIsual || *p_sel == 'o') && !oap->block_mode -#endif && oap->line_count > 1) { oap->end_adjusted = TRUE; /* remember that we did this */ @@ -1971,11 +1891,7 @@ do_pending_operator(cap, old_col, gui_ya { case OP_LSHIFT: case OP_RSHIFT: - op_shift(oap, TRUE, -#ifdef FEAT_VISUAL - oap->is_VIsual ? (int)cap->count1 : -#endif - 1); + op_shift(oap, TRUE, oap->is_VIsual ? (int)cap->count1 : 1); auto_format(FALSE, TRUE); break; @@ -1988,15 +1904,14 @@ do_pending_operator(cap, old_col, gui_ya beep_flush(); else { - (void)do_join(oap->line_count, oap->op_type == OP_JOIN, TRUE, TRUE); + (void)do_join(oap->line_count, oap->op_type == OP_JOIN, + TRUE, TRUE); auto_format(FALSE, TRUE); } break; case OP_DELETE: -#ifdef FEAT_VISUAL VIsual_reselect = FALSE; /* don't reselect now */ -#endif if (empty_region_error) { vim_beep(); @@ -2026,9 +1941,7 @@ do_pending_operator(cap, old_col, gui_ya break; case OP_CHANGE: -#ifdef FEAT_VISUAL VIsual_reselect = FALSE; /* don't reselect now */ -#endif if (empty_region_error) { vim_beep(); @@ -2126,9 +2039,7 @@ do_pending_operator(cap, old_col, gui_ya case OP_INSERT: case OP_APPEND: -#ifdef FEAT_VISUAL VIsual_reselect = FALSE; /* don't reselect now */ -#endif #ifdef FEAT_VISUALEXTRA if (empty_region_error) { @@ -2158,9 +2069,7 @@ do_pending_operator(cap, old_col, gui_ya break; case OP_REPLACE: -#ifdef FEAT_VISUAL VIsual_reselect = FALSE; /* don't reselect now */ -#endif #ifdef FEAT_VISUALEXTRA if (empty_region_error) #endif @@ -2220,9 +2129,7 @@ do_pending_operator(cap, old_col, gui_ya { curwin->w_cursor = old_cursor; } -#ifdef FEAT_VISUAL oap->block_mode = FALSE; -#endif clearop(oap); } } @@ -2235,11 +2142,9 @@ op_colon(oap) oparg_T *oap; { stuffcharReadbuff(':'); -#ifdef FEAT_VISUAL if (oap->is_VIsual) stuffReadbuff((char_u *)"'<,'>"); else -#endif { /* * Make the range look nice, so it can be repeated. @@ -2404,14 +2309,12 @@ do_mouse(oap, c, dir, count, fixindent) pos_T save_cursor; #endif win_T *old_curwin = curwin; -#ifdef FEAT_VISUAL static pos_T orig_cursor; colnr_T leftcol, rightcol; pos_T end_visual; int diff; int old_active = VIsual_active; int old_mode = VIsual_mode; -#endif int regname; #if defined(FEAT_FOLDING) @@ -2432,15 +2335,12 @@ do_mouse(oap, c, dir, count, fixindent) if (!gui.in_use) #endif { -#ifdef FEAT_VISUAL if (VIsual_active) { if (!mouse_has(MOUSE_VISUAL)) return FALSE; } - else -#endif - if (State == NORMAL && !mouse_has(MOUSE_NORMAL)) + else if (State == NORMAL && !mouse_has(MOUSE_NORMAL)) return FALSE; } @@ -2509,14 +2409,6 @@ do_mouse(oap, c, dir, count, fixindent) } } -#ifndef FEAT_VISUAL - /* - * ALT is only used for starting/extending Visual mode. - */ - if ((mod_mask & MOD_MASK_ALT)) - return FALSE; -#endif - /* * CTRL right mouse button does CTRL-T */ @@ -2586,7 +2478,6 @@ do_mouse(oap, c, dir, count, fixindent) return FALSE; } -#ifdef FEAT_VISUAL /* * If visual was active, yank the highlighted text and put it * before the mouse pointer position. @@ -2607,7 +2498,6 @@ do_mouse(oap, c, dir, count, fixindent) do_always = TRUE; /* ignore 'mouse' setting next time */ return FALSE; } -#endif /* * The rest is below jump_to_mouse() */ @@ -2761,7 +2651,6 @@ do_mouse(oap, c, dir, count, fixindent) { /* First set the cursor position before showing the popup * menu. */ -#ifdef FEAT_VISUAL if (VIsual_active) { pos_T m_pos; @@ -2800,16 +2689,11 @@ do_mouse(oap, c, dir, count, fixindent) } else jump_flags = MOUSE_MAY_STOP_VIS; -#endif } if (jump_flags) { jump_flags = jump_to_mouse(jump_flags, NULL, which_button); - update_curbuf( -#ifdef FEAT_VISUAL - VIsual_active ? INVERTED : -#endif - VALID); + update_curbuf(VIsual_active ? INVERTED : VALID); setcursor(); out_flush(); /* Update before showing popup menu */ } @@ -2832,7 +2716,6 @@ do_mouse(oap, c, dir, count, fixindent) } } -#ifdef FEAT_VISUAL if ((State & (NORMAL | INSERT)) && !(mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))) { @@ -2872,7 +2755,6 @@ do_mouse(oap, c, dir, count, fixindent) jump_flags |= MOUSE_MAY_VIS; } } -#endif /* * If an operator is pending, ignore all drags and releases until the @@ -2941,7 +2823,6 @@ do_mouse(oap, c, dir, count, fixindent) } #endif -#ifdef FEAT_VISUAL /* Set global flag that we are extending the Visual area with mouse * dragging; temporarily minimize 'scrolloff'. */ if (VIsual_active && is_drag && p_so) @@ -3040,7 +2921,6 @@ do_mouse(oap, c, dir, count, fixindent) */ else if ((State & INSERT) && VIsual_active) stuffcharReadbuff(Ctrl_O); -#endif /* * Middle mouse click: Put text before cursor. @@ -3118,11 +2998,7 @@ do_mouse(oap, c, dir, count, fixindent) */ else if ((mod_mask & MOD_MASK_SHIFT)) { - if (State & INSERT -#ifdef FEAT_VISUAL - || (VIsual_active && VIsual_select) -#endif - ) + if ((State & INSERT) || (VIsual_active && VIsual_select)) stuffcharReadbuff(Ctrl_O); if (which_button == MOUSE_LEFT) stuffcharReadbuff('*'); @@ -3153,7 +3029,6 @@ do_mouse(oap, c, dir, count, fixindent) # endif } #endif -#ifdef FEAT_VISUAL else if ((mod_mask & MOD_MASK_MULTI_CLICK) && (State & (NORMAL | INSERT)) && mouse_has(MOUSE_VISUAL)) { @@ -3267,12 +3142,10 @@ do_mouse(oap, c, dir, count, fixindent) || (VIsual_active && p_smd && msg_silent == 0 && (!old_active || VIsual_mode != old_mode))) redraw_cmdline = TRUE; -#endif return moved; } -#ifdef FEAT_VISUAL /* * Move "pos" back to the start of the word it's in. */ @@ -3372,10 +3245,8 @@ get_mouse_class(p) return 1; return c; } -#endif /* FEAT_VISUAL */ #endif /* FEAT_MOUSE */ -#if defined(FEAT_VISUAL) || defined(PROTO) /* * Check if highlighting for visual mode is possible, give a warning message * if not. @@ -3468,7 +3339,6 @@ reset_VIsual() VIsual_reselect = FALSE; } } -#endif /* FEAT_VISUAL */ #if defined(FEAT_BEVAL) static int find_is_eval_item __ARGS((char_u *ptr, int *colp, int *nbp, int dir)); @@ -3802,11 +3672,7 @@ checkclearop(oap) checkclearopq(oap) oparg_T *oap; { - if (oap->op_type == OP_NOP -#ifdef FEAT_VISUAL - && !VIsual_active -#endif - ) + if (oap->op_type == OP_NOP && !VIsual_active) return FALSE; clearopbeep(oap); return TRUE; @@ -3830,7 +3696,6 @@ clearopbeep(oap) beep_flush(); } -#ifdef FEAT_VISUAL /* * Remove the shift modifier from a special key. */ @@ -3849,18 +3714,13 @@ unshift_special(cap) } cap->cmdchar = simplify_key(cap->cmdchar, &mod_mask); } -#endif #if defined(FEAT_CMDL_INFO) || defined(PROTO) /* * Routines for displaying a partly typed command */ -#ifdef FEAT_VISUAL /* need room for size of Visual area */ -# define SHOWCMD_BUFLEN SHOWCMD_COLS + 1 + 30 -#else -# define SHOWCMD_BUFLEN SHOWCMD_COLS + 1 -#endif +#define SHOWCMD_BUFLEN SHOWCMD_COLS + 1 + 30 static char_u showcmd_buf[SHOWCMD_BUFLEN]; static char_u old_showcmd_buf[SHOWCMD_BUFLEN]; /* For push_showcmd() */ static int showcmd_is_clear = TRUE; @@ -3874,7 +3734,6 @@ clear_showcmd() if (!p_sc) return; -#ifdef FEAT_VISUAL if (VIsual_active && !char_avail()) { int cursor_bot = lt(VIsual, curwin->w_cursor); @@ -3960,7 +3819,6 @@ clear_showcmd() showcmd_visual = TRUE; } else -#endif { showcmd_buf[0] = NUL; showcmd_visual = FALSE; @@ -4203,10 +4061,8 @@ check_scrollbind(topline_diff, leftcol_d int want_hor; win_T *old_curwin = curwin; buf_T *old_curbuf = curbuf; -#ifdef FEAT_VISUAL int old_VIsual_select = VIsual_select; int old_VIsual_active = VIsual_active; -#endif colnr_T tgt_leftcol = curwin->w_leftcol; long topline; long y; @@ -4223,9 +4079,7 @@ check_scrollbind(topline_diff, leftcol_d /* * loop through the scrollbound windows and scroll accordingly */ -#ifdef FEAT_VISUAL VIsual_select = VIsual_active = 0; -#endif for (curwin = firstwin; curwin; curwin = curwin->w_next) { curbuf = curwin->w_buffer; @@ -4280,10 +4134,8 @@ check_scrollbind(topline_diff, leftcol_d /* * reset current-window */ -#ifdef FEAT_VISUAL VIsual_select = old_VIsual_select; VIsual_active = old_VIsual_active; -#endif curwin = old_curwin; curbuf = old_curbuf; } @@ -5239,11 +5091,9 @@ dozet: if (checkclearop(cap->oap)) break; -# ifdef FEAT_VISUAL if (VIsual_active && get_visual_text(cap, &ptr, &len) == FAIL) return; -# endif if (ptr == NULL) { pos_T pos = curwin->w_cursor; @@ -5411,12 +5261,9 @@ nv_exmode(cap) /* * Ignore 'Q' in Visual mode, just give a beep. */ -#ifdef FEAT_VISUAL if (VIsual_active) vim_beep(); - else -#endif - if (!checkclearop(cap->oap)) + else if (!checkclearop(cap->oap)) do_exmode(FALSE); } @@ -5430,11 +5277,9 @@ nv_colon(cap) int old_p_im; int cmd_result; -#ifdef FEAT_VISUAL if (VIsual_active) nv_operator(cap); else -#endif { if (cap->oap->op_type != OP_NOP) { @@ -5494,15 +5339,12 @@ nv_colon(cap) nv_ctrlg(cap) cmdarg_T *cap; { -#ifdef FEAT_VISUAL if (VIsual_active) /* toggle Selection/Visual mode */ { VIsual_select = !VIsual_select; showmode(); } - else -#endif - if (!checkclearop(cap->oap)) + else if (!checkclearop(cap->oap)) /* print full name if count given or :cd used */ fileinfo((int)cap->count0, FALSE, TRUE); } @@ -5514,14 +5356,12 @@ nv_ctrlg(cap) nv_ctrlh(cap) cmdarg_T *cap; { -#ifdef FEAT_VISUAL if (VIsual_active && VIsual_select) { cap->cmdchar = 'x'; /* BS key behaves like 'x' in Select mode */ v_visop(cap); } else -#endif nv_left(cap); } @@ -5558,7 +5398,6 @@ nv_clear(cap) nv_ctrlo(cap) cmdarg_T *cap; { -#ifdef FEAT_VISUAL if (VIsual_active && VIsual_select) { VIsual_select = FALSE; @@ -5566,7 +5405,6 @@ nv_ctrlo(cap) restart_VIsual_select = 2; /* restart Select mode later */ } else -#endif { cap->count1 = -cap->count1; nv_pcmark(cap); @@ -5675,10 +5513,8 @@ nv_ident(cap) */ if (cmdchar == ']' || cmdchar == Ctrl_RSB || cmdchar == 'K') { -#ifdef FEAT_VISUAL if (VIsual_active && get_visual_text(cap, &ptr, &n) == FAIL) return; -#endif if (checkclearopq(cap->oap)) return; } @@ -5872,7 +5708,6 @@ nv_ident(cap) vim_free(buf); } -#if defined(FEAT_VISUAL) || defined(PROTO) /* * Get visually selected text, within one line only. * Returns FAIL if more than one line selected. @@ -5917,7 +5752,6 @@ get_visual_text(cap, pp, lenp) reset_VIsual_and_resel(); return OK; } -#endif /* * CTRL-T: backwards in tag stack @@ -6040,11 +5874,7 @@ nv_right(cap) cmdarg_T *cap; { long n; -#ifdef FEAT_VISUAL - int PAST_LINE; -#else -# define PAST_LINE 0 -#endif + int past_line; if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL)) { @@ -6057,25 +5887,21 @@ nv_right(cap) cap->oap->motion_type = MCHAR; cap->oap->inclusive = FALSE; -#ifdef FEAT_VISUAL - PAST_LINE = (VIsual_active && *p_sel != 'o'); - -# ifdef FEAT_VIRTUALEDIT + past_line = (VIsual_active && *p_sel != 'o'); + +#ifdef FEAT_VIRTUALEDIT /* - * In virtual mode, there's no such thing as "PAST_LINE", as lines are - * (theoretically) infinitely long. + * In virtual edit mode, there's no such thing as "past_line", as lines + * are (theoretically) infinitely long. */ if (virtual_active()) - PAST_LINE = 0; -# endif + past_line = 0; #endif for (n = cap->count1; n > 0; --n) { - if ((!PAST_LINE && oneright() == FAIL) -#ifdef FEAT_VISUAL - || (PAST_LINE && *ml_get_cursor() == NUL) -#endif + if ((!past_line && oneright() == FAIL) + || (past_line && *ml_get_cursor() == NUL) ) { /* @@ -6123,26 +5949,24 @@ nv_right(cap) } break; } -#ifdef FEAT_VISUAL - else if (PAST_LINE) + else if (past_line) { curwin->w_set_curswant = TRUE; -# ifdef FEAT_VIRTUALEDIT +#ifdef FEAT_VIRTUALEDIT if (virtual_active()) oneright(); else -# endif - { -# ifdef FEAT_MBYTE +#endif + { +#ifdef FEAT_MBYTE if (has_mbyte) curwin->w_cursor.col += (*mb_ptr2len)(ml_get_cursor()); else -# endif +#endif ++curwin->w_cursor.col; } } -#endif } #ifdef FEAT_FOLDING if (n != cap->count1 && (fdo_flags & FDO_HOR) && KeyTyped @@ -6503,9 +6327,7 @@ nv_csearch(cap) else curwin->w_cursor.coladd = 0; #endif -#ifdef FEAT_VISUAL adjust_for_sel(cap); -#endif #ifdef FEAT_FOLDING if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP) foldOpenCursor(); @@ -6754,7 +6576,6 @@ nv_brackets(cap) int dir = (cap->cmdchar == ']' && cap->nchar == 'p') ? FORWARD : BACKWARD; int regname = cap->oap->regname; -#ifdef FEAT_VISUAL int was_visual = VIsual_active; int line_count = curbuf->b_ml.ml_line_count; pos_T start, end; @@ -6766,14 +6587,12 @@ nv_brackets(cap) end = equalpos(start,VIsual) ? curwin->w_cursor : VIsual; curwin->w_cursor = (dir == BACKWARD ? start : end); } -#endif # ifdef FEAT_CLIPBOARD adjust_clip_reg(®name); # endif prep_redo_cmd(cap); do_put(regname, dir, cap->count1, PUT_FIXINDENT); -#ifdef FEAT_VISUAL if (was_visual) { VIsual = start; @@ -6802,7 +6621,6 @@ nv_brackets(cap) redraw_later(SOME_VALID); } } -#endif } } @@ -6936,9 +6754,7 @@ nv_percent(cap) #ifdef FEAT_VIRTUALEDIT curwin->w_cursor.coladd = 0; #endif -#ifdef FEAT_VISUAL adjust_for_sel(cap); -#endif } } #ifdef FEAT_FOLDING @@ -7027,11 +6843,7 @@ nv_findpar(cap) nv_undo(cap) cmdarg_T *cap; { - if (cap->oap->op_type == OP_LOWER -#ifdef FEAT_VISUAL - || VIsual_active -#endif - ) + if (cap->oap->op_type == OP_LOWER || VIsual_active) { /* translate "u" to "gu" and "guu" to "gugu" */ cap->cmdchar = 'g'; @@ -7089,7 +6901,6 @@ nv_replace(cap) return; } -#ifdef FEAT_VISUAL /* Visual mode "r" */ if (VIsual_active) { @@ -7105,7 +6916,6 @@ nv_replace(cap) nv_operator(cap); return; } -#endif #ifdef FEAT_VIRTUALEDIT /* Break tabs, etc. */ @@ -7273,7 +7083,6 @@ nv_replace(cap) } } -#ifdef FEAT_VISUAL /* * 'o': Exchange start and end of Visual area. * 'O': same, but in block mode exchange left and right corners. @@ -7326,7 +7135,6 @@ v_swap_corners(cmdchar) curwin->w_set_curswant = TRUE; } } -#endif /* FEAT_VISUAL */ /* * "R" (cap->arg is FALSE) and "gR" (cap->arg is TRUE). @@ -7335,7 +7143,6 @@ v_swap_corners(cmdchar) nv_Replace(cap) cmdarg_T *cap; { -#ifdef FEAT_VISUAL if (VIsual_active) /* "R" is replace lines */ { cap->cmdchar = 'c'; @@ -7344,9 +7151,7 @@ nv_Replace(cap) VIsual_mode = 'V'; nv_operator(cap); } - else -#endif - if (!checkclearopq(cap->oap)) + else if (!checkclearopq(cap->oap)) { if (!curbuf->b_p_ma) EMSG(_(e_modifiable)); @@ -7369,16 +7174,13 @@ nv_Replace(cap) nv_vreplace(cap) cmdarg_T *cap; { -# ifdef FEAT_VISUAL if (VIsual_active) { cap->cmdchar = 'r'; cap->nchar = cap->extra_char; nv_replace(cap); /* Do same as "r" in Visual mode for now */ } - else -# endif - if (!checkclearopq(cap->oap)) + else if (!checkclearopq(cap->oap)) { if (!curbuf->b_p_ma) EMSG(_(e_modifiable)); @@ -7525,7 +7327,6 @@ nv_cursormark(cap, flag, pos) curwin->w_set_curswant = TRUE; } -#ifdef FEAT_VISUAL /* * Handle commands that are operators in Visual mode. */ @@ -7550,7 +7351,6 @@ v_visop(cap) cap->cmdchar = *(vim_strchr(trans, cap->cmdchar) + 1); nv_operator(cap); } -#endif /* * "s" and "S" commands. @@ -7559,7 +7359,6 @@ v_visop(cap) nv_subst(cap) cmdarg_T *cap; { -#ifdef FEAT_VISUAL if (VIsual_active) /* "vs" and "vS" are the same as "vc" */ { if (cap->cmdchar == 'S') @@ -7571,7 +7370,6 @@ nv_subst(cap) nv_operator(cap); } else -#endif nv_optrans(cap); } @@ -7585,12 +7383,10 @@ nv_abbrev(cap) if (cap->cmdchar == K_DEL || cap->cmdchar == K_KDEL) cap->cmdchar = 'x'; /* DEL key behaves like 'x' */ -#ifdef FEAT_VISUAL /* in Visual mode these commands are operators */ if (VIsual_active) v_visop(cap); else -#endif nv_optrans(cap); } @@ -7758,7 +7554,6 @@ nv_regname(cap) clearopbeep(cap->oap); } -#ifdef FEAT_VISUAL /* * Handle "v", "V" and "CTRL-V" commands. * Also for "gh", "gH" and "g^H" commands: Always start Select mode, cap->arg @@ -7950,7 +7745,6 @@ n_start_visual_mode(c) } } -#endif /* FEAT_VISUAL */ /* * CTRL-W: Window commands @@ -7975,10 +7769,8 @@ nv_suspend(cap) cmdarg_T *cap; { clearop(cap->oap); -#ifdef FEAT_VISUAL if (VIsual_active) end_visual_mode(); /* stop Visual mode */ -#endif do_cmdline_cmd((char_u *)"st"); } @@ -7990,9 +7782,7 @@ nv_g_cmd(cap) cmdarg_T *cap; { oparg_T *oap = cap->oap; -#ifdef FEAT_VISUAL pos_T tpos; -#endif int i; int flag = FALSE; @@ -8025,7 +7815,6 @@ nv_g_cmd(cap) do_cmdline_cmd((char_u *)"%s//~/&"); break; -#ifdef FEAT_VISUAL /* * "gv": Reselect the previous Visual area. If Visual already active, * exchange previous and current Visual area. @@ -8126,7 +7915,6 @@ nv_g_cmd(cap) cap->arg = TRUE; nv_visual(cap); break; -#endif /* FEAT_VISUAL */ /* "gn", "gN" visually select next/previous search match * "gn" selects next match @@ -8134,9 +7922,7 @@ nv_g_cmd(cap) */ case 'N': case 'n': -#ifdef FEAT_VISUAL if (!current_search(cap->count1, cap->nchar == 'n')) -#endif clearopbeep(oap); break; @@ -8258,9 +8044,7 @@ nv_g_cmd(cap) && vim_iswhite(ptr[curwin->w_cursor.col])) --curwin->w_cursor.col; curwin->w_set_curswant = TRUE; -#ifdef FEAT_VISUAL adjust_for_sel(cap); -#endif } break; @@ -8657,11 +8441,7 @@ nv_Undo(cap) cmdarg_T *cap; { /* In Visual mode and typing "gUU" triggers an operator */ - if (cap->oap->op_type == OP_UPPER -#ifdef FEAT_VISUAL - || VIsual_active -#endif - ) + if (cap->oap->op_type == OP_UPPER || VIsual_active) { /* translate "gUU" to "gUgU" */ cap->cmdchar = 'g'; @@ -8683,11 +8463,7 @@ nv_Undo(cap) nv_tilde(cap) cmdarg_T *cap; { - if (!p_to -#ifdef FEAT_VISUAL - && !VIsual_active -#endif - && cap->oap->op_type != OP_TILDE) + if (!p_to && !VIsual_active && cap->oap->op_type != OP_TILDE) n_swapchar(cap); else nv_operator(cap); @@ -8906,9 +8682,7 @@ nv_wordcmd(cap) clearopbeep(cap->oap); else { -#ifdef FEAT_VISUAL adjust_for_sel(cap); -#endif #ifdef FEAT_FOLDING if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP) foldOpenCursor(); @@ -8931,9 +8705,7 @@ adjust_cursor(oap) * - 'virtualedit' is not "all" and not "onemore". */ if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL -#ifdef FEAT_VISUAL && (!VIsual_active || *p_sel == 'o') -#endif #ifdef FEAT_VIRTUALEDIT && !virtual_active() && (ve_flags & VE_ONEMORE) == 0 #endif @@ -8968,7 +8740,6 @@ nv_beginline(cap) one-character line). */ } -#ifdef FEAT_VISUAL /* * In exclusive Visual mode, may include the last character. */ @@ -8979,11 +8750,11 @@ adjust_for_sel(cap) if (VIsual_active && cap->oap->inclusive && *p_sel == 'e' && gchar_cursor() != NUL && lt(VIsual, curwin->w_cursor)) { -# ifdef FEAT_MBYTE +#ifdef FEAT_MBYTE if (has_mbyte) inc_cursor(); else -# endif +#endif ++curwin->w_cursor.col; cap->oap->inclusive = FALSE; } @@ -9044,7 +8815,6 @@ nv_select(cap) } } -#endif /* * "G", "gg", CTRL-END, CTRL-HOME. @@ -9095,13 +8865,11 @@ nv_normal(cap) if (cmdwin_type != 0) cmdwin_result = Ctrl_C; #endif -#ifdef FEAT_VISUAL if (VIsual_active) { end_visual_mode(); /* stop Visual */ redraw_curbuf_later(INVERTED); } -#endif /* CTRL-\ CTRL-G restarts Insert mode when 'insertmode' is set. */ if (cap->nchar == Ctrl_G && p_im) restart_edit = 'a'; @@ -9132,9 +8900,7 @@ nv_esc(cap) #ifdef FEAT_CMDWIN && cmdwin_type == 0 #endif -#ifdef FEAT_VISUAL && !VIsual_active -#endif && no_reason) MSG(_("Type :quit to exit Vim")); @@ -9152,7 +8918,6 @@ nv_esc(cap) #endif } -#ifdef FEAT_VISUAL if (VIsual_active) { end_visual_mode(); /* stop Visual */ @@ -9160,10 +8925,8 @@ nv_esc(cap) curwin->w_set_curswant = TRUE; redraw_curbuf_later(INVERTED); } - else -#endif - if (no_reason) - vim_beep(); + else if (no_reason) + vim_beep(); clearop(cap->oap); /* A CTRL-C is often used at the start of a menu. When 'insertmode' is @@ -9187,20 +8950,13 @@ nv_edit(cap) if (cap->cmdchar == K_INS || cap->cmdchar == K_KINS) cap->cmdchar = 'i'; -#ifdef FEAT_VISUAL /* in Visual mode "A" and "I" are an operator */ if (VIsual_active && (cap->cmdchar == 'A' || cap->cmdchar == 'I')) v_visop(cap); /* in Visual mode and after an operator "a" and "i" are for text objects */ - else -#endif - if ((cap->cmdchar == 'a' || cap->cmdchar == 'i') - && (cap->oap->op_type != OP_NOP -#ifdef FEAT_VISUAL - || VIsual_active -#endif - )) + else if ((cap->cmdchar == 'a' || cap->cmdchar == 'i') + && (cap->oap->op_type != OP_NOP || VIsual_active)) { #ifdef FEAT_TEXTOBJ nv_object(cap); @@ -9467,12 +9223,9 @@ nv_halfpage(cap) nv_join(cap) cmdarg_T *cap; { -#ifdef FEAT_VISUAL if (VIsual_active) /* join the visual lines */ nv_operator(cap); - else -#endif - if (!checkclearop(cap->oap)) + else if (!checkclearop(cap->oap)) { if (cap->count0 <= 1) cap->count0 = 2; /* default for join is two lines! */ @@ -9495,12 +9248,10 @@ nv_join(cap) nv_put(cap) cmdarg_T *cap; { -#ifdef FEAT_VISUAL int regname = 0; void *reg1 = NULL, *reg2 = NULL; int empty = FALSE; int was_visual = FALSE; -#endif int dir; int flags = 0; @@ -9526,7 +9277,6 @@ nv_put(cap) if (cap->cmdchar == 'g') flags |= PUT_CURSEND; -#ifdef FEAT_VISUAL if (VIsual_active) { /* Putting in Visual mode: The put text replaces the selected @@ -9536,14 +9286,14 @@ nv_put(cap) */ was_visual = TRUE; regname = cap->oap->regname; -# ifdef FEAT_CLIPBOARD +#ifdef FEAT_CLIPBOARD adjust_clip_reg(®name); -# endif +#endif if (regname == 0 || regname == '"' || VIM_ISDIGIT(regname) || regname == '-' -# ifdef FEAT_CLIPBOARD +#ifdef FEAT_CLIPBOARD || (clip_unnamed && (regname == '*' || regname == '+')) -# endif +#endif ) { @@ -9591,10 +9341,8 @@ nv_put(cap) /* May have been reset in do_put(). */ VIsual_active = TRUE; } -#endif do_put(cap->oap->regname, dir, cap->count1, flags); -#ifdef FEAT_VISUAL /* If a register was saved, put it back now. */ if (reg2 != NULL) put_register(regname, reg2); @@ -9621,7 +9369,6 @@ nv_put(cap) coladvance((colnr_T)MAXCOL); } } -#endif auto_format(FALSE, TRUE); } } @@ -9642,11 +9389,9 @@ nv_open(cap) } else #endif -#ifdef FEAT_VISUAL if (VIsual_active) /* switch start and end of visual */ v_swap_corners(cap->cmdchar); else -#endif n_opencmd(cap); } diff --git a/src/ops.c b/src/ops.c --- a/src/ops.c +++ b/src/ops.c @@ -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, 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, b 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, b 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, b 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, b } 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(); diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -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[]) = {"tagfil 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 } #endif -#ifdef FEAT_VISUAL /* 'selection' */ else if (varp == &p_sel) { @@ -6593,7 +6576,6 @@ did_set_string_option(opt_idx, varp, new 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 } #endif -#ifdef FEAT_VISUAL /* 'keymodel' */ else if (varp == &p_km) { @@ -6617,7 +6598,6 @@ did_set_string_option(opt_idx, varp, new km_startsel = (vim_strchr(p_km, 'a') != NULL); } } -#endif /* 'mousemodel' */ else if (varp == &p_mousem) diff --git a/src/option.h b/src/option.h --- a/src/option.h +++ b/src/option.h @@ -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; diff --git a/src/os_msdos.c b/src/os_msdos.c --- a/src/os_msdos.c +++ b/src/os_msdos.c @@ -2270,9 +2270,7 @@ clip_mch_request_selection(VimClipboard 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( diff --git a/src/os_qnx.c b/src/os_qnx.c --- a/src/os_qnx.c +++ b/src/os_qnx.c @@ -78,9 +78,7 @@ clip_mch_request_selection(VimClipboard 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); diff --git a/src/os_win32.h b/src/os_win32.h --- a/src/os_win32.h +++ b/src/os_win32.h @@ -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__) diff --git a/src/quickfix.c b/src/quickfix.c --- a/src/quickfix.c +++ b/src/quickfix.c @@ -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 diff --git a/src/regexp.c b/src/regexp.c --- a/src/regexp.c +++ b/src/regexp.c @@ -4179,9 +4179,8 @@ reg_prev_class() - (*mb_head_off)(regline, reginput - 1), reg_buf); return -1; } - -#endif -#ifdef FEAT_VISUAL +#endif + 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; diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -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: diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -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 * 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 } } } -#endif #ifdef FEAT_SYN_HL /* Show 'cursorcolumn' in the fold line. */ @@ -2876,10 +2863,8 @@ win_line(wp, lnum, startrow, endrow, noc 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, noc */ 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, noc /* * 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, noc 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, noc * 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, noc && ((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, noc #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 */ diff --git a/src/search.c b/src/search.c --- a/src/search.c +++ b/src/search.c @@ -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, bigwor 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, bigwor * 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, bigwor include_white = TRUE; } -#ifdef FEAT_VISUAL if (VIsual_active) { /* should do something when inclusive == FALSE ! */ @@ -3253,7 +3250,6 @@ current_word(oap, count, include, bigwor 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, bigwor 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, bigwor } } else -#endif { /* * Move cursor forward one word and/or white area. @@ -3334,18 +3328,15 @@ current_word(oap, count, include, bigwor 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, bigwor } } 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, /* * 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, /* 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, } else old_end = VIsual; -#endif /* * Search backwards for unclosed '(', '{', etc.. @@ -3641,7 +3623,6 @@ current_block(oap, count, include, what, 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, 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, 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 "" 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, quote 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, quote } } 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, quote 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, quote /* 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, quote } } else -#endif { oap->start = curwin->w_cursor; oap->motion_type = MCHAR; @@ -4441,14 +4394,10 @@ current_quote(oap, count, include, quote /* 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, quote } } else -#endif { /* Set inclusive and other oap's flags. */ oap->inclusive = inclusive; @@ -4491,7 +4439,6 @@ current_quote(oap, count, include, quote #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) diff --git a/src/spell.c b/src/spell.c --- a/src/spell.c +++ b/src/spell.c @@ -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 diff --git a/src/structs.h b/src/structs.h --- a/src/structs.h +++ b/src/structs.h @@ -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 diff --git a/src/syntax.c b/src/syntax.c --- a/src/syntax.c +++ b/src/syntax.c @@ -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"), diff --git a/src/term.c b/src/term.c --- a/src/term.c +++ b/src/term.c @@ -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; diff --git a/src/ui.c b/src/ui.c --- a/src/ui.c +++ b/src/ui.c @@ -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 +# endif col >= wp->w_p_fdc -# ifdef FEAT_CMDWIN +# ifdef FEAT_CMDWIN + (cmdwin_type == 0 && wp == curwin ? 0 : 1) -# endif +# endif ) -# 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 */ diff --git a/src/undo.c b/src/undo.c --- a/src/undo.c +++ b/src/undo.c @@ -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 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -642,15 +642,11 @@ static char *(features[]) = #else "-virtualedit", #endif -#ifdef FEAT_VISUAL "+visual", -# ifdef FEAT_VISUALEXTRA +#ifdef FEAT_VISUALEXTRA "+visualextra", -# else +#else "-visualextra", -# endif -#else - "-visual", #endif #ifdef FEAT_VIMINFO "+viminfo", @@ -739,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 212, +/**/ 211, /**/ 210, diff --git a/src/window.c b/src/window.c --- a/src/window.c +++ b/src/window.c @@ -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_ { 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);