]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - vim/patches/vim-7.3.014.patch0
Move all packages to root.
[ipfire-3.x.git] / vim / patches / vim-7.3.014.patch0
diff --git a/vim/patches/vim-7.3.014.patch0 b/vim/patches/vim-7.3.014.patch0
new file mode 100644 (file)
index 0000000..a60d476
--- /dev/null
@@ -0,0 +1,87 @@
+To: vim-dev@vim.org
+Subject: Patch 7.3.014
+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.014
+Problem:    Ending a line in a backslash inside an ":append" or ":insert" 
+            command in Ex mode doesn't work properly. (Ray Frush)
+Solution:   Halve the number of backslashes, only insert a NUL after an odd 
+            number of backslashes.
+Files:      src/ex_getln.c
+
+
+*** ../vim-7.3.013/src/ex_getln.c      2010-09-21 16:56:29.000000000 +0200
+--- src/ex_getln.c     2010-09-29 15:47:56.000000000 +0200
+***************
+*** 2342,2356 ****
+       windgoto(msg_row, msg_col);
+       pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
+  
+!      /* we are done when a NL is entered, but not when it comes after a
+!       * backslash */
+!      if (line_ga.ga_len > 0 && pend[-1] == '\n'
+!              && (line_ga.ga_len <= 1 || pend[-2] != '\\'))
+!      {
+!          --line_ga.ga_len;
+!          --pend;
+!          *pend = NUL;
+!          break;
+       }
+      }
+  
+--- 2342,2372 ----
+       windgoto(msg_row, msg_col);
+       pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
+  
+!      /* We are done when a NL is entered, but not when it comes after an
+!       * odd number of backslashes, that results in a NUL. */
+!      if (line_ga.ga_len > 0 && pend[-1] == '\n')
+!      {
+!          int bcount = 0;
+! 
+!          while (line_ga.ga_len - 2 >= bcount && pend[-2 - bcount] == '\\')
+!              ++bcount;
+! 
+!          if (bcount > 0)
+!          {
+!              /* Halve the number of backslashes: "\NL" -> "NUL", "\\NL" ->
+!               * "\NL", etc. */
+!              line_ga.ga_len -= (bcount + 1) / 2;
+!              pend -= (bcount + 1) / 2;
+!              pend[-1] = '\n';
+!          }
+! 
+!          if ((bcount & 1) == 0)
+!          {
+!              --line_ga.ga_len;
+!              --pend;
+!              *pend = NUL;
+!              break;
+!          }
+       }
+      }
+  
+*** ../vim-7.3.013/src/version.c       2010-09-29 13:02:48.000000000 +0200
+--- src/version.c      2010-09-29 15:45:57.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     14,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+224. You set up your own Web page. You set up a Web page for each
+     of your kids... and your pets.
+
+ /// 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    ///