[vim/f13] Patchlevel 181

Karsten Hopp karsten at fedoraproject.org
Tue Jun 7 09:57:03 UTC 2011


commit 7dee8a73793884b21521a8051678036cc2f68707
Author: Karsten Hopp <karsten at redhat.com>
Date:   Tue Jun 7 11:44:17 2011 +0200

    Patchlevel 181

 7.3.181 |  171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 171 insertions(+), 0 deletions(-)
---
diff --git a/7.3.181 b/7.3.181
new file mode 100644
index 0000000..3151d44
--- /dev/null
+++ b/7.3.181
@@ -0,0 +1,171 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.181
+Fcc: outbox
+From: Bram Moolenaar <Bram at 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 at 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    ///


More information about the scm-commits mailing list