summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.143
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/vim/patches/7.4.143')
-rw-r--r--patches/source/vim/patches/7.4.143214
1 files changed, 214 insertions, 0 deletions
diff --git a/patches/source/vim/patches/7.4.143 b/patches/source/vim/patches/7.4.143
new file mode 100644
index 00000000..909a9e9c
--- /dev/null
+++ b/patches/source/vim/patches/7.4.143
@@ -0,0 +1,214 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.143
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.143
+Problem: TextChangedI is not triggered.
+Solution: Reverse check for "ready". (lilydjwg)
+Files: src/edit.c
+
+
+*** ../vim-7.4.142/src/edit.c 2013-11-06 04:01:31.000000000 +0100
+--- src/edit.c 2014-01-12 13:30:53.000000000 +0100
+***************
+*** 1556,1642 ****
+ int conceal_update_lines = FALSE;
+ #endif
+
+! if (!char_avail())
+! {
+ #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 && (
+ # ifdef FEAT_AUTOCMD
+! has_cursormovedI()
+ # endif
+ # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
+! ||
+ # endif
+ # ifdef FEAT_CONCEAL
+! curwin->w_p_cole > 0
+ # endif
+! )
+! && !equalpos(last_cursormoved, curwin->w_cursor)
+ # ifdef FEAT_INS_EXPAND
+! && !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);
+ # endif
+ # ifdef FEAT_AUTOCMD
+! 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;
+ }
+ #endif
+ #ifdef FEAT_AUTOCMD
+! /* Trigger TextChangedI if b_changedtick differs. */
+! if (!ready && has_textchangedI()
+! && last_changedtick != curbuf->b_changedtick
+ # ifdef FEAT_INS_EXPAND
+! && !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;
+! }
+ #endif
+! 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 */
+ }
+ }
+
+ /*
+--- 1556,1644 ----
+ int conceal_update_lines = FALSE;
+ #endif
+
+! 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 && (
+ # ifdef FEAT_AUTOCMD
+! has_cursormovedI()
+ # endif
+ # if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
+! ||
+ # endif
+ # ifdef FEAT_CONCEAL
+! curwin->w_p_cole > 0
+ # endif
+! )
+! && !equalpos(last_cursormoved, curwin->w_cursor)
+ # ifdef FEAT_INS_EXPAND
+! && !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);
+ # endif
+ # ifdef FEAT_AUTOCMD
+! 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;
++ }
+ #endif
++
+ #ifdef FEAT_AUTOCMD
+! /* Trigger TextChangedI if b_changedtick differs. */
+! if (ready && has_textchangedI()
+! && last_changedtick != curbuf->b_changedtick
+ # ifdef FEAT_INS_EXPAND
+! && !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;
+! }
+ #endif
+!
+! 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 */
+ }
+
+ /*
+*** ../vim-7.4.142/src/version.c 2014-01-12 13:24:46.000000000 +0100
+--- src/version.c 2014-01-14 12:15:50.000000000 +0100
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 143,
+ /**/
+
+--
+You are not really successful until someone claims he sat
+beside you in school.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///