On Wed, Jan 15, 2014 at 3:44 AM, Bram Moolenaar <b...@moolenaar.net> wrote:

>
> Yukihiro Nakadaira wrote:
>
> > > Patch 7.4.149
> > > Problem:    Get E685 error when assigning a function to an autoload
> > > variable.
> > >             (Yukihiro Nakadaira)
> > > Solution:   Instead of having a global no_autoload variable, pass an
> > > autoload
> > >             flag down to where it is used. (ZyX)
> > > Files:      src/eval.c, src/testdir/test55.in, src/testdir/test55.ok,
> > >             src/testdir/test60.in, src/testdir/test60.ok,
> > >             src/testdir/sautest/autoload/footest.vim
> > >
> >
> > Sorry for my late reply.  It need additional no_autoload to fix the
> > problem.
>
> Thanks.  Perhaps we can add a test for your problem?


I wrote test for it.  Please check the attached patch.

-- 
Yukihiro Nakadaira - yukihiro.nakada...@gmail.com

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
diff -r a42040fed96c src/testdir/Make_amiga.mak
--- a/src/testdir/Make_amiga.mak        Tue Jan 14 21:31:34 2014 +0100
+++ b/src/testdir/Make_amiga.mak        Wed Jan 15 11:51:47 2014 +0900
@@ -34,7 +34,8 @@
                test81.out test82.out test83.out test84.out test88.out \
                test89.out test90.out test91.out test92.out test93.out \
                test94.out test95.out test96.out test97.out test98.out \
-               test99.out test100.out test101.out test102.out test103.out
+               test99.out test100.out test101.out test102.out test103.out \
+               test104.out
 
 .SUFFIXES: .in .out
 
@@ -154,3 +155,4 @@
 test101.out: test101.in
 test102.out: test102.in
 test103.out: test103.in
+test104.out: test104.in
diff -r a42040fed96c src/testdir/Make_dos.mak
--- a/src/testdir/Make_dos.mak  Tue Jan 14 21:31:34 2014 +0100
+++ b/src/testdir/Make_dos.mak  Wed Jan 15 11:51:47 2014 +0900
@@ -33,7 +33,7 @@
                test84.out test85.out test86.out test87.out test88.out \
                test89.out test90.out test91.out test92.out test93.out \
                test94.out test95.out test96.out test98.out test99.out \
-               test100.out test101.out test102.out test103.out
+               test100.out test101.out test102.out test103.out test104.out
 
 SCRIPTS32 =    test50.out test70.out
 
diff -r a42040fed96c src/testdir/Make_ming.mak
--- a/src/testdir/Make_ming.mak Tue Jan 14 21:31:34 2014 +0100
+++ b/src/testdir/Make_ming.mak Wed Jan 15 11:51:47 2014 +0900
@@ -53,7 +53,7 @@
                test84.out test85.out test86.out test87.out test88.out \
                test89.out test90.out test91.out test92.out test93.out \
                test94.out test95.out test96.out test98.out test99.out \
-               test100.out test101.out test102.out test103.out
+               test100.out test101.out test102.out test103.out test104.out
 
 SCRIPTS32 =    test50.out test70.out
 
diff -r a42040fed96c src/testdir/Make_os2.mak
--- a/src/testdir/Make_os2.mak  Tue Jan 14 21:31:34 2014 +0100
+++ b/src/testdir/Make_os2.mak  Wed Jan 15 11:51:47 2014 +0900
@@ -35,7 +35,7 @@
                test81.out test82.out test83.out test84.out test88.out \
                test89.out test90.out test91.out test92.out test93.out \
                test94.out test95.out test96.out test98.out test99.out \
-               test100.out test101.out test102.out test103.out
+               test100.out test101.out test102.out test103.out test104.out
 
 .SUFFIXES: .in .out
 
diff -r a42040fed96c src/testdir/Make_vms.mms
--- a/src/testdir/Make_vms.mms  Tue Jan 14 21:31:34 2014 +0100
+++ b/src/testdir/Make_vms.mms  Wed Jan 15 11:51:47 2014 +0900
@@ -79,7 +79,7 @@
         test82.out test83.out test84.out test88.out test89.out \
         test90.out test91.out test92.out test93.out test94.out \
         test95.out test96.out test97.out test98.out test99.out \
-        test100.out test101.out test102.out test103.out
+        test100.out test101.out test102.out test103.out test104.out
 
 # Known problems:
 # Test 30: a problem around mac format - unknown reason
diff -r a42040fed96c src/testdir/Makefile
--- a/src/testdir/Makefile      Tue Jan 14 21:31:34 2014 +0100
+++ b/src/testdir/Makefile      Wed Jan 15 11:51:47 2014 +0900
@@ -30,7 +30,8 @@
                test84.out test85.out test86.out test87.out test88.out \
                test89.out test90.out test91.out test92.out test93.out \
                test94.out test95.out test96.out test97.out test98.out \
-               test99.out test100.out test101.out test102.out test103.out
+               test99.out test100.out test101.out test102.out test103.out \
+               test104.out
 
 SCRIPTS_GUI = test16.out
 
diff -r a42040fed96c src/testdir/sautest/autoload/Test104.vim
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src/testdir/sautest/autoload/Test104.vim  Wed Jan 15 11:51:47 2014 +0900
@@ -0,0 +1,1 @@
+let Test104#numvar = 123
diff -r a42040fed96c src/testdir/test104.in
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src/testdir/test104.in    Wed Jan 15 11:51:47 2014 +0900
@@ -0,0 +1,16 @@
+Tests for autoload.  vim: set ft=vim ts=8 :
+
+STARTTEST
+:so small.vim
+:set runtimepath+=./sautest
+:" Test to not autoload when assigning.  It causes internal error.
+:try
+:  let Test104#numvar = function('tr')
+:  $put ='OK: ' . string(Test104#numvar)
+:catch
+:  $put ='NG: ' . v:exception
+:endtry
+:/^Results/,$wq! test.out
+ENDTEST
+
+Results of test104:
diff -r a42040fed96c src/testdir/test104.ok
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src/testdir/test104.ok    Wed Jan 15 11:51:47 2014 +0900
@@ -0,0 +1,2 @@
+Results of test104:
+OK: function('tr')

Raspunde prin e-mail lui