Patch 8.1.0226
Problem: Too many #ifdefs.
Solution: Graduate the +vreplace feature, it's not much code and quite a few
#ifdefs.
Files: runtime/doc/change.txt, runtime/doc/various.txt, src/edit.c,
src/evalfunc.c, src/gui.c, src/misc1.c, src/misc2.c, src/normal.c,
src/ops.c, src/screen.c, src/version.c, src/feature.h,
src/globals.h, src/macros.h, src/vim.h
*** ../vim-8.1.0225/runtime/doc/change.txt 2018-06-23 19:22:45.594486390
+0200
--- runtime/doc/change.txt 2018-07-29 15:38:09.666898986 +0200
***************
*** 177,184 ****
<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
--- 177,182 ----
***************
*** 303,310 ****
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.
--- 301,306 ----
*** ../vim-8.1.0225/runtime/doc/various.txt 2018-06-23 19:22:45.598486362
+0200
--- runtime/doc/various.txt 2018-07-29 15:38:59.894590610 +0200
***************
*** 461,467 ****
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|
*+vtp* on MS-Windows console: support for 'termguicolors'
N *+wildignore* |'wildignore'|
N *+wildmenu* |'wildmenu'|
--- 461,467 ----
N *+virtualedit* |'virtualedit'|
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
N *+visualextra* extra Visual mode commands |blockwise-operators|
! T *+vreplace* |gR| and |gr|
*+vtp* on MS-Windows console: support for 'termguicolors'
N *+wildignore* |'wildignore'|
N *+wildmenu* |'wildmenu'|
*** ../vim-8.1.0225/src/edit.c 2018-07-28 23:12:01.578163697 +0200
--- src/edit.c 2018-07-29 15:43:22.341227944 +0200
***************
*** 463,469 ****
{
ResetRedobuff();
AppendNumberToRedobuff(count);
- #ifdef FEAT_VREPLACE
if (cmdchar == 'V' || cmdchar == 'v')
{
/* "gR" or "gr" command */
--- 463,468 ----
***************
*** 471,477 ****
AppendCharToRedobuff((cmdchar == 'v') ? 'r' : 'R');
}
else
- #endif
{
if (cmdchar == K_PS)
AppendCharToRedobuff('a');
--- 470,475 ----
***************
*** 497,503 ****
#endif
State = REPLACE;
}
- #ifdef FEAT_VREPLACE
else if (cmdchar == 'V' || cmdchar == 'v')
{
State = VREPLACE;
--- 495,500 ----
***************
*** 505,511 ****
orig_line_count = curbuf->b_ml.ml_line_count;
vr_lines_changed = 1;
}
- #endif
else
State = INSERT;
--- 502,507 ----
***************
*** 2042,2048 ****
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 */
--- 2038,2043 ----
***************
*** 2052,2058 ****
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;
--- 2047,2052 ----
***************
*** 2091,2107 ****
(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;
--- 2085,2097 ----
***************
*** 2233,2239 ****
}
}
- #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
--- 2223,2228 ----
***************
*** 2266,2272 ****
vim_free(new_line);
}
- #endif
}
/*
--- 2255,2260 ----
***************
*** 2288,2295 ****
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.
--- 2276,2281 ----
***************
*** 2308,2314 ****
break;
}
}
- #endif
/*
* Like del_char(), but make sure not to go before column "limit_col".
--- 2294,2299 ----
***************
*** 6224,6232 ****
&& (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)
--- 6209,6215 ----
***************
*** 6471,6481 ****
* 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
! )
{
cc = gchar_cursor();
if (VIM_ISWHITE(cc))
--- 6454,6460 ----
* 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 && !(State & VREPLACE_FLAG))
{
cc = gchar_cursor();
if (VIM_ISWHITE(cc))
***************
*** 6496,6505 ****
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;
--- 6475,6482 ----
***************
*** 6669,6679 ****
* 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;
/*
--- 6646,6654 ----
***************
*** 6688,6694 ****
if (startcol < 0)
startcol = 0;
- #ifdef FEAT_VREPLACE
if (State & VREPLACE_FLAG)
{
/*
--- 6663,6668 ----
***************
*** 6706,6712 ****
backspace_until_column(foundcol);
}
else
- #endif
{
/* put cursor after pos. to break line */
if (!fo_white_par)
--- 6680,6685 ----
***************
*** 6744,6755 ****
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)
{
--- 6717,6726 ----
***************
*** 6778,6784 ****
first_line = FALSE;
}
- #ifdef FEAT_VREPLACE
if (State & VREPLACE_FLAG)
{
/*
--- 6749,6754 ----
***************
*** 6789,6795 ****
vim_free(saved_text);
}
else
- #endif
{
/*
* Check if cursor is not past the NUL off the line, cindent
--- 6759,6764 ----
***************
*** 7140,7152 ****
}
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;
--- 7109,7119 ----
***************
*** 7983,7989 ****
replace_do_bs(int limit_col)
{
int cc;
- #ifdef FEAT_VREPLACE
int orig_len = 0;
int ins_len;
int orig_vcols = 0;
--- 7950,7955 ----
***************
*** 7991,8002 ****
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
--- 7957,7966 ----
***************
*** 8004,8032 ****
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 */
--- 7968,7990 ----
***************
*** 8052,8058 ****
}
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);
--- 8010,8015 ----
***************
*** 8966,8976 ****
# ifdef FEAT_EVAL
set_vim_var_string(VV_INSERTMODE,
! (char_u *)((State & REPLACE_FLAG) ? "i" :
! # ifdef FEAT_VREPLACE
! replaceState == VREPLACE ? "v" :
! # endif
! "r"), 1);
# endif
apply_autocmds(EVENT_INSERTCHANGE, NULL, NULL, FALSE, curbuf);
if (State & REPLACE_FLAG)
--- 8923,8931 ----
# ifdef FEAT_EVAL
set_vim_var_string(VV_INSERTMODE,
! (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,9000 ****
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
--- 8945,8953 ----
***************
*** 9067,9080 ****
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 */
--- 9020,9031 ----
***************
*** 9229,9238 ****
}
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;
--- 9180,9187 ----
***************
*** 9256,9265 ****
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
--- 9205,9212 ----
***************
*** 9386,9396 ****
&& 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))
--- 9333,9341 ----
***************
*** 10231,10241 ****
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 */
--- 10176,10184 ----
***************
*** 10255,10264 ****
#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;
--- 10198,10205 ----
***************
*** 10269,10275 ****
* 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;
--- 10210,10215 ----
***************
*** 10280,10286 ****
ptr = saved_line + pos.col;
}
else
- #endif
{
ptr = ml_get_cursor();
cursor = &curwin->w_cursor;
--- 10220,10225 ----
***************
*** 10360,10370 ****
{
STRMOVE(ptr, ptr + i);
/* correct replace stack. */
! if ((State & REPLACE_FLAG)
! #ifdef FEAT_VREPLACE
! && !(State & VREPLACE_FLAG)
! #endif
! )
for (temp = i; --temp >= 0; )
replace_join(repl_off);
}
--- 10299,10305 ----
{
STRMOVE(ptr, ptr + i);
/* correct replace stack. */
! if ((State & REPLACE_FLAG) && !(State & VREPLACE_FLAG))
for (temp = i; --temp >= 0; )
replace_join(repl_off);
}
***************
*** 10378,10384 ****
#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
--- 10313,10318 ----
***************
*** 10394,10406 ****
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;
}
--- 10328,10337 ----
***************
*** 10427,10437 ****
* 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
! )
replace_push(NUL);
/*
--- 10358,10364 ----
* 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) && !(State & VREPLACE_FLAG))
replace_push(NUL);
/*
***************
*** 10700,10710 ****
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)
--- 10627,10635 ----
*** ../vim-8.1.0225/src/evalfunc.c 2018-07-29 15:34:20.868300075 +0200
--- src/evalfunc.c 2018-07-29 15:43:54.165096144 +0200
***************
*** 6450,6458 ****
#ifdef FEAT_VISUALEXTRA
"visualextra",
#endif
- #ifdef FEAT_VREPLACE
"vreplace",
- #endif
#ifdef FEAT_VTP
"vtp",
#endif
--- 6450,6456 ----
***************
*** 8400,8413 ****
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';
--- 8398,8409 ----
*** ../vim-8.1.0225/src/gui.c 2018-06-28 12:05:07.089006904 +0200
--- src/gui.c 2018-07-29 15:44:03.357057435 +0200
***************
*** 3181,3190 ****
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:
--- 3181,3188 ----
*** ../vim-8.1.0225/src/misc1.c 2018-07-25 21:19:09.363656976 +0200
--- src/misc1.c 2018-07-29 15:45:58.180552032 +0200
***************
*** 784,793 ****
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;
--- 784,790 ----
***************
*** 804,810 ****
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))
int vreplace_mode;
#endif
int did_append; /* appended a new line */
--- 801,807 ----
int no_si = FALSE; /* reset did_si afterwards */
int first_char = NUL; /* init for GCC */
#endif
! #if defined(FEAT_LISP) || defined(FEAT_CINDENT)
int vreplace_mode;
#endif
int did_append; /* appended a new line */
***************
*** 817,823 ****
if (saved_line == NULL) /* out of memory! */
return FALSE;
- #ifdef FEAT_VREPLACE
if (State & VREPLACE_FLAG)
{
/*
--- 814,819 ----
***************
*** 857,869 ****
}
saved_line[curwin->w_cursor.col] = NUL;
}
- #endif
! if ((State & INSERT)
! #ifdef FEAT_VREPLACE
! && !(State & VREPLACE_FLAG)
! #endif
! )
{
p_extra = saved_line + curwin->w_cursor.col;
#ifdef FEAT_SMARTINDENT
--- 853,860 ----
}
saved_line[curwin->w_cursor.col] = NUL;
}
! if ((State & INSERT) && !(State & VREPLACE_FLAG))
{
p_extra = saved_line + curwin->w_cursor.col;
#ifdef FEAT_SMARTINDENT
***************
*** 1601,1609 ****
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)
--- 1592,1598 ----
***************
*** 1620,1626 ****
mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L);
did_append = TRUE;
}
- #ifdef FEAT_VREPLACE
else
{
/*
--- 1609,1614 ----
***************
*** 1640,1646 ****
curwin->w_cursor.lnum--;
did_append = FALSE;
}
- #endif
if (newindent
#ifdef FEAT_SMARTINDENT
--- 1628,1633 ----
***************
*** 1744,1750 ****
curwin->w_cursor.coladd = 0;
#endif
! #if defined(FEAT_VREPLACE) && (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
--- 1731,1737 ----
curwin->w_cursor.coladd = 0;
#endif
! #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,1802 ****
ai_col = (colnr_T)getwhitecols_curline();
}
#endif
! #if defined(FEAT_VREPLACE) && (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
--- 1778,1788 ----
ai_col = (colnr_T)getwhitecols_curline();
}
#endif
! #if defined(FEAT_LISP) || defined(FEAT_CINDENT)
if (vreplace_mode != 0)
State = vreplace_mode;
#endif
/*
* 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,1827 ****
vim_free(p_extra);
next_line = NULL;
}
- #endif
retval = OK; /* success! */
theend:
--- 1807,1812 ----
***************
*** 2307,2313 ****
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.
--- 2292,2297 ----
***************
*** 2317,2326 ****
{
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.
--- 2301,2307 ----
***************
*** 2329,2335 ****
ins_bytes_len(char_u *p, int len)
{
int i;
! # ifdef FEAT_MBYTE
int n;
if (has_mbyte)
--- 2310,2316 ----
ins_bytes_len(char_u *p, int len)
{
int i;
! #ifdef FEAT_MBYTE
int n;
if (has_mbyte)
***************
*** 2343,2353 ****
ins_char_bytes(p + i, n);
}
else
! # endif
for (i = 0; i < len; ++i)
ins_char(p[i]);
}
- #endif
/*
* Insert or replace a single character at the cursor position.
--- 2324,2333 ----
ins_char_bytes(p + i, n);
}
else
! #endif
for (i = 0; i < len; ++i)
ins_char(p[i]);
}
/*
* Insert or replace a single character at the cursor position.
***************
*** 2406,2412 ****
if (State & REPLACE_FLAG)
{
- #ifdef FEAT_VREPLACE
if (State & VREPLACE_FLAG)
{
colnr_T new_vcol = 0; /* init for GCC */
--- 2386,2391 ----
***************
*** 2456,2462 ****
curwin->w_p_list = old_list;
}
else
- #endif
if (oldp[col] != NUL)
{
/* normal replace */
--- 2435,2440 ----
*** ../vim-8.1.0225/src/misc2.c 2018-06-29 20:28:27.505661796 +0200
--- src/misc2.c 2018-07-29 15:46:23.876433899 +0200
***************
*** 3766,3775 ****
#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)
--- 3766,3773 ----
*** ../vim-8.1.0225/src/normal.c 2018-07-25 22:36:48.987518583 +0200
--- src/normal.c 2018-07-29 15:46:49.824312935 +0200
***************
*** 111,119 ****
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);
--- 111,117 ----
***************
*** 7300,7306 ****
}
}
- #ifdef FEAT_VREPLACE
/*
* "gr".
*/
--- 7298,7303 ----
***************
*** 7323,7337 ****
cap->extra_char = get_literal();
stuffcharReadbuff(cap->extra_char);
stuffcharReadbuff(ESC);
! # ifdef FEAT_VIRTUALEDIT
if (virtual_active())
coladvance(getviscol());
! # endif
invoke_edit(cap, TRUE, 'v', FALSE);
}
}
}
- #endif
/*
* Swap case for "~" command, when it does not work like an operator.
--- 7320,7333 ----
cap->extra_char = get_literal();
stuffcharReadbuff(cap->extra_char);
stuffcharReadbuff(ESC);
! #ifdef FEAT_VIRTUALEDIT
if (virtual_active())
coladvance(getviscol());
! #endif
invoke_edit(cap, TRUE, 'v', FALSE);
}
}
}
/*
* Swap case for "~" command, when it does not work like an operator.
***************
*** 7944,7950 ****
clearopbeep(oap);
break;
- #ifdef FEAT_VREPLACE
/*
* "gR": Enter virtual replace mode.
*/
--- 7940,7945 ----
***************
*** 7956,7962 ****
case 'r':
nv_vreplace(cap);
break;
- #endif
case '&':
do_cmdline_cmd((char_u *)"%s//~/&");
--- 7951,7956 ----
*** ../vim-8.1.0225/src/ops.c 2018-07-08 16:50:33.107216836 +0200
--- src/ops.c 2018-07-29 15:47:03.452248760 +0200
***************
*** 376,386 ****
}
/* 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);
}
--- 376,384 ----
*** ../vim-8.1.0225/src/screen.c 2018-06-28 22:22:56.233315600 +0200
--- src/screen.c 2018-07-29 15:47:23.308154491 +0200
***************
*** 10375,10386 ****
else
#endif
{
- #ifdef FEAT_VREPLACE
if (State & VREPLACE_FLAG)
MSG_PUTS_ATTR(_(" VREPLACE"), attr);
! else
! #endif
! if (State & REPLACE_FLAG)
MSG_PUTS_ATTR(_(" REPLACE"), attr);
else if (State & INSERT)
{
--- 10375,10383 ----
else
#endif
{
if (State & VREPLACE_FLAG)
MSG_PUTS_ATTR(_(" VREPLACE"), attr);
! else if (State & REPLACE_FLAG)
MSG_PUTS_ATTR(_(" REPLACE"), attr);
else if (State & INSERT)
{
*** ../vim-8.1.0225/src/version.c 2018-07-29 15:34:20.868300075 +0200
--- src/version.c 2018-07-29 15:50:26.887245482 +0200
***************
*** 714,724 ****
#else
"-viminfo",
#endif
- #ifdef FEAT_VREPLACE
"+vreplace",
- #else
- "-vreplace",
- #endif
#ifdef WIN3264
# ifdef FEAT_VTP
"+vtp",
--- 714,720 ----
*** ../vim-8.1.0225/src/feature.h 2018-06-23 19:22:45.606486311 +0200
--- src/feature.h 2018-07-29 15:47:53.028011765 +0200
***************
*** 207,219 ****
#endif
/*
- * +vreplace "gR" and "gr" commands.
- */
- #ifdef FEAT_NORMAL
- # define FEAT_VREPLACE
- #endif
-
- /*
* +cmdline_info 'showcmd' and 'ruler' options.
*/
#ifdef FEAT_NORMAL
--- 207,212 ----
*** ../vim-8.1.0225/src/globals.h 2018-06-23 16:12:15.780258265 +0200
--- src/globals.h 2018-07-29 15:48:07.903939623 +0200
***************
*** 778,790 ****
* 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 */
--- 778,788 ----
*** ../vim-8.1.0225/src/macros.h 2018-06-28 19:26:24.321655175 +0200
--- src/macros.h 2018-07-29 15:48:34.883807640 +0200
***************
*** 235,245 ****
# 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
#ifdef FEAT_ARABIC
# define UTF_COMPOSINGLIKE(p1, p2) utf_composinglike((p1), (p2))
--- 235,241 ----
# define TIME_MSG(s) do { /**/ } while (0)
#endif
! #define REPLACE_NORMAL(s) (((s) & REPLACE_FLAG) && !((s) & VREPLACE_FLAG))
#ifdef FEAT_ARABIC
# define UTF_COMPOSINGLIKE(p1, p2) utf_composinglike((p1), (p2))
*** ../vim-8.1.0225/src/vim.h 2018-06-23 14:21:38.467484932 +0200
--- src/vim.h 2018-07-29 15:48:48.695739525 +0200
***************
*** 675,684 ****
#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 LREPLACE (REPLACE_FLAG + LANGMAP)
#define NORMAL_BUSY (0x100 + NORMAL) /* Normal mode, busy with a command */
--- 675,682 ----
#define REPLACE_FLAG 0x40 /* Replace mode flag */
#define REPLACE (REPLACE_FLAG + INSERT)
! #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 */
*** ../vim-8.1.0225/src/version.c 2018-07-29 15:34:20.868300075 +0200
--- src/version.c 2018-07-29 15:50:26.887245482 +0200
***************
*** 800,801 ****
--- 796,799 ----
{ /* Add new patch number below this line */
+ /**/
+ 226,
/**/
--
Shit makes the flowers grow and that's beautiful
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.