| Commit message (Collapse) | Author | Age |
... | |
|\ \
| | |
| | | |
TUI cursor fixes: avoid memory errors after resize with invalid cursor position
|
| | |
| | |
| | |
| | |
| | | |
This was caused by cursor position being invalid right
after tui_grid_resize, which is now fixed
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The old code could lead to a memory error in the following situation:
0. The previous cursor position was row 50 since before, on a grid
larger than 50 rows.
1. grid_resize changes the grid height to 40, and invalidly assumes the
resize moved the physical cursor to row 0
2. Some event used a operation that could move the cursor (such as clear), and
then reset the cursor to the "true" position row 50 (pointless after #8221, but
I forgot to remove it)
3. raw_line/cheap_to_print is invoked, and tries to inspect the grid at
row 50 (memory error)
4. grid_cursor_goto would have been called at this point, and set a
valid cursor position 0-39.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Deleting in a block selection causes problems.
Solution: Check the length of the line before adding bd.textcol and
bd.textlen. (Christian Brabandt, closes vim/vim#2825)
https://github.com/vim/vim/commit/35e802e713382d7e76232ad344af7dcd577e43de
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Autocmd test fails.
Solution: Do call inchar() when flushing typeahead.
https://github.com/vim/vim/commit/6a2633b00bb00bcf0d994f08d1c54ace2c221b58
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: "simalt ~x" in .vimrc blocks swap file prompt.
Solution: Flush buffers before prompting. (Yasuhiro Matsumoto,
closes vim/vim#3518, closes vim/vim#2192)
https://github.com/vim/vim/commit/798184cc67036285a24b38c0bf6668d4d1525548
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Test_executable fails when there is a dog in the system.
Solution: Rename the dog. (Hirohito Higashi)
https://github.com/vim/vim/commit/a05a0d325c7615439f4a42f00682b2ebad43c8d9
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Windows has "Read and execute" permission via ACL
but nvim and libuv do not support ACL.
Windows does not support the executable bit in chmod-style permissions
but it is safe to assume that if the file exists and is readable,
then it is most likely executable.
This means that win.ini and shell32.dll are "executable"
because they exist, are readable, and are in PATH.
PATHEXT does not affect the executable permission of a file;
it exists to run files on the shell while omitting the file extension.
Assume that PATHEXT is intended for cmd.exe only
because powershell can execute powershell files (ie. *.ps1)
without changing PATHEXT or related cmd.exe environment variable.
In the future, nvim should check the outputs of 'assoc' and 'ftype',
cmd.exe internal commands, or check the registry.
Powershell can be used for ACL if C++/C# API is too difficult to use.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: MS-Windows: executable() is not reliable.
Solution: Use $PATHEXT properly. (Yasuhiro Matsumoto, closes vim/vim#3412)
https://github.com/vim/vim/commit/8295666dc2c65e42135b91d5c61e2a140d002333
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: resolve() was not tested with a symlink cycle.
Solution: Add a test. (Dominique Pelle, closes vim/vim#3513)
https://github.com/vim/vim/commit/261099070940fb64d4633a766ae3510fffe4171d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Function to set terminal name is too long.
Solution: Refactor the function. Fix typo in test.
https://github.com/vim/vim/commit/69e056915c4145b7b64c60963797692a5b293561
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
src/nvim/eval/typval.c
src/nvim/fileio.c
src/nvim/main.c
src/nvim/regexp_nfa.c
src/nvim/spellfile.c
changed some EMSG[..] Macros to emsgf
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
log.c
message.c
strings.c
fixed some printf warnings in:
src/nvim/undo.c
src/nvim/eval.c
src/nvim/eval/encode.c
src/nvim/eval/typval.c
src/nvim/ex_getln.c
src/nvim/fileio.c
src/nvim/lua/executor.c
src/nvim/main.c
src/nvim/regexp_nfa.c
src/nvim/shada.c
src/nvim/spellfile.c
src/nvim/tui/terminfo.c
src/nvim/garray.h
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes handing of "-" on Python 3:
Traceback (most recent call last):
File "…/Vcs/neovim/src/clint.py", line 3625, in <module>
main()
File "…/Vcs/neovim/src/clint.py", line 3618, in main
ProcessFile(filename, _cpplint_state.verbose_level)
File "…/Vcs/neovim/src/clint.py", line 3464, in ProcessFile
'replace').read().split('\n')
File "/usr/lib/python3.7/codecs.py", line 701, in read
return self.reader.read(size)
File "/usr/lib/python3.7/codecs.py", line 500, in read
data = self.bytebuffer + newdata
TypeError: can't concat str to bytes
|
| | |
| | |
| | |
| | |
| | | |
Support was added in https://github.com/GNOME/vte/commit/efaf8f3c.
Fixes #9083
|
| | |
| | |
| | |
| | |
| | | |
Problem: remove() with a range not sufficiently tested.
Solution: Add a test. (Dominique Pelle, closes vim/vim#3497)
https://github.com/vim/vim/commit/2bfddfc508bcc8dcee108f098eb75844a228fa44
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: No completion for :unlet $VAR.
Solution: Add completion. (Jason Franklin)
https://github.com/vim/vim/commit/19834010889fc5bfa0f88b3ba83133dae6c0a35d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Cannot use :unlet for an environment variable.
Solution: Make it work. Use unsetenv() if available.
(Yasuhiro Matsumoto, closes vim/vim#2855)
https://github.com/vim/vim/commit/137374fd6538cf9dee0cb22907728d8fdecb5832
|
|/ / / |
|
| | | |
|
|\ \ \
| | | |
| | | | |
tui: add support for undercurl and colored underline
|
| | | |
| | | |
| | | |
| | | | |
Fixes https://github.com/neovim/neovim/issues/7479.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If $TERM is not defined then unibi_from_term() would crash.
Reverts 3bdc34d0657d223599afdf0ce9b072fafa3d5648.
ref #9072
|
|/ / /
| | |
| | |
| | |
| | | |
Avoids redundant call to `getenv("TERM")`.
Ref: https://github.com/mauke/unibilium/blob/e3b16d6219ca1cb92d98b1d9cc416b49a3ac468e/uniutil.c#L203-L211
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Corrupt(?) persistent undofile leads to an infinite loop.
Solution: Break out of loop if undo_read_byte returns EOF (cf.
u_read_undo() which does this too).
backtrace from lldb (@ a743297be2b3):
Process 70700 stopped
* thread 1: tid = 0x147d2d1, 0x00007fff8c8facd7 libsystem_pthread.dylib`__mtx_droplock + 209, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame 0: 0x00007fff8c8facd7 libsystem_pthread.dylib`__mtx_droplock + 209
libsystem_pthread.dylib`__mtx_droplock + 209:
-> 0x7fff8c8facd7: movq %rcx, -0x50(%rbp)
0x7fff8c8facdb: movq %r8, -0x58(%rbp)
0x7fff8c8facdf: movq %rdx, -0x68(%rbp)
0x7fff8c8face3: movq %r14, -0x60(%rbp)
(lldb) bt
* thread 1: tid = 0x147d2d1, 0x00007fff8c8facd7 libsystem_pthread.dylib`__mtx_droplock + 209, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame 0: 0x00007fff8c8facd7 libsystem_pthread.dylib`__mtx_droplock + 209
frame 1: 0x00007fff8c8fab4e libsystem_pthread.dylib`pthread_mutex_unlock + 63
frame 2: 0x00007fff915da2a4 libsystem_c.dylib`getc + 63
frame 3: 0x000000010e6194b9 nvim`undo_read_byte(bi=0x00007fff5181a838) + 25 at undo.c:1553
frame 4: 0x000000010e619685 nvim`unserialize_uhp(bi=0x00007fff5181a838, file_name=0x000000000f2e8060) + 421 at undo.c:840
frame 5: 0x000000010e618abb nvim`u_read_undo(name=0x0000000000000000, hash=0x00007fff5181af80, orig_name=0x000000000f370dd0) + 1579 at undo.c:1363
frame 6: 0x000000010e4a8db9 nvim`readfile(fname=0x000000000f370dd0, sfname=0x000000000f370dd0, from=0, lines_to_skip=0, lines_to_read=2147483647, eap=0x00007fff5181b6a0, flags=1) + 21017 at fileio.c:
1961
frame 7: 0x000000010e3ecc8b nvim`open_buffer(read_stdin=0, eap=0x00007fff5181b6a0, flags=0) + 603 at buffer.c:153
...
closes #2879
closes #2880
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It fails with `nvim -u NONE -c 'set modified' -c 'confirm q'`.
Introduced in 3dffc842f (vim-patch:8.0.0983), but the Vim patch [1] does not
have this assertion.
NULL gets handled in `dialog_msg` [2].
1: https://github.com/vim/vim/commit/3f9a1ff141412e9e85f7dff47d02946cb9be9228
2: https://github.com/neovim/neovim/blob/c6d36b97bac0df86c1120af323db1b577dc90629/src/nvim/ex_docmd.c#L9704-L9705
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Syntax highlighting not working when re-entering a buffer.
Solution: Do force executing autocommands when not called recursively.
https://github.com/vim/vim/commit/a5616b0136cea2104a475d143a1685d71e9b2d3d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Nasty autocommand causes using freed memory. (Dominique Pelle)
Solution: Do not force executing autocommands if the value of 'syntax' or
'filetype' did not change.
https://github.com/vim/vim/commit/c3ffc9b8d3015dc5280b297b4e3deb4f34944bd4
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Nasty autocommands can still cause using freed memory.
Solution: Disallow using setloclist() and setqflist() recursively.
https://github.com/vim/vim/commit/2f82ca7d79148ae931bf28a747ede06ba8a65de8
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Weird autocmd may cause arglist to be changed recursively.
Solution: Prevent recursively changing the argument list. (Christian
Brabandt, closes vim/vim#2472)
https://github.com/vim/vim/commit/9e33efd1523b85a70533930dd43a26925a2b648c
|
| | |
| | |
| | |
| | |
| | | |
Problem: Sort doesn't report deleted lines.
Solution: Call msgmore(). (Christian Brabandt, closes vim/vim#3454)
https://github.com/vim/vim/commit/b0e982bf05feb27eddb5f809b052c1137f4d4add
|
|\ \ \
| | | |
| | | | |
TUI code simplification and dead code elimination
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The scrolling region is always local to a single grid_scroll event, use
local variables and parameters instead.
The invocation of reset_scroll_region in grid_resize is cargo-culted to use
margin reset under exactly the same circumstances, not sure if it is necessary
though.
|
| | | |
| | | |
| | | |
| | | | |
remove dead ugrid_put
|
|\ \ \ \ |
|
| | | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Buffer 'modified' set even when :sort has no changes.
Solution: Only set 'modified' when lines are moved. (Jason Franklin)
https://github.com/vim/vim/commit/dc9e955fb07f410d5d3e981ce18d895dd2847c85
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Cursorline highlight not removed in some situation. (Vitaly
Yashin)
Solution: Reset last_cursorline when resetting 'cursorline'. (Christian
Brabandt, closes vim/vim#3481)
https://github.com/vim/vim/commit/8c63e0ec314ba07d54b881dc629fe19e6eda1fb8
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Can get the text of inputsecret() with getcmdline(). (Tommy Allen)
Solution: Don't return the text.
https://github.com/vim/vim/commit/ee91c33570008aefd2d62b8f88b22db751acacbe
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Mapping can obtain text from inputsecret(). (Tommy Allen)
Solution: Disallow CTRL-R = and CTRL-\ e when using inputsecret().
https://github.com/vim/vim/commit/31cbadf74bccc2a5cd8233bc31bbcfe466b00021
|