summaryrefslogtreecommitdiff
path: root/src/search.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-03-13 15:03:00 +0100
committerBram Moolenaar <Bram@vim.org>2015-03-13 15:03:00 +0100
commit438b64ab71cd724129c4eec840be16c52602ebc8 (patch)
treef4e0bbe63d50be0268e3f7a627574256df7260b5 /src/search.c
parent6c5bdb751c0c77be7d03a6000134d1df367763d2 (diff)
downloadvim-git-438b64ab71cd724129c4eec840be16c52602ebc8.tar.gz
updated for version 7.4.662v7.4.662
Problem: When 'M' is in the 'cpo' option then selecting a text object in parenthesis does not work correctly. Solution: Keep 'M' in 'cpo' when finding a match. (Hirohito Higashi)
Diffstat (limited to 'src/search.c')
-rw-r--r--src/search.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/search.c b/src/search.c
index 8beacbbc3..7022870c4 100644
--- a/src/search.c
+++ b/src/search.c
@@ -3583,10 +3583,11 @@ current_block(oap, count, include, what, other)
/*
* Search backwards for unclosed '(', '{', etc..
* Put this position in start_pos.
- * Ignore quotes here.
+ * Ignore quotes here. Keep the "M" flag in 'cpo', as that is what the
+ * user wants.
*/
save_cpo = p_cpo;
- p_cpo = (char_u *)"%";
+ p_cpo = (char_u *)(vim_strchr(p_cpo, CPO_MATCHBSL) != NULL ? "%M" : "%");
while (count-- > 0)
{
if ((pos = findmatch(NULL, what)) == NULL)