diff --git a/7.3.097 b/7.3.097 new file mode 100644 index 0000000..2ee20a3 --- /dev/null +++ b/7.3.097 @@ -0,0 +1,54 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.097 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.097 +Problem: Using ":call" inside "if 0" does not see that a function returns a + Dict and gives error for "." as string concatenation. +Solution: Use eval0() to skip over the expression. (Yasuhiro Matsumoto) +Files: src/eval.c + + +*** ../vim-7.3.096/src/eval.c 2010-12-17 18:06:00.000000000 +0100 +--- src/eval.c 2011-01-04 18:54:27.000000000 +0100 +*************** +*** 3335,3340 **** +--- 3335,3349 ---- + int failed = FALSE; + funcdict_T fudi; + ++ if (eap->skip) ++ { ++ /* trans_function_name() doesn't work well when skipping, use eval0() ++ * instead to skip to any following command, e.g. for: ++ * :if 0 | call dict.foo().bar() | endif */ ++ eval0(eap->arg, &rettv, &eap->nextcmd, FALSE); ++ return; ++ } ++ + tofree = trans_function_name(&arg, eap->skip, TFN_INT, &fudi); + if (fudi.fd_newkey != NULL) + { +*** ../vim-7.3.096/src/version.c 2011-01-04 18:11:39.000000000 +0100 +--- src/version.c 2011-01-04 19:00:21.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 97, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +86. E-mail Deficiency Depression (EDD) forces you to e-mail yourself. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///