summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.552
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.552')
-rw-r--r--source/ap/vim/patches/7.3.552582
1 files changed, 0 insertions, 582 deletions
diff --git a/source/ap/vim/patches/7.3.552 b/source/ap/vim/patches/7.3.552
deleted file mode 100644
index e9a560ec..00000000
--- a/source/ap/vim/patches/7.3.552
+++ /dev/null
@@ -1,582 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.552
-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.552
-Problem: Formatting inside comments does not use the "2" flag in
- 'formatoptions'.
-Solution: Support the "2" flag. (Tor Perkins)
-Files: src/vim.h, src/ops.c, src/edit.c, src/misc1.c,
- src/testdir/test68.in, src/testdir/test68.ok
-
-
-*** ../vim-7.3.551/src/vim.h 2012-06-06 18:03:01.000000000 +0200
---- src/vim.h 2012-06-13 16:07:27.000000000 +0200
-***************
-*** 1072,1083 ****
---- 1072,1085 ----
- #define INSCHAR_DO_COM 2 /* format comments */
- #define INSCHAR_CTRLV 4 /* char typed just after CTRL-V */
- #define INSCHAR_NO_FEX 8 /* don't use 'formatexpr' */
-+ #define INSCHAR_COM_LIST 16 /* format comments with list/2nd line indent */
-
- /* flags for open_line() */
- #define OPENLINE_DELSPACES 1 /* delete spaces after cursor */
- #define OPENLINE_DO_COM 2 /* format comments */
- #define OPENLINE_KEEPTRAIL 4 /* keep trailing spaces */
- #define OPENLINE_MARKFIX 8 /* fix mark positions */
-+ #define OPENLINE_COM_LIST 16 /* format comments with list/2nd line indent */
-
- /*
- * There are four history tables:
-*** ../vim-7.3.551/src/ops.c 2012-06-13 14:01:36.000000000 +0200
---- src/ops.c 2012-06-13 16:53:44.000000000 +0200
-***************
-*** 1727,1734 ****
- * and the delete is within one line. */
- if ((
- #ifdef FEAT_CLIPBOARD
-! ((clip_unnamed & CLIP_UNNAMED) && oap->regname == '*') ||
-! ((clip_unnamed & CLIP_UNNAMED_PLUS) && oap->regname == '+') ||
- #endif
- oap->regname == 0) && oap->motion_type != MLINE
- && oap->line_count == 1)
---- 1727,1734 ----
- * and the delete is within one line. */
- if ((
- #ifdef FEAT_CLIPBOARD
-! ((clip_unnamed & CLIP_UNNAMED) && oap->regname == '*') ||
-! ((clip_unnamed & CLIP_UNNAMED_PLUS) && oap->regname == '+') ||
- #endif
- oap->regname == 0) && oap->motion_type != MLINE
- && oap->line_count == 1)
-***************
-*** 4208,4217 ****
- * "is_comment".
- * line - line to be processed,
- * process - if FALSE, will only check whether the line ends with an unclosed
-! * comment,
- * include_space - whether to also skip space following the comment leader,
- * is_comment - will indicate whether the current line ends with an unclosed
-! * comment.
- */
- static char_u *
- skip_comment(line, process, include_space, is_comment)
---- 4208,4217 ----
- * "is_comment".
- * line - line to be processed,
- * process - if FALSE, will only check whether the line ends with an unclosed
-! * comment,
- * include_space - whether to also skip space following the comment leader,
- * is_comment - will indicate whether the current line ends with an unclosed
-! * comment.
- */
- static char_u *
- skip_comment(line, process, include_space, is_comment)
-***************
-*** 4723,4731 ****
- char_u *leader_flags = NULL; /* flags for leader of current line */
- char_u *next_leader_flags; /* flags for leader of next line */
- int do_comments; /* format comments */
- #endif
- int advance = TRUE;
-! int second_indent = -1;
- int do_second_indent;
- int do_number_indent;
- int do_trail_white;
---- 4723,4733 ----
- char_u *leader_flags = NULL; /* flags for leader of current line */
- char_u *next_leader_flags; /* flags for leader of next line */
- int do_comments; /* format comments */
-+ int do_comments_list = 0; /* format comments with 'n' or '2' */
- #endif
- int advance = TRUE;
-! int second_indent = -1; /* indent for second line (comment
-! * aware) */
- int do_second_indent;
- int do_number_indent;
- int do_trail_white;
-***************
-*** 4828,4845 ****
- if (first_par_line
- && (do_second_indent || do_number_indent)
- && prev_is_end_par
-! && curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count
- #ifdef FEAT_COMMENTS
-! && leader_len == 0
-! && next_leader_len == 0
- #endif
-! )
-! {
-! if (do_second_indent
-! && !lineempty(curwin->w_cursor.lnum + 1))
-! second_indent = get_indent_lnum(curwin->w_cursor.lnum + 1);
- else if (do_number_indent)
-! second_indent = get_number_indent(curwin->w_cursor.lnum);
- }
-
- /*
---- 4830,4875 ----
- if (first_par_line
- && (do_second_indent || do_number_indent)
- && prev_is_end_par
-! && curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
-! {
-! if (do_second_indent && !lineempty(curwin->w_cursor.lnum + 1))
-! {
- #ifdef FEAT_COMMENTS
-! if (leader_len == 0 && next_leader_len == 0)
-! {
-! /* no comment found */
- #endif
-! second_indent =
-! get_indent_lnum(curwin->w_cursor.lnum + 1);
-! #ifdef FEAT_COMMENTS
-! }
-! else
-! {
-! second_indent = next_leader_len;
-! do_comments_list = 1;
-! }
-! #endif
-! }
- else if (do_number_indent)
-! {
-! #ifdef FEAT_COMMENTS
-! if (leader_len == 0 && next_leader_len == 0)
-! {
-! /* no comment found */
-! #endif
-! second_indent =
-! get_number_indent(curwin->w_cursor.lnum);
-! #ifdef FEAT_COMMENTS
-! }
-! else
-! {
-! /* get_number_indent() is now "comment aware"... */
-! second_indent =
-! get_number_indent(curwin->w_cursor.lnum);
-! do_comments_list = 1;
-! }
-! #endif
-! }
- }
-
- /*
-***************
-*** 4878,4883 ****
---- 4908,4915 ----
- insertchar(NUL, INSCHAR_FORMAT
- #ifdef FEAT_COMMENTS
- + (do_comments ? INSCHAR_DO_COM : 0)
-+ + (do_comments && do_comments_list
-+ ? INSCHAR_COM_LIST : 0)
- #endif
- + (avoid_fex ? INSCHAR_NO_FEX : 0), second_indent);
- State = old_State;
-*** ../vim-7.3.551/src/edit.c 2012-06-06 16:12:54.000000000 +0200
---- src/edit.c 2012-06-13 16:54:10.000000000 +0200
-***************
-*** 1463,1469 ****
- * what check_abbr() expects. */
- (has_mbyte && c >= 0x100) ? (c + ABBR_OFF) :
- #endif
-! c) && c != Ctrl_RSB))
- {
- insert_special(c, FALSE, FALSE);
- #ifdef FEAT_RIGHTLEFT
---- 1463,1469 ----
- * what check_abbr() expects. */
- (has_mbyte && c >= 0x100) ? (c + ABBR_OFF) :
- #endif
-! c) && c != Ctrl_RSB))
- {
- insert_special(c, FALSE, FALSE);
- #ifdef FEAT_RIGHTLEFT
-***************
-*** 5769,5774 ****
---- 5769,5784 ----
- # define WHITECHAR(cc) vim_iswhite(cc)
- #endif
-
-+ /*
-+ * "flags": INSCHAR_FORMAT - force formatting
-+ * INSCHAR_CTRLV - char typed just after CTRL-V
-+ * INSCHAR_NO_FEX - don't use 'formatexpr'
-+ *
-+ * NOTE: passes the flags value straight through to internal_format() which,
-+ * beside INSCHAR_FORMAT (above), is also looking for these:
-+ * INSCHAR_DO_COM - format comments
-+ * INSCHAR_COM_LIST - format comments with num list or 2nd line indent
-+ */
- void
- insertchar(c, flags, second_indent)
- int c; /* character to insert or NUL */
-***************
-*** 6011,6016 ****
---- 6021,6029 ----
-
- /*
- * Format text at the current insert position.
-+ *
-+ * If the INSCHAR_COM_LIST flag is present, then the value of second_indent
-+ * will be the comment leader length sent to open_line().
- */
- static void
- internal_format(textwidth, second_indent, flags, format_only, c)
-***************
-*** 6289,6311 ****
- + (fo_white_par ? OPENLINE_KEEPTRAIL : 0)
- #ifdef FEAT_COMMENTS
- + (do_comments ? OPENLINE_DO_COM : 0)
- #endif
-! , old_indent);
-! old_indent = 0;
-
- replace_offset = 0;
- if (first_line)
- {
-! if (second_indent < 0 && has_format_option(FO_Q_NUMBER))
-! second_indent = get_number_indent(curwin->w_cursor.lnum -1);
-! if (second_indent >= 0)
- {
- #ifdef FEAT_VREPLACE
-! if (State & VREPLACE_FLAG)
-! change_indent(INDENT_SET, second_indent, FALSE, NUL, TRUE);
-! else
- #endif
-! (void)set_indent(second_indent, SIN_CHANGED);
- }
- first_line = FALSE;
- }
---- 6302,6337 ----
- + (fo_white_par ? OPENLINE_KEEPTRAIL : 0)
- #ifdef FEAT_COMMENTS
- + (do_comments ? OPENLINE_DO_COM : 0)
-+ + ((flags & INSCHAR_COM_LIST) ? OPENLINE_COM_LIST : 0)
- #endif
-! , ((flags & INSCHAR_COM_LIST) ? second_indent : old_indent));
-! if (!(flags & INSCHAR_COM_LIST))
-! old_indent = 0;
-
- replace_offset = 0;
- if (first_line)
- {
-! if (!(flags & INSCHAR_COM_LIST))
- {
-+ /*
-+ * This section is for numeric lists w/o comments. If comment
-+ * indents are needed with numeric lists (formatoptions=nq),
-+ * then the INSCHAR_COM_LIST flag will cause the corresponding
-+ * OPENLINE_COM_LIST flag to be passed through to open_line()
-+ * (as seen above)...
-+ */
-+ if (second_indent < 0 && has_format_option(FO_Q_NUMBER))
-+ second_indent = get_number_indent(curwin->w_cursor.lnum -1);
-+ if (second_indent >= 0)
-+ {
- #ifdef FEAT_VREPLACE
-! if (State & VREPLACE_FLAG)
-! change_indent(INDENT_SET, second_indent,
-! FALSE, NUL, TRUE);
-! else
- #endif
-! (void)set_indent(second_indent, SIN_CHANGED);
-! }
- }
- first_line = FALSE;
- }
-*** ../vim-7.3.551/src/misc1.c 2012-06-13 13:40:45.000000000 +0200
---- src/misc1.c 2012-06-13 16:54:59.000000000 +0200
-***************
-*** 423,449 ****
- {
- colnr_T col;
- pos_T pos;
-- regmmatch_T regmatch;
-
- if (lnum > curbuf->b_ml.ml_line_count)
- return -1;
- pos.lnum = 0;
-! regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-! if (regmatch.regprog != NULL)
- {
-! regmatch.rmm_ic = FALSE;
-! regmatch.rmm_maxcol = 0;
-! if (vim_regexec_multi(&regmatch, curwin, curbuf, lnum,
-! (colnr_T)0, NULL))
- {
-! pos.lnum = regmatch.endpos[0].lnum + lnum;
-! pos.col = regmatch.endpos[0].col;
- #ifdef FEAT_VIRTUALEDIT
-! pos.coladd = 0;
- #endif
- }
- vim_free(regmatch.regprog);
- }
-
- if (pos.lnum == 0 || *ml_get_pos(&pos) == NUL)
- return -1;
---- 423,492 ----
- {
- colnr_T col;
- pos_T pos;
-
- if (lnum > curbuf->b_ml.ml_line_count)
- return -1;
- pos.lnum = 0;
-!
-! #ifdef FEAT_COMMENTS
-! if (has_format_option(FO_Q_COMS) && has_format_option(FO_Q_NUMBER))
- {
-! regmatch_T regmatch;
-! int lead_len; /* length of comment leader */
-!
-! lead_len = get_leader_len(ml_get(lnum), NULL, FALSE, TRUE);
-! regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-! if (regmatch.regprog != NULL)
- {
-! regmatch.rm_ic = FALSE;
-!
-! /* vim_regexec() expects a pointer to a line. This lets us
-! * start matching for the flp beyond any comment leader... */
-! if (vim_regexec(&regmatch, ml_get(lnum) + lead_len, (colnr_T)0))
-! {
-! pos.lnum = lnum;
-! pos.col = *regmatch.endp - (ml_get(lnum) + lead_len);
-! pos.col += lead_len;
- #ifdef FEAT_VIRTUALEDIT
-! pos.coladd = 0;
- #endif
-+ }
- }
- vim_free(regmatch.regprog);
- }
-+ else
-+ {
-+ /*
-+ * What follows is the orig code that is not "comment aware"...
-+ *
-+ * I'm not sure if regmmatch_T (multi-match) is needed in this case.
-+ * It may be true that this section would work properly using the
-+ * regmatch_T code above, in which case, these two seperate sections
-+ * should be consolidated w/ FEAT_COMMENTS making lead_len > 0...
-+ */
-+ #endif
-+ regmmatch_T regmatch;
-+
-+ regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-+
-+ if (regmatch.regprog != NULL)
-+ {
-+ regmatch.rmm_ic = FALSE;
-+ regmatch.rmm_maxcol = 0;
-+ if (vim_regexec_multi(&regmatch, curwin, curbuf,
-+ lnum, (colnr_T)0, NULL))
-+ {
-+ pos.lnum = regmatch.endpos[0].lnum + lnum;
-+ pos.col = regmatch.endpos[0].col;
-+ #ifdef FEAT_VIRTUALEDIT
-+ pos.coladd = 0;
-+ #endif
-+ }
-+ vim_free(regmatch.regprog);
-+ }
-+ #ifdef FEAT_COMMENTS
-+ }
-+ #endif
-
- if (pos.lnum == 0 || *ml_get_pos(&pos) == NUL)
- return -1;
-***************
-*** 502,515 ****
- * OPENLINE_DO_COM format comments
- * OPENLINE_KEEPTRAIL keep trailing spaces
- * OPENLINE_MARKFIX adjust mark positions after the line break
- *
- * Return TRUE for success, FALSE for failure
- */
- int
-! open_line(dir, flags, old_indent)
- int dir; /* FORWARD or BACKWARD */
- int flags;
-! int old_indent; /* indent for after ^^D in Insert mode */
- {
- char_u *saved_line; /* copy of the original line */
- char_u *next_line = NULL; /* copy of the next line */
---- 545,562 ----
- * OPENLINE_DO_COM format comments
- * OPENLINE_KEEPTRAIL keep trailing spaces
- * OPENLINE_MARKFIX adjust mark positions after the line break
-+ * OPENLINE_COM_LIST format comments with list or 2nd line indent
-+ *
-+ * "second_line_indent": indent for after ^^D in Insert mode or if flag
-+ * OPENLINE_COM_LIST
- *
- * Return TRUE for success, FALSE for failure
- */
- int
-! open_line(dir, flags, second_line_indent)
- int dir; /* FORWARD or BACKWARD */
- int flags;
-! int second_line_indent;
- {
- char_u *saved_line; /* copy of the original line */
- char_u *next_line = NULL; /* copy of the next line */
-***************
-*** 650,657 ****
- * count white space on current line
- */
- newindent = get_indent_str(saved_line, (int)curbuf->b_p_ts);
-! if (newindent == 0)
-! newindent = old_indent; /* for ^^D command in insert mode */
-
- #ifdef FEAT_SMARTINDENT
- /*
---- 697,704 ----
- * count white space on current line
- */
- newindent = get_indent_str(saved_line, (int)curbuf->b_p_ts);
-! if (newindent == 0 && !(flags & OPENLINE_COM_LIST))
-! newindent = second_line_indent; /* for ^^D command in insert mode */
-
- #ifdef FEAT_SMARTINDENT
- /*
-***************
-*** 1008,1015 ****
- if (lead_len)
- {
- /* allocate buffer (may concatenate p_exta later) */
-! leader = alloc(lead_len + lead_repl_len + extra_space +
-! extra_len + 1);
- allocated = leader; /* remember to free it later */
-
- if (leader == NULL)
---- 1055,1062 ----
- if (lead_len)
- {
- /* allocate buffer (may concatenate p_exta later) */
-! leader = alloc(lead_len + lead_repl_len + extra_space + extra_len
-! + (second_line_indent > 0 ? second_line_indent : 0));
- allocated = leader; /* remember to free it later */
-
- if (leader == NULL)
-***************
-*** 1304,1309 ****
---- 1351,1370 ----
- /* concatenate leader and p_extra, if there is a leader */
- if (lead_len)
- {
-+ if (flags & OPENLINE_COM_LIST && second_line_indent > 0)
-+ {
-+ int i;
-+ int padding = second_line_indent - (newindent + STRLEN(leader));
-+
-+ /* Here whitespace is inserted after the comment char.
-+ * Below, set_indent(newindent, SIN_INSERT) will insert the
-+ * whitespace needed before the comment char. */
-+ for (i = 0; i < padding; i++)
-+ {
-+ STRCAT(leader, " ");
-+ newcol++;
-+ }
-+ }
- STRCAT(leader, p_extra);
- p_extra = leader;
- did_ai = TRUE; /* So truncating blanks works with comments */
-***************
-*** 4966,4973 ****
- char_u *
- FullName_save(fname, force)
- char_u *fname;
-! int force; /* force expansion, even when it already looks
-! like a full path name */
- {
- char_u *buf;
- char_u *new_fname = NULL;
---- 5027,5034 ----
- char_u *
- FullName_save(fname, force)
- char_u *fname;
-! int force; /* force expansion, even when it already looks
-! * like a full path name */
- {
- char_u *buf;
- char_u *new_fname = NULL;
-*** ../vim-7.3.551/src/testdir/test68.in 2010-10-09 17:21:42.000000000 +0200
---- src/testdir/test68.in 2012-06-13 15:49:38.000000000 +0200
-***************
-*** 51,56 ****
---- 51,77 ----
- }
-
- STARTTEST
-+ /^{/+1
-+ :set tw=5 fo=qn comments=:#
-+ gwap
-+ ENDTEST
-+
-+ {
-+ # 1 a b
-+ }
-+
-+ STARTTEST
-+ /^{/+1
-+ :set tw=5 fo=q2 comments=:#
-+ gwap
-+ ENDTEST
-+
-+ {
-+ # x
-+ # a b
-+ }
-+
-+ STARTTEST
- /^{/+2
- :set tw& fo=a
- I^^
-*** ../vim-7.3.551/src/testdir/test68.ok 2010-10-09 17:21:42.000000000 +0200
---- src/testdir/test68.ok 2012-06-13 15:49:38.000000000 +0200
-***************
-*** 34,38 ****
---- 34,50 ----
- }
-
-
-+ {
-+ # 1 a
-+ # b
-+ }
-+
-+
-+ {
-+ # x a
-+ # b
-+ }
-+
-+
- { 1aa ^^2bb }
-
-*** ../vim-7.3.551/src/version.c 2012-06-13 14:28:16.000000000 +0200
---- src/version.c 2012-06-13 16:36:14.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 552,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-31. You code your homework in HTML and give your instructor the URL.
-
- /// 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 ///