To: vim-dev@vim.org Subject: patch 7.1.105 Fcc: outbox From: Bram Moolenaar 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 ///