Karsten Hopp 504b0d
To: vim_dev@googlegroups.com
Karsten Hopp 504b0d
Subject: Patch 7.4.387
Karsten Hopp 504b0d
Fcc: outbox
Karsten Hopp 504b0d
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 504b0d
Mime-Version: 1.0
Karsten Hopp 504b0d
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 504b0d
Content-Transfer-Encoding: 8bit
Karsten Hopp 504b0d
------------
Karsten Hopp 504b0d
Karsten Hopp 504b0d
Patch 7.4.387
Karsten Hopp 504b0d
Problem:    "4gro" replaces one character then executes "ooo". (Urtica Dioica)
Karsten Hopp 504b0d
Solution:   Write the ESC in the second stuff buffer.
Karsten Hopp 504b0d
Files:	    src/getchar.c, src/proto/getchar.pro, src/edit.c,
Karsten Hopp 504b0d
	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
Karsten Hopp 504b0d
	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
Karsten Hopp 504b0d
	    src/testdir/Make_vms.mms, src/testdir/Makefile,
Karsten Hopp 504b0d
	    src/testdir/test_insertcount.in, src/testdir/test_insertcount.ok
Karsten Hopp 504b0d
Karsten Hopp 504b0d
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/getchar.c	2014-07-23 20:41:09.891779510 +0200
Karsten Hopp 504b0d
--- src/getchar.c	2014-07-30 14:35:08.831590415 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 678,683 ****
Karsten Hopp 504b0d
--- 678,694 ----
Karsten Hopp 504b0d
      add_buff(&readbuf1, s, -1L);
Karsten Hopp 504b0d
  }
Karsten Hopp 504b0d
  
Karsten Hopp 504b0d
+ /*
Karsten Hopp 504b0d
+  * Append string "s" to the redo stuff buffer.
Karsten Hopp 504b0d
+  * CSI and K_SPECIAL must already have been escaped.
Karsten Hopp 504b0d
+  */
Karsten Hopp 504b0d
+     void
Karsten Hopp 504b0d
+ stuffRedoReadbuff(s)
Karsten Hopp 504b0d
+     char_u	*s;
Karsten Hopp 504b0d
+ {
Karsten Hopp 504b0d
+     add_buff(&readbuf2, s, -1L);
Karsten Hopp 504b0d
+ }
Karsten Hopp 504b0d
+ 
Karsten Hopp 504b0d
      void
Karsten Hopp 504b0d
  stuffReadbuffLen(s, len)
Karsten Hopp 504b0d
      char_u	*s;
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/proto/getchar.pro	2014-02-11 15:10:38.134111836 +0100
Karsten Hopp 504b0d
--- src/proto/getchar.pro	2014-07-30 14:36:18.851589912 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 15,20 ****
Karsten Hopp 504b0d
--- 15,21 ----
Karsten Hopp 504b0d
  void AppendCharToRedobuff __ARGS((int c));
Karsten Hopp 504b0d
  void AppendNumberToRedobuff __ARGS((long n));
Karsten Hopp 504b0d
  void stuffReadbuff __ARGS((char_u *s));
Karsten Hopp 504b0d
+ void stuffRedoReadbuff __ARGS((char_u *s));
Karsten Hopp 504b0d
  void stuffReadbuffLen __ARGS((char_u *s, long len));
Karsten Hopp 504b0d
  void stuffReadbuffSpec __ARGS((char_u *s));
Karsten Hopp 504b0d
  void stuffcharReadbuff __ARGS((int c));
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/edit.c	2014-07-23 17:39:21.815857910 +0200
Karsten Hopp 504b0d
--- src/edit.c	2014-07-30 14:47:56.875584895 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 8389,8395 ****
Karsten Hopp 504b0d
  
Karsten Hopp 504b0d
  	    (void)start_redo_ins();
Karsten Hopp 504b0d
  	    if (cmdchar == 'r' || cmdchar == 'v')
Karsten Hopp 504b0d
! 		stuffReadbuff(ESC_STR);	/* no ESC in redo buffer */
Karsten Hopp 504b0d
  	    ++RedrawingDisabled;
Karsten Hopp 504b0d
  	    disabled_redraw = TRUE;
Karsten Hopp 504b0d
  	    return FALSE;	/* repeat the insert */
Karsten Hopp 504b0d
--- 8389,8395 ----
Karsten Hopp 504b0d
  
Karsten Hopp 504b0d
  	    (void)start_redo_ins();
Karsten Hopp 504b0d
  	    if (cmdchar == 'r' || cmdchar == 'v')
Karsten Hopp 504b0d
! 		stuffRedoReadbuff(ESC_STR);	/* no ESC in redo buffer */
Karsten Hopp 504b0d
  	    ++RedrawingDisabled;
Karsten Hopp 504b0d
  	    disabled_redraw = TRUE;
Karsten Hopp 504b0d
  	    return FALSE;	/* repeat the insert */
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/testdir/Make_amiga.mak	2014-07-30 14:04:49.131603494 +0200
Karsten Hopp 504b0d
--- src/testdir/Make_amiga.mak	2014-07-30 15:57:52.819554737 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 43,48 ****
Karsten Hopp 504b0d
--- 43,49 ----
Karsten Hopp 504b0d
  		test_qf_title.out \
Karsten Hopp 504b0d
  		test_changelist.out \
Karsten Hopp 504b0d
  		test_eval.out \
Karsten Hopp 504b0d
+ 		test_insertcount.out \
Karsten Hopp 504b0d
  		test_options.out
Karsten Hopp 504b0d
  
Karsten Hopp 504b0d
  .SUFFIXES: .in .out
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 174,177 ****
Karsten Hopp 504b0d
--- 175,179 ----
Karsten Hopp 504b0d
  test_qf_title.out: test_qf_title.in
Karsten Hopp 504b0d
  test_changelist.out: test_changelist.in
Karsten Hopp 504b0d
  test_eval.out: test_eval.in
Karsten Hopp 504b0d
+ test_insertcount.out: test_insertcount.in
Karsten Hopp 504b0d
  test_options.out: test_options.in
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/testdir/Make_dos.mak	2014-07-30 14:04:49.131603494 +0200
Karsten Hopp 504b0d
--- src/testdir/Make_dos.mak	2014-07-30 15:57:59.071554692 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 42,47 ****
Karsten Hopp 504b0d
--- 42,48 ----
Karsten Hopp 504b0d
  		test_qf_title.out \
Karsten Hopp 504b0d
  		test_changelist.out \
Karsten Hopp 504b0d
  		test_eval.out \
Karsten Hopp 504b0d
+ 		test_insertcount.out \
Karsten Hopp 504b0d
  		test_options.out
Karsten Hopp 504b0d
  
Karsten Hopp 504b0d
  SCRIPTS32 =	test50.out test70.out
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/testdir/Make_ming.mak	2014-07-30 14:04:49.131603494 +0200
Karsten Hopp 504b0d
--- src/testdir/Make_ming.mak	2014-07-30 15:58:02.351554669 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 62,67 ****
Karsten Hopp 504b0d
--- 62,68 ----
Karsten Hopp 504b0d
  		test_qf_title.out \
Karsten Hopp 504b0d
  		test_changelist.out \
Karsten Hopp 504b0d
  		test_eval.out \
Karsten Hopp 504b0d
+ 		test_insertcount.out \
Karsten Hopp 504b0d
  		test_options.out
Karsten Hopp 504b0d
  
Karsten Hopp 504b0d
  SCRIPTS32 =	test50.out test70.out
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/testdir/Make_os2.mak	2014-07-30 14:04:49.131603494 +0200
Karsten Hopp 504b0d
--- src/testdir/Make_os2.mak	2014-07-30 15:58:05.975554643 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 40,45 ****
Karsten Hopp 504b0d
--- 40,46 ----
Karsten Hopp 504b0d
  		test_autoformat_join.out \
Karsten Hopp 504b0d
  		test_changelist.out \
Karsten Hopp 504b0d
  		test_eval.out \
Karsten Hopp 504b0d
+ 		test_insertcount.out \
Karsten Hopp 504b0d
  		test_breakindent.out \
Karsten Hopp 504b0d
  		test_listlbr.out \
Karsten Hopp 504b0d
  		test_listlbr_utf8.out \
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/testdir/Make_vms.mms	2014-07-30 14:04:49.131603494 +0200
Karsten Hopp 504b0d
--- src/testdir/Make_vms.mms	2014-07-30 15:58:10.099554613 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 103,108 ****
Karsten Hopp 504b0d
--- 103,109 ----
Karsten Hopp 504b0d
  	 test_qf_title.out \
Karsten Hopp 504b0d
  	 test_changelist.out \
Karsten Hopp 504b0d
  	 test_eval.out \
Karsten Hopp 504b0d
+ 	 test_insertcount.out \
Karsten Hopp 504b0d
  	 test_options.out
Karsten Hopp 504b0d
  
Karsten Hopp 504b0d
  # Known problems:
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/testdir/Makefile	2014-07-30 14:04:49.131603494 +0200
Karsten Hopp 504b0d
--- src/testdir/Makefile	2014-07-30 15:58:16.539554567 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 40,45 ****
Karsten Hopp 504b0d
--- 40,46 ----
Karsten Hopp 504b0d
  		test_qf_title.out \
Karsten Hopp 504b0d
  		test_changelist.out \
Karsten Hopp 504b0d
  		test_eval.out \
Karsten Hopp 504b0d
+ 		test_insertcount.out \
Karsten Hopp 504b0d
  		test_options.out
Karsten Hopp 504b0d
  
Karsten Hopp 504b0d
  SCRIPTS_GUI = test16.out
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/testdir/test_insertcount.in	2014-07-30 15:56:12.087555461 +0200
Karsten Hopp 504b0d
--- src/testdir/test_insertcount.in	2014-07-30 14:47:36.335585043 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 0 ****
Karsten Hopp 504b0d
--- 1,14 ----
Karsten Hopp 504b0d
+ Tests for repeating insert and replace.
Karsten Hopp 504b0d
+ 
Karsten Hopp 504b0d
+ STARTTEST
Karsten Hopp 504b0d
+ :so small.vim
Karsten Hopp 504b0d
+ :/Second
Karsten Hopp 504b0d
+ 4gro
Karsten Hopp 504b0d
+ :/^First/,$wq! test.out
Karsten Hopp 504b0d
+ :" get here when failed and in Insert mode
Karsten Hopp 504b0d
+ ?:.wq! test.out
Karsten Hopp 504b0d
+ ENDTEST
Karsten Hopp 504b0d
+ 
Karsten Hopp 504b0d
+ First line
Karsten Hopp 504b0d
+ Second line
Karsten Hopp 504b0d
+ Last line
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/testdir/test_insertcount.ok	2014-07-30 15:56:12.091555461 +0200
Karsten Hopp 504b0d
--- src/testdir/test_insertcount.ok	2014-07-30 14:45:43.491585854 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 0 ****
Karsten Hopp 504b0d
--- 1,3 ----
Karsten Hopp 504b0d
+ First line
Karsten Hopp 504b0d
+ ooooecond line
Karsten Hopp 504b0d
+ Last line
Karsten Hopp 504b0d
*** ../vim-7.4.386/src/version.c	2014-07-30 14:04:49.131603494 +0200
Karsten Hopp 504b0d
--- src/version.c	2014-07-30 14:48:45.039584549 +0200
Karsten Hopp 504b0d
***************
Karsten Hopp 504b0d
*** 736,737 ****
Karsten Hopp 504b0d
--- 736,739 ----
Karsten Hopp 504b0d
  {   /* Add new patch number below this line */
Karsten Hopp 504b0d
+ /**/
Karsten Hopp 504b0d
+     387,
Karsten Hopp 504b0d
  /**/
Karsten Hopp 504b0d
Karsten Hopp 504b0d
-- 
Karsten Hopp 504b0d
If your company is not involved in something called "ISO 9000" you probably
Karsten Hopp 504b0d
have no idea what it is.  If your company _is_ involved in ISO 9000 then you
Karsten Hopp 504b0d
definitely have no idea what it is.
Karsten Hopp 504b0d
				(Scott Adams - The Dilbert principle)
Karsten Hopp 504b0d
Karsten Hopp 504b0d
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 504b0d
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 504b0d
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 504b0d
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///