diff options
author | watiko <service@mail.watiko.net> | 2016-02-03 06:53:43 +0900 |
---|---|---|
committer | watiko <service@mail.watiko.net> | 2016-02-03 21:56:22 +0900 |
commit | 924cacd2fcf4e2f84886761ad458a9ac4e6407fa (patch) | |
tree | 6405c6da7693fd1f8fd0a7df5c0a531251ee58d3 /src/nvim/search.c | |
parent | 4f4b8ea4489b445d0f9e0b8e1b9885555d0d861f (diff) | |
download | rneovim-924cacd2fcf4e2f84886761ad458a9ac4e6407fa.tar.gz rneovim-924cacd2fcf4e2f84886761ad458a9ac4e6407fa.tar.bz2 rneovim-924cacd2fcf4e2f84886761ad458a9ac4e6407fa.zip |
vim-patch: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)
https://github.com/vim/vim/commit/438b64ab71cd724129c4eec840be16c52602ebc8
Diffstat (limited to 'src/nvim/search.c')
-rw-r--r-- | src/nvim/search.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/nvim/search.c b/src/nvim/search.c index d393ee7d02..2dd0201259 100644 --- a/src/nvim/search.c +++ b/src/nvim/search.c @@ -3076,18 +3076,18 @@ current_block ( } else old_end = VIsual; - /* - * Search backwards for unclosed '(', '{', etc.. - * Put this position in start_pos. - * Ignore quotes here. - */ + // Search backwards for unclosed '(', '{', etc.. + // Put this position in start_pos. + // 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) + if ((pos = findmatch(NULL, what)) == NULL) { break; + } curwin->w_cursor = *pos; - start_pos = *pos; /* the findmatch for end_pos will overwrite *pos */ + start_pos = *pos; // the findmatch for end_pos will overwrite *pos } p_cpo = save_cpo; |