Justin M. Keyes
db17d2c0fa
API: Avoid overrun when formatting error-message
...
msgpack_rpc_to_object (called by handle_request .. msgpack_rpc_to_array)
always NUL-terminates API Strings.
But handle_request .. msgpack_rpc_get_handler_for operates on a raw
msgpack_object, before preparation.
2018-09-05 08:04:15 +02:00
micha
099718ae6d
dispatch.c: changed api_set_error_call
2018-07-15 12:12:03 +02:00
micha
ed02278e42
channel.c: refactor spaghetti code
...
channel.c: WIP remove redundant method check and added FUNC_ATTR_NONNULL_ALL macro
channel.c channel_defs.h helpers.c: added Error field to RequestEvent, added no_op handler func
channel.c: use const char* instead of string and cleanup
channel.c; channel_defs.h; helpers.c: removed error from event again; send errors directly to the channel without using handlers and events
channel.c: fixed memory leak and lint errors
api/private/dispatch.c; api/vim.c; msgpack_rpc/channel.c msgpack_rpc/helpers.c added Error* field to msgpack_get_handler_for; further refactored channel.c
channel.c:323 changed order of evaluation in if statement
channel.c: removed superflous whitespace
dispatch.c: review comment
2018-07-14 11:47:18 +02:00
Justin M. Keyes
b94b59e4e8
refactor: buf_collect_lines ( #8509 )
...
Move redundant common logic into a function.
2018-06-09 09:32:49 +02:00
Justin M. Keyes
3abf17ae88
API: validation: mention invalid method name ( #8489 )
2018-06-07 10:56:44 +02:00
Björn Linse
6da4548f0e
api: list information about all channels/jobs.
...
Fire autocmd when channel opens or its info changes.
Add a way for API clients can describe themselves.
2018-05-23 18:18:16 +02:00
Justin M. Keyes
9fa7727ce0
API: nvim_get_commands(): always return keys
...
- Always return all keys, with at least NIL value.
- Require `opts` param to be {"builtin":false}
- Validate `opts` param
2018-05-11 13:20:43 +02:00
Nimit Bhardwaj
25b6304840
API: nvim_get_commands()
2018-05-11 13:20:19 +02:00
Justin M. Keyes
273d2cd5d5
Merge #8329 'API: Make nvim_set_option() update :verbose set …
'
2018-05-11 10:08:09 +02:00
Justin M. Keyes
34b6a3d944
doc
2018-05-09 23:18:38 +02:00
b-r-o-c-k
7170de1971
api: Make nvim_set_option() update :verbose set ...
...
Make `:verbose set ...` show when an option was last modified by an
API client or Lua script/chunk. In the case of an API client, the
channel ID is displayed.
2018-05-03 21:05:20 -05:00
ZyX
201a4ef11c
*: Replace did_throw checks with current_exception checks
...
Removes obsolete did_throw after that.
2018-03-25 15:13:05 +03:00
ZyX
79b4b6fc86
*: Make sure that !did_throw implies !current_exception
...
Fixes #7876
2018-03-25 14:50:48 +03:00
Justin M. Keyes
26b84a8b3e
build/MSVC: fix "C4003: not enough actual parameters for macro"
...
For the case of TV_DICTITEM_STRUCT, we can't just pass `1` because:
https://github.com/neovim/neovim/pull/8142#discussion_r175262436
> this variant will trigger array overrun warnings from various static analyzers.
2018-03-18 14:30:05 +01:00
Justin M. Keyes
960f093625
build/MSVC: fix "C4028: formal parameter different from declaration"
2018-03-18 14:11:39 +01:00
Björn Linse
6e5cb0debd
ui: refactor ui options
2018-02-13 20:48:51 +01:00
ZyX
9ea1752d60
*: Provide list length when allocating lists
2018-01-14 01:33:16 +03:00
ZyX
0c533a488f
*: Remove most calls to tv_list_item_alloc
...
Still left calls in eval/typval.c and test/unit/eval/helpers.lua. Latter is the
only reason why function did not receive `static` modifier.
2017-12-24 14:09:35 +03:00
ZyX
ac4bbf55f6
*: Hide list implementation in other files as well
2017-12-10 22:04:43 +03:00
ZyX
274f32d42e
*: Start hiding list implementation
...
Most of files, except for eval.c and eval/* were only processed by perl.
2017-12-10 04:00:52 +03:00
Justin M. Keyes
8c959be511
Merge #7593 'PVS static analysis fixes'
2017-11-22 23:12:30 +01:00
Peter Kalauskas
c030a38168
helpers.c: statically assert integer falls within range
2017-11-22 09:21:34 -08:00
Björn Linse
22402fb99d
ext_cmdline: add support for highlighting
2017-10-26 20:28:47 +02:00
Dongdong Zhou
866dadaf75
ext_cmdline: added cmdline level
...
add cchar_to_string
2017-10-26 09:35:13 +02:00
ZyX
36acfce4ea
api/helpers: Fix typo
2017-08-06 15:23:05 +03:00
ZyX
4d8ff5ec01
api/helpers: Clarify try_start() usage
2017-08-06 14:38:54 +03:00
ZyX
25c6ac1af6
*: Fix clint errors
2017-07-18 01:21:23 +03:00
ZyX
cfb1d937a6
api helpers: Also save and restore did_emsg
2017-07-18 00:08:57 +03:00
ZyX
2a6423eba7
api helpers: Save/restore more values in try_enter/try_leave
...
This fixes memory leak reported by ASAN. This also somehow fixes test40, though
I have no idea why except that that test yields memory leak report.
2017-07-16 22:03:31 +03:00
ZyX
69719e658c
Merge branch 'master' into colored-cmdline
2017-07-15 18:56:45 +03:00
Matthieu Coudron
e333957a1a
dict_get_value(): name the missing key ( #6952 )
2017-07-03 23:03:30 +02:00
ZyX
7ab152aaa5
ex_getln: Save and restore try state
...
Problem: when processing cycle such as
:for pat in [' \ze*', ' \zs*']
: try
: let l = matchlist('x x', pat)
: $put ='E888 NOT detected for ' . pat
: catch
: $put ='E888 detected for ' . pat
: endtry
:endfor
`:let l = …` throwing an error causes this error to be caught after
color_cmdline attempts to get callback for highlighting next line (the one with
`$put = 'E888 NOT…`). Saving/restoring state prevents this from happening.
2017-07-01 15:34:25 +03:00
Daniel Hahler
d0ff2000b2
vim-patch:8.0.0607 ( #6879 )
...
Problem: When creating a bufref, then using :bwipe and :new it might get
the same memory and bufref_valid() returns true.
Solution: Add br_fnum to check the buffer number didn't change.
45e5fd135d
2017-06-11 15:03:02 +02:00
TJ DeVries
45626de63f
get_keymap API ( #6236 )
...
* Add api function get keymap
nvim_get_keymap(mode)
nvim_buf_get_keymap(buffer, mode)
2017-05-25 12:41:53 +02:00
Björn Linse
e82cb5de4a
api: add metadata for ui events
2017-05-10 17:36:31 +02:00
Björn Linse
489d10c57c
api: generate ui events
2017-05-10 16:14:10 +02:00
ZyX
09f849b600
Merge branch 'master' into luaviml'/lua
2017-05-08 15:43:45 +03:00
Justin M. Keyes
086c354a0a
api: Do not translate error messages.
...
Also re-word some error messages:
- "Key does not exist: %s"
- "Invalid channel: %<PRIu64>"
- "Request array size must be 4 (request) or 3 (notification)"
- "String cannot contain newlines"
References #6150
2017-04-24 00:11:27 +02:00
Justin M. Keyes
3fbc660d57
api_set_error(): rename
2017-04-23 23:44:57 +02:00
Justin M. Keyes
2ed91f222f
api/internal: Remove set
field from Error type.
2017-04-23 23:44:32 +02:00
Justin M. Keyes
62c3f436a9
api_clear_error: Skip if error was not set.
2017-04-23 23:44:32 +02:00
Justin M. Keyes
2a49163103
api_clear_error()
2017-04-23 23:44:32 +02:00
Sander Bosma
5c9860a0a2
api: Do not truncate errors <1 MB. #6237
...
Closes #5984
2017-04-23 23:44:29 +02:00
ZyX
c2f3e361c5
*: Add comment to all C files
2017-04-19 19:11:50 +03:00
ZyX
33952a7661
*: Silence some false positives
2017-04-16 19:18:54 +03:00
ZyX
043d8ff9f2
Merge branch 'master' into luaviml'/lua
2017-04-08 01:54:58 +03:00
Jakob Schnitzer
eb0e94f71b
api: {get,set}_option should {get,set} global value of local options ( #6405 )
...
- nvim_get_option should return the global default of a local option.
- nvim_set_option should set the global default of a local option.
2017-03-30 22:03:52 +02:00
ZyX
2ad4fba46d
eval: Move copy_tv to eval/typval
2017-03-29 10:08:06 +03:00
ZyX
28dafe3ff0
eval,*: Move get_tv_string to typval.c
...
Function was renamed and changed to return `const char *`.
2017-03-29 10:08:05 +03:00
ZyX
e18a578308
*: Move some dictionary functions to typval.h and use char*
...
Also fixes buffer reusage in setmatches() and complete().
2017-03-29 10:07:42 +03:00