]> git.pld-linux.org Git - packages/vim.git/blame - 6.3.012
- release 2 - added desktop for pure vim
[packages/vim.git] / 6.3.012
CommitLineData
2b73553d
AM
1To: vim-dev@vim.org
2Subject: Patch 6.3.012
3Fcc: outbox
4From: Bram Moolenaar <Bram@moolenaar.net>
5Mime-Version: 1.0
6Content-Type: text/plain; charset=ISO-8859-1
7Content-Transfer-Encoding: 8bit
8------------
9
10Patch 6.3.012
11Problem: Internal lalloc(0) error when using a complicated multi-line
12 pattern in a substitute command. (Luc Hermitte)
13Solution: Avoid going past the end of a line.
14Files: src/ex_cmds.c
15
16
17*** ../vim-6.3.011/src/ex_cmds.c Thu Jun 10 21:08:20 2004
18--- src/ex_cmds.c Tue Jul 6 14:47:37 2004
19***************
20*** 3727,3732 ****
21--- 3727,3733 ----
22 unsigned len, needed_len;
23 long nmatch_tl = 0; /* nr of lines matched below lnum */
24 int do_again; /* do it again after joining lines */
25+ int skip_match = FALSE;
26
27 /*
28 * The new text is build up step by step, to avoid too much
29***************
30*** 3811,3817 ****
31 && regmatch.endpos[0].lnum == 0
32 && matchcol == regmatch.endpos[0].col)
33 {
34! ++matchcol; /* search for a match at next column */
35 goto skip;
36 }
37
38--- 3812,3823 ----
39 && regmatch.endpos[0].lnum == 0
40 && matchcol == regmatch.endpos[0].col)
41 {
42! if (sub_firstline[matchcol] == NUL)
43! /* We already were at the end of the line. Don't look
44! * for a match in this line again. */
45! skip_match = TRUE;
46! else
47! ++matchcol; /* search for a match at next column */
48 goto skip;
49 }
50
51***************
52*** 4103,4111 ****
53 /* We already know that we did the last subst when we are at
54 * the end of the line, except that a pattern like
55 * "bar\|\nfoo" may match at the NUL. */
56! lastone = ((sub_firstline[matchcol] == NUL && nmatch <= 1
57! && !re_multiline(regmatch.regprog))
58! || got_int || got_quit || !(do_all || do_again));
59 nmatch = -1;
60
61 /*
62--- 4109,4120 ----
63 /* We already know that we did the last subst when we are at
64 * the end of the line, except that a pattern like
65 * "bar\|\nfoo" may match at the NUL. */
66! lastone = (skip_match
67! || got_int
68! || got_quit
69! || !(do_all || do_again)
70! || (sub_firstline[matchcol] == NUL && nmatch <= 1
71! && !re_multiline(regmatch.regprog)));
72 nmatch = -1;
73
74 /*
75*** ../vim-6.3.011/src/version.c Fri Jul 2 22:00:36 2004
76--- src/version.c Tue Jul 6 14:56:13 2004
77***************
78*** 643,644 ****
79--- 643,646 ----
80 { /* Add new patch number below this line */
81+ /**/
82+ 12,
83 /**/
84
85--
86Kisses may last for as much as, but no more than, five minutes.
87 [real standing law in Iowa, United States of America]
88
89 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
90/// Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
91\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
92 \\\ Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
This page took 0.108723 seconds and 4 git commands to generate.