| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
|
|
| |
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
|
| | |
|
| |
|
|
|
| |
v:completed_item should always be a dict (not empty string), even before
the first completion.
|
| |
|
|
|
|
|
|
|
|
| |
```
updated for version 7.4.575
Problem: Unicode character properties are outdated.
Solution: Update the tables with the latest version.
```
https://code.google.com/p/vim/source/detail?r=v7-4-575
|
| | |
|
| | |
|
| |
|
|
| |
Closes #2779
|
| |
|
|
|
|
|
| |
Problem: Overflow when adding MAXCOL to a pointer.
Solution: Subtract pointers instead. (James McCoy)
https://github.com/vim/vim/commit/v7-4-719
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Crash when searching for "x\{0,90000}". (Dominique Pelle)
Solution: Bail out from the NFA engine when the max limit is much higher
than the min limit.
https://github.com/vim/vim/commit/v7-4-593
See https://groups.google.com/d/msg/vim_dev/c7owwoseba8/ZETgSNZ6p10J
|
| | |
|
| |
|
|
|
|
|
|
| |
patch 7.4.713
Problem: Wrong condition for #ifdef.
Solution: Change USR_EXRC_FILE2 to USR_VIMRC_FILE2. (Mikael Fourrier)
https://code.google.com/p/vim/source/detail?r=v7-4-713
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These patches are not applicable (NA):
.611 (if_python3.c)
.627 (term.c)
.666 (X on *nix)
.678 (--remote)
.683 (vimtutor)
.687 (terminal)
.691 (mzscheme)
.692 (Solaris)
.730 (crypto)
.731 (GUI)
.738 (compiling w/o syntax highlighting)
.644 applied in an unsupported platform (Stratus VOS)
|
| | |
|
| |
|
|
|
| |
Helped-By: David Bürgin <676c7473@gmail.com>
Helped-By: Justin M. Keyes <justinkz@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
When ml_add_stack() needs to increase the size of the empty stack,
buf->b_ml.ml_stack is NULL and is used as argument in memmove().
This is undefined behaviour. Declaration of memmove() in string.h:
extern void *memmove (void *__dest, const void *__src, size_t __n)
__THROW __nonnull ((1, 2));
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Backported from vim_dev:
https://groups.google.com/forum/#!searchin/vim_dev/completeopt/vim_dev/tVsk0pdOGvs/fCzBbPkA4w0J
Use case:
https://github.com/Shougo/neocomplcache.vim/issues/426
Reviewed-by: Felipe Morales <hel.sheep@gmail.com>
Reviewed-by: Scott Prager <splinterofchaos@gmail.com>
Reviewed-by: Michael Reed <m.reed@mykolab.com>
|
| |
|
|
|
|
|
|
|
|
| |
When splitting the window (win_split_ins), function win_new_width is
already called before the height has been set. This calls
terminal_resize, which passes a height of 0 on to libvterm, which
doesn't handle a height of 0 properly.
A fix is already in place in terminal.c for not passing on the height,
but strictly speaking, it doesn't make sense for window to call
terminal_resize when it isn't initialized completely yet.
|
| | |
|
| |
|
|
| |
We don't link to any X11 libs, so this is most likely unneeded.
|
| |
|
|
|
|
|
|
|
|
| |
Error messages in general should be namespaced, especially in the
context of a shell. Given the possibility of a backgrounded job printing
messages to standard output/error, namespacing these messages should
avoid any confusion as to where the message came from.
Helped-by: Scott Prager <splinterofchaos@gmail.com>
Helped-by: oni-link <knil.ino@gmail.com>
|
| |
|
|
|
|
|
|
| |
This removes the need for preprocessor defines as array indices, and
brings error handling more in line with other files, which for the most
most part to use constant strings (also, see `globals.h`).
Helped-By: Nicolas Hillegeer <nicolas@hillegeer.com>
|
| |
|
|
|
|
| |
Making an environment variable empty can be a way of unsetting it for
platforms that don't support unsetenv(). In most cases, we treat empty
variables as having been unset. For all others, use os_env_exists().
|