Problem: When there are illegal utf-8 characters the old regexp engine may
go past the end of a string.
Solution: Only advance to the end of the string. (Dominique Pelle)
0e462411ca
libmsgpack was the old C++ library provided by msgpack-c. The C library
is libmsgpackc.
The C++ support became header-only, but there was a bug
(msgpack/msgpack-c#395) wherein using msgpack-c's CMake build system
would only install libmsgpack instead of libmsgpackc.
Searching for both libraries, but preferring libmsgpackc, allows for
building against older msgpack-c releases and prepares for the upcoming
msgpack-c release which fixes the aforementioned issues.
Signed-off-by: James McCoy <jamessan@jamessan.com>
Problem: Autocommands triggered by quickfix cannot get the current title
value.
Solution: Set w:quickfix_title earlier. (Yannick)
Also move the check for a title into the function.
81278efadf
Problem: glob() and globpath() cannot include links to non-existing files.
(Charles Campbell)
Solution: Add an argument to include all links with glob(). (James McCoy)
Also for globpath().
a245bc79b4
Using `:cscope find s <cword>` with the cursor on a very short word like
`key` does not output the first line on the screen correctly: Output is
`Cscope tag: keyrd>` instead of
`Cscope tag: key`.
To fix this, clear the screen line after the first line was printed.
Variable tbuf going out of scope leaks the storage it points to.
We don't have to use the copy tbuf of a match. Because matches are always in
ctags style, we can operate on them directly.
Dereferencing a pointer that might be null(ptag) when calling strlen().
False positive. A match always contains a tab, so ptag is never null.
Because matches are always in ctags style, we can rewrite the code to
not use strtok().
Problem: 'foldcolumn' may be set such that it fills the whole window, not
leaving space for text.
Solution: Reduce the foldcolumn width when there is not sufficient room.
(idea by Christian Brabandt)
1c93429c48
This is consistent with VIM behavior. When showing a visual selection,
VIM only extends it past the last character if eol is in listchars (even
if nolist is set).
Unix systems must have this header but Windows does not have it at all.
Since src/nvim/os/unix_defs.h includes <unistd.h> without the guard
in order to avoid including this in the numerous places we would
need <unistd.h> on Unix we just include src/nvim/os/os.h which will pull
in <unistd.h> for us.
`RedirectStream` is used to redirect `stdout` and `stderr`, but are
missing certain I/O methods available on other file-like objects.
This causes external plugins (like `colorama`) to crash.
Inheriting from `io.IOBase` adds an abstract implementation of these
methods, which will at least keep the python code running.
Fixes#4045
When using the Visual Studio generator don't use get_target_property for
custom command, because it returns unexpanded VS variables (e.g.
$(Configuration)) within the result as part of the LOCATION path.
The single case where this is a problem is for getting the output path for
nvim-test, instead we use a path here.