On Sun, Jan 5, 2014 at 11:44 PM, Nikolay Pavlov zyx@gmail.com wrote:
On Jan 1, 2014 9:47 AM, Yukihiro Nakadaira yukihiro.nakada...@gmail.com
wrote:
Steps to reproduce:
$ cat ~/.vim/autoload/Foo.vim
let Foo#x = 0
$ vim -u NONE -N
:let Foo#x = function('tr')
E685:
Yes, I am.
You should not be.
let d={}
echo exists('*d[extend(g:, {Foo#x: function(tr)})]')
. f_exists() sets no_autoload to TRUE, dict_extend() runs var_check_func_name()
which you have modified setting it back to FALSE before f_exists ends. f_exists
should by the way save
On Tue, Jan 7, 2014 at 5:33 AM, ZyX zyx@gmail.com wrote:
Yes, I am.
You should not be.
let d={}
echo exists('*d[extend(g:, {Foo#x: function(tr)})]')
. f_exists() sets no_autoload to TRUE, dict_extend() runs
var_check_func_name() which you have modified setting it back to
Thank you for finding it out. I didn't notice it.
Perhaps there is another problem that exists('x[y#z()]') doesn't trigger
autoload.
There is. The very good probability of such bugs is one of the reasons why I
did not even consider adding similar global in extended funcref patch when I
There is. The very good probability of such bugs is one of the reasons why I
did not even consider adding similar global in extended funcref patch when I
encountered similar problems (and removed no_autoload from there once it got
my attention).
This patch replaces global with arguments in
Yukihiro -
Steps to reproduce:
$ cat ~/.vim/autoload/Foo.vim
let Foo#x = 0
$ vim -u NONE -N
:let Foo#x = function('tr')
E685: Internal error: hash_add()
eval.c:set_var()
- var_check_func_name()Foo.vim is loaded and Foo#x is created.
- hash_add() error,
On Jan 1, 2014 9:47 AM, Yukihiro Nakadaira yukihiro.nakada...@gmail.com
wrote:
Steps to reproduce:
$ cat ~/.vim/autoload/Foo.vim
let Foo#x = 0
$ vim -u NONE -N
:let Foo#x = function('tr')
E685: Internal error: hash_add()
eval.c:set_var()
- var_check_func_name()Foo.vim is
Steps to reproduce:
$ cat ~/.vim/autoload/Foo.vim
let Foo#x = 0
$ vim -u NONE -N
:let Foo#x = function('tr')
E685: Internal error: hash_add()
eval.c:set_var()
- var_check_func_name()Foo.vim is loaded and Foo#x is created.
- hash_add() error, because Foo#x is