home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / 7.3 / 7.3.399 < prev    next >
Encoding:
Internet Message Format  |  2012-11-20  |  4.0 KB

  1. To: vim_dev@googlegroups.com
  2. Subject: Patch 7.3.399
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. Mime-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. ------------
  9.  
  10. Patch 7.3.399
  11. Problem:    ":cd" doesn't work when the path contains wildcards. (Yukihiro
  12.         Nakadaira)
  13. Solution:   Ignore wildcard errors when the EW_NOTWILD flag is used.
  14. Files:        src/misc1.c
  15.  
  16.  
  17. *** ../vim-7.3.398/src/misc1.c    2011-12-14 20:21:29.000000000 +0100
  18. --- src/misc1.c    2012-01-10 17:57:42.000000000 +0100
  19. ***************
  20. *** 9103,9117 ****
  21.       }
  22.   
  23.       /* compile the regexp into a program */
  24. !     if (flags & EW_NOERROR)
  25.       ++emsg_silent;
  26.       regmatch.rm_ic = TRUE;        /* Always ignore case */
  27.       regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
  28. !     if (flags & EW_NOERROR)
  29.       --emsg_silent;
  30.       vim_free(pat);
  31.   
  32. !     if (regmatch.regprog == NULL)
  33.       {
  34.       vim_free(buf);
  35.       return 0;
  36. --- 9103,9117 ----
  37.       }
  38.   
  39.       /* compile the regexp into a program */
  40. !     if (flags & (EW_NOERROR | EW_NOTWILD))
  41.       ++emsg_silent;
  42.       regmatch.rm_ic = TRUE;        /* Always ignore case */
  43.       regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
  44. !     if (flags & (EW_NOERROR | EW_NOTWILD))
  45.       --emsg_silent;
  46.       vim_free(pat);
  47.   
  48. !     if (regmatch.regprog == NULL && (flags & EW_NOTWILD) == 0)
  49.       {
  50.       vim_free(buf);
  51.       return 0;
  52. ***************
  53. *** 9179,9185 ****
  54.        * all entries found with "matchname". */
  55.       if ((p[0] != '.' || starts_with_dot)
  56.           && (matchname == NULL
  57. !           || vim_regexec(®match, p, (colnr_T)0)
  58.             || ((flags & EW_NOTWILD)
  59.                && fnamencmp(path + (s - buf), p, e - s) == 0)))
  60.       {
  61. --- 9179,9186 ----
  62.        * all entries found with "matchname". */
  63.       if ((p[0] != '.' || starts_with_dot)
  64.           && (matchname == NULL
  65. !           || (regmatch.regprog != NULL
  66. !                      && vim_regexec(®match, p, (colnr_T)0))
  67.             || ((flags & EW_NOTWILD)
  68.                && fnamencmp(path + (s - buf), p, e - s) == 0)))
  69.       {
  70. ***************
  71. *** 9419,9428 ****
  72.       else
  73.       regmatch.rm_ic = FALSE;        /* Don't ignore case */
  74.   #endif
  75.       regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
  76.       vim_free(pat);
  77.   
  78. !     if (regmatch.regprog == NULL)
  79.       {
  80.       vim_free(buf);
  81.       return 0;
  82. --- 9420,9433 ----
  83.       else
  84.       regmatch.rm_ic = FALSE;        /* Don't ignore case */
  85.   #endif
  86. +     if (flags & (EW_NOERROR | EW_NOTWILD))
  87. +     ++emsg_silent;
  88.       regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
  89. +     if (flags & (EW_NOERROR | EW_NOTWILD))
  90. +     --emsg_silent;
  91.       vim_free(pat);
  92.   
  93. !     if (regmatch.regprog == NULL && (flags & EW_NOTWILD) == 0)
  94.       {
  95.       vim_free(buf);
  96.       return 0;
  97. ***************
  98. *** 9452,9458 ****
  99.           if (dp == NULL)
  100.           break;
  101.           if ((dp->d_name[0] != '.' || starts_with_dot)
  102. !          && (vim_regexec(®match, (char_u *)dp->d_name, (colnr_T)0)
  103.              || ((flags & EW_NOTWILD)
  104.                && fnamencmp(path + (s - buf), dp->d_name, e - s) == 0)))
  105.           {
  106. --- 9457,9464 ----
  107.           if (dp == NULL)
  108.           break;
  109.           if ((dp->d_name[0] != '.' || starts_with_dot)
  110. !          && ((regmatch.regprog != NULL && vim_regexec(®match,
  111. !                          (char_u *)dp->d_name, (colnr_T)0))
  112.              || ((flags & EW_NOTWILD)
  113.                && fnamencmp(path + (s - buf), dp->d_name, e - s) == 0)))
  114.           {
  115. *** ../vim-7.3.398/src/version.c    2012-01-10 17:13:48.000000000 +0100
  116. --- src/version.c    2012-01-10 18:21:05.000000000 +0100
  117. ***************
  118. *** 716,717 ****
  119. --- 716,719 ----
  120.   {   /* Add new patch number below this line */
  121. + /**/
  122. +     399,
  123.   /**/
  124.  
  125. -- 
  126. Close your shells, or I'll kill -9 you
  127. Tomorrow I'll quota you
  128. Remember the disks'll always be full
  129. And then while I'm away
  130. I'll write ~ everyday
  131. And I'll send-pr all my buggings to you.
  132.     [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ]
  133.  
  134.  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
  135. ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
  136. \\\  an exciting new programming language -- http://www.Zimbu.org        ///
  137.  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
  138.