summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2008-07-14 21:05:15 +0000
committerBram Moolenaar <Bram@vim.org>2008-07-14 21:05:15 +0000
commit9c24ccc7b8f70901bbedb177eeb0efc2e84182e8 (patch)
tree07bc65e8a8a2f06c5e54732753c270962ebc0409
parentaf51e66c5ae4a73f4b05f3feb9bb539431ea2d44 (diff)
downloadvim-9c24ccc7b8f70901bbedb177eeb0efc2e84182e8.zip
updated for version 7.2b-004
-rw-r--r--src/eval.c16
-rw-r--r--src/quickfix.c8
-rw-r--r--src/version.c2
3 files changed, 20 insertions, 6 deletions
diff --git a/src/eval.c b/src/eval.c
index 18c8329df..bb2504494 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -14997,7 +14997,7 @@ do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos,
/* Make 'cpoptions' empty, the 'l' flag should not be used here. */
save_cpo = p_cpo;
- p_cpo = (char_u *)"";
+ p_cpo = empty_option;
#ifdef FEAT_RELTIME
/* Set the time limit, if there is one. */
@@ -15112,7 +15112,11 @@ do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos,
theend:
vim_free(pat2);
vim_free(pat3);
- p_cpo = save_cpo;
+ if (p_cpo == empty_option)
+ p_cpo = save_cpo;
+ else
+ /* Darn, evaluating the {skip} expression changed the value. */
+ free_string_option(save_cpo);
return retval;
}
@@ -22503,7 +22507,7 @@ do_string_sub(str, pat, sub, flags)
/* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
save_cpo = p_cpo;
- p_cpo = (char_u *)"";
+ p_cpo = empty_option;
ga_init2(&ga, 1, 200);
@@ -22564,7 +22568,11 @@ do_string_sub(str, pat, sub, flags)
ret = vim_strsave(ga.ga_data == NULL ? str : (char_u *)ga.ga_data);
ga_clear(&ga);
- p_cpo = save_cpo;
+ if (p_cpo == empty_option)
+ p_cpo = save_cpo;
+ else
+ /* Darn, evaluating {sub} expression changed the value. */
+ free_string_option(save_cpo);
return ret;
}
diff --git a/src/quickfix.c b/src/quickfix.c
index 6d67dd734..e442fcbd1 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3779,7 +3779,7 @@ ex_helpgrep(eap)
/* Make 'cpoptions' empty, the 'l' flag should not be used here. */
save_cpo = p_cpo;
- p_cpo = (char_u *)"";
+ p_cpo = empty_option;
#ifdef FEAT_MULTI_LANG
/* Check for a specified language */
@@ -3889,7 +3889,11 @@ ex_helpgrep(eap)
qi->qf_lists[qi->qf_curlist].qf_index = 1;
}
- p_cpo = save_cpo;
+ if (p_cpo == empty_option)
+ p_cpo = save_cpo;
+ else
+ /* Darn, some plugin changed the value. */
+ free_string_option(save_cpo);
#ifdef FEAT_WINDOWS
qf_update_buffer(qi);
diff --git a/src/version.c b/src/version.c
index 61adb887b..18881a73c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4,
+/**/
3,
/**/
2,