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