api: make nvim[_obj]_set_var and _del_var not return the old value

This commit is contained in:
Björn Linse
2016-09-14 11:17:07 +02:00
parent c61bf43a90
commit cd08e6cf72
12 changed files with 235 additions and 64 deletions

View File

@@ -432,19 +432,15 @@ 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
/// @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)
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 (Object) OBJECT_INIT;
return;
}
return dict_set_value(buf->b_vars, name, value, false, err);
dict_set_value(buf->b_vars, name, value, false, false, err);
}
/// Removes a buffer-scoped (b:) variable
@@ -452,11 +448,30 @@ Object nvim_buf_set_var(Buffer buffer, String name, Object value, Error *err)
/// @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_del_var(Buffer buffer, String name, Error *err)
Object buffer_set_var(Buffer buffer, String name, Object value, Error *err)
{
buf_T *buf = find_buffer_by_handle(buffer, err);
@@ -464,9 +479,29 @@ 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, 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
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, true, err);
}
/// Gets a buffer option value
///
/// @param buffer The buffer handle