mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.3.235
Problem: ";" gets stuck on a "t" command, it's not useful. Solution: Add the ';' flag in 'cpo'. (Christian Brabandt)
This commit is contained in:
parent
20892c1e68
commit
8b3e0330ba
@ -269,11 +269,11 @@ T{char} Till after [count]'th occurrence of {char} to the
|
||||
{char} can be entered like with the |f| command.
|
||||
|
||||
*;*
|
||||
; Repeat latest f, t, F or T [count] times.
|
||||
; Repeat latest f, t, F or T [count] times. See |cpo-;|
|
||||
|
||||
*,*
|
||||
, Repeat latest f, t, F or T in opposite direction
|
||||
[count] times.
|
||||
[count] times. See also |cpo-;|
|
||||
|
||||
==============================================================================
|
||||
3. Up-down motions *up-down-motions*
|
||||
|
@ -2117,6 +2117,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*cpo->*
|
||||
> When appending to a register, put a line break before
|
||||
the appended text.
|
||||
*cpo-;*
|
||||
; When using |,| or |;| to repeat the last |t| search
|
||||
and the cursor is right in front of the searched
|
||||
character, the cursor won't move. When not included,
|
||||
the cursor would skip over it and jump to the
|
||||
following occurence.
|
||||
|
||||
POSIX flags. These are not included in the Vi default value, except
|
||||
when $VIM_POSIX was set on startup. |posix|
|
||||
|
@ -169,10 +169,12 @@
|
||||
#define CPO_SUBPERCENT '/' /* % in :s string uses previous one */
|
||||
#define CPO_BACKSL '\\' /* \ is not special in [] */
|
||||
#define CPO_CHDIR '.' /* don't chdir if buffer is modified */
|
||||
#define CPO_SCOLON ';' /* using "," and ";" will skip over char if
|
||||
* cursor would not move */
|
||||
/* default values for Vim, Vi and POSIX */
|
||||
#define CPO_VIM "aABceFs"
|
||||
#define CPO_VI "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>"
|
||||
#define CPO_ALL "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>#{|&/\\."
|
||||
#define CPO_VI "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>;"
|
||||
#define CPO_ALL "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>#{|&/\\.;"
|
||||
|
||||
/* characters for p_ww option: */
|
||||
#define WW_ALL "bshl<>[],~"
|
||||
|
15
src/search.c
15
src/search.c
@ -1546,6 +1546,7 @@ searchc(cap, t_cmd)
|
||||
int col;
|
||||
char_u *p;
|
||||
int len;
|
||||
int stop = TRUE;
|
||||
#ifdef FEAT_MBYTE
|
||||
static char_u bytes[MB_MAXBYTES];
|
||||
static int bytelen = 1; /* >1 for multi-byte char */
|
||||
@ -1580,6 +1581,12 @@ searchc(cap, t_cmd)
|
||||
t_cmd = last_t_cmd;
|
||||
c = lastc;
|
||||
/* For multi-byte re-use last bytes[] and bytelen. */
|
||||
|
||||
/* Force a move of at least one char, so ";" and "," will move the
|
||||
* cursor, even if the cursor is right in front of char we are looking
|
||||
* at. */
|
||||
if (vim_strchr(p_cpo, CPO_SCOLON) == NULL && count == 1)
|
||||
stop = FALSE;
|
||||
}
|
||||
|
||||
if (dir == BACKWARD)
|
||||
@ -1612,14 +1619,15 @@ searchc(cap, t_cmd)
|
||||
}
|
||||
if (bytelen == 1)
|
||||
{
|
||||
if (p[col] == c)
|
||||
if (p[col] == c && stop)
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (vim_memcmp(p + col, bytes, bytelen) == 0)
|
||||
if (vim_memcmp(p + col, bytes, bytelen) == 0 && stop)
|
||||
break;
|
||||
}
|
||||
stop = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1629,8 +1637,9 @@ searchc(cap, t_cmd)
|
||||
{
|
||||
if ((col += dir) < 0 || col >= len)
|
||||
return FAIL;
|
||||
if (p[col] == c)
|
||||
if (p[col] == c && stop)
|
||||
break;
|
||||
stop = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,8 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
@ -128,3 +129,4 @@ test77.out: test77.in
|
||||
test78.out: test78.in
|
||||
test79.out: test79.in
|
||||
test80.out: test80.in
|
||||
test81.out: test81.in
|
||||
|
@ -29,7 +29,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out
|
||||
test79.out test80.out test81.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
|
@ -49,7 +49,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out
|
||||
test79.out test80.out test81.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
|
@ -28,7 +28,8 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
# Last change: 2011 Jun 19
|
||||
# Last change: 2011 Jun 26
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
@ -75,7 +75,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77.out test78.out test79.out test80.out
|
||||
test77.out test78.out test79.out test80.out test81.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
|
@ -26,7 +26,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
test69.out test70.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out
|
||||
test79.out test80.out test81.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
|
18
src/testdir/test81.in
Normal file
18
src/testdir/test81.in
Normal file
@ -0,0 +1,18 @@
|
||||
Test for t movement command and 'cpo-;' setting
|
||||
|
||||
STARTTEST
|
||||
:set nocompatible
|
||||
:set cpo-=;
|
||||
/firstline/
|
||||
j0tt;D
|
||||
$Ty;D:set cpo+=;
|
||||
j0tt;;D
|
||||
$Ty;;D:?firstline?+1,$w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
firstline
|
||||
aaa two three four
|
||||
bbb yee yoo four
|
||||
ccc two three four
|
||||
ddd yee yoo four
|
4
src/testdir/test81.ok
Normal file
4
src/testdir/test81.ok
Normal file
@ -0,0 +1,4 @@
|
||||
aaa two
|
||||
bbb y
|
||||
ccc
|
||||
ddd yee y
|
@ -709,6 +709,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
235,
|
||||
/**/
|
||||
234,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user