| Commit message (Collapse) | Author | Age |
|\
| |
| | |
execute: Correctly capture output with highlight attributes
|
| | |
|
| |
| |
| |
| | |
Closes #5422
|
|\ \
| | |
| | | |
Don't set `b_u_curhead` in `ex_undojoin()`
|
| | |
| | |
| | |
| | |
| | | |
vim-patch:8.0.0205
This provides no benefit, and introduces some bugs.
|
|\ \ \
| |_|/
|/| | |
vim-patch:a02a551,802a0d9,e18dbe8,063b9d1
|
| | |
| | |
| | |
| | |
| | |
| | | |
Updated runtime files.
https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Updated runtime files.
https://github.com/vim/vim/commit/e18dbe865d190e74fb5d43ac8bc6ac22507d0223
|
| | |
| | |
| | |
| | |
| | |
| | | |
Updated runtime files.
https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
|
|/ /
| |
| |
| |
| |
| | |
Updated runtime files.
https://github.com/vim/vim/commit/a02a551e18209423584fcb923e93c6be18f3aa45
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
memcpy is not equivalent to memmove (which is used by vim_strcat), this
could cause subtle bugs if xstrlcat is used as a replacement for
vim_strcat. But vim_strcat is inconsistent: in the `else` branch it uses
strcpy, which doesn't allow overlap.
Helped-by: oni-link <knil.ino@gmail.com>
Helped-by: James McCoy <jamessan@jamessan.com>
Helped-by: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously alternate branches were not accounted for properly, with this
change g- after an undo to a branch point works.
The current sequence number b_u_seq_cur is used in undo_time(), in
u_doit() this was calculated by subtracting one from the curhead
sequence number.
The curhead header entry represents the change that was just undone, so
the sequence number we want is that of the change we have moved to. This
is the sequence number of the undo head that is the uh_next element of
this curhead. That sequence number is not always one less than the
curhead sequence number -- there may have been an alternate branch at
this point.
Instead of subtracting one, we now directly find the sequence number of
curhead->uh_next.
|
| |
| |
| | |
This will ensure that $MANWIDTH is correctly set.
|
| |
| |
| | |
This will make man.vim work on nixOS.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Closes #3689
cmake: Add `desktop-install` and `icon-install` targets. `runtime`
target will trigger them.
Specification:
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys
Icons are stored system-wide in /usr/share/applications or user wide at
/usr/share/icons/hicolor/scalable/apps and can be overriden in ~/.local/share/icons
nvim.desktop file can be installed system wide or in
~/.local/share/applications/
To test without an installer:
$ xdg-desktop-menu install --novendor runtime/nvim.desktop
$ xdg-icon-resource install --novendor --mode user --size 64 contrib/nvim-icon.png
Once it is installed, you can test with gtk-launch if installed or
dmenu/rofi (drun mode)
|
| |
| |
| |
| | |
Closes #4299
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This default causes too much confusion for terminal users. Until
a better approach is implemented, revert to the traditional default.
Better solution would be:
- Implement a right-click menu for TUI
- Set 'mouse=a' *only* if clipboard is working.
Closes #5938
|
|\ \
| | |
| | | |
tui: Ignore DECRST 12 in terminfo's cursor_normal, if present
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As discussed in neovim/neovim#5977, it's typical for the terminfo
database to disable cursor blink as part of setting up the normal
cursor. Since this interferes with the user's control over the cursor,
we'll skip over DECRST 12 if it starts the cursor_normal entry.
Note, this doesn't handle any case where DECRST 12 is not at the start
of the entry since unibilium simply stores the given pointer. We would
need to allocate (and somewhere free) a modified copy of what we get
back from unibi_get_str to handle that.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Closes #731
References #851
Note: This does not remove some intentional legacy usages of strncpy.
- memcpy isn't equivalent because it doesn't check the string
length of `src`, and doesn't zero-out the remainder of `dst`.
- xstrlcpy isn't equivalent because it doesn't zero-out the
remainder of `dst`. Some Vim logic depends on that (e.g.
ex_append which calls vim_strnsave).
Helped-by: Douglas Schneider <ds3@ualberta.ca>
Helped-by: oni-link <knil.ino@gmail.com>
Helped-by: James McCoy <jamessan@jamessan.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
jemalloc's README states:
> jemalloc [is] the FreeBSD libc allocator since 2005. ... Modern jemalloc
> releases continue to be integrated back into FreeBSD
Since FreeBSD ships with jemalloc in some form, we don't need to require
jemalloc there. Less risk, low cost.
|
| | |
|
|\ \
| | |
| | | |
Windows clipboard support
|
| | |
| | |
| | |
| | |
| | |
| | | |
Look for runtime dependencies diff.exe and win32yank.exe (and
recursively for DLL dependencies) and install them with nvim.exe. If a
dependency is missing a warning will be issued.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Add cmake script with recipes to download binary dependencies, currently
the only dependency is win32yank.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
xstrlcat() + coverity fixes
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
References 8bc2bffda94bf2de4e8adae57b4b5597ed4e8247
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`find_command(s->ca.cmdchar) >= 0` was established near the start of
normal_execute(). And `unshift_special(&s->ca);` "should" not ever
result in s->ca.cmdchar containing a multibyte char.
So only an assert() is needed here.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
References #3042
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add xstrlcat function.
Closes #3042
References #988
References #1069
coverity: 71530, 71531, 71532
|
|\ \ \
| |_|/
|/| | |
coverity fixes
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1914: signal
2074: HIKEY2UF()
Closes #5953
|
|/ /
| |
| |
| |
| | |
Fixes Lua error:
> function at line 543 has more than 60 upvalues
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Note some bugs were judged to have too ugly a fix to solve, tests to
demonstrate these problems, and the explanation behind not fixing them
are below.
describe('register . problems', function()
before_each(reset)
-- The difficulty here is: The basic requirement is that the text
-- inserted is treated as if it were typed in insert mode. This is why
-- the paste method is to enter insert mode and enter the ". register
-- into readbuf1.
-- We can't add a count into the readbuf here because the insert mode
-- count is implemented with readbuf2 which is checked for characters
-- after readbuf1.
-- Hence, the ".gp command (which adds extra characters into readbuf1
-- to emulate leaving the cursor after the text by moving the cursor
-- after inserting the text) would insert the motion characters into
-- the buffer instead of using them to move after the insert has been
-- done.
-- I could probably get this working properly with a special flag put
-- into start_redo_ins() and set in do_put(), but I think this adds
-- much more complexity than fixing this bug justifies.
pending('should not change the ". register with ".2p', function()
local orig_register = funcs.getreg('.')
feed('2".p')
eq(orig_register, funcs.getreg('.'))
end)
describe("cursor positioning after undo and redo with '.'", function()
before_each(reset)
local function make_cursor_test(macro_string)
return function()
feed(macro_string)
local afterpos = funcs.getcurpos()
local orig_string = curbuf_contents()
feed('u.')
eq(afterpos, funcs.getcurpos())
expect(orig_string)
end
end
-- The difficulty here is: setting the cursor after the end of the
-- pasted text is done by adding a motion command to the
-- stuffbuffer after the insert.
-- Modifying 'redobuff' is done in the code that handles inserting
-- text and moving around.
-- I could add a special case in ins_esc() that checks for a flag
-- set in do_put() to add the motion character to the redo buffer,
-- but I think that is starting to get way too convoluted for the
-- benefit.
pending('should be the same after ".gp and ".gpu.',
make_cursor_test('".gp'))
-- The difficulty here is: putting forwards is implemented by using
-- 'a' instead of 'i' to start insert.
-- Undoing with 'u' an insert that began with 'a' leaves the cursor
-- where the first character was inserted, not where the cursor was
-- when the 'a' was pressed.
-- We account for this the first time by saving the cursor position
-- in do_put(), but this isn't stored in redobuff for a second time
-- around.
-- We can't change how such a fundamental action as undo after
-- inserting with 'a' behaves, we could add in a special case
-- whereby we set a flag in do_put() and read it when entering
-- insert mode but this seems like way too much to fix such a minor
-- bug.
pending('should be the same after ".pu. and ".pu.u.',
make_cursor_test('".pu.'))
end)
end)
|
| | |
| | |
| | |
| | |
| | |
| | | |
References https://github.com/neovim/neovim/pull/5956#pullrequestreview-17812620
Helped-by: oni-link <knil.ino@gmail.com>
|