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 -- [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

Raspunde prin e-mail lui