aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | | | fix(tui): resize at startup #17795Javier Lopez2022-07-04
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix(test): screen.lua nil index When actual_rows and expected_rows are different avoid a nil index. * fix(tui): resize at startup The deleted code is not needed after 402b4e8. It caused the condition to false positive when the function was called more than once before startup (first normal mode). Being itself what set the dimension and not the user, locking the size of the screen to an incorrect size. Make got_winch an int to mitigate: tui_grid_resize changing the size of the host terminal between the signal handler and the call to sigwinch_cb. Since the actual signal handler uv__signal_handle doesn't directly call the callback, the event loop does. Fixes #17285 Fixes #15044 Fixes #11330
| * | | vim-patch:9.0.0034: spell tests do not always clear the word listzeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Spell tests do not always clear the word list. Solution: Clear the word list in TearDown(). (closes vim/vim#10659) https://github.com/vim/vim/commit/288ed23e3929ff55a8ae30db0ba3f57b6f119dc8
| * | | vim-patch:8.2.5098: spelldump test sometimes hangszeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Spelldump test sometimes hangs. Solution: Catch the problem of the spell file not being found to avoid hanging in the download dialog. https://github.com/vim/vim/commit/fc9f0fd6d18c03d6420f84ebb374a373c830fbad
| * | | vim-patch:8.2.1808: no test coverage for ":spelldump!"zeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | Problem: No test coverage for ":spelldump!". Solution: Add a test. (Dominique Pellé, closes vim/vim#7089) https://github.com/vim/vim/commit/f12f0022e6698831681f0931a4e7e5298f6ef0d8
| * | | refactor: remove unnecessary volatile #19210erw72022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | libuv does not call callback functions(uv_signal_cb) directly from signal handlers. Therefore, there is no need to use volatile. Ref. https://github.com/libuv/libuv/blob/1a91b51976a1adc6972081faa78b6b70022254d3/src/unix/signal.c#L183
| * | | vim-patch:8.2.5074: spell test fails on MS-Windowszeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Spell test fails on MS-Windows. Solution: Do not change 'encoding' https://github.com/vim/vim/commit/ad73cc2ff2a8b5397ed20598757b702a4e686256
| * | | vim-patch:8.2.5072: using uninitialized value and freed memory in spell commandzeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Using uninitialized value and freed memory in spell command. Solution: Initialize "attr". Check for empty line early. https://github.com/vim/vim/commit/2813f38e021c6e6581c0c88fcf107e41788bc835
| * | | vim-patch:8.2.1770: invalid memory use when using SpellFileMissing autocmdzeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Invalid memory use when using SpellFileMissing autocmd. Solution: Add test case. (Dominique Pellé, closes vim/vim#7036) Fix using a window that was closed. https://github.com/vim/vim/commit/d569a9e74684cd17f9cea63e804281388728e513 Skip an assert because of #3027.
| * | | vim-patch:8.2.1523: still not enough test coverage for the spell file handlingzeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Still not enough test coverage for the spell file handling. Solution: Add spell file tests. (Yegappan Lakshmanan, closes vim/vim#6790) https://github.com/vim/vim/commit/b9fc192f928b484c8809fb985ef334d7a2bb5a09
| * | | vim-patch:8.2.1522: not enough test coverage for the spell file handlingzeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Not enough test coverage for the spell file handling. Solution: Add spell file tests. (Yegappan Lakshmanan, closes vim/vim#6763) https://github.com/vim/vim/commit/c8ec5fe56fc30201c889ca577bf1e69823fadb2a Add missing whitespace in message.
| * | | vim-patch:8.2.1493: not enough test coverage for the spell file handlingzeertzjq2022-07-04
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Not enough test coverage for the spell file handling. Solution: Add spell file tests. (Yegappan Lakshmanan, closes vim/vim#6728) https://github.com/vim/vim/commit/fc2a47ffc425777704b329c9edbe21163bedf63c
| * | | vim-patch:8.2.1470: errors in spell file not testedzeertzjq2022-07-04
| |/ / | | | | | | | | | | | | | | | | | | Problem: Errors in spell file not tested. Solution: Add test for spell file errors. (Yegappan Lakshmanan, closes vim/vim#6721) https://github.com/vim/vim/commit/c0f8823ee4ca629db5446ba0a935f68d4a4fb193
| * | vim-patch:9.0.0031: <mods> of user command does not have correct verbose ↵zeertzjq2022-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | value (#19215) vim-patch:9.0.0031: <mods> of user command does not have correct verbose value Problem: <mods> of user command does not have correct verbose value. Solution: Use the value from the command modifier. (closes vim/vim#10651) https://github.com/vim/vim/commit/9359e8a6d99fe2abfcbb9603339f1740d8870cc6
| * | vim-patch:9.0.0030: matchfuzzy test depends on path of current directoryzeertzjq2022-07-03
| | | | | | | | | | | | | | | | | | | | | Problem: Matchfuzzy test depends on path of current directory. Solution: Use fnamemodify() to remove the path. (Robin Becker, closes vim/vim#10650) https://github.com/vim/vim/commit/22e7e867e224596bd758260e4278ce6239c35ba5
| * | vim-patch:9.0.0024: may access part of typeahead buf that isn't filledzeertzjq2022-07-03
| | | | | | | | | | | | | | | | | | Problem: May access part of typeahead buf that isn't filled. Solution: Check length of typeahead. https://github.com/vim/vim/commit/af043e12d9e5869c597de40b9a2517ae97ac72e7
| * | Merge pull request #19205 from bfredl/luaerrbfredl2022-07-02
| |\ \ | | | | | | | | fix(lua): don't leak memory on error
| | * | fix(lua): don't leak memory on errorbfredl2022-07-02
| | | |
| * | | feat(api): add `unsilent` to command APIszeertzjq2022-07-03
| | | |
| * | | vim-patch:8.2.1900: Vim9: command modifiers do not workzeertzjq2022-07-03
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Vim9: command modifiers do not work. Solution: Make most command modifiers work. https://github.com/vim/vim/commit/02194d2bd54eacd0b7b9a017a3fe1702ecb80971
| * | | fix(coverity): 353827 unnecessary null check #19209Javier Lopez2022-07-02
| | | | | | | | | | | | | | | | Previous checks make sure the index is not out of bounds. Therefore jmp is never NULL.
| * | | fix(jobs): deadlock in channel.c:exit_event #19082erw72022-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the rare case that exit_event is called from process_close_handles, it stalls waiting for the process to exit (the routine is currently underway to do just that). This causes `job_spec.lua` to sometimes stall. REJECTED IDEAS: ============================================================== 1. Currently `exit_event` is placed on `main_loop.fast_events`. Would the problem be solved by using `main_loop.events` instead? - A: Maybe, but it will cause other problems, such as queuing exit_event() during "Press Enter..." prompt which may result in the event not being processed, leading to another stall. 2. Can we avoid the timer? - A: Using a timer is just the easiest way to queue a delayed event without causing an infinite loop in the queue currently being processed. 3. Can we avoid the new `exit_need_delay` global... 1. by using `process_is_tearing_down` instead? - A: Can't use `process_is_tearing_down` because its semantics are different. 2. by checking a similar condition as `process_teardown`? https://github.com/neovim/neovim/blob/f50135a32e11c535e1dc3a8e9460c5b4e640ee86/src/nvim/event/process.c#L141-L142 ``` if (!process_is_tearing_down || (kl_empty(main_loop.children) && multiqueue_empty(main_loop.events))) { uv_timer_start(&main_loop.exit_delay_timer, exit_delay_cb, 0, 0); return; } ``` - A: Tried but it did not work (other stalls occurred). Maybe exit_event() is called from a source other than process_close_handles() and is delayed, the delayed exit_event() will be executed before main_loop.events is processed, resulting in an infinite loop.
| * | | refactor: replace char_uDundar Goc2022-07-02
| | | | | | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | | refactor(fold): style #19175Lewis Russell2022-07-02
| | | | | | | | | | | | | | | | | | | | | | | | * refactor(fold): update comment formatting * refactor(fold): use post-increment/decrement * refactor(fold): reduce scope of local variables * refactor(fold): use booleans
| * | | vim-patch:8.2.0316: ex_getln.c code has insufficient test coveragezeertzjq2022-07-02
| | | | | | | | | | | | | | | | | | | | | | | | Problem: ex_getln.c code has insufficient test coverage. Solution: Add more tests. Fix a problem. (Yegappan Lakshmanan, closes vim/vim#5693) https://github.com/vim/vim/commit/8d588ccee57390aa01c2395fc599bbe6506ee13a
| * | | vim-patch:8.2.0261: some code not covered by testszeertzjq2022-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Some code not covered by tests. Solution: Add test cases. (Yegappan Lakshmanan, closes vim/vim#5645) https://github.com/vim/vim/commit/f0cee1971f5258ce61f8a4e6a04d35c1e625bb01 Cherry-pick Test_bunload_with_offset() from patch 8.2.0243
| * | | Merge pull request #19199 from zeertzjq/vim-9.0.0017zeertzjq2022-07-02
| |\ \ \ | | | | | | | | | | vim-patch:9.0.{0017,0021,0022}: invalid memory access
| | * | | vim-patch:9.0.0022: spell test failszeertzjq2022-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Spell test fails. Solution: Expect new error is given. https://github.com/vim/vim/commit/95afae6d1760b2efcc4968dbd3784799d24e9fdf
| | * | | vim-patch:9.0.0021: invalid memory access when adding word to spell word listzeertzjq2022-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Invalid memory access when adding word with a control character to the internal spell word list. Solution: Disallow adding a word with control characters or a trailing slash. https://github.com/vim/vim/commit/5e59ea54c0c37c2f84770f068d95280069828774
| | * | | vim-patch:9.0.0017: accessing memory beyond the end of the linezeertzjq2022-07-02
| | |/ / | | | | | | | | | | | | | | | | | | | | Problem: Accessing memory beyond the end of the line. Solution: Stop Visual mode when closing a window. https://github.com/vim/vim/commit/3d51ce18ab1be4f9f6061568a4e7fabf00b21794
| * / / fix(mark): set mark fnum from buffer (#19195)Gregory Anders2022-07-01
| |/ /
| * | vim-patch:9.0.0015: with EXITFREE defined terminal menus are not cleared ↵zeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | | | | | | | (#19187) Problem: With EXITFREE defined terminal menus are not cleared. Solution: Also clear terminal menus. Remove condition that is always true. (closes vim/vim#10641) https://github.com/vim/vim/commit/79ae152697ed0dfa578cfac305d05021dec2a6bc
| * | version.c: update [skip ci] #19179github-actions[bot]2022-07-01
| | | | | | | | | Co-authored-by: marvim <marvim@users.noreply.github.com>
| * | vim-patch:9.0.0012: signature files not detected properly (#19172)Christian Clason2022-07-01
| | | | | | | | | | | | | | | Problem: Signature files not detected properly. Solution: Add a function to better detect signature files. (Doug Kearns) https://github.com/vim/vim/commit/cdbfc6dbab1d63aa56af316d6b13e37939e7f7a8
| * | test(old): reorder test_cmdline.vim to match upstreamzeertzjq2022-07-01
| | |
| * | vim-patch:8.2.0049: command line completion not fully testedzeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | | | | Problem: Command line completion not fully tested. Solution: Add more test cases. Make help sorting stable. (Dominique Pelle, closes vim/vim#5402) https://github.com/vim/vim/commit/297610ba4b110c918ffe60c45eb4a1d6ea2daae5
| * | feat(ui): make right-click menu work properly with ext_multigridzeertzjq2022-07-01
| | | | | | | | | | | | Add tests both with and without ext_multigrid.
| * | vim-patch:8.1.1274: after :unmenu can still execute the menu with :emenuzeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | Problem: After :unmenu can still execute the menu with :emenu. Solution: Do not execute a menu that was disabled for the specified mode. https://github.com/vim/vim/commit/ce79353ace9e21238f13655089363cd23cbb6b32
| * | vim-patch:8.1.0695: internal error when using :popupzeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | | | | Problem: Internal error when using :popup. Solution: When a menu only exists in Terminal mode give an error. (Naruhiko Nishino, closes vim/vim#3765) https://github.com/vim/vim/commit/f42b45d719e03218735b3c2845a74dca9c0efd60
| * | vim-patch:8.1.0487: no menus specifically for the terminal windowzeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | | | | | | | Problem: No menus specifically for the terminal window. Solution: Add :tlmenu. (Yee Cheng Chin, closes vim/vim#3439) Add a menu test. https://github.com/vim/vim/commit/4c5d815256099b50eca2ec5bf8f9aaa67a890211 ADDR_OHTER comes from patch 8.1.1241, which has already been ported.
| * | vim-patch:8.0.1588: popup menu hangs after typing CTRL-Czeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | Problem: Popup menu hangs after typing CTRL-C. Solution: Make CTRL-C exit the loop. (Ozaki Kiichi, closes vim/vim#2697) https://github.com/vim/vim/commit/52f18a112a073c39187cd93f26115d1e2bfd29ce
| * | vim-patch:8.0.1574: show cursor in wrong place when using popup menuzeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | | | | Problem: Show cursor in wrong place when using popup menu. (Wei Zhang) Solution: Force updating the cursor position. Fix skipping over unused entries. https://github.com/vim/vim/commit/987723e084660290270b3c3d943eb13bd828d5da
| * | vim-patch:8.0.1570: can't use :popup for a menu in the terminalzeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | | | | Problem: Can't use :popup for a menu in the terminal. (Wei Zhang) Solution: Make :popup work in the terminal. Also fix that entries were included that don't work in the current state. https://github.com/vim/vim/commit/29a2c08d792e4458a0af8371f5341394829fce29
| * | vim-patch:8.0.1558: no right-click menu in a terminalzeertzjq2022-07-01
| | | | | | | | | | | | | | | | | | Problem: No right-click menu in a terminal. Solution: Implement the right click menu for the terminal. https://github.com/vim/vim/commit/aef8c3da2ba59285b7cfde559ae21cdce6ba6919
| * | cmdheight=0: fix bugs #18961Shougo2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continue of #16251 Fix #18953 Fix #18960 Fix #18958 Fix #18955 Fix #18970 Fix #18983 Fix #18995 Fix #19112
| * | feat(marks): restore viewport on jump #15831Javier Lopez2022-06-30
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ** Refactor Previously most functions used to "get" a mark returned a position, changed the line number and sometimes changed even the current buffer. Now functions return a {x}fmark_T making calling context aware whether the mark is in another buffer without arcane casting. A new function is provided for switching to the mark buffer and returning a flag style Enum to convey what happen in the movement. If the cursor changed, line, columns, if it changed buffer, etc. The function to get named mark was split into multiple functions. - mark_get() -> fmark_T - mark_get_global() -> xfmark_T - mark_get_local() -> fmark_T - mark_get_motion() -> fmark_T - mark_get_visual() -> fmark_T Functions that manage the changelist and jumplist were also modified to return mark types. - get_jumplist -> fmark_T - get_changelist -> fmark_T The refactor is also seen mainly on normal.c, where all the mark movement has been siphoned through one function nv_gomark, while the other functions handle getting the mark and setting their movement flags. To handle whether context marks should be left, etc. ** Mark View While doing the refactor the concept of a mark view was also implemented: The view of a mark currently implemented as the number of lines between the mark position on creation and the window topline. This allows for moving not only back to the position of a mark but having the window look similar to when the mark was defined. This is done by carrying and extra element in the fmark_T struct, which can be extended later to also restore horizontal shift. *** User space features 1. There's a new option, jumpoptions+=view enables the mark view restoring automatically when using the jumplist, changelist, alternate-file and mark motions. <C-O> <C-I> g; g, <C-^> '[mark] `[mark] ** Limitations - The view information is not saved in shada. - Calls to get_mark should copy the value in the pointer since we are using pos_to_mark() to wrap and provide a homogeneous interfaces. This was also a limitation in the previous state of things.
| * refactor(uncrustify): change config to better align with style guide (#18803)dundargoc2022-06-30
| | | | | | refactor(uncrustify): change config to better align with neovim style
| * vim-patch:9.0.0011: reading beyond the end of the line with put command (#19166)zeertzjq2022-06-30
| | | | | | | | | | Problem: Reading beyond the end of the line with put command. Solution: Adjust the end mark position. https://github.com/vim/vim/commit/d25f003342aca9889067f2e839963dfeccf1fe05
| * feat(build): add_glob_target runs only on changed files #19070dundargoc2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | The general idea is that add_glob_targets creates a "touch file", a dummy file that acts as a dependency in order to check which files are outdated since the last time the target was run. Remove RunUncrustify.cmake as it's no longer necessary. It was initially introduced to silence its noisy output. The per-file targets will suppress the noisy output from uncrustify, except for the very first run. Also remove DefCmdTarget.cmake since add_glob_target already incorporates its functionality.
| * feat: stdpath('run'), /tmp/nvim.user/ #18993Justin M. Keyes2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: - Since c57f6b28d71d #8519, sockets are created in ~/.local/… but XDG spec says: "XDG_RUNTIME_DIR: Must be on the local filesystem", which implies that XDG_STATE_DIR is potentially non-local. - Not easy to inspect Nvim-created temp files (for debugging etc). Solution: - Store sockets in stdpath('run') ($XDG_RUNTIME_DIR). - Establish "/tmp/nvim.user/" as the tempdir root shared by all Nvims. - Make ok() actually useful. - Introduce assert_nolog(). closes #3517 closes #17093
| * Merge pull request #19134 from dundargoc/refactor/conversionbfredl2022-06-30
| |\ | | | | | | refactor: enable -Wconversion warning for fileio.c