diff --git a/src/search.c b/src/search.c index fc01dfb5..dec43268 100644 --- a/src/search.c +++ b/src/search.c @@ -1088,18 +1088,16 @@ int find_matching_bracket_pos(linestruct **line, size_t *xpos) if (br_ch == NULL) return NOT_A_BRACKET; - if (br_ch != NULL) { - br_ch_len = char_length(br_ch); - create_bracket_pair(bracket_pair, br_ch, br_ch_len, &reversed); + br_ch_len = char_length(br_ch); + create_bracket_pair(bracket_pair, br_ch, br_ch_len, &reversed); - while (find_a_bracket(reversed, bracket_pair, line, xpos)) { - balance += (strncmp((*line)->data + *xpos, - br_ch, br_ch_len) == 0) ? 1 : -1; - if (balance == 0) - return FOUND_BRACKET; + while (find_a_bracket(reversed, bracket_pair, line, xpos)) { + balance += (strncmp((*line)->data + *xpos, + br_ch, br_ch_len) == 0) ? 1 : -1; + if (balance == 0) + return FOUND_BRACKET; - } } return NOT_FOUND_BRACKET; } @@ -1109,6 +1107,7 @@ int find_matching_bracket_pos(linestruct **line, size_t *xpos) void do_find_bracket(void) { linestruct *was_current = openfile->current; + size_t was_current_x = openfile->current_x; int res = find_matching_bracket_pos(&openfile->current, &openfile->current_x); @@ -1118,6 +1117,9 @@ void do_find_bracket(void) return; } + openfile->current = was_current; + openfile->current_x = was_current_x; + statusline(AHEM, res == NOT_FOUND_BRACKET ? _("No matching bracket") : _("Not a bracket"));