Mercurial > vim
changeset 6134:4c25af735304 v7.4.405
updated for version 7.4.405
Problem: Screen updating is slow when using matches.
Solution: Do not use the ">=" as in patch 7.4.362, check the lnum.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sat, 16 Aug 2014 16:28:36 +0200 |
parents | 18fd959b07ef |
children | b13ea7b8c86c |
files | src/screen.c src/testdir/test63.in src/testdir/test63.ok src/version.c |
diffstat | 4 files changed, 27 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/screen.c +++ b/src/screen.c @@ -3858,7 +3858,7 @@ win_line(wp, lnum, startrow, endrow, noc { shl->attr_cur = shl->attr; } - else if (v >= (long)shl->endcol) + else if (v >= (long)shl->endcol && shl->lnum == lnum) { shl->attr_cur = 0; next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
--- a/src/testdir/test63.in +++ b/src/testdir/test63.in @@ -3,6 +3,7 @@ Test for ":match", ":2match", ":3match", STARTTEST :so small.vim +:set encoding=utf8 :" --- Check that "matcharg()" returns the correct group and pattern if a match :" --- is defined. :let @r = "*** Test 1: " @@ -164,7 +165,27 @@ STARTTEST :if v1 != v5 && v6 == v1 && v8 == v5 && v10 == v5 && v11 == v1 : let @r .= "OK\n" :else -: let @r .= "FAILED\n" +: let @r .= "FAILED: " . v5 . "/" . v6 . "/" . v8 . "/" . v10 . "/" . v11 . "\n" +:endif +:call clearmatches() +:" +:call setline(1, 'abcdΣabcdef') +:call matchaddpos("MyGroup1", [[1, 4, 2], [1, 9, 2]]) +:1 +:redraw! +:let v1 = screenattr(1, 1) +:let v4 = screenattr(1, 4) +:let v5 = screenattr(1, 5) +:let v6 = screenattr(1, 6) +:let v7 = screenattr(1, 7) +:let v8 = screenattr(1, 8) +:let v9 = screenattr(1, 9) +:let v10 = screenattr(1, 10) +:let @r .= string(getmatches())."\n" +:if v1 != v4 && v5 == v4 && v6 == v1 && v7 == v1 && v8 == v4 && v9 == v4 && v10 == v1 +: let @r .= "OK\n" +:else +: let @r .= "FAILED: " . v4 . "/" . v5 . "/" . v6 . "/" . v7 . "/" . v8 . "/" . v9 . "/" . v10 . "\n" :endif :call clearmatches() G"rp