]> granicus.if.org Git - vim/commitdiff
updated for version 7.2-189 v7.2.189
authorBram Moolenaar <Bram@vim.org>
Tue, 26 May 2009 09:02:10 +0000 (09:02 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 26 May 2009 09:02:10 +0000 (09:02 +0000)
src/edit.c
src/version.c

index 4cb727cdc8d3b465b36f47c0b2c68aa344d04712..c1935c21cca837f21f417e7fed278694cd54cbac 100644 (file)
@@ -6420,13 +6420,17 @@ stop_insert(end_insert_pos, esc)
 
        /* If we just did an auto-indent, remove the white space from the end
         * of the line, and put the cursor back.
-        * Do this when ESC was used or moving the cursor up/down. */
+        * Do this when ESC was used or moving the cursor up/down.
+        * Check for the old position still being valid, just in case the text
+        * got changed unexpectedly. */
        if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
-                       && curwin->w_cursor.lnum != end_insert_pos->lnum)))
+                       && curwin->w_cursor.lnum != end_insert_pos->lnum))
+               && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count)
        {
            pos_T       tpos = curwin->w_cursor;
 
            curwin->w_cursor = *end_insert_pos;
+           check_cursor_col();  /* make sure it is not past the line */
            for (;;)
            {
                if (gchar_cursor() == NUL && curwin->w_cursor.col > 0)
@@ -6434,7 +6438,8 @@ stop_insert(end_insert_pos, esc)
                cc = gchar_cursor();
                if (!vim_iswhite(cc))
                    break;
-               (void)del_char(TRUE);
+               if (del_char(TRUE) == FAIL)
+                   break;  /* should not happen */
            }
            if (curwin->w_cursor.lnum != tpos.lnum)
                curwin->w_cursor = tpos;
index f9860ecbcdc4237a8a07569193eb0e21d7817968..d744a02329ef9ebf9ebcf835c610613c2169bf66 100644 (file)
@@ -676,6 +676,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    189,
 /**/
     188,
 /**/