diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-01-14 12:17:02 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-01-14 12:17:02 +0100 |
commit | e21b6b2a8d526f22ece5ccadafa3a6ff3289d603 (patch) | |
tree | 9967565ee4f5915b7aefc1e77ef10079c8dd62ef /src | |
parent | b0d5c96133f894c102eb695fcd7d93a54028cc99 (diff) | |
download | vim-git-e21b6b2a8d526f22ece5ccadafa3a6ff3289d603.tar.gz |
updated for version 7.4.143v7.4.143
Problem: TextChangedI is not triggered.
Solution: Reverse check for "ready". (lilydjwg)
Diffstat (limited to 'src')
-rw-r--r-- | src/edit.c | 120 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 63 insertions, 59 deletions
diff --git a/src/edit.c b/src/edit.c index d3c02085a..0904af857 100644 --- a/src/edit.c +++ b/src/edit.c @@ -1556,87 +1556,89 @@ ins_redraw(ready) int conceal_update_lines = FALSE; #endif - if (!char_avail()) - { + if (char_avail()) + return; + #if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL) - /* Trigger CursorMoved if the cursor moved. Not when the popup menu is - * visible, the command might delete it. */ - if (ready && ( + /* Trigger CursorMoved if the cursor moved. Not when the popup menu is + * visible, the command might delete it. */ + if (ready && ( # ifdef FEAT_AUTOCMD - has_cursormovedI() + has_cursormovedI() # endif # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL) - || + || # endif # ifdef FEAT_CONCEAL - curwin->w_p_cole > 0 + curwin->w_p_cole > 0 # endif - ) - && !equalpos(last_cursormoved, curwin->w_cursor) + ) + && !equalpos(last_cursormoved, curwin->w_cursor) # ifdef FEAT_INS_EXPAND - && !pum_visible() + && !pum_visible() # endif - ) - { + ) + { # ifdef FEAT_SYN_HL - /* Need to update the screen first, to make sure syntax - * highlighting is correct after making a change (e.g., inserting - * a "(". The autocommand may also require a redraw, so it's done - * again below, unfortunately. */ - if (syntax_present(curwin) && must_redraw) - update_screen(0); + /* Need to update the screen first, to make sure syntax + * highlighting is correct after making a change (e.g., inserting + * a "(". The autocommand may also require a redraw, so it's done + * again below, unfortunately. */ + if (syntax_present(curwin) && must_redraw) + update_screen(0); # endif # ifdef FEAT_AUTOCMD - if (has_cursormovedI()) - apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf); + if (has_cursormovedI()) + apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf); # endif # ifdef FEAT_CONCEAL - if (curwin->w_p_cole > 0) - { - conceal_old_cursor_line = last_cursormoved.lnum; - conceal_new_cursor_line = curwin->w_cursor.lnum; - conceal_update_lines = TRUE; - } -# endif - last_cursormoved = curwin->w_cursor; + if (curwin->w_p_cole > 0) + { + conceal_old_cursor_line = last_cursormoved.lnum; + conceal_new_cursor_line = curwin->w_cursor.lnum; + conceal_update_lines = TRUE; } +# endif + last_cursormoved = curwin->w_cursor; + } #endif + #ifdef FEAT_AUTOCMD - /* Trigger TextChangedI if b_changedtick differs. */ - if (!ready && has_textchangedI() - && last_changedtick != curbuf->b_changedtick + /* Trigger TextChangedI if b_changedtick differs. */ + if (ready && has_textchangedI() + && last_changedtick != curbuf->b_changedtick # ifdef FEAT_INS_EXPAND - && !pum_visible() + && !pum_visible() # endif - ) - { - if (last_changedtick_buf == curbuf) - apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf); - last_changedtick_buf = curbuf; - last_changedtick = curbuf->b_changedtick; - } + ) + { + if (last_changedtick_buf == curbuf) + apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf); + last_changedtick_buf = curbuf; + last_changedtick = curbuf->b_changedtick; + } #endif - if (must_redraw) - update_screen(0); - else if (clear_cmdline || redraw_cmdline) - showmode(); /* clear cmdline and show mode */ + + if (must_redraw) + update_screen(0); + else if (clear_cmdline || redraw_cmdline) + showmode(); /* clear cmdline and show mode */ # if defined(FEAT_CONCEAL) - if ((conceal_update_lines - && (conceal_old_cursor_line != conceal_new_cursor_line - || conceal_cursor_line(curwin))) - || need_cursor_line_redraw) - { - if (conceal_old_cursor_line != conceal_new_cursor_line) - update_single_line(curwin, conceal_old_cursor_line); - update_single_line(curwin, conceal_new_cursor_line == 0 - ? curwin->w_cursor.lnum : conceal_new_cursor_line); - curwin->w_valid &= ~VALID_CROW; - } -# endif - showruler(FALSE); - setcursor(); - emsg_on_display = FALSE; /* may remove error message now */ + if ((conceal_update_lines + && (conceal_old_cursor_line != conceal_new_cursor_line + || conceal_cursor_line(curwin))) + || need_cursor_line_redraw) + { + if (conceal_old_cursor_line != conceal_new_cursor_line) + update_single_line(curwin, conceal_old_cursor_line); + update_single_line(curwin, conceal_new_cursor_line == 0 + ? curwin->w_cursor.lnum : conceal_new_cursor_line); + curwin->w_valid &= ~VALID_CROW; } +# endif + showruler(FALSE); + setcursor(); + emsg_on_display = FALSE; /* may remove error message now */ } /* diff --git a/src/version.c b/src/version.c index a468a79c3..c3281cafc 100644 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 143, +/**/ 142, /**/ 141, |