3ef2ca
To: vim_dev@googlegroups.com
3ef2ca
Subject: Patch 7.4.079
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.079
3ef2ca
Problem:    A script cannot detect whether 'hlsearch' highlighting is actually
3ef2ca
            displayed.
3ef2ca
Solution:   Add the "v:hlsearch" variable. (ZyX)
3ef2ca
Files:      src/runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c,
3ef2ca
            src/option.c, src/screen.c, src/search.c, src/tag.c, src/vim.h,
3ef2ca
            src/testdir/test101.in, src/testdir/test101.ok,
3ef2ca
            src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
3ef2ca
            src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
3ef2ca
            src/testdir/Make_vms.mms, src/testdir/Makefile
3ef2ca
3ef2ca
3ef2ca
diff: ../vim-7.4.078/src/runtime/doc/eval.txt: No such file or directory
3ef2ca
diff: src/runtime/doc/eval.txt: No such file or directory
3ef2ca
*** ../vim-7.4.078/src/eval.c	2013-11-05 07:12:59.000000000 +0100
3ef2ca
--- src/eval.c	2013-11-08 04:11:46.000000000 +0100
3ef2ca
***************
3ef2ca
*** 356,361 ****
3ef2ca
--- 356,362 ----
3ef2ca
      {VV_NAME("mouse_col",	 VAR_NUMBER), 0},
3ef2ca
      {VV_NAME("operator",	 VAR_STRING), VV_RO},
3ef2ca
      {VV_NAME("searchforward",	 VAR_NUMBER), 0},
3ef2ca
+     {VV_NAME("hlsearch",	 VAR_NUMBER), 0},
3ef2ca
      {VV_NAME("oldfiles",	 VAR_LIST), 0},
3ef2ca
      {VV_NAME("windowid",	 VAR_NUMBER), VV_RO},
3ef2ca
  };
3ef2ca
***************
3ef2ca
*** 871,876 ****
3ef2ca
--- 872,878 ----
3ef2ca
  	    hash_add(&compat_hashtab, p->vv_di.di_key);
3ef2ca
      }
3ef2ca
      set_vim_var_nr(VV_SEARCHFORWARD, 1L);
3ef2ca
+     set_vim_var_nr(VV_HLSEARCH, 1L);
3ef2ca
      set_reg_var(0);  /* default for v:register is not 0 but '"' */
3ef2ca
  
3ef2ca
  #ifdef EBCDIC
3ef2ca
***************
3ef2ca
*** 20613,20618 ****
3ef2ca
--- 20615,20627 ----
3ef2ca
  		v->di_tv.vval.v_number = get_tv_number(tv);
3ef2ca
  		if (STRCMP(varname, "searchforward") == 0)
3ef2ca
  		    set_search_direction(v->di_tv.vval.v_number ? '/' : '?');
3ef2ca
+ #ifdef FEAT_SEARCH_EXTRA
3ef2ca
+ 		else if (STRCMP(varname, "hlsearch") == 0)
3ef2ca
+ 		{
3ef2ca
+ 		    no_hlsearch = !v->di_tv.vval.v_number;
3ef2ca
+ 		    redraw_all_later(SOME_VALID);
3ef2ca
+ 		}
3ef2ca
+ #endif
3ef2ca
  	    }
3ef2ca
  	    return;
3ef2ca
  	}
3ef2ca
*** ../vim-7.4.078/src/ex_docmd.c	2013-07-24 15:09:37.000000000 +0200
3ef2ca
--- src/ex_docmd.c	2013-11-08 04:17:01.000000000 +0100
3ef2ca
***************
3ef2ca
*** 11389,11395 ****
3ef2ca
  ex_nohlsearch(eap)
3ef2ca
      exarg_T	*eap UNUSED;
3ef2ca
  {
3ef2ca
!     no_hlsearch = TRUE;
3ef2ca
      redraw_all_later(SOME_VALID);
3ef2ca
  }
3ef2ca
  
3ef2ca
--- 11389,11395 ----
3ef2ca
  ex_nohlsearch(eap)
3ef2ca
      exarg_T	*eap UNUSED;
3ef2ca
  {
3ef2ca
!     SET_NO_HLSEARCH(TRUE);
3ef2ca
      redraw_all_later(SOME_VALID);
3ef2ca
  }
3ef2ca
  
3ef2ca
*** ../vim-7.4.078/src/option.c	2013-11-06 05:26:08.000000000 +0100
3ef2ca
--- src/option.c	2013-11-08 04:17:32.000000000 +0100
3ef2ca
***************
3ef2ca
*** 7811,7817 ****
3ef2ca
      /* when 'hlsearch' is set or reset: reset no_hlsearch */
3ef2ca
      else if ((int *)varp == &p_hls)
3ef2ca
      {
3ef2ca
! 	no_hlsearch = FALSE;
3ef2ca
      }
3ef2ca
  #endif
3ef2ca
  
3ef2ca
--- 7811,7817 ----
3ef2ca
      /* when 'hlsearch' is set or reset: reset no_hlsearch */
3ef2ca
      else if ((int *)varp == &p_hls)
3ef2ca
      {
3ef2ca
! 	SET_NO_HLSEARCH(FALSE);
3ef2ca
      }
3ef2ca
  #endif
3ef2ca
  
3ef2ca
*** ../vim-7.4.078/src/screen.c	2013-07-13 12:23:00.000000000 +0200
3ef2ca
--- src/screen.c	2013-11-08 04:17:48.000000000 +0100
3ef2ca
***************
3ef2ca
*** 7447,7453 ****
3ef2ca
  	    {
3ef2ca
  		/* don't free regprog in the match list, it's a copy */
3ef2ca
  		vim_regfree(shl->rm.regprog);
3ef2ca
! 		no_hlsearch = TRUE;
3ef2ca
  	    }
3ef2ca
  	    shl->rm.regprog = NULL;
3ef2ca
  	    shl->lnum = 0;
3ef2ca
--- 7447,7453 ----
3ef2ca
  	    {
3ef2ca
  		/* don't free regprog in the match list, it's a copy */
3ef2ca
  		vim_regfree(shl->rm.regprog);
3ef2ca
! 		SET_NO_HLSEARCH(TRUE);
3ef2ca
  	    }
3ef2ca
  	    shl->rm.regprog = NULL;
3ef2ca
  	    shl->lnum = 0;
3ef2ca
*** ../vim-7.4.078/src/search.c	2013-11-07 04:46:43.000000000 +0100
3ef2ca
--- src/search.c	2013-11-08 04:18:57.000000000 +0100
3ef2ca
***************
3ef2ca
*** 289,295 ****
3ef2ca
  	/* If 'hlsearch' set and search pat changed: need redraw. */
3ef2ca
  	if (p_hls)
3ef2ca
  	    redraw_all_later(SOME_VALID);
3ef2ca
! 	no_hlsearch = FALSE;
3ef2ca
  #endif
3ef2ca
      }
3ef2ca
  }
3ef2ca
--- 289,295 ----
3ef2ca
  	/* If 'hlsearch' set and search pat changed: need redraw. */
3ef2ca
  	if (p_hls)
3ef2ca
  	    redraw_all_later(SOME_VALID);
3ef2ca
! 	SET_NO_HLSEARCH(FALSE);
3ef2ca
  #endif
3ef2ca
      }
3ef2ca
  }
3ef2ca
***************
3ef2ca
*** 333,339 ****
3ef2ca
  	spats[1] = saved_spats[1];
3ef2ca
  	last_idx = saved_last_idx;
3ef2ca
  # ifdef FEAT_SEARCH_EXTRA
3ef2ca
! 	no_hlsearch = saved_no_hlsearch;
3ef2ca
  # endif
3ef2ca
      }
3ef2ca
  }
3ef2ca
--- 333,339 ----
3ef2ca
  	spats[1] = saved_spats[1];
3ef2ca
  	last_idx = saved_last_idx;
3ef2ca
  # ifdef FEAT_SEARCH_EXTRA
3ef2ca
! 	SET_NO_HLSEARCH(saved_no_hlsearch);
3ef2ca
  # endif
3ef2ca
      }
3ef2ca
  }
3ef2ca
***************
3ef2ca
*** 1148,1154 ****
3ef2ca
      if (no_hlsearch && !(options & SEARCH_KEEP))
3ef2ca
      {
3ef2ca
  	redraw_all_later(SOME_VALID);
3ef2ca
! 	no_hlsearch = FALSE;
3ef2ca
      }
3ef2ca
  #endif
3ef2ca
  
3ef2ca
--- 1148,1154 ----
3ef2ca
      if (no_hlsearch && !(options & SEARCH_KEEP))
3ef2ca
      {
3ef2ca
  	redraw_all_later(SOME_VALID);
3ef2ca
! 	SET_NO_HLSEARCH(FALSE);
3ef2ca
      }
3ef2ca
  #endif
3ef2ca
  
3ef2ca
***************
3ef2ca
*** 5561,5567 ****
3ef2ca
  		spats[idx].off.off = off;
3ef2ca
  #ifdef FEAT_SEARCH_EXTRA
3ef2ca
  		if (setlast)
3ef2ca
! 		    no_hlsearch = !hlsearch_on;
3ef2ca
  #endif
3ef2ca
  	    }
3ef2ca
  	}
3ef2ca
--- 5561,5569 ----
3ef2ca
  		spats[idx].off.off = off;
3ef2ca
  #ifdef FEAT_SEARCH_EXTRA
3ef2ca
  		if (setlast)
3ef2ca
! 		{
3ef2ca
! 		    SET_NO_HLSEARCH(!hlsearch_on);
3ef2ca
! 		}
3ef2ca
  #endif
3ef2ca
  	    }
3ef2ca
  	}
3ef2ca
*** ../vim-7.4.078/src/tag.c	2013-09-05 12:06:26.000000000 +0200
3ef2ca
--- src/tag.c	2013-11-08 04:19:14.000000000 +0100
3ef2ca
***************
3ef2ca
*** 3330,3336 ****
3ef2ca
  #ifdef FEAT_SEARCH_EXTRA
3ef2ca
  	/* restore no_hlsearch when keeping the old search pattern */
3ef2ca
  	if (search_options)
3ef2ca
! 	    no_hlsearch = save_no_hlsearch;
3ef2ca
  #endif
3ef2ca
  
3ef2ca
  	/* Return OK if jumped to another file (at least we found the file!). */
3ef2ca
--- 3330,3338 ----
3ef2ca
  #ifdef FEAT_SEARCH_EXTRA
3ef2ca
  	/* restore no_hlsearch when keeping the old search pattern */
3ef2ca
  	if (search_options)
3ef2ca
! 	{
3ef2ca
! 	    SET_NO_HLSEARCH(save_no_hlsearch);
3ef2ca
! 	}
3ef2ca
  #endif
3ef2ca
  
3ef2ca
  	/* Return OK if jumped to another file (at least we found the file!). */
3ef2ca
*** ../vim-7.4.078/src/vim.h	2013-08-02 16:02:27.000000000 +0200
3ef2ca
--- src/vim.h	2013-11-08 04:16:57.000000000 +0100
3ef2ca
***************
3ef2ca
*** 1864,1872 ****
3ef2ca
  #define VV_MOUSE_COL	51
3ef2ca
  #define VV_OP		52
3ef2ca
  #define VV_SEARCHFORWARD 53
3ef2ca
! #define VV_OLDFILES	54
3ef2ca
! #define VV_WINDOWID	55
3ef2ca
! #define VV_LEN		56	/* number of v: vars */
3ef2ca
  
3ef2ca
  #ifdef FEAT_CLIPBOARD
3ef2ca
  
3ef2ca
--- 1864,1873 ----
3ef2ca
  #define VV_MOUSE_COL	51
3ef2ca
  #define VV_OP		52
3ef2ca
  #define VV_SEARCHFORWARD 53
3ef2ca
! #define VV_HLSEARCH	54
3ef2ca
! #define VV_OLDFILES	55
3ef2ca
! #define VV_WINDOWID	56
3ef2ca
! #define VV_LEN		57	/* number of v: vars */
3ef2ca
  
3ef2ca
  #ifdef FEAT_CLIPBOARD
3ef2ca
  
3ef2ca
***************
3ef2ca
*** 2246,2249 ****
3ef2ca
--- 2247,2256 ----
3ef2ca
  /* Character used as separated in autoload function/variable names. */
3ef2ca
  #define AUTOLOAD_CHAR '#'
3ef2ca
  
3ef2ca
+ #ifdef FEAT_EVAL
3ef2ca
+ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch)
3ef2ca
+ #else
3ef2ca
+ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag)
3ef2ca
+ #endif
3ef2ca
+ 
3ef2ca
  #endif /* VIM__H */
3ef2ca
*** ../vim-7.4.078/src/testdir/test101.in	2013-11-08 04:28:49.000000000 +0100
3ef2ca
--- src/testdir/test101.in	2013-11-08 04:11:46.000000000 +0100
3ef2ca
***************
3ef2ca
*** 0 ****
3ef2ca
--- 1,45 ----
3ef2ca
+ Test for v:hlsearch     vim: set ft=vim :
3ef2ca
+ 
3ef2ca
+ STARTTEST
3ef2ca
+ :" Last abc: Q
3ef2ca
+ :so small.vim
3ef2ca
+ :new
3ef2ca
+ :call setline(1, repeat(['aaa'], 10))
3ef2ca
+ :set hlsearch nolazyredraw
3ef2ca
+ :let r=[]
3ef2ca
+ :command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch])
3ef2ca
+ /aaa
3ef2ca
+ :AddR
3ef2ca
+ :nohlsearch
3ef2ca
+ :AddR
3ef2ca
+ :let v:hlsearch=1
3ef2ca
+ :AddR
3ef2ca
+ :let v:hlsearch=0
3ef2ca
+ :AddR
3ef2ca
+ :set hlsearch
3ef2ca
+ :AddR
3ef2ca
+ :let v:hlsearch=0
3ef2ca
+ :AddR
3ef2ca
+ n:AddR
3ef2ca
+ :let v:hlsearch=0
3ef2ca
+ :AddR
3ef2ca
+ /
3ef2ca
+ :AddR
3ef2ca
+ :let r1=r[0][0]
3ef2ca
+ :" I guess it is not guaranteed that screenattr outputs always the same character
3ef2ca
+ :call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")')
3ef2ca
+ :try
3ef2ca
+ :   let v:hlsearch=[]
3ef2ca
+ :catch
3ef2ca
+ :   call add(r, matchstr(v:exception,'^Vim(let):E\d\+:'))
3ef2ca
+ :endtry
3ef2ca
+ :bwipeout!
3ef2ca
+ :$put=r
3ef2ca
+ :call garbagecollect(1)
3ef2ca
+ :"
3ef2ca
+ :/^start:/,$wq! test.out
3ef2ca
+ :" vim: et ts=4 isk-=\:
3ef2ca
+ :call getchar()
3ef2ca
+ ENDTEST
3ef2ca
+ 
3ef2ca
+ start:
3ef2ca
*** ../vim-7.4.078/src/testdir/test101.ok	2013-11-08 04:28:49.000000000 +0100
3ef2ca
--- src/testdir/test101.ok	2013-11-08 04:11:46.000000000 +0100
3ef2ca
***************
3ef2ca
*** 0 ****
3ef2ca
--- 1,11 ----
3ef2ca
+ start:
3ef2ca
+ 1:highlighted
3ef2ca
+ 0:not highlighted
3ef2ca
+ 1:highlighted
3ef2ca
+ 0:not highlighted
3ef2ca
+ 1:highlighted
3ef2ca
+ 0:not highlighted
3ef2ca
+ 1:highlighted
3ef2ca
+ 0:not highlighted
3ef2ca
+ 1:highlighted
3ef2ca
+ Vim(let):E706:
3ef2ca
*** ../vim-7.4.078/src/testdir/Make_amiga.mak	2013-11-07 03:25:51.000000000 +0100
3ef2ca
--- src/testdir/Make_amiga.mak	2013-11-08 04:22:13.000000000 +0100
3ef2ca
***************
3ef2ca
*** 34,40 ****
3ef2ca
  		test81.out test82.out test83.out test84.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test97.out test98.out \
3ef2ca
! 		test99.out test100.out
3ef2ca
  
3ef2ca
  .SUFFIXES: .in .out
3ef2ca
  
3ef2ca
--- 34,40 ----
3ef2ca
  		test81.out test82.out test83.out test84.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test97.out test98.out \
3ef2ca
! 		test99.out test100.out test101.out
3ef2ca
  
3ef2ca
  .SUFFIXES: .in .out
3ef2ca
  
3ef2ca
***************
3ef2ca
*** 151,153 ****
3ef2ca
--- 151,154 ----
3ef2ca
  test98.out: test98.in
3ef2ca
  test99.out: test99.in
3ef2ca
  test100.out: test100.in
3ef2ca
+ test101.out: test101.in
3ef2ca
*** ../vim-7.4.078/src/testdir/Make_dos.mak	2013-11-07 03:25:51.000000000 +0100
3ef2ca
--- src/testdir/Make_dos.mak	2013-11-08 04:22:17.000000000 +0100
3ef2ca
***************
3ef2ca
*** 33,39 ****
3ef2ca
  		test84.out test85.out test86.out test87.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test98.out test99.out \
3ef2ca
! 		test100.out
3ef2ca
  
3ef2ca
  SCRIPTS32 =	test50.out test70.out
3ef2ca
  
3ef2ca
--- 33,39 ----
3ef2ca
  		test84.out test85.out test86.out test87.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test98.out test99.out \
3ef2ca
! 		test100.out test101.out
3ef2ca
  
3ef2ca
  SCRIPTS32 =	test50.out test70.out
3ef2ca
  
3ef2ca
*** ../vim-7.4.078/src/testdir/Make_ming.mak	2013-11-07 03:25:51.000000000 +0100
3ef2ca
--- src/testdir/Make_ming.mak	2013-11-08 04:22:19.000000000 +0100
3ef2ca
***************
3ef2ca
*** 53,59 ****
3ef2ca
  		test84.out test85.out test86.out test87.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test98.out test99.out \
3ef2ca
! 		test100out
3ef2ca
  
3ef2ca
  SCRIPTS32 =	test50.out test70.out
3ef2ca
  
3ef2ca
--- 53,59 ----
3ef2ca
  		test84.out test85.out test86.out test87.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test98.out test99.out \
3ef2ca
! 		test100out test101.out
3ef2ca
  
3ef2ca
  SCRIPTS32 =	test50.out test70.out
3ef2ca
  
3ef2ca
*** ../vim-7.4.078/src/testdir/Make_os2.mak	2013-11-07 03:25:51.000000000 +0100
3ef2ca
--- src/testdir/Make_os2.mak	2013-11-08 04:22:21.000000000 +0100
3ef2ca
***************
3ef2ca
*** 35,41 ****
3ef2ca
  		test81.out test82.out test83.out test84.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test98.out test99.out \
3ef2ca
! 		test100.out
3ef2ca
  
3ef2ca
  .SUFFIXES: .in .out
3ef2ca
  
3ef2ca
--- 35,41 ----
3ef2ca
  		test81.out test82.out test83.out test84.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test98.out test99.out \
3ef2ca
! 		test100.out test101.out
3ef2ca
  
3ef2ca
  .SUFFIXES: .in .out
3ef2ca
  
3ef2ca
*** ../vim-7.4.078/src/testdir/Make_vms.mms	2013-11-07 03:25:51.000000000 +0100
3ef2ca
--- src/testdir/Make_vms.mms	2013-11-08 04:22:23.000000000 +0100
3ef2ca
***************
3ef2ca
*** 4,10 ****
3ef2ca
  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
3ef2ca
  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
3ef2ca
  #
3ef2ca
! # Last change:  2013 Nov 07
3ef2ca
  #
3ef2ca
  # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
3ef2ca
  # Edit the lines in the Configuration section below to select.
3ef2ca
--- 4,10 ----
3ef2ca
  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
3ef2ca
  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
3ef2ca
  #
3ef2ca
! # Last change:  2013 Nov 08
3ef2ca
  #
3ef2ca
  # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
3ef2ca
  # Edit the lines in the Configuration section below to select.
3ef2ca
***************
3ef2ca
*** 79,85 ****
3ef2ca
  	 test82.out test83.out test84.out test88.out test89.out \
3ef2ca
  	 test90.out test91.out test92.out test93.out test94.out \
3ef2ca
  	 test95.out test96.out test97.out test98.out test99.out \
3ef2ca
! 	 test100.out
3ef2ca
  
3ef2ca
  # Known problems:
3ef2ca
  # Test 30: a problem around mac format - unknown reason
3ef2ca
--- 79,85 ----
3ef2ca
  	 test82.out test83.out test84.out test88.out test89.out \
3ef2ca
  	 test90.out test91.out test92.out test93.out test94.out \
3ef2ca
  	 test95.out test96.out test97.out test98.out test99.out \
3ef2ca
! 	 test100.out test101.out
3ef2ca
  
3ef2ca
  # Known problems:
3ef2ca
  # Test 30: a problem around mac format - unknown reason
3ef2ca
*** ../vim-7.4.078/src/testdir/Makefile	2013-11-07 03:25:51.000000000 +0100
3ef2ca
--- src/testdir/Makefile	2013-11-08 04:22:26.000000000 +0100
3ef2ca
***************
3ef2ca
*** 30,36 ****
3ef2ca
  		test84.out test85.out test86.out test87.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test97.out test98.out \
3ef2ca
! 		test99.out test100.out
3ef2ca
  
3ef2ca
  SCRIPTS_GUI = test16.out
3ef2ca
  
3ef2ca
--- 30,36 ----
3ef2ca
  		test84.out test85.out test86.out test87.out test88.out \
3ef2ca
  		test89.out test90.out test91.out test92.out test93.out \
3ef2ca
  		test94.out test95.out test96.out test97.out test98.out \
3ef2ca
! 		test99.out test100.out test101.out
3ef2ca
  
3ef2ca
  SCRIPTS_GUI = test16.out
3ef2ca
  
3ef2ca
*** ../vim-7.4.078/src/version.c	2013-11-08 03:15:39.000000000 +0100
3ef2ca
--- src/version.c	2013-11-08 04:11:08.000000000 +0100
3ef2ca
***************
3ef2ca
*** 740,741 ****
3ef2ca
--- 740,743 ----
3ef2ca
  {   /* Add new patch number below this line */
3ef2ca
+ /**/
3ef2ca
+     79,
3ef2ca
  /**/
3ef2ca
3ef2ca
-- 
3ef2ca
Corn oil comes from corn and olive oil comes from olives, so where
3ef2ca
does baby oil come from?
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    ///