aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/window.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2016-09-15 20:41:16 +0200
committerGitHub <noreply@github.com>2016-09-15 20:41:16 +0200
commitc4199d1866f4159fc14aff85d5e896d240c5ca3d (patch)
treea581b0162b847d20f142706c9085bcf405cc0697 /src/nvim/api/window.c
parentfee961c8ddda9de00db19895e189a174896d6534 (diff)
parentcd08e6cf72b52fb23aa4556889f35759062c5bf9 (diff)
downloadrneovim-c4199d1866f4159fc14aff85d5e896d240c5ca3d.tar.gz
rneovim-c4199d1866f4159fc14aff85d5e896d240c5ca3d.tar.bz2
rneovim-c4199d1866f4159fc14aff85d5e896d240c5ca3d.zip
Merge pull request #5336 from bfredl/del_var
make del_var and set_var not return the old value.
Diffstat (limited to 'src/nvim/api/window.c')
-rw-r--r--src/nvim/api/window.c50
1 files changed, 42 insertions, 8 deletions
diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c
index ade0fe7c01..90d560cfeb 100644
--- a/src/nvim/api/window.c
+++ b/src/nvim/api/window.c
@@ -202,11 +202,46 @@ Object nvim_win_get_var(Window window, String name, Error *err)
/// @param name The variable name
/// @param value The variable value
/// @param[out] err Details of an error that may have occurred
+void nvim_win_set_var(Window window, String name, Object value, Error *err)
+{
+ win_T *win = find_window_by_handle(window, err);
+
+ if (!win) {
+ return;
+ }
+
+ dict_set_value(win->w_vars, name, value, false, false, err);
+}
+
+/// Removes a window-scoped (w:) variable
+///
+/// @param window The window handle
+/// @param name The variable name
+/// @param[out] err Details of an error that may have occurred
+void nvim_win_del_var(Window window, String name, Error *err)
+{
+ win_T *win = find_window_by_handle(window, err);
+
+ if (!win) {
+ return;
+ }
+
+ dict_set_value(win->w_vars, name, NIL, true, false, err);
+}
+
+/// Sets a window-scoped (w:) variable
+///
+/// @deprecated
+///
+/// @param window The window handle
+/// @param name The variable name
+/// @param value The variable value
+/// @param[out] err Details of an error that may have occurred
/// @return The old value or nil if there was no previous value.
///
/// @warning It may return nil if there was no previous value
/// or if previous value was `v:null`.
-Object nvim_win_set_var(Window window, String name, Object value, Error *err)
+Object window_set_var(Window window, String name, Object value, Error *err)
{
win_T *win = find_window_by_handle(window, err);
@@ -214,19 +249,18 @@ Object nvim_win_set_var(Window window, String name, Object value, Error *err)
return (Object) OBJECT_INIT;
}
- return dict_set_value(win->w_vars, name, value, false, err);
+ return dict_set_value(win->w_vars, name, value, false, true, err);
}
/// Removes a window-scoped (w:) variable
///
+/// @deprecated
+///
/// @param window The window handle
/// @param name The variable name
/// @param[out] err Details of an error that may have occurred
-/// @return The old value or nil if there was no previous value.
-///
-/// @warning It may return nil if there was no previous value
-/// or if previous value was `v:null`.
-Object nvim_win_del_var(Window window, String name, Error *err)
+/// @return The old value
+Object window_del_var(Window window, String name, Error *err)
{
win_T *win = find_window_by_handle(window, err);
@@ -234,7 +268,7 @@ Object nvim_win_del_var(Window window, String name, Error *err)
return (Object) OBJECT_INIT;
}
- return dict_set_value(win->w_vars, name, NIL, true, err);
+ return dict_set_value(win->w_vars, name, NIL, true, true, err);
}
/// Gets a window option value