]> git.pld-linux.org Git - packages/vim.git/commitdiff
- new: 7.3.281
authormarti <marti@pld-linux.org>
Mon, 29 Aug 2011 18:44:41 +0000 (18:44 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    7.3.281 -> 1.1

7.3.281 [new file with mode: 0644]

diff --git a/7.3.281 b/7.3.281
new file mode 100644 (file)
index 0000000..f90e95e
--- /dev/null
+++ b/7.3.281
@@ -0,0 +1,134 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.281
+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.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@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    ///
This page took 0.193524 seconds and 4 git commands to generate.