aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* refactor: remove __clang_analyzer__ macrodundargoc2023-11-21
| | | | | It is less intrusive to silence the warning with a comment instead of a macro if needed.
* build: suppress bugprone-reserved-identifier warningsdundargoc2023-11-21
| | | | | These are only used when running `make lintc` with ENABLE_ASAN_UBSAN enabled, which is why it wasn't caught by CI.
* build: reorganize cmake filesdundargoc2023-11-21
| | | | | | Also add _GNU_SOURCE compiler definition for all non MSVC compilers. Closes https://github.com/neovim/neovim/issues/26087.
* fix(column): always set b_signcols.maxLuuk van Baal2023-11-21
| | | | Fix #26135
* refactor(sign): store 'signcolumn' width range when it is setLuuk van Baal2023-11-21
| | | | | Problem: Minimum and maximum signcolumn width is determined each redraw. Solution: Determine and store 'signcolumn' range when option is set.
* build: adjust clang-tidy warning exclusion logicdundargoc2023-11-20
| | | | | | | Enable all clang-tidy warnings by default instead of disabling them. This ensures that we don't miss useful warnings on each clang-tidy version upgrade. A drawback of this is that it will force us to either fix or adjust the warnings as soon as possible.
* refactor: enable formatting for ternariesdundargoc2023-11-20
| | | | | | This requires removing the "Inner expression should be aligned" rule from clint as it prevents essentially any formatting regarding ternary operators.
* build: bump uncrustify to version 0.78.1dundargoc2023-11-20
|
* refactor: follow style guidedundargoc2023-11-19
| | | | | - reduce variable scope - prefer initialization over declaration and assignment
* build: bump uncrustify versiondundargoc2023-11-19
| | | | Biggest change is that uncrustify is silent during linting.
* fix(sign): do not error when defining sign without attributes (#26106)luukvbaal2023-11-19
| | | Fix https://github.com/airblade/vim-gitgutter/issues/875
* refactor(extmark): redundant ExtmarkInfo delenda est, use MTPair insteadbfredl2023-11-18
|
* build: various cmake fixesdundargoc2023-11-18
| | | | | | | | | | - Correct MSVC warning suppression. The C4003 warning is issued during file generation and not for the actual source files. - Remove non-existent "scripts/pvscheck.sh" file from `lintsh` target. - Remove spaces inside for loops with uncrustify. - Point dependencies to use a git tag rather than releases, as releases might have changes that deviate from the actual source code. - Automatically update uncrustify config before formatting or linting.
* Merge pull request #25724 from luukvbaal/signmergebfredl2023-11-18
|\ | | | | refactor(sign): move legacy signs to extmarks
| * refactor(sign): move legacy signs to extmarksLuuk van Baal2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The legacy signlist data structures and associated functions are redundant since the introduction of extmark signs. Solution: Store signs defined through the legacy commands in a hashmap, placed signs in the extmark tree. Replace signlist associated functions. Usage of the legacy sign commands should yield no change in behavior with the exception of: - "orphaned signs" are now always removed when the line it is placed on is deleted. This used to depend on the value of 'signcolumn'. - It is no longer possible to place multiple signs with the same identifier in a single group on multiple lines. This will now move the sign instead. Moreover, both signs placed through the legacy sign commands and through |nvim_buf_set_extmark()|: - Will show up in both |sign-place| and |nvim_buf_get_extmarks()|. - Are displayed by increasing sign identifier, left to right. Extmark signs used to be ordered decreasingly as opposed to legacy signs.
* | fix(completion): filter results with complete+=f (#26029)Raphael2023-11-18
| |
* | refactor(tui): use termkey_interpret_modereportGregory Anders2023-11-17
| | | | | | | | | | The sign extension issue has been fixed upstream, so we no longer need to use our own workaround.
* | refactor(tui): refactor Kitty keyboard query implementationGregory Anders2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor our implementation of querying for Kitty keyboard protocol support: - Remove usage of the "extkeys" term. This is not standard or really used elsewhere. Use "key encoding" instead - Replace usages of "CSIu" with "Kitty". "Kitty keyboard protocol" is vastly more common than "CSIu" now - Replace the countdown response counter with a simple boolean flag. We don't actually need a countdown counter because we request the primary device attributes along with the Kitty keyboard query, so we will always receive a "terminating event", making a countdown/timer unnecessary - Move the CSI response handling into a dedicated function - Bypass Unibilium for sending key encoding escape sequences. These sequences are not part of terminfo and do not have any parameters, so there's no reason to go through Unibilium
* | fix(tui): handle cursor visibility properly (#26091)zeertzjq2023-11-17
| | | | | | | | The test is for the case without 'termsync' because libvterm doesn't support synchronized output, and it passes without this PR.
* | refactor(grid): make screen rendering more multibyte than ever beforebfredl2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: buffer text with composing chars are converted from UTF-8 to an array of up to seven UTF-32 values and then converted back to UTF-8 strings. Solution: Convert buffer text directly to UTF-8 based schar_T values. The limit of the text size is now in schar_T bytes, which is currently 31+1 but easily could be raised as it no longer multiplies the size of the entire screen grid when not used, the full size is only required for temporary scratch buffers. Also does some general cleanup to win_line text handling, which was unnecessarily complicated due to multibyte rendering being an "opt-in" feature long ago. Nowadays, a char is just a char, regardless if it consists of one ASCII byte or multiple bytes.
* | fix(lua): only disable vim.schedule() when closing main loop (#26090)zeertzjq2023-11-17
| |
* | vim-patch:9.0.2106: [security]: Use-after-free in win_close()zeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: Use-after-free in win_close() Solution: Check window is valid, before accessing it If the current window structure is no longer valid (because a previous autocommand has already freed this window), fail and return before attempting to set win->w_closing variable. Add a test to trigger ASAN in CI https://github.com/vim/vim/commit/25aabc2b8ee1e19ced6f4da9d866cf9378fc4c5a Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.2010: [security] use-after-free from buf_contents_changed()zeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | Problem: [security] use-after-free from buf_contents_changed() Solution: block autocommands https://github.com/vim/vim/commit/41e6f7d6ba67b61d911f9b1d76325cd79224753d Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.1969: [security] buffer-overflow in trunc_string()zeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: buffer-overflow in trunc_string() Solution: Add NULL at end of buffer Currently trunc_string() assumes that when the string is too long, buf[e-1] will always be writeable. But that assumption may not always be true. The condition currently looks like this else if (e + 3 < buflen) [...] else { // can't fit in the "...", just truncate it buf[e - 1] = NUL; } but this means, we may run into the last else clause with e still being larger than buflen. So a buffer overflow occurs. So instead of using `buf[e - 1]`, let's just always truncate at `buf[buflen - 1]` which should always be writable. https://github.com/vim/vim/commit/3bd7fa12e146c6051490d048a4acbfba974eeb04 vim-patch:9.0.2004: Missing test file Problem: Missing test file Solution: git-add the file to the repo closes: vim/vim#13305 https://github.com/vim/vim/commit/d4afbdd0715c722cfc73d3a8ab9e578667615faa Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.1864: still crash with bt_quickfix1_poczeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: crash with bt_quickfix1_poc when cleaning up and EXITFREE is defined Solution: Test if buffer is valid in a window, else close window directly, don't try to access buffer properties While at it, increase the crash timeout slightly, so that CI has a chance to finish processing the test_crash() test. https://github.com/vim/vim/commit/623ba31821a41acee7e948794e84867680b97885 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.1858: [security] heap use after free in ins_compl_get_exp()zeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | Problem: heap use after free in ins_compl_get_exp() Solution: validate buffer before accessing it https://github.com/vim/vim/commit/ee9166eb3b41846661a39b662dc7ebe8b5e15139 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.1857: [security] heap-use-after-free in is_qf_win()zeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | Problem: heap-use-after-free in is_qf_win() Solution: Check buffer is valid before accessing it https://github.com/vim/vim/commit/fc68299d436cf87453e432daa77b6d545df4d7ed Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.2107: [security]: FPE in adjust_plines_for_skipcol (#26082)zeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: FPE in adjust_plines_for_skipcol Solution: don't divide by zero, return zero Prevent a floating point exception when calculating w_skipcol (which can happen with a small window when the number option is set and cpo+=n). Add a test to verify https://github.com/vim/vim/commit/cb0b99f0672d8446585d26e998343dceca17d1ce Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.2111: [security]: overflow in get_numberzeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: overflow in get_number Solution: Return 0 when the count gets too large [security]: overflow in get_number When using the z= command, we may overflow the count with values larger than MAX_INT. So verify that we do not overflow and in case when an overflow is detected, simply return 0 https://github.com/vim/vim/commit/73b2d3790cad5694fc0ed0db2926e4220c48d968 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.2110: [security]: overflow in ex address parsingzeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: overflow in ex address parsing Solution: Verify that lnum is positive, before substracting from LONG_MAX [security]: overflow in ex address parsing When parsing relative ex addresses one may unintentionally cause an overflow (because LONG_MAX - lnum will overflow for negative addresses). So verify that lnum is actually positive before doing the overflow check. https://github.com/vim/vim/commit/060623e4a3bc72b011e7cd92bedb3bfb64e06200 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.2109: [security]: overflow in nv_z_get_countzeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: overflow in nv_z_get_count Solution: break out, if count is too large When getting the count for a normal z command, it may overflow for large counts given. So verify, that we can safely store the result in a long. https://github.com/vim/vim/commit/58f9befca1fa172068effad7f2ea5a9d6a7b0cca Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.2108: [security]: overflow with count for :s commandzeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: [security]: overflow with count for :s command Solution: Abort the :s command if the count is too large If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Adds a test with INT_MAX as count and verify it correctly fails. It seems the return value on Windows using mingw compiler wraps around, so the initial test using :s/./b/9999999999999999999999999990 doesn't fail there, since the count is wrapping around several times and finally is no longer larger than 2147483647. So let's just use 2147483647 in the test, which hopefully will always cause a failure https://github.com/vim/vim/commit/ac63787734fda2e294e477af52b3bd601517fa78 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.0.1532: crash when expanding "~" in substitute causes very long textzeertzjq2023-11-17
| | | | | | | | | | | | | | | | | | Problem: Crash when expanding "~" in substitute causes very long text. Solution: Limit the text length to MAXCOL. https://github.com/vim/vim/commit/ab9a2d884b3a4abe319606ea95a5a6d6b01cd73a Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | feat(tui): support DCS responses in TermResponse event (#26061)Gregory Anders2023-11-16
| |
* | refactor: remove B_SPELL macro (#26063)zeertzjq2023-11-16
| |
* | refactor: iwyu (#26062)zeertzjq2023-11-16
| |
* | refactor: move some functions to winfloat.c (#26020)Raphael2023-11-16
| |
* | fix(tui): do not toggle cursor visibility when flushing the buffer (#26055)Gregory Anders2023-11-15
|/ | | | | | | | | | | | | | | | | | | | | | When writing large amounts of data to the tty it is common to first hide the cursor to avoid a flickering effect. This has been done in Nvim for a long time and was implemented in the function that actually flushed the TUI buffer out to the TTY. However, when using synchronized updates with the 'termsync' option this is no longer necessary, as the terminal emulator will buffer all of the updates and display them atomically. Thus there is no need to toggle the cursor visibility when flushing the buffer when synchronized updates are used. In fact, doing so can actually reintroduce cursor flickering in certain scenarios because the visibility state is itself being synchronized by the terminal. In addition, the management of the cursor visibility should not happen when the TUI _buffer_ is flushed, but rather when the TUI itself is flushed. This is a subtle but meaningful distinction: the former literally writes bytes to the TTY while the latter flushes the TUI's grid into its buffer. There is no need to hide the cursor every time we write bytes to the TTY, only at the beginning of a full TUI "flush" event.
* vim-patch:9.0.2105: skipcol not reset when topline changed (#26042)luukvbaal2023-11-15
| | | | | | | | Problem: Skipcol is not reset when topline changed scrolling cursor to top Solution: reset skipcol closes: vim/vim#13528 https://github.com/vim/vim/commit/bb800a7907209f7d349f87b76b3b9ca30b416298
* feat(tui): add 'termsync' option (#25871)Gregory Anders2023-11-14
| | | | | | | The 'termsync' option enables a mode (provided the underlying terminal supports it) where all screen updates during a redraw cycle are buffered and drawn together when the redraw is complete. This eliminates tearing or flickering in cases where Nvim redraws slower than the terminal redraws the screen.
* refactor: vim.ui.clipboard #26040Justin M. Keyes2023-11-14
| | | | | | | | | | Problem: Platform-specific UI providers should live in `vim.ui.*`. #24164 Solution: - Move `vim.clipboard.osc52` module to `vim.ui.clipboard.osc52`. - TODO: move all of `clipboard.vim` to `vim.ui.clipboard`. ref #25872
* fix(defaults): set 'fsync' #26034Ploum2023-11-14
| | | | | | | | Problem: 'nofsync' may lose data if the system has a hard shutdown. #9888 Solution: Change default to 'fsync'. This may be revisited in the future when 'nofsync' can be made safer.
* Merge pull request #25918 from gpanders/background-colorGregory Anders2023-11-13
|\
| * fix(lua): do not schedule events if Nvim is exitingGregory Anders2023-11-13
| | | | | | | | | | | | If Nvim is in the process of exiting then we do not want to allocate any new refs onto the event loop, because they will not be freed and will result in a memory leak.
| * docs: deprecate the "term_background" UI fieldGregory Anders2023-11-13
| |
| * refactor: move background color detection into LuaGregory Anders2023-11-13
| |
* | refactor: follow style guidedundargoc2023-11-13
|/ | | | | | - reduce variable scope - prefer initialization over declaration and assignment - use bool to represent boolean values
* version.c: update (#26025)github-actions[bot]2023-11-13
| | | Co-authored-by: marvim <marvim@users.noreply.github.com>
* fix(textformat): remove unnecessary changed_bytes() (#26027)zeertzjq2023-11-13
| | | This was removed from Vim in patch 8.1.0681.
* vim-patch: mark N/A 8.1 patches #26008Justin M. Keyes2023-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Numerous Vim 8.1 patches are listed by `vim-patch.sh -l`. Solution: Mark the following patches as N/A: obviated by $NVIM env var: vim-patch:8.1.0049 shell cannot tell running in a terminal window vim-patch:8.1.0050 $VIM_TERMINAL is also set when not in a terminal window 'termwinkey' is not supported by Nvim: vim-patch:8.1.0072 use of 'termwinkey' is inconsistent Nvim handles STOP signal via libuv: vim-patch:8.1.0304 no redraw when using a STOP signal on Vim and then CONT vim-patch:8.1.0312 wrong type for flags used in signal handlers Nvim does not have `parse_queued_messages`: vim-patch:8.1.0367 getchar(1) no longer processes pending messages N/A various: vim-patch:8.1.1396 'wincolor' does not apply to lines below the buffer vim-patch:8.1.1502 cannot play any sound vim-patch:8.1.1515 memory leak reported for sound when build with EXITFREE Nvim has extmarks instead of textprops: vim-patch:8.1.0579 cannot attach properties to text vim-patch:8.1.0582 text properties are not enabled vim-patch:8.1.0634 text properties cannot cross line boundaries vim-patch:8.1.0638 text property highlighting is off by one column vim-patch:8.1.0639 text properties test fails on MS-Windows vim-patch:8.1.0643 computing byte offset wrong vim-patch:8.1.0654 when deleting a line text property flags are not adjusted vim-patch:8.1.0655 when appending a line text property flags are not added vim-patch:8.1.0663 text property display wrong when 'number' is set vim-patch:8.1.0665 text property display wrong when 'spell' is set vim-patch:8.1.0667 textprop test leaves file behind vim-patch:8.1.0675 text property column in screen columns is not practical vim-patch:8.1.0676 textprop screendump test fails vim-patch:8.1.0681 text properties as not adjusted for deleted text vim-patch:8.1.0682 text properties not adjusted when backspacing replaced text vim-patch:8.1.0688 text properties are not restored by undo vim-patch:8.1.0689 undo with text properties not tested vim-patch:8.1.0690 setline() and setbufline() do not clear text properties vim-patch:8.1.0691 text properties are not adjusted for :substitute vim-patch:8.1.0694 when using text props may free memory that is not allocated vim-patch:8.1.0703 compiler warnings with 64-bit compiler vim-patch:8.1.0707 text property columns are not adjusted for changed indent vim-patch:8.1.0970 text properties test fails when 'encoding' is not utf-8 vim-patch:8.1.1035 prop_remove() second argument is not optional vim-patch:8.1.1276 cannot combine text properties with syntax highlighting vim-patch:8.1.1278 missing change for "combine" field vim-patch:8.1.1333 text properties don't always move after changes vim-patch:8.1.1337 get empty text prop when splitting line just after text prop vim-patch:8.1.1341 text properties are lost when joining lines vim-patch:8.1.1343 text properties not adjusted for Visual block mode delete vim-patch:8.1.1340 attributes from 'cursorline' overwrite textprop vim-patch:8.1.1351 text property wrong after :substitute vim-patch:8.1.1359 text property wrong after :substitute with backslash vim-patch:8.1.1387 calling prop_add() in an empty buffer doesn't work vim-patch:8.1.1388 errors when calling prop_remove() for an unloaded buffer vim-patch:8.1.1463 gcc warns for uninitialized variable N/A Nvim has buf_attach instead of "listeners": vim-patch:8.1.1320 it is not possible to track changes to a buffer vim-patch:8.1.1321 no docs or tests for listener functions vim-patch:8.1.1326 no test for listener with partial vim-patch:8.1.1328 no test for listener with undo operation vim-patch:8.1.1332 cannot flush listeners without redrawing, mix of changes vim-patch:8.1.1335 listener callback is called after inserting text vim-patch:8.1.1419 listener callbacks may be called recursively vim-patch:8.1.1486 a listener change is merged even when it adds a line N/A build issues: vim-patch:8.1.0601 a few compiler warnings vim-patch:8.1.0612 cannot use two global runtime dirs with configure vim-patch:8.1.0684 warnings from 64-bit compiler vim-patch:8.1.1344 Coverity complains about possibly using a NULL pointer vim-patch:8.1.1376 warnings for size_t/int mixups vim-patch:8.1.1414 alloc() returning "char_u *" causes a lot of type casts vim-patch:8.1.1508 sound keeps failing on Travis vim-patch:8.1.1494 build failure N/A terminal / job control patches: vim-patch:8.1.0761 default value for brief_wait is wrong vim-patch:8.1.0824 SunOS/Solaris has a problem with ttys vim-patch:8.1.0845 having job_status() free the job causes problems vim-patch:8.1.0870 Vim doesn't use the new ConPTY support in Windows 10 vim-patch:8.1.0880 MS-Windows: inconsistent selection of winpty/conpty vim-patch:8.1.0890 pty allocation wrong if using file for out channel vim-patch:8.1.0906 using clumsy way to get console window handle vim-patch:8.1.0909 MS-Windows: using ConPTY even though it is not stable vim-patch:8.1.0928 stray log function call vim-patch:8.1.0940 MS-Windows console resizing not handled properly vim-patch:8.1.1028 MS-Windows: memory leak when creating terminal fails vim-patch:8.1.1265 when GPM mouse support is enabled double clicks do not work vim-patch:8.1.1267 cannot check if GPM mouse support is working N/A encoding patches: vim-patch:8.1.0879 MS-Windows: temp name encoding can be wrong vim-patch:8.1.0895 MS-Windows: dealing with temp name encoding not quite right vim-patch:8.1.0918 MS-Windows: startup messages are not converted vim-patch:8.1.1090 MS-Windows: modify_fname() has problems with some 'encoding' N/A platform patches: vim-patch:8.1.1103 MS-Windows: old API calls are no longer needed N/A Lua patches: vim-patch:8.1.1019 Lua: may garbage collect function reference in use N/A Nvim has floating windows instead of popup window: vim-patch:8.1.1329 plans for popup window support are spread out vim-patch:8.1.1364 design for popup window support needs more details vim-patch:8.1.1391 no popup window support vim-patch:8.1.1400 using global pointer for tab-local popups is clumsy vim-patch:8.1.1399 popup windows not adjusted when switching tabs vim-patch:8.1.0062 popup menu broken if a callback changes the window layout vim-patch:8.1.1405 "highlight" option of popup windows not supported vim-patch:8.1.1406 popup_hide() and popup_show() not implemented yet vim-patch:8.1.1407 popup_create() does not support text properties vim-patch:8.1.1410 popup_move() is not implemented yet vim-patch:8.1.1402 "timer" option of popup windows not supported vim-patch:8.1.1408 PFL_HIDDEN conflicts with system header file vim-patch:8.1.1420 popup window size only uses first line length vim-patch:8.1.1421 drawing "~" line in popup window vim-patch:8.1.1422 popup_getoptions() not implemented yet vim-patch:8.1.1423 popup windows use options from current window and buffer vim-patch:8.1.1426 no test for syntax highlight in popup window vim-patch:8.1.1427 popup window screenshot test fails vim-patch:8.1.1428 popup_atcursor() not implemented yet vim-patch:8.1.1429 "pos" option of popup window not supported yet vim-patch:8.1.1430 popup window option "wrap" not supported vim-patch:8.1.1431 popup window listed as "Scratch" vim-patch:8.1.1432 can't build with eval feature vim-patch:8.1.1438 some commands cause trouble in a popup window vim-patch:8.1.1441 popup window filter not yet implemented vim-patch:8.1.1442 popup windows not considered when the Vim window is resized vim-patch:8.1.1443 popup window padding and border not implemented yet vim-patch:8.1.1444 not using double line characters for popup border vim-patch:8.1.1445 popup window border highlight not implemented yet vim-patch:8.1.1446 popup window callback not implemented yet vim-patch:8.1.1447 not allowed to create an empty popup vim-patch:8.1.1448 statusline is sometimes drawn on top of popup vim-patch:8.1.1449 popup text truncated at end of screen vim-patch:8.1.1450 popup window positioning wrong when using padding or borders vim-patch:8.1.1451 CTRL-L does not clear screen with a popup window vim-patch:8.1.1452 line and col property of popup windows not properly checked vim-patch:8.1.1453 popup window "moved" property not implemented yet vim-patch:8.1.1455 popup_atcursor() not completely implemented vim-patch:8.1.1459 popup window border looks bad when 'ambiwidth' is "double" vim-patch:8.1.1460 popup window border characters may be wrong vim-patch:8.1.1416 popup_getposition() not implemented yet vim-patch:8.1.1493 redrawing with popups is slow and causes flicker vim-patch:8.1.1496 popup window height is not recomputed vim-patch:8.1.1499 ruler not updated after popup window was removed vim-patch:8.1.1511 matches in a popup window are not displayed properly vim-patch:8.1.1513 all popup functionality is in functions, except :popupclear vim-patch:8.1.1517 when a popup changes all windows are redrawn vim-patch:8.1.1518 crash when setting 'columns' while a popup is visible vim-patch:8.1.1520 popup windows are ignored when dealing with mouse position vim-patch:8.1.1521 when a popup window is closed the buffer remains vim-patch:8.1.1522 poup_notification() not implemented yet vim-patch:8.1.1495 memory access error vim-patch:8.1.1497 accessing memory beyond allocated space N/A already applied: vim-patch:8.1.1226 {not in Vi} remarks get in the way of useful help text vim-patch:8.1.1280 remarks about functionality not in Vi clutters the help