summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.072
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.072')
-rw-r--r--source/ap/vim/patches/7.3.072295
1 files changed, 295 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.072 b/source/ap/vim/patches/7.3.072
new file mode 100644
index 000000000..88e54f9e1
--- /dev/null
+++ b/source/ap/vim/patches/7.3.072
@@ -0,0 +1,295 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.072
+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.072
+Problem: Can't complete file names while ignoring case.
+Solution: Add 'wildignorecase'.
+Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c,
+ src/option.h, src/vim.h, runtime/doc/options.txt
+
+
+*** ../vim-7.3.071/src/ex_docmd.c 2010-11-24 15:50:54.000000000 +0100
+--- src/ex_docmd.c 2010-12-02 15:58:10.000000000 +0100
+***************
+*** 4524,4535 ****
+ else /* n == 2 */
+ {
+ expand_T xpc;
+
+ ExpandInit(&xpc);
+ xpc.xp_context = EXPAND_FILES;
+ p = ExpandOne(&xpc, eap->arg, NULL,
+! WILD_LIST_NOTFOUND|WILD_ADD_SLASH,
+! WILD_EXPAND_FREE);
+ if (p == NULL)
+ return FAIL;
+ }
+--- 4524,4537 ----
+ else /* n == 2 */
+ {
+ expand_T xpc;
++ int options = WILD_LIST_NOTFOUND|WILD_ADD_SLASH;
+
+ ExpandInit(&xpc);
+ xpc.xp_context = EXPAND_FILES;
++ if (p_wic)
++ options += WILD_ICASE;
+ p = ExpandOne(&xpc, eap->arg, NULL,
+! options, WILD_EXPAND_FREE);
+ if (p == NULL)
+ return FAIL;
+ }
+*** ../vim-7.3.071/src/ex_getln.c 2010-11-16 14:05:48.000000000 +0100
+--- src/ex_getln.c 2010-11-28 15:07:49.000000000 +0100
+***************
+*** 3339,3348 ****
+ p2 = NULL;
+ else
+ {
+ p2 = ExpandOne(xp, p1,
+ vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len),
+! WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE
+! |options, type);
+ vim_free(p1);
+ /* longest match: make sure it is not shorter, happens with :help */
+ if (p2 != NULL && type == WILD_LONGEST)
+--- 3339,3352 ----
+ p2 = NULL;
+ else
+ {
++ int use_options = options |
++ WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE;
++
++ if (p_wic)
++ use_options += WILD_ICASE;
+ p2 = ExpandOne(xp, p1,
+ vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len),
+! use_options, type);
+ vim_free(p1);
+ /* longest match: make sure it is not shorter, happens with :help */
+ if (p2 != NULL && type == WILD_LONGEST)
+***************
+*** 3428,3433 ****
+--- 3432,3438 ----
+ * options = WILD_KEEP_ALL: don't remove 'wildignore' entries
+ * options = WILD_SILENT: don't print warning messages
+ * options = WILD_ESCAPE: put backslash before special chars
++ * options = WILD_ICASE: ignore case for files
+ *
+ * The variables xp->xp_context and xp->xp_backslash must have been set!
+ */
+***************
+*** 4361,4366 ****
+--- 4366,4372 ----
+ char_u ***matches; /* return: array of pointers to matches */
+ {
+ char_u *file_str = NULL;
++ int options = WILD_ADD_SLASH|WILD_SILENT;
+
+ if (xp->xp_context == EXPAND_UNSUCCESSFUL)
+ {
+***************
+*** 4379,4387 ****
+ if (file_str == NULL)
+ return EXPAND_UNSUCCESSFUL;
+
+ /* find all files that match the description */
+! if (ExpandFromContext(xp, file_str, matchcount, matches,
+! WILD_ADD_SLASH|WILD_SILENT) == FAIL)
+ {
+ *matchcount = 0;
+ *matches = NULL;
+--- 4385,4395 ----
+ if (file_str == NULL)
+ return EXPAND_UNSUCCESSFUL;
+
++ if (p_wic)
++ options += WILD_ICASE;
++
+ /* find all files that match the description */
+! if (ExpandFromContext(xp, file_str, matchcount, matches, options) == FAIL)
+ {
+ *matchcount = 0;
+ *matches = NULL;
+***************
+*** 4433,4439 ****
+ char_u *pat;
+ int *num_file;
+ char_u ***file;
+! int options;
+ {
+ #ifdef FEAT_CMDL_COMPL
+ regmatch_T regmatch;
+--- 4441,4447 ----
+ char_u *pat;
+ int *num_file;
+ char_u ***file;
+! int options; /* EW_ flags */
+ {
+ #ifdef FEAT_CMDL_COMPL
+ regmatch_T regmatch;
+***************
+*** 4487,4492 ****
+--- 4495,4503 ----
+ flags |= (EW_FILE | EW_PATH);
+ else
+ flags = (flags | EW_DIR) & ~EW_FILE;
++ if (options & WILD_ICASE)
++ flags |= EW_ICASE;
++
+ /* Expand wildcards, supporting %:h and the like. */
+ ret = expand_wildcards_eval(&pat, num_file, file, flags);
+ if (free_pat)
+*** ../vim-7.3.071/src/misc1.c 2010-08-16 21:46:12.000000000 +0200
+--- src/misc1.c 2010-11-28 15:02:57.000000000 +0100
+***************
+*** 9161,9167 ****
+ #ifdef CASE_INSENSITIVE_FILENAME
+ regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
+ #else
+! regmatch.rm_ic = FALSE; /* Don't ever ignore case */
+ #endif
+ regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
+ vim_free(pat);
+--- 9161,9170 ----
+ #ifdef CASE_INSENSITIVE_FILENAME
+ regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
+ #else
+! if (flags & EW_ICASE)
+! regmatch.rm_ic = TRUE; /* 'wildignorecase' set */
+! else
+! regmatch.rm_ic = FALSE; /* Don't ignore case */
+ #endif
+ regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
+ vim_free(pat);
+***************
+*** 9643,9649 ****
+ if (paths == NULL)
+ return 0;
+
+! files = globpath(paths, pattern, 0);
+ vim_free(paths);
+ if (files == NULL)
+ return 0;
+--- 9646,9652 ----
+ if (paths == NULL)
+ return 0;
+
+! files = globpath(paths, pattern, (flags & EW_ICASE) ? WILD_ICASE : 0);
+ vim_free(paths);
+ if (files == NULL)
+ return 0;
+*** ../vim-7.3.071/src/option.c 2010-12-02 15:33:10.000000000 +0100
+--- src/option.c 2010-12-02 15:12:02.000000000 +0100
+***************
+*** 2740,2746 ****
+ (char_u *)&p_wc, PV_NONE,
+ {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
+ SCRIPTID_INIT},
+! {"wildcharm", "wcm", P_NUM|P_VI_DEF,
+ (char_u *)&p_wcm, PV_NONE,
+ {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
+ {"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+--- 2740,2746 ----
+ (char_u *)&p_wc, PV_NONE,
+ {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
+ SCRIPTID_INIT},
+! {"wildcharm", "wcm", P_NUM|P_VI_DEF,
+ (char_u *)&p_wcm, PV_NONE,
+ {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
+ {"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+***************
+*** 2750,2755 ****
+--- 2750,2758 ----
+ (char_u *)NULL, PV_NONE,
+ #endif
+ {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
++ {"wildignorecase", "wic", P_BOOL|P_VI_DEF,
++ (char_u *)&p_wic, PV_NONE,
++ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
+ {"wildmenu", "wmnu", P_BOOL|P_VI_DEF,
+ #ifdef FEAT_WILDMENU
+ (char_u *)&p_wmnu, PV_NONE,
+*** ../vim-7.3.071/src/option.h 2010-08-15 21:57:28.000000000 +0200
+--- src/option.h 2010-11-28 14:29:18.000000000 +0100
+***************
+*** 872,877 ****
+--- 872,878 ----
+ EXTERN char_u *p_ww; /* 'whichwrap' */
+ EXTERN long p_wc; /* 'wildchar' */
+ EXTERN long p_wcm; /* 'wildcharm' */
++ EXTERN long p_wic; /* 'wildignorecase' */
+ EXTERN char_u *p_wim; /* 'wildmode' */
+ #ifdef FEAT_WILDMENU
+ EXTERN int p_wmnu; /* 'wildmenu' */
+*** ../vim-7.3.071/src/vim.h 2010-10-20 19:17:43.000000000 +0200
+--- src/vim.h 2010-11-28 14:49:02.000000000 +0100
+***************
+*** 798,803 ****
+--- 798,804 ----
+ #define WILD_KEEP_ALL 32
+ #define WILD_SILENT 64
+ #define WILD_ESCAPE 128
++ #define WILD_ICASE 256
+
+ /* Flags for expand_wildcards() */
+ #define EW_DIR 0x01 /* include directory names */
+***************
+*** 808,813 ****
+--- 809,815 ----
+ #define EW_SILENT 0x20 /* don't print "1 returned" from shell */
+ #define EW_EXEC 0x40 /* executable files */
+ #define EW_PATH 0x80 /* search in 'path' too */
++ #define EW_ICASE 0x100 /* ignore case */
+ /* 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.071/runtime/doc/options.txt 2010-10-20 17:44:01.000000000 +0200
+--- runtime/doc/options.txt 2010-12-02 11:15:01.000000000 +0100
+***************
+*** 7748,7753 ****
+--- 7756,7772 ----
+ a pattern from the list. This avoids problems when a future version
+ uses another default.
+
++
++ *'wildignorecase* *'wic'* *'nowildignorecase* *'nowic'*
++ 'wildignorecase' 'wic' boolean (default off)
++ global
++ {not in Vi}
++ When set case is ignored when completing file names and directories.
++ Has no effect on systems where file name case is generally ignored.
++ Does not apply when the shell is used to expand wildcards, which
++ happens when there are special characters.
++
++
+ *'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
+ 'wildmenu' 'wmnu' boolean (default off)
+ global
+*** ../vim-7.3.071/src/version.c 2010-12-02 15:33:10.000000000 +0100
+--- src/version.c 2010-12-02 15:57:14.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+ { /* Add new patch number below this line */
++ /**/
++ 72,
+ /**/
+
+--
+I recommend ordering large cargo containers of paper towels to make up
+whatever budget underruns you have. Paper products are always useful and they
+have the advantage of being completely flushable if you need to make room in
+the storage area later.
+ (Scott Adams - The Dilbert principle)
+
+ /// 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 ///