Problem: Loading a session file fails if 'winheight' is a big number.
Solution: Set 'minwinheight' to zero at first. Don't give an error when
setting 'minwinheight' while 'winheight' is a big number.
Fix using vertical splits. Fix setting 'minwinwidth'.
(closesvim/vim#2970)
1c3c10492a
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
gcc version 8.3.0 (Debian 8.3.0-6)
../src/nvim/ex_docmd.c: In function ‘commands_array’:
../src/nvim/ex_docmd.c:10192:36: warning: ‘%ld’ directive output may be truncated writing between 1 and 19 bytes into a region of size 10 [-Wformat-truncation=]
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~
../src/nvim/ex_docmd.c:10192:37: note: format string is defined here
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
../src/nvim/ex_docmd.c:10192:36: note: directive argument in the range [0, 9223372036854775807]
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~
../src/nvim/ex_docmd.c:10192:9: note: ‘snprintf’ output between 2 and 20 bytes into a destination of size 10
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/nvim/ex_docmd.c:10205:36: warning: ‘%ld’ directive output may be truncated writing between 1 and 19 bytes into a region of size 10 [-Wformat-truncation=]
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~
../src/nvim/ex_docmd.c:10205:37: note: format string is defined here
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
../src/nvim/ex_docmd.c:10205:36: note: directive argument in the range [0, 9223372036854775807]
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~
../src/nvim/ex_docmd.c:10205:9: note: ‘snprintf’ output between 2 and 20 bytes into a destination of size 10
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/nvim/spell.c: In function ‘did_set_spelllang’:
../src/nvim/spell.c:1631:61: warning: ‘%s’ directive output may be truncated writing up to 254 bytes into a region of size 84 [-Wformat-truncation=]
"autocmd VimEnter * call spellfile#LoadFile('%s')|set spell",
^~
../src/nvim/spell.c:2063:25:
spell_load_lang(lang);
~~~~
../src/nvim/spell.c:1630:7: note: ‘snprintf’ output between 57 and 311 bytes into a destination of size 128
snprintf(autocmd_buf, sizeof(autocmd_buf),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"autocmd VimEnter * call spellfile#LoadFile('%s')|set spell",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lang);
~~~~~
../src/nvim/window.c: In function ‘win_rotate’:
../src/nvim/window.c:1780:22: warning: ‘wp2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
wp2->w_pos_changed = true;
^
../src/nvim/window.c:1779:22: warning: ‘wp1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
wp1->w_pos_changed = true;
Problem: Some macros are used without a semicolon, causing auto-indent to be
wrong.
Solution: Use the do-while(0) trick. (Ozaki Kiichi, closesvim/vim#2729)
6f4700233f
- redraw! in an invisible buffer rendered the screen unusable.
- storing the autocmd window handle and using it in API function could lead
to crashes. Unregister the handle when the window is not active.
Problem: A BufReadPre autocommand may cause the cursor to move.
Solution: Restore the cursor position after executing the autocommand,
unless the autocommand moved it. (Christian Brabandt,
closesvim/vim#4302, closesvim/vim#4294)
a68e595909
Problem: No cmdline redraw when tabpages have different 'cmdheight'.
Solution: redraw the command line when 'cmdheight' changes when switching
tabpages. (closesvim/vim#4321)
0fef0aeb1c
- Allow floating windows of width 1. #9846
- For a new floating window the size must be specified. Later on we
might try to calculate a reasonable size by buffer contents
- Remember the configured size of a window, just like its position.
- Make get_config and set_config more consistent. Handle relative='' properly in set_config.
get_config doesn't return keys that don't make sense for a non-floating window.
- Don't use width=0 for non-changed width, just omit the key.
Using `:wincmd j` and friends doesn't make much sense to a floating window. For
convenience though, any direction will simply change to the previous window.
Make sure the previous window is valid, not the current window, and not another
floating window. Change to the first window (which is never a floating window)
otherwise.
Problem: Height of quickfix window not retained with vertical split.
Solution: Use frame_fixed_height() and frame_fixed_width(). (Hongbo Liu,
closesvim/vim#4013, closesvim/vim#2998)
9e1e358d37closes#3608
Nvim doesn't expect a window-changing command on an created-window event.
autocmd WinNew * wincmd p
help help
- A snapshot for window 1000 is created.
- The window is split and the cursor changes to the new window 1001.
- The autocmd kicks in and switches back to 1000.
- The help buffer is opened.
- On closing the help window 1000, it tries to go back to the snapshotted window
which is... 1000.
- wp1000->w_buffer == NULL
- w_buffer is used by check_cursor()
- 🧨 -> 💥
Fixes https://github.com/neovim/neovim/issues/9773
Problem: "gf" does not always work when URL has a port number. (Jakob
Schöttl)
Solution: When a URL is recognized also accept ":". (closesvim/vim#4082)
cbef8e1aa1
Problem: Relative cursor position is not calculated correctly.
Solution: Always set topline, also when window is one line only.
(Robert Webb) Add more info to getwininfo() for testing.
8fcb60f961
wp->w_height_inner now contains the "inner" size, regardless if the
window has been drawn yet or not. It should be used instead of
wp->w_grid.Rows, for stuff that is not directly related to accessing
the allocated grid memory, such like cursor movement and terminal size