diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.025')
-rw-r--r-- | source/ap/vim/patches/7.3.025 | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/source/ap/vim/patches/7.3.025 b/source/ap/vim/patches/7.3.025 deleted file mode 100644 index 0fb3bee6..00000000 --- a/source/ap/vim/patches/7.3.025 +++ /dev/null @@ -1,136 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.3.025 -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.025 -Problem: ":mksession" does not square brackets escape file name properly. -Solution: Improve escapging of file names. (partly by Peter Odding) -Files: src/ex_docmd.c - - -*** ../vim-7.3.024/src/ex_docmd.c 2010-09-21 16:56:29.000000000 +0200 ---- src/ex_docmd.c 2010-10-13 17:39:17.000000000 +0200 -*************** -*** 10708,10714 **** - * Write a file name to the session file. - * Takes care of the "slash" option in 'sessionoptions' and escapes special - * characters. -! * Returns FAIL if writing fails. - */ - static int - ses_put_fname(fd, name, flagp) ---- 10708,10714 ---- - * Write a file name to the session file. - * Takes care of the "slash" option in 'sessionoptions' and escapes special - * characters. -! * Returns FAIL if writing fails or out of memory. - */ - static int - ses_put_fname(fd, name, flagp) -*************** -*** 10717,10765 **** - unsigned *flagp; - { - char_u *sname; - int retval = OK; -- int c; - - sname = home_replace_save(NULL, name); -! if (sname != NULL) -! name = sname; -! while (*name != NUL) -! { -! #ifdef FEAT_MBYTE -! { -! int l; - -! if (has_mbyte && (l = (*mb_ptr2len)(name)) > 1) -! { -! /* copy a multibyte char */ -! while (--l >= 0) -! { -! if (putc(*name, fd) != *name) -! retval = FAIL; -! ++name; -! } -! continue; -! } -! } -! #endif -! c = *name++; -! if (c == '\\' && (*flagp & SSOP_SLASH)) -! /* change a backslash to a forward slash */ -! c = '/'; -! else if ((vim_strchr(escape_chars, c) != NULL -! #ifdef BACKSLASH_IN_FILENAME -! && c != '\\' -! #endif -! ) || c == '#' || c == '%') -! { -! /* escape a special character with a backslash */ -! if (putc('\\', fd) != '\\') -! retval = FAIL; -! } -! if (putc(c, fd) != c) -! retval = FAIL; - } - vim_free(sname); - return retval; - } - ---- 10717,10748 ---- - unsigned *flagp; - { - char_u *sname; -+ char_u *p; - int retval = OK; - - sname = home_replace_save(NULL, name); -! if (sname == NULL) -! return FAIL; - -! if (*flagp & SSOP_SLASH) -! { -! /* change all backslashes to forward slashes */ -! for (p = sname; *p != NUL; mb_ptr_adv(p)) -! if (*p == '\\') -! *p = '/'; - } -+ -+ /* escapse special characters */ -+ p = vim_strsave_fnameescape(sname, FALSE); - vim_free(sname); -+ if (p == NULL) -+ return FAIL; -+ -+ /* write the result */ -+ if (fputs((char *)p, fd) < 0) -+ retval = FAIL; -+ -+ vim_free(p); - return retval; - } - -*** ../vim-7.3.024/src/version.c 2010-10-13 16:44:17.000000000 +0200 ---- src/version.c 2010-10-13 17:49:15.000000000 +0200 -*************** -*** 716,717 **** ---- 716,719 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 25, - /**/ - --- -"Time flies like an arrow". So I put an arrow on my desk, now -awaiting one of these time flies showing up. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |