Blame SOURCES/7.4.098

d6ba96
To: vim_dev@googlegroups.com
d6ba96
Subject: Patch 7.4.098
d6ba96
Fcc: outbox
d6ba96
From: Bram Moolenaar <Bram@moolenaar.net>
d6ba96
Mime-Version: 1.0
d6ba96
Content-Type: text/plain; charset=UTF-8
d6ba96
Content-Transfer-Encoding: 8bit
d6ba96
------------
d6ba96
d6ba96
Patch 7.4.098
d6ba96
Problem:    When using ":'<,'>del" errors may be given for the visual line
d6ba96
            numbers being out of range.
d6ba96
Solution:   Reset Visual mode in ":del". (Lech Lorens)
d6ba96
Files:      src/ex_docmd.c, src/testdir/test103.in, src/testdir/test103.ok,
d6ba96
            src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
d6ba96
            src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
d6ba96
            src/testdir/Make_vms.mms, src/testdir/Makefile
d6ba96
d6ba96
d6ba96
*** ../vim-7.4.097/src/ex_docmd.c	2013-11-09 05:30:18.000000000 +0100
d6ba96
--- src/ex_docmd.c	2013-11-21 14:04:55.000000000 +0100
d6ba96
***************
d6ba96
*** 8570,8575 ****
d6ba96
--- 8570,8580 ----
d6ba96
  	beginline(BL_SOL | BL_FIX);
d6ba96
      }
d6ba96
  
d6ba96
+ #if defined(FEAT_VISUAL)
d6ba96
+     if (VIsual_active)
d6ba96
+ 	end_visual_mode();
d6ba96
+ #endif
d6ba96
+ 
d6ba96
      switch (eap->cmdidx)
d6ba96
      {
d6ba96
  	case CMD_delete:
d6ba96
*** ../vim-7.4.097/src/testdir/test103.in	2013-11-21 14:21:12.000000000 +0100
d6ba96
--- src/testdir/test103.in	2013-11-21 14:02:09.000000000 +0100
d6ba96
***************
d6ba96
*** 0 ****
d6ba96
--- 1,37 ----
d6ba96
+ Test for visual mode not being reset causing E315 error.
d6ba96
+ STARTTEST
d6ba96
+ :so small.vim
d6ba96
+ :enew
d6ba96
+ :let g:msg="Everything's fine."
d6ba96
+ :function! TriggerTheProblem()
d6ba96
+ :	" At this point there is no visual selection because :call reset it.
d6ba96
+ :	" Let's restore the selection:
d6ba96
+ :	normal gv
d6ba96
+ :	'<,'>del _
d6ba96
+ :	try
d6ba96
+ :		exe "normal \<Esc>"
d6ba96
+ :	catch /^Vim\%((\a\+)\)\=:E315/
d6ba96
+ :		echom 'Snap! E315 error!'
d6ba96
+ :		let g:msg='Snap! E315 error!'
d6ba96
+ :	endtry
d6ba96
+ :endfunction
d6ba96
+ :enew
d6ba96
+ :setl buftype=nofile
d6ba96
+ :call append(line('$'), 'Delete this line.')
d6ba96
+ :"
d6ba96
+ :"
d6ba96
+ :" NOTE: this has to be done by a call to a function because executing :del the
d6ba96
+ :"       ex-way will require the colon operator which resets the visual mode thus
d6ba96
+ :"       preventing the problem:
d6ba96
+ :"
d6ba96
+ GV:call TriggerTheProblem()
d6ba96
+ :%del _
d6ba96
+ :call append(line('$'), g:msg)
d6ba96
+ :w! test.out
d6ba96
+ :brewind
d6ba96
+ ENDTEST
d6ba96
+ 
d6ba96
+ STARTTEST
d6ba96
+ :qa!
d6ba96
+ ENDTEST
d6ba96
+ 
d6ba96
*** ../vim-7.4.097/src/testdir/test103.ok	2013-11-21 14:21:12.000000000 +0100
d6ba96
--- src/testdir/test103.ok	2013-11-21 14:02:28.000000000 +0100
d6ba96
***************
d6ba96
*** 0 ****
d6ba96
--- 1,2 ----
d6ba96
+ 
d6ba96
+ Everything's fine.
d6ba96
*** ../vim-7.4.097/src/testdir/Make_amiga.mak	2013-11-12 05:28:08.000000000 +0100
d6ba96
--- src/testdir/Make_amiga.mak	2013-11-21 14:02:51.000000000 +0100
d6ba96
***************
d6ba96
*** 34,40 ****
d6ba96
  		test81.out test82.out test83.out test84.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test97.out test98.out \
d6ba96
! 		test99.out test100.out test101.out test102.out
d6ba96
  
d6ba96
  .SUFFIXES: .in .out
d6ba96
  
d6ba96
--- 34,40 ----
d6ba96
  		test81.out test82.out test83.out test84.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test97.out test98.out \
d6ba96
! 		test99.out test100.out test101.out test102.out test103.out
d6ba96
  
d6ba96
  .SUFFIXES: .in .out
d6ba96
  
d6ba96
***************
d6ba96
*** 153,155 ****
d6ba96
--- 153,156 ----
d6ba96
  test100.out: test100.in
d6ba96
  test101.out: test101.in
d6ba96
  test102.out: test102.in
d6ba96
+ test103.out: test103.in
d6ba96
*** ../vim-7.4.097/src/testdir/Make_dos.mak	2013-11-12 05:28:08.000000000 +0100
d6ba96
--- src/testdir/Make_dos.mak	2013-11-21 14:02:58.000000000 +0100
d6ba96
***************
d6ba96
*** 33,39 ****
d6ba96
  		test84.out test85.out test86.out test87.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test98.out test99.out \
d6ba96
! 		test100.out test101.out test102.out
d6ba96
  
d6ba96
  SCRIPTS32 =	test50.out test70.out
d6ba96
  
d6ba96
--- 33,39 ----
d6ba96
  		test84.out test85.out test86.out test87.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test98.out test99.out \
d6ba96
! 		test100.out test101.out test102.out test103.out
d6ba96
  
d6ba96
  SCRIPTS32 =	test50.out test70.out
d6ba96
  
d6ba96
*** ../vim-7.4.097/src/testdir/Make_ming.mak	2013-11-12 05:28:08.000000000 +0100
d6ba96
--- src/testdir/Make_ming.mak	2013-11-21 14:03:01.000000000 +0100
d6ba96
***************
d6ba96
*** 53,59 ****
d6ba96
  		test84.out test85.out test86.out test87.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test98.out test99.out \
d6ba96
! 		test100out test101.out test102.out
d6ba96
  
d6ba96
  SCRIPTS32 =	test50.out test70.out
d6ba96
  
d6ba96
--- 53,59 ----
d6ba96
  		test84.out test85.out test86.out test87.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test98.out test99.out \
d6ba96
! 		test100out test101.out test102.out test103.out
d6ba96
  
d6ba96
  SCRIPTS32 =	test50.out test70.out
d6ba96
  
d6ba96
*** ../vim-7.4.097/src/testdir/Make_os2.mak	2013-11-12 05:28:08.000000000 +0100
d6ba96
--- src/testdir/Make_os2.mak	2013-11-21 14:03:03.000000000 +0100
d6ba96
***************
d6ba96
*** 35,41 ****
d6ba96
  		test81.out test82.out test83.out test84.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test98.out test99.out \
d6ba96
! 		test100.out test101.out test102.out
d6ba96
  
d6ba96
  .SUFFIXES: .in .out
d6ba96
  
d6ba96
--- 35,41 ----
d6ba96
  		test81.out test82.out test83.out test84.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test98.out test99.out \
d6ba96
! 		test100.out test101.out test102.out test103.out
d6ba96
  
d6ba96
  .SUFFIXES: .in .out
d6ba96
  
d6ba96
*** ../vim-7.4.097/src/testdir/Make_vms.mms	2013-11-12 05:28:08.000000000 +0100
d6ba96
--- src/testdir/Make_vms.mms	2013-11-21 14:03:13.000000000 +0100
d6ba96
***************
d6ba96
*** 4,10 ****
d6ba96
  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
d6ba96
  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
d6ba96
  #
d6ba96
! # Last change:  2013 Nov 12
d6ba96
  #
d6ba96
  # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
d6ba96
  # Edit the lines in the Configuration section below to select.
d6ba96
--- 4,10 ----
d6ba96
  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
d6ba96
  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
d6ba96
  #
d6ba96
! # Last change:  2013 Nov 21
d6ba96
  #
d6ba96
  # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
d6ba96
  # Edit the lines in the Configuration section below to select.
d6ba96
***************
d6ba96
*** 79,85 ****
d6ba96
  	 test82.out test83.out test84.out test88.out test89.out \
d6ba96
  	 test90.out test91.out test92.out test93.out test94.out \
d6ba96
  	 test95.out test96.out test97.out test98.out test99.out \
d6ba96
! 	 test100.out test101.out test102.out
d6ba96
  
d6ba96
  # Known problems:
d6ba96
  # Test 30: a problem around mac format - unknown reason
d6ba96
--- 79,85 ----
d6ba96
  	 test82.out test83.out test84.out test88.out test89.out \
d6ba96
  	 test90.out test91.out test92.out test93.out test94.out \
d6ba96
  	 test95.out test96.out test97.out test98.out test99.out \
d6ba96
! 	 test100.out test101.out test102.out test103.out
d6ba96
  
d6ba96
  # Known problems:
d6ba96
  # Test 30: a problem around mac format - unknown reason
d6ba96
*** ../vim-7.4.097/src/testdir/Makefile	2013-11-12 05:28:08.000000000 +0100
d6ba96
--- src/testdir/Makefile	2013-11-21 14:03:23.000000000 +0100
d6ba96
***************
d6ba96
*** 30,36 ****
d6ba96
  		test84.out test85.out test86.out test87.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test97.out test98.out \
d6ba96
! 		test99.out test100.out test101.out test102.out
d6ba96
  
d6ba96
  SCRIPTS_GUI = test16.out
d6ba96
  
d6ba96
--- 30,36 ----
d6ba96
  		test84.out test85.out test86.out test87.out test88.out \
d6ba96
  		test89.out test90.out test91.out test92.out test93.out \
d6ba96
  		test94.out test95.out test96.out test97.out test98.out \
d6ba96
! 		test99.out test100.out test101.out test102.out test103.out
d6ba96
  
d6ba96
  SCRIPTS_GUI = test16.out
d6ba96
  
d6ba96
*** ../vim-7.4.097/src/version.c	2013-11-21 13:24:36.000000000 +0100
d6ba96
--- src/version.c	2013-11-21 14:20:34.000000000 +0100
d6ba96
***************
d6ba96
*** 740,741 ****
d6ba96
--- 740,743 ----
d6ba96
  {   /* Add new patch number below this line */
d6ba96
+ /**/
d6ba96
+     98,
d6ba96
  /**/
d6ba96
d6ba96
-- 
d6ba96
I recommend ordering large cargo containers of paper towels to make up
d6ba96
whatever budget underruns you have.  Paper products are always useful and they
d6ba96
have the advantage of being completely flushable if you need to make room in
d6ba96
the storage area later.
d6ba96
				(Scott Adams - The Dilbert principle)
d6ba96
d6ba96
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
d6ba96
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
d6ba96
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
d6ba96
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///