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/buffer.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/buffer.c')
-rw-r--r-- | src/nvim/api/buffer.c | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c index 602372a661..c4415ddf94 100644 --- a/src/nvim/api/buffer.c +++ b/src/nvim/api/buffer.c @@ -432,11 +432,46 @@ Object nvim_buf_get_var(Buffer buffer, 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_buf_set_var(Buffer buffer, String name, Object value, Error *err) +{ + buf_T *buf = find_buffer_by_handle(buffer, err); + + if (!buf) { + return; + } + + dict_set_value(buf->b_vars, name, value, false, 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 +void nvim_buf_del_var(Buffer buffer, String name, Error *err) +{ + buf_T *buf = find_buffer_by_handle(buffer, err); + + if (!buf) { + return; + } + + dict_set_value(buf->b_vars, name, NIL, true, false, err); +} + +/// Sets a buffer-scoped (b:) variable +/// +/// @deprecated +/// +/// @param buffer The buffer 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_buf_set_var(Buffer buffer, String name, Object value, Error *err) +Object buffer_set_var(Buffer buffer, String name, Object value, Error *err) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -444,19 +479,18 @@ Object nvim_buf_set_var(Buffer buffer, String name, Object value, Error *err) return (Object) OBJECT_INIT; } - return dict_set_value(buf->b_vars, name, value, false, err); + return dict_set_value(buf->b_vars, name, value, false, true, err); } /// Removes a buffer-scoped (b:) variable /// +/// @deprecated +/// /// @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 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_buf_del_var(Buffer buffer, String name, Error *err) +/// @return The old value +Object buffer_del_var(Buffer buffer, String name, Error *err) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -464,9 +498,10 @@ Object nvim_buf_del_var(Buffer buffer, String name, Error *err) return (Object) OBJECT_INIT; } - return dict_set_value(buf->b_vars, name, NIL, true, err); + return dict_set_value(buf->b_vars, name, NIL, true, true, err); } + /// Gets a buffer option value /// /// @param buffer The buffer handle |