diff options
author | vimboss <devnull@localhost> | 2004-12-31 20:58:58 +0000 |
---|---|---|
committer | vimboss <devnull@localhost> | 2004-12-31 20:58:58 +0000 |
commit | 772971119ced5855c49fd795eca4b23d374cceaa (patch) | |
tree | d454cc29b2c6118f26f6911b4dcfcc34847f7b10 /src/search.c | |
parent | 6bf62aba2d8fd2d1e58665076f40f258329911bb (diff) | |
download | vim-772971119ced5855c49fd795eca4b23d374cceaa.tar.gz |
updated for version 7.0027
Diffstat (limited to 'src/search.c')
-rw-r--r-- | src/search.c | 11 |
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); |