aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2016-02-11 02:01:17 +0300
committerZyX <kp-pav@yandex.ru>2016-04-18 02:47:13 +0300
commitf1ced96c28b7db7b3dad9b0ca2f71f8d046ef732 (patch)
tree650bafc7e2d19fe535a93973fe5bf176b03a33f0 /src/nvim/api/private/helpers.c
parentaf6603a6b4c9b1cb4a65eb2dc581295d8990c5ef (diff)
downloadrneovim-f1ced96c28b7db7b3dad9b0ca2f71f8d046ef732.tar.gz
rneovim-f1ced96c28b7db7b3dad9b0ca2f71f8d046ef732.tar.bz2
rneovim-f1ced96c28b7db7b3dad9b0ca2f71f8d046ef732.zip
api: Replace set_var(name, NIL) with del_var(name)
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index 9082dfd759..db3e499427 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -90,14 +90,17 @@ Object dict_get_value(dict_T *dict, String key, Error *err)
}
/// Set a value in a dict. Objects are recursively expanded into their
-/// vimscript equivalents. Passing 'nil' as value deletes the key.
+/// vimscript equivalents.
///
/// @param dict The vimscript dict
/// @param key The key
/// @param value The new value
+/// @param del Delete key in place of setting it. Argument `value` is ignored in
+/// this case.
/// @param[out] err Details of an error that may have occurred
/// @return the old value, if any
-Object dict_set_value(dict_T *dict, String key, Object value, Error *err)
+Object dict_set_value(dict_T *dict, String key, Object value, bool del,
+ Error *err)
{
Object rv = OBJECT_INIT;
@@ -118,7 +121,7 @@ Object dict_set_value(dict_T *dict, String key, Object value, Error *err)
dictitem_T *di = dict_find(dict, (uint8_t *)key.data, (int)key.size);
- if (value.type == kObjectTypeNil) {
+ if (del) {
// Delete the key
if (di == NULL) {
// Doesn't exist, fail