Mercurial > vim
diff src/highlight.c @ 18949:5c405689da3e v8.2.0035
patch 8.2.0035: saving and restoring called_emsg is clumsy
Commit: https://github.com/vim/vim/commit/53989554a44caca0964376d60297f08ec257c53c
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 23 22:59:18 2019 +0100
patch 8.2.0035: saving and restoring called_emsg is clumsy
Problem: Saving and restoring called_emsg is clumsy.
Solution: Count the number of error messages.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 23 Dec 2019 23:00:03 +0100 |
parents | e966de1d0376 |
children | 30c965c6f855 |
line wrap: on
line diff
--- a/src/highlight.c +++ b/src/highlight.c @@ -4055,7 +4055,7 @@ next_search_hl( linenr_T l; colnr_T matchcol; long nmatched; - int save_called_emsg = called_emsg; + int called_emsg_before = called_emsg; // for :{range}s/pat only highlight inside the range if (lnum < search_first_line || lnum > search_last_line) @@ -4081,7 +4081,6 @@ next_search_hl( * Repeat searching for a match until one is found that includes "mincol" * or none is found in this line. */ - called_emsg = FALSE; for (;;) { # ifdef FEAT_RELTIME @@ -4143,7 +4142,7 @@ next_search_hl( if (regprog_is_copy) cur->match.regprog = cur->hl.rm.regprog; - if (called_emsg || got_int || timed_out) + if (called_emsg > called_emsg_before || got_int || timed_out) { // Error while handling regexp: stop using this regexp. if (shl == search_hl) @@ -4176,9 +4175,6 @@ next_search_hl( break; // useful match found } } - - // Restore called_emsg for assert_fails(). - called_emsg = save_called_emsg; } /*