mirror of
https://github.com/neovim/neovim.git
synced 2025-10-08 10:56:31 +00:00
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)
438b64ab71
This commit is contained in:
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user