packages: vim/7.3.281 (NEW) - new: 7.3.281

marti marti at pld-linux.org
Mon Aug 29 20:44:46 CEST 2011


Author: marti                        Date: Mon Aug 29 18:44:46 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- new: 7.3.281

---- Files affected:
packages/vim:
   7.3.281 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/vim/7.3.281
diff -u /dev/null packages/vim/7.3.281:1.1
--- /dev/null	Mon Aug 29 20:44:46 2011
+++ packages/vim/7.3.281	Mon Aug 29 20:44:41 2011
@@ -0,0 +1,134 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.281
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.281
+Problem:    After using "expand('%:8')" the buffer name is changed.
+Solution:   Make a copy of the file name before shortening it.
+Files:	    src/eval.c
+
+
+*** ../vim-7.3.280/src/eval.c	2011-08-10 12:38:02.000000000 +0200
+--- src/eval.c	2011-08-17 15:12:39.000000000 +0200
+***************
+*** 23205,23210 ****
+--- 23205,23211 ----
+      int		c;
+      int		has_fullname = 0;
+  #ifdef WIN3264
++     char_u	*fname_start = *fnamep;
+      int		has_shortname = 0;
+  #endif
+  
+***************
+*** 23379,23402 ****
+      }
+  
+  #ifdef WIN3264
+!     /* Check shortname after we have done 'heads' and before we do 'tails'
+       */
+      if (has_shortname)
+      {
+! 	pbuf = NULL;
+! 	/* Copy the string if it is shortened by :h */
+! 	if (*fnamelen < (int)STRLEN(*fnamep))
+  	{
+  	    p = vim_strnsave(*fnamep, *fnamelen);
+! 	    if (p == 0)
+  		return -1;
+  	    vim_free(*bufp);
+  	    *bufp = *fnamep = p;
+  	}
+  
+  	/* Split into two implementations - makes it easier.  First is where
+! 	 * there isn't a full name already, second is where there is.
+! 	 */
+  	if (!has_fullname && !vim_isAbsName(*fnamep))
+  	{
+  	    if (shortpath_for_partial(fnamep, bufp, fnamelen) == FAIL)
+--- 23380,23404 ----
+      }
+  
+  #ifdef WIN3264
+!     /*
+!      * Handle ":8" after we have done 'heads' and before we do 'tails'.
+       */
+      if (has_shortname)
+      {
+! 	/* Copy the string if it is shortened by :h and when it wasn't copied
+! 	 * yet, because we are going to change it in place.  Avoids changing
+! 	 * the buffer name for "%:8". */
+! 	if (*fnamelen < (int)STRLEN(*fnamep) || *fnamep == fname_start)
+  	{
+  	    p = vim_strnsave(*fnamep, *fnamelen);
+! 	    if (p == NULL)
+  		return -1;
+  	    vim_free(*bufp);
+  	    *bufp = *fnamep = p;
+  	}
+  
+  	/* Split into two implementations - makes it easier.  First is where
+! 	 * there isn't a full name already, second is where there is. */
+  	if (!has_fullname && !vim_isAbsName(*fnamep))
+  	{
+  	    if (shortpath_for_partial(fnamep, bufp, fnamelen) == FAIL)
+***************
+*** 23404,23421 ****
+  	}
+  	else
+  	{
+! 	    int		l;
+  
+! 	    /* Simple case, already have the full-name
+  	     * Nearly always shorter, so try first time. */
+- 	    l = *fnamelen;
+  	    if (get_short_pathname(fnamep, bufp, &l) == FAIL)
+  		return -1;
+  
+  	    if (l == 0)
+  	    {
+! 		/* Couldn't find the filename.. search the paths.
+! 		 */
+  		l = *fnamelen;
+  		if (shortpath_for_invalid_fname(fnamep, bufp, &l) == FAIL)
+  		    return -1;
+--- 23406,23421 ----
+  	}
+  	else
+  	{
+! 	    int		l = *fnamelen;
+  
+! 	    /* Simple case, already have the full-name.
+  	     * Nearly always shorter, so try first time. */
+  	    if (get_short_pathname(fnamep, bufp, &l) == FAIL)
+  		return -1;
+  
+  	    if (l == 0)
+  	    {
+! 		/* Couldn't find the filename, search the paths. */
+  		l = *fnamelen;
+  		if (shortpath_for_invalid_fname(fnamep, bufp, &l) == FAIL)
+  		    return -1;
+*** ../vim-7.3.280/src/version.c	2011-08-10 18:36:49.000000000 +0200
+--- src/version.c	2011-08-17 15:21:41.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+  {   /* Add new patch number below this line */
++ /**/
++     281,
+  /**/
+
+-- 
+Kisses may last for as much as, but no more than, five minutes.
+		[real standing law in Iowa, United States of America]
+
+ /// Bram Moolenaar -- Bram at 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    ///
================================================================


More information about the pld-cvs-commit mailing list