Bram,
Patch 7.3.191 removed FEAT_OSFILETYPE. Unfortunately, fileio.c was
skipped. So here is a patch, that removes those defines in there too.
Best,
Christian
--
--
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
---
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/fileio.c b/src/fileio.c
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -10038,57 +10038,12 @@ match_file_pat(pattern, prog, fname, sfn
{
regmatch_T regmatch;
int result = FALSE;
-#ifdef FEAT_OSFILETYPE
- int no_pattern = FALSE; /* TRUE if check is filetype only */
- char_u *type_start;
- char_u c;
- int match = FALSE;
-#endif
regmatch.rm_ic = p_fic; /* ignore case if 'fileignorecase' is set */
-#ifdef FEAT_OSFILETYPE
- if (*pattern == '<')
- {
- /* There is a filetype condition specified with this pattern.
- * Check the filetype matches first. If not, don't bother with the
- * pattern (set regprog to NULL).
- * Always use magic for the regexp.
- */
-
- for (type_start = pattern + 1; (c = *pattern); pattern++)
- {
- if ((c == ';' || c == '>') && match == FALSE)
- {
- *pattern = NUL; /* Terminate the string */
- /* TODO: match with 'filetype' of buffer that "fname" comes
- * from. */
- match = mch_check_filetype(fname, type_start);
- *pattern = c; /* Restore the terminator */
- type_start = pattern + 1;
- }
- if (c == '>')
- break;
- }
-
- /* (c should never be NUL, but check anyway) */
- if (match == FALSE || c == NUL)
- regmatch.regprog = NULL; /* Doesn't match - don't check pat. */
- else if (*pattern == NUL)
- {
- regmatch.regprog = NULL; /* Vim will try to free regprog later */
- no_pattern = TRUE; /* Always matches - don't check pat. */
- }
- else
- regmatch.regprog = vim_regcomp(pattern + 1, RE_MAGIC);
- }
+ if (prog != NULL)
+ regmatch.regprog = prog;
else
-#endif
- {
- if (prog != NULL)
- regmatch.regprog = prog;
- else
- regmatch.regprog = vim_regcomp(pattern, RE_MAGIC);
- }
+ regmatch.regprog = vim_regcomp(pattern, RE_MAGIC);
/*
* Try for a match with the pattern with:
@@ -10096,19 +10051,12 @@ match_file_pat(pattern, prog, fname, sfn
* 2. the short file name, when the pattern has a '/'.
* 3. the tail of the file name, when the pattern has no '/'.
*/
- if (
-#ifdef FEAT_OSFILETYPE
- /* If the check is for a filetype only and we don't care
- * about the path then skip all the regexp stuff.
- */
- no_pattern ||
-#endif
- (regmatch.regprog != NULL
+ if (regmatch.regprog != NULL
&& ((allow_dirs
&& (vim_regexec(®match, fname, (colnr_T)0)
|| (sfname != NULL
&& vim_regexec(®match, sfname, (colnr_T)0))))
- || (!allow_dirs && vim_regexec(®match, tail, (colnr_T)0)))))
+ || (!allow_dirs && vim_regexec(®match, tail, (colnr_T)0))))
result = TRUE;
if (prog == NULL)
@@ -10163,9 +10111,6 @@ match_file_list(list, sfname, ffname)
* allow_dirs, otherwise FALSE is put there -- webb.
* Handle backslashes before special characters, like "\*" and "\ ".
*
- * If FEAT_OSFILETYPE defined then pass initial <type> through unchanged. Eg:
- * '<html>myfile' becomes '<html>^myfile$' -- leonard.
- *
* Returns NULL when out of memory.
*/
char_u *
@@ -10175,54 +10120,19 @@ file_pat_to_reg_pat(pat, pat_end, allow_
char *allow_dirs; /* Result passed back out in here */
int no_bslash UNUSED; /* Don't use a backward slash as pathsep */
{
- int size;
+ int size = 2; /* '^' at start, '$' at end */
char_u *endp;
char_u *reg_pat;
char_u *p;
int i;
int nested = 0;
int add_dollar = TRUE;
-#ifdef FEAT_OSFILETYPE
- int check_length = 0;
-#endif
if (allow_dirs != NULL)
*allow_dirs = FALSE;
if (pat_end == NULL)
pat_end = pat + STRLEN(pat);
-#ifdef FEAT_OSFILETYPE
- /* Find out how much of the string is the filetype check */
- if (*pat == '<')
- {
- /* Count chars until the next '>' */
- for (p = pat + 1; p < pat_end && *p != '>'; p++)
- ;
- if (p < pat_end)
- {
- /* Pattern is of the form <.*>.* */
- check_length = p - pat + 1;
- if (p + 1 >= pat_end)
- {
- /* The 'pattern' is a filetype check ONLY */
- reg_pat = (char_u *)alloc(check_length + 1);
- if (reg_pat != NULL)
- {
- mch_memmove(reg_pat, pat, (size_t)check_length);
- reg_pat[check_length] = NUL;
- }
- return reg_pat;
- }
- }
- /* else: there was no closing '>' - assume it was a normal pattern */
-
- }
- pat += check_length;
- size = 2 + check_length;
-#else
- size = 2; /* '^' at start, '$' at end */
-#endif
-
for (p = pat; p < pat_end; p++)
{
switch (*p)
@@ -10257,14 +10167,7 @@ file_pat_to_reg_pat(pat, pat_end, allow_
if (reg_pat == NULL)
return NULL;
-#ifdef FEAT_OSFILETYPE
- /* Copy the type check in to the start. */
- if (check_length)
- mch_memmove(reg_pat, pat - check_length, (size_t)check_length);
- i = check_length;
-#else
i = 0;
-#endif
if (pat[0] == '*')
while (pat[0] == '*' && pat < pat_end - 1)