| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
|
|
| |
This also removes the 't' flag from 'guioptions'.
Side effect: :term[inal] -> :te[rminal]
Closes #3003.
|
|
|
|
|
|
|
|
|
|
| |
```
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
|
|
|
|
|
| |
dict_set_value() returns the replaced Object in a dictionary. Here
the Object is unused and needs to be freed.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
This is primarily low-hanging fruit; there are still many references to
things such as MS-DOS throughout (see os_dos.txt).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Nvim hasn't ever had X11 integration, so this has was never needed.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This occured when clipboard=unnamedplus and doing "+p in visual mode.
Fixes #2942.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The python3 emulation layer doesn't work well enough to run that test. Also add
notes to test86/test87 explaining why.
|
|
|
|
|
|
|
|
| |
Arguments passed to xmemdupz() are sometimes NULL, but xmemdupz() has
FUNC_ATTR_NONNULL_ALL. Check pointers for NULL before calling
xmemdupz().
Resolves #2533.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Fixes #2712
Helped-By: Michael Reed <m.reed@mykolab.com>
|
| |
|
|
|
|
| |
Closes #2816
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Closes #2791
|
|
|
|
| |
Re: https://github.com/neovim/neovim/issues/2676
|
|
|
|
| |
Re: https://github.com/neovim/neovim/issues/2676
|
|
|
|
| |
Re: https://github.com/neovim/neovim/issues/2676
|
|
|
|
| |
Re: https://github.com/neovim/neovim/issues/2676
|
| |
|
|
|
|
|
|
| |
Also update the documentation regarding the option.
Re: https://github.com/neovim/neovim/issues/2676
|
|
|
|
|
|
| |
This also updates the documentation about 'incsearch'.
Re: https://github.com/neovim/neovim/issues/2676
|
|
|
|
|
|
| |
"i" could slow down the completion.
Re: https://github.com/neovim/neovim/issues/2676
|
|
|
|
| |
Re: https://github.com/neovim/neovim/issues/2676
|
|
|
|
|
|
| |
Re: https://github.com/neovim/neovim/issues/2676
Also, some documentation changes.
|
|
|
|
| |
Re: https://github.com/neovim/neovim/issues/2676
|
|
|
|
| |
Re: https://github.com/neovim/neovim/issues/2676
|
| |
|