| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | refactor(map): remove extra-allocating map_new/map_free functions | Björn Linse | 2021-08-22 |
| | | | | | | | | | | | Note: the reason for removing them is not that there after this refactor is no use of them, but rather that having them available is an anti-pattern: they manange an _extra_ heap allocation which has nothing to do with the functionality of the map itself (khash manages the real buffers internally). In case there happens to be a reason to allocate the map structure itself later, this should be made explicit using xcalloc/xfree calls. | ||
| * | RPC: conform message-id type to msgpack-RPC spec | Daniel Bershatsky | 2019-04-12 |
| | | | | | | | | | | | | | | | | | | | | | According to [MessagePack RPC specification](https://github.com/msgpack-rpc/msgpack-rpc), message ID must be 32-bit unsigned integer. But Neovim implementation uses uint64_t instead of uint32_t. This can have wrong results in the case of large ids or a malformed request, for example: Actual response: [1,18446744073709551615,[1,"Message is not an array"],null] Expected response: [1,4294967295,[1,"Message is not an array"],null] The issue does not affect RPC clients written in dynamically-typed languages like Python. Wrong type of sequence id number breaks RPC clients written statically typed languages like C/C++/Golang: all of them expect uint32_t as message id. Examples: https://github.com/msgpack-rpc/msgpack-rpc-cpp/blob/11268ba2be5954ddbb2b7676c7da576985e45cfc/src/msgpack/rpc/protocol.h#L27 https://github.com/ugorji/go/blob/master/codec/msgpack.go#L993 closes #8850 | ||
| * | RPC: eliminate NO_RESPONSE | Justin M. Keyes | 2019-04-12 |
| | | | | | | | | | | | Using a sentinel value in the response-id is ambiguous because the msgpack-rpc spec allows all values (including zero/max). And clients control the id, so we can't be sure they won't use the sentinel value. Instead of a sentinel value, check the message type explicitly. ref #8850 | ||
| * | api: list information about all channels/jobs. | Björn Linse | 2018-05-23 |
| | | | | | | Fire autocmd when channel opens or its info changes. Add a way for API clients can describe themselves. | ||
| * | channels: refactor | Björn Linse | 2017-11-24 |