aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Łuczyński <doubleloop@o2.pl>2020-02-10 14:20:12 +0100
committerJakub Łuczyński <doubleloop@o2.pl>2020-02-13 14:11:44 +0100
commit3477512f810f5dc9717301e4ff76b5ef368d67e8 (patch)
tree804e51afb259e7dc717df2ca4f2dbbcc92e71dd8
parent937da5dd7ebf7e164e81a1361fdd5239cc9b5201 (diff)
downloadrneovim-3477512f810f5dc9717301e4ff76b5ef368d67e8.tar.gz
rneovim-3477512f810f5dc9717301e4ff76b5ef368d67e8.tar.bz2
rneovim-3477512f810f5dc9717301e4ff76b5ef368d67e8.zip
fix: header updates
-rw-r--r--src/nvim/eval.h3
-rw-r--r--src/nvim/eval/typval.h33
-rw-r--r--src/nvim/eval/user_funcs.c28
-rw-r--r--src/nvim/eval/user_funcs.h3
4 files changed, 33 insertions, 34 deletions
diff --git a/src/nvim/eval.h b/src/nvim/eval.h
index 1aaccd88fb..6890d24252 100644
--- a/src/nvim/eval.h
+++ b/src/nvim/eval.h
@@ -180,9 +180,6 @@ extern const list_T *eval_msgpack_type_lists[LAST_MSGPACK_TYPE + 1];
#undef LAST_MSGPACK_TYPE
-typedef int (*ArgvFunc)(int current_argcount, typval_T *argv,
- int called_func_argcount);
-
/// trans_function_name() flags
typedef enum {
TFN_INT = 1, ///< May use internal function name
diff --git a/src/nvim/eval/typval.h b/src/nvim/eval/typval.h
index 008453b87f..cc12ad08fa 100644
--- a/src/nvim/eval/typval.h
+++ b/src/nvim/eval/typval.h
@@ -258,9 +258,39 @@ typedef struct {
linenr_T sc_lnum; // line number
} sctx_T;
+/// Maximum number of function arguments
+#define MAX_FUNC_ARGS 20
+/// Short variable name length
+#define VAR_SHORT_LEN 20
+/// Number of fixed variables used for arguments
+#define FIXVAR_CNT 12
+
// Structure to hold info for a function that is currently being executed.
typedef struct funccall_S funccall_T;
+struct funccall_S {
+ ufunc_T *func; ///< Function being called.
+ int linenr; ///< Next line to be executed.
+ int returned; ///< ":return" used.
+ /// Fixed variables for arguments.
+ TV_DICTITEM_STRUCT(VAR_SHORT_LEN + 1) fixvar[FIXVAR_CNT];
+ dict_T l_vars; ///< l: local function variables.
+ ScopeDictDictItem l_vars_var; ///< Variable for l: scope.
+ dict_T l_avars; ///< a: argument variables.
+ ScopeDictDictItem l_avars_var; ///< Variable for a: scope.
+ list_T l_varlist; ///< List for a:000.
+ listitem_T l_listitems[MAX_FUNC_ARGS]; ///< List items for a:000.
+ typval_T *rettv; ///< Return value.
+ linenr_T breakpoint; ///< Next line with breakpoint or zero.
+ int dbg_tick; ///< Debug_tick when breakpoint was set.
+ int level; ///< Top nesting level of executed function.
+ proftime_T prof_child; ///< Time spent in a child.
+ funccall_T *caller; ///< Calling function or NULL.
+ int fc_refcount; ///< Number of user functions that reference this funccall.
+ int fc_copyID; ///< CopyID used for garbage collection.
+ garray_T fc_funcs; ///< List of ufunc_T* which keep a reference to "func".
+};
+
/// Structure to hold info for a user function.
struct ufunc {
int uf_varargs; ///< variable nr of arguments
@@ -293,9 +323,6 @@ struct ufunc {
///< (<SNR> is K_SPECIAL KS_EXTRA KE_SNR)
};
-/// Maximum number of function arguments
-#define MAX_FUNC_ARGS 20
-
struct partial_S {
int pt_refcount; ///< Reference count.
char_u *pt_name; ///< Function name; when NULL use pt_func->name.
diff --git a/src/nvim/eval/user_funcs.c b/src/nvim/eval/user_funcs.c
index 72313c3bd7..76a9438314 100644
--- a/src/nvim/eval/user_funcs.c
+++ b/src/nvim/eval/user_funcs.c
@@ -17,34 +17,6 @@
#define FUNCARG(fp, j) ((char_u **)(fp->uf_args.ga_data))[j]
#define FUNCLINE(fp, j) ((char_u **)(fp->uf_lines.ga_data))[j]
-/// Short variable name length
-#define VAR_SHORT_LEN 20
-/// Number of fixed variables used for arguments
-#define FIXVAR_CNT 12
-
-struct funccall_S {
- ufunc_T *func; ///< Function being called.
- int linenr; ///< Next line to be executed.
- int returned; ///< ":return" used.
- /// Fixed variables for arguments.
- TV_DICTITEM_STRUCT(VAR_SHORT_LEN + 1) fixvar[FIXVAR_CNT];
- dict_T l_vars; ///< l: local function variables.
- ScopeDictDictItem l_vars_var; ///< Variable for l: scope.
- dict_T l_avars; ///< a: argument variables.
- ScopeDictDictItem l_avars_var; ///< Variable for a: scope.
- list_T l_varlist; ///< List for a:000.
- listitem_T l_listitems[MAX_FUNC_ARGS]; ///< List items for a:000.
- typval_T *rettv; ///< Return value.
- linenr_T breakpoint; ///< Next line with breakpoint or zero.
- int dbg_tick; ///< Debug_tick when breakpoint was set.
- int level; ///< Top nesting level of executed function.
- proftime_T prof_child; ///< Time spent in a child.
- funccall_T *caller; ///< Calling function or NULL.
- int fc_refcount; ///< Number of user functions that reference this funccall.
- int fc_copyID; ///< CopyID used for garbage collection.
- garray_T fc_funcs; ///< List of ufunc_T* which keep a reference to "func".
-};
-
hashtab_T func_hashtab;
// Used by get_func_tv()
diff --git a/src/nvim/eval/user_funcs.h b/src/nvim/eval/user_funcs.h
index 81a5ac12b4..a62172973f 100644
--- a/src/nvim/eval/user_funcs.h
+++ b/src/nvim/eval/user_funcs.h
@@ -23,6 +23,9 @@ typedef enum {
ERROR_DELETED,
} FnameTransError;
+typedef int (*ArgvFunc)(int current_argcount, typval_T *argv,
+ int called_func_argcount);
+
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "eval/user_funcs.h.generated.h"
#endif