diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-06-25 13:58:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-25 13:58:48 +0200 |
commit | 027ebb23da0868655413e1850eb0b7d77e223850 (patch) | |
tree | 00f72b89d9cb19284539476a8cb41be7ca16191a /src | |
parent | 615fc6826359b4171fbb40ea34ba7ddf29bea045 (diff) | |
parent | ace7e4e11ba18b769aa028d73808b9405ec5e437 (diff) | |
download | rneovim-027ebb23da0868655413e1850eb0b7d77e223850.tar.gz rneovim-027ebb23da0868655413e1850eb0b7d77e223850.tar.bz2 rneovim-027ebb23da0868655413e1850eb0b7d77e223850.zip |
Merge #10329 from janlazo/vim-8.1.0437
vim-patch:8.0.1535,8.1.{198,437,1342}
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/ops.c | 2 | ||||
-rw-r--r-- | src/nvim/syntax.c | 14 | ||||
-rw-r--r-- | src/nvim/testdir/test_syntax.vim | 2 |
3 files changed, 10 insertions, 8 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c index b5408fab9a..b96e075f66 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -3749,7 +3749,7 @@ int do_join(size_t count, if (setmark) { // Set the '] mark. curwin->w_buffer->b_op_end.lnum = curwin->w_cursor.lnum; - curwin->w_buffer->b_op_end.col = (colnr_T)STRLEN(newp); + curwin->w_buffer->b_op_end.col = sumsize; } /* Only report the change in the first line here, del_lines() will report diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index 418756abc4..38d0e33948 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -997,6 +997,7 @@ static void syn_stack_free_block(synblock_T *block) clear_syn_state(p); } XFREE_CLEAR(block->b_sst_array); + block->b_sst_first = NULL; block->b_sst_len = 0; } } @@ -1108,9 +1109,6 @@ static void syn_stack_apply_changes_block(synblock_T *block, buf_T *buf) synstate_T *p, *prev, *np; linenr_T n; - if (block->b_sst_array == NULL) /* nothing to do */ - return; - prev = NULL; for (p = block->b_sst_first; p != NULL; ) { if (p->sst_lnum + block->b_syn_sync_linebreaks > buf->b_mod_top) { @@ -1158,8 +1156,9 @@ static int syn_stack_cleanup(void) int dist; int retval = FALSE; - if (syn_block->b_sst_array == NULL || syn_block->b_sst_first == NULL) + if (syn_block->b_sst_first == NULL) { return retval; + } /* Compute normal distance between non-displayed entries. */ if (syn_block->b_sst_len <= Rows) @@ -2923,8 +2922,9 @@ static int syn_regexec(regmmatch_T *rmp, linenr_T lnum, colnr_T col, syn_time_T if (r > 0) ++st->match; } - if (timed_out) { + if (timed_out && !syn_win->w_s->b_syn_slow) { syn_win->w_s->b_syn_slow = true; + MSG(_("'redrawtime' exceeded, syntax highlighting disabled")); } if (r > 0) { @@ -3124,11 +3124,11 @@ static void syn_cmd_iskeyword(exarg_T *eap, int syncing) arg = skipwhite(arg); if (*arg == NUL) { MSG_PUTS("\n"); - MSG_PUTS(_("syntax iskeyword ")); if (curwin->w_s->b_syn_isk != empty_option) { + MSG_PUTS(_("syntax iskeyword ")); msg_outtrans(curwin->w_s->b_syn_isk); } else { - msg_outtrans((char_u *)"not set"); + msg_outtrans((char_u *)_("syntax iskeyword not set")); } } else { if (STRNICMP(arg, "clear", 5) == 0) { diff --git a/src/nvim/testdir/test_syntax.vim b/src/nvim/testdir/test_syntax.vim index 850947f89f..a3de879b2a 100644 --- a/src/nvim/testdir/test_syntax.vim +++ b/src/nvim/testdir/test_syntax.vim @@ -466,6 +466,8 @@ func Test_bg_detection() set bg=dark hi Normal ctermbg=12 call assert_equal('dark', &bg) + + hi Normal ctermbg=NONE endfunc fun Test_synstack_synIDtrans() |