Blob Blame History Raw
To: vim_dev@googlegroups.com
Subject: Patch 7.3.255
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.255
Problem:    When editing a file such as "File[2010-08-15].vim" an E16 error is
	    given. (Manuel Stol)
Solution:   Don't give an error for failing to compile the regexp.
Files:	    src/ex_docmd.c, src/misc1.c, src/vim.h


*** ../vim-7.3.254/src/ex_docmd.c	2011-06-13 01:19:48.000000000 +0200
--- src/ex_docmd.c	2011-07-20 14:48:01.000000000 +0200
***************
*** 7069,7075 ****
  	old_arg_count = GARGCOUNT;
  	if (expand_wildcards(old_arg_count, old_arg_files,
  		    &new_arg_file_count, &new_arg_files,
! 		    EW_FILE|EW_NOTFOUND|EW_ADDSLASH) == OK
  		&& new_arg_file_count > 0)
  	{
  	    alist_set(&global_alist, new_arg_file_count, new_arg_files,
--- 7069,7075 ----
  	old_arg_count = GARGCOUNT;
  	if (expand_wildcards(old_arg_count, old_arg_files,
  		    &new_arg_file_count, &new_arg_files,
! 		    EW_FILE|EW_NOTFOUND|EW_ADDSLASH|EW_NOERROR) == OK
  		&& new_arg_file_count > 0)
  	{
  	    alist_set(&global_alist, new_arg_file_count, new_arg_files,
*** ../vim-7.3.254/src/misc1.c	2011-07-15 14:12:25.000000000 +0200
--- src/misc1.c	2011-07-20 14:55:09.000000000 +0200
***************
*** 9043,9050 ****
--- 9043,9054 ----
      }
  
      /* compile the regexp into a program */
+     if (flags & EW_NOERROR)
+ 	++emsg_silent;
      regmatch.rm_ic = TRUE;		/* Always ignore case */
      regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
+     if (flags & EW_NOERROR)
+ 	--emsg_silent;
      vim_free(pat);
  
      if (regmatch.regprog == NULL)
*** ../vim-7.3.254/src/vim.h	2011-06-13 02:03:55.000000000 +0200
--- src/vim.h	2011-07-20 14:50:13.000000000 +0200
***************
*** 815,820 ****
--- 815,821 ----
  #define EW_EXEC		0x40	/* executable files */
  #define EW_PATH		0x80	/* search in 'path' too */
  #define EW_ICASE	0x100	/* ignore case */
+ #define EW_NOERROR	0x200	/* no error for bad regexp */
  /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
   * is used when executing commands and EW_SILENT for interactive expanding. */
  
*** ../vim-7.3.254/src/version.c	2011-07-15 21:24:06.000000000 +0200
--- src/version.c	2011-07-20 15:03:52.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
  {   /* Add new patch number below this line */
+ /**/
+     255,
  /**/

-- 
Not too long ago, a program was something you watched on TV...

 /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    ///