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); /* set correct case for file name */
}
! #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); /* set correct case for file name */
}
! # 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 ----
{ /* Add new patch number below this line */
+ /**/
+ 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
/// 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 ///