aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/buffer.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/buffer.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/buffer.c')
-rw-r--r--src/nvim/api/buffer.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c
index c25a9789c5..075f101f61 100644
--- a/src/nvim/api/buffer.c
+++ b/src/nvim/api/buffer.c
@@ -423,7 +423,7 @@ Object buffer_get_var(Buffer buffer, String name, Error *err)
return dict_get_value(buf->b_vars, name, err);
}
-/// Sets a buffer-scoped (b:) variable. 'nil' value deletes the variable.
+/// Sets a buffer-scoped (b:) variable
///
/// @param buffer The buffer handle
/// @param name The variable name
@@ -438,7 +438,24 @@ Object buffer_set_var(Buffer buffer, String name, Object value, Error *err)
return (Object) OBJECT_INIT;
}
- return dict_set_value(buf->b_vars, name, value, err);
+ return dict_set_value(buf->b_vars, name, value, false, err);
+}
+
+/// Removes a buffer-scoped (b:) variable
+///
+/// @param buffer The buffer handle
+/// @param name The variable name
+/// @param[out] err Details of an error that may have occurred
+/// @return The old value
+Object buffer_del_var(Buffer buffer, String name, Error *err)
+{
+ buf_T *buf = find_buffer_by_handle(buffer, err);
+
+ if (!buf) {
+ return (Object) OBJECT_INIT;
+ }
+
+ return dict_set_value(buf->b_vars, name, NIL, true, err);
}
/// Gets a buffer option value