| Commit message (Collapse) | Author | Age |
... | |
|\ \ \
| | | |
| | | | |
Only allow encoding=utf-8 and simplify multibyte code
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change shada reencoding tests to check for
correct handling of UTF-8 and binary strings.
Delete enc=latin1 json tests.
|
| | | |
| | | |
| | | |
| | | | |
Deleted documentation was duplicated at specific utf_ implementation
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Eliminate mb_init():
Set "enc_utf" and "has_mbyte" early. Eliminate "enc_unicode" and "enc_latin1like".
init_chartab() and screenalloc() are already invoked elsewhere
in the initialization process.
The EncodingChanged autocmd cannot be triggered.
At initialization, there is no spellfiles to reload
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can now use help links like in normal help pages. The bars around them will
be concealed as well.
* Health: link string "SUCCESS" to ModeMsg
So far we linked "SUCCESS" to the Function highlight group.
The newly introduced healthHelp group links to Idenfifier as it does for links
in normal help pages.
Now the problem is that the Function group links again to Identifier as well, so
both, "SUCCESS" and help links, would use the same colors.
* Health: don't use Markdown code blocks
Every line indented by more than 4 spaces would lose its highlighting otherwise.
* Health: add helper health#help_to_link()
|
|\ \ \
| | | |
| | | |
| | | | |
vim-patch:7.4.1967
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Falling back from NFA to old regexp engine does not work properly.
(fritzophrenic)
Solution: Do not restore nfa_match. (Christian Brabandt, closes vim/vim#867)
https://github.com/vim/vim/commit/6747fabc7348bf5f41ccfe851e2be3e900ec8ee0
Helped-by: jamessan
|
|\ \ \ \
| | | | |
| | | | | |
Making nvim big-endian friendly
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
rv is int64_t but its address is being passed into win_get_tabwin as if
it were an int. This breaks on big-endian systems, since win_get_tabwin
will store the data to the "wrong" half of the int64_t, thus returning
invalid data out of nvim_win_get_number.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since data.integer is a different (larger) integer type than
data.{buffer,window,tabpage}, we cannot abuse the union by using
data.integer to access the value for all 4 types. Instead, remove the
{buffer,window,tabpage} members and always use the integer member.
In order to accomodate this, perform distinct validation and coercion
between the Integer type and Buffer/Window/Tabpage types in
object_to_vim, msgpack_rpc helpers, and gendispatch.lua.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
All options are accessed by passing char_u pointers around, casting the
pointer to the right pointer type for the specific option, and then
dereferencing that pointer.
This dance works fine on little-endian systems when some bool options
are int types (as in Vim) and some are bool types (as would make more
sense), but on big-endian systems *(int *)varp when varp is pointing to
a bool will read random memory.
Therefore, all boolean options must remain a consistent type and int is
currently the easiest to choose.
|
|\ \ \ \
| | | | |
| | | | | |
CheckHealth: add clipboard check
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Never throw an error when provider/clipboard.vim is sourced for the first time.
Save the error instead and expose it via `provider#clipboard#Error()`, mimicking
provider/python.vim.
|
| | | | | |
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Set STDIN to blocking on "suspend". This was missed in #2598.
See 8a782f1699e2a59a3f3e91f6d7c35a3312b82b41.
Also on "continue"/SIGCONT explicitly set STDIN back to NON-blocking.
We don't explicitly do that on *startup* (libuv does it internally),
but on "continue" it seems wise to restore libuv's expectations.
Closes #5459
|
| | | |
| | | |
| | | |
| | | | |
- TabNew/TabClosed: Introduced in 7.4.2075 and 7.4.2077
- hl-EndOfBuffer: Introduced in 7.4.2213
|
|\ \ \ \
| |_|_|/
|/| | | |
vim-patch:7.4.[1730,1734,1741,1742,1779,1782]
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: strcharpart() does not work properly with some multi-byte
characters.
Solution: Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi)
https://github.com/vim/vim/commit/fca66003053f8c0da5161d1fe4b75b3a389934b5
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Using negative index in strcharpart(). (Yegappan Lakshmanan)
Solution: Assume single byte when using a negative iindex.
https://github.com/vim/vim/commit/73dfe917ba6357413aaf98a021c91add5ac6e9bc
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: strgetchar() does not work correctly.
Solution: use mb_cptr2len(). Add a test. (Naruhiko Nishino)
https://github.com/vim/vim/commit/5d18e0eca59ffbba22c7f7c91c9f99d672095728
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Not testing utf-8 characters.
Solution: Move the right asserts to the test_expr_utf8 test.
https://github.com/vim/vim/commit/b22bd46b9681d73d095f2eadff8163d3a6cf416b
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Test fails when not using utf-8.
Solution: Split test in regularand utf-8 part.
https://github.com/vim/vim/commit/0f518a8f4d4be4cac10389680f6bd5e3781f94b0
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: It is not easy to get a character out of a string.
Solution: Add strgetchar() and strcharpart().
https://github.com/vim/vim/commit/58de0e2dcc1f2d251b74892a06d71a14973f3187
|
|\ \ \ \
| |_|_|/
|/| | | |
ex_global: Catch CTRL-C even if it is mapped.
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | | |
Problem: If CTRL-C is mapped, it does not interrupt :global output.
Solution: clear `mapped_ctrl_c` during :global.
|
|\ \ \
| | | |
| | | | |
test: Fix shada/marks_spec.lua failure
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The 'dump and read back mark " from a closed tab' test needs to actually
create a second tab. Since it wasn't doing so, the 'q!' command caused
nvim to exit and the subsequent 'qall' command fails.
|
|/ / / |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
FEATURES:
0b5a7e4ad5ee #4432 API: external UIs can render custom popupmenu
c6ac4f84b163 #4934 API: call any API method from vimscript
31df051ed9a3 #4568 API: nvim_call_atomic(): multiple calls in a single request
b268ba353af4 #5424 API: nvim_win_get_number(), nvim_tabpage_get_number()
e7e2844d468d has("nvim-1.2.3") checks for a specific Nvim version
522b885a0db7 #5295, #5493 `:CheckHealth` checks tmux, terminfo, performance
719dae2e010c #5384 events: allow event processing in getchar()
f25797f86976 #5386 API: metadata: Nvim version & API level
22dfe6925d47 #5389 API: metadata: "since", "deprecated_since"
605e74327a40 Added QuickFixLine highlight group
CHANGES:
4af6ec746c82 #5253 perf: Disable clipboard in do_cmdline()
6e9f329d051c #5299 perf: Skip foldUpdate() in insert-mode.
9d4fcec7c6b6 #5426 perf: Do not auto-update folds for some foldmethods.
eeec0cab5848 #5419 tui: Default to normal-mode cursor shape.
FIXES:
e83845285cf3 #5436 tui: Fix "weird characters" / "bleeding termcodes"
10a54ad12e2d #5243 signal_init: Always unblock SIGCHLD.
bccb49bedb9b #5316 eval.c: Fix memory leak for detached pty job
626065d385c4 #5227 tchdir: New tab should inherit CWD.
cd321b7d0fb1 #5292 getcwd(): Return empty string if CWD is invalid.
6127eaef0534 shada: Fix non-writeable ShaDa directory handling
ca65514a241b #2789 system(): Respect shellxescape, shellxquote
2daf54ee8dd9 #4874 Restore vim-like tab dragging
0c536b5d8afe #5319 syntax.c: Support bg/fg special color-names.
3c53371b0ccb #4972 from justinmk/schedule-ui_refresh
68bcb32ec43e #4789 tui.c: Do not wait for tui loop on teardown.
c8b6ec2e6a85 #5409 v:count broken in command-line window
6bc3bcefc6ca #5461 fix emoji display
51937e1322de #5470 fix :terminal with :argadd, :argu
79d77da8a06b #5481 external UIs: opening multiple files from command-line
657ba62a84de #5501 rplugin: resolve paths in manifest file
6a6f188d2ac4 #5502 system('foo &', 'bar'): Show error, don't crash.
1ff162c0d99c #5515 os_nodetype: open fd with O_NONBLOCK
2a6c5bb0c4b0 #5450 modeline: Handle version number overflow.
0ade1bb7067d #5225 CI tests now run against Windows!
|
|\ \ \
| | | |
| | | | |
api: Nvim version + API level
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \
| | | |
| | | | |
CheckHealth: more checks. Also hack around an infinite loop.
|