Problem: Reading past end of line when using previous substitute pattern.
(Dominique Pelle)
Solution: Don't set "pat" only set "searchstr".
{
if (spats[RE_SEARCH].pat == NULL) /* no previous pattern */
{
- pat = spats[RE_SUBST].pat;
- if (pat == NULL)
+ searchstr = spats[RE_SUBST].pat;
+ if (searchstr == NULL)
{
EMSG(_(e_noprevre));
retval = 0;
goto end_do_search;
}
- searchstr = pat;
}
else
{
call test_disable_char_avail(0)
bw!
endfunc
+
+func Test_use_sub_pat()
+ split
+ let @/ = ''
+ func X()
+ s/^/a/
+ /
+ endfunc
+ call X()
+ bwipe!
+endfunc
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 2356,
/**/
2355,
/**/