summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.181
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.181')
-rw-r--r--source/ap/vim/patches/7.3.181171
1 files changed, 171 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.181 b/source/ap/vim/patches/7.3.181
new file mode 100644
index 000000000..3151d4455
--- /dev/null
+++ b/source/ap/vim/patches/7.3.181
@@ -0,0 +1,171 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.181
+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.3.181
+Problem: When repeating the insert of CTRL-V or a digraph the display may
+ not be updated correctly.
+Solution: Only call edit_unputchar() after edit_putchar(). (Lech Lorens)
+Files: src/edit.c
+
+
+*** ../vim-7.3.180/src/edit.c 2010-11-10 17:11:29.000000000 +0100
+--- src/edit.c 2011-05-10 14:16:41.000000000 +0200
+***************
+*** 1553,1564 ****
+--- 1553,1568 ----
+ ins_ctrl_v()
+ {
+ int c;
++ int did_putchar = FALSE;
+
+ /* may need to redraw when no more chars available now */
+ ins_redraw(FALSE);
+
+ if (redrawing() && !char_avail())
++ {
+ edit_putchar('^', TRUE);
++ did_putchar = TRUE;
++ }
+ AppendToRedobuff((char_u *)CTRL_V_STR); /* CTRL-V */
+
+ #ifdef FEAT_CMDL_INFO
+***************
+*** 1566,1573 ****
+ #endif
+
+ c = get_literal();
+! edit_unputchar(); /* when line fits in 'columns' the '^' is at the start
+! of the next line and will not be redrawn */
+ #ifdef FEAT_CMDL_INFO
+ clear_showcmd();
+ #endif
+--- 1570,1579 ----
+ #endif
+
+ c = get_literal();
+! if (did_putchar)
+! /* when the line fits in 'columns' the '^' is at the start of the next
+! * line and will not removed by the redraw */
+! edit_unputchar();
+ #ifdef FEAT_CMDL_INFO
+ clear_showcmd();
+ #endif
+***************
+*** 9637,9642 ****
+--- 9643,9649 ----
+ {
+ int c;
+ int cc;
++ int did_putchar = FALSE;
+
+ pc_status = PC_STATUS_UNSET;
+ if (redrawing() && !char_avail())
+***************
+*** 9645,9650 ****
+--- 9652,9658 ----
+ ins_redraw(FALSE);
+
+ edit_putchar('?', TRUE);
++ did_putchar = TRUE;
+ #ifdef FEAT_CMDL_INFO
+ add_to_showcmd_c(Ctrl_K);
+ #endif
+***************
+*** 9661,9668 ****
+ c = plain_vgetc();
+ --no_mapping;
+ --allow_keys;
+! edit_unputchar(); /* when line fits in 'columns' the '?' is at the start
+! of the next line and will not be redrawn */
+
+ if (IS_SPECIAL(c) || mod_mask) /* special key */
+ {
+--- 9669,9678 ----
+ c = plain_vgetc();
+ --no_mapping;
+ --allow_keys;
+! if (did_putchar)
+! /* when the line fits in 'columns' the '?' is at the start of the next
+! * line and will not be removed by the redraw */
+! edit_unputchar();
+
+ if (IS_SPECIAL(c) || mod_mask) /* special key */
+ {
+***************
+*** 9674,9679 ****
+--- 9684,9690 ----
+ }
+ if (c != ESC)
+ {
++ did_putchar = FALSE;
+ if (redrawing() && !char_avail())
+ {
+ /* may need to redraw when no more chars available now */
+***************
+*** 9681,9691 ****
+
+ if (char2cells(c) == 1)
+ {
+- /* first remove the '?', otherwise it's restored when typing
+- * an ESC next */
+- edit_unputchar();
+ ins_redraw(FALSE);
+ edit_putchar(c, TRUE);
+ }
+ #ifdef FEAT_CMDL_INFO
+ add_to_showcmd_c(c);
+--- 9692,9700 ----
+
+ if (char2cells(c) == 1)
+ {
+ ins_redraw(FALSE);
+ edit_putchar(c, TRUE);
++ did_putchar = TRUE;
+ }
+ #ifdef FEAT_CMDL_INFO
+ add_to_showcmd_c(c);
+***************
+*** 9696,9703 ****
+ cc = plain_vgetc();
+ --no_mapping;
+ --allow_keys;
+! edit_unputchar(); /* when line fits in 'columns' the '?' is at the
+! start of the next line and will not be redrawn */
+ if (cc != ESC)
+ {
+ AppendToRedobuff((char_u *)CTRL_V_STR);
+--- 9705,9714 ----
+ cc = plain_vgetc();
+ --no_mapping;
+ --allow_keys;
+! if (did_putchar)
+! /* when the line fits in 'columns' the '?' is at the start of the
+! * next line and will not be removed by a redraw */
+! edit_unputchar();
+ if (cc != ESC)
+ {
+ AppendToRedobuff((char_u *)CTRL_V_STR);
+*** ../vim-7.3.180/src/version.c 2011-05-10 13:38:23.000000000 +0200
+--- src/version.c 2011-05-10 14:20:40.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+ { /* Add new patch number below this line */
++ /**/
++ 181,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+74. Your most erotic dreams are about cybersex
+
+ /// 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 ///