From 6a63b0986f20e09817c4273f42aa7c64236b2e91 Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Wed, 23 Apr 2014 19:09:45 +0200 Subject: vim-patch:7.4.261 Problem: When updating the window involves a regexp pattern, an interactive substitute to replace a "\n" with a line break fails. (Ingo Karkat) Solution: Set reg_line_lbr in vim_regsub() and vim_regsub_multi(). https://code.google.com/p/vim/source/detail?r=43c6cd07c8defd8505acbe479c6970764c08e6f9 --- src/regexp.c | 2 ++ src/testdir/test79.in | Bin 2713 -> 2971 bytes src/testdir/test79.ok | Bin 421 -> 439 bytes src/version.c | 7 +++++++ 4 files changed, 9 insertions(+) (limited to 'src') diff --git a/src/regexp.c b/src/regexp.c index d72c104c7d..e5f431d3bd 100644 --- a/src/regexp.c +++ b/src/regexp.c @@ -6513,6 +6513,7 @@ int vim_regsub(regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magi reg_mmatch = NULL; reg_maxline = 0; reg_buf = curbuf; + reg_line_lbr = TRUE; return vim_regsub_both(source, dest, copy, magic, backslash); } @@ -6523,6 +6524,7 @@ int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *de reg_buf = curbuf; /* always works on the current buffer! */ reg_firstlnum = lnum; reg_maxline = curbuf->b_ml.ml_line_count - lnum; + reg_line_lbr = FALSE; return vim_regsub_both(source, dest, copy, magic, backslash); } diff --git a/src/testdir/test79.in b/src/testdir/test79.in index f15ecc0f8d..c6108097d9 100644 Binary files a/src/testdir/test79.in and b/src/testdir/test79.in differ diff --git a/src/testdir/test79.ok b/src/testdir/test79.ok index bb30d14052..8d2ead67ed 100644 Binary files a/src/testdir/test79.ok and b/src/testdir/test79.ok differ diff --git a/src/version.c b/src/version.c index d7a8829106..b86f2de7a2 100644 --- a/src/version.c +++ b/src/version.c @@ -202,6 +202,13 @@ static char *(features[]) = { static int included_patches[] = { // Add new patch number below this line + //265, + //264, + //263, + //262, + 261, + //260, + //259, //258, //257, //256, -- cgit