summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.363
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.363')
-rw-r--r--source/ap/vim/patches/7.3.363110
1 files changed, 110 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.363 b/source/ap/vim/patches/7.3.363
new file mode 100644
index 000000000..10ab5482f
--- /dev/null
+++ b/source/ap/vim/patches/7.3.363
@@ -0,0 +1,110 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.363
+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.363
+Problem: C indenting is wrong after #endif followed by a semicolon.
+Solution: Add special handling for a semicolon in a line by itself. (Lech
+ Lorens)
+Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
+
+
+*** ../vim-7.3.362/src/misc1.c 2011-11-30 13:03:24.000000000 +0100
+--- src/misc1.c 2011-11-30 17:10:59.000000000 +0100
+***************
+*** 8143,8148 ****
+--- 8143,8171 ----
+ break;
+
+ /*
++ * Find a line only has a semicolon that belongs to a previous
++ * line ending in '}', e.g. before an #endif. Don't increase
++ * indent then.
++ */
++ if (*(look = skipwhite(l)) == ';' && cin_nocode(look + 1))
++ {
++ pos_T curpos_save = curwin->w_cursor;
++
++ while (curwin->w_cursor.lnum > 1)
++ {
++ look = ml_get(--curwin->w_cursor.lnum);
++ if (!(cin_nocode(look) || cin_ispreproc_cont(
++ &look, &curwin->w_cursor.lnum)))
++ break;
++ }
++ if (curwin->w_cursor.lnum > 0
++ && cin_ends_in(look, (char_u *)"}", NULL))
++ break;
++
++ curwin->w_cursor = curpos_save;
++ }
++
++ /*
+ * If the PREVIOUS line is a function declaration, the current
+ * line (and the ones that follow) needs to be indented as
+ * parameters.
+*** ../vim-7.3.362/src/testdir/test3.in 2011-10-04 18:03:43.000000000 +0200
+--- src/testdir/test3.in 2011-11-30 17:05:20.000000000 +0100
+***************
+*** 1454,1459 ****
+--- 1454,1469 ----
+ printf("This line used to be indented incorrectly.\n");
+ }
+
++ int foo[]
++ #ifdef BAR
++
++ = { 1, 2, 3,
++ 4, 5, 6 }
++
++ #endif
++ ;
++ int baz;
++
+ void func3(void)
+ {
+ int tab[] = {
+*** ../vim-7.3.362/src/testdir/test3.ok 2011-10-04 18:03:43.000000000 +0200
+--- src/testdir/test3.ok 2011-11-30 17:05:20.000000000 +0100
+***************
+*** 1307,1312 ****
+--- 1307,1322 ----
+ printf("This line used to be indented incorrectly.\n");
+ }
+
++ int foo[]
++ #ifdef BAR
++
++ = { 1, 2, 3,
++ 4, 5, 6 }
++
++ #endif
++ ;
++ int baz;
++
+ void func3(void)
+ {
+ int tab[] = {
+*** ../vim-7.3.362/src/version.c 2011-11-30 17:01:55.000000000 +0100
+--- src/version.c 2011-11-30 17:06:57.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+ { /* Add new patch number below this line */
++ /**/
++ 363,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+220. Your wife asks for sex and you tell her where to find you on IRC.
+
+ /// 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 ///