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