]> granicus.if.org Git - vim/commitdiff
patch 8.1.0226: too many #ifdefs v8.1.0226
authorBram Moolenaar <Bram@vim.org>
Sun, 29 Jul 2018 14:09:22 +0000 (16:09 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 29 Jul 2018 14:09:22 +0000 (16:09 +0200)
Problem:    Too many #ifdefs.
Solution:   Graduate the +vreplace feature, it's not much code and quite a few
            #ifdefs.

15 files changed:
runtime/doc/change.txt
runtime/doc/various.txt
src/edit.c
src/evalfunc.c
src/feature.h
src/globals.h
src/gui.c
src/macros.h
src/misc1.c
src/misc2.c
src/normal.c
src/ops.c
src/screen.c
src/version.c
src/vim.h

index 703d336642273a09e9b5582d39918dab56302a43..1ad2930d44460d8e3c5546a01c440d2b6f54619e 100644 (file)
@@ -177,8 +177,6 @@ gR                  Enter Virtual Replace mode: Each character you type
                        <Tab> may replace several characters at once.
                        Repeat the entered text [count]-1 times.  See
                        |Virtual-Replace-mode| for more details.
-                       {not available when compiled without the |+vreplace|
-                       feature}
 
                                                        *c*
 ["x]c{motion}          Delete {motion} text [into register x] and start
@@ -303,8 +301,6 @@ gr{char}            Replace the virtual characters under the cursor with
                        space.  See |gR| and |Virtual-Replace-mode| for more
                        details.  As with |r| a count may be given.
                        {char} can be entered like with |r|.
-                       {not available when compiled without the |+vreplace|
-                       feature}
 
                                                *digraph-arg*
 The argument for Normal mode commands like |r| and |t| is a single character.
index bd2b35ed7422b5fb83616157e6870b364e261609..48d63cd8a3ba903f19c0ad4fa4f03d0606aa7aad 100644 (file)
@@ -461,7 +461,7 @@ N  *+viminfo*               |'viminfo'|
 N  *+virtualedit*      |'virtualedit'|
 S  *+visual*           Visual mode |Visual-mode| Always enabled since 7.4.200.
 N  *+visualextra*      extra Visual mode commands |blockwise-operators|
-N  *+vreplace*         |gR| and |gr|
+T  *+vreplace*         |gR| and |gr|
    *+vtp*              on MS-Windows console: support for 'termguicolors'
 N  *+wildignore*       |'wildignore'|
 N  *+wildmenu*         |'wildmenu'|
index e1215062396c07769ee7a4c5aa60955c95fbba73..b0b44e606cd5710dc91c14c574266e772df552de 100644 (file)
@@ -463,7 +463,6 @@ edit(
     {
        ResetRedobuff();
        AppendNumberToRedobuff(count);
-#ifdef FEAT_VREPLACE
        if (cmdchar == 'V' || cmdchar == 'v')
        {
            /* "gR" or "gr" command */
@@ -471,7 +470,6 @@ edit(
            AppendCharToRedobuff((cmdchar == 'v') ? 'r' : 'R');
        }
        else
-#endif
        {
            if (cmdchar == K_PS)
                AppendCharToRedobuff('a');
@@ -497,7 +495,6 @@ edit(
 #endif
        State = REPLACE;
     }
-#ifdef FEAT_VREPLACE
     else if (cmdchar == 'V' || cmdchar == 'v')
     {
        State = VREPLACE;
@@ -505,7 +502,6 @@ edit(
        orig_line_count = curbuf->b_ml.ml_line_count;
        vr_lines_changed = 1;
     }
-#endif
     else
        State = INSERT;
 
@@ -2042,7 +2038,6 @@ change_indent(
     int                save_p_list;
     int                start_col;
     colnr_T    vc;
-#ifdef FEAT_VREPLACE
     colnr_T    orig_col = 0;           /* init for GCC */
     char_u     *new_line, *orig_line = NULL;   /* init for GCC */
 
@@ -2052,7 +2047,6 @@ change_indent(
        orig_line = vim_strsave(ml_get_curline());  /* Deal with NULL below */
        orig_col = curwin->w_cursor.col;
     }
-#endif
 
     /* for the following tricks we don't want list mode */
     save_p_list = curwin->w_p_list;
@@ -2091,17 +2085,13 @@ change_indent(
        (void)set_indent(amount, call_changed_bytes ? SIN_CHANGED : 0);
     else
     {
-#ifdef FEAT_VREPLACE
        int     save_State = State;
 
        /* Avoid being called recursively. */
        if (State & VREPLACE_FLAG)
            State = INSERT;
-#endif
        shift_line(type == INDENT_DEC, round, 1, call_changed_bytes);
-#ifdef FEAT_VREPLACE
        State = save_State;
-#endif
     }
     insstart_less -= curwin->w_cursor.col;
 
@@ -2233,7 +2223,6 @@ change_indent(
        }
     }
 
-#ifdef FEAT_VREPLACE
     /*
      * For VREPLACE mode, we also have to fix the replace stack.  In this case
      * it is always possible because we backspace over the whole line and then
@@ -2266,7 +2255,6 @@ change_indent(
 
        vim_free(new_line);
     }
-#endif
 }
 
 /*
@@ -2288,8 +2276,6 @@ truncate_spaces(char_u *line)
     line[i + 1] = NUL;
 }
 
-#if defined(FEAT_VREPLACE) || defined(FEAT_INS_EXPAND) \
-       || defined(FEAT_COMMENTS) || defined(PROTO)
 /*
  * Backspace the cursor until the given column.  Handles REPLACE and VREPLACE
  * modes correctly.  May also be used when not in insert mode at all.
@@ -2308,7 +2294,6 @@ backspace_until_column(int col)
            break;
     }
 }
-#endif
 
 /*
  * Like del_char(), but make sure not to go before column "limit_col".
@@ -6224,9 +6209,7 @@ insertchar(
            && (force_format
                || (!VIM_ISWHITE(c)
                    && !((State & REPLACE_FLAG)
-#ifdef FEAT_VREPLACE
                        && !(State & VREPLACE_FLAG)
-#endif
                        && *ml_get_cursor() != NUL)
                    && (curwin->w_cursor.lnum != Insstart.lnum
                        || ((!has_format_option(FO_INS_LONG)
@@ -6471,11 +6454,7 @@ internal_format(
      * When 'ai' is off we don't want a space under the cursor to be
      * deleted.  Replace it with an 'x' temporarily.
      */
-    if (!curbuf->b_p_ai
-#ifdef FEAT_VREPLACE
-           && !(State & VREPLACE_FLAG)
-#endif
-           )
+    if (!curbuf->b_p_ai && !(State & VREPLACE_FLAG))
     {
        cc = gchar_cursor();
        if (VIM_ISWHITE(cc))
@@ -6496,10 +6475,8 @@ internal_format(
        int     end_foundcol = 0;       /* column for start of word */
        colnr_T len;
        colnr_T virtcol;
-#ifdef FEAT_VREPLACE
        int     orig_col = 0;
        char_u  *saved_text = NULL;
-#endif
        colnr_T col;
        colnr_T end_col;
 
@@ -6669,11 +6646,9 @@ internal_format(
         * stack functions.  VREPLACE does not use this, and backspaces
         * over the text instead.
         */
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
            orig_col = startcol;        /* Will start backspacing from here */
        else
-#endif
            replace_offset = startcol - end_foundcol;
 
        /*
@@ -6688,7 +6663,6 @@ internal_format(
        if (startcol < 0)
            startcol = 0;
 
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
        {
            /*
@@ -6706,7 +6680,6 @@ internal_format(
                backspace_until_column(foundcol);
        }
        else
-#endif
        {
            /* put cursor after pos. to break line */
            if (!fo_white_par)
@@ -6744,12 +6717,10 @@ internal_format(
                                 get_number_indent(curwin->w_cursor.lnum - 1);
                if (second_indent >= 0)
                {
-#ifdef FEAT_VREPLACE
                    if (State & VREPLACE_FLAG)
                        change_indent(INDENT_SET, second_indent,
                                                            FALSE, NUL, TRUE);
                    else
-#endif
 #ifdef FEAT_COMMENTS
                        if (leader_len > 0 && second_indent - leader_len > 0)
                    {
@@ -6778,7 +6749,6 @@ internal_format(
            first_line = FALSE;
        }
 
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
        {
            /*
@@ -6789,7 +6759,6 @@ internal_format(
            vim_free(saved_text);
        }
        else
-#endif
        {
            /*
             * Check if cursor is not past the NUL off the line, cindent
@@ -7140,13 +7109,11 @@ stop_arrow(void)
        }
 
        ai_col = 0;
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
        {
            orig_line_count = curbuf->b_ml.ml_line_count;
            vr_lines_changed = 1;
        }
-#endif
        ResetRedobuff();
        AppendToRedobuff((char_u *)"1i");   /* pretend we start an insertion */
        new_insert_skip = 2;
@@ -7983,7 +7950,6 @@ replace_flush(void)
 replace_do_bs(int limit_col)
 {
     int                cc;
-#ifdef FEAT_VREPLACE
     int                orig_len = 0;
     int                ins_len;
     int                orig_vcols = 0;
@@ -7991,12 +7957,10 @@ replace_do_bs(int limit_col)
     char_u     *p;
     int                i;
     int                vcol;
-#endif
 
     cc = replace_pop();
     if (cc > 0)
     {
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
        {
            /* Get the number of screen cells used by the character we are
@@ -8004,29 +7968,23 @@ replace_do_bs(int limit_col)
            getvcol(curwin, &curwin->w_cursor, NULL, &start_vcol, NULL);
            orig_vcols = chartabsize(ml_get_cursor(), start_vcol);
        }
-#endif
 #ifdef FEAT_MBYTE
        if (has_mbyte)
        {
            (void)del_char_after_col(limit_col);
-# ifdef FEAT_VREPLACE
            if (State & VREPLACE_FLAG)
                orig_len = (int)STRLEN(ml_get_cursor());
-# endif
            replace_push(cc);
        }
        else
 #endif
        {
            pchar_cursor(cc);
-#ifdef FEAT_VREPLACE
            if (State & VREPLACE_FLAG)
                orig_len = (int)STRLEN(ml_get_cursor()) - 1;
-#endif
        }
        replace_pop_ins();
 
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
        {
            /* Get the number of screen cells used by the inserted characters */
@@ -8052,7 +8010,6 @@ replace_do_bs(int limit_col)
            }
            curwin->w_cursor.col -= ins_len;
        }
-#endif
 
        /* mark the buffer as changed and prepare for displaying */
        changed_bytes(curwin->w_cursor.lnum, curwin->w_cursor.col);
@@ -8966,11 +8923,9 @@ ins_insert(int replaceState)
 
 # ifdef FEAT_EVAL
     set_vim_var_string(VV_INSERTMODE,
-                  (char_u *)((State & REPLACE_FLAG) ? "i" :
-#  ifdef FEAT_VREPLACE
-                           replaceState == VREPLACE ? "v" :
-#  endif
-                           "r"), 1);
+                  (char_u *)((State & REPLACE_FLAG) ? "i"
+                         : replaceState == VREPLACE ? "v"
+                                                    : "r"), 1);
 # endif
     apply_autocmds(EVENT_INSERTCHANGE, NULL, NULL, FALSE, curbuf);
     if (State & REPLACE_FLAG)
@@ -8990,11 +8945,9 @@ ins_insert(int replaceState)
     static void
 ins_ctrl_o(void)
 {
-#ifdef FEAT_VREPLACE
     if (State & VREPLACE_FLAG)
        restart_edit = 'V';
     else
-#endif
        if (State & REPLACE_FLAG)
        restart_edit = 'R';
     else
@@ -9067,14 +9020,12 @@ ins_del(void)
        else
        {
            curwin->w_cursor.col = temp;
-#ifdef FEAT_VREPLACE
            /* Adjust orig_line_count in case more lines have been deleted than
             * have been added. That makes sure, that open_line() later
             * can access all buffer lines correctly */
            if (State & VREPLACE_FLAG &&
                    orig_line_count > curbuf->b_ml.ml_line_count)
                orig_line_count = curbuf->b_ml.ml_line_count;
-#endif
        }
     }
     else if (del_char(FALSE) == FAIL)  /* delete char under cursor */
@@ -9229,10 +9180,8 @@ ins_bs(
        }
        else
        {
-#ifdef FEAT_VREPLACE
            if (!(State & VREPLACE_FLAG)
                                   || curwin->w_cursor.lnum > orig_line_count)
-#endif
            {
                temp = gchar_cursor();  /* remember current char */
                --curwin->w_cursor.lnum;
@@ -9256,10 +9205,8 @@ ins_bs(
                if (temp == NUL && gchar_cursor() != NUL)
                    inc_cursor();
            }
-#ifdef FEAT_VREPLACE
            else
                dec_cursor();
-#endif
 
            /*
             * In REPLACE mode we have to put back the text that was replaced
@@ -9386,11 +9333,9 @@ ins_bs(
                                   && curwin->w_cursor.col < Insstart_orig.col)
                    Insstart_orig.col = curwin->w_cursor.col;
 
-#ifdef FEAT_VREPLACE
                if (State & VREPLACE_FLAG)
                    ins_char(' ');
                else
-#endif
                {
                    ins_str((char_u *)" ");
                    if ((State & REPLACE_FLAG))
@@ -10231,11 +10176,9 @@ ins_tab(void)
     ins_char(' ');
     while (--temp > 0)
     {
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
            ins_char(' ');
        else
-#endif
        {
            ins_str((char_u *)" ");
            if (State & REPLACE_FLAG)       /* no char replaced */
@@ -10255,10 +10198,8 @@ ins_tab(void)
 #endif
     {
        char_u          *ptr;
-#ifdef FEAT_VREPLACE
        char_u          *saved_line = NULL;     /* init for GCC */
        pos_T           pos;
-#endif
        pos_T           fpos;
        pos_T           *cursor;
        colnr_T         want_vcol, vcol;
@@ -10269,7 +10210,6 @@ ins_tab(void)
         * Get the current line.  For VREPLACE mode, don't make real changes
         * yet, just work on a copy of the line.
         */
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
        {
            pos = curwin->w_cursor;
@@ -10280,7 +10220,6 @@ ins_tab(void)
            ptr = saved_line + pos.col;
        }
        else
-#endif
        {
            ptr = ml_get_cursor();
            cursor = &curwin->w_cursor;
@@ -10360,11 +10299,7 @@ ins_tab(void)
            {
                STRMOVE(ptr, ptr + i);
                /* correct replace stack. */
-               if ((State & REPLACE_FLAG)
-#ifdef FEAT_VREPLACE
-                       && !(State & VREPLACE_FLAG)
-#endif
-                       )
+               if ((State & REPLACE_FLAG) && !(State & VREPLACE_FLAG))
                    for (temp = i; --temp >= 0; )
                        replace_join(repl_off);
            }
@@ -10378,7 +10313,6 @@ ins_tab(void)
 #endif
            cursor->col -= i;
 
-#ifdef FEAT_VREPLACE
            /*
             * In VREPLACE mode, we haven't changed anything yet.  Do it now by
             * backspacing over the changed spacing and then inserting the new
@@ -10394,13 +10328,10 @@ ins_tab(void)
                ins_bytes_len(saved_line + change_col,
                                                    cursor->col - change_col);
            }
-#endif
        }
 
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
            vim_free(saved_line);
-#endif
        curwin->w_p_list = save_list;
     }
 
@@ -10427,11 +10358,7 @@ ins_eol(int c)
      * character under the cursor.  Only push a NUL on the replace stack,
      * nothing to put back when the NL is deleted.
      */
-    if ((State & REPLACE_FLAG)
-#ifdef FEAT_VREPLACE
-           && !(State & VREPLACE_FLAG)
-#endif
-           )
+    if ((State & REPLACE_FLAG) && !(State & VREPLACE_FLAG))
        replace_push(NUL);
 
     /*
@@ -10700,11 +10627,9 @@ ins_try_si(int c)
                curwin->w_cursor = *pos;
            i = get_indent();
            curwin->w_cursor = old_pos;
-#ifdef FEAT_VREPLACE
            if (State & VREPLACE_FLAG)
                change_indent(INDENT_SET, i, FALSE, NUL, TRUE);
            else
-#endif
                (void)set_indent(i, SIN_CHANGED);
        }
        else if (curwin->w_cursor.col > 0)
index 40fbf373a4e1eb99c8a0f833dbac8170b223a82d..31096d75dbbc97b16423de9a8e20e628e4c681ef 100644 (file)
@@ -6450,9 +6450,7 @@ f_has(typval_T *argvars, typval_T *rettv)
 #ifdef FEAT_VISUALEXTRA
        "visualextra",
 #endif
-#ifdef FEAT_VREPLACE
        "vreplace",
-#endif
 #ifdef FEAT_VTP
        "vtp",
 #endif
@@ -8400,14 +8398,12 @@ f_mode(typval_T *argvars, typval_T *rettv)
        buf[0] = '!';
     else if (State & INSERT)
     {
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
        {
            buf[0] = 'R';
            buf[1] = 'v';
        }
        else
-#endif
        {
            if (State & REPLACE_FLAG)
                buf[0] = 'R';
index 762a70cee76eeb611e7718d41e4b990e410f877e..efe349d54ff27a432548483f25beef3f2ec1ba2f 100644 (file)
 # define FEAT_VIRTUALEDIT
 #endif
 
-/*
- * +vreplace           "gR" and "gr" commands.
- */
-#ifdef FEAT_NORMAL
-# define FEAT_VREPLACE
-#endif
-
 /*
  * +cmdline_info       'showcmd' and 'ruler' options.
  */
index 0bb7de5ca5e3aebc7ac0112d1ed85f5996442734..9cf8455bc8fb0e943d9ff05e704e8892996ca908 100644 (file)
@@ -778,13 +778,11 @@ EXTERN pos_T      Insstart;               /* This is where the latest
  * op_insert(), to detect correctly where inserting by the user started. */
 EXTERN pos_T   Insstart_orig;
 
-#ifdef FEAT_VREPLACE
 /*
  * Stuff for VREPLACE mode.
  */
 EXTERN int     orig_line_count INIT(= 0);  /* Line count when "gR" started */
 EXTERN int     vr_lines_changed INIT(= 0); /* #Lines changed by "gR" so far */
-#endif
 
 #if defined(FEAT_X11) && defined(FEAT_XCLIPBOARD)
 /* argument to SETJMP() for handling X IO errors */
index f51b81f867a4893ec715d25cb9b0d7300a49e6fe..15adb1f1dff20e591b4fd8510cdc278cd0bdb5da 100644 (file)
--- a/src/gui.c
+++ b/src/gui.c
@@ -3181,10 +3181,8 @@ button_set:
        case SELECTMODE:        checkfor = MOUSE_VISUAL;        break;
        case REPLACE:
        case REPLACE+LANGMAP:
-# ifdef FEAT_VREPLACE
        case VREPLACE:
        case VREPLACE+LANGMAP:
-# endif
        case INSERT:
        case INSERT+LANGMAP:    checkfor = MOUSE_INSERT;        break;
        case ASKMORE:
index c91b4b62058e0ecf7b1e19307f7f6ed21f889f68..1654e3e55820badbf9b2545e6fef7997d5ee8ab4 100644 (file)
 # define TIME_MSG(s) do { /**/ } while (0)
 #endif
 
-#ifdef FEAT_VREPLACE
-# define REPLACE_NORMAL(s) (((s) & REPLACE_FLAG) && !((s) & VREPLACE_FLAG))
-#else
-# define REPLACE_NORMAL(s) ((s) & REPLACE_FLAG)
-#endif
+#define REPLACE_NORMAL(s) (((s) & REPLACE_FLAG) && !((s) & VREPLACE_FLAG))
 
 #ifdef FEAT_ARABIC
 # define UTF_COMPOSINGLIKE(p1, p2)  utf_composinglike((p1), (p2))
index ab5f6f73193dafdf949f1cabad74b55f91cf6afa..1647aa952413b95109648cb248bb902c463dca7b 100644 (file)
@@ -784,10 +784,7 @@ open_line(
     char_u     *leader = NULL;         /* copy of comment leader */
 #endif
     char_u     *allocated = NULL;      /* allocated memory */
-#if defined(FEAT_SMARTINDENT) || defined(FEAT_VREPLACE) || defined(FEAT_LISP) \
-       || defined(FEAT_CINDENT) || defined(FEAT_COMMENTS)
     char_u     *p;
-#endif
     int                saved_char = NUL;       /* init for GCC */
 #if defined(FEAT_SMARTINDENT) || defined(FEAT_COMMENTS)
     pos_T      *pos;
@@ -804,7 +801,7 @@ open_line(
     int                no_si = FALSE;          /* reset did_si afterwards */
     int                first_char = NUL;       /* init for GCC */
 #endif
-#if defined(FEAT_VREPLACE) && (defined(FEAT_LISP) || defined(FEAT_CINDENT))
+#if defined(FEAT_LISP) || defined(FEAT_CINDENT)
     int                vreplace_mode;
 #endif
     int                did_append;             /* appended a new line */
@@ -817,7 +814,6 @@ open_line(
     if (saved_line == NULL)        /* out of memory! */
        return FALSE;
 
-#ifdef FEAT_VREPLACE
     if (State & VREPLACE_FLAG)
     {
        /*
@@ -857,13 +853,8 @@ open_line(
        }
        saved_line[curwin->w_cursor.col] = NUL;
     }
-#endif
 
-    if ((State & INSERT)
-#ifdef FEAT_VREPLACE
-           && !(State & VREPLACE_FLAG)
-#endif
-           )
+    if ((State & INSERT) && !(State & VREPLACE_FLAG))
     {
        p_extra = saved_line + curwin->w_cursor.col;
 #ifdef FEAT_SMARTINDENT
@@ -1601,9 +1592,7 @@ open_line(
     old_cursor = curwin->w_cursor;
     if (dir == BACKWARD)
        --curwin->w_cursor.lnum;
-#ifdef FEAT_VREPLACE
     if (!(State & VREPLACE_FLAG) || old_cursor.lnum >= orig_line_count)
-#endif
     {
        if (ml_append(curwin->w_cursor.lnum, p_extra, (colnr_T)0, FALSE)
                                                                      == FAIL)
@@ -1620,7 +1609,6 @@ open_line(
            mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L);
        did_append = TRUE;
     }
-#ifdef FEAT_VREPLACE
     else
     {
        /*
@@ -1640,7 +1628,6 @@ open_line(
        curwin->w_cursor.lnum--;
        did_append = FALSE;
     }
-#endif
 
     if (newindent
 #ifdef FEAT_SMARTINDENT
@@ -1744,7 +1731,7 @@ open_line(
     curwin->w_cursor.coladd = 0;
 #endif
 
-#if defined(FEAT_VREPLACE) && (defined(FEAT_LISP) || defined(FEAT_CINDENT))
+#if defined(FEAT_LISP) || defined(FEAT_CINDENT)
     /*
      * In VREPLACE mode, we are handling the replace stack ourselves, so stop
      * fixthisline() from doing it (via change_indent()) by telling it we're in
@@ -1791,12 +1778,11 @@ open_line(
        ai_col = (colnr_T)getwhitecols_curline();
     }
 #endif
-#if defined(FEAT_VREPLACE) && (defined(FEAT_LISP) || defined(FEAT_CINDENT))
+#if defined(FEAT_LISP) || defined(FEAT_CINDENT)
     if (vreplace_mode != 0)
        State = vreplace_mode;
 #endif
 
-#ifdef FEAT_VREPLACE
     /*
      * Finally, VREPLACE gets the stuff on the new line, then puts back the
      * original line, and inserts the new stuff char by char, pushing old stuff
@@ -1821,7 +1807,6 @@ open_line(
        vim_free(p_extra);
        next_line = NULL;
     }
-#endif
 
     retval = OK;               /* success! */
 theend:
@@ -2307,7 +2292,6 @@ plines_m_win(win_T *wp, linenr_T first, linenr_T last)
     return (count);
 }
 
-#if defined(FEAT_VREPLACE) || defined(FEAT_INS_EXPAND) || defined(PROTO)
 /*
  * Insert string "p" at the cursor position.  Stops at a NUL byte.
  * Handles Replace mode and multi-byte characters.
@@ -2317,10 +2301,7 @@ ins_bytes(char_u *p)
 {
     ins_bytes_len(p, (int)STRLEN(p));
 }
-#endif
 
-#if defined(FEAT_VREPLACE) || defined(FEAT_INS_EXPAND) \
-       || defined(FEAT_COMMENTS) || defined(FEAT_MBYTE) || defined(PROTO)
 /*
  * Insert string "p" with length "len" at the cursor position.
  * Handles Replace mode and multi-byte characters.
@@ -2329,7 +2310,7 @@ ins_bytes(char_u *p)
 ins_bytes_len(char_u *p, int len)
 {
     int                i;
-# ifdef FEAT_MBYTE
+#ifdef FEAT_MBYTE
     int                n;
 
     if (has_mbyte)
@@ -2343,11 +2324,10 @@ ins_bytes_len(char_u *p, int len)
            ins_char_bytes(p + i, n);
        }
     else
-# endif
+#endif
        for (i = 0; i < len; ++i)
            ins_char(p[i]);
 }
-#endif
 
 /*
  * Insert or replace a single character at the cursor position.
@@ -2406,7 +2386,6 @@ ins_char_bytes(char_u *buf, int charlen)
 
     if (State & REPLACE_FLAG)
     {
-#ifdef FEAT_VREPLACE
        if (State & VREPLACE_FLAG)
        {
            colnr_T     new_vcol = 0;   /* init for GCC */
@@ -2456,7 +2435,6 @@ ins_char_bytes(char_u *buf, int charlen)
            curwin->w_p_list = old_list;
        }
        else
-#endif
            if (oldp[col] != NUL)
        {
            /* normal replace */
index 4a4908c199a4824095849ff1a4fcffaafdc9422c..b7716cea1341ebffc3229739c4f690995da86d38 100644 (file)
@@ -3766,10 +3766,8 @@ get_shape_idx(int mouse)
 #endif
     if (!mouse && State == SHOWMATCH)
        return SHAPE_IDX_SM;
-#ifdef FEAT_VREPLACE
     if (State & VREPLACE_FLAG)
        return SHAPE_IDX_R;
-#endif
     if (State & REPLACE_FLAG)
        return SHAPE_IDX_R;
     if (State & INSERT)
index 4e36d56074792598f33e3d7dd7d22e6ef9cb1201..f3cd664a663876a11804a1f7889b943bded1ffb8 100644 (file)
@@ -111,9 +111,7 @@ static void nv_findpar(cmdarg_T *cap);
 static void    nv_undo(cmdarg_T *cap);
 static void    nv_kundo(cmdarg_T *cap);
 static void    nv_Replace(cmdarg_T *cap);
-#ifdef FEAT_VREPLACE
 static void    nv_vreplace(cmdarg_T *cap);
-#endif
 static void    v_swap_corners(int cmdchar);
 static void    nv_replace(cmdarg_T *cap);
 static void    n_swapchar(cmdarg_T *cap);
@@ -7300,7 +7298,6 @@ nv_Replace(cmdarg_T *cap)
     }
 }
 
-#ifdef FEAT_VREPLACE
 /*
  * "gr".
  */
@@ -7323,15 +7320,14 @@ nv_vreplace(cmdarg_T *cap)
                cap->extra_char = get_literal();
            stuffcharReadbuff(cap->extra_char);
            stuffcharReadbuff(ESC);
-# ifdef FEAT_VIRTUALEDIT
+#ifdef FEAT_VIRTUALEDIT
            if (virtual_active())
                coladvance(getviscol());
-# endif
+#endif
            invoke_edit(cap, TRUE, 'v', FALSE);
        }
     }
 }
-#endif
 
 /*
  * Swap case for "~" command, when it does not work like an operator.
@@ -7944,7 +7940,6 @@ nv_g_cmd(cmdarg_T *cap)
            clearopbeep(oap);
        break;
 
-#ifdef FEAT_VREPLACE
     /*
      * "gR": Enter virtual replace mode.
      */
@@ -7956,7 +7951,6 @@ nv_g_cmd(cmdarg_T *cap)
     case 'r':
        nv_vreplace(cap);
        break;
-#endif
 
     case '&':
        do_cmdline_cmd((char_u *)"%s//~/&");
index 26e15f753e7f89533d71d89267efd489caf00d12..50ebf444953f04a009451b6869a9d2e668da1101 100644 (file)
--- a/src/ops.c
+++ b/src/ops.c
@@ -376,11 +376,9 @@ shift_line(
     }
 
     /* Set new indent */
-#ifdef FEAT_VREPLACE
     if (State & VREPLACE_FLAG)
        change_indent(INDENT_SET, count, FALSE, NUL, call_changed_bytes);
     else
-#endif
        (void)set_indent(count, call_changed_bytes ? SIN_CHANGED : 0);
 }
 
index 954beef95ebb60cf21171699b8a3d62c373528d2..4dfbfec892f887b70432e9f1f3553dedada88835 100644 (file)
@@ -10375,12 +10375,9 @@ showmode(void)
            else
 #endif
            {
-#ifdef FEAT_VREPLACE
                if (State & VREPLACE_FLAG)
                    MSG_PUTS_ATTR(_(" VREPLACE"), attr);
-               else
-#endif
-                   if (State & REPLACE_FLAG)
+               else if (State & REPLACE_FLAG)
                    MSG_PUTS_ATTR(_(" REPLACE"), attr);
                else if (State & INSERT)
                {
index 1aa6448fbbbf4b96ce6681a37d268b6a5f6ef8eb..ff1c00a08af1eb6e5f735f3b39267a098a587222 100644 (file)
@@ -714,11 +714,7 @@ static char *(features[]) =
 #else
        "-viminfo",
 #endif
-#ifdef FEAT_VREPLACE
        "+vreplace",
-#else
-       "-vreplace",
-#endif
 #ifdef WIN3264
 # ifdef FEAT_VTP
        "+vtp",
@@ -798,6 +794,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    226,
 /**/
     225,
 /**/
index fb476c52976e186d8e1aef509774b6bfd4517ccd..a85d47f5eb380028664319c60c9af51e23d853e5 100644 (file)
--- a/src/vim.h
+++ b/src/vim.h
@@ -675,10 +675,8 @@ extern int (*dyn_libintl_putenv)(const char *envstring);
 
 #define REPLACE_FLAG   0x40    /* Replace mode flag */
 #define REPLACE                (REPLACE_FLAG + INSERT)
-#ifdef FEAT_VREPLACE
-# define VREPLACE_FLAG 0x80    /* Virtual-replace mode flag */
-# define VREPLACE      (REPLACE_FLAG + VREPLACE_FLAG + INSERT)
-#endif
+#define VREPLACE_FLAG  0x80    /* Virtual-replace mode flag */
+#define VREPLACE       (REPLACE_FLAG + VREPLACE_FLAG + INSERT)
 #define LREPLACE       (REPLACE_FLAG + LANGMAP)
 
 #define NORMAL_BUSY    (0x100 + NORMAL) /* Normal mode, busy with a command */