# HG changeset patch # User Bram Moolenaar # Date 1417112089 -3600 # Node ID 01c668384bcc7fd0f8572a8de2dfc3b2ead7eff0 # Parent cf7754ebe684b70b9161f1b94588b896f3818497 updated for version 7.4.537 Problem: Value of v:hlsearch reflects an internal variable. Solution: Make the value reflect whether search highlighting is actually displayed. (Christian Brabandt) diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1457,10 +1457,10 @@ v:foldstart Used for 'foldtext': first l Read-only in the |sandbox|. |fold-foldtext| *v:hlsearch* *hlsearch-variable* -v:hlsearch Variable that determines whether search highlighting is on. - Makes sense only if 'hlsearch' is enabled which requires - |+extra_search|. Setting this variable to zero acts the like - |:nohlsearch| command, setting it to one acts like > +v:hlsearch Variable that indicates whether search highlighting is on. + Setting it makes sense only if 'hlsearch' is enabled which + requires |+extra_search|. Setting this variable to zero acts + the like |:nohlsearch| command, setting it to one acts like > let &hlsearch = &hlsearch < *v:insertmode* *insertmode-variable* diff --git a/src/testdir/test101.in b/src/testdir/test101.in --- a/src/testdir/test101.in +++ b/src/testdir/test101.in @@ -25,6 +25,9 @@ n:AddR :AddR / :AddR +:set nohls +/ +:AddR :let r1=r[0][0] :" I guess it is not guaranteed that screenattr outputs always the same character :call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")') diff --git a/src/testdir/test101.ok b/src/testdir/test101.ok --- a/src/testdir/test101.ok +++ b/src/testdir/test101.ok @@ -8,4 +8,5 @@ 0:not highlighted 1:highlighted 0:not highlighted 1:highlighted +0:not highlighted Vim(let):E706: diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 537, +/**/ 536, /**/ 535, diff --git a/src/vim.h b/src/vim.h --- a/src/vim.h +++ b/src/vim.h @@ -1998,7 +1998,7 @@ typedef int VimClipboard; /* This is req #ifndef FEAT_VIRTUALEDIT # define getvvcol(w, p, s, c, e) getvcol(w, p, s, c, e) -# define virtual_active() 0 +# define virtual_active() FALSE # define virtual_op FALSE #endif @@ -2277,7 +2277,7 @@ typedef int VimClipboard; /* This is req #define AUTOLOAD_CHAR '#' #ifdef FEAT_EVAL -# define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch) +# define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch && p_hls) #else # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag) #endif