patch 8.0.1377: cannot call a dict function in autoloaded dict
Problem: Cannot call a dict function in autoloaded dict.
Solution: Call get_lval() passing the read-only flag.
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index df79e9a..5d5fccf 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -73,6 +73,7 @@
test_assert.res \
test_autochdir.res \
test_autocmd.res \
+ test_autoload.res \
test_backspace_opt.res \
test_breakindent.res \
test_bufwintabinfo.res \
diff --git a/src/testdir/sautest/autoload/foo.vim b/src/testdir/sautest/autoload/foo.vim
new file mode 100644
index 0000000..d7dcd5c
--- /dev/null
+++ b/src/testdir/sautest/autoload/foo.vim
@@ -0,0 +1,7 @@
+let g:loaded_foo_vim += 1
+
+let foo#bar = {}
+
+func foo#bar.echo()
+ let g:called_foo_bar_echo += 1
+endfunc
diff --git a/src/testdir/sautest/autoload/globone.vim b/src/testdir/sautest/autoload/globone.vim
new file mode 100644
index 0000000..98c9a10
--- /dev/null
+++ b/src/testdir/sautest/autoload/globone.vim
@@ -0,0 +1 @@
+" used by Test_globpath()
diff --git a/src/testdir/sautest/autoload/globtwo.vim b/src/testdir/sautest/autoload/globtwo.vim
new file mode 100644
index 0000000..98c9a10
--- /dev/null
+++ b/src/testdir/sautest/autoload/globtwo.vim
@@ -0,0 +1 @@
+" used by Test_globpath()
diff --git a/src/testdir/test_autoload.vim b/src/testdir/test_autoload.vim
new file mode 100644
index 0000000..a92851f
--- /dev/null
+++ b/src/testdir/test_autoload.vim
@@ -0,0 +1,11 @@
+" Tests for autoload
+
+set runtimepath=./sautest
+
+func! Test_autoload_dict_func()
+ let g:loaded_foo_vim = 0
+ let g:called_foo_bar_echo = 0
+ call g:foo#bar.echo()
+ call assert_equal(1, g:loaded_foo_vim)
+ call assert_equal(1, g:called_foo_bar_echo)
+endfunc
diff --git a/src/testdir/test_escaped_glob.vim b/src/testdir/test_escaped_glob.vim
index b91c6e7..e0723da 100644
--- a/src/testdir/test_escaped_glob.vim
+++ b/src/testdir/test_escaped_glob.vim
@@ -25,8 +25,8 @@
endfunction
function Test_globpath()
- call assert_equal("sautest/autoload/Test104.vim\nsautest/autoload/footest.vim",
- \ globpath('sautest/autoload', '*.vim'))
- call assert_equal(['sautest/autoload/Test104.vim', 'sautest/autoload/footest.vim'],
- \ globpath('sautest/autoload', '*.vim', 0, 1))
+ call assert_equal("sautest/autoload/globone.vim\nsautest/autoload/globtwo.vim",
+ \ globpath('sautest/autoload', 'glob*.vim'))
+ call assert_equal(['sautest/autoload/globone.vim', 'sautest/autoload/globtwo.vim'],
+ \ globpath('sautest/autoload', 'glob*.vim', 0, 1))
endfunction