summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.615
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.615')
-rw-r--r--source/ap/vim/patches/7.3.615107
1 files changed, 107 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.615 b/source/ap/vim/patches/7.3.615
new file mode 100644
index 000000000..96f6885fa
--- /dev/null
+++ b/source/ap/vim/patches/7.3.615
@@ -0,0 +1,107 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.615
+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.615
+Problem: Completion for a user command does not recognize backslash before
+ a space.
+Solution: Recognize escaped characters. (Yasuhiro Matsumoto)
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.3.614/src/ex_docmd.c 2012-07-10 19:25:06.000000000 +0200
+--- src/ex_docmd.c 2012-07-25 17:10:16.000000000 +0200
+***************
+*** 3390,3401 ****
+ return NULL;
+
+ /* Find start of last argument (argument just before cursor): */
+! p = buff + STRLEN(buff);
+! while (p != arg && *p != ' ' && *p != TAB)
+! p--;
+! if (*p == ' ' || *p == TAB)
+! p++;
+ xp->xp_pattern = p;
+
+ if (ea.argt & XFILE)
+ {
+--- 3390,3412 ----
+ return NULL;
+
+ /* Find start of last argument (argument just before cursor): */
+! p = buff;
+ xp->xp_pattern = p;
++ len = STRLEN(buff);
++ while (*p && p < buff + len)
++ {
++ if (*p == ' ' || *p == TAB)
++ {
++ /* argument starts after a space */
++ xp->xp_pattern = ++p;
++ }
++ else
++ {
++ if (*p == '\\' && *(p + 1) != NUL)
++ ++p; /* skip over escaped character */
++ mb_ptr_adv(p);
++ }
++ }
+
+ if (ea.argt & XFILE)
+ {
+***************
+*** 3821,3828 ****
+ if (compl == EXPAND_MAPPINGS)
+ return set_context_in_map_cmd(xp, (char_u *)"map",
+ arg, forceit, FALSE, FALSE, CMD_map);
+! while ((xp->xp_pattern = vim_strchr(arg, ' ')) != NULL)
+! arg = xp->xp_pattern + 1;
+ xp->xp_pattern = arg;
+ }
+ xp->xp_context = compl;
+--- 3832,3853 ----
+ if (compl == EXPAND_MAPPINGS)
+ return set_context_in_map_cmd(xp, (char_u *)"map",
+ arg, forceit, FALSE, FALSE, CMD_map);
+! /* Find start of last argument. */
+! p = arg;
+! while (*p)
+! {
+! if (*p == ' ')
+! {
+! /* argument starts after a space */
+! arg = p + 1;
+! }
+! else
+! {
+! if (*p == '\\' && *(p + 1) != NUL)
+! ++p; /* skip over escaped character */
+! mb_ptr_adv(p);
+! }
+! }
+ xp->xp_pattern = arg;
+ }
+ xp->xp_context = compl;
+*** ../vim-7.3.614/src/version.c 2012-07-25 16:46:59.000000000 +0200
+--- src/version.c 2012-07-25 17:17:05.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+ { /* Add new patch number below this line */
++ /**/
++ 615,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+172. You join listservers just for the extra e-mail.
+
+ /// 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 ///