To: vim_dev@googlegroups.com Subject: Patch 8.2.5128 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.5128 Problem: Syntax highlighting disabled when using synID() in searchpair() skip expression and it times out. (Jaehwang Jung) Solution: Add the redrawtime_limit_set flag. (closes #10562) Files: src/globals.h, src/drawscreen.c, src/syntax.c *** ../vim-8.2.5127/src/globals.h 2022-06-14 13:30:31.640876084 +0100 --- src/globals.h 2022-06-19 12:17:14.983064400 +0100 *************** *** 1228,1233 **** --- 1228,1237 ---- #ifdef FEAT_DIFF EXTERN int need_diff_redraw INIT(= 0); // need to call diff_redraw() #endif + #ifdef FEAT_RELTIME + // flag set when 'redrawtime' timeout has been set + EXTERN int redrawtime_limit_set INIT(= FALSE); + #endif EXTERN int need_highlight_changed INIT(= TRUE); *** ../vim-8.2.5127/src/drawscreen.c 2022-06-05 16:55:50.694774344 +0100 --- src/drawscreen.c 2022-06-19 12:13:15.011459278 +0100 *************** *** 2179,2184 **** --- 2179,2185 ---- #endif #ifdef SYN_TIME_LIMIT // Set the time limit to 'redrawtime'. + redrawtime_limit_set = TRUE; init_regexp_timeout(p_rdt); #endif #ifdef FEAT_FOLDING *************** *** 2692,2697 **** --- 2693,2699 ---- #ifdef SYN_TIME_LIMIT disable_regexp_timeout(); + redrawtime_limit_set = FALSE; #endif // Reset the type of redrawing required, the window has been updated. *** ../vim-8.2.5127/src/syntax.c 2022-06-05 16:55:50.702774344 +0100 --- src/syntax.c 2022-06-19 12:25:47.088228386 +0100 *************** *** 3150,3157 **** colnr_T col, syn_time_T *st UNUSED) { ! int r; ! int timed_out = FALSE; #ifdef FEAT_PROFILE proftime_T pt; --- 3150,3157 ---- colnr_T col, syn_time_T *st UNUSED) { ! int r; ! int timed_out = FALSE; #ifdef FEAT_PROFILE proftime_T pt; *************** *** 3181,3187 **** } #endif #ifdef FEAT_RELTIME ! if (timed_out && !syn_win->w_s->b_syn_slow) { syn_win->w_s->b_syn_slow = TRUE; msg(_("'redrawtime' exceeded, syntax highlighting disabled")); --- 3181,3187 ---- } #endif #ifdef FEAT_RELTIME ! if (timed_out && redrawtime_limit_set && !syn_win->w_s->b_syn_slow) { syn_win->w_s->b_syn_slow = TRUE; msg(_("'redrawtime' exceeded, syntax highlighting disabled")); *** ../vim-8.2.5127/src/version.c 2022-06-19 11:45:42.654832438 +0100 --- src/version.c 2022-06-19 12:27:18.308346277 +0100 *************** *** 736,737 **** --- 736,739 ---- { /* Add new patch number below this line */ + /**/ + 5128, /**/ -- OLD WOMAN: King of the WHO? ARTHUR: The Britons. OLD WOMAN: Who are the Britons? "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///