patch 9.0.0406: deferred functions not invoked when partial func exits
Problem: Deferred functions not invoked when partial func exits.
Solution: Create a funccall_T when calling a :def function.
diff --git a/src/proto/userfunc.pro b/src/proto/userfunc.pro
index 4fbbe86..555830e 100644
--- a/src/proto/userfunc.pro
+++ b/src/proto/userfunc.pro
@@ -21,6 +21,8 @@
void funcdepth_decrement(void);
int funcdepth_get(void);
void funcdepth_restore(int depth);
+funccall_T *create_funccal(ufunc_T *fp, typval_T *rettv);
+void remove_funccal(void);
int check_user_func_argcount(ufunc_T *fp, int argcount);
int call_user_func_check(ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, funcexe_T *funcexe, dict_T *selfdict);
void save_funccal(funccal_entry_T *entry);