aboutsummaryrefslogtreecommitdiff
path: root/src/nvim
Commit message (Collapse)AuthorAge
...
* rstream/wstream: Unify structures and simplify APIThiago de Arruda2015-07-17
| | | | | | | | | | | | | - Simplify RStream/WStream API and make it more consistent with libuv. - Move into the event loop layer(event subdirectory) - Remove uv_helpers module. - Simplify job/process internal modules/API. - Unify RStream and WStream into a single structure. This is necessary because libuv streams can be readable and writable at the same time(and because the uv_helpers.c hack to associate multiple streams with libuv handle was removed) - Make struct definition public, allowing more flexible/simple memory management by users of the module. - Adapt channel/job modules to cope with the changes.
* event loop: New abstraction layer with refactored time/signal APIThiago de Arruda2015-07-17
| | | | | | | | | | - Add event loop abstraction module under src/nvim/event. The src/nvim/event/loop module replaces src/nvim/os/event - Remove direct dependency on libuv signal/timer API and use the new abstraction instead. - Replace all references to uv_default_loop() by &loop.uv, a new global variable that wraps libuv main event loop but allows the event loop functions to be reused in other contexts.
* tests: Style improvements and Makefile fix for migrated test 60. #2975Lucas Hoffmann2015-07-16
|
* Remove :tearoff #3007Marco Hinz2015-07-15
| | | | | | | | This also removes the 't' flag from 'guioptions'. Side effect: :term[inal] -> :te[rminal] Closes #3003.
* vim-patch:7.4.688 #2941Felipe Morales2015-07-14
| | | | | | | | | | ``` updated for version 7.4.668 Problem: Can't use a glob pattern as a regexp pattern. Solution: Add glob2regpat(). (Christian Brabandt) ``` https://code.google.com/p/vim/source/detail?r=v7-4-668
* terminal.c: Fix memory leak #2982oni-link2015-07-14
| | | | | dict_set_value() returns the replaced Object in a dictionary. Here the Object is unused and needs to be freed.
* Remove dead WIFSTOPPED and WIFCONTINUED checksFredrik Fornwall2015-07-13
| | | | | | | | | These macros would never return true since the preceding waitpid() call did not specify the WUNTRACED or WCONTINUED options (which is correct since we only care for processes that exited here). Besides removing dead code, this improves portability since WIFCONTINUED is not defined on all platforms.
* vim-patch:7.4.736 #2998cztchoice2015-07-11
| | | | | | | | Problem: Invalid memory access. Solution: Avoid going over the end of a NUL terminated string. (Dominique Pelle) https://github.com/vim/vim/commit/v7-4-736
* api: return error when starting a slice out of bounds.Nick Hynes2015-07-11
|
* api: return empty array when slicing out of bounds.Nick Hynes2015-07-11
|
* tests: Migrate legacy test 62.Lucas Hoffmann2015-07-11
|
* rbuffer: Fix for problems with escape input sequences.oni-link2015-07-07
| | | | | | | | | | | If at least two escape sequences were read, the beginning of the second sequence would be off by one and the sequence would be misinterpreted. An escape sequence could be split in two parts and be misinterpreted, when saved in a ring buffer with wrap around. Fixes #2936
* os/*defs: restore some comments and formatting.Justin M. Keyes2015-07-06
|
* refactor: remove SYS_MENU_FILE (unused)Yamakaky2015-07-06
|
* Split os_unix_defs.h into os/Yamakaky2015-07-06
|
* vim-patch:7.4.646 #2926Florian Walch2015-07-06
| | | | | | | Problem: ":bufdo" may start at a deleted buffer. Solution: Find the first not deleted buffer. (Shane Harper) https://github.com/vim/vim/commit/v7-4-646
* doc: Remove refs to dos(16|32), win16, and win95Michael Reed2015-07-05
| | | | | This is primarily low-hanging fruit; there are still many references to things such as MS-DOS throughout (see os_dos.txt).
* MSan: Initialize buffer in spell_delete_wordlist.Justin M. Keyes2015-07-05
|
* CMake: Enable EXITFREE for all *San.Florian Walch2015-07-05
|
* CMake: Add option for Clang TSan, rename option ASAN -> ASAN_UBSAN.Florian Walch2015-07-05
|
* CMake: Add option for Clang MSan.Florian Walch2015-07-05
|
* Remove VisualNOS highlight group remnantsMichael Reed2015-07-04
| | | | Nvim hasn't ever had X11 integration, so this has was never needed.
* Remove 'guipty' referencesMichael Reed2015-07-04
| | | | | | | | Presumably due to tarruda's unifdefing, it was already a no-op at the time of nvim's first commit. It's probably better to be clear that it doesn't exist, as opposed to users thinking `:set guipty` is doing something when it isn't.
* clipboard: don't overwrite before pasting in visual mode. #2945Björn Linse2015-07-04
| | | | | This occured when clipboard=unnamedplus and doing "+p in visual mode. Fixes #2942.
* rbuffer: Reimplement as a ring buffer and decouple from rstreamThiago de Arruda2015-07-01
| | | | | | | | | | | | | | | | | | | | Extract the RBuffer class from rstream.c and reimplement it as a ring buffer, a more efficient version that doesn't need to relocate memory. The old rbuffer_read/rbuffer_write interfaces are kept for simple reading/writing, and the RBUFFER_UNTIL_{FULL,EMPTY} macros are introduced to hide wrapping logic when more control is required(such as passing the buffer pointer to a library function that writes directly to the pointer) Also add a basic infrastructure for writing helper C files that are only compiled in the unit test library, and use this to write unit tests for RBuffer which contains some macros that can't be accessed directly by luajit. Helped-by: oni-link <knil.ino@gmail.com> Reviewed-by: oni-link <knil.ino@gmail.com> Reviewed-by: Scott Prager <splinterofchaos@gmail.com> Reviewed-by: Justin M. Keyes <justinkz@gmail.com> Reviewed-by: Michael Reed <m.reed@mykolab.com>
* rstream: Fix bug triggered when libuv doesn't use the allocated bufferoni-link2015-07-01
| | | | | Libuv will return 0 to signal that the buffer allocated by `alloc_cb` wasn't used, and in this case the read_cb should simply be ignored.
* klib: Improve klist.hThiago de Arruda2015-07-01
| | | | | | | | | | | - Add `kl_shift_at` macro and backing function. This can be used to shift elements at arbitrary positions. `kl_shift` is now defined on top of the new macro. - Change shift/push API, now `kl_push` accepts an object as parameter and `kl_shift` returns the object instead of a status. An assertion against shifting at the end of a list(or empty lists) was added. - Add `kl_iter` and `kl_iter_at` macros. `kl_iter_at` is for starting the iteration at arbitrary positions.
* os/fs: Use module-local uv_loop_t instanceThiago de Arruda2015-07-01
| | | | | | This event loop is just a stub instance used in synchronous libuv function calls, it needs to be decoupled from the main event loop in order to run it from another thread.
* test: Don't run legacy test 87Thiago de Arruda2015-07-01
| | | | | The python3 emulation layer doesn't work well enough to run that test. Also add notes to test86/test87 explaining why.
* ASan: Fix "null pointer passed for argument declared to never be null". #2925Florian Walch2015-06-30
| | | | | | | | Arguments passed to xmemdupz() are sometimes NULL, but xmemdupz() has FUNC_ATTR_NONNULL_ALL. Check pointers for NULL before calling xmemdupz(). Resolves #2533.
* Fix warnings: shell.c: do_os_system(): Nonnull passed null: FP. #2923Eliseo Martínez2015-06-28
| | | | | | | | | | | | Problem : Argument with 'nonnull' attribute passed null @ 203. Diagnostic : False positive. Rationale : Problem is supposed to appear when argv[0] is NULL within do_os_system. But argv is being generated by shell_build_argv(), which implies argv[0] is the current value for 'shell' option. Now, option has a non-null default ($SHELL or "sh"), and, if set by the user, it can be empty, but not NULL. So, argv[0] can never be NULL. Resolution : Assert shell_build_argv() postcondition.
* event_teardown(): retry uv_loop_close() instead of abort. #2903oni-link2015-06-25
| | | | | | | | | | | | | | | | | | | | | | | abort() causes a bad exit; retry uv_loop_close() instead. Before this change, this ruby script will cause nvim to abort() instead of exiting cleanly: ``` require 'open3' require 'base64' Open3.popen3('nvim --embed -u -NONE') {|stdin, stdout, stderr, wait_thr| # base64-encoded msgpack message for the vim_command "qa!". stdin.write Base64.decode64('kwKrdmltX2NvbW1hbmSRo3FhIQ==') puts wait_thr.value } ``` References ##2663 Closes #2466 Closes #2648 Helped-by: Rui Abreu Ferreira <raf-ep@gmx.com>
* clipboard: avoid redundant error message on `clipboard_get` failure .Björn Linse2015-06-25
| | | | | | Fixes #2712 Helped-By: Michael Reed <m.reed@mykolab.com>
* Enable -Wconversion: menu.c #2885Ismail Badawi2015-06-25
|
* api: vim_set_var() should return the old value #2899Justin M. Keyes2015-06-25
| | | | Closes #2816
* tests: Migrate legacy test 61.Lucas Hoffmann2015-06-22
| | | | | | | | | | | | | | | | | | This test is real time based as it also tests the `:earlier` and `:later` commands with time arguments (using `:sleep`). This can sometimes case the test to fail on systems that are under heavy load or where the time interval between creating the expected buffer state and the `:earlier` or `:later` command that tries to jump to it changes. To be system independent we use nvim's `:sleep` command and `wait()` for it in the test suit. The legacy vim test writes to test.out a lot with `:.w >>test.out`. This does currently not work in the lua test suite so the test is modernized to use busted's assertions instead of the output file. This test was treated special in the legacy Makefile but after the conversion the related code can be removed.
* spell.c: fix "[s" search. #2813Nathan Wilson2015-06-21
| | | | Closes #2791
* defaults: remove "options" in 'sessionoptions'. #2871Felipe Morales2015-06-21
| | | | Re: https://github.com/neovim/neovim/issues/2676
* defaults: prefix "!" to 'viminfo' by default #2870Felipe Morales2015-06-21
| | | | Re: https://github.com/neovim/neovim/issues/2676
* defaults: set 'tabpagemax' to 50 by default. #2869Felipe Morales2015-06-21
| | | | Re: https://github.com/neovim/neovim/issues/2676
* defaults: set 'display' to "lastline" by default.Felipe Morales2015-06-21
| | | | Re: https://github.com/neovim/neovim/issues/2676
* doc: Fix some typos and trailing whitespace. #2875Lucas Hoffmann2015-06-21
|
* defaults: enable 'hlsearch' by default. #2859Justin M. Keyes2015-06-20
| | | | | | Also update the documentation regarding the option. Re: https://github.com/neovim/neovim/issues/2676
* defaults: enable 'incsearch' by default. #2858Felipe Morales2015-06-20
| | | | | | This also updates the documentation about 'incsearch'. Re: https://github.com/neovim/neovim/issues/2676
* defaults: remove "i" from the default 'complete' #2854Felipe Morales2015-06-20
| | | | | | "i" could slow down the completion. Re: https://github.com/neovim/neovim/issues/2676
* default: enable 'langnoremap'. #2853Felipe Morales2015-06-20
| | | | Re: https://github.com/neovim/neovim/issues/2676
* defaults: set 'mouse' to 'a' by default. #2860Felipe Morales2015-06-20
| | | | | | Re: https://github.com/neovim/neovim/issues/2676 Also, some documentation changes.
* defaults: enable 'autoindent' #2857Felipe Morales2015-06-20
| | | | Re: https://github.com/neovim/neovim/issues/2676
* defaults: enable 'autoread' by default #2856Felipe Morales2015-06-20
| | | | Re: https://github.com/neovim/neovim/issues/2676
* defaults: enable 'smarttab' by default. #2855Felipe Morales2015-06-20
|