summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.269
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/vim/patches/7.4.269')
-rw-r--r--patches/source/vim/patches/7.4.269213
1 files changed, 213 insertions, 0 deletions
diff --git a/patches/source/vim/patches/7.4.269 b/patches/source/vim/patches/7.4.269
new file mode 100644
index 00000000..80f29a48
--- /dev/null
+++ b/patches/source/vim/patches/7.4.269
@@ -0,0 +1,213 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.269
+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.269
+Problem: CTRL-U in Insert mode does not work after using a cursor key.
+ (Pine Wu)
+Solution: Use the original insert start position. (Christian Brabandt)
+Files: src/edit.c, src/testdir/test29.in, src/testdir/test29.ok
+
+
+*** ../vim-7.4.268/src/edit.c 2014-04-29 12:15:22.852032651 +0200
+--- src/edit.c 2014-04-29 14:44:07.867876234 +0200
+***************
+*** 8760,8767 ****
+ ((curwin->w_cursor.lnum == 1 && curwin->w_cursor.col == 0)
+ || (!can_bs(BS_START)
+ && (arrow_used
+! || (curwin->w_cursor.lnum == Insstart.lnum
+! && curwin->w_cursor.col <= Insstart.col)))
+ || (!can_bs(BS_INDENT) && !arrow_used && ai_col > 0
+ && curwin->w_cursor.col <= ai_col)
+ || (!can_bs(BS_EOL) && curwin->w_cursor.col == 0))))
+--- 8760,8767 ----
+ ((curwin->w_cursor.lnum == 1 && curwin->w_cursor.col == 0)
+ || (!can_bs(BS_START)
+ && (arrow_used
+! || (curwin->w_cursor.lnum == Insstart_orig.lnum
+! && curwin->w_cursor.col <= Insstart_orig.col)))
+ || (!can_bs(BS_INDENT) && !arrow_used && ai_col > 0
+ && curwin->w_cursor.col <= ai_col)
+ || (!can_bs(BS_EOL) && curwin->w_cursor.col == 0))))
+***************
+*** 8812,8819 ****
+ */
+ if (curwin->w_cursor.col == 0)
+ {
+! lnum = Insstart.lnum;
+! if (curwin->w_cursor.lnum == Insstart.lnum
+ #ifdef FEAT_RIGHTLEFT
+ || revins_on
+ #endif
+--- 8812,8819 ----
+ */
+ if (curwin->w_cursor.col == 0)
+ {
+! lnum = Insstart_orig.lnum;
+! if (curwin->w_cursor.lnum == lnum
+ #ifdef FEAT_RIGHTLEFT
+ || revins_on
+ #endif
+***************
+*** 8822,8829 ****
+ if (u_save((linenr_T)(curwin->w_cursor.lnum - 2),
+ (linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL)
+ return FALSE;
+! --Insstart.lnum;
+! Insstart.col = MAXCOL;
+ }
+ /*
+ * In replace mode:
+--- 8822,8829 ----
+ if (u_save((linenr_T)(curwin->w_cursor.lnum - 2),
+ (linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL)
+ return FALSE;
+! --Insstart_orig.lnum;
+! Insstart_orig.col = MAXCOL;
+ }
+ /*
+ * In replace mode:
+***************
+*** 8981,8989 ****
+ while (vcol < want_vcol)
+ {
+ /* Remember the first char we inserted */
+! if (curwin->w_cursor.lnum == Insstart.lnum
+! && curwin->w_cursor.col < Insstart.col)
+! Insstart.col = curwin->w_cursor.col;
+
+ #ifdef FEAT_VREPLACE
+ if (State & VREPLACE_FLAG)
+--- 8981,8989 ----
+ while (vcol < want_vcol)
+ {
+ /* Remember the first char we inserted */
+! if (curwin->w_cursor.lnum == Insstart_orig.lnum
+! && curwin->w_cursor.col < Insstart_orig.col)
+! Insstart_orig.col = curwin->w_cursor.col;
+
+ #ifdef FEAT_VREPLACE
+ if (State & VREPLACE_FLAG)
+***************
+*** 9071,9078 ****
+ revins_on ||
+ #endif
+ (curwin->w_cursor.col > mincol
+! && (curwin->w_cursor.lnum != Insstart.lnum
+! || curwin->w_cursor.col != Insstart.col)));
+ did_backspace = TRUE;
+ }
+ #ifdef FEAT_SMARTINDENT
+--- 9071,9078 ----
+ revins_on ||
+ #endif
+ (curwin->w_cursor.col > mincol
+! && (curwin->w_cursor.lnum != Insstart_orig.lnum
+! || curwin->w_cursor.col != Insstart_orig.col)));
+ did_backspace = TRUE;
+ }
+ #ifdef FEAT_SMARTINDENT
+***************
+*** 9090,9098 ****
+ AppendCharToRedobuff(c);
+
+ /* If deleted before the insertion point, adjust it */
+! if (curwin->w_cursor.lnum == Insstart.lnum
+! && curwin->w_cursor.col < Insstart.col)
+! Insstart.col = curwin->w_cursor.col;
+
+ /* vi behaviour: the cursor moves backward but the character that
+ * was there remains visible
+--- 9090,9098 ----
+ AppendCharToRedobuff(c);
+
+ /* If deleted before the insertion point, adjust it */
+! if (curwin->w_cursor.lnum == Insstart_orig.lnum
+! && curwin->w_cursor.col < Insstart_orig.col)
+! Insstart_orig.col = curwin->w_cursor.col;
+
+ /* vi behaviour: the cursor moves backward but the character that
+ * was there remains visible
+*** ../vim-7.4.268/src/testdir/test29.in 2012-06-13 13:48:26.000000000 +0200
+--- src/testdir/test29.in 2014-04-29 14:31:23.619889628 +0200
+***************
+*** 102,107 ****
+--- 102,135 ----
+ }
+
+ STARTTEST
++ :" Test with backspace set to the non-compatible setting
++ /^\d\+ this
++ :set cp bs=2
++ Avim1
++ Avim2u
++ :set cpo-=<
++ :inoremap <c-u> <left><c-u>
++ Avim3
++ :iunmap <c-u>
++ Avim4
++ :" Test with backspace set to the compatible setting
++ :set bs=
++ A vim5A
++ A vim6Azweiu
++ :inoremap <c-u> <left><c-u>
++ A vim7
++ :set cp
++ ENDTEST
++ 1 this shouldn't be deleted
++ 2 this shouldn't be deleted
++ 3 this shouldn't be deleted
++ 4 this should be deleted
++ 5 this shouldn't be deleted
++ 6 this shouldn't be deleted
++ 7 this shouldn't be deleted
++ 8 this shouldn't be deleted (not touched yet)
++
++ STARTTEST
+ /^{/+1
+ :set comments=sO:*\ -,mO:*\ \ ,exO:*/
+ :set comments+=s1:/*,mb:*,ex:*/,://
+*** ../vim-7.4.268/src/testdir/test29.ok 2012-06-13 13:48:26.000000000 +0200
+--- src/testdir/test29.ok 2014-04-29 14:31:23.623889628 +0200
+***************
+*** 62,67 ****
+--- 62,76 ----
+ action();
+ }
+
++ 1 this shouldn't be deleted
++ 2 this shouldn't be deleted
++ 3 this shouldn't be deleted
++ 4 this should be deleted3
++
++ 6 this shouldn't be deleted vim5
++ 7 this shouldn't be deleted vim6
++ 8 this shouldn't be deleted (not touched yet) vim7
++
+
+ {
+ /* Make sure the previous comment leader is not removed. */
+*** ../vim-7.4.268/src/version.c 2014-04-29 14:02:42.547919791 +0200
+--- src/version.c 2014-04-29 14:42:09.083878315 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 269,
+ /**/
+
+--
+From "know your smileys":
+ [:-) Frankenstein's monster
+
+ /// 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 ///