[vim] - patchlevel 014

Karsten Hopp karsten at fedoraproject.org
Thu Sep 30 14:35:25 UTC 2010


commit 95da14cc748f5a73011e0ced58432998c9ad08fe
Author: Karsten Hopp <karsten at redhat.com>
Date:   Thu Sep 30 16:32:04 2010 +0200

    - patchlevel 014

 7.3.014 |   87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)
---
diff --git a/7.3.014 b/7.3.014
new file mode 100644
index 0000000..a60d476
--- /dev/null
+++ b/7.3.014
@@ -0,0 +1,87 @@
+To: vim-dev at vim.org
+Subject: Patch 7.3.014
+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.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 at 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    ///


More information about the scm-commits mailing list