Blob Blame History Raw
To: vim-dev@vim.org
Subject: patch 7.1.105
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------

Patch 7.1.105
Problem:    Internal error when using "0 ? {'a': 1} : {}". (A.Politz)
Solution:   When parsing a dictionary value without using the value, don't try
	    obtaining the key name.
Files:	    src/eval.c


*** ../vim-7.1.104/src/eval.c	Thu Sep  6 14:25:50 2007
--- src/eval.c	Thu Sep 13 20:29:31 2007
***************
*** 6746,6765 ****
  	    clear_tv(&tvkey);
  	    goto failret;
  	}
! 	key = get_tv_string_buf_chk(&tvkey, buf);
! 	if (key == NULL || *key == NUL)
  	{
! 	    /* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */
! 	    if (key != NULL)
! 		EMSG(_(e_emptykey));
! 	    clear_tv(&tvkey);
! 	    goto failret;
  	}
  
  	*arg = skipwhite(*arg + 1);
  	if (eval1(arg, &tv, evaluate) == FAIL)	/* recursive! */
  	{
! 	    clear_tv(&tvkey);
  	    goto failret;
  	}
  	if (evaluate)
--- 6746,6769 ----
  	    clear_tv(&tvkey);
  	    goto failret;
  	}
! 	if (evaluate)
  	{
! 	    key = get_tv_string_buf_chk(&tvkey, buf);
! 	    if (key == NULL || *key == NUL)
! 	    {
! 		/* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */
! 		if (key != NULL)
! 		    EMSG(_(e_emptykey));
! 		clear_tv(&tvkey);
! 		goto failret;
! 	    }
  	}
  
  	*arg = skipwhite(*arg + 1);
  	if (eval1(arg, &tv, evaluate) == FAIL)	/* recursive! */
  	{
! 	    if (evaluate)
! 		clear_tv(&tvkey);
  	    goto failret;
  	}
  	if (evaluate)
*** ../vim-7.1.104/src/version.c	Thu Sep 13 18:25:08 2007
--- src/version.c	Thu Sep 13 20:36:38 2007
***************
*** 668,669 ****
--- 668,671 ----
  {   /* Add new patch number below this line */
+ /**/
+     105,
  /**/

-- 
DENNIS:  Listen -- strange women lying in ponds distributing swords is no
         basis for a system of government.  Supreme executive power derives
         from a mandate from the masses, not from some farcical aquatic
         ceremony.
                                  The Quest for the Holy Grail (Monty Python)

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///