Loading ...
Sorry, an error occurred while loading the content.

73955Patch 7.4.079

Expand Messages
  • Bram Moolenaar
    Nov 7, 2013
    • 0 Attachment
      Patch 7.4.079
      Problem: A script cannot detect whether 'hlsearch' highlighting is actually
      displayed.
      Solution: Add the "v:hlsearch" variable. (ZyX)
      Files: src/runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c,
      src/option.c, src/screen.c, src/search.c, src/tag.c, src/vim.h,
      src/testdir/test101.in, src/testdir/test101.ok,
      src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
      src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
      src/testdir/Make_vms.mms, src/testdir/Makefile


      diff: ../vim-7.4.078/src/runtime/doc/eval.txt: No such file or directory
      diff: src/runtime/doc/eval.txt: No such file or directory
      *** ../vim-7.4.078/src/eval.c 2013-11-05 07:12:59.000000000 +0100
      --- src/eval.c 2013-11-08 04:11:46.000000000 +0100
      ***************
      *** 356,361 ****
      --- 356,362 ----
      {VV_NAME("mouse_col", VAR_NUMBER), 0},
      {VV_NAME("operator", VAR_STRING), VV_RO},
      {VV_NAME("searchforward", VAR_NUMBER), 0},
      + {VV_NAME("hlsearch", VAR_NUMBER), 0},
      {VV_NAME("oldfiles", VAR_LIST), 0},
      {VV_NAME("windowid", VAR_NUMBER), VV_RO},
      };
      ***************
      *** 871,876 ****
      --- 872,878 ----
      hash_add(&compat_hashtab, p->vv_di.di_key);
      }
      set_vim_var_nr(VV_SEARCHFORWARD, 1L);
      + set_vim_var_nr(VV_HLSEARCH, 1L);
      set_reg_var(0); /* default for v:register is not 0 but '"' */

      #ifdef EBCDIC
      ***************
      *** 20613,20618 ****
      --- 20615,20627 ----
      v->di_tv.vval.v_number = get_tv_number(tv);
      if (STRCMP(varname, "searchforward") == 0)
      set_search_direction(v->di_tv.vval.v_number ? '/' : '?');
      + #ifdef FEAT_SEARCH_EXTRA
      + else if (STRCMP(varname, "hlsearch") == 0)
      + {
      + no_hlsearch = !v->di_tv.vval.v_number;
      + redraw_all_later(SOME_VALID);
      + }
      + #endif
      }
      return;
      }
      *** ../vim-7.4.078/src/ex_docmd.c 2013-07-24 15:09:37.000000000 +0200
      --- src/ex_docmd.c 2013-11-08 04:17:01.000000000 +0100
      ***************
      *** 11389,11395 ****
      ex_nohlsearch(eap)
      exarg_T *eap UNUSED;
      {
      ! no_hlsearch = TRUE;
      redraw_all_later(SOME_VALID);
      }

      --- 11389,11395 ----
      ex_nohlsearch(eap)
      exarg_T *eap UNUSED;
      {
      ! SET_NO_HLSEARCH(TRUE);
      redraw_all_later(SOME_VALID);
      }

      *** ../vim-7.4.078/src/option.c 2013-11-06 05:26:08.000000000 +0100
      --- src/option.c 2013-11-08 04:17:32.000000000 +0100
      ***************
      *** 7811,7817 ****
      /* when 'hlsearch' is set or reset: reset no_hlsearch */
      else if ((int *)varp == &p_hls)
      {
      ! no_hlsearch = FALSE;
      }
      #endif

      --- 7811,7817 ----
      /* when 'hlsearch' is set or reset: reset no_hlsearch */
      else if ((int *)varp == &p_hls)
      {
      ! SET_NO_HLSEARCH(FALSE);
      }
      #endif

      *** ../vim-7.4.078/src/screen.c 2013-07-13 12:23:00.000000000 +0200
      --- src/screen.c 2013-11-08 04:17:48.000000000 +0100
      ***************
      *** 7447,7453 ****
      {
      /* don't free regprog in the match list, it's a copy */
      vim_regfree(shl->rm.regprog);
      ! no_hlsearch = TRUE;
      }
      shl->rm.regprog = NULL;
      shl->lnum = 0;
      --- 7447,7453 ----
      {
      /* don't free regprog in the match list, it's a copy */
      vim_regfree(shl->rm.regprog);
      ! SET_NO_HLSEARCH(TRUE);
      }
      shl->rm.regprog = NULL;
      shl->lnum = 0;
      *** ../vim-7.4.078/src/search.c 2013-11-07 04:46:43.000000000 +0100
      --- src/search.c 2013-11-08 04:18:57.000000000 +0100
      ***************
      *** 289,295 ****
      /* If 'hlsearch' set and search pat changed: need redraw. */
      if (p_hls)
      redraw_all_later(SOME_VALID);
      ! no_hlsearch = FALSE;
      #endif
      }
      }
      --- 289,295 ----
      /* If 'hlsearch' set and search pat changed: need redraw. */
      if (p_hls)
      redraw_all_later(SOME_VALID);
      ! SET_NO_HLSEARCH(FALSE);
      #endif
      }
      }
      ***************
      *** 333,339 ****
      spats[1] = saved_spats[1];
      last_idx = saved_last_idx;
      # ifdef FEAT_SEARCH_EXTRA
      ! no_hlsearch = saved_no_hlsearch;
      # endif
      }
      }
      --- 333,339 ----
      spats[1] = saved_spats[1];
      last_idx = saved_last_idx;
      # ifdef FEAT_SEARCH_EXTRA
      ! SET_NO_HLSEARCH(saved_no_hlsearch);
      # endif
      }
      }
      ***************
      *** 1148,1154 ****
      if (no_hlsearch && !(options & SEARCH_KEEP))
      {
      redraw_all_later(SOME_VALID);
      ! no_hlsearch = FALSE;
      }
      #endif

      --- 1148,1154 ----
      if (no_hlsearch && !(options & SEARCH_KEEP))
      {
      redraw_all_later(SOME_VALID);
      ! SET_NO_HLSEARCH(FALSE);
      }
      #endif

      ***************
      *** 5561,5567 ****
      spats[idx].off.off = off;
      #ifdef FEAT_SEARCH_EXTRA
      if (setlast)
      ! no_hlsearch = !hlsearch_on;
      #endif
      }
      }
      --- 5561,5569 ----
      spats[idx].off.off = off;
      #ifdef FEAT_SEARCH_EXTRA
      if (setlast)
      ! {
      ! SET_NO_HLSEARCH(!hlsearch_on);
      ! }
      #endif
      }
      }
      *** ../vim-7.4.078/src/tag.c 2013-09-05 12:06:26.000000000 +0200
      --- src/tag.c 2013-11-08 04:19:14.000000000 +0100
      ***************
      *** 3330,3336 ****
      #ifdef FEAT_SEARCH_EXTRA
      /* restore no_hlsearch when keeping the old search pattern */
      if (search_options)
      ! no_hlsearch = save_no_hlsearch;
      #endif

      /* Return OK if jumped to another file (at least we found the file!). */
      --- 3330,3338 ----
      #ifdef FEAT_SEARCH_EXTRA
      /* restore no_hlsearch when keeping the old search pattern */
      if (search_options)
      ! {
      ! SET_NO_HLSEARCH(save_no_hlsearch);
      ! }
      #endif

      /* Return OK if jumped to another file (at least we found the file!). */
      *** ../vim-7.4.078/src/vim.h 2013-08-02 16:02:27.000000000 +0200
      --- src/vim.h 2013-11-08 04:16:57.000000000 +0100
      ***************
      *** 1864,1872 ****
      #define VV_MOUSE_COL 51
      #define VV_OP 52
      #define VV_SEARCHFORWARD 53
      ! #define VV_OLDFILES 54
      ! #define VV_WINDOWID 55
      ! #define VV_LEN 56 /* number of v: vars */

      #ifdef FEAT_CLIPBOARD

      --- 1864,1873 ----
      #define VV_MOUSE_COL 51
      #define VV_OP 52
      #define VV_SEARCHFORWARD 53
      ! #define VV_HLSEARCH 54
      ! #define VV_OLDFILES 55
      ! #define VV_WINDOWID 56
      ! #define VV_LEN 57 /* number of v: vars */

      #ifdef FEAT_CLIPBOARD

      ***************
      *** 2246,2249 ****
      --- 2247,2256 ----
      /* Character used as separated in autoload function/variable names. */
      #define AUTOLOAD_CHAR '#'

      + #ifdef FEAT_EVAL
      + # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch)
      + #else
      + # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag)
      + #endif
      +
      #endif /* VIM__H */
      *** ../vim-7.4.078/src/testdir/test101.in 2013-11-08 04:28:49.000000000 +0100
      --- src/testdir/test101.in 2013-11-08 04:11:46.000000000 +0100
      ***************
      *** 0 ****
      --- 1,45 ----
      + Test for v:hlsearch vim: set ft=vim :
      +
      + STARTTEST
      + :" Last abc: Q
      + :so small.vim
      + :new
      + :call setline(1, repeat(['aaa'], 10))
      + :set hlsearch nolazyredraw
      + :let r=[]
      + :command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch])
      + /aaa
      + :AddR
      + :nohlsearch
      + :AddR
      + :let v:hlsearch=1
      + :AddR
      + :let v:hlsearch=0
      + :AddR
      + :set hlsearch
      + :AddR
      + :let v:hlsearch=0
      + :AddR
      + n:AddR
      + :let v:hlsearch=0
      + :AddR
      + /
      + :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")')
      + :try
      + : let v:hlsearch=[]
      + :catch
      + : call add(r, matchstr(v:exception,'^Vim(let):E\d\+:'))
      + :endtry
      + :bwipeout!
      + :$put=r
      + :call garbagecollect(1)
      + :"
      + :/^start:/,$wq! test.out
      + :" vim: et ts=4 isk-=\:
      + :call getchar()
      + ENDTEST
      +
      + start:
      *** ../vim-7.4.078/src/testdir/test101.ok 2013-11-08 04:28:49.000000000 +0100
      --- src/testdir/test101.ok 2013-11-08 04:11:46.000000000 +0100
      ***************
      *** 0 ****
      --- 1,11 ----
      + start:
      + 1:highlighted
      + 0:not highlighted
      + 1:highlighted
      + 0:not highlighted
      + 1:highlighted
      + 0:not highlighted
      + 1:highlighted
      + 0:not highlighted
      + 1:highlighted
      + Vim(let):E706:
      *** ../vim-7.4.078/src/testdir/Make_amiga.mak 2013-11-07 03:25:51.000000000 +0100
      --- src/testdir/Make_amiga.mak 2013-11-08 04:22:13.000000000 +0100
      ***************
      *** 34,40 ****
      test81.out test82.out test83.out test84.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test97.out test98.out \
      ! test99.out test100.out

      .SUFFIXES: .in .out

      --- 34,40 ----
      test81.out test82.out test83.out test84.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test97.out test98.out \
      ! test99.out test100.out test101.out

      .SUFFIXES: .in .out

      ***************
      *** 151,153 ****
      --- 151,154 ----
      test98.out: test98.in
      test99.out: test99.in
      test100.out: test100.in
      + test101.out: test101.in
      *** ../vim-7.4.078/src/testdir/Make_dos.mak 2013-11-07 03:25:51.000000000 +0100
      --- src/testdir/Make_dos.mak 2013-11-08 04:22:17.000000000 +0100
      ***************
      *** 33,39 ****
      test84.out test85.out test86.out test87.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test98.out test99.out \
      ! test100.out

      SCRIPTS32 = test50.out test70.out

      --- 33,39 ----
      test84.out test85.out test86.out test87.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test98.out test99.out \
      ! test100.out test101.out

      SCRIPTS32 = test50.out test70.out

      *** ../vim-7.4.078/src/testdir/Make_ming.mak 2013-11-07 03:25:51.000000000 +0100
      --- src/testdir/Make_ming.mak 2013-11-08 04:22:19.000000000 +0100
      ***************
      *** 53,59 ****
      test84.out test85.out test86.out test87.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test98.out test99.out \
      ! test100out

      SCRIPTS32 = test50.out test70.out

      --- 53,59 ----
      test84.out test85.out test86.out test87.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test98.out test99.out \
      ! test100out test101.out

      SCRIPTS32 = test50.out test70.out

      *** ../vim-7.4.078/src/testdir/Make_os2.mak 2013-11-07 03:25:51.000000000 +0100
      --- src/testdir/Make_os2.mak 2013-11-08 04:22:21.000000000 +0100
      ***************
      *** 35,41 ****
      test81.out test82.out test83.out test84.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test98.out test99.out \
      ! test100.out

      .SUFFIXES: .in .out

      --- 35,41 ----
      test81.out test82.out test83.out test84.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test98.out test99.out \
      ! test100.out test101.out

      .SUFFIXES: .in .out

      *** ../vim-7.4.078/src/testdir/Make_vms.mms 2013-11-07 03:25:51.000000000 +0100
      --- src/testdir/Make_vms.mms 2013-11-08 04:22:23.000000000 +0100
      ***************
      *** 4,10 ****
      # Authors: Zoltan Arpadffy, <arpadffy@...>
      # Sandor Kopanyi, <sandor.kopanyi@...>
      #
      ! # Last change: 2013 Nov 07
      #
      # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
      # Edit the lines in the Configuration section below to select.
      --- 4,10 ----
      # Authors: Zoltan Arpadffy, <arpadffy@...>
      # Sandor Kopanyi, <sandor.kopanyi@...>
      #
      ! # Last change: 2013 Nov 08
      #
      # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
      # Edit the lines in the Configuration section below to select.
      ***************
      *** 79,85 ****
      test82.out test83.out test84.out test88.out test89.out \
      test90.out test91.out test92.out test93.out test94.out \
      test95.out test96.out test97.out test98.out test99.out \
      ! test100.out

      # Known problems:
      # Test 30: a problem around mac format - unknown reason
      --- 79,85 ----
      test82.out test83.out test84.out test88.out test89.out \
      test90.out test91.out test92.out test93.out test94.out \
      test95.out test96.out test97.out test98.out test99.out \
      ! test100.out test101.out

      # Known problems:
      # Test 30: a problem around mac format - unknown reason
      *** ../vim-7.4.078/src/testdir/Makefile 2013-11-07 03:25:51.000000000 +0100
      --- src/testdir/Makefile 2013-11-08 04:22:26.000000000 +0100
      ***************
      *** 30,36 ****
      test84.out test85.out test86.out test87.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test97.out test98.out \
      ! test99.out test100.out

      SCRIPTS_GUI = test16.out

      --- 30,36 ----
      test84.out test85.out test86.out test87.out test88.out \
      test89.out test90.out test91.out test92.out test93.out \
      test94.out test95.out test96.out test97.out test98.out \
      ! test99.out test100.out test101.out

      SCRIPTS_GUI = test16.out

      *** ../vim-7.4.078/src/version.c 2013-11-08 03:15:39.000000000 +0100
      --- src/version.c 2013-11-08 04:11:08.000000000 +0100
      ***************
      *** 740,741 ****
      --- 740,743 ----
      { /* Add new patch number below this line */
      + /**/
      + 79,
      /**/

      --
      Corn oil comes from corn and olive oil comes from olives, so where
      does baby oil come from?

      /// Bram Moolenaar -- Bram@... -- 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 vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • Show all 6 messages in this topic