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