- patchlevel 242
This commit is contained in:
parent
c8ecddb235
commit
9c34900d48
210
7.1.234
Normal file
210
7.1.234
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.234
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.234
|
||||||
|
Problem: When diff'ing three files the third one isn't displayed correctly.
|
||||||
|
(Gary Johnson)
|
||||||
|
Solution: Compute the size of diff blocks correctly when merging blocks.
|
||||||
|
Compute filler lines correctly when scrolling.
|
||||||
|
Files: src/diff.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.233/src/diff.c Fri Oct 19 18:57:33 2007
|
||||||
|
--- src/diff.c Fri Jan 18 17:32:31 2008
|
||||||
|
***************
|
||||||
|
*** 1299,1305 ****
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* second overlap of new block with existing block */
|
||||||
|
! dp->df_count[idx_new] += count_new - count_orig;
|
||||||
|
|
||||||
|
/* Adjust the size of the block to include all the lines to the
|
||||||
|
* end of the existing block or the new diff, whatever ends last. */
|
||||||
|
--- 1299,1307 ----
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* second overlap of new block with existing block */
|
||||||
|
! dp->df_count[idx_new] += count_new - count_orig
|
||||||
|
! + dpl->df_lnum[idx_orig] + dpl->df_count[idx_orig]
|
||||||
|
! - (dp->df_lnum[idx_orig] + dp->df_count[idx_orig]);
|
||||||
|
|
||||||
|
/* Adjust the size of the block to include all the lines to the
|
||||||
|
* end of the existing block or the new diff, whatever ends last. */
|
||||||
|
***************
|
||||||
|
*** 1628,1641 ****
|
||||||
|
win_T *fromwin;
|
||||||
|
win_T *towin;
|
||||||
|
{
|
||||||
|
! buf_T *buf = fromwin->w_buffer;
|
||||||
|
linenr_T lnum = fromwin->w_topline;
|
||||||
|
! int idx;
|
||||||
|
diff_T *dp;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
! idx = diff_buf_idx(buf);
|
||||||
|
! if (idx == DB_COUNT)
|
||||||
|
return; /* safety check */
|
||||||
|
|
||||||
|
if (curtab->tp_diff_invalid)
|
||||||
|
--- 1630,1645 ----
|
||||||
|
win_T *fromwin;
|
||||||
|
win_T *towin;
|
||||||
|
{
|
||||||
|
! buf_T *frombuf = fromwin->w_buffer;
|
||||||
|
linenr_T lnum = fromwin->w_topline;
|
||||||
|
! int fromidx;
|
||||||
|
! int toidx;
|
||||||
|
diff_T *dp;
|
||||||
|
+ int max_count;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
! fromidx = diff_buf_idx(frombuf);
|
||||||
|
! if (fromidx == DB_COUNT)
|
||||||
|
return; /* safety check */
|
||||||
|
|
||||||
|
if (curtab->tp_diff_invalid)
|
||||||
|
***************
|
||||||
|
*** 1645,1686 ****
|
||||||
|
|
||||||
|
/* search for a change that includes "lnum" in the list of diffblocks. */
|
||||||
|
for (dp = curtab->tp_first_diff; dp != NULL; dp = dp->df_next)
|
||||||
|
! if (lnum <= dp->df_lnum[idx] + dp->df_count[idx])
|
||||||
|
break;
|
||||||
|
if (dp == NULL)
|
||||||
|
{
|
||||||
|
/* After last change, compute topline relative to end of file; no
|
||||||
|
* filler lines. */
|
||||||
|
towin->w_topline = towin->w_buffer->b_ml.ml_line_count
|
||||||
|
! - (buf->b_ml.ml_line_count - lnum);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Find index for "towin". */
|
||||||
|
! i = diff_buf_idx(towin->w_buffer);
|
||||||
|
! if (i == DB_COUNT)
|
||||||
|
return; /* safety check */
|
||||||
|
|
||||||
|
! towin->w_topline = lnum + (dp->df_lnum[i] - dp->df_lnum[idx]);
|
||||||
|
! if (lnum >= dp->df_lnum[idx])
|
||||||
|
{
|
||||||
|
! /* Inside a change: compute filler lines. */
|
||||||
|
! if (dp->df_count[i] == dp->df_count[idx])
|
||||||
|
towin->w_topfill = fromwin->w_topfill;
|
||||||
|
! else if (dp->df_count[i] > dp->df_count[idx])
|
||||||
|
{
|
||||||
|
! if (lnum == dp->df_lnum[idx] + dp->df_count[idx])
|
||||||
|
! towin->w_topline = dp->df_lnum[i] + dp->df_count[i]
|
||||||
|
! - fromwin->w_topfill;
|
||||||
|
}
|
||||||
|
! else
|
||||||
|
{
|
||||||
|
! if (towin->w_topline >= dp->df_lnum[i] + dp->df_count[i])
|
||||||
|
{
|
||||||
|
! if (diff_flags & DIFF_FILLER)
|
||||||
|
! towin->w_topfill = dp->df_lnum[idx]
|
||||||
|
! + dp->df_count[idx] - lnum;
|
||||||
|
! towin->w_topline = dp->df_lnum[i] + dp->df_count[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--- 1649,1720 ----
|
||||||
|
|
||||||
|
/* search for a change that includes "lnum" in the list of diffblocks. */
|
||||||
|
for (dp = curtab->tp_first_diff; dp != NULL; dp = dp->df_next)
|
||||||
|
! if (lnum <= dp->df_lnum[fromidx] + dp->df_count[fromidx])
|
||||||
|
break;
|
||||||
|
if (dp == NULL)
|
||||||
|
{
|
||||||
|
/* After last change, compute topline relative to end of file; no
|
||||||
|
* filler lines. */
|
||||||
|
towin->w_topline = towin->w_buffer->b_ml.ml_line_count
|
||||||
|
! - (frombuf->b_ml.ml_line_count - lnum);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Find index for "towin". */
|
||||||
|
! toidx = diff_buf_idx(towin->w_buffer);
|
||||||
|
! if (toidx == DB_COUNT)
|
||||||
|
return; /* safety check */
|
||||||
|
|
||||||
|
! towin->w_topline = lnum + (dp->df_lnum[toidx] - dp->df_lnum[fromidx]);
|
||||||
|
! if (lnum >= dp->df_lnum[fromidx])
|
||||||
|
{
|
||||||
|
! /* Inside a change: compute filler lines. With three or more
|
||||||
|
! * buffers we need to know the largest count. */
|
||||||
|
! max_count = 0;
|
||||||
|
! for (i = 0; i < DB_COUNT; ++i)
|
||||||
|
! if (curtab->tp_diffbuf[i] != NULL
|
||||||
|
! && max_count < dp->df_count[i])
|
||||||
|
! max_count = dp->df_count[i];
|
||||||
|
!
|
||||||
|
! if (dp->df_count[toidx] == dp->df_count[fromidx])
|
||||||
|
! {
|
||||||
|
! /* same number of lines: use same filler count */
|
||||||
|
towin->w_topfill = fromwin->w_topfill;
|
||||||
|
! }
|
||||||
|
! else if (dp->df_count[toidx] > dp->df_count[fromidx])
|
||||||
|
{
|
||||||
|
! if (lnum == dp->df_lnum[fromidx] + dp->df_count[fromidx])
|
||||||
|
! {
|
||||||
|
! /* more lines in towin and fromwin doesn't show diff
|
||||||
|
! * lines, only filler lines */
|
||||||
|
! if (max_count - fromwin->w_topfill >= dp->df_count[toidx])
|
||||||
|
! {
|
||||||
|
! /* towin also only shows filler lines */
|
||||||
|
! towin->w_topline = dp->df_lnum[toidx]
|
||||||
|
! + dp->df_count[toidx];
|
||||||
|
! towin->w_topfill = fromwin->w_topfill;
|
||||||
|
! }
|
||||||
|
! else
|
||||||
|
! /* towin still has some diff lines to show */
|
||||||
|
! towin->w_topline = dp->df_lnum[toidx]
|
||||||
|
! + max_count - fromwin->w_topfill;
|
||||||
|
! }
|
||||||
|
}
|
||||||
|
! else if (towin->w_topline >= dp->df_lnum[toidx]
|
||||||
|
! + dp->df_count[toidx])
|
||||||
|
{
|
||||||
|
! /* less lines in towin and no diff lines to show: compute
|
||||||
|
! * filler lines */
|
||||||
|
! towin->w_topline = dp->df_lnum[toidx] + dp->df_count[toidx];
|
||||||
|
! if (diff_flags & DIFF_FILLER)
|
||||||
|
{
|
||||||
|
! if (lnum == dp->df_lnum[fromidx] + dp->df_count[fromidx])
|
||||||
|
! /* fromwin is also out of diff lines */
|
||||||
|
! towin->w_topfill = fromwin->w_topfill;
|
||||||
|
! else
|
||||||
|
! /* fromwin has some diff lines */
|
||||||
|
! towin->w_topfill = dp->df_lnum[fromidx]
|
||||||
|
! + max_count - lnum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.233/src/version.c Fri Jan 18 13:15:32 2008
|
||||||
|
--- src/version.c Fri Jan 18 17:37:32 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 234,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
ERIC IDLE PLAYED: THE DEAD COLLECTOR, MR BINT (A VILLAGE NE'ER-DO -WELL VERY
|
||||||
|
KEEN ON BURNING WITCHES), SIR ROBIN, THE GUARD WHO DOESN'T
|
||||||
|
HICOUGH BUT TRIES TO GET THINGS STRAIGHT, CONCORDE (SIR
|
||||||
|
LAUNCELOT'S TRUSTY STEED), ROGER THE SHRUBBER (A SHRUBBER),
|
||||||
|
BROTHER MAYNARD
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
199
7.1.235
Normal file
199
7.1.235
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.235
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.235
|
||||||
|
Problem: Pattern matching is slow when using a lot of simple patterns.
|
||||||
|
Solution: Avoid allocating memory by not freeing it when it's not so much.
|
||||||
|
(Alexei Alexandrov)
|
||||||
|
Files: src/regexp.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.234/src/regexp.c Wed Jan 2 15:34:48 2008
|
||||||
|
--- src/regexp.c Fri Jan 18 20:35:21 2008
|
||||||
|
***************
|
||||||
|
*** 378,391 ****
|
||||||
|
|
||||||
|
static char_u *reg_prev_sub = NULL;
|
||||||
|
|
||||||
|
- #if defined(EXITFREE) || defined(PROTO)
|
||||||
|
- void
|
||||||
|
- free_regexp_stuff()
|
||||||
|
- {
|
||||||
|
- vim_free(reg_prev_sub);
|
||||||
|
- }
|
||||||
|
- #endif
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* REGEXP_INRANGE contains all characters which are always special in a []
|
||||||
|
* range after '\'.
|
||||||
|
--- 378,383 ----
|
||||||
|
***************
|
||||||
|
*** 3206,3217 ****
|
||||||
|
} backpos_T;
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * regstack and backpos are used by regmatch(). They are kept over calls to
|
||||||
|
! * avoid invoking malloc() and free() often.
|
||||||
|
*/
|
||||||
|
! static garray_T regstack; /* stack with regitem_T items, sometimes
|
||||||
|
! preceded by regstar_T or regbehind_T. */
|
||||||
|
! static garray_T backpos; /* table with backpos_T for BACK */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get pointer to the line "lnum", which is relative to "reg_firstlnum".
|
||||||
|
--- 3198,3236 ----
|
||||||
|
} backpos_T;
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * "regstack" and "backpos" are used by regmatch(). They are kept over calls
|
||||||
|
! * to avoid invoking malloc() and free() often.
|
||||||
|
! * "regstack" is a stack with regitem_T items, sometimes preceded by regstar_T
|
||||||
|
! * or regbehind_T.
|
||||||
|
! * "backpos_T" is a table with backpos_T for BACK
|
||||||
|
! */
|
||||||
|
! static garray_T regstack = {0, 0, 0, 0, NULL};
|
||||||
|
! static garray_T backpos = {0, 0, 0, 0, NULL};
|
||||||
|
!
|
||||||
|
! /*
|
||||||
|
! * Both for regstack and backpos tables we use the following strategy of
|
||||||
|
! * allocation (to reduce malloc/free calls):
|
||||||
|
! * - Initial size is fairly small.
|
||||||
|
! * - When needed, the tables are grown bigger (8 times at first, double after
|
||||||
|
! * that).
|
||||||
|
! * - After executing the match we free the memory only if the array has grown.
|
||||||
|
! * Thus the memory is kept allocated when it's at the initial size.
|
||||||
|
! * This makes it fast while not keeping a lot of memory allocated.
|
||||||
|
! * A three times speed increase was observed when using many simple patterns.
|
||||||
|
*/
|
||||||
|
! #define REGSTACK_INITIAL 2048
|
||||||
|
! #define BACKPOS_INITIAL 64
|
||||||
|
!
|
||||||
|
! #if defined(EXITFREE) || defined(PROTO)
|
||||||
|
! void
|
||||||
|
! free_regexp_stuff()
|
||||||
|
! {
|
||||||
|
! ga_clear(®stack);
|
||||||
|
! ga_clear(&backpos);
|
||||||
|
! vim_free(reg_tofree);
|
||||||
|
! vim_free(reg_prev_sub);
|
||||||
|
! }
|
||||||
|
! #endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get pointer to the line "lnum", which is relative to "reg_firstlnum".
|
||||||
|
***************
|
||||||
|
*** 3346,3360 ****
|
||||||
|
char_u *s;
|
||||||
|
long retval = 0L;
|
||||||
|
|
||||||
|
! reg_tofree = NULL;
|
||||||
|
!
|
||||||
|
! /* Init the regstack empty. Use an item size of 1 byte, since we push
|
||||||
|
! * different things onto it. Use a large grow size to avoid reallocating
|
||||||
|
! * it too often. */
|
||||||
|
! ga_init2(®stack, 1, 10000);
|
||||||
|
!
|
||||||
|
! /* Init the backpos table empty. */
|
||||||
|
! ga_init2(&backpos, sizeof(backpos_T), 10);
|
||||||
|
|
||||||
|
if (REG_MULTI)
|
||||||
|
{
|
||||||
|
--- 3365,3389 ----
|
||||||
|
char_u *s;
|
||||||
|
long retval = 0L;
|
||||||
|
|
||||||
|
! /* Create "regstack" and "backpos" if they are not allocated yet.
|
||||||
|
! * We allocate *_INITIAL amount of bytes first and then set the grow size
|
||||||
|
! * to much bigger value to avoid many malloc calls in case of deep regular
|
||||||
|
! * expressions. */
|
||||||
|
! if (regstack.ga_data == NULL)
|
||||||
|
! {
|
||||||
|
! /* Use an item size of 1 byte, since we push different things
|
||||||
|
! * onto the regstack. */
|
||||||
|
! ga_init2(®stack, 1, REGSTACK_INITIAL);
|
||||||
|
! ga_grow(®stack, REGSTACK_INITIAL);
|
||||||
|
! regstack.ga_growsize = REGSTACK_INITIAL * 8;
|
||||||
|
! }
|
||||||
|
!
|
||||||
|
! if (backpos.ga_data == NULL)
|
||||||
|
! {
|
||||||
|
! ga_init2(&backpos, sizeof(backpos_T), BACKPOS_INITIAL);
|
||||||
|
! ga_grow(&backpos, BACKPOS_INITIAL);
|
||||||
|
! backpos.ga_growsize = BACKPOS_INITIAL * 8;
|
||||||
|
! }
|
||||||
|
|
||||||
|
if (REG_MULTI)
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 3525,3533 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
theend:
|
||||||
|
! vim_free(reg_tofree);
|
||||||
|
! ga_clear(®stack);
|
||||||
|
! ga_clear(&backpos);
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
--- 3554,3570 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
theend:
|
||||||
|
! /* Free "reg_tofree" when it's a bit big.
|
||||||
|
! * Free regstack and backpos if they are bigger than their initial size. */
|
||||||
|
! if (reg_tofreelen > 400)
|
||||||
|
! {
|
||||||
|
! vim_free(reg_tofree);
|
||||||
|
! reg_tofree = NULL;
|
||||||
|
! }
|
||||||
|
! if (regstack.ga_maxlen > REGSTACK_INITIAL)
|
||||||
|
! ga_clear(®stack);
|
||||||
|
! if (backpos.ga_maxlen > BACKPOS_INITIAL)
|
||||||
|
! ga_clear(&backpos);
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
***************
|
||||||
|
*** 3717,3724 ****
|
||||||
|
#define RA_MATCH 4 /* successful match */
|
||||||
|
#define RA_NOMATCH 5 /* didn't match */
|
||||||
|
|
||||||
|
! /* Init the regstack and backpos table empty. They are initialized and
|
||||||
|
! * freed in vim_regexec_both() to reduce malloc()/free() calls. */
|
||||||
|
regstack.ga_len = 0;
|
||||||
|
backpos.ga_len = 0;
|
||||||
|
|
||||||
|
--- 3754,3761 ----
|
||||||
|
#define RA_MATCH 4 /* successful match */
|
||||||
|
#define RA_NOMATCH 5 /* didn't match */
|
||||||
|
|
||||||
|
! /* Make "regstack" and "backpos" empty. They are allocated and freed in
|
||||||
|
! * vim_regexec_both() to reduce malloc()/free() calls. */
|
||||||
|
regstack.ga_len = 0;
|
||||||
|
backpos.ga_len = 0;
|
||||||
|
|
||||||
|
*** ../vim-7.1.234/src/version.c Fri Jan 18 17:39:10 2008
|
||||||
|
--- src/version.c Fri Jan 18 20:33:26 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 235,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
NEIL INNES PLAYED: THE FIRST SELF-DESTRUCTIVE MONK, ROBIN'S LEAST FAVORITE
|
||||||
|
MINSTREL, THE PAGE CRUSHED BY A RABBIT, THE OWNER OF A DUCK
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
920
7.1.236
Normal file
920
7.1.236
Normal file
@ -0,0 +1,920 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.236
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.236
|
||||||
|
Problem: When using 'incsearch' and 'hlsearch' a complicated pattern may
|
||||||
|
make Vim hang until CTRL-C is pressed.
|
||||||
|
Solution: Add the 'redrawtime' option.
|
||||||
|
Files: runtime/doc/options.txt, src/ex_cmds.c, src/ex_docmd.c,
|
||||||
|
src/ex_getln.c, src/gui.c, src/misc1.c, src/normal.c,
|
||||||
|
src/option.c, src/quickfix.c, src/regexp.c, src/proto/regexp.pro,
|
||||||
|
src/proto/search.pro, src/search.c, src/screen.c,
|
||||||
|
src/option.h, src/spell.c, src/structs.h, src/syntax.c, src/tag.c,
|
||||||
|
src/vim.h
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.235/runtime/doc/options.txt Sun Aug 12 16:55:01 2007
|
||||||
|
--- runtime/doc/options.txt Sat Jan 19 14:01:22 2008
|
||||||
|
***************
|
||||||
|
*** 3618,3623 ****
|
||||||
|
--- 3636,3642 ----
|
||||||
|
When you get bored looking at the highlighted matches, you can turn it
|
||||||
|
off with |:nohlsearch|. As soon as you use a search command, the
|
||||||
|
highlighting comes back.
|
||||||
|
+ 'redrawtime' specifies the maximum time spend on finding matches.
|
||||||
|
When the search pattern can match an end-of-line, Vim will try to
|
||||||
|
highlight all of the matched text. However, this depends on where the
|
||||||
|
search starts. This will be the first line in the window or the first
|
||||||
|
***************
|
||||||
|
*** 3851,3856 ****
|
||||||
|
--- 3870,3879 ----
|
||||||
|
original position when no match is found and when pressing <Esc>. You
|
||||||
|
still need to finish the search command with <Enter> to move the
|
||||||
|
cursor to the match.
|
||||||
|
+ When compiled with the |+reltime| feature Vim only searches for about
|
||||||
|
+ half a second. With a complicated pattern and/or a lot of text the
|
||||||
|
+ match may not be found. This is to avoid that Vim hangs while you
|
||||||
|
+ are typing the pattern.
|
||||||
|
The highlighting can be set with the 'i' flag in 'highlight'.
|
||||||
|
See also: 'hlsearch'.
|
||||||
|
CTRL-L can be used to add one character from after the current match
|
||||||
|
***************
|
||||||
|
*** 5185,5190 ****
|
||||||
|
--- 5210,5227 ----
|
||||||
|
{not in Vi:} When using the ":view" command the 'readonly' option is
|
||||||
|
set for the newly edited buffer.
|
||||||
|
|
||||||
|
+ *'redrawtime'* *'rdt'*
|
||||||
|
+ 'redrawtime' 'rdt' number (default 2000)
|
||||||
|
+ global
|
||||||
|
+ {not in Vi}
|
||||||
|
+ {only available when compiled with the |+reltime|
|
||||||
|
+ feature}
|
||||||
|
+ The time in milliseconds for redrawing the display. This applies to
|
||||||
|
+ searching for patterns for 'hlsearch' and |:match| highlighting.
|
||||||
|
+ When redrawing takes more than this many milliseconds no further
|
||||||
|
+ matches will be highlighted. This is used to avoid that Vim hangs
|
||||||
|
+ when using a very complicated pattern.
|
||||||
|
+
|
||||||
|
*'remap'* *'noremap'*
|
||||||
|
'remap' boolean (default on)
|
||||||
|
global
|
||||||
|
*** ../vim-7.1.235/src/ex_cmds.c Sun Jan 13 13:30:34 2008
|
||||||
|
--- src/ex_cmds.c Sat Jan 19 13:04:28 2008
|
||||||
|
***************
|
||||||
|
*** 4446,4452 ****
|
||||||
|
#endif
|
||||||
|
); ++lnum)
|
||||||
|
{
|
||||||
|
! nmatch = vim_regexec_multi(®match, curwin, curbuf, lnum, (colnr_T)0);
|
||||||
|
if (nmatch)
|
||||||
|
{
|
||||||
|
colnr_T copycol;
|
||||||
|
--- 4446,4453 ----
|
||||||
|
#endif
|
||||||
|
); ++lnum)
|
||||||
|
{
|
||||||
|
! nmatch = vim_regexec_multi(®match, curwin, curbuf, lnum,
|
||||||
|
! (colnr_T)0, NULL);
|
||||||
|
if (nmatch)
|
||||||
|
{
|
||||||
|
colnr_T copycol;
|
||||||
|
***************
|
||||||
|
*** 4957,4963 ****
|
||||||
|
|| (do_ask && !re_lookbehind(regmatch.regprog))
|
||||||
|
|| nmatch_tl > 0
|
||||||
|
|| (nmatch = vim_regexec_multi(®match, curwin,
|
||||||
|
! curbuf, sub_firstlnum, matchcol)) == 0
|
||||||
|
|| regmatch.startpos[0].lnum > 0)
|
||||||
|
{
|
||||||
|
if (new_start != NULL)
|
||||||
|
--- 4958,4965 ----
|
||||||
|
|| (do_ask && !re_lookbehind(regmatch.regprog))
|
||||||
|
|| nmatch_tl > 0
|
||||||
|
|| (nmatch = vim_regexec_multi(®match, curwin,
|
||||||
|
! curbuf, sub_firstlnum,
|
||||||
|
! matchcol, NULL)) == 0
|
||||||
|
|| regmatch.startpos[0].lnum > 0)
|
||||||
|
{
|
||||||
|
if (new_start != NULL)
|
||||||
|
***************
|
||||||
|
*** 5022,5028 ****
|
||||||
|
}
|
||||||
|
if (nmatch == -1 && !lastone)
|
||||||
|
nmatch = vim_regexec_multi(®match, curwin, curbuf,
|
||||||
|
! sub_firstlnum, matchcol);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 5. break if there isn't another match in this line
|
||||||
|
--- 5024,5030 ----
|
||||||
|
}
|
||||||
|
if (nmatch == -1 && !lastone)
|
||||||
|
nmatch = vim_regexec_multi(®match, curwin, curbuf,
|
||||||
|
! sub_firstlnum, matchcol, NULL);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 5. break if there isn't another match in this line
|
||||||
|
***************
|
||||||
|
*** 5252,5258 ****
|
||||||
|
for (lnum = eap->line1; lnum <= eap->line2 && !got_int; ++lnum)
|
||||||
|
{
|
||||||
|
/* a match on this line? */
|
||||||
|
! match = vim_regexec_multi(®match, curwin, curbuf, lnum, (colnr_T)0);
|
||||||
|
if ((type == 'g' && match) || (type == 'v' && !match))
|
||||||
|
{
|
||||||
|
ml_setmarked(lnum);
|
||||||
|
--- 5254,5261 ----
|
||||||
|
for (lnum = eap->line1; lnum <= eap->line2 && !got_int; ++lnum)
|
||||||
|
{
|
||||||
|
/* a match on this line? */
|
||||||
|
! match = vim_regexec_multi(®match, curwin, curbuf, lnum,
|
||||||
|
! (colnr_T)0, NULL);
|
||||||
|
if ((type == 'g' && match) || (type == 'v' && !match))
|
||||||
|
{
|
||||||
|
ml_setmarked(lnum);
|
||||||
|
*** ../vim-7.1.235/src/ex_docmd.c Sun Jan 13 17:11:25 2008
|
||||||
|
--- src/ex_docmd.c Fri Jan 18 21:01:16 2008
|
||||||
|
***************
|
||||||
|
*** 3931,3937 ****
|
||||||
|
curwin->w_cursor.col = 0;
|
||||||
|
searchcmdlen = 0;
|
||||||
|
if (!do_search(NULL, c, cmd, 1L,
|
||||||
|
! SEARCH_HIS + SEARCH_MSG + SEARCH_START))
|
||||||
|
{
|
||||||
|
curwin->w_cursor = pos;
|
||||||
|
cmd = NULL;
|
||||||
|
--- 3931,3938 ----
|
||||||
|
curwin->w_cursor.col = 0;
|
||||||
|
searchcmdlen = 0;
|
||||||
|
if (!do_search(NULL, c, cmd, 1L,
|
||||||
|
! SEARCH_HIS + SEARCH_MSG + SEARCH_START,
|
||||||
|
! NULL))
|
||||||
|
{
|
||||||
|
curwin->w_cursor = pos;
|
||||||
|
cmd = NULL;
|
||||||
|
*** ../vim-7.1.235/src/ex_getln.c Fri Jan 18 13:15:32 2008
|
||||||
|
--- src/ex_getln.c Fri Jan 18 21:34:42 2008
|
||||||
|
***************
|
||||||
|
*** 1709,1714 ****
|
||||||
|
--- 1709,1717 ----
|
||||||
|
if (p_is && !cmd_silent && (firstc == '/' || firstc == '?'))
|
||||||
|
{
|
||||||
|
pos_T end_pos;
|
||||||
|
+ #ifdef FEAT_RELTIME
|
||||||
|
+ proftime_T tm;
|
||||||
|
+ #endif
|
||||||
|
|
||||||
|
/* if there is a character waiting, search and redraw later */
|
||||||
|
if (char_avail())
|
||||||
|
***************
|
||||||
|
*** 1727,1734 ****
|
||||||
|
cursor_off(); /* so the user knows we're busy */
|
||||||
|
out_flush();
|
||||||
|
++emsg_off; /* So it doesn't beep if bad expr */
|
||||||
|
i = do_search(NULL, firstc, ccline.cmdbuff, count,
|
||||||
|
! SEARCH_KEEP + SEARCH_OPT + SEARCH_NOOF + SEARCH_PEEK);
|
||||||
|
--emsg_off;
|
||||||
|
/* if interrupted while searching, behave like it failed */
|
||||||
|
if (got_int)
|
||||||
|
--- 1730,1747 ----
|
||||||
|
cursor_off(); /* so the user knows we're busy */
|
||||||
|
out_flush();
|
||||||
|
++emsg_off; /* So it doesn't beep if bad expr */
|
||||||
|
+ #ifdef FEAT_RELTIME
|
||||||
|
+ /* Set the time limit to half a second. */
|
||||||
|
+ profile_setlimit(500L, &tm);
|
||||||
|
+ #endif
|
||||||
|
i = do_search(NULL, firstc, ccline.cmdbuff, count,
|
||||||
|
! SEARCH_KEEP + SEARCH_OPT + SEARCH_NOOF + SEARCH_PEEK,
|
||||||
|
! #ifdef FEAT_RELTIME
|
||||||
|
! &tm
|
||||||
|
! #else
|
||||||
|
! NULL
|
||||||
|
! #endif
|
||||||
|
! );
|
||||||
|
--emsg_off;
|
||||||
|
/* if interrupted while searching, behave like it failed */
|
||||||
|
if (got_int)
|
||||||
|
*** ../vim-7.1.235/src/gui.c Thu Jan 3 16:14:25 2008
|
||||||
|
--- src/gui.c Fri Jan 18 21:01:36 2008
|
||||||
|
***************
|
||||||
|
*** 5052,5058 ****
|
||||||
|
/* Search for the next match. */
|
||||||
|
i = msg_scroll;
|
||||||
|
do_search(NULL, down ? '/' : '?', ga.ga_data, 1L,
|
||||||
|
! SEARCH_MSG + SEARCH_MARK);
|
||||||
|
msg_scroll = i; /* don't let an error message set msg_scroll */
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 5052,5058 ----
|
||||||
|
/* Search for the next match. */
|
||||||
|
i = msg_scroll;
|
||||||
|
do_search(NULL, down ? '/' : '?', ga.ga_data, 1L,
|
||||||
|
! SEARCH_MSG + SEARCH_MARK, NULL);
|
||||||
|
msg_scroll = i; /* don't let an error message set msg_scroll */
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.235/src/misc1.c Thu Jan 3 12:42:38 2008
|
||||||
|
--- src/misc1.c Sat Jan 19 13:04:39 2008
|
||||||
|
***************
|
||||||
|
*** 437,443 ****
|
||||||
|
{
|
||||||
|
regmatch.rmm_ic = FALSE;
|
||||||
|
regmatch.rmm_maxcol = 0;
|
||||||
|
! if (vim_regexec_multi(®match, curwin, curbuf, lnum, (colnr_T)0))
|
||||||
|
{
|
||||||
|
pos.lnum = regmatch.endpos[0].lnum + lnum;
|
||||||
|
pos.col = regmatch.endpos[0].col;
|
||||||
|
--- 437,444 ----
|
||||||
|
{
|
||||||
|
regmatch.rmm_ic = FALSE;
|
||||||
|
regmatch.rmm_maxcol = 0;
|
||||||
|
! if (vim_regexec_multi(®match, curwin, curbuf, lnum,
|
||||||
|
! (colnr_T)0, NULL))
|
||||||
|
{
|
||||||
|
pos.lnum = regmatch.endpos[0].lnum + lnum;
|
||||||
|
pos.col = regmatch.endpos[0].col;
|
||||||
|
*** ../vim-7.1.235/src/normal.c Sat Jan 12 17:11:25 2008
|
||||||
|
--- src/normal.c Fri Jan 18 21:01:47 2008
|
||||||
|
***************
|
||||||
|
*** 6093,6099 ****
|
||||||
|
curwin->w_set_curswant = TRUE;
|
||||||
|
|
||||||
|
i = do_search(cap->oap, dir, pat, cap->count1,
|
||||||
|
! opt | SEARCH_OPT | SEARCH_ECHO | SEARCH_MSG);
|
||||||
|
if (i == 0)
|
||||||
|
clearop(cap->oap);
|
||||||
|
else
|
||||||
|
--- 6093,6099 ----
|
||||||
|
curwin->w_set_curswant = TRUE;
|
||||||
|
|
||||||
|
i = do_search(cap->oap, dir, pat, cap->count1,
|
||||||
|
! opt | SEARCH_OPT | SEARCH_ECHO | SEARCH_MSG, NULL);
|
||||||
|
if (i == 0)
|
||||||
|
clearop(cap->oap);
|
||||||
|
else
|
||||||
|
*** ../vim-7.1.235/src/option.c Tue Oct 2 20:40:01 2007
|
||||||
|
--- src/option.c Sat Jan 19 13:44:33 2008
|
||||||
|
***************
|
||||||
|
*** 1991,1996 ****
|
||||||
|
--- 1991,2003 ----
|
||||||
|
{"redraw", NULL, P_BOOL|P_VI_DEF,
|
||||||
|
(char_u *)NULL, PV_NONE,
|
||||||
|
{(char_u *)FALSE, (char_u *)0L}},
|
||||||
|
+ {"redrawtime", "rdt", P_NUM|P_VI_DEF,
|
||||||
|
+ #ifdef FEAT_RELTIME
|
||||||
|
+ (char_u *)&p_rdt, PV_NONE,
|
||||||
|
+ #else
|
||||||
|
+ (char_u *)NULL, PV_NONE,
|
||||||
|
+ #endif
|
||||||
|
+ {(char_u *)2000L, (char_u *)0L}},
|
||||||
|
{"remap", NULL, P_BOOL|P_VI_DEF,
|
||||||
|
(char_u *)&p_remap, PV_NONE,
|
||||||
|
{(char_u *)TRUE, (char_u *)0L}},
|
||||||
|
*** ../vim-7.1.235/src/quickfix.c Sun Sep 30 14:00:41 2007
|
||||||
|
--- src/quickfix.c Sat Jan 19 13:04:53 2008
|
||||||
|
***************
|
||||||
|
*** 1803,1809 ****
|
||||||
|
/* Move the cursor to the first line in the buffer */
|
||||||
|
save_cursor = curwin->w_cursor;
|
||||||
|
curwin->w_cursor.lnum = 0;
|
||||||
|
! if (!do_search(NULL, '/', qf_ptr->qf_pattern, (long)1, SEARCH_KEEP))
|
||||||
|
curwin->w_cursor = save_cursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 1803,1810 ----
|
||||||
|
/* Move the cursor to the first line in the buffer */
|
||||||
|
save_cursor = curwin->w_cursor;
|
||||||
|
curwin->w_cursor.lnum = 0;
|
||||||
|
! if (!do_search(NULL, '/', qf_ptr->qf_pattern, (long)1,
|
||||||
|
! SEARCH_KEEP, NULL))
|
||||||
|
curwin->w_cursor = save_cursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 3159,3165 ****
|
||||||
|
{
|
||||||
|
col = 0;
|
||||||
|
while (vim_regexec_multi(®match, curwin, buf, lnum,
|
||||||
|
! col) > 0)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
if (qf_add_entry(qi, &prevp,
|
||||||
|
--- 3160,3166 ----
|
||||||
|
{
|
||||||
|
col = 0;
|
||||||
|
while (vim_regexec_multi(®match, curwin, buf, lnum,
|
||||||
|
! col, NULL) > 0)
|
||||||
|
{
|
||||||
|
;
|
||||||
|
if (qf_add_entry(qi, &prevp,
|
||||||
|
*** ../vim-7.1.235/src/regexp.c Fri Jan 18 20:36:40 2008
|
||||||
|
--- src/regexp.c Sat Jan 19 15:18:12 2008
|
||||||
|
***************
|
||||||
|
*** 3040,3046 ****
|
||||||
|
} save_se_T;
|
||||||
|
|
||||||
|
static char_u *reg_getline __ARGS((linenr_T lnum));
|
||||||
|
! static long vim_regexec_both __ARGS((char_u *line, colnr_T col));
|
||||||
|
static long regtry __ARGS((regprog_T *prog, colnr_T col));
|
||||||
|
static void cleanup_subexpr __ARGS((void));
|
||||||
|
#ifdef FEAT_SYN_HL
|
||||||
|
--- 3040,3046 ----
|
||||||
|
} save_se_T;
|
||||||
|
|
||||||
|
static char_u *reg_getline __ARGS((linenr_T lnum));
|
||||||
|
! static long vim_regexec_both __ARGS((char_u *line, colnr_T col, proftime_T *tm));
|
||||||
|
static long regtry __ARGS((regprog_T *prog, colnr_T col));
|
||||||
|
static void cleanup_subexpr __ARGS((void));
|
||||||
|
#ifdef FEAT_SYN_HL
|
||||||
|
***************
|
||||||
|
*** 3284,3290 ****
|
||||||
|
ireg_icombine = FALSE;
|
||||||
|
#endif
|
||||||
|
ireg_maxcol = 0;
|
||||||
|
! return (vim_regexec_both(line, col) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
|
||||||
|
--- 3284,3290 ----
|
||||||
|
ireg_icombine = FALSE;
|
||||||
|
#endif
|
||||||
|
ireg_maxcol = 0;
|
||||||
|
! return (vim_regexec_both(line, col, NULL) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
|
||||||
|
***************
|
||||||
|
*** 3308,3314 ****
|
||||||
|
ireg_icombine = FALSE;
|
||||||
|
#endif
|
||||||
|
ireg_maxcol = 0;
|
||||||
|
! return (vim_regexec_both(line, col) != 0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--- 3308,3314 ----
|
||||||
|
ireg_icombine = FALSE;
|
||||||
|
#endif
|
||||||
|
ireg_maxcol = 0;
|
||||||
|
! return (vim_regexec_both(line, col, NULL) != 0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 3321,3332 ****
|
||||||
|
* match otherwise.
|
||||||
|
*/
|
||||||
|
long
|
||||||
|
! vim_regexec_multi(rmp, win, buf, lnum, col)
|
||||||
|
regmmatch_T *rmp;
|
||||||
|
win_T *win; /* window in which to search or NULL */
|
||||||
|
buf_T *buf; /* buffer in which to search */
|
||||||
|
linenr_T lnum; /* nr of line to start looking for match */
|
||||||
|
colnr_T col; /* column to start looking for match */
|
||||||
|
{
|
||||||
|
long r;
|
||||||
|
buf_T *save_curbuf = curbuf;
|
||||||
|
--- 3321,3333 ----
|
||||||
|
* match otherwise.
|
||||||
|
*/
|
||||||
|
long
|
||||||
|
! vim_regexec_multi(rmp, win, buf, lnum, col, tm)
|
||||||
|
regmmatch_T *rmp;
|
||||||
|
win_T *win; /* window in which to search or NULL */
|
||||||
|
buf_T *buf; /* buffer in which to search */
|
||||||
|
linenr_T lnum; /* nr of line to start looking for match */
|
||||||
|
colnr_T col; /* column to start looking for match */
|
||||||
|
+ proftime_T *tm; /* timeout limit or NULL */
|
||||||
|
{
|
||||||
|
long r;
|
||||||
|
buf_T *save_curbuf = curbuf;
|
||||||
|
***************
|
||||||
|
*** 3346,3352 ****
|
||||||
|
|
||||||
|
/* Need to switch to buffer "buf" to make vim_iswordc() work. */
|
||||||
|
curbuf = buf;
|
||||||
|
! r = vim_regexec_both(NULL, col);
|
||||||
|
curbuf = save_curbuf;
|
||||||
|
|
||||||
|
return r;
|
||||||
|
--- 3347,3353 ----
|
||||||
|
|
||||||
|
/* Need to switch to buffer "buf" to make vim_iswordc() work. */
|
||||||
|
curbuf = buf;
|
||||||
|
! r = vim_regexec_both(NULL, col, tm);
|
||||||
|
curbuf = save_curbuf;
|
||||||
|
|
||||||
|
return r;
|
||||||
|
***************
|
||||||
|
*** 3356,3365 ****
|
||||||
|
* Match a regexp against a string ("line" points to the string) or multiple
|
||||||
|
* lines ("line" is NULL, use reg_getline()).
|
||||||
|
*/
|
||||||
|
static long
|
||||||
|
! vim_regexec_both(line, col)
|
||||||
|
char_u *line;
|
||||||
|
colnr_T col; /* column to start looking for match */
|
||||||
|
{
|
||||||
|
regprog_T *prog;
|
||||||
|
char_u *s;
|
||||||
|
--- 3357,3368 ----
|
||||||
|
* Match a regexp against a string ("line" points to the string) or multiple
|
||||||
|
* lines ("line" is NULL, use reg_getline()).
|
||||||
|
*/
|
||||||
|
+ /*ARGSUSED*/
|
||||||
|
static long
|
||||||
|
! vim_regexec_both(line, col, tm)
|
||||||
|
char_u *line;
|
||||||
|
colnr_T col; /* column to start looking for match */
|
||||||
|
+ proftime_T *tm; /* timeout limit or NULL */
|
||||||
|
{
|
||||||
|
regprog_T *prog;
|
||||||
|
char_u *s;
|
||||||
|
***************
|
||||||
|
*** 3502,3507 ****
|
||||||
|
--- 3505,3513 ----
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
+ #ifdef FEAT_RELTIME
|
||||||
|
+ int tm_count = 0;
|
||||||
|
+ #endif
|
||||||
|
/* Messy cases: unanchored match. */
|
||||||
|
while (!got_int)
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 3550,3555 ****
|
||||||
|
--- 3556,3570 ----
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
++col;
|
||||||
|
+ #ifdef FEAT_RELTIME
|
||||||
|
+ /* Check for timeout once in a twenty times to avoid overhead. */
|
||||||
|
+ if (tm != NULL && ++tm_count == 20)
|
||||||
|
+ {
|
||||||
|
+ tm_count = 0;
|
||||||
|
+ if (profile_passed_limit(tm))
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ #endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.235/src/proto/regexp.pro Sat May 5 19:42:08 2007
|
||||||
|
--- src/proto/regexp.pro Sat Jan 19 13:14:09 2008
|
||||||
|
***************
|
||||||
|
*** 1,13 ****
|
||||||
|
/* regexp.c */
|
||||||
|
- void free_regexp_stuff __ARGS((void));
|
||||||
|
int re_multiline __ARGS((regprog_T *prog));
|
||||||
|
int re_lookbehind __ARGS((regprog_T *prog));
|
||||||
|
char_u *skip_regexp __ARGS((char_u *startp, int dirc, int magic, char_u **newp));
|
||||||
|
regprog_T *vim_regcomp __ARGS((char_u *expr, int re_flags));
|
||||||
|
int vim_regcomp_had_eol __ARGS((void));
|
||||||
|
int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
||||||
|
int vim_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
||||||
|
! long vim_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col));
|
||||||
|
reg_extmatch_T *ref_extmatch __ARGS((reg_extmatch_T *em));
|
||||||
|
void unref_extmatch __ARGS((reg_extmatch_T *em));
|
||||||
|
char_u *regtilde __ARGS((char_u *source, int magic));
|
||||||
|
--- 1,13 ----
|
||||||
|
/* regexp.c */
|
||||||
|
int re_multiline __ARGS((regprog_T *prog));
|
||||||
|
int re_lookbehind __ARGS((regprog_T *prog));
|
||||||
|
char_u *skip_regexp __ARGS((char_u *startp, int dirc, int magic, char_u **newp));
|
||||||
|
regprog_T *vim_regcomp __ARGS((char_u *expr, int re_flags));
|
||||||
|
int vim_regcomp_had_eol __ARGS((void));
|
||||||
|
+ void free_regexp_stuff __ARGS((void));
|
||||||
|
int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
||||||
|
int vim_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
||||||
|
! long vim_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
|
||||||
|
reg_extmatch_T *ref_extmatch __ARGS((reg_extmatch_T *em));
|
||||||
|
void unref_extmatch __ARGS((reg_extmatch_T *em));
|
||||||
|
char_u *regtilde __ARGS((char_u *source, int magic));
|
||||||
|
*** ../vim-7.1.235/src/proto/search.pro Sun Jan 6 20:05:36 2008
|
||||||
|
--- src/proto/search.pro Fri Jan 18 21:03:49 2008
|
||||||
|
***************
|
||||||
|
*** 11,17 ****
|
||||||
|
void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast));
|
||||||
|
void last_pat_prog __ARGS((regmmatch_T *regmatch));
|
||||||
|
int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum, proftime_T *tm));
|
||||||
|
! int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options));
|
||||||
|
int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat));
|
||||||
|
int searchc __ARGS((cmdarg_T *cap, int t_cmd));
|
||||||
|
pos_T *findmatch __ARGS((oparg_T *oap, int initc));
|
||||||
|
--- 11,17 ----
|
||||||
|
void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast));
|
||||||
|
void last_pat_prog __ARGS((regmmatch_T *regmatch));
|
||||||
|
int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum, proftime_T *tm));
|
||||||
|
! int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options, proftime_T *tm));
|
||||||
|
int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat));
|
||||||
|
int searchc __ARGS((cmdarg_T *cap, int t_cmd));
|
||||||
|
pos_T *findmatch __ARGS((oparg_T *oap, int initc));
|
||||||
|
*** ../vim-7.1.235/src/search.c Sun Jan 6 20:05:36 2008
|
||||||
|
--- src/search.c Sat Jan 19 13:13:25 2008
|
||||||
|
***************
|
||||||
|
*** 606,612 ****
|
||||||
|
* Look for a match somewhere in line "lnum".
|
||||||
|
*/
|
||||||
|
nmatched = vim_regexec_multi(®match, win, buf,
|
||||||
|
! lnum, (colnr_T)0);
|
||||||
|
/* Abort searching on an error (e.g., out of stack). */
|
||||||
|
if (called_emsg)
|
||||||
|
break;
|
||||||
|
--- 606,618 ----
|
||||||
|
* Look for a match somewhere in line "lnum".
|
||||||
|
*/
|
||||||
|
nmatched = vim_regexec_multi(®match, win, buf,
|
||||||
|
! lnum, (colnr_T)0,
|
||||||
|
! #ifdef FEAT_RELTIME
|
||||||
|
! tm
|
||||||
|
! #else
|
||||||
|
! NULL
|
||||||
|
! #endif
|
||||||
|
! );
|
||||||
|
/* Abort searching on an error (e.g., out of stack). */
|
||||||
|
if (called_emsg)
|
||||||
|
break;
|
||||||
|
***************
|
||||||
|
*** 615,623 ****
|
||||||
|
/* match may actually be in another line when using \zs */
|
||||||
|
matchpos = regmatch.startpos[0];
|
||||||
|
endpos = regmatch.endpos[0];
|
||||||
|
! # ifdef FEAT_EVAL
|
||||||
|
submatch = first_submatch(®match);
|
||||||
|
! # endif
|
||||||
|
/* Line me be past end of buffer for "\n\zs". */
|
||||||
|
if (lnum + matchpos.lnum > buf->b_ml.ml_line_count)
|
||||||
|
ptr = (char_u *)"";
|
||||||
|
--- 621,629 ----
|
||||||
|
/* match may actually be in another line when using \zs */
|
||||||
|
matchpos = regmatch.startpos[0];
|
||||||
|
endpos = regmatch.endpos[0];
|
||||||
|
! #ifdef FEAT_EVAL
|
||||||
|
submatch = first_submatch(®match);
|
||||||
|
! #endif
|
||||||
|
/* Line me be past end of buffer for "\n\zs". */
|
||||||
|
if (lnum + matchpos.lnum > buf->b_ml.ml_line_count)
|
||||||
|
ptr = (char_u *)"";
|
||||||
|
***************
|
||||||
|
*** 693,699 ****
|
||||||
|
if (ptr[matchcol] == NUL
|
||||||
|
|| (nmatched = vim_regexec_multi(®match,
|
||||||
|
win, buf, lnum + matchpos.lnum,
|
||||||
|
! matchcol)) == 0)
|
||||||
|
{
|
||||||
|
match_ok = FALSE;
|
||||||
|
break;
|
||||||
|
--- 699,711 ----
|
||||||
|
if (ptr[matchcol] == NUL
|
||||||
|
|| (nmatched = vim_regexec_multi(®match,
|
||||||
|
win, buf, lnum + matchpos.lnum,
|
||||||
|
! matchcol,
|
||||||
|
! #ifdef FEAT_RELTIME
|
||||||
|
! tm
|
||||||
|
! #else
|
||||||
|
! NULL
|
||||||
|
! #endif
|
||||||
|
! )) == 0)
|
||||||
|
{
|
||||||
|
match_ok = FALSE;
|
||||||
|
break;
|
||||||
|
***************
|
||||||
|
*** 799,805 ****
|
||||||
|
if (ptr[matchcol] == NUL
|
||||||
|
|| (nmatched = vim_regexec_multi(®match,
|
||||||
|
win, buf, lnum + matchpos.lnum,
|
||||||
|
! matchcol)) == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Need to get the line pointer again, a
|
||||||
|
--- 811,823 ----
|
||||||
|
if (ptr[matchcol] == NUL
|
||||||
|
|| (nmatched = vim_regexec_multi(®match,
|
||||||
|
win, buf, lnum + matchpos.lnum,
|
||||||
|
! matchcol,
|
||||||
|
! #ifdef FEAT_RELTIME
|
||||||
|
! tm
|
||||||
|
! #else
|
||||||
|
! NULL
|
||||||
|
! #endif
|
||||||
|
! )) == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Need to get the line pointer again, a
|
||||||
|
***************
|
||||||
|
*** 977,988 ****
|
||||||
|
* return 0 for failure, 1 for found, 2 for found and line offset added
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
! do_search(oap, dirc, pat, count, options)
|
||||||
|
oparg_T *oap; /* can be NULL */
|
||||||
|
int dirc; /* '/' or '?' */
|
||||||
|
char_u *pat;
|
||||||
|
long count;
|
||||||
|
int options;
|
||||||
|
{
|
||||||
|
pos_T pos; /* position of the last match */
|
||||||
|
char_u *searchstr;
|
||||||
|
--- 995,1007 ----
|
||||||
|
* return 0 for failure, 1 for found, 2 for found and line offset added
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
! do_search(oap, dirc, pat, count, options, tm)
|
||||||
|
oparg_T *oap; /* can be NULL */
|
||||||
|
int dirc; /* '/' or '?' */
|
||||||
|
char_u *pat;
|
||||||
|
long count;
|
||||||
|
int options;
|
||||||
|
+ proftime_T *tm; /* timeout limit or NULL */
|
||||||
|
{
|
||||||
|
pos_T pos; /* position of the last match */
|
||||||
|
char_u *searchstr;
|
||||||
|
***************
|
||||||
|
*** 1256,1262 ****
|
||||||
|
(SEARCH_KEEP + SEARCH_PEEK + SEARCH_HIS
|
||||||
|
+ SEARCH_MSG + SEARCH_START
|
||||||
|
+ ((pat != NULL && *pat == ';') ? 0 : SEARCH_NOOF))),
|
||||||
|
! RE_LAST, (linenr_T)0, NULL);
|
||||||
|
|
||||||
|
if (dircp != NULL)
|
||||||
|
*dircp = dirc; /* restore second '/' or '?' for normal_cmd() */
|
||||||
|
--- 1275,1281 ----
|
||||||
|
(SEARCH_KEEP + SEARCH_PEEK + SEARCH_HIS
|
||||||
|
+ SEARCH_MSG + SEARCH_START
|
||||||
|
+ ((pat != NULL && *pat == ';') ? 0 : SEARCH_NOOF))),
|
||||||
|
! RE_LAST, (linenr_T)0, tm);
|
||||||
|
|
||||||
|
if (dircp != NULL)
|
||||||
|
*dircp = dirc; /* restore second '/' or '?' for normal_cmd() */
|
||||||
|
*** ../vim-7.1.235/src/screen.c Sat Jan 12 16:45:25 2008
|
||||||
|
--- src/screen.c Sat Jan 19 13:52:29 2008
|
||||||
|
***************
|
||||||
|
*** 848,858 ****
|
||||||
|
--- 848,863 ----
|
||||||
|
cur->hl.buf = buf;
|
||||||
|
cur->hl.lnum = 0;
|
||||||
|
cur->hl.first_lnum = 0;
|
||||||
|
+ # ifdef FEAT_RELTIME
|
||||||
|
+ /* Set the time limit to 'redrawtime'. */
|
||||||
|
+ profile_setlimit(p_rdt, &(cur->hl.tm));
|
||||||
|
+ # endif
|
||||||
|
cur = cur->next;
|
||||||
|
}
|
||||||
|
search_hl.buf = buf;
|
||||||
|
search_hl.lnum = 0;
|
||||||
|
search_hl.first_lnum = 0;
|
||||||
|
+ /* time limit is set at the toplevel, for all windows */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEAT_LINEBREAK
|
||||||
|
***************
|
||||||
|
*** 6462,6467 ****
|
||||||
|
--- 6467,6476 ----
|
||||||
|
{
|
||||||
|
last_pat_prog(&search_hl.rm);
|
||||||
|
search_hl.attr = hl_attr(HLF_L);
|
||||||
|
+ # ifdef FEAT_RELTIME
|
||||||
|
+ /* Set the time limit to 'redrawtime'. */
|
||||||
|
+ profile_setlimit(p_rdt, &search_hl.tm);
|
||||||
|
+ # endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 6587,6592 ****
|
||||||
|
--- 6596,6609 ----
|
||||||
|
called_emsg = FALSE;
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
+ #ifdef FEAT_RELTIME
|
||||||
|
+ /* Stop searching after passing the time limit. */
|
||||||
|
+ if (profile_passed_limit(&(shl->tm)))
|
||||||
|
+ {
|
||||||
|
+ shl->lnum = 0; /* no match found in time */
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ #endif
|
||||||
|
/* Three situations:
|
||||||
|
* 1. No useful previous match: search from start of line.
|
||||||
|
* 2. Not Vi compatible or empty match: continue at next character.
|
||||||
|
***************
|
||||||
|
*** 6620,6626 ****
|
||||||
|
matchcol = shl->rm.endpos[0].col;
|
||||||
|
|
||||||
|
shl->lnum = lnum;
|
||||||
|
! nmatched = vim_regexec_multi(&shl->rm, win, shl->buf, lnum, matchcol);
|
||||||
|
if (called_emsg)
|
||||||
|
{
|
||||||
|
/* Error while handling regexp: stop using this regexp. */
|
||||||
|
--- 6637,6649 ----
|
||||||
|
matchcol = shl->rm.endpos[0].col;
|
||||||
|
|
||||||
|
shl->lnum = lnum;
|
||||||
|
! nmatched = vim_regexec_multi(&shl->rm, win, shl->buf, lnum, matchcol,
|
||||||
|
! #ifdef FEAT_RELTIME
|
||||||
|
! &(shl->tm)
|
||||||
|
! #else
|
||||||
|
! NULL
|
||||||
|
! #endif
|
||||||
|
! );
|
||||||
|
if (called_emsg)
|
||||||
|
{
|
||||||
|
/* Error while handling regexp: stop using this regexp. */
|
||||||
|
*** ../vim-7.1.235/src/option.h Thu May 10 20:34:47 2007
|
||||||
|
--- src/option.h Sat Jan 19 13:45:51 2008
|
||||||
|
***************
|
||||||
|
*** 633,638 ****
|
||||||
|
--- 633,641 ----
|
||||||
|
#ifdef FEAT_SEARCHPATH
|
||||||
|
EXTERN char_u *p_cdpath; /* 'cdpath' */
|
||||||
|
#endif
|
||||||
|
+ #ifdef FEAT_RELTIME
|
||||||
|
+ EXTERN long p_rdt; /* 'redrawtime' */
|
||||||
|
+ #endif
|
||||||
|
EXTERN int p_remap; /* 'remap' */
|
||||||
|
EXTERN long p_report; /* 'report' */
|
||||||
|
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
||||||
|
*** ../vim-7.1.235/src/spell.c Sat Jan 12 16:45:25 2008
|
||||||
|
--- src/spell.c Fri Jan 18 21:02:47 2008
|
||||||
|
***************
|
||||||
|
*** 10343,10349 ****
|
||||||
|
curwin->w_cursor.lnum = 0;
|
||||||
|
while (!got_int)
|
||||||
|
{
|
||||||
|
! if (do_search(NULL, '/', frompat, 1L, SEARCH_KEEP) == 0
|
||||||
|
|| u_save_cursor() == FAIL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
--- 10343,10349 ----
|
||||||
|
curwin->w_cursor.lnum = 0;
|
||||||
|
while (!got_int)
|
||||||
|
{
|
||||||
|
! if (do_search(NULL, '/', frompat, 1L, SEARCH_KEEP, NULL) == 0
|
||||||
|
|| u_save_cursor() == FAIL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
*** ../vim-7.1.235/src/structs.h Mon Oct 1 22:53:27 2007
|
||||||
|
--- src/structs.h Fri Jan 18 21:18:53 2008
|
||||||
|
***************
|
||||||
|
*** 1717,1722 ****
|
||||||
|
--- 1717,1725 ----
|
||||||
|
linenr_T first_lnum; /* first lnum to search for multi-line pat */
|
||||||
|
colnr_T startcol; /* in win_line() points to char where HL starts */
|
||||||
|
colnr_T endcol; /* in win_line() points to char where HL ends */
|
||||||
|
+ #ifdef FEAT_RELTIME
|
||||||
|
+ proftime_T tm; /* for a time limit */
|
||||||
|
+ #endif
|
||||||
|
} match_T;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*** ../vim-7.1.235/src/syntax.c Sun Jan 13 17:39:29 2008
|
||||||
|
--- src/syntax.c Sat Jan 19 13:13:49 2008
|
||||||
|
***************
|
||||||
|
*** 3097,3103 ****
|
||||||
|
colnr_T col;
|
||||||
|
{
|
||||||
|
rmp->rmm_maxcol = syn_buf->b_p_smc;
|
||||||
|
! if (vim_regexec_multi(rmp, syn_win, syn_buf, lnum, col) > 0)
|
||||||
|
{
|
||||||
|
rmp->startpos[0].lnum += lnum;
|
||||||
|
rmp->endpos[0].lnum += lnum;
|
||||||
|
--- 3097,3103 ----
|
||||||
|
colnr_T col;
|
||||||
|
{
|
||||||
|
rmp->rmm_maxcol = syn_buf->b_p_smc;
|
||||||
|
! if (vim_regexec_multi(rmp, syn_win, syn_buf, lnum, col, NULL) > 0)
|
||||||
|
{
|
||||||
|
rmp->startpos[0].lnum += lnum;
|
||||||
|
rmp->endpos[0].lnum += lnum;
|
||||||
|
*** ../vim-7.1.235/src/tag.c Thu May 10 19:44:07 2007
|
||||||
|
--- src/tag.c Fri Jan 18 21:03:41 2008
|
||||||
|
***************
|
||||||
|
*** 3191,3197 ****
|
||||||
|
#endif
|
||||||
|
save_lnum = curwin->w_cursor.lnum;
|
||||||
|
curwin->w_cursor.lnum = 0; /* start search before first line */
|
||||||
|
! if (do_search(NULL, pbuf[0], pbuf + 1, (long)1, search_options))
|
||||||
|
retval = OK;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
--- 3191,3198 ----
|
||||||
|
#endif
|
||||||
|
save_lnum = curwin->w_cursor.lnum;
|
||||||
|
curwin->w_cursor.lnum = 0; /* start search before first line */
|
||||||
|
! if (do_search(NULL, pbuf[0], pbuf + 1, (long)1,
|
||||||
|
! search_options, NULL))
|
||||||
|
retval = OK;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 3203,3209 ****
|
||||||
|
*/
|
||||||
|
p_ic = TRUE;
|
||||||
|
if (!do_search(NULL, pbuf[0], pbuf + 1, (long)1,
|
||||||
|
! search_options))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Failed to find pattern, take a guess: "^func ("
|
||||||
|
--- 3204,3210 ----
|
||||||
|
*/
|
||||||
|
p_ic = TRUE;
|
||||||
|
if (!do_search(NULL, pbuf[0], pbuf + 1, (long)1,
|
||||||
|
! search_options, NULL))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Failed to find pattern, take a guess: "^func ("
|
||||||
|
***************
|
||||||
|
*** 3213,3225 ****
|
||||||
|
cc = *tagp.tagname_end;
|
||||||
|
*tagp.tagname_end = NUL;
|
||||||
|
sprintf((char *)pbuf, "^%s\\s\\*(", tagp.tagname);
|
||||||
|
! if (!do_search(NULL, '/', pbuf, (long)1, search_options))
|
||||||
|
{
|
||||||
|
/* Guess again: "^char * \<func (" */
|
||||||
|
sprintf((char *)pbuf, "^\\[#a-zA-Z_]\\.\\*\\<%s\\s\\*(",
|
||||||
|
tagp.tagname);
|
||||||
|
if (!do_search(NULL, '/', pbuf, (long)1,
|
||||||
|
! search_options))
|
||||||
|
found = 0;
|
||||||
|
}
|
||||||
|
*tagp.tagname_end = cc;
|
||||||
|
--- 3214,3227 ----
|
||||||
|
cc = *tagp.tagname_end;
|
||||||
|
*tagp.tagname_end = NUL;
|
||||||
|
sprintf((char *)pbuf, "^%s\\s\\*(", tagp.tagname);
|
||||||
|
! if (!do_search(NULL, '/', pbuf, (long)1,
|
||||||
|
! search_options, NULL))
|
||||||
|
{
|
||||||
|
/* Guess again: "^char * \<func (" */
|
||||||
|
sprintf((char *)pbuf, "^\\[#a-zA-Z_]\\.\\*\\<%s\\s\\*(",
|
||||||
|
tagp.tagname);
|
||||||
|
if (!do_search(NULL, '/', pbuf, (long)1,
|
||||||
|
! search_options, NULL))
|
||||||
|
found = 0;
|
||||||
|
}
|
||||||
|
*tagp.tagname_end = cc;
|
||||||
|
*** ../vim-7.1.235/src/vim.h Sat Jan 5 13:34:01 2008
|
||||||
|
--- src/vim.h Fri Jan 18 21:29:22 2008
|
||||||
|
***************
|
||||||
|
*** 1550,1555 ****
|
||||||
|
--- 1550,1565 ----
|
||||||
|
# define MB_MAXBYTES 21
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ #if (defined(FEAT_PROFILE) || defined(FEAT_RELTIME)) && !defined(PROTO)
|
||||||
|
+ # ifdef WIN3264
|
||||||
|
+ typedef LARGE_INTEGER proftime_T;
|
||||||
|
+ # else
|
||||||
|
+ typedef struct timeval proftime_T;
|
||||||
|
+ # endif
|
||||||
|
+ #else
|
||||||
|
+ typedef int proftime_T; /* dummy for function prototypes */
|
||||||
|
+ #endif
|
||||||
|
+
|
||||||
|
/* Include option.h before structs.h, because the number of window-local and
|
||||||
|
* buffer-local options is used there. */
|
||||||
|
#include "option.h" /* options and default values */
|
||||||
|
***************
|
||||||
|
*** 1760,1775 ****
|
||||||
|
# include <io.h> /* for access() */
|
||||||
|
|
||||||
|
# define stat(a,b) (access(a,0) ? -1 : stat(a,b))
|
||||||
|
- #endif
|
||||||
|
-
|
||||||
|
- #if (defined(FEAT_PROFILE) || defined(FEAT_RELTIME)) && !defined(PROTO)
|
||||||
|
- # ifdef WIN3264
|
||||||
|
- typedef LARGE_INTEGER proftime_T;
|
||||||
|
- # else
|
||||||
|
- typedef struct timeval proftime_T;
|
||||||
|
- # endif
|
||||||
|
- #else
|
||||||
|
- typedef int proftime_T; /* dummy for function prototypes */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "ex_cmds.h" /* Ex command defines */
|
||||||
|
--- 1770,1775 ----
|
||||||
|
*** ../vim-7.1.235/src/version.c Fri Jan 18 20:36:40 2008
|
||||||
|
--- src/version.c Sat Jan 19 15:19:48 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 236,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Every time I lose weight, it finds me again!
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
54
7.1.237
Normal file
54
7.1.237
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.237
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.237
|
||||||
|
Problem: Compiler warning on an Alpha processor in Motif code.
|
||||||
|
Solution: Change a typecast. (Adri Verhoef)
|
||||||
|
Files: src/gui_motif.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.236/src/gui_motif.c Thu May 10 19:51:05 2007
|
||||||
|
--- src/gui_motif.c Mon Jan 21 21:03:55 2008
|
||||||
|
***************
|
||||||
|
*** 3813,3819 ****
|
||||||
|
|
||||||
|
XtAddCallback(frdp->find, XmNactivateCallback,
|
||||||
|
find_replace_callback,
|
||||||
|
! (XtPointer) (do_replace ? FRD_R_FINDNEXT : FRD_FINDNEXT));
|
||||||
|
|
||||||
|
if (do_replace)
|
||||||
|
{
|
||||||
|
--- 3813,3819 ----
|
||||||
|
|
||||||
|
XtAddCallback(frdp->find, XmNactivateCallback,
|
||||||
|
find_replace_callback,
|
||||||
|
! (do_replace ? (XtPointer)FRD_R_FINDNEXT : (XtPointer)FRD_FINDNEXT));
|
||||||
|
|
||||||
|
if (do_replace)
|
||||||
|
{
|
||||||
|
*** ../vim-7.1.236/src/version.c Sat Jan 19 15:55:51 2008
|
||||||
|
--- src/version.c Tue Jan 22 11:05:12 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 237,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
I am always surprised in the Linux world how quickly solutions can be
|
||||||
|
obtained. (Imagine sending an email to Bill Gates, asking why Windows
|
||||||
|
crashed, and how to fix it... and then getting an answer that fixed the
|
||||||
|
problem... <0>_<0> !) -- Mark Langdon
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
61
7.1.238
Normal file
61
7.1.238
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.238
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.238
|
||||||
|
Problem: Using the 'c' flag with searchpair() may cause it to fail. Using
|
||||||
|
the 'r' flag doesn't work when 'wrapscan' is set. (A.Politz)
|
||||||
|
Solution: Only use the 'c' flag for the first search, not for repeating.
|
||||||
|
When using 'r' imply 'W'. (Antony Scriven)
|
||||||
|
Files: src/eval.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.237/src/eval.c Sat Jan 12 16:45:25 2008
|
||||||
|
--- src/eval.c Tue Jan 22 11:42:28 2008
|
||||||
|
***************
|
||||||
|
*** 14189,14194 ****
|
||||||
|
--- 14189,14198 ----
|
||||||
|
goto theend;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* Using 'r' implies 'W', otherwise it doesn't work. */
|
||||||
|
+ if (flags & SP_REPEAT)
|
||||||
|
+ p_ws = FALSE;
|
||||||
|
+
|
||||||
|
/* Optional fifth argument: skip expression */
|
||||||
|
if (argvars[3].v_type == VAR_UNKNOWN
|
||||||
|
|| argvars[4].v_type == VAR_UNKNOWN)
|
||||||
|
***************
|
||||||
|
*** 14344,14349 ****
|
||||||
|
--- 14348,14356 ----
|
||||||
|
incl(&pos);
|
||||||
|
}
|
||||||
|
foundpos = pos;
|
||||||
|
+
|
||||||
|
+ /* clear the start flag to avoid getting stuck here */
|
||||||
|
+ options &= ~SEARCH_START;
|
||||||
|
|
||||||
|
/* If the skip pattern matches, ignore this match. */
|
||||||
|
if (*skip != NUL)
|
||||||
|
*** ../vim-7.1.237/src/version.c Tue Jan 22 11:06:06 2008
|
||||||
|
--- src/version.c Tue Jan 22 11:57:28 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 238,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
To keep milk from turning sour: Keep it in the cow.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
53
7.1.239
Normal file
53
7.1.239
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.239
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.239 (after 7.1.233)
|
||||||
|
Problem: Compiler warning for sprintf() argument.
|
||||||
|
Solution: Add a typecast. (Nico Weber)
|
||||||
|
Files: src/ex_getln.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.238/src/ex_getln.c Sat Jan 19 15:55:51 2008
|
||||||
|
--- src/ex_getln.c Tue Jan 22 12:40:54 2008
|
||||||
|
***************
|
||||||
|
*** 4694,4700 ****
|
||||||
|
{
|
||||||
|
/* Completion from Insert mode, pass fake arguments. */
|
||||||
|
keep = 0;
|
||||||
|
! sprintf((char *)num, "%d", STRLEN(xp->xp_pattern));
|
||||||
|
args[1] = xp->xp_pattern;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
--- 4694,4700 ----
|
||||||
|
{
|
||||||
|
/* Completion from Insert mode, pass fake arguments. */
|
||||||
|
keep = 0;
|
||||||
|
! sprintf((char *)num, "%d", (int)STRLEN(xp->xp_pattern));
|
||||||
|
args[1] = xp->xp_pattern;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
*** ../vim-7.1.238/src/version.c Tue Jan 22 11:58:41 2008
|
||||||
|
--- src/version.c Tue Jan 22 12:42:36 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 239,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
We apologise again for the fault in the subtitles. Those responsible for
|
||||||
|
sacking the people who have just been sacked have been sacked.
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
186
7.1.240
Normal file
186
7.1.240
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.240
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.240
|
||||||
|
Problem: When "gUe" turns a German sharp s into SS the operation stops
|
||||||
|
before the end of the word. Latin2 has the same sharp s but it's
|
||||||
|
not changed to SS there.
|
||||||
|
Solution: Make sure all the characters are operated upon. Detect the sharp
|
||||||
|
s in latin2. Also fixes that changing case of a multi-byte
|
||||||
|
character that changes the byte cound doesn't always work.
|
||||||
|
Files: src/ops.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.239/src/ops.c Wed Jan 16 20:01:14 2008
|
||||||
|
--- src/ops.c Tue Jan 22 16:00:07 2008
|
||||||
|
***************
|
||||||
|
*** 2184,2189 ****
|
||||||
|
--- 2184,2191 ----
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ static int swapchars __ARGS((int op_type, pos_T *pos, int length));
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Handle the (non-standard vi) tilde operator. Also for "gu", "gU" and "g?".
|
||||||
|
*/
|
||||||
|
***************
|
||||||
|
*** 2194,2202 ****
|
||||||
|
pos_T pos;
|
||||||
|
#ifdef FEAT_VISUAL
|
||||||
|
struct block_def bd;
|
||||||
|
- int todo;
|
||||||
|
#endif
|
||||||
|
! int did_change = 0;
|
||||||
|
|
||||||
|
if (u_save((linenr_T)(oap->start.lnum - 1),
|
||||||
|
(linenr_T)(oap->end.lnum + 1)) == FAIL)
|
||||||
|
--- 2196,2203 ----
|
||||||
|
pos_T pos;
|
||||||
|
#ifdef FEAT_VISUAL
|
||||||
|
struct block_def bd;
|
||||||
|
#endif
|
||||||
|
! int did_change;
|
||||||
|
|
||||||
|
if (u_save((linenr_T)(oap->start.lnum - 1),
|
||||||
|
(linenr_T)(oap->end.lnum + 1)) == FAIL)
|
||||||
|
***************
|
||||||
|
*** 2210,2225 ****
|
||||||
|
{
|
||||||
|
block_prep(oap, &bd, pos.lnum, FALSE);
|
||||||
|
pos.col = bd.textcol;
|
||||||
|
! for (todo = bd.textlen; todo > 0; --todo)
|
||||||
|
! {
|
||||||
|
! # ifdef FEAT_MBYTE
|
||||||
|
! if (has_mbyte)
|
||||||
|
! todo -= (*mb_ptr2len)(ml_get_pos(&pos)) - 1;
|
||||||
|
! # endif
|
||||||
|
! did_change |= swapchar(oap->op_type, &pos);
|
||||||
|
! if (inc(&pos) == -1) /* at end of file */
|
||||||
|
! break;
|
||||||
|
! }
|
||||||
|
# ifdef FEAT_NETBEANS_INTG
|
||||||
|
if (usingNetbeans && did_change)
|
||||||
|
{
|
||||||
|
--- 2211,2218 ----
|
||||||
|
{
|
||||||
|
block_prep(oap, &bd, pos.lnum, FALSE);
|
||||||
|
pos.col = bd.textcol;
|
||||||
|
! did_change = swapchars(oap->op_type, &pos, bd.textlen);
|
||||||
|
!
|
||||||
|
# ifdef FEAT_NETBEANS_INTG
|
||||||
|
if (usingNetbeans && did_change)
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 2249,2261 ****
|
||||||
|
else if (!oap->inclusive)
|
||||||
|
dec(&(oap->end));
|
||||||
|
|
||||||
|
! while (ltoreq(pos, oap->end))
|
||||||
|
! {
|
||||||
|
! did_change |= swapchar(oap->op_type, &pos);
|
||||||
|
! if (inc(&pos) == -1) /* at end of file */
|
||||||
|
! break;
|
||||||
|
! }
|
||||||
|
!
|
||||||
|
if (did_change)
|
||||||
|
{
|
||||||
|
changed_lines(oap->start.lnum, oap->start.col, oap->end.lnum + 1,
|
||||||
|
--- 2242,2248 ----
|
||||||
|
else if (!oap->inclusive)
|
||||||
|
dec(&(oap->end));
|
||||||
|
|
||||||
|
! did_change = swapchars(oap->op_type, &pos, oap->end.col - pos.col + 1);
|
||||||
|
if (did_change)
|
||||||
|
{
|
||||||
|
changed_lines(oap->start.lnum, oap->start.col, oap->end.lnum + 1,
|
||||||
|
***************
|
||||||
|
*** 2309,2314 ****
|
||||||
|
--- 2296,2337 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
+ * Invoke swapchar() on "length" bytes at position "pos".
|
||||||
|
+ * "pos" is advanced to just after the changed characters.
|
||||||
|
+ * "length" is rounded up to include the whole last multi-byte character.
|
||||||
|
+ * Also works correctly when the number of bytes changes.
|
||||||
|
+ * Returns TRUE if some character was changed.
|
||||||
|
+ */
|
||||||
|
+ static int
|
||||||
|
+ swapchars(op_type, pos, length)
|
||||||
|
+ int op_type;
|
||||||
|
+ pos_T *pos;
|
||||||
|
+ int length;
|
||||||
|
+ {
|
||||||
|
+ int todo;
|
||||||
|
+ int did_change = 0;
|
||||||
|
+
|
||||||
|
+ for (todo = length; todo > 0; --todo)
|
||||||
|
+ {
|
||||||
|
+ # ifdef FEAT_MBYTE
|
||||||
|
+ int pos_col = pos->col;
|
||||||
|
+
|
||||||
|
+ if (has_mbyte)
|
||||||
|
+ /* we're counting bytes, not characters */
|
||||||
|
+ todo -= (*mb_ptr2len)(ml_get_pos(pos)) - 1;
|
||||||
|
+ # endif
|
||||||
|
+ did_change |= swapchar(op_type, pos);
|
||||||
|
+ # ifdef FEAT_MBYTE
|
||||||
|
+ /* Changing German sharp s to SS increases the column. */
|
||||||
|
+ todo += pos->col - pos_col;
|
||||||
|
+ # endif
|
||||||
|
+ if (inc(pos) == -1) /* at end of file */
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ return did_change;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
* If op_type == OP_UPPER: make uppercase,
|
||||||
|
* if op_type == OP_LOWER: make lowercase,
|
||||||
|
* if op_type == OP_ROT13: do rot13 encoding,
|
||||||
|
***************
|
||||||
|
*** 2330,2336 ****
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
! if (op_type == OP_UPPER && enc_latin1like && c == 0xdf)
|
||||||
|
{
|
||||||
|
pos_T sp = curwin->w_cursor;
|
||||||
|
|
||||||
|
--- 2353,2360 ----
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
! if (op_type == OP_UPPER && c == 0xdf
|
||||||
|
! && (enc_latin1like || STRCMP(p_enc, "iso-8859-2") == 0))
|
||||||
|
{
|
||||||
|
pos_T sp = curwin->w_cursor;
|
||||||
|
|
||||||
|
*** ../vim-7.1.239/src/version.c Tue Jan 22 12:44:03 2008
|
||||||
|
--- src/version.c Tue Jan 22 15:36:36 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 240,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of Camelot.
|
||||||
|
King of all Britons, defeator of the Saxons, sovereign of all England!
|
||||||
|
[Pause]
|
||||||
|
SOLDIER: Get away!
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
112
7.1.241
Normal file
112
7.1.241
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.241
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.241
|
||||||
|
Problem: Focus change events not always ignored. (Erik Falor)
|
||||||
|
Solution: Ignore K_IGNORE in Insert mode in a few more places.
|
||||||
|
Files: src/edit.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.240/src/edit.c Wed Jan 16 20:01:14 2008
|
||||||
|
--- src/edit.c Tue Jan 22 17:45:32 2008
|
||||||
|
***************
|
||||||
|
*** 703,712 ****
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * Get a character for Insert mode.
|
||||||
|
*/
|
||||||
|
lastc = c; /* remember previous char for CTRL-D */
|
||||||
|
! c = safe_vgetc();
|
||||||
|
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
/* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
|
||||||
|
--- 703,715 ----
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * Get a character for Insert mode. Ignore K_IGNORE.
|
||||||
|
*/
|
||||||
|
lastc = c; /* remember previous char for CTRL-D */
|
||||||
|
! do
|
||||||
|
! {
|
||||||
|
! c = safe_vgetc();
|
||||||
|
! } while (c == K_IGNORE);
|
||||||
|
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
/* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
|
||||||
|
***************
|
||||||
|
*** 777,783 ****
|
||||||
|
/* Prepare for or stop CTRL-X mode. This doesn't do completion, but
|
||||||
|
* it does fix up the text when finishing completion. */
|
||||||
|
compl_get_longest = FALSE;
|
||||||
|
! if (c != K_IGNORE && ins_compl_prep(c))
|
||||||
|
continue;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--- 780,786 ----
|
||||||
|
/* Prepare for or stop CTRL-X mode. This doesn't do completion, but
|
||||||
|
* it does fix up the text when finishing completion. */
|
||||||
|
compl_get_longest = FALSE;
|
||||||
|
! if (ins_compl_prep(c))
|
||||||
|
continue;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 4516,4530 ****
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Need to get the character to have KeyTyped set. We'll put it
|
||||||
|
! * back with vungetc() below. */
|
||||||
|
c = safe_vgetc();
|
||||||
|
|
||||||
|
! /* Don't interrupt completion when the character wasn't typed,
|
||||||
|
! * e.g., when doing @q to replay keys. */
|
||||||
|
! if (c != Ctrl_R && KeyTyped)
|
||||||
|
! compl_interrupted = TRUE;
|
||||||
|
!
|
||||||
|
! vungetc(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (compl_pending != 0 && !got_int)
|
||||||
|
--- 4519,4535 ----
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Need to get the character to have KeyTyped set. We'll put it
|
||||||
|
! * back with vungetc() below. But skip K_IGNORE. */
|
||||||
|
c = safe_vgetc();
|
||||||
|
+ if (c != K_IGNORE)
|
||||||
|
+ {
|
||||||
|
+ /* Don't interrupt completion when the character wasn't typed,
|
||||||
|
+ * e.g., when doing @q to replay keys. */
|
||||||
|
+ if (c != Ctrl_R && KeyTyped)
|
||||||
|
+ compl_interrupted = TRUE;
|
||||||
|
|
||||||
|
! vungetc(c);
|
||||||
|
! }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (compl_pending != 0 && !got_int)
|
||||||
|
*** ../vim-7.1.240/src/version.c Tue Jan 22 16:01:25 2008
|
||||||
|
--- src/version.c Tue Jan 22 17:48:46 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 241,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
The problem with political jokes is that they get elected.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
68
7.1.242
Normal file
68
7.1.242
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.242
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.242 (after 7.1.005)
|
||||||
|
Problem: "cib" doesn't work properly on "(x)". (Tim Pope)
|
||||||
|
Solution: Use ltoreq() instead of lt(). Also fix "ciT" on "<a>x</a>".
|
||||||
|
Files: src/search.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.241/src/search.c Sat Jan 19 15:55:51 2008
|
||||||
|
--- src/search.c Sat Jan 26 13:56:06 2008
|
||||||
|
***************
|
||||||
|
*** 3637,3643 ****
|
||||||
|
oap->inclusive = FALSE;
|
||||||
|
if (sol)
|
||||||
|
incl(&curwin->w_cursor);
|
||||||
|
! else if (lt(start_pos, curwin->w_cursor))
|
||||||
|
/* Include the character under the cursor. */
|
||||||
|
oap->inclusive = TRUE;
|
||||||
|
else
|
||||||
|
--- 3637,3643 ----
|
||||||
|
oap->inclusive = FALSE;
|
||||||
|
if (sol)
|
||||||
|
incl(&curwin->w_cursor);
|
||||||
|
! else if (ltoreq(start_pos, curwin->w_cursor))
|
||||||
|
/* Include the character under the cursor. */
|
||||||
|
oap->inclusive = TRUE;
|
||||||
|
else
|
||||||
|
***************
|
||||||
|
*** 3754,3759 ****
|
||||||
|
--- 3754,3763 ----
|
||||||
|
old_pos = curwin->w_cursor;
|
||||||
|
old_end = curwin->w_cursor; /* remember where we started */
|
||||||
|
old_start = old_end;
|
||||||
|
+ #ifdef FEAT_VISUAL
|
||||||
|
+ if (!VIsual_active || *p_sel == 'e')
|
||||||
|
+ #endif
|
||||||
|
+ decl(&old_end); /* old_end is inclusive */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If we start on "<aaa>" select that block.
|
||||||
|
*** ../vim-7.1.241/src/version.c Tue Jan 22 17:49:17 2008
|
||||||
|
--- src/version.c Sat Jan 26 21:14:05 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 242,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
DENNIS: Oh, very nice. King, eh! I expect you've got a palace and fine
|
||||||
|
clothes and courtiers and plenty of food. And how d'you get that? By
|
||||||
|
exploiting the workers! By hanging on to outdated imperialist dogma
|
||||||
|
which perpetuates the social and economic differences in our society!
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
@ -264,3 +264,12 @@ Individual patches for Vim 7.1:
|
|||||||
8648 7.1.231 when shifting lines the change is acted upon multiple times
|
8648 7.1.231 when shifting lines the change is acted upon multiple times
|
||||||
2002 7.1.232 (after 7.1.207 and 7.1.211) compiler warnings with MSVC
|
2002 7.1.232 (after 7.1.207 and 7.1.211) compiler warnings with MSVC
|
||||||
3249 7.1.233 crash with Insert mode completion for a user defined command
|
3249 7.1.233 crash with Insert mode completion for a user defined command
|
||||||
|
6865 7.1.234 display problems when diff'ing three files
|
||||||
|
5925 7.1.235 pattern matching is slow when using a lot of simple patterns
|
||||||
|
28992 7.1.236 hang when using complicated pattern and 'hlsearch' or ":match"
|
||||||
|
1704 7.1.237 compiler warning on an Alpha processor in Motif code
|
||||||
|
1801 7.1.238 searchpair() may fail when using 'c' or 'r' flag
|
||||||
|
1639 7.1.239 (after 7.1.233) compiler warning for sprintf() argument
|
||||||
|
5157 7.1.240 "gUe" may stop before the end of the word
|
||||||
|
3093 7.1.241 focus change events not always ignored
|
||||||
|
2262 7.1.242 "cib" doesn't work properly on "(x)"
|
||||||
|
25
vim.spec
25
vim.spec
@ -17,13 +17,13 @@
|
|||||||
#used for pre-releases:
|
#used for pre-releases:
|
||||||
%define beta %{nil}
|
%define beta %{nil}
|
||||||
%define vimdir vim71%{?beta}
|
%define vimdir vim71%{?beta}
|
||||||
%define patchlevel 233
|
%define patchlevel 242
|
||||||
|
|
||||||
Summary: The VIM editor
|
Summary: The VIM editor
|
||||||
URL: http://www.vim.org/
|
URL: http://www.vim.org/
|
||||||
Name: vim
|
Name: vim
|
||||||
Version: %{baseversion}.%{beta}%{patchlevel}
|
Version: %{baseversion}.%{beta}%{patchlevel}
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
License: Vim
|
License: Vim
|
||||||
Group: Applications/Editors
|
Group: Applications/Editors
|
||||||
Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2
|
Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2
|
||||||
@ -286,6 +286,15 @@ Patch230: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.230
|
|||||||
Patch231: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.231
|
Patch231: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.231
|
||||||
Patch232: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.232
|
Patch232: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.232
|
||||||
Patch233: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.233
|
Patch233: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.233
|
||||||
|
Patch234: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.234
|
||||||
|
Patch235: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.235
|
||||||
|
Patch236: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.236
|
||||||
|
Patch237: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.237
|
||||||
|
Patch238: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.238
|
||||||
|
Patch239: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.239
|
||||||
|
Patch240: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.240
|
||||||
|
Patch241: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.241
|
||||||
|
Patch242: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.242
|
||||||
|
|
||||||
Patch3000: vim-7.0-syntax.patch
|
Patch3000: vim-7.0-syntax.patch
|
||||||
Patch3002: vim-7.1-nowarnings.patch
|
Patch3002: vim-7.1-nowarnings.patch
|
||||||
@ -653,6 +662,15 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
|
|||||||
%patch231 -p0
|
%patch231 -p0
|
||||||
%patch232 -p0
|
%patch232 -p0
|
||||||
%patch233 -p0
|
%patch233 -p0
|
||||||
|
%patch234 -p0
|
||||||
|
%patch235 -p0
|
||||||
|
%patch236 -p0
|
||||||
|
%patch237 -p0
|
||||||
|
%patch238 -p0
|
||||||
|
%patch239 -p0
|
||||||
|
%patch240 -p0
|
||||||
|
%patch241 -p0
|
||||||
|
%patch242 -p0
|
||||||
|
|
||||||
|
|
||||||
# install spell files
|
# install spell files
|
||||||
@ -1040,6 +1058,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_datadir}/icons/hicolor/*/apps/*
|
%{_datadir}/icons/hicolor/*/apps/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Jan 27 2008 Karsten Hopp <karsten@redhat.com> 7.1.242-1
|
||||||
|
- patchlevel 242
|
||||||
|
|
||||||
* Fri Jan 18 2008 Karsten Hopp <karsten@redhat.com> 7.1.233-2
|
* Fri Jan 18 2008 Karsten Hopp <karsten@redhat.com> 7.1.233-2
|
||||||
- silence taglist plugin (#429200)
|
- silence taglist plugin (#429200)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user