Re: E685: Internal error: hash_add() happen when assigning autoload variable

2014-01-06 Fir de Conversatie Yukihiro Nakadaira
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:

Re: E685: Internal error: hash_add() happen when assigning autoload variable

2014-01-06 Fir de Conversatie ZyX
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

Re: E685: Internal error: hash_add() happen when assigning autoload variable

2014-01-06 Fir de Conversatie Yukihiro Nakadaira
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

Re: E685: Internal error: hash_add() happen when assigning autoload variable

2014-01-06 Fir de Conversatie ZyX
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

Re: E685: Internal error: hash_add() happen when assigning autoload variable

2014-01-06 Fir de Conversatie ZyX
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

Re: E685: Internal error: hash_add() happen when assigning autoload variable

2014-01-05 Fir de Conversatie Bram Moolenaar
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,

Re: E685: Internal error: hash_add() happen when assigning autoload variable

2014-01-05 Fir de Conversatie Nikolay Pavlov
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

E685: Internal error: hash_add() happen when assigning autoload variable

2013-12-31 Fir de Conversatie Yukihiro Nakadaira
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