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