| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fixes #11438
Backtrace:
0 schar_from_ascii ( p=0x801cc9e112c3 <error: Cannot access memory at address 0x801cc9e112c3>, c=32 ' ') at ../src/nvim/screen.c:5263
1 0x00007f31460eccc5 in win_line (wp=wp@entry=0x7fffc9df6230, lnum=lnum@entry=11, startrow=startrow@entry=10, endrow=41, nochange=false, number_only=number_only@entry=false) at ../src/nvim/screen.c:4025
2 0x00007f31460eed8e in win_update (wp=wp@entry=0x7fffc9df6230) at ../src/nvim/screen.c:1403
3 0x00007f31460f011f in update_screen (type=<optimized out>) at ../src/nvim/screen.c:502
4 0x00007f3146138ef4 in normal_redraw (s=s@entry=0x7fffd0a5f700) at ../src/nvim/normal.c:1247
5 0x00007f314613b159 in normal_check (state=0x7fffd0a5f700) at ../src/nvim/normal.c:1324
6 0x00007f31460accfe in state_enter (s=0x7fffd0a5f700) at ../src/nvim/state.c:28
7 0x00007f3146143099 in normal_enter (cmdwin=<optimized out>, noexmode=<optimized out>) at ../src/nvim/normal.c:463
8 0x00007f314618b541 in main (argc=<optimized out>, argv=<optimized out>) at ../src/nvim/main.c:580
|
|
|
|
| |
close #11459
|
|
|
|
|
|
|
| |
Problem: In diff mode global operations can be very slow.
Solution: Do not call diff_redraw() many times, call it once when redrawing.
And also don't update folds multiple times.
https://github.com/vim/vim/commit/4f57eefe1e84b5a90e08474092ea6fc8825ad5c9
|
|
|
|
|
|
|
| |
Problem: Some MB_ macros are more complicated than necessary. (Dominique
Pelle)
Solution: Simplify the macros. Expand inline.
https://github.com/vim/vim/commit/1614a14901558ca091329315d14a7d5e1b53aa47
|
|
|
|
|
|
|
|
|
|
|
|
| |
Vim patch 8.1.0856 (54d9ea6) caused a performance regression in Neovim,
when `set conceallevel=1 nocursorline` was used, since then due to
refactoring in 23c71d5 `w_last_cursorline` would never get updated
anymore.
Adds/uses `redrawdebug+=nodelta` for testing this.
Fixes https://github.com/neovim/neovim/issues/11100.
Closes https://github.com/neovim/neovim/pull/11101.
|
|
|
|
|
| |
Fixes https://github.com/neovim/neovim/issues/11024, regressed in 23c71d51.
Closes https://github.com/neovim/neovim/pull/11120.
|
| |
|
|
|
|
|
|
|
|
| |
(Credit: Zach Wegner, https://github.com/neovim/neovim/pull/11034)
Problem: "precedes" in 'listchars' not used properly.
Solution: Correctly handle the "precedes" char in list mode for long lines.
https://github.com/vim/vim/commit/bffba7f7042f6082e75b42484b15f66087b01941
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the "precedes" character would be rendered on every row
when w_skipcol > 0 (i.e., when viewing a single line longer than the
entire screen), instead of just on the first row. Make sure to only
render it on the first row in this case.
Add a test for this behavior.
Fix documentation for the "precedes" character, which erroneously
stated that it was only active when wrap mode was off.
|
| |
|
|
|
|
|
|
|
| |
Before 6e9ea5adc `win_ins_lines` would return `FAIL` for `i/line_count == 0`.
Handle this by checking it in the outer `if`.
Ref: https://github.com/neovim/neovim/commit/6e9ea5ad#commitcomment-35084669
|
| |
|
|
|
|
|
|
|
| |
Problem: SET_NO_HLSEARCH() used in a wrong way.
Solution: Make it a function. (suggested by Dominique Pelle,
closes vim/vim#2850)
https://github.com/vim/vim/commit/451fc7b954906069f1830a8092ad85616049a828
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently `nvim -u NORC --cmd "set display-=msgsep"` will still allocate the
message grid and remove it just afterwards. While inefficient, we must
make sure update_screen() re-validates the default_grid completely when
this happens.
Fix some invalid logic: don't reallocate msg_grid on resize when the grid is not
used.
Elide a too early ui_flush() on startup, which caused an invalid cursor
position to be used.
|
| |
|
|
|
|
|
|
|
|
| |
add proper msg_set_pos event, delet win_scroll_over_*
make compositor click through unfocusable grids
add MsgArea attribute for the message/cmdline area, and add docs and tests
|
|
|
|
|
|
|
|
| |
The screen resize logic needs to be refactored to be simpler and more
deterministic. Until then, we need to handle attempts to draw outside of the
screen size gracefully, just like the old vim code did.
fixes #9989
|
|
|
|
|
|
|
|
| |
Problem: In screen.c grid_char_needs_redraw clang warns
that grid->chars could be NULL
Solution: Suggested by bfredl. Add explicit check
grid->chars != NULL in grid_put_linebuf
similar to grid_puts_len
|
|
|
|
|
|
| |
Problem: Crash when using gtags. (issue vim/vim#4102)
Solution: Check for negative row or col in screen_puts_len(). (Christian
Brabandt)
https://github.com/vim/vim/commit/0b4c9eddb5752d46b65d16e42230b1228f230f40
|
|
|
|
|
|
|
| |
Suppress the warning.
mb_c and mb_l describe a char together, they are not independent variables. The
coupled assignments are good practice to avoid future confusion, even if the
current code doesn't use an assigned value.
|
|
|
|
| |
Also revert possibly-wrong change in f_sign_getplaced() from
652be3cb0040.
|
|
|
|
|
| |
Problem: Compiler warning for unused variables. (Tony Mechelynck)
Solution: Add #ifdef.
https://github.com/vim/vim/commit/fbfb757d4cb19e14853605f70ac663e42ec74663
|
|
|
| |
Fix win_draw_end invocation, pass HLF symbol explicitly.
|
|
|
|
|
|
|
| |
Problem: Tabline is not always redrawn when something that is used in
'tabline' changes.
Solution: Add ":redrawtabline" so that a plugin can at least cause the
redraw when needed.
https://github.com/vim/vim/commit/e12bab3144af8943937bd0ff4bc57f04e53037b3
|
| |
|
|\
| |
| | |
refactor: enable -Wconversion for ex_getln.c and use int for Rows/Columns
|
| | |
|
| | |
|
| |
| |
| |
| | |
wp->w_p_list is checked earlier in the same composite if condition
|
|/
|
|
| |
c == '\000' is always true because of the if branch it is already in
|
|
|
|
|
|
| |
Problem: Iterating through window frames is repeated.
Solution: Define FOR_ALL_FRAMES. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/3d1491ed2394b3e92902102879bace28a5f9c201
|
|
|
|
|
| |
The + 1 can be removed. It was used for current_screenline, which
now is dedicated linebuf_char buffer.
|
| |
|
|\
| |
| | |
api/window: add style="minimal" flag to disable unwanted UI features for simple floats
|
| | |
|
|/
|
|
|
|
| |
Problem: 'numberwidth' can only go up to 10.
Solution: Allow up to 20. (Charlie Stanton, closes vim/vim#4584)
https://github.com/vim/vim/commit/f8a071265535b8cc43e50a81f4d5049883ca50e4
|
|
|
|
|
|
| |
Note: test doesn't fail on master. I cannot reproduce the glitches with
-u NONE, probably it requires interfering events. But add some coverage
for these checks at least.
|
|
|
|
|
| |
- position might get invalid with "longest" match
- position might be wrong when completed pattern ends in "/"
|
|
|
|
|
|
|
| |
Problem: Stuck in redraw loop when 'lazyredraw' is set.
Solution: Don't loop on update_screen() when not redrawing. (Yasuhiro
Matsumoto, closes vim/vim#2082)
https://github.com/vim/vim/commit/072412ed45aa20a67aaa7e387d7f6bf59c7d3fbe
|
|
|
|
|
|
|
| |
Problem: Some macros are used without a semicolon, causing auto-indent to be
wrong.
Solution: Use the do-while(0) trick. (Ozaki Kiichi, closes vim/vim#2729)
https://github.com/vim/vim/commit/6f4700233fd925fe122b851f937929fb5e5da707
|
|
|
|
| |
Also add `hi blend=` attribute to override transparency of indiviual attributes.
|
|
|
|
|
|
|
|
| |
* screen: Fix to draw signs with combining characters.
The buffer size for signs can be too small, because the upper length
limit of a sign can be 56 bytes. If combining characters are only two
bytes in size, this reduces to 32 bytes.
* screen: Adjust buffer size to maximal sign column count
|
|
|
|
|
| |
Also restore the symmetry between grid_puts_line_start and
grid_puts_line_flush.
|
|
|
|
|
|
|
| |
Problem: :stopinsert changes the message position.
Solution: Save and restore msg_col and msg_row in clearmode(). (Jason
Franklin)
https://github.com/vim/vim/commit/2abad54cede7c33f090fbde19a9a3eb3dbf78e53
|
| |
|
|
|
|
| |
* Fix wildmode=list and display+=msgsep interaction
* Add test to check ext_messages behaviour is unchanged
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closes vim/vim#2745) Rename the global variables for consistency. Store
the register name in reg_executing.
https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd
|
|\
| |
| | |
vim-patch:8.1.0614,8.1.0632,8.1.0644,8.1.0658,8.1.0660,8.1.0669,8.1.0673,8.1.0679,8.1.0697,8.1.0701,8.1.0702,8.1.0709,8.1.0717,8.1.0750,8.1.0767,8.1.0772,8.1.0039
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Windows are updated for every added/deleted sign.
Solution: Do not call update_debug_sign(). Only redraw when the line with
the sign is visible. (idea from neovim vim/vim#9479)
https://github.com/vim/vim/commit/27a472c32ed5b5298bca50864570a4a71ec1d204
|