Karsten Hopp cf64b2
To: vim-dev@vim.org
Karsten Hopp cf64b2
Subject: patch 7.1.105
Karsten Hopp cf64b2
Fcc: outbox
Karsten Hopp cf64b2
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp cf64b2
Mime-Version: 1.0
Karsten Hopp cf64b2
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp cf64b2
Content-Transfer-Encoding: 8bit
Karsten Hopp cf64b2
------------
Karsten Hopp cf64b2
Karsten Hopp cf64b2
Patch 7.1.105
Karsten Hopp cf64b2
Problem:    Internal error when using "0 ? {'a': 1} : {}". (A.Politz)
Karsten Hopp cf64b2
Solution:   When parsing a dictionary value without using the value, don't try
Karsten Hopp cf64b2
	    obtaining the key name.
Karsten Hopp cf64b2
Files:	    src/eval.c
Karsten Hopp cf64b2
Karsten Hopp cf64b2
Karsten Hopp cf64b2
*** ../vim-7.1.104/src/eval.c	Thu Sep  6 14:25:50 2007
Karsten Hopp cf64b2
--- src/eval.c	Thu Sep 13 20:29:31 2007
Karsten Hopp cf64b2
***************
Karsten Hopp cf64b2
*** 6746,6765 ****
Karsten Hopp cf64b2
  	    clear_tv(&tvkey);
Karsten Hopp cf64b2
  	    goto failret;
Karsten Hopp cf64b2
  	}
Karsten Hopp cf64b2
! 	key = get_tv_string_buf_chk(&tvkey, buf);
Karsten Hopp cf64b2
! 	if (key == NULL || *key == NUL)
Karsten Hopp cf64b2
  	{
Karsten Hopp cf64b2
! 	    /* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */
Karsten Hopp cf64b2
! 	    if (key != NULL)
Karsten Hopp cf64b2
! 		EMSG(_(e_emptykey));
Karsten Hopp cf64b2
! 	    clear_tv(&tvkey);
Karsten Hopp cf64b2
! 	    goto failret;
Karsten Hopp cf64b2
  	}
Karsten Hopp cf64b2
  
Karsten Hopp cf64b2
  	*arg = skipwhite(*arg + 1);
Karsten Hopp cf64b2
  	if (eval1(arg, &tv, evaluate) == FAIL)	/* recursive! */
Karsten Hopp cf64b2
  	{
Karsten Hopp cf64b2
! 	    clear_tv(&tvkey);
Karsten Hopp cf64b2
  	    goto failret;
Karsten Hopp cf64b2
  	}
Karsten Hopp cf64b2
  	if (evaluate)
Karsten Hopp cf64b2
--- 6746,6769 ----
Karsten Hopp cf64b2
  	    clear_tv(&tvkey);
Karsten Hopp cf64b2
  	    goto failret;
Karsten Hopp cf64b2
  	}
Karsten Hopp cf64b2
! 	if (evaluate)
Karsten Hopp cf64b2
  	{
Karsten Hopp cf64b2
! 	    key = get_tv_string_buf_chk(&tvkey, buf);
Karsten Hopp cf64b2
! 	    if (key == NULL || *key == NUL)
Karsten Hopp cf64b2
! 	    {
Karsten Hopp cf64b2
! 		/* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */
Karsten Hopp cf64b2
! 		if (key != NULL)
Karsten Hopp cf64b2
! 		    EMSG(_(e_emptykey));
Karsten Hopp cf64b2
! 		clear_tv(&tvkey);
Karsten Hopp cf64b2
! 		goto failret;
Karsten Hopp cf64b2
! 	    }
Karsten Hopp cf64b2
  	}
Karsten Hopp cf64b2
  
Karsten Hopp cf64b2
  	*arg = skipwhite(*arg + 1);
Karsten Hopp cf64b2
  	if (eval1(arg, &tv, evaluate) == FAIL)	/* recursive! */
Karsten Hopp cf64b2
  	{
Karsten Hopp cf64b2
! 	    if (evaluate)
Karsten Hopp cf64b2
! 		clear_tv(&tvkey);
Karsten Hopp cf64b2
  	    goto failret;
Karsten Hopp cf64b2
  	}
Karsten Hopp cf64b2
  	if (evaluate)
Karsten Hopp cf64b2
*** ../vim-7.1.104/src/version.c	Thu Sep 13 18:25:08 2007
Karsten Hopp cf64b2
--- src/version.c	Thu Sep 13 20:36:38 2007
Karsten Hopp cf64b2
***************
Karsten Hopp cf64b2
*** 668,669 ****
Karsten Hopp cf64b2
--- 668,671 ----
Karsten Hopp cf64b2
  {   /* Add new patch number below this line */
Karsten Hopp cf64b2
+ /**/
Karsten Hopp cf64b2
+     105,
Karsten Hopp cf64b2
  /**/
Karsten Hopp cf64b2
Karsten Hopp cf64b2
-- 
Karsten Hopp cf64b2
DENNIS:  Listen -- strange women lying in ponds distributing swords is no
Karsten Hopp cf64b2
         basis for a system of government.  Supreme executive power derives
Karsten Hopp cf64b2
         from a mandate from the masses, not from some farcical aquatic
Karsten Hopp cf64b2
         ceremony.
Karsten Hopp cf64b2
                                  The Quest for the Holy Grail (Monty Python)
Karsten Hopp cf64b2
Karsten Hopp cf64b2
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp cf64b2
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp cf64b2
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp cf64b2
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///