aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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
* refactor(runtime): port scripts.vim to lua (#18710)Jonas Strittmatter2022-07-03
|
* 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
* Merge pull request #19212 from zeertzjq/vim-9.0.0024zeertzjq2022-07-03
|\ | | | | vim-patch:9.0.{0024,0030}
| * 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
* build: drop -Wsuggest #19177dundargoc2022-07-02
| | | | | | | | | Disable -Wsuggest compile flags by default. Although the flags are useful to see what the compiler thinks we can improve on, it adds a lot of noise to the build output. That makes it harder to spot actual issues that may be flagged. Closes https://github.com/neovim/neovim/issues/19160
* 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
| |
* | Merge pull request #19203 from zeertzjq/api-cmd-unsilentzeertzjq2022-07-03
|\ \ | | | | | | feat(api): add `unsilent` to command APIs
| * | 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.
* | Merge pull request #19137 from dundargoc/refactor/char_u-to-charbfredl2022-07-02
|\ \ | | | | | | refactor: replace char_u
| * | 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:0d878b95d8f9 (#19197)Christian Clason2022-07-02
| | | | | | | | Update runtime files https://github.com/vim/vim/commit/0d878b95d8f9ece2fdba81050f5caba224540f9c
* | Merge pull request #19202 from zeertzjq/vim-8.2.0316zeertzjq2022-07-02
|\ \ | | | | | | vim-patch:8.2.{0261,0316}: insufficient test coverage
| * | 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
|/
* build: move lint target to cmake #19169dundargoc2022-07-01
| | | This will ensure less verbose output and faster linting.
* 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
* Merge pull request #19178 from zeertzjq/vim-8.2.0049zeertzjq2022-07-01
|\ | | | | vim-patch:8.2.0049: command line completion not fully tested
| * 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
* Merge pull request #19170 from zeertzjq/vim-8.0.1558zeertzjq2022-07-01
|\ | | | | vim-patch:8.0.{1558,1570,1574,1588},8.1.{0487,0695,1274}: menu features
| * 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
* fix(filetype): update call sites of vim.filetype.match (#19171)Gregory Anders2022-06-30
| | | These were not updated in #18895.
* 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