diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2016-09-15 20:41:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-15 20:41:16 +0200 |
commit | c4199d1866f4159fc14aff85d5e896d240c5ca3d (patch) | |
tree | a581b0162b847d20f142706c9085bcf405cc0697 /src/nvim/api/window.c | |
parent | fee961c8ddda9de00db19895e189a174896d6534 (diff) | |
parent | cd08e6cf72b52fb23aa4556889f35759062c5bf9 (diff) | |
download | rneovim-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.c | 50 |
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 |