aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-17 11:47:40 +0800
committerGitHub <noreply@github.com>2023-08-17 11:47:40 +0800
commit8861f2af72481b1759a6935afa6dce2aae512359 (patch)
tree292843cc0ce14205b328fec6b75c1ad9a0ad7c9b /src/nvim/eval
parent22d9338afceae5f8ef3845f152dea07a19d512d1 (diff)
parent3117dc70f1e60569f5c3cc0eee5f5005081722b5 (diff)
downloadrneovim-8861f2af72481b1759a6935afa6dce2aae512359.tar.gz
rneovim-8861f2af72481b1759a6935afa6dce2aae512359.tar.bz2
rneovim-8861f2af72481b1759a6935afa6dce2aae512359.zip
Merge pull request #24747 from zeertzjq/vim-8.2.1969
vim-patch:8.2.{1969,1971,2075}: mapnew()
Diffstat (limited to 'src/nvim/eval')
-rw-r--r--src/nvim/eval/funcs.c12
-rw-r--r--src/nvim/eval/typval.c13
2 files changed, 5 insertions, 20 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 177f64ebba..0506c08b07 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -2097,12 +2097,6 @@ static void findfilendir(typval_T *argvars, typval_T *rettv, int find_what)
}
}
-/// "filter()" function
-static void f_filter(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
-{
- filter_map(argvars, rettv, false);
-}
-
/// "finddir({fname}[, {path}[, {count}]])" function
static void f_finddir(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
{
@@ -4488,12 +4482,6 @@ static void f_luaeval(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
nlua_typval_eval(cstr_as_string((char *)str), &argvars[1], rettv);
}
-/// "map()" function
-static void f_map(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
-{
- filter_map(argvars, rettv, true);
-}
-
static void find_some_match(typval_T *const argvars, typval_T *const rettv,
const SomeMatchType type)
{
diff --git a/src/nvim/eval/typval.c b/src/nvim/eval/typval.c
index abe31aab75..5b977e93c9 100644
--- a/src/nvim/eval/typval.c
+++ b/src/nvim/eval/typval.c
@@ -3249,22 +3249,19 @@ void tv_blob_alloc_ret(typval_T *const ret_tv)
///
/// @param[in] from Blob object to copy from.
/// @param[out] to Blob object to copy to.
-void tv_blob_copy(typval_T *const from, typval_T *const to)
- FUNC_ATTR_NONNULL_ALL
+void tv_blob_copy(blob_T *const from, typval_T *const to)
+ FUNC_ATTR_NONNULL_ARG(2)
{
- assert(from->v_type == VAR_BLOB);
-
to->v_type = VAR_BLOB;
to->v_lock = VAR_UNLOCKED;
- if (from->vval.v_blob == NULL) {
+ if (from == NULL) {
to->vval.v_blob = NULL;
} else {
tv_blob_alloc_ret(to);
- int len = from->vval.v_blob->bv_ga.ga_len;
+ int len = from->bv_ga.ga_len;
if (len > 0) {
- to->vval.v_blob->bv_ga.ga_data
- = xmemdup(from->vval.v_blob->bv_ga.ga_data, (size_t)len);
+ to->vval.v_blob->bv_ga.ga_data = xmemdup(from->bv_ga.ga_data, (size_t)len);
}
to->vval.v_blob->bv_ga.ga_len = len;
to->vval.v_blob->bv_ga.ga_maxlen = len;