| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
API level is disconnected from NVIM version. The API metadata holds the
current API level, and the lowest backwards-compatible level supported
by this instance.
Release 0.1.6 is the first release that reports the Nvim version and API
level.
metadata['version'] = {
major: 0,
minor: 1,
patch: 6,
api_level: 1,
api_compatible: 0,
api_prerelease: false,
}
The API level may remain unchanged across Nvim releases if the API has
not changed.
When changing the API,
- set NVIM_API_PRERELEASE to true
- increment NVIM_API_LEVEL (at most once per Nvim version)
- adjust NVIM_API_LEVEL_COMPAT if backwards-compatibility was broken
api_level_0.mpack was generated from Nvim 0.1.5 with:
nvim --api-info
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The API level is disconnected from the NVIM version. The API metadata
holds the current API level, and the lowest backwards-compatible level
supported by this instance.
Release 0.1.6 will be the first release reporting the Nvim version and
API level.
metadata['version'] = {
major: 0,
minor: 1,
patch: 6,
prerelease: true,
api_level: 1,
api_compatible: 0,
}
The API level may remain unchanged across Neovim releases if the API has
not changed.
When changing the API the CMake variable NVIM_API_PRERELEASE is set to
true, and NVIM_API_CURRENT/NVIM_API_COMPATIBILITY are incremented
accordingly.
The functional tests check the API table against fixtures of past
versions of Neovim. It compares all the functions in the old table with
the new one, it does ignore some metadata attributes that do not alter
the function signature or were removed since 0.1.5. Currently the only
fixture is 0.mpack, generated from Neovim 0.1.5 with nvim --api-info.
|
|\
| |
| |
| | |
Closes #5246
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when autocommand moves to another tab. (Dominique Pelle)
Solution: When navigating to another window halfway the :edit command go
back to the right window.
https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle)
Solution: When detecting that the tab page changed, don't just abort but
delete the window where w_buffer is NULL.
https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Can't use "." and "$" with ":tab".
Solution: Support a range for ":tab". (Hirohito Higashi)
https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Mark " is not set when closing a window in another tab. (Guraga)
Solution: Check all tabs for the window to be valid. (based on patch by
Hirohito Higashi, closes vim/vim#974)
https://github.com/vim/vim/commit/e59215c7dcae17b03daf39517560cfaa03314f5a
|
| |
| |
| |
| |
| |
| | |
Problem: Memory leak when saving for undo fails.
Solution: Free allocated memory. (Hirohito Higashi)
https://github.com/vim/vim/commit/1e2258297bb31720bfbeb234f2dae4d1b3b04fbd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Closes #5449
A file containing the string "vim" followed by a very large number in a modeline
location will trigger an overflow in getdigits() which is called by
chk_modeline() when trying to parse the version number.
Add getdigits_safe(), which does not assert overflows, but reports them to the
caller.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:7.4.2109
Problem: Setting 'display' to "lastline" is a drastic change, while
omitting it results in lots of "@" lines.
Solution: Add "truncate" to show "@@@" for a truncated line.
https://github.com/vim/vim/commit/ad9c2a08f0509294269a2f11a59a438b944bdd5a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
msg_putchar() is not updating msg_col, this causes an infinite loop. Observed
with execute('version') *nested* in another execute(), in particular this line:
let buildtype = matchstr(execute('version'), '\v\cbuild type:?\s*[^\n\r\t ]+')
when called by :CheckHealth (see runtime/autoload/health/nvim ..
s:check_performance()).
But invoking some variation of execute('...execute("version")') is not enough to
provoke the bug, maybe it needs to be in a user function?
|
| | |
|
| | |
|
| |
| |
| |
| | |
Helped-by: Daniel Hahler <git@thequod.de>
|
| |
| |
| |
| | |
TODO: Also spec behavior of Press-Enter prompt for these API functions.
|
| | |
|
|/
|
|
| |
Clarify behavior of v:errmsg and the Error object.
|
|\
| |
| | |
vim-patch: 8.0.0041, 8.0.0042, 8.0.0043
|
| |
| |
| |
| |
| |
| |
| | |
Problem: When using Insert mode completion with 'completeopt' containing
"noinsert" with CTRL-N the change is not saved for undo. (Tommy
Allen)
Solution: Call stop_arrow() before inserting for any key.
|
| |
| |
| |
| |
| |
| | |
Problem: When using Insert mode completion with 'completeopt' containing
"noinsert" change is not saved for undo. (Tommy Allen)
Solution: Call stop_arrow() before inserting for pressing Enter.
|
| |
| |
| |
| |
| |
| | |
Problem: When using Insert mode completion but not actually inserting
anything an undo item is still created. (Tommy Allen)
Solution: Do not call stop_arrow() when not inserting anything.
|
|/
|
|
|
|
| |
Problem: Tab page tests are old style.
Solution: Change into new style tests. (Hirohito Higashi)
https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
|
|\
| |
| | |
atomic multi request for async remote plugins
|
| |
| |
| |
| | |
remove unused response_id parameter of handle_nvim_... helpers
|
| |
| |
| |
| |
| | |
Closes #5267
Helped-by: oni-link <knil.ino@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:7.4.1704
Problem: Using freed memory with "wincmd p". (Dominique Pelle)
Solution: Also clear "prevwin" in other tab pages.
https://github.com/vim/vim/commit/3dda7db4e1f7c4a8110a1f83001ec36b46693d27
|
|\ \
| | |
| | |
| | | |
vim-patch:7.4.1588
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Old style test for quickfix.
Solution: Turn test 96 into a new style test.
https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
|
|\ \ \
| | | |
| | | | |
vim-patch:7.4.1565
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Crash when assert_equal() runs into a NULL string.
Solution: Check for NULL. (Dominique) Add a test.
https://github.com/vim/vim/commit/f1551964448607f8222de2d8f0992ea43eb2fe67
|
|\ \ \
| | | |
| | | | |
vim-patch:7.4.1494
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
During -S execution, ccline.cmdfirstc is NULL, so calling histadd() with
a hist-name of '' would fail. Mimic Vim's behavior and fallback to '/'
in this scenario, since '' is a documented hist-name as of
vim/vim@3e496b0e.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: clr_history() does not work properly.
Solution: Increment hisptr. Add a test. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/119d4693e06e68d4f099aa7287e375ae3d265fd0
Note: Only added a test. The change to `histptr` had already been made.
|
| |_|/
|/| |
| | |
| | |
| | | |
Remove max_fname_len check, which caused false successful lookups,
and was an optimization for a very rare case.
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Closes #3529
Closes #5241
In Vim,
:echo system('cat - &', 'foo')
works because for both system() and :! Vim writes input to a temp file and uses
shell syntax to redirect the file to the backgrounded `cat` (get_cmd_output()
.. make_filter_cmd()).
In Nvim,
:echo system('cat - &', 'foo')
fails because we write the input directly via pipes (shell.c:do_os_system()),
but (per POSIX[1]) backgrounded process input stream is redirected from
/dev/null (unless overridden by shell redirection; supported only by some shells
[2]), so our writes are ignored, the process exits quickly, and if we are
writing data larger than the buffer size we'll see EPIPE.
This still works:
:%w !tee > foo1358.txt &
but this does not:
:%w !tee foo1358.txt &
though it *should* (why doesn't it?) because we still do the temp file dance
in do_bang() .. do_filter().
[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_03_02
[2] http://unix.stackexchange.com/a/71218
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: When 'fileformats' is set in the vimrc it applies to new buffers
but not the initial buffer.
Solution: Set 'fileformat' when starting up. (Mike Williams)
https://github.com/vim/vim/commit/364fa5c7ec2a99a791c8f8b66fe70b0bf1dd9a41
|
| |
| |
| |
| |
| |
| | |
Problem: Cannot use an Ex command for 'keywordprg'.
Solution: Accept an Ex command. (Nelo-Thara Wallus)
https://github.com/vim/vim/commit/2ff8b64679242e73248774a388d54931c9ce49bd
|
|\ \
| | |
| | | |
api: Support getting the number of a window/tabpage
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In order to provide better compatibility with the classic bindings, the
API needs to provide the ability to query the number (really index) of
the window/tabpage.
This is needed for neovim/python-client#87, as discussed in
neovim/neovim#1898.
Signed-off-by: James McCoy <jamessan@jamessan.com>
|
|\ \ \
| | | |
| | | | |
Enable CI testing of unsigned char and fix fallout
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
../src/nvim/if_cscope.c: In function 'cs_read_prompt':
../src/nvim/if_cscope.c:1771:47: warning: comparison is always true due to limited range of data type [-Wtype-limits]
while ((ch = (char)getc(csinfo[i].fr_fp)) != EOF && ch != CSCOPE_PROMPT[0])
^~
../src/nvim/if_cscope.c:1804:14: warning: comparison is always false due to limited range of data type [-Wtype-limits]
if (ch == EOF) {
^~
../src/nvim/if_cscope.c:1816:14: warning: negative integer implicitly converted to unsigned type [-Wsign-conversion]
ch = EOF;
^~~
../src/nvim/if_cscope.c:1821:12: warning: comparison is always false due to limited range of data type [-Wtype-limits]
if (ch == EOF)
^~
Since EOF is -1, it will be converted to a large unsigned value to
compare with unsigned char and never match. Use an int to store the
return from getc so we can safely compare it and, once known to be
valid, cast it to char when storing it into buf.
Signed-off-by: James McCoy <jamessan@jamessan.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes the -Wconversion warning when char's type is unsigned.
../src/nvim/ex_eval.c: In function 'ex_while':
../src/nvim/ex_eval.c:1000:28: warning: conversion to 'char' from 'int' may alter its value [-Wconversion]
cstack->cs_lflags &= ~CSL_HAD_LOOP;
^
Signed-off-by: James McCoy <jamessan@jamessan.com>
|
|\ \ \ \
| |_|_|/
|/| | | |
allow event processing in getchar()
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
this is consistent with vim, and is necessary for plugins that implement
their own input modes using "getchar()" and still want to do async
event processing.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
When '--embed' passed to command line arguments, stdin and stdout
are used for IPC. But when multiple files are passed as
arguments, nvim wrongly sends 'N files to edit' message to its
stdout. As the result, attaching to process from frontend failed.
Solution:
Remove the message because it doesn't fill any purpose.
|