| Commit message (Collapse) | Author | Age |
... | |
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Removing a job too early from the joblist gives garbage collection the
chance to also remove the job dictionary.
Can be triggered with ASAN while waiting 'updatetime'ms (~5 seconds)
before closing the terminal window opened with:
nvim -u NONE +'call termopen("true",{})'
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Before this change,
nvim -i /etc/shada
segfaults on exit if the file does not exist and user does not have
permissions to create the file at /etc/shada.
Closes #5296
Reported in #5277
https://github.com/neovim/neovim/issues/5277#issuecomment-243937255
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Closes #5291
Restores behaviour identical to Vim. If the user calls the VimScript
function 'getcwd()' and the working directory cannot be found (for
example because the directory has been deleted since the last time it
was used) an empty string needs to be returned instead of throwing an
error.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: When ":doautocmd" is used modelines are used even when no
autocommands were executed. (Daniel Hahler)
Solution: Skip processing modelines. (closes vim/vim#854)
https://github.com/vim/vim/commit/1610d052413e0ed664498853a47acc2d677a22d1
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: It is not easy to see unrecognized error lines below the current
error position.
Solution: Add ":clist +count".
https://github.com/vim/vim/commit/e8fea0728a2fa1fe78ef0ac90dee1a84bd7ef9fb
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move typedef expand_T to types.h for tests
Fix lint error for old style comments
Describe 'check_ff_value' valid values as an initial test.
Fix 'get_sts_value' comment inaccuracy and add unit test for it
|
| | |
| | |
| | |
| | | |
When a new tabpage gets created it will copy the local working directory
of the previous one, if there is any.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Using CTRL-] in the help on "{address}." doesn't work.
Solution: Recognize an item in {}. (Hirohito Higashi, closes vim/vim#814)
https://github.com/vim/vim/commit/28b942a064dd486cc241894b625ab72f5a5c6d1b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As discussed on #5243 and #5283.
Helped-by: John Szakmeister <john@szakmeister.net>
Helped-by: Justin M. Keyes <justinkz@gmail.com>
|
|\ \ \
| | | |
| | | | |
Fix error-handling of strtoimax boundary conditions
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
strtoimax is only required to set errno if there is an
underflow/overflow. In those conditions, strtoimax returns
INTMAX_MIN/INTMAX_MAX respectively, so that's the only time we should be
checking the value of errno.
Even in those conditions, errno needs to be set to a known good value
before calling strtoimax to differentiate between "value is actually
INTMAX_MAX/MIN" and "value over/underflows".
Closes #5279
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(#5282)
If a conversion for a container fails in object_to_vim(), the memory for
the container in the returned/converted value is freed, but the returned
value keeps a pointer to the freed memory. Calling later clear_tv() on
this value leads to an invalid memory access.
Set v_type to VAR_UNKNOWN in the converted value on failure, so that
clear_tv() has no effect.
|
| | |
| | |
| | |
| | | |
This applies both to msgpack-rpc and eval.
|
| | | |
|
| | |
| | |
| | |
| | | |
Blacklist deprecated functions and functions depending on channel_id
|
| | |
| | |
| | |
| | | |
make api functions highlighted as builtins in vim.vim
|
| | | |
|
| | |
| | |
| | |
| | | |
also allow handle==0 meaning curbuf/curwin/curtab
|
| | | |
|
| | |
| | |
| | |
| | | |
header generator.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problems:
- Disables cross-compiling (alternative: keeps two hash implementations which
need to be synchronized with each other).
- Puts code-specific name literals into CMakeLists.txt.
- Workaround for lua’s absence of bidirectional pipe communication is rather
ugly.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Removes all kinds of problems with sorting, provides a ready-to-use function
list representation for genvimvim.lua, does not require specifying function name
twice (VimL function name (string) + f_ function name).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Invoking mark_adjust() when adding a new line below the last line
is pointless.
Solution: Skip calling mark_adjust() when appending below the last line.
https://github.com/vim/vim/commit/82faa259cc42379f2a17d598a2a39d14048685b0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Inherited signal mask may block SIGCHLD, which causes libuv to hang at
epoll_wait.
Closes #5230
Helped-by: Nicolas Hillegeer <nicolas@hillegeer.com>
Helped-by: John Szakmeister <john@szakmeister.net>
Note: the #pragma gymnastics are a workaround for broken system headers on
macOS.
signal.h:
int sigaddset(sigset_t *, int);
#define sigaddset(set, signo) (*(set) |= __sigbits(signo), 0)
sys/_types/_sigset.h:
typedef __darwin_sigset_t sigset_t;
sys/_types.h:
typedef __uint32_t __darwin_sigset_t; /* [???] signal set */
sigset_t is defined as unsigned int, but the sigaddset() ORs it with an int,
mixing the types. So GCC generates a sign-conversion warning:
sig.c:9:13: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
(*(&s) |= __sigbits((sigset_t) 20), 0);
~~ ^~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
System headers are normally ignored when the compiler generates warnings:
https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
> GCC gives code found in system headers special treatment. All warnings,
> other than those generated by ‘#warning’ (see Diagnostics), are suppressed
> while GCC is processing a system header. Macros defined in a system header
> are immune to a few warnings wherever they are expanded. This immunity is
> granted on an ad-hoc basis, when we find that a warning generates lots of
> false positives because of code in macros defined in system headers.
Instead of the #pragma workaround, we could cast the sigset_t pointer:
# if defined(__APPLE__)
sigaddset((int *)&mask, SIGCHLD);
# else
sigaddset(&mask, SIGCHLD);
# endif
but that could break if the headers are later fixed.
|
| | |
| | |
| | |
| | | |
Use new nvim_ui_ prefix to avoid breaking change.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
When USE_ICONV is defined, iconv.h references various errno constants,
but errno.h is only being included when HAVE_ICONV_H is not defined.
This causes build failures on at least GNU/Hurd.
|
|\ \ \ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: User commands don't support modifiers.
Solution: Add the <mods> item. (Yegappan Lakshmanan, closes vim/vim#829)
https://github.com/vim/vim/commit/63a60ded3fd584847a05dccf058026e682abad90
|
|\ \ \ \
| |_|/ /
|/| | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For any script--not just `:global` commands--there is no reason to
update the system clipboard until the script is finished, so disable it
during do_cmdline().
Before this change, 'clipboard=unnamedplus' causes scripted editing to
be extremely slow (e.g. `:normal` in a while-loop).
Closes #3534
|
| |/ / |
|
|/ /
| |
| |
| |
| | |
Remove redundant item availibility checks when constructing
complete items from a dict.
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Links to Search by default
screen.c: Combine CursorLine with QuickFixLine
- HLF_QFL takes priority over HLF_CUL
docs: Updated to mention QuickFixLine
runtime: Added QuickFixLine to nvimHLGroup
tests: QuickFixLine highlight
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* sub_joining_lines: Optimization for :%s/\n//
* sub_grow_buf: Allocation of buffer to contain replacement text
* sub_parse_flags: Parse {flags} from :s command into subflags_T
Although this doesn't reduce do_sub's size enough to satisfy lint, it
covers the more straightforward pieces.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Recursive call to substitute gets stuck in sandbox. (Nikolai
Pavlov)
Solution: Handle the recursive call. (Christian Brabandt, closes vim/vim#950)
Add a test.
https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa
Closes #5118
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Equivalence classes are not properly tested.
Solution: Add tests for multi-byte and latin1. Fix an error. (Owen Leibman)
https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27
src/regexp.c changes weren't applied because they're specific to EBCDIC
handling, which has been dropped from nvim.
The latin1-specific tests were also removed since neovim intends to
remove the ability to have 'encoding' set to anything other than utf8.
|
| | |
| | |
| | |
| | | |
This makes stderr and exit callbacks work for rpc jobs
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Windows: path_is_absolute()
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Check if drive letter is alphabetic character in
path_is_absolute_path().
|