3ef2ca
To: vim_dev@googlegroups.com
3ef2ca
Subject: Patch 7.4.405
3ef2ca
Fcc: outbox
3ef2ca
From: Bram Moolenaar <Bram@moolenaar.net>
3ef2ca
Mime-Version: 1.0
3ef2ca
Content-Type: text/plain; charset=UTF-8
3ef2ca
Content-Transfer-Encoding: 8bit
3ef2ca
------------
3ef2ca
3ef2ca
Patch 7.4.405
3ef2ca
Problem:    Screen updating is slow when using matches.
3ef2ca
Solution:   Do not use the ">=" as in patch 7.4.362, check the lnum.
3ef2ca
Files:	    src/screen.c, src/testdir/test63.in, src/testdir/test63.ok
3ef2ca
3ef2ca
3ef2ca
*** ../vim-7.4.404/src/screen.c	2014-08-06 13:20:51.799275513 +0200
3ef2ca
--- src/screen.c	2014-08-16 16:23:31.486282950 +0200
3ef2ca
***************
3ef2ca
*** 3858,3864 ****
3ef2ca
  			{
3ef2ca
  			    shl->attr_cur = shl->attr;
3ef2ca
  			}
3ef2ca
! 			else if (v >= (long)shl->endcol)
3ef2ca
  			{
3ef2ca
  			    shl->attr_cur = 0;
3ef2ca
  			    next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
3ef2ca
--- 3858,3864 ----
3ef2ca
  			{
3ef2ca
  			    shl->attr_cur = shl->attr;
3ef2ca
  			}
3ef2ca
! 			else if (v >= (long)shl->endcol && shl->lnum == lnum)
3ef2ca
  			{
3ef2ca
  			    shl->attr_cur = 0;
3ef2ca
  			    next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
3ef2ca
*** ../vim-7.4.404/src/testdir/test63.in	2014-07-23 13:16:26.727971292 +0200
3ef2ca
--- src/testdir/test63.in	2014-08-16 16:00:58.618332015 +0200
3ef2ca
***************
3ef2ca
*** 3,8 ****
3ef2ca
--- 3,9 ----
3ef2ca
  
3ef2ca
  STARTTEST
3ef2ca
  :so small.vim
3ef2ca
+ :set encoding=utf8
3ef2ca
  :" --- Check that "matcharg()" returns the correct group and pattern if a match
3ef2ca
  :" --- is defined.
3ef2ca
  :let @r = "*** Test 1: "
3ef2ca
***************
3ef2ca
*** 164,170 ****
3ef2ca
  :if v1 != v5 && v6 == v1 && v8 == v5 && v10 == v5 && v11 == v1
3ef2ca
  :  let @r .= "OK\n"
3ef2ca
  :else
3ef2ca
! :  let @r .= "FAILED\n"
3ef2ca
  :endif
3ef2ca
  :call clearmatches()
3ef2ca
  G"rp
3ef2ca
--- 165,191 ----
3ef2ca
  :if v1 != v5 && v6 == v1 && v8 == v5 && v10 == v5 && v11 == v1
3ef2ca
  :  let @r .= "OK\n"
3ef2ca
  :else
3ef2ca
! :  let @r .= "FAILED: " . v5 . "/" . v6 . "/" . v8 . "/" . v10 . "/" . v11 . "\n"
3ef2ca
! :endif
3ef2ca
! :call clearmatches()
3ef2ca
! :"
3ef2ca
! :call setline(1, 'abcdΣabcdef')
3ef2ca
! :call matchaddpos("MyGroup1", [[1, 4, 2], [1, 9, 2]])
3ef2ca
! :1
3ef2ca
! :redraw!
3ef2ca
! :let v1 = screenattr(1, 1)
3ef2ca
! :let v4 = screenattr(1, 4)
3ef2ca
! :let v5 = screenattr(1, 5)
3ef2ca
! :let v6 = screenattr(1, 6)
3ef2ca
! :let v7 = screenattr(1, 7)
3ef2ca
! :let v8 = screenattr(1, 8)
3ef2ca
! :let v9 = screenattr(1, 9)
3ef2ca
! :let v10 = screenattr(1, 10)
3ef2ca
! :let @r .= string(getmatches())."\n"
3ef2ca
! :if v1 != v4 && v5 == v4 && v6 == v1 && v7 == v1 && v8 == v4 && v9 == v4 && v10 == v1
3ef2ca
! :  let @r .= "OK\n"
3ef2ca
! :else
3ef2ca
! :  let @r .= "FAILED: " . v4 . "/" . v5 . "/" . v6 . "/" . v7 . "/" . v8 . "/" . v9 . "/" . v10 . "\n"
3ef2ca
  :endif
3ef2ca
  :call clearmatches()
3ef2ca
  G"rp
3ef2ca
*** ../vim-7.4.404/src/testdir/test63.ok	2014-06-17 17:48:21.784628008 +0200
3ef2ca
--- src/testdir/test63.ok	2014-08-16 16:00:19.602333430 +0200
3ef2ca
***************
3ef2ca
*** 12,14 ****
3ef2ca
--- 12,16 ----
3ef2ca
  *** Test 11:
3ef2ca
  [{'group': 'MyGroup1', 'id': 3, 'priority': 10, 'pos1': [1, 5, 1], 'pos2': [1, 8, 3]}]
3ef2ca
  OK
3ef2ca
+ [{'group': 'MyGroup1', 'id': 11, 'priority': 10, 'pos1': [1, 4, 2], 'pos2': [1, 9, 2]}]
3ef2ca
+ OK
3ef2ca
*** ../vim-7.4.404/src/version.c	2014-08-13 22:05:49.032892299 +0200
3ef2ca
--- src/version.c	2014-08-16 16:28:18.442272543 +0200
3ef2ca
***************
3ef2ca
*** 743,744 ****
3ef2ca
--- 743,746 ----
3ef2ca
  {   /* Add new patch number below this line */
3ef2ca
+ /**/
3ef2ca
+     405,
3ef2ca
  /**/
3ef2ca
3ef2ca
-- 
3ef2ca
This planet has -- or rather had -- a problem, which was this: most
3ef2ca
of the people living on it were unhappy for pretty much of the time.
3ef2ca
Many solutions were suggested for this problem, but most of these
3ef2ca
were largely concerned with the movements of small green pieces of
3ef2ca
paper, which is odd because on the whole it wasn't the small green
3ef2ca
pieces of paper that were unhappy.
3ef2ca
		-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
3ef2ca
3ef2ca
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
3ef2ca
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
3ef2ca
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
3ef2ca
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///