aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api
Commit message (Collapse)AuthorAge
...
| * *: Silence some false positivesZyX2017-04-16
| |
* | api/buffer: Validate replacement array in a separate cycleZyX2017-04-12
| | | | | | | | | | Should not really change anything, but code should be more efficient by using more optimized libc functions (memchrsub is not libc, but it uses memchr) in place of a cycle.
* | api: Remove FUNC_API_SINCE for nvim__ functionsZyX2017-04-11
| |
* | api: Bump nvim__*id functions since valueZyX2017-04-10
| |
* | api: Rename _vim_id functions to nvim__idZyX2017-04-08
| |
* | api: Add FUNC_API_SINCE(1) to new functionsZyX2017-04-08
| |
* | Merge branch 'master' into luaviml'/luaZyX2017-04-08
|\|
| * 'guicursor': enabled=false if 'guicursor' is emptyJustin M. Keyes2017-04-04
| | | | | | | | | | Closes #6429 Closes #6430
| * tui: 'guicursor' shape #6044Matthieu Coudron2017-04-01
| | | | | | | | Closes #2583
| * api: {get,set}_option should {get,set} global value of local options (#6405)Jakob Schnitzer2017-03-30
| | | | | | | | | | - nvim_get_option should return the global default of a local option. - nvim_set_option should set the global default of a local option.
| * eval/typval,api/buffer: Fix review commentsZyX2017-03-29
| |
| * *: Fix some Windows-specific warningsZyX2017-03-29
| | | | | | | | Also fixed an error in path_fnamecmp().
| * eval: Move copy_tv to eval/typvalZyX2017-03-29
| |
| * eval: Move free_tv to eval/typval.h, remove most of its usagesZyX2017-03-29
| |
| * eval,*: Move get_tv_string to typval.cZyX2017-03-29
| | | | | | | | Function was renamed and changed to return `const char *`.
| * *: Move some dictionary functions to typval.h and use char*ZyX2017-03-29
| | | | | | | | Also fixes buffer reusage in setmatches() and complete().
| * eval: Split eval.c into smaller filesZyX2017-03-29
| |
* | api: Use a form of `1 << 63` for INTERNAL_CALL_MASKZyX2017-03-27
| |
* | api: Also shift numbers in api_metadata outputZyX2017-03-27
| | | | | | | | | | | | Fixes problem introduced by “api: Allow kObjectTypeNil to be zero without breaking compatibility”: apparently there are clients which use metadata and there are which aren’t. For the first that commit would not be needed, for the second that commit misses this critical piece.
* | api: Allow kObjectTypeNil to be zero without breaking compatibilityZyX2017-03-27
| |
* | api: Reserve more numbers for internal callsZyX2017-03-27
| | | | | | | | | | | | Reasoning; currently INTERNAL_CALL is mostly used to determine whether it is needed to deal with NL-used-as-NUL problem. This code is useful for nvim_… API calls done from VimL, but not for API calls done from lua, yet lua needs to supply something as channel_id.
* | functests: Test for error conditionsZyX2017-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During testing found the following bugs: 1. msgpack-gen.lua script is completely unprepared for Float values either in return type or in arguments. Specifically: 1. At the time of writing relevant code FLOAT_OBJ did not exist as well as FLOATING_OBJ, but it would be used by msgpack-gen.lua should return type be Float. I added FLOATING_OBJ macros later because did not know that msgpack-gen.lua uses these _OBJ macros, otherwise it would be FLOAT_OBJ. 2. msgpack-gen.lua should use .data.floating in place of .data.float. But it did not expect that .data subattribute may have name different from lowercased type name. 2. vim_replace_termcodes returned its argument as-is if it receives an empty string (as well as _vim_id*() functions did). But if something in returned argument lives in an allocated memory such action will cause double free: once when freeing arguments, then when freeing return value. It did not cause problems yet because msgpack bindings return empty string as {NULL, 0} and nothing was actually allocated. 3. New code in msgpack-gen.lua popped arguments in reversed order, making lua bindings’ signatures be different from API ones.
* | executor/converter: Make nlua_pop_Object not recursiveZyX2017-03-27
| |
* | executor: Make sure it works with API valuesZyX2017-03-27
|/
* doc: handle_* function declarationsJustin M. Keyes2017-03-16
|
* api: bump api level to 2Björn Linse2017-03-15
|
* api: add detailed checks for compatibility and correct "since" valueBjörn Linse2017-03-15
|
* api: implement FUNC_API_SINCEBjörn Linse2017-03-15
|
* api: nvim_buf_set_lines(): Avoid invalid ml_get. #6019Matthew Malcomson2017-03-07
| | | | | | | | | | When the buffer that nvim_buf_set_lines() is changing is not in any vim window, fix_cursor() leads to calling ml_get_buf() with an invalid line number. The condition that fix_cursor() was called on was (buf == curbuf), but this is always true because of the call to switch_to_win_for_buf() earlier in the function. Instead this should be predicated on (save_curbuf.br_buf == NULL)
* doc/api.txt: Merge with api-funcs.txtJustin M. Keyes2017-03-01
| | | | | | | | | | It's important that users have a single, easy-to-remember place for reading about the API. So this commit changes gen_api_vimdoc.py so that the generated section is appended to api.txt instead of creating a separate document. Also remove the section numbering and ToC: it's a maintenance cost, and it will be unnecessary when #5169 is integrated.
* api: Make sure dict_set_var doesn’t edit read-only valuesZyX2017-02-23
| | | Fixes #6147
* api: Rename dict_set_value to dict_set_varZyX2017-02-23
| | | | | | | | | | | | | | | | | | Reasonings: 1. It is not used for anything, but scope dictionaries currenly. So there is no need to generalize and split it into dict_set_var (which will contain some scope-dictionary-specific checks) and dict_set_value (which will work for any dictionary). 2. Check for key size is no longer valid for non-scope dictionaries: you *can* use empty keys there. In scope dictionaries also, but you actually are not supposed to store there anything, but variables. Note that actually one may still do let b:[''] = 1 and “bypass” check for variable name. It won’t change what `echo b:` will show, but it may affect code which iterates over scope dictionary keys and sets them to something (if there is such code).
* buffer: Bind b:changedtick to b:['changedtick'], remove special casesZyX2017-02-23
|
* api/buffer: Add nvim_buf_get_changedtick methodZyX2017-02-23
|
* vim-patch:7.4.2090Michael Ennen2017-02-14
| | | | | | | | Problem: Using submatch() in a lambda passed to substitute() is verbose. Solution: Use a static list and pass it as an optional argument to the function. Fix memory leak. https://github.com/vim/vim/commit/df48fb456fb6bf63d94cad9b302ff01d8ee8d311
* api/helpers: Remove NULL dereference (#6109)Nikolai Aleksandrovich Pavlov2017-02-14
| | | | Even though all used compilers can swallow this code, it is still undefined behaviour.
* Make Nvim work with latest vim-patch v7.4.2024Marco Hinz2017-02-04
| | | | | | | | v7.4.2024 changed a few function signatures of functions that we use in Neovim-specific code, e.g. the API. Due to that the commit for 7.4.2024 doesn't build on its own, only together with this commit.
* refactor: Remove strncpy/STRNCPY. (#6008)Justin M. Keyes2017-01-26
| | | | | | | | | | | | | | | Closes #731 References #851 Note: This does not remove some intentional legacy usages of strncpy. - memcpy isn't equivalent because it doesn't check the string length of `src`, and doesn't zero-out the remainder of `dst`. - xstrlcpy isn't equivalent because it doesn't zero-out the remainder of `dst`. Some Vim logic depends on that (e.g. ex_append which calls vim_strnsave). Helped-by: Douglas Schneider <ds3@ualberta.ca> Helped-by: oni-link <knil.ino@gmail.com> Helped-by: James McCoy <jamessan@jamessan.com>
* Move apply_autocmd_dirchanged() to vim_chdir()Marco Hinz2017-01-13
|
* eval: Fix failing testZyX2017-01-07
|
* eval: Make sure that copyID is reset when neededZyX2017-01-07
| | | | | Works by making value pushed on stack represent the exhausted list. Fixes #5901, except for dictionaries which need similar adjustment.
* eval/typval_encode: Use TYPVAL_ENCODE_CONV_EMPTY_DICT for partialsZyX2017-01-06
|
* *: Remove `// fname()` comments near typval_encode includesZyX2017-01-04
|
* tests: Add tests for partials dumpingZyX2017-01-03
| | | | | Also fixed dumping of partials by encode_vim_to_object and added code which is able to work with partials and dictionaries to test/unit/eval/helpers.lua (mostly copied from #5119, except for partials handling).
* eval/typval_encode: Refactor arguments to argument macrosesZyX2017-01-03
| | | Fixed local test failures somewhere in process.
* api/helpers: Fix unused variable error in release buildZyX2017-01-03
|
* eval/typval_encode: Refactor big-big macros into .c.h fileZyX2017-01-03
| | | | | This makes gdb backtraces much more meaningful: specifically I now know at which line it crashes in place of seeing that it crashes at TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS macros invocation.
* eval/typval_encode: Make partial conversions not recursiveZyX2017-01-03
| | | | | | Is known to crash in the current state. Ref #5825.
* vim-patch:7.4.1719Michael Ennen2016-12-12
| | | | | | | | | | Problem: Leaking memory when there is a cycle involving a job and a partial. Solution: Add a copyID to job and channel. Set references in items referred by them. Go through all jobs and channels to find unreferenced items. Also, decrement reference counts when garbage collecting. https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
* vim-patch:7.4.1559Michael Ennen2016-12-12
| | | | | | | Problem: Passing cookie to a callback is clumsy. Solution: Change function() to take arguments and return a partial. https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710