- patchlevel 264
This commit is contained in:
		
							parent
							
								
									e7ac7a970d
								
							
						
					
					
						commit
						664dc2c4f2
					
				
							
								
								
									
										159
									
								
								7.3.264
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								7.3.264
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,159 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.3.264 | ||||
| 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.264 | ||||
| Problem:    When the current directory name contains wildcard characters, such | ||||
| 	    as "foo[with]bar", the tags file can't be found.  (Jeremy | ||||
| 	    Erickson) | ||||
| Solution:   When searching for matching files also match without expanding | ||||
| 	    wildcards.  This is a bit of a hack. | ||||
| Files:	    src/vim.h, src/misc1.c, src/misc2.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.3.263/src/vim.h	2011-07-20 15:04:52.000000000 +0200 | ||||
| --- src/vim.h	2011-07-27 16:21:38.000000000 +0200 | ||||
| *************** | ||||
| *** 816,821 **** | ||||
| --- 816,822 ---- | ||||
|   #define EW_PATH		0x80	/* search in 'path' too */ | ||||
|   #define EW_ICASE	0x100	/* ignore case */ | ||||
|   #define EW_NOERROR	0x200	/* no error for bad regexp */ | ||||
| + #define EW_NOTWILD	0x400	/* add match with literal name if exists */ | ||||
|   /* 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.263/src/misc1.c	2011-07-20 15:04:52.000000000 +0200 | ||||
| --- src/misc1.c	2011-07-27 17:24:39.000000000 +0200 | ||||
| *************** | ||||
| *** 9119,9125 **** | ||||
|   	 * all entries found with "matchname". */ | ||||
|   	if ((p[0] != '.' || starts_with_dot) | ||||
|   		&& (matchname == NULL | ||||
| ! 		    || vim_regexec(®match, p, (colnr_T)0))) | ||||
|   	{ | ||||
|   #ifdef WIN3264 | ||||
|   	    STRCPY(s, p); | ||||
| --- 9119,9127 ---- | ||||
|   	 * all entries found with "matchname". */ | ||||
|   	if ((p[0] != '.' || starts_with_dot) | ||||
|   		&& (matchname == NULL | ||||
| ! 		  || vim_regexec(®match, p, (colnr_T)0) | ||||
| ! 		  || ((flags & EW_NOTWILD) | ||||
| ! 		     && fnamencmp(path + (s - buf), p, e - s) == 0))) | ||||
|   	{ | ||||
|   #ifdef WIN3264 | ||||
|   	    STRCPY(s, p); | ||||
| *************** | ||||
| *** 9323,9329 **** | ||||
|       e = p; | ||||
|       *e = NUL; | ||||
|    | ||||
| !     /* now we have one wildcard component between "s" and "e" */ | ||||
|       /* Remove backslashes between "wildoff" and the start of the wildcard | ||||
|        * component. */ | ||||
|       for (p = buf + wildoff; p < s; ++p) | ||||
| --- 9325,9331 ---- | ||||
|       e = p; | ||||
|       *e = NUL; | ||||
|    | ||||
| !     /* Now we have one wildcard component between "s" and "e". */ | ||||
|       /* Remove backslashes between "wildoff" and the start of the wildcard | ||||
|        * component. */ | ||||
|       for (p = buf + wildoff; p < s; ++p) | ||||
| *************** | ||||
| *** 9390,9396 **** | ||||
|   	    if (dp == NULL) | ||||
|   		break; | ||||
|   	    if ((dp->d_name[0] != '.' || starts_with_dot) | ||||
| ! 		    && vim_regexec(®match, (char_u *)dp->d_name, (colnr_T)0)) | ||||
|   	    { | ||||
|   		STRCPY(s, dp->d_name); | ||||
|   		len = STRLEN(buf); | ||||
| --- 9392,9400 ---- | ||||
|   	    if (dp == NULL) | ||||
|   		break; | ||||
|   	    if ((dp->d_name[0] != '.' || starts_with_dot) | ||||
| ! 		 && (vim_regexec(®match, (char_u *)dp->d_name, (colnr_T)0) | ||||
| ! 		   || ((flags & EW_NOTWILD) | ||||
| ! 		     && fnamencmp(path + (s - buf), dp->d_name, e - s) == 0))) | ||||
|   	    { | ||||
|   		STRCPY(s, dp->d_name); | ||||
|   		len = STRLEN(buf); | ||||
| *** ../vim-7.3.263/src/misc2.c	2011-07-07 17:15:29.000000000 +0200 | ||||
| --- src/misc2.c	2011-07-27 17:21:10.000000000 +0200 | ||||
| *************** | ||||
| *** 4653,4661 **** | ||||
|       { | ||||
|   	if (r_ptr[0] == '\\' && r_ptr[1] == ';') | ||||
|   	{ | ||||
| ! 	    /* overwrite the escape char, | ||||
| ! 	     * use STRLEN(r_ptr) to move the trailing '\0' | ||||
| ! 	     */ | ||||
|   	    STRMOVE(r_ptr, r_ptr + 1); | ||||
|   	    r_ptr++; | ||||
|   	} | ||||
| --- 4653,4660 ---- | ||||
|       { | ||||
|   	if (r_ptr[0] == '\\' && r_ptr[1] == ';') | ||||
|   	{ | ||||
| ! 	    /* Overwrite the escape char, | ||||
| ! 	     * use STRLEN(r_ptr) to move the trailing '\0'. */ | ||||
|   	    STRMOVE(r_ptr, r_ptr + 1); | ||||
|   	    r_ptr++; | ||||
|   	} | ||||
| *************** | ||||
| *** 4914,4923 **** | ||||
|   			stackp->ffs_filearray_size = 0; | ||||
|   		} | ||||
|   		else | ||||
|   		    expand_wildcards((dirptrs[1] == NULL) ? 1 : 2, dirptrs, | ||||
|   			    &stackp->ffs_filearray_size, | ||||
|   			    &stackp->ffs_filearray, | ||||
| ! 			    EW_DIR|EW_ADDSLASH|EW_SILENT); | ||||
|    | ||||
|   		stackp->ffs_filearray_cur = 0; | ||||
|   		stackp->ffs_stage = 0; | ||||
| --- 4913,4925 ---- | ||||
|   			stackp->ffs_filearray_size = 0; | ||||
|   		} | ||||
|   		else | ||||
| + 		    /* Add EW_NOTWILD because the expanded path may contain | ||||
| + 		     * wildcard characters that are to be taken literally. | ||||
| + 		     * This is a bit of a hack. */ | ||||
|   		    expand_wildcards((dirptrs[1] == NULL) ? 1 : 2, dirptrs, | ||||
|   			    &stackp->ffs_filearray_size, | ||||
|   			    &stackp->ffs_filearray, | ||||
| ! 			    EW_DIR|EW_ADDSLASH|EW_SILENT|EW_NOTWILD); | ||||
|    | ||||
|   		stackp->ffs_filearray_cur = 0; | ||||
|   		stackp->ffs_stage = 0; | ||||
| *** ../vim-7.3.263/src/version.c	2011-07-27 14:15:41.000000000 +0200 | ||||
| --- src/version.c	2011-07-27 17:25:44.000000000 +0200 | ||||
| *************** | ||||
| *** 711,712 **** | ||||
| --- 711,714 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     264, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| CUSTOMER:     You're not fooling anyone y'know.  Look, isn't there something | ||||
|               you can do? | ||||
| DEAD PERSON:  I feel happy... I feel happy. | ||||
|     [whop] | ||||
| CUSTOMER:     Ah, thanks very much. | ||||
| MORTICIAN:    Not at all.  See you on Thursday. | ||||
| CUSTOMER:     Right. | ||||
|                                   The Quest for the Holy Grail (Monty Python) | ||||
| 
 | ||||
|  /// 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    /// | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user