• R/O
  • SSH

vim: Commit

Mirror of the Vim source from https://github.com/vim/vim


Commit MetaInfo

Revision0358abf2b5d4ab5981a5a1dd651ecf63d40ffbfb (tree)
Time2008-06-15 21:21:50
Authorvimboss
Commitervimboss

Log Message

updated for version 7.1-315

Change Summary

Incremental Difference

diff -r eef96cfdbbbe -r 0358abf2b5d4 src/regexp.c
--- a/src/regexp.c Mon Jun 09 15:07:54 2008 +0000
+++ b/src/regexp.c Sun Jun 15 12:21:50 2008 +0000
@@ -3044,6 +3044,7 @@
30443044 {
30453045 regsave_T save_after;
30463046 regsave_T save_behind;
3047+ int save_need_clear_subexpr;
30473048 save_se_T save_start[NSUBEXP];
30483049 save_se_T save_end[NSUBEXP];
30493050 } regbehind_T;
@@ -5858,17 +5859,23 @@
58585859 {
58595860 int i;
58605861
5861- for (i = 0; i < NSUBEXP; ++i)
5862+ /* When "need_clear_subexpr" is set we don't need to save the values, only
5863+ * remember that this flag needs to be set again when restoring. */
5864+ bp->save_need_clear_subexpr = need_clear_subexpr;
5865+ if (!need_clear_subexpr)
58625866 {
5863- if (REG_MULTI)
5867+ for (i = 0; i < NSUBEXP; ++i)
58645868 {
5865- bp->save_start[i].se_u.pos = reg_startpos[i];
5866- bp->save_end[i].se_u.pos = reg_endpos[i];
5867- }
5868- else
5869- {
5870- bp->save_start[i].se_u.ptr = reg_startp[i];
5871- bp->save_end[i].se_u.ptr = reg_endp[i];
5869+ if (REG_MULTI)
5870+ {
5871+ bp->save_start[i].se_u.pos = reg_startpos[i];
5872+ bp->save_end[i].se_u.pos = reg_endpos[i];
5873+ }
5874+ else
5875+ {
5876+ bp->save_start[i].se_u.ptr = reg_startp[i];
5877+ bp->save_end[i].se_u.ptr = reg_endp[i];
5878+ }
58725879 }
58735880 }
58745881 }
@@ -5882,17 +5889,22 @@
58825889 {
58835890 int i;
58845891
5885- for (i = 0; i < NSUBEXP; ++i)
5892+ /* Only need to restore saved values when they are not to be cleared. */
5893+ need_clear_subexpr = bp->save_need_clear_subexpr;
5894+ if (!need_clear_subexpr)
58865895 {
5887- if (REG_MULTI)
5896+ for (i = 0; i < NSUBEXP; ++i)
58885897 {
5889- reg_startpos[i] = bp->save_start[i].se_u.pos;
5890- reg_endpos[i] = bp->save_end[i].se_u.pos;
5891- }
5892- else
5893- {
5894- reg_startp[i] = bp->save_start[i].se_u.ptr;
5895- reg_endp[i] = bp->save_end[i].se_u.ptr;
5898+ if (REG_MULTI)
5899+ {
5900+ reg_startpos[i] = bp->save_start[i].se_u.pos;
5901+ reg_endpos[i] = bp->save_end[i].se_u.pos;
5902+ }
5903+ else
5904+ {
5905+ reg_startp[i] = bp->save_start[i].se_u.ptr;
5906+ reg_endp[i] = bp->save_end[i].se_u.ptr;
5907+ }
58965908 }
58975909 }
58985910 }
diff -r eef96cfdbbbe -r 0358abf2b5d4 src/version.c
--- a/src/version.c Mon Jun 09 15:07:54 2008 +0000
+++ b/src/version.c Sun Jun 15 12:21:50 2008 +0000
@@ -667,6 +667,8 @@
667667 static int included_patches[] =
668668 { /* Add new patch number below this line */
669669 /**/
670+ 315,
671+/**/
670672 314,
671673 /**/
672674 313,
Show on old repository browser