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