diff options
author | Michael Ennen <mike.ennen@gmail.com> | 2016-12-16 14:51:49 -0700 |
---|---|---|
committer | Michael Ennen <mike.ennen@gmail.com> | 2017-02-14 17:38:18 -0700 |
commit | 53fad45115d3ee438dfb537d99ccf3b021ebc6b7 (patch) | |
tree | 9143f619985d8a02ce03fa5f56cee60c45d5f460 /src/nvim/eval.h | |
parent | 1f715ac1c1a1eee43360be911636020ed855e12c (diff) | |
download | rneovim-53fad45115d3ee438dfb537d99ccf3b021ebc6b7.tar.gz rneovim-53fad45115d3ee438dfb537d99ccf3b021ebc6b7.tar.bz2 rneovim-53fad45115d3ee438dfb537d99ccf3b021ebc6b7.zip |
vim-patch:7.4.2137
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
https://github.com/vim/vim/commit/437bafe4c8a83ed71ee006eda7f54b65a90f0d4c
Diffstat (limited to 'src/nvim/eval.h')
-rw-r--r-- | src/nvim/eval.h | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/nvim/eval.h b/src/nvim/eval.h index 147aba4c19..57fee5c5a2 100644 --- a/src/nvim/eval.h +++ b/src/nvim/eval.h @@ -12,42 +12,6 @@ // All user-defined functions are found in this hashtable. extern hashtab_T func_hashtab; - -typedef struct funccall_S funccall_T; - -// Structure to hold info for a user function. -typedef struct ufunc ufunc_T; - -struct ufunc { - int uf_varargs; ///< variable nr of arguments - int uf_flags; - int uf_calls; ///< nr of active calls - garray_T uf_args; ///< arguments - garray_T uf_lines; ///< function lines - int uf_profiling; ///< true when func is being profiled - // Profiling the function as a whole. - int uf_tm_count; ///< nr of calls - proftime_T uf_tm_total; ///< time spent in function + children - proftime_T uf_tm_self; ///< time spent in function itself - proftime_T uf_tm_children; ///< time spent in children this call - // Profiling the function per line. - int *uf_tml_count; ///< nr of times line was executed - proftime_T *uf_tml_total; ///< time spent in a line + children - proftime_T *uf_tml_self; ///< time spent in a line itself - proftime_T uf_tml_start; ///< start time for current line - proftime_T uf_tml_children; ///< time spent in children for this line - proftime_T uf_tml_wait; ///< start wait time for current line - int uf_tml_idx; ///< index of line being timed; -1 if none - int uf_tml_execed; ///< line being timed was executed - scid_T uf_script_ID; ///< ID of script where function was defined, - // used for s: variables - int uf_refcount; ///< for numbered function: reference count - funccall_T *uf_scoped; ///< l: local variables for closure - char_u uf_name[1]; ///< name of function (actually longer); can - // start with <SNR>123_ (<SNR> is K_SPECIAL - // KS_EXTRA KE_SNR) -}; - // From user function to hashitem and back. EXTERN ufunc_T dumuf; #define UF2HIKEY(fp) ((fp)->uf_name) @@ -163,9 +127,6 @@ extern const list_T *eval_msgpack_type_lists[LAST_MSGPACK_TYPE + 1]; typedef int (*ArgvFunc)(int current_argcount, typval_T *argv, int called_func_argcount); -/// Maximum number of function arguments -#define MAX_FUNC_ARGS 20 - #ifdef INCLUDE_GENERATED_DECLARATIONS # include "eval.h.generated.h" #endif |