Mercurial > vim
changeset 13084:25ab78f14c8b v8.0.1417
patch 8.0.1417: test doesn't search for a sentence
commit https://github.com/vim/vim/commit/1bd999f982e783219a06e6c8f219df1d53ac7e77
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Dec 19 22:25:40 2017 +0100
patch 8.0.1417: test doesn't search for a sentence
Problem: Test doesn't search for a sentence. Still fails when searching for
start of sentence. (Dominique Pelle)
Solution: Add paren. Check for MAXCOL in dec().
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Dec 2017 22:30:06 +0100 |
parents | 2b7dcbf6426a |
children | d8f9d1cced93 |
files | src/misc2.c src/testdir/test_search.vim src/version.c |
diffstat | 3 files changed, 25 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/misc2.c +++ b/src/misc2.c @@ -417,8 +417,21 @@ dec(pos_T *lp) #ifdef FEAT_VIRTUALEDIT lp->coladd = 0; #endif - if (lp->col > 0) /* still within line */ + if (lp->col == MAXCOL) { + /* past end of line */ + p = ml_get(lp->lnum); + lp->col = (colnr_T)STRLEN(p); +#ifdef FEAT_MBYTE + if (has_mbyte) + lp->col -= (*mb_head_off)(p, p + lp->col); +#endif + return 0; + } + + if (lp->col > 0) + { + /* still within line */ lp->col--; #ifdef FEAT_MBYTE if (has_mbyte) @@ -429,8 +442,10 @@ dec(pos_T *lp) #endif return 0; } - if (lp->lnum > 1) /* there is a prior line */ + + if (lp->lnum > 1) { + /* there is a prior line */ lp->lnum--; p = ml_get(lp->lnum); lp->col = (colnr_T)STRLEN(p); @@ -440,7 +455,9 @@ dec(pos_T *lp) #endif return 1; } - return -1; /* at start of file */ + + /* at start of file */ + return -1; } /*