summaryrefslogtreecommitdiff
path: root/src/search.c
diff options
context:
space:
mode:
authorvimboss <devnull@localhost>2004-12-31 20:58:58 +0000
committervimboss <devnull@localhost>2004-12-31 20:58:58 +0000
commit772971119ced5855c49fd795eca4b23d374cceaa (patch)
treed454cc29b2c6118f26f6911b4dcfcc34847f7b10 /src/search.c
parent6bf62aba2d8fd2d1e58665076f40f258329911bb (diff)
downloadvim-772971119ced5855c49fd795eca4b23d374cceaa.tar.gz
updated for version 7.0027
Diffstat (limited to 'src/search.c')
-rw-r--r--src/search.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/search.c b/src/search.c
index 6a915e17..1d1bc3b3 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2367,6 +2367,7 @@ findsent(dir, count)
int startlnum;
int noskip = FALSE; /* do not skip blanks */
int cpo_J;
+ int found_dot;
pos = curwin->w_cursor;
if (dir == FORWARD)
@@ -2404,9 +2405,17 @@ findsent(dir, count)
decl(&pos);
/* go back to the previous non-blank char */
+ found_dot = FALSE;
while ((c = gchar_pos(&pos)) == ' ' || c == '\t' ||
(dir == BACKWARD && vim_strchr((char_u *)".!?)]\"'", c) != NULL))
{
+ if (vim_strchr((char_u *)".!?", c) != NULL)
+ {
+ /* Only skip over a '.', '!' and '?' once. */
+ if (found_dot)
+ break;
+ found_dot = TRUE;
+ }
if (decl(&pos) == -1)
break;
/* when going forward: Stop in front of empty line */
@@ -3315,7 +3324,7 @@ extend:
if (start_blank)
--ncount;
}
- if (ncount)
+ if (ncount > 0)
findsent_forward(ncount, TRUE);
else
decl(&curwin->w_cursor);