Mercurial > vim
diff src/search.c @ 45:e474bae3795f
updated for version 7.0027
author | vimboss |
---|---|
date | Fri, 31 Dec 2004 20:58:58 +0000 |
parents | 125e80798a85 |
children | 8f25c0d2210f |
line wrap: on
line diff
--- 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);