diff src/search.c @ 6675:24e0b6dd52e1 v7.4.662

updated for version 7.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)
author Bram Moolenaar <bram@vim.org>
date Fri, 13 Mar 2015 15:03:00 +0100
parents 950e24f26ef8
children dd923806ae3b
line wrap: on
line diff
--- a/src/search.c
+++ b/src/search.c
@@ -3583,10 +3583,11 @@ current_block(oap, count, include, what,
     /*
      * 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)