[vim/f13] Patchlevel 195

Karsten Hopp karsten at fedoraproject.org
Tue Jun 7 09:58:13 UTC 2011


commit b40f31760f9aa05ce970a47aa419f0af7cb42aa5
Author: Karsten Hopp <karsten at redhat.com>
Date:   Tue Jun 7 11:44:17 2011 +0200

    Patchlevel 195

 7.3.195 |  199 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 199 insertions(+), 0 deletions(-)
---
diff --git a/7.3.195 b/7.3.195
new file mode 100644
index 0000000..ba1fc21
--- /dev/null
+++ b/7.3.195
@@ -0,0 +1,199 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.195
+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.195
+Problem:    "} else" causes following lines to be indented too much. (Rouben
+	    Rostamian)
+Solution:   Better detection for the "else". (Lech Lorens)
+Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
+
+
+*** ../vim-7.3.194/src/misc1.c	2011-05-10 16:41:13.000000000 +0200
+--- src/misc1.c	2011-05-19 16:30:28.000000000 +0200
+***************
+*** 5482,5489 ****
+   * Recognize a line that starts with '{' or '}', or ends with ';', ',', '{' or
+   * '}'.
+   * Don't consider "} else" a terminated line.
+!  * Don't consider a line where there are unmatched opening braces before '}',
+!  * ';' or ',' a terminated line.
+   * Return the character terminating the line (ending char's have precedence if
+   * both apply in order to determine initializations).
+   */
+--- 5482,5489 ----
+   * Recognize a line that starts with '{' or '}', or ends with ';', ',', '{' or
+   * '}'.
+   * Don't consider "} else" a terminated line.
+!  * If a line begins with an "else", only consider it terminated if no unmatched
+!  * opening braces follow (handle "else { foo();" correctly).
+   * Return the character terminating the line (ending char's have precedence if
+   * both apply in order to determine initializations).
+   */
+***************
+*** 5493,5513 ****
+      int		incl_open;	/* include '{' at the end as terminator */
+      int		incl_comma;	/* recognize a trailing comma */
+  {
+!     char_u found_start = 0;
+!     unsigned n_open = 0;
+  
+      s = cin_skipcomment(s);
+  
+      if (*s == '{' || (*s == '}' && !cin_iselse(s)))
+  	found_start = *s;
+  
+      while (*s)
+      {
+  	/* skip over comments, "" strings and 'c'haracters */
+  	s = skip_string(cin_skipcomment(s));
+  	if (*s == '}' && n_open > 0)
+  	    --n_open;
+! 	if (n_open == 0
+  		&& (*s == ';' || *s == '}' || (incl_comma && *s == ','))
+  		&& cin_nocode(s + 1))
+  	    return *s;
+--- 5493,5517 ----
+      int		incl_open;	/* include '{' at the end as terminator */
+      int		incl_comma;	/* recognize a trailing comma */
+  {
+!     char_u	found_start = 0;
+!     unsigned	n_open = 0;
+!     int		is_else = FALSE;
+  
+      s = cin_skipcomment(s);
+  
+      if (*s == '{' || (*s == '}' && !cin_iselse(s)))
+  	found_start = *s;
+  
++     if (!found_start)
++ 	is_else = cin_iselse(s);
++ 
+      while (*s)
+      {
+  	/* skip over comments, "" strings and 'c'haracters */
+  	s = skip_string(cin_skipcomment(s));
+  	if (*s == '}' && n_open > 0)
+  	    --n_open;
+! 	if ((!is_else || n_open == 0)
+  		&& (*s == ';' || *s == '}' || (incl_comma && *s == ','))
+  		&& cin_nocode(s + 1))
+  	    return *s;
+*** ../vim-7.3.194/src/testdir/test3.in	2011-05-10 13:38:23.000000000 +0200
+--- src/testdir/test3.in	2011-05-19 16:29:01.000000000 +0200
+***************
+*** 1345,1351 ****
+  
+  STARTTEST
+  :set cino&
+! 2kdd=][
+  ENDTEST
+  
+  void func(void)
+--- 1345,1351 ----
+  
+  STARTTEST
+  :set cino&
+! 2kdd=4][
+  ENDTEST
+  
+  void func(void)
+***************
+*** 1359,1364 ****
+--- 1359,1392 ----
+  	printf("Foo!\n");
+  }
+  
++ void func1(void)
++ {
++ 	char* tab[] = {"foo", "bar",
++ 		"baz", "quux",
++ 			"this line used", "to be indented incorrectly"};
++ 	foo();
++ }
++ 
++ void func2(void)
++ {
++ 	int tab[] =
++ 	{1, 2,
++ 		3, 4,
++ 		5, 6};
++ 
++ 		printf("This line used to be indented incorrectly.\n");
++ }
++ 
++ void func3(void)
++ {
++ 	int tab[] = {
++ 	1, 2,
++ 	3, 4,
++ 	5, 6};
++ 
++ printf("Don't you dare indent this line incorrectly!\n);
++ }
++ 
+  STARTTEST
+  :set cino&
+  2kdd=][
+*** ../vim-7.3.194/src/testdir/test3.ok	2011-05-10 13:38:23.000000000 +0200
+--- src/testdir/test3.ok	2011-05-19 16:29:01.000000000 +0200
+***************
+*** 1216,1221 ****
+--- 1216,1249 ----
+  	printf("Foo!\n");
+  }
+  
++ void func1(void)
++ {
++ 	char* tab[] = {"foo", "bar",
++ 		"baz", "quux",
++ 		"this line used", "to be indented incorrectly"};
++ 	foo();
++ }
++ 
++ void func2(void)
++ {
++ 	int tab[] =
++ 	{1, 2,
++ 		3, 4,
++ 		5, 6};
++ 
++ 	printf("This line used to be indented incorrectly.\n");
++ }
++ 
++ void func3(void)
++ {
++ 	int tab[] = {
++ 		1, 2,
++ 		3, 4,
++ 		5, 6};
++ 
++ 	printf("Don't you dare indent this line incorrectly!\n);
++ }
++ 
+  
+  void func(void)
+  {
+*** ../vim-7.3.194/src/version.c	2011-05-19 14:59:07.000000000 +0200
+--- src/version.c	2011-05-19 16:34:16.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+  {   /* Add new patch number below this line */
++ /**/
++     195,
+  /**/
+
+-- 
+I AM THANKFUL...
+...for the taxes that I pay because it means that I am employed.
+
+ /// 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 scm-commits mailing list