aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c89
1 files changed, 1 insertions, 88 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 3818944fc9..43aeda06ef 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -36,7 +36,6 @@
#include "nvim/ex_docmd.h"
#include "nvim/ex_eval.h"
#include "nvim/ex_getln.h"
-#include "nvim/ex_session.h"
#include "nvim/garray.h"
#include "nvim/getchar.h"
#include "nvim/gettext.h"
@@ -8160,7 +8159,7 @@ const char *find_option_var_end(const char **const arg, OptIndex *const opt_idxp
return end;
}
-static var_flavour_T var_flavour(char *varname)
+var_flavour_T var_flavour(char *varname)
FUNC_ATTR_PURE
{
char *p = varname;
@@ -8176,48 +8175,6 @@ static var_flavour_T var_flavour(char *varname)
return VAR_FLAVOUR_DEFAULT;
}
-/// Iterate over global variables
-///
-/// @warning No modifications to global variable dictionary must be performed
-/// while iteration is in progress.
-///
-/// @param[in] iter Iterator. Pass NULL to start iteration.
-/// @param[out] name Variable name.
-/// @param[out] rettv Variable value.
-///
-/// @return Pointer that needs to be passed to next `var_shada_iter` invocation
-/// or NULL to indicate that iteration is over.
-const void *var_shada_iter(const void *const iter, const char **const name, typval_T *rettv,
- var_flavour_T flavour)
- FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ARG(2, 3)
-{
- const hashitem_T *hi;
- const hashitem_T *hifirst = globvarht.ht_array;
- const size_t hinum = (size_t)globvarht.ht_mask + 1;
- *name = NULL;
- if (iter == NULL) {
- hi = globvarht.ht_array;
- while ((size_t)(hi - hifirst) < hinum
- && (HASHITEM_EMPTY(hi)
- || !(var_flavour(hi->hi_key) & flavour))) {
- hi++;
- }
- if ((size_t)(hi - hifirst) == hinum) {
- return NULL;
- }
- } else {
- hi = (const hashitem_T *)iter;
- }
- *name = TV_DICT_HI2DI(hi)->di_key;
- tv_copy(&TV_DICT_HI2DI(hi)->di_tv, rettv);
- while ((size_t)(++hi - hifirst) < hinum) {
- if (!HASHITEM_EMPTY(hi) && (var_flavour(hi->hi_key) & flavour)) {
- return hi;
- }
- }
- return NULL;
-}
-
void var_set_global(const char *const name, typval_T vartv)
{
funccal_entry_T funccall_entry;
@@ -8227,50 +8184,6 @@ void var_set_global(const char *const name, typval_T vartv)
restore_funccal();
}
-int store_session_globals(FILE *fd)
-{
- TV_DICT_ITER(&globvardict, this_var, {
- if ((this_var->di_tv.v_type == VAR_NUMBER
- || this_var->di_tv.v_type == VAR_STRING)
- && var_flavour(this_var->di_key) == VAR_FLAVOUR_SESSION) {
- // Escape special characters with a backslash. Turn a LF and
- // CR into \n and \r.
- char *const p = vim_strsave_escaped(tv_get_string(&this_var->di_tv), "\\\"\n\r");
- for (char *t = p; *t != NUL; t++) {
- if (*t == '\n') {
- *t = 'n';
- } else if (*t == '\r') {
- *t = 'r';
- }
- }
- if ((fprintf(fd, "let %s = %c%s%c",
- this_var->di_key,
- ((this_var->di_tv.v_type == VAR_STRING) ? '"' : ' '),
- p,
- ((this_var->di_tv.v_type == VAR_STRING) ? '"' : ' ')) < 0)
- || put_eol(fd) == FAIL) {
- xfree(p);
- return FAIL;
- }
- xfree(p);
- } else if (this_var->di_tv.v_type == VAR_FLOAT
- && var_flavour(this_var->di_key) == VAR_FLAVOUR_SESSION) {
- float_T f = this_var->di_tv.vval.v_float;
- int sign = ' ';
-
- if (f < 0) {
- f = -f;
- sign = '-';
- }
- if ((fprintf(fd, "let %s = %c%f", this_var->di_key, sign, f) < 0)
- || put_eol(fd) == FAIL) {
- return FAIL;
- }
- }
- });
- return OK;
-}
-
/// Display script name where an item was last set.
/// Should only be invoked when 'verbose' is non-zero.
void last_set_msg(sctx_T script_ctx)