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 -- [email protected] -- 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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Raspunde prin e-mail lui