To: vim-dev@vim.org Subject: Patch 5.5.054 Fcc: outbox From: Bram Moolenaar ------------ Patch 5.5.054 Problem: Unix: ":e #" doesn't work if the alternate file name contains a space or backslash. (Hudacek) Solution: When replacing "#", "%" or other items that stand for a file name, prepend a backslash before special characters. Files: src/ex_docmd.c *** ../vim-5.5.53/src/ex_docmd.c Tue Oct 12 19:37:16 1999 --- src/ex_docmd.c Sun Dec 5 15:52:03 1999 *************** *** 3369,3374 **** --- 3369,3395 ---- continue; } + #ifdef UNIX + /* For Unix there is a check for a single file name below. Need to + * escape white space et al. with a backslash. */ + if ((eap->argt & NOSPC) && !eap->usefilter) + { + char_u *l; + + for (l = repl; *l; ++l) + if (vim_strchr(escape_chars, *l) != NULL) + { + l = vim_strsave_escaped(repl, escape_chars); + if (l != NULL) + { + vim_free(repl); + repl = l; + } + break; + } + } + #endif + p = repl_cmdline(eap, p, srclen, repl, cmdlinep); vim_free(repl); if (p == NULL) *************** *** 3390,3396 **** { if (n == 2) { ! #if defined(UNIX) /* * Only for Unix we check for more than one file name. * For other systems spaces are considered to be part --- 3411,3417 ---- { if (n == 2) { ! #ifdef UNIX /* * Only for Unix we check for more than one file name. * For other systems spaces are considered to be part *** ../vim-5.5.53/src/version.c Sun Dec 5 15:57:56 1999 --- src/version.c Sun Dec 5 15:57:36 1999 *************** *** 420,420 **** --- 420,421 ---- { /* Add new patch number below this line */ + 54, -- hundred-and-one symptoms of being an internet addict: 244. You use more than 20 passwords. --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\-- \ \ www.vim.org/iccf www.moolenaar.net www.vim.org / /