Blame SOURCES/7.4.541

22c937
To: vim_dev@googlegroups.com
22c937
Subject: Patch 7.4.541
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.541
22c937
Problem:    Crash when doing a range assign.
22c937
Solution:   Check for NULL poiter. (Yukihiro Nakadaira)
22c937
Files:	    src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
22c937
22c937
22c937
*** ../vim-7.4.540/src/eval.c	2014-11-19 20:04:43.656099839 +0100
22c937
--- src/eval.c	2014-12-07 00:05:47.404278920 +0100
22c937
***************
22c937
*** 2951,2957 ****
22c937
  	/*
22c937
  	 * Check whether any of the list items is locked
22c937
  	 */
22c937
! 	for (ri = rettv->vval.v_list->lv_first; ri != NULL; )
22c937
  	{
22c937
  	    if (tv_check_lock(ll_li->li_tv.v_lock, lp->ll_name))
22c937
  		return;
22c937
--- 2951,2957 ----
22c937
  	/*
22c937
  	 * Check whether any of the list items is locked
22c937
  	 */
22c937
! 	for (ri = rettv->vval.v_list->lv_first; ri != NULL && ll_li != NULL; )
22c937
  	{
22c937
  	    if (tv_check_lock(ll_li->li_tv.v_lock, lp->ll_name))
22c937
  		return;
22c937
*** ../vim-7.4.540/src/testdir/test55.in	2014-08-29 09:46:04.262404970 +0200
22c937
--- src/testdir/test55.in	2014-12-07 00:04:41.892976604 +0100
22c937
***************
22c937
*** 401,406 ****
22c937
--- 401,411 ----
22c937
  :  $put =v:exception[:15] . v:exception[-1:-1]
22c937
  :endtry
22c937
  :$put =string(d)
22c937
+ :"
22c937
+ :" test for range assign
22c937
+ :let l = [0]
22c937
+ :let l[:] = [1, 2]
22c937
+ :$put =string(l)
22c937
  :endfun
22c937
  :"
22c937
  :call Test(1, 2, [3, 4], {5: 6})  " This may take a while
22c937
*** ../vim-7.4.540/src/testdir/test55.ok	2014-08-29 09:46:04.266404970 +0200
22c937
--- src/testdir/test55.ok	2014-12-07 00:05:08.208695651 +0100
22c937
***************
22c937
*** 129,134 ****
22c937
--- 129,135 ----
22c937
  {'a': {'b': 'B'}}
22c937
  Vim(call):E737: a
22c937
  {'a': {'b': 'B'}}
22c937
+ [1, 2]
22c937
  Vim(foldopen):E490:
22c937
  
22c937
  
22c937
*** ../vim-7.4.540/src/version.c	2014-11-30 22:51:00.629191482 +0100
22c937
--- src/version.c	2014-12-07 00:04:11.237300854 +0100
22c937
***************
22c937
*** 743,744 ****
22c937
--- 743,746 ----
22c937
  {   /* Add new patch number below this line */
22c937
+ /**/
22c937
+     541,
22c937
  /**/
22c937
22c937
-- 
22c937
Any resemblance between the above views and those of my employer, my terminal,
22c937
or the view out my window are purely coincidental.  Any resemblance between
22c937
the above and my own views is non-deterministic.  The question of the
22c937
existence of views in the absence of anyone to hold them is left as an
22c937
exercise for the reader.  The question of the existence of the reader is left
22c937
as an exercise for the second god coefficient.  (A discussion of
22c937
non-orthogonal, non-integral polytheism is beyond the scope of this article.)
22c937
						(Ralph Jennings)
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    ///