[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