summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.202
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2012-09-26 01:10:42 +0000
committerEric Hameleers <alien@slackware.com>2018-05-31 22:51:55 +0200
commit9664bee729d487bcc0a0bc35859f8e13d5421c75 (patch)
treeb428a16618e36ed864a8d76ea3435e19a452bf90 /source/ap/vim/patches/7.3.202
parent75a4a592e5ccda30715f93563d741b83e0dcf39e (diff)
downloadcurrent-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.202')
-rw-r--r--source/ap/vim/patches/7.3.202868
1 files changed, 868 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.202 b/source/ap/vim/patches/7.3.202
new file mode 100644
index 00000000..1289e085
--- /dev/null
+++ b/source/ap/vim/patches/7.3.202
@@ -0,0 +1,868 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.202
+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.202
+Problem: Cannot influence the indent inside a namespace.
+Solution: Add the "N" 'cino' parameter. (Konstantin Lepa)
+Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
+ src/testdir/test3.ok
+
+
+*** ../mercurial/vim73/runtime/doc/indent.txt 2011-04-28 19:01:26.000000000 +0200
+--- runtime/doc/indent.txt 2011-05-25 14:35:37.000000000 +0200
+***************
+*** 128,140 ****
+ used CTRL-T or CTRL-D.
+
+ *cinoptions-values*
+! The 'cinoptions' option sets how Vim performs indentation. In the list below,
+ "N" represents a number of your choice (the number can be negative). When
+ there is an 's' after the number, Vim multiplies the number by 'shiftwidth':
+ "1s" is 'shiftwidth', "2s" is two times 'shiftwidth', etc. You can use a
+! decimal point, too: "-0.5s" is minus half a 'shiftwidth'. The examples below
+! assume a 'shiftwidth' of 4.
+!
+ >N Amount added for "normal" indent. Used after a line that should
+ increase the indent (lines starting with "if", an opening brace,
+ etc.). (default 'shiftwidth').
+--- 128,147 ----
+ used CTRL-T or CTRL-D.
+
+ *cinoptions-values*
+! The 'cinoptions' option sets how Vim performs indentation. The value after
+! the option character can be one of these (N is any number):
+! N indent N spaces
+! -N indent N spaces to the left
+! Ns N times 'shiftwidth spaces
+! -Ns N times 'shiftwidth spaces to the left
+!
+! In the list below,
+ "N" represents a number of your choice (the number can be negative). When
+ there is an 's' after the number, Vim multiplies the number by 'shiftwidth':
+ "1s" is 'shiftwidth', "2s" is two times 'shiftwidth', etc. You can use a
+! decimal point, too: "-0.5s" is minus half a 'shiftwidth'.
+! The examples below assume a 'shiftwidth' of 4.
+! *cino->*
+ >N Amount added for "normal" indent. Used after a line that should
+ increase the indent (lines starting with "if", an opening brace,
+ etc.). (default 'shiftwidth').
+***************
+*** 145,150 ****
+--- 152,158 ----
+ foo; foo; foo;
+ } } }
+ <
++ *cino-e*
+ eN Add N to the prevailing indent inside a set of braces if the
+ opening brace at the End of the line (more precise: is not the
+ first character in a line). This is useful if you want a
+***************
+*** 160,165 ****
+--- 168,174 ----
+ bar; bar; bar;
+ } } }
+ <
++ *cino-n*
+ nN Add N to the prevailing indent for a statement after an "if",
+ "while", etc., if it is NOT inside a set of braces. This is
+ useful if you want a different indent when there is no '{'
+***************
+*** 174,179 ****
+--- 183,189 ----
+ bar; bar; bar;
+ } } }
+ <
++ *cino-f*
+ fN Place the first opening brace of a function or other block in
+ column N. This applies only for an opening brace that is not
+ inside other braces and is at the start of the line. What comes
+***************
+*** 184,189 ****
+--- 194,200 ----
+ { { {
+ int foo; int foo; int foo;
+ <
++ *cino-{*
+ {N Place opening braces N characters from the prevailing indent.
+ This applies only for opening braces that are inside other
+ braces. (default 0).
+***************
+*** 193,198 ****
+--- 204,210 ----
+ { { {
+ foo; foo; foo;
+ <
++ *cino-}*
+ }N Place closing braces N characters from the matching opening
+ brace. (default 0).
+
+***************
+*** 202,207 ****
+--- 214,220 ----
+ foo; foo; foo;
+ } } }
+ <
++ *cino-^*
+ ^N Add N to the prevailing indent inside a set of braces if the
+ opening brace is in column 0. This can specify a different
+ indent for whole of a function (some may like to set it to a
+***************
+*** 216,221 ****
+--- 229,235 ----
+ } } }
+ } } }
+ <
++ *cino-L*
+ LN Controls placement of jump labels. If N is negative, the label
+ will be placed at column 1. If N is non-negative, the indent of
+ the label will be the prevailing indent minus N. (default -1).
+***************
+*** 229,234 ****
+--- 243,249 ----
+ } } }
+ } } }
+ <
++ *cino-:*
+ :N Place case labels N characters from the indent of the switch().
+ (default 'shiftwidth').
+
+***************
+*** 240,245 ****
+--- 255,261 ----
+ default: default:
+ } }
+ <
++ *cino-=*
+ =N Place statements occurring after a case label N characters from
+ the indent of the label. (default 'shiftwidth').
+
+***************
+*** 247,252 ****
+--- 263,269 ----
+ case 11: case 11: a = a + 1;
+ a = a + 1; b = b + 1;
+ <
++ *cino-l*
+ lN If N != 0 Vim will align with a case label instead of the
+ statement after it in the same line.
+
+***************
+*** 256,261 ****
+--- 273,279 ----
+ break; break;
+ } }
+ <
++ *cino-b*
+ bN If N != 0 Vim will align a final "break" with the case label,
+ so that case..break looks like a sort of block. (default: 0).
+ When using 1, consider adding "0=break" to 'cinkeys'.
+***************
+*** 272,277 ****
+--- 290,296 ----
+ break; break;
+ } }
+ <
++ *cino-g*
+ gN Place C++ scope declarations N characters from the indent of the
+ block they are in. (default 'shiftwidth'). A scope declaration
+ can be "public:", "protected:" or "private:".
+***************
+*** 283,288 ****
+--- 302,308 ----
+ private: private:
+ } }
+ <
++ *cino-h*
+ hN Place statements occurring after a C++ scope declaration N
+ characters from the indent of the label. (default
+ 'shiftwidth').
+***************
+*** 291,296 ****
+--- 311,331 ----
+ public: public: a = a + 1;
+ a = a + 1; b = b + 1;
+ <
++ *cino-N*
++ NN Indent inside C++ namespace N characters extra compared to a
++ normal block. (default 0).
++
++ cino= cino=N-s >
++ namespace { namespace {
++ void function(); void function();
++ } }
++
++ namespace my namespace my
++ { {
++ void function(); void function();
++ } }
++ <
++ *cino-p*
+ pN Parameter declarations for K&R-style function declarations will
+ be indented N characters from the margin. (default
+ 'shiftwidth').
+***************
+*** 300,305 ****
+--- 335,341 ----
+ int a; int a; int a;
+ char b; char b; char b;
+ <
++ *cino-t*
+ tN Indent a function return type declaration N characters from the
+ margin. (default 'shiftwidth').
+
+***************
+*** 307,312 ****
+--- 343,349 ----
+ int int int
+ func() func() func()
+ <
++ *cino-i*
+ iN Indent C++ base class declarations and constructor
+ initializations, if they start in a new line (otherwise they
+ are aligned at the right side of the ':').
+***************
+*** 330,335 ****
+--- 368,374 ----
+ a = b + 9 * a = b + 9 *
+ c; c;
+ <
++ *cino-c*
+ cN Indent comment lines after the comment opener, when there is no
+ other text with which to align, N characters from the comment
+ opener. (default 3). See also |format-comments|.
+***************
+*** 339,344 ****
+--- 378,384 ----
+ text. text.
+ */ */
+ <
++ *cino-C*
+ CN When N is non-zero, indent comment lines by the amount specified
+ with the c flag above even if there is other text behind the
+ comment opener. (default 0).
+***************
+*** 349,360 ****
+--- 389,402 ----
+ ********/ ********/
+ < (Example uses ":set comments& comments-=s1:/* comments^=s0:/*")
+
++ *cino-/*
+ /N Indent comment lines N characters extra. (default 0).
+ cino= cino=/4 >
+ a = b; a = b;
+ /* comment */ /* comment */
+ c = d; c = d;
+ <
++ *cino-(*
+ (N When in unclosed parentheses, indent N characters from the line
+ with the unclosed parentheses. Add a 'shiftwidth' for every
+ unclosed parentheses. When N is 0 or the unclosed parentheses
+***************
+*** 370,375 ****
+--- 412,418 ----
+ (c2 || c3)) (c2 || c3))
+ { {
+ <
++ *cino-u*
+ uN Same as (N, but for one level deeper. (default 'shiftwidth').
+
+ cino= cino=u2 >
+***************
+*** 377,382 ****
+--- 420,426 ----
+ && (c22345 && (c22345
+ || c3)) || c3))
+ <
++ *cino-U*
+ UN When N is non-zero, do not ignore the indenting specified by
+ ( or u in case that the unclosed parentheses is the first
+ non-white character in its line. (default 0).
+***************
+*** 388,393 ****
+--- 432,438 ----
+ c3 c3
+ ) && c4; ) && c4;
+ <
++ *cino-2*
+ wN When in unclosed parentheses and N is non-zero and either
+ using "(0" or "u0", respectively, or using "U0" and the unclosed
+ parentheses is the first non-white character in its line, line
+***************
+*** 400,405 ****
+--- 445,451 ----
+ || c3)) || c3))
+ foo; foo;
+ <
++ *cino-W*
+ WN When in unclosed parentheses and N is non-zero and either
+ using "(0" or "u0", respectively and the unclosed parentheses is
+ the last non-white character in its line and it is not the
+***************
+*** 414,419 ****
+--- 460,466 ----
+ a_short_line(argument, a_short_line(argument,
+ argument); argument);
+ <
++ *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
+ matching opening parentheses. (default 0).
+***************
+*** 428,433 ****
+--- 475,481 ----
+ ) )
+ foo; foo;
+ <
++ *cino-M*
+ MN When N is non-zero, line up a line starting with a closing
+ parentheses with the first character of the previous line.
+ (default 0).
+***************
+*** 437,443 ****
+ cond2 cond2
+ ) )
+ <
+! *java-cinoptions* *java-indenting*
+ jN Indent java anonymous classes correctly. The value 'N' is
+ currently unused but must be non-zero (e.g. 'j1'). 'j1' will
+ indent for example the following code snippet correctly: >
+--- 485,491 ----
+ cond2 cond2
+ ) )
+ <
+! *java-cinoptions* *java-indenting* *cino-j*
+ jN Indent java anonymous classes correctly. The value 'N' is
+ currently unused but must be non-zero (e.g. 'j1'). 'j1' will
+ indent for example the following code snippet correctly: >
+***************
+*** 448,454 ****
+ }
+ });
+ <
+! *javascript-cinoptions* *javascript-indenting*
+ JN Indent JavaScript object declarations correctly by not confusing
+ them with labels. The value 'N' is currently unused but must be
+ non-zero (e.g. 'J1'). >
+--- 496,502 ----
+ }
+ });
+ <
+! *javascript-cinoptions* *javascript-indenting* *cino-J*
+ JN Indent JavaScript object declarations correctly by not confusing
+ them with labels. The value 'N' is currently unused but must be
+ non-zero (e.g. 'J1'). >
+***************
+*** 483,489 ****
+
+
+ The defaults, spelled out in full, are:
+! cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,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:
+--- 534,540 ----
+
+
+ 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:
+*** ../mercurial/vim73/src/misc1.c 2011-05-25 13:33:59.000000000 +0200
+--- src/misc1.c 2011-05-25 14:57:31.000000000 +0200
+***************
+*** 4959,4964 ****
+--- 4959,4965 ----
+ static int corr_ind_maxparen __ARGS((int ind_maxparen, pos_T *startpos));
+ static int find_last_paren __ARGS((char_u *l, int start, int end));
+ static int find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment));
++ static int cin_is_cpp_namespace __ARGS((char_u *));
+
+ static int ind_hash_comment = 0; /* # starts a comment */
+
+***************
+*** 5221,5226 ****
+--- 5222,5271 ----
+ return (*(s = cin_skipcomment(s + i)) == ':' && s[1] != ':');
+ }
+
++ /* Maximum number of lines to search back for a "namespace" line. */
++ #define FIND_NAMESPACE_LIM 20
++
++ /*
++ * Recognize a "namespace" scope declaration.
++ */
++ static int
++ cin_is_cpp_namespace(s)
++ char_u *s;
++ {
++ char_u *p;
++ int has_name = FALSE;
++
++ s = cin_skipcomment(s);
++ if (STRNCMP(s, "namespace", 9) == 0 && (s[9] == NUL || !vim_iswordc(s[9])))
++ {
++ p = cin_skipcomment(skipwhite(s + 9));
++ while (*p != NUL)
++ {
++ if (vim_iswhite(*p))
++ {
++ has_name = TRUE; /* found end of a name */
++ p = cin_skipcomment(skipwhite(p));
++ }
++ else if (*p == '{')
++ {
++ break;
++ }
++ else if (vim_iswordc(*p))
++ {
++ if (has_name)
++ return FALSE; /* word character after skipping past name */
++ ++p;
++ }
++ else
++ {
++ return FALSE;
++ }
++ }
++ return TRUE;
++ }
++ return FALSE;
++ }
++
+ /*
+ * Return a pointer to the first non-empty non-comment character after a ':'.
+ * Return NULL if not found.
+***************
+*** 6296,6301 ****
+--- 6341,6351 ----
+ */
+ int ind_keep_case_label = 0;
+
++ /*
++ * handle C++ namespace
++ */
++ int ind_cpp_namespace = 0;
++
+ pos_T cur_curpos;
+ int amount;
+ int scope_amount;
+***************
+*** 6336,6341 ****
+--- 6386,6392 ----
+ int n;
+ int iscase;
+ int lookfor_break;
++ int lookfor_cpp_namespace = FALSE;
+ int cont_amount = 0; /* amount for continuation line */
+ int original_line_islabel;
+
+***************
+*** 6409,6414 ****
+--- 6460,6466 ----
+ case 'J': ind_js = n; break;
+ case 'l': ind_keep_case_label = n; break;
+ case '#': ind_hash_comment = n; break;
++ case 'N': ind_cpp_namespace = n; break;
+ }
+ if (*options == ',')
+ ++options;
+***************
+*** 6976,6986 ****
+--- 7028,7051 ----
+ if (start_brace == BRACE_IN_COL0) /* '{' is in column 0 */
+ {
+ amount = ind_open_left_imag;
++ lookfor_cpp_namespace = TRUE;
++ }
++ else if (start_brace == BRACE_AT_START &&
++ lookfor_cpp_namespace) /* '{' is at start */
++ {
++
++ lookfor_cpp_namespace = TRUE;
+ }
+ else
+ {
+ if (start_brace == BRACE_AT_END) /* '{' is at end of line */
++ {
+ amount += ind_open_imag;
++
++ l = skipwhite(ml_get_curline());
++ if (cin_is_cpp_namespace(l))
++ amount += ind_cpp_namespace;
++ }
+ else
+ {
+ /* Compensate for adding ind_open_extra later. */
+***************
+*** 7151,7156 ****
+--- 7216,7261 ----
+ else
+ amount += ind_continuation;
+ }
++ else if (lookfor_cpp_namespace)
++ {
++ if (curwin->w_cursor.lnum == ourscope)
++ continue;
++
++ if (curwin->w_cursor.lnum == 0
++ || curwin->w_cursor.lnum
++ < ourscope - FIND_NAMESPACE_LIM)
++ break;
++
++ l = ml_get_curline();
++
++ /*
++ * If we're in a comment now, skip to the start of the
++ * comment.
++ */
++ trypos = find_start_comment(ind_maxcomment);
++ if (trypos != NULL)
++ {
++ curwin->w_cursor.lnum = trypos->lnum + 1;
++ curwin->w_cursor.col = 0;
++ continue;
++ }
++
++ /*
++ * Skip preprocessor directives and blank lines.
++ */
++ if (cin_ispreproc_cont(&l, &curwin->w_cursor.lnum))
++ continue;
++
++ if (cin_is_cpp_namespace(l))
++ {
++ amount += ind_cpp_namespace;
++ break;
++ }
++
++ if (cin_nocode(l))
++ continue;
++
++ }
+ else if (lookfor != LOOKFOR_TERM
+ && lookfor != LOOKFOR_CPP_BASECLASS)
+ {
+*** ../mercurial/vim73/src/testdir/test3.in 2011-05-25 13:33:59.000000000 +0200
+--- src/testdir/test3.in 2011-05-25 14:47:31.000000000 +0200
+***************
+*** 799,804 ****
+--- 799,867 ----
+ df */
+ hello
+ }
++
++ /* valid namespaces with normal indent */
++ namespace
++ {
++ {
++ 111111111111;
++ }
++ }
++ namespace /* test */
++ {
++ 11111111111111111;
++ }
++ namespace // test
++ {
++ 111111111111111111;
++ }
++ namespace
++ {
++ 111111111111111111;
++ }
++ namespace test
++ {
++ 111111111111111111;
++ }
++ namespace{
++ 111111111111111111;
++ }
++ namespace test{
++ 111111111111111111;
++ }
++ namespace {
++ 111111111111111111;
++ }
++ namespace test {
++ 111111111111111111;
++ namespace test2 {
++ 22222222222222222;
++ }
++ }
++
++ /* invalid namespaces use block indent */
++ namespace test test2 {
++ 111111111111111111111;
++ }
++ namespace11111111111 {
++ 111111111111;
++ }
++ namespace() {
++ 1111111111111;
++ }
++ namespace()
++ {
++ 111111111111111111;
++ }
++ namespace test test2
++ {
++ 1111111111111111111;
++ }
++ namespace111111111
++ {
++ 111111111111111111;
++ }
++
+ /* end of AUTO */
+
+ STARTTEST
+***************
+*** 1428,1433 ****
+--- 1491,1566 ----
+ }
+
+ STARTTEST
++ :set cino=N-s
++ /namespaces
++ =/^NAMESPACEEND
++ ENDTEST
++
++ /* valid namespaces with normal indent */
++ namespace
++ {
++ {
++ 111111111111;
++ }
++ }
++ namespace /* test */
++ {
++ 11111111111111111;
++ }
++ namespace // test
++ {
++ 111111111111111111;
++ }
++ namespace
++ {
++ 111111111111111111;
++ }
++ namespace test
++ {
++ 111111111111111111;
++ }
++ namespace{
++ 111111111111111111;
++ }
++ namespace test{
++ 111111111111111111;
++ }
++ namespace {
++ 111111111111111111;
++ }
++ namespace test {
++ 111111111111111111;
++ namespace test2 {
++ 22222222222222222;
++ }
++ }
++
++ /* invalid namespaces use block indent */
++ namespace test test2 {
++ 111111111111111111111;
++ }
++ namespace11111111111 {
++ 111111111111;
++ }
++ namespace() {
++ 1111111111111;
++ }
++ namespace()
++ {
++ 111111111111111111;
++ }
++ namespace test test2
++ {
++ 1111111111111111111;
++ }
++ namespace111111111
++ {
++ 111111111111111111;
++ }
++ NAMESPACEEND
++
++
++ STARTTEST
+ :g/^STARTTEST/.,/^ENDTEST/d
+ :1;/start of AUTO/,$wq! test.out
+ ENDTEST
+*** ../mercurial/vim73/src/testdir/test3.ok 2011-05-25 13:33:59.000000000 +0200
+--- src/testdir/test3.ok 2011-05-25 14:48:02.000000000 +0200
+***************
+*** 787,792 ****
+--- 787,855 ----
+ df */
+ hello
+ }
++
++ /* valid namespaces with normal indent */
++ namespace
++ {
++ {
++ 111111111111;
++ }
++ }
++ namespace /* test */
++ {
++ 11111111111111111;
++ }
++ namespace // test
++ {
++ 111111111111111111;
++ }
++ namespace
++ {
++ 111111111111111111;
++ }
++ namespace test
++ {
++ 111111111111111111;
++ }
++ namespace{
++ 111111111111111111;
++ }
++ namespace test{
++ 111111111111111111;
++ }
++ namespace {
++ 111111111111111111;
++ }
++ namespace test {
++ 111111111111111111;
++ namespace test2 {
++ 22222222222222222;
++ }
++ }
++
++ /* invalid namespaces use block indent */
++ namespace test test2 {
++ 111111111111111111111;
++ }
++ namespace11111111111 {
++ 111111111111;
++ }
++ namespace() {
++ 1111111111111;
++ }
++ namespace()
++ {
++ 111111111111111111;
++ }
++ namespace test test2
++ {
++ 1111111111111111111;
++ }
++ namespace111111111
++ {
++ 111111111111111111;
++ }
++
+ /* end of AUTO */
+
+
+***************
+*** 1273,1275 ****
+--- 1336,1403 ----
+ baz();
+ }
+
++
++ /* valid namespaces with normal indent */
++ namespace
++ {
++ {
++ 111111111111;
++ }
++ }
++ namespace /* test */
++ {
++ 11111111111111111;
++ }
++ namespace // test
++ {
++ 111111111111111111;
++ }
++ namespace
++ {
++ 111111111111111111;
++ }
++ namespace test
++ {
++ 111111111111111111;
++ }
++ namespace{
++ 111111111111111111;
++ }
++ namespace test{
++ 111111111111111111;
++ }
++ namespace {
++ 111111111111111111;
++ }
++ namespace test {
++ 111111111111111111;
++ namespace test2 {
++ 22222222222222222;
++ }
++ }
++
++ /* invalid namespaces use block indent */
++ namespace test test2 {
++ 111111111111111111111;
++ }
++ namespace11111111111 {
++ 111111111111;
++ }
++ namespace() {
++ 1111111111111;
++ }
++ namespace()
++ {
++ 111111111111111111;
++ }
++ namespace test test2
++ {
++ 1111111111111111111;
++ }
++ namespace111111111
++ {
++ 111111111111111111;
++ }
++ NAMESPACEEND
++
++
+*** ../vim-7.3.201/src/version.c 2011-05-25 13:33:59.000000000 +0200
+--- src/version.c 2011-05-25 15:14:20.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+ { /* Add new patch number below this line */
++ /**/
++ 202,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+107. When using your phone you forget that you don't have to use your
+ keyboard.
+
+ /// 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 ///