Patch 7.4.2269
Problem:    Using 'hlsearch' highlighting instead of matchpos if there is no
            search match.
Solution:   Pass NULL as last item to next_search_hl() when searching for
            'hlsearch' match. (Shane Harper, closes #1013)
Files:      src/screen.c, src/testdir/test_match.vim.


*** ../vim-7.4.2268/src/screen.c        2016-08-22 23:04:29.210161667 +0200
--- src/screen.c        2016-08-27 18:31:38.699769756 +0200
***************
*** 3546,3552 ****
        v = (long)(ptr - line);
        if (cur != NULL)
            cur->pos.cur = 0;
!       next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
  
        /* Need to get the line again, a multi-line regexp may have made it
         * invalid. */
--- 3546,3553 ----
        v = (long)(ptr - line);
        if (cur != NULL)
            cur->pos.cur = 0;
!       next_search_hl(wp, shl, lnum, (colnr_T)v,
!                                              shl == &search_hl ? NULL : cur);
  
        /* Need to get the line again, a multi-line regexp may have made it
         * invalid. */
***************
*** 3980,3986 ****
  #ifdef FEAT_CONCEAL
                            prev_syntax_id = 0;
  #endif
!                           next_search_hl(wp, shl, lnum, (colnr_T)v, cur);
                            pos_inprogress = cur == NULL || cur->pos.cur == 0
                                                               ? FALSE : TRUE;
  
--- 3981,3988 ----
  #ifdef FEAT_CONCEAL
                            prev_syntax_id = 0;
  #endif
!                           next_search_hl(wp, shl, lnum, (colnr_T)v,
!                                              shl == &search_hl ? NULL : cur);
                            pos_inprogress = cur == NULL || cur->pos.cur == 0
                                                               ? FALSE : TRUE;
  
***************
*** 7607,7613 ****
            while (shl->first_lnum < lnum && (shl->rm.regprog != NULL
                                          || (cur != NULL && pos_inprogress)))
            {
!               next_search_hl(wp, shl, shl->first_lnum, (colnr_T)n, cur);
                pos_inprogress = cur == NULL || cur->pos.cur == 0
                                                              ? FALSE : TRUE;
                if (shl->lnum != 0)
--- 7609,7616 ----
            while (shl->first_lnum < lnum && (shl->rm.regprog != NULL
                                          || (cur != NULL && pos_inprogress)))
            {
!               next_search_hl(wp, shl, shl->first_lnum, (colnr_T)n,
!                                              shl == &search_hl ? NULL : cur);
                pos_inprogress = cur == NULL || cur->pos.cur == 0
                                                              ? FALSE : TRUE;
                if (shl->lnum != 0)
*** ../vim-7.4.2268/src/testdir/test_match.vim  2016-08-18 23:04:44.662592810 
+0200
--- src/testdir/test_match.vim  2016-08-27 18:28:13.517514527 +0200
***************
*** 186,189 ****
--- 186,216 ----
    set hlsearch&
  endfunc
  
+ func Test_matchaddpos_using_negative_priority()
+   set hlsearch
+ 
+   call clearmatches()
+ 
+   call setline(1, 'x')
+   let @/='x'
+   redraw!
+   let search_attr = screenattr(1,1)
+ 
+   let @/=''
+   call matchaddpos('Error', [1], 10)
+   redraw!
+   let error_attr = screenattr(1,1)
+ 
+   call setline(2, '-1 match priority')
+   call matchaddpos('Error', [2], -1)
+   redraw!
+   let negative_match_priority_attr = screenattr(2,1)
+ 
+   call assert_notequal(negative_match_priority_attr, search_attr, "Match with 
negative priority is incorrectly highlighted with Search highlight.")
+   call assert_equal(negative_match_priority_attr, error_attr)
+ 
+   nohl
+   set hlsearch&
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-7.4.2268/src/version.c       2016-08-27 16:26:32.719930990 +0200
--- src/version.c       2016-08-27 18:34:02.318548406 +0200
***************
*** 765,766 ****
--- 765,768 ----
  {   /* Add new patch number below this line */
+ /**/
+     2269,
  /**/

-- 
>From "know your smileys":
 <<<:-{    Worf (Never smiles anyways, so he's a bad smiley)

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui