diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2012-09-26 01:10:42 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 22:51:55 +0200 |
commit | 9664bee729d487bcc0a0bc35859f8e13d5421c75 (patch) | |
tree | b428a16618e36ed864a8d76ea3435e19a452bf90 /source/ap/vim/patches/7.3.492 | |
parent | 75a4a592e5ccda30715f93563d741b83e0dcf39e (diff) | |
download | current-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.gz |
Slackware 14.0slackware-14.0
Wed Sep 26 01:10:42 UTC 2012
Slackware 14.0 x86_64 stable is released!
We're perfectionists here at Slackware, so this release has been a long
time a-brewing. But we think you'll agree that it was worth the wait.
Slackware 14.0 combines modern components, ease of use, and flexible
configuration... our "KISS" philosophy demands it.
The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a
dual-sided
32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware
project by picking up a copy from store.slackware.com. We're taking
pre-orders now, and offer a discount if you sign up for a subscription.
Thanks to everyone who helped make this happen. The Slackware team, the
upstream developers, and (of course) the awesome Slackware user
community.
Have fun! :-)
Diffstat (limited to 'source/ap/vim/patches/7.3.492')
-rw-r--r-- | source/ap/vim/patches/7.3.492 | 718 |
1 files changed, 718 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.492 b/source/ap/vim/patches/7.3.492 new file mode 100644 index 00000000..b32b6f68 --- /dev/null +++ b/source/ap/vim/patches/7.3.492 @@ -0,0 +1,718 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.492 +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.492 +Problem: Can't indent conditions separately from function arguments. +Solution: Add the 'k' flag in 'cino. (Lech Lorens) +Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, + src/testdir/test3.ok + + +*** ../vim-7.3.491/runtime/doc/indent.txt 2011-06-26 03:16:58.000000000 +0200 +--- runtime/doc/indent.txt 2012-04-05 17:12:14.000000000 +0200 +*************** +*** 459,464 **** +--- 460,481 ---- + a_short_line(argument, a_short_line(argument, + argument); argument); + < ++ *cino-k* ++ kN When in unclosed parentheses which follow "if", "for" or ++ "while" and N is non-zero, overrides the behaviour defined by ++ "(N": causes the indent to be N characters relative to the outer ++ context (i.e. the line where "if", "for" or "while" is). Has ++ no effect on deeper levels of nesting. Affects flags like "wN" ++ only for the "if", "for" and "while" conditions. If 0, defaults ++ to behaviour defined by the "(N" flag. (default: 0). ++ ++ cino=(0 cino=(0,ks > ++ if (condition1 if (condition1 ++ && condition2) && condition2) ++ action(); action(); ++ function(argument1 function(argument1 ++ && argument2); && argument2); ++ < + *cino-m* + mN When N is non-zero, line up a line starting with a closing + parentheses with the first character of the line with the +*************** +*** 527,540 **** + + *cino-#* + #N When N is non-zero recognize shell/Perl comments, starting with +! '#'. Default N is zero: don't recognizes '#' comments. Note + that lines starting with # will still be seen as preprocessor + lines. + + + The defaults, spelled out in full, are: + cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s, +! c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0 + + Vim puts a line in column 1 if: + - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'. +--- 546,559 ---- + + *cino-#* + #N When N is non-zero recognize shell/Perl comments, starting with +! '#'. Default N is zero: don't recognize '#' comments. Note + that lines starting with # will still be seen as preprocessor + lines. + + + The defaults, spelled out in full, are: + cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s, +! c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0 + + Vim puts a line in column 1 if: + - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'. +*** ../vim-7.3.491/src/misc1.c 2012-02-29 13:49:03.000000000 +0100 +--- src/misc1.c 2012-04-05 17:12:14.000000000 +0200 +*************** +*** 5771,5776 **** +--- 5771,5822 ---- + } + + /* ++ * Check whether in "p" there is an "if", "for" or "while" before offset. ++ * Return 0 if there is none. ++ * Otherwise return !0 and update "*poffset" to point to the place where the ++ * string was found. ++ */ ++ static int ++ cin_is_if_for_while_before_offset(line, offset, poffset) ++ char_u *line; ++ size_t offset; ++ int *poffset; ++ { ++ ++ if (offset-- < 2) ++ return 0; ++ while (offset > 2 && vim_iswhite(line[offset])) ++ --offset; ++ ++ offset -= 1; ++ if (!STRNCMP(line + offset, "if", 2)) ++ goto probablyFound; ++ ++ if (offset >= 1) ++ { ++ offset -= 1; ++ if (!STRNCMP(line + offset, "for", 3)) ++ goto probablyFound; ++ ++ if (offset >= 2) ++ { ++ offset -= 2; ++ if (!STRNCMP(line + offset, "while", 5)) ++ goto probablyFound; ++ } ++ } ++ ++ return 0; ++ probablyFound: ++ if (!offset || !vim_isIDc(line[offset - 1])) ++ { ++ *poffset = offset; ++ return 1; ++ } ++ return 0; ++ } ++ ++ /* + * Return TRUE if we are at the end of a do-while. + * do + * nothing; +*************** +*** 6124,6130 **** + + /* + * Find the matching '(', failing if it is in a comment. +! * Return NULL of no match found. + */ + static pos_T * + find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */ +--- 6170,6176 ---- + + /* + * Find the matching '(', failing if it is in a comment. +! * Return NULL if no match found. + */ + static pos_T * + find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */ +*************** +*** 6393,6398 **** +--- 6439,6450 ---- + */ + int ind_cpp_namespace = 0; + ++ /* ++ * handle continuation lines containing conditions of if(), for() and ++ * while() ++ */ ++ int ind_if_for_while = 0; ++ + pos_T cur_curpos; + int amount; + int scope_amount; +*************** +*** 6437,6442 **** +--- 6489,6495 ---- + int cont_amount = 0; /* amount for continuation line */ + int original_line_islabel; + int added_to_amount = 0; ++ int is_if_for_while = 0; + + for (options = curbuf->b_p_cino; *options; ) + { +*************** +*** 6509,6514 **** +--- 6562,6568 ---- + case 'l': ind_keep_case_label = n; break; + case '#': ind_hash_comment = n; break; + case 'N': ind_cpp_namespace = n; break; ++ case 'k': ind_if_for_while = n; break; + } + if (*options == ',') + ++options; +*************** +*** 6812,6817 **** +--- 6866,6900 ---- + if (amount == -1) + { + int ignore_paren_col = 0; ++ int is_if_for_while = 0; ++ ++ if (ind_if_for_while) ++ { ++ /* Look for the outermost opening parenthesis on this line ++ * and check whether it belongs to an "if", "for" or "while". */ ++ ++ pos_T cursor_save = curwin->w_cursor; ++ pos_T outermost; ++ char_u *line; ++ int look_col; ++ ++ trypos = &our_paren_pos; ++ do { ++ outermost = *trypos; ++ curwin->w_cursor.lnum = outermost.lnum; ++ curwin->w_cursor.col = outermost.col; ++ ++ trypos = find_match_paren(ind_maxparen, ind_maxcomment); ++ } while (trypos && trypos->lnum == outermost.lnum); ++ ++ curwin->w_cursor = cursor_save; ++ ++ line = ml_get(outermost.lnum); ++ ++ is_if_for_while = ++ cin_is_if_for_while_before_offset(line, outermost.col, ++ &outermost.col); ++ } + + amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment); + look = skipwhite(look); +*************** +*** 6836,6842 **** + curwin->w_cursor.lnum = save_lnum; + look = ml_get(our_paren_pos.lnum) + look_col; + } +! if (theline[0] == ')' || ind_unclosed == 0 + || (!ind_unclosed_noignore && *look == '(' + && ignore_paren_col == 0)) + { +--- 6919,6925 ---- + curwin->w_cursor.lnum = save_lnum; + look = ml_get(our_paren_pos.lnum) + look_col; + } +! if (theline[0] == ')' || (ind_unclosed == 0 && is_if_for_while == 0) + || (!ind_unclosed_noignore && *look == '(' + && ignore_paren_col == 0)) + { +*************** +*** 6907,6913 **** + { + /* Line up with the start of the matching paren line. */ + } +! else if (ind_unclosed == 0 || (!ind_unclosed_noignore + && *look == '(' && ignore_paren_col == 0)) + { + if (cur_amount != MAXCOL) +--- 6990,6997 ---- + { + /* Line up with the start of the matching paren line. */ + } +! else if ((ind_unclosed == 0 && is_if_for_while == 0) +! || (!ind_unclosed_noignore + && *look == '(' && ignore_paren_col == 0)) + { + if (cur_amount != MAXCOL) +*************** +*** 6943,6949 **** + if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL) + amount += ind_unclosed2; + else +! amount += ind_unclosed; + } + /* + * For a line starting with ')' use the minimum of the two +--- 7027,7038 ---- + if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL) + amount += ind_unclosed2; + else +! { +! if (is_if_for_while) +! amount += ind_if_for_while; +! else +! amount += ind_unclosed; +! } + } + /* + * For a line starting with ')' use the minimum of the two +*** ../vim-7.3.491/src/testdir/test3.in 2011-12-14 20:21:29.000000000 +0100 +--- src/testdir/test3.in 2012-04-05 17:12:14.000000000 +0200 +*************** +*** 1574,1579 **** +--- 1574,1793 ---- + } + + STARTTEST ++ :set cino=k2s,(0 ++ 2kdd3j=][ ++ ENDTEST ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ ++ if ( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ func( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ } ++ ++ STARTTEST ++ :set cino=k2s,(s ++ 2kdd3j=][ ++ ENDTEST ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ ++ if ( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ func( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ } ++ ++ STARTTEST ++ :set cino=k2s,(s,U1 ++ 2kdd3j=][ ++ ENDTEST ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ if (c123456789 ++ && (c22345 ++ || c3)) ++ printf("foo\n"); ++ ++ c = c1 && ++ ( ++ c2 || ++ c3 ++ ) && c4; ++ } ++ ++ STARTTEST ++ :set cino=k2s,(0,W4 ++ 2kdd3j=][ ++ ENDTEST ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ if (c123456789 ++ && (c22345 ++ || c3)) ++ printf("foo\n"); ++ ++ if ( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ ++ a_long_line( ++ argument, ++ argument); ++ a_short_line(argument, ++ argument); ++ } ++ ++ STARTTEST ++ :set cino=k2s,u2 ++ 2kdd3j=][ ++ ENDTEST ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ if (c123456789 ++ && (c22345 ++ || c3)) ++ printf("foo\n"); ++ } ++ ++ STARTTEST ++ :set cino=k2s,(0,w1 ++ 2kdd3j=][ ++ ENDTEST ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ if (c123456789 ++ && (c22345 ++ || c3)) ++ printf("foo\n"); ++ ++ if ( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ func( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ } ++ ++ STARTTEST ++ :set cino=k2,(s ++ 2kdd3j=][ ++ ENDTEST ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ } ++ ++ STARTTEST + :set cino=N-s + /^NAMESPACESTART + =/^NAMESPACEEND +*** ../vim-7.3.491/src/testdir/test3.ok 2011-12-14 20:21:29.000000000 +0100 +--- src/testdir/test3.ok 2012-04-05 17:12:14.000000000 +0200 +*************** +*** 1411,1416 **** +--- 1411,1602 ---- + } + + ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ ++ if ( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ func( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ } ++ ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ ++ if ( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ func( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ } ++ ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ if (c123456789 ++ && (c22345 ++ || c3)) ++ printf("foo\n"); ++ ++ c = c1 && ++ ( ++ c2 || ++ c3 ++ ) && c4; ++ } ++ ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ if (c123456789 ++ && (c22345 ++ || c3)) ++ printf("foo\n"); ++ ++ if ( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ ++ a_long_line( ++ argument, ++ argument); ++ a_short_line(argument, ++ argument); ++ } ++ ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ if (c123456789 ++ && (c22345 ++ || c3)) ++ printf("foo\n"); ++ } ++ ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ if (c123456789 ++ && (c22345 ++ || c3)) ++ printf("foo\n"); ++ ++ if ( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ func( c1 ++ && ( c2 ++ || c3)) ++ foo; ++ } ++ ++ ++ void func(void) ++ { ++ if (condition1 ++ && condition2) ++ action(); ++ function(argument1 ++ && argument2); ++ ++ if (c1 && (c2 || ++ c3)) ++ foo; ++ if (c1 && ++ (c2 || c3)) ++ { ++ } ++ } ++ ++ + NAMESPACESTART + /* valid namespaces with normal indent */ + namespace +*** ../vim-7.3.491/src/version.c 2012-04-05 16:56:38.000000000 +0200 +--- src/version.c 2012-04-05 17:14:18.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 492, + /**/ + +-- +You were lucky to have a LAKE! There were a hundred and sixty of +us living in a small shoebox in the middle of the road. + + /// 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 /// |