| To: vim-dev@vim.org |
| Subject: patch 7.1.135 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding: 8bit |
| ------------ |
| |
| Patch 7.1.135 |
| Problem: Win32: When editing a file c:\tmp\foo and c:\tmp\\foo we have two |
| buffers for the same file. (Suresh Govindachar) |
| Solution: Invoke FullName_save() when a path contains "//" or "\\". |
| Files: src/buffer.c |
| |
| |
| *** ../vim-7.1.134/src/buffer.c Sun Sep 30 14:00:41 2007 |
| --- src/buffer.c Wed Oct 3 14:24:52 2007 |
| *************** |
| *** 4175,4203 **** |
| * mess up the full path name, even though it starts with a '/'. |
| * Also expand when there is ".." in the file name, try to remove it, |
| * because "c:/src/../README" is equal to "c:/README". |
| * For MS-Windows also expand names like "longna~1" to "longname". |
| */ |
| #ifdef UNIX |
| return FullName_save(fname, TRUE); |
| #else |
| ! if (!vim_isAbsName(fname) || strstr((char *)fname, "..") != NULL |
| ! #if defined(MSWIN) || defined(DJGPP) |
| || vim_strchr(fname, '~') != NULL |
| ! #endif |
| ) |
| return FullName_save(fname, FALSE); |
| |
| fname = vim_strsave(fname); |
| |
| ! #ifdef USE_FNAME_CASE |
| ! # ifdef USE_LONG_FNAME |
| if (USE_LONG_FNAME) |
| ! # endif |
| { |
| if (fname != NULL) |
| fname_case(fname, 0); |
| } |
| ! #endif |
| |
| return fname; |
| #endif |
| --- 4175,4209 ---- |
| * mess up the full path name, even though it starts with a '/'. |
| * Also expand when there is ".." in the file name, try to remove it, |
| * because "c:/src/../README" is equal to "c:/README". |
| + * Similarly "c:/src//file" is equal to "c:/src/file". |
| * For MS-Windows also expand names like "longna~1" to "longname". |
| */ |
| #ifdef UNIX |
| return FullName_save(fname, TRUE); |
| #else |
| ! if (!vim_isAbsName(fname) |
| ! || strstr((char *)fname, "..") != NULL |
| ! || strstr((char *)fname, "//") != NULL |
| ! # ifdef BACKSLASH_IN_FILENAME |
| ! || strstr((char *)fname, "\\\\") != NULL |
| ! # endif |
| ! # if defined(MSWIN) || defined(DJGPP) |
| || vim_strchr(fname, '~') != NULL |
| ! # endif |
| ) |
| return FullName_save(fname, FALSE); |
| |
| fname = vim_strsave(fname); |
| |
| ! # ifdef USE_FNAME_CASE |
| ! # ifdef USE_LONG_FNAME |
| if (USE_LONG_FNAME) |
| ! # endif |
| { |
| if (fname != NULL) |
| fname_case(fname, 0); |
| } |
| ! # endif |
| |
| return fname; |
| #endif |
| *** ../vim-7.1.134/src/version.c Wed Oct 3 13:28:40 2007 |
| --- src/version.c Wed Oct 3 14:26:54 2007 |
| *************** |
| *** 668,669 **** |
| --- 668,671 ---- |
| { |
| + |
| + 135, |
| |
| |
| -- |
| A village. Sound of chanting of Latin canon, punctuated by short, sharp |
| cracks. It comes nearer. We see it is a line of MONKS ala SEVENTH SEAL |
| flagellation scene, chanting and banging themselves on the foreheads with |
| wooden boards. |
| "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD |
| |
| |
| |
| \\\ download, build and distribute -- http: |
| \\\ help me help AIDS victims -- http: |