aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | Merge pull request #23288 from MunifTanjim/issue-22263zeertzjq2023-04-27
|\ \ | |/ |/| fix(normal): fix repeated trigger modechanged for scheduled callback
| * test: scheduled callback shouldn't trigger ModeChanged repeatedlyMunif Tanjim2023-04-26
| |
| * vim-patch:9.0.1490: the ModeChanged event may be triggered too oftenzeertzjq2023-04-26
|/ | | | | | | | Problem: The ModeChanged event may be triggered too often. Solution: Only trigger ModeChanged when no operator is pending. (closes vim/vim#12298) https://github.com/vim/vim/commit/73916bac5ac2a054a0c71adfe8d742691cdfd95c
* Merge pull request #23308 from bfredl/fs_time_boogalobfredl2023-04-26
|\ | | | | refactor(fs): IT'S TIME: get rid of fs_loop and fs_loop_mutex
| * refactor(fs): now it is time to get rid of fs_loop and fs_loop_mutexbfredl2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's the headline: when run in sync mode (last argument cb=NULL), these functions don't actually use the uv_loop_t. An earlier version of this patch instead replaced fs_loop with using main_loop.uv on the main thread and luv_loop() on luv worker threads. However this made the code more complicated for no reason. Also arbitrarily, half of these functions would attempt to handle UV_ENOMEM by try_to_free_memory(). This would mostly happen on windows because it needs to allocate a converted WCHAR buffer. This should be a quite rare situation. Your system is pretty much hosed already if you cannot allocate like 50 WCHAR:s. Therefore, take the liberty of simply removing this fallback. In addition, we tried to "recover" from ENOMEM in read()/readv() this way which doesn't make any sense. The read buffer(s) are already allocated at this point. This would also be an issue when using these functions on a worker thread, as try_to_free_memory() is not thread-safe. Currently os_file_is_readable() and os_is_dir() is used by worker threads (as part of nvim__get_runtime(), to implement require from 'rtp' in threads). In the end, these changes makes _all_ os/fs.c functions thread-safe, and we thus don't need to document and maintain a thread-safe subset.
* | build: revert accidental permission changes (#23319)zeertzjq2023-04-26
| | | | | | Revert the permission changes in 794d2744f33562326172801ddd729853e7135347.
* | vim-patch:9.0.1485: no functions for converting from/to UTF-16 index (#23318)zeertzjq2023-04-26
| | | | | | | | | | | | | | | | | | Problem: no functions for converting from/to UTF-16 index. Solution: Add UTF-16 flag to existing funtions and add strutf16len() and utf16idx(). (Yegappan Lakshmanan, closes vim/vim#12216) https://github.com/vim/vim/commit/67672ef097dd708244ff042a8364994da2b91e75 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:8.2.3314: behavior of exists() in a :def function is unpredictable ↵zeertzjq2023-04-26
| | | | | | | | | | | | | | | | | | | | (#23317) Problem: Behavior of exists() in a :def function is unpredictable. Solution: Add exists_compiled(). https://github.com/vim/vim/commit/267359902c8792fed13543ddeb56c6df0ae74957 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:8.2.3139: functions for string manipulation are spread out (#23316)zeertzjq2023-04-26
| | | | | | | | | | | | | | | | | | Problem: Functions for string manipulation are spread out. Solution: Move string related functions to a new source file. (Yegappan Lakshmanan, closes vim/vim#8470) https://github.com/vim/vim/commit/a2438132a675be4dde3acbdf03ba1fdb2f09427c Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:partial:9.0.0359: error message for wrong argument type is not ↵zeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | specific (#23315) Problem: Error message for wrong argument type is not specific. Solution: Include more information in the error. (Yegappan Lakshmanan, closes vim/vim#11037) https://github.com/vim/vim/commit/8deb2b30c77035bb682ccf80b781455ac1d6038b Skip reduce() and deepcopy() changes because of missing patches. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:9.0.0875: using freed memory when executing delfunc at more prompt ↵zeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | (#23314) Problem: Using freed memory when executing delfunc at the more prompt. Solution: Check function list not changed in another place. (closes vim/vim#11437) https://github.com/vim/vim/commit/398a26f7fcd58fbc6e2329f892edbb7479a971bb Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | Merge pull request #23303 from gpanders/more-vim-iterGregory Anders2023-04-25
|\ \ | | | | | | Create iter_spec and vim.iter module
| * | refactor(iter): move helper functions under vim.iterGregory Anders2023-04-25
| | | | | | | | | | | | vim.iter is now both a function and a module (similar to vim.version).
| * | test: move vim.iter tests to separate fileGregory Anders2023-04-24
| | |
* | | feat(lua): vim.keycode (#22960)ii142023-04-25
| | | | | | | | | | | | | | | | | | Using nvim_replace_termcodes is too verbose, add vim.keycode for translating keycodes. Co-authored-by: ii14 <ii14@users.noreply.github.com>
* | | Merge pull request #23313 from zeertzjq/vim-8.2.3768zeertzjq2023-04-25
|\ \ \ | | | | | | | | vim-patch:8.2.{3768,3772}
| * | | vim-patch:8.2.3772: timer info test fails on slow machinezeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Timer info test fails on slow machine. Solution: Use WaitForAssert(). https://github.com/vim/vim/commit/ff39a650b2bd31e30d1bb8766e8560f9a14a7137 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | vim-patch:8.2.3768: timer_info() has the wrong repeat value in a timer callbackzeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: timer_info() has the wrong repeat value in a timer callback. Solution: Do not add one to the repeat value when in the callback. (closes vim/vim#9294) https://github.com/vim/vim/commit/95b2dd0c008f0977ebb3cbe233a5064001a332e1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | fix(timer): allow timer_info() to get info about current timerzeertzjq2023-04-25
|/ / /
* | | vim-patch:8.2.5019: cannot get the first screen column of a character (#23312)zeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot get the first screen column of a character. Solution: Let virtcol() optionally return a list. (closes vim/vim#10482, closes vim/vim#7964) https://github.com/vim/vim/commit/0f7a3e1de6f71e8e1423fe594890d6aa7f94e132 Co-authored-by: LemonBoy <thatlemon@gmail.com>
* | | vim-patch:9.0.0335: checks for Dictionary argument often give a vague error ↵zeertzjq2023-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#23309) Problem: Checks for Dictionary argument often give a vague error message. Solution: Give a useful error message. (Yegappan Lakshmanan, closes vim/vim#11009) https://github.com/vim/vim/commit/04c4c5746e15884768d2cb41370c3276a196cd4c Cherry-pick removal of E922 from docs from patch 9.0.1403. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | | refactor: remove unnecessary height change in frame_add_hsep() (#23305)zeertzjq2023-04-25
| |/ |/| | | | | This height change is wrong, and the height will be overwritten later by another height change.
* | Merge pull request #23293 from bfredl/bigsleepbfredl2023-04-25
|\ \ | | | | | | refactor(time): refactor delay with input checking
| * | refactor(time): refactor delay with input checkingbfredl2023-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, there were three low-level delay entry points - os_delay(ms, ignoreinput=true): sleep for ms, only break on got_int - os_delay(ms, ignoreinput=false): sleep for ms, break on any key input os_microdelay(us, false): equivalent, but in μs (not directly called) - os_microdelay(us, true): sleep for μs, never break. The implementation of the latter two both used uv_cond_timedwait() This could have been for two reasons: 1. allow another thread to "interrupt" the wait 2. uv_cond_timedwait() has higher resolution than uv_sleep() However we (1) never used the first, even when TUI was a thread, and (2) nowhere in the codebase are we using μs resolution, it is always a ms multiplied with 1000. In addition, os_delay(ms, false) would completely block the thread for 100ms intervals and in between check for input. This is not how event handling is done alound here. Therefore: Replace the implementation of os_delay(ms, false) to use LOOP_PROCESS_EVENTS_UNTIL which does a proper epoll wait with a timeout, instead of the 100ms timer panic. Replace os_microdelay(us, false) with a direct wrapper of uv_sleep.
* | | fix(statusline): also allow right click when 'mousemodel' is "popup*" (#23258)luukvbaal2023-04-25
| |/ |/| | | | | | | Problem: The 'statusline'-format ui elements do not receive right click events when "mousemodel" is "popup*" Solution: Do not draw popupmenu and handle click event instead.
* | fix(column): don't reset 'statuscolumn' width after it has been drawnluukvbaal2023-04-24
| | | | | | | | | | | | | | | | Problem: 'statuscolumn' width may be reset after it has been drawn when multiple windows contain the same buffer. This results in an offset for the drawn cursor position. Solution: Loop over all windows (twice) prior to drawing them to reset the 'statuscolumn' width and validate the sign column when necessary.
* | fix(pum): show right-click menu above cmdline area (#23298)zeertzjq2023-04-24
| |
* | build: add "ci" configure preset to reduce verbositydundargoc2023-04-23
| | | | | | | | | | | | | | | | | | | | `cmake --preset ci` is equivalent to `cmake -B build -G Ninja -D CI_BUILD=ON` Also remove build presets as they're not very useful without workflow presets, which are only available in schema versions 6 and above.
* | ci: reuse script to enable Developer Command Promptdundargoc2023-04-23
| |
* | vim-patch:71badf9547e8 (#23285)Christian Clason2023-04-23
| | | | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/71badf9547e8f89571b9a095183671cbb333d528 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:9.0.1478: filetypes for *.v files not detected properly (#23282)Christian Clason2023-04-23
| | | | | | | | | | | | | | | | | | | | | | | | * vim-patch:9.0.1478: filetypes for *.v files not detected properly Problem: Filetypes for *.v files not detected properly. Solution: Use the file contents to detect the filetype. (Turiiya, closes vim/vim#12281) https://github.com/vim/vim/commit/80406c26188219f3773b2e9c49160caeeb386ee2 Co-authored-by: Turiiya <34311583+tobealive@users.noreply.github.com> Co-authored-by: Jonas Strittmatter <40792180+smjonas@users.noreply.github.com>
* | ci(release): clean up wording and undeprecate tar.gzdundargoc2023-04-23
| |
* | fix(typval): don't treat v:null as truthy (#23281)zeertzjq2023-04-23
|/
* fix(api): avoid assertion when autocmd group id is 0 (#23210)Dhruv Manilawala2023-04-23
|
* vim-patch:9.0.1477: crash when recovering from corrupted swap file (#23273)zeertzjq2023-04-23
| | | | | | | | Problem: Crash when recovering from corrupted swap file. Solution: Check for a valid page count. (closes vim/vim#12275) https://github.com/vim/vim/commit/b67ba03d3ef2e6c5f207d508e85fc6906f938028 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.1479: small source file problems; outdated list of distrib. ↵zeertzjq2023-04-23
| | | | | | | | | | files (#23272) Problem: Small source file problems; outdated list of distributed files. Solution: Small updates to source files and list of distributed files. https://github.com/vim/vim/commit/f39d9e9dca443e42920066be3a98fd9780e4ed33 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* test(lsp): fix unstable tests for semantic tokensjdrouhard2023-04-23
| | | | Add screen:expect() calls after insert() to make sure the screen has been drawn before we assert the state of the semantic tokens table
* ci(labeler): reuse workflow to reduce duplicationdundargoc2023-04-22
|
* ci: make all linux releases work with same glibc versiondundargoc2023-04-22
|
* build: drop diff.exe from windows buildsdundargoc2023-04-22
| | | | | | | | The shipped versions of xdiff already does everything diff does, so this duplication of tools isn't necessary. Furthermore, this setup is more consistent overall, as the 'diffopt=external' option should be for external programs rather than programs we bundle neovim with. Install diffutils for oldtests in CI to avoid needing to modify tests.
* vim-patch:9.0.1476: lines put in non-current window are not displayed (#23265)zeertzjq2023-04-23
| | | | | | | | | | Problem: Lines put in non-current window are not displayed. (Marius Gedminas) Solution: Don't increment the topline when inserting just above it. (closes vim/vim#12212) https://github.com/vim/vim/commit/e7f05a8780426dc7af247419c6d02d5f1e896689 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.1475: busted configuration files are not recognized (#23266)zeertzjq2023-04-22
| | | | | | | Problem: Busted configuration files are not recognized. Solution: Recognize busted configuration files as Lua. (Craig MacEachern, closes vim/vim#12209) Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com>
* ci(lintcommit): fix error outputdundargoc2023-04-22
| | | | Using print() alone doesn't work properly, toggling the verbose option is still required.
* ci(lintcommit): use nvim -lLewis Russell2023-04-22
|
* Merge pull request #23263 from bfredl/notapplebfredl2023-04-22
|\ | | | | fix(cmake): restore previously undocumented workround, now documented
| * fix(cmake): restore previously undocumented workround, now documentedbfredl2023-04-22
|/
* ci: remove team reviewersdundargoc2023-04-22
| | | | | Team reviewers is a nice feature that comes with a severe drawback: it makes testing the workflows incredibly difficult as they won't work without a similar token by the tester.
* Merge pull request #23255 from lewis6991/vimpatch/9.0.1293Lewis Russell2023-04-22
|\ | | | | vim-patch:9.0.{1293,1308,1311}: refactor option.c
| * vim-patch:9.0.1311: Coverity warns for using a NULL pointerLewis Russell2023-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Coverity warns for using a NULL pointer. Solution: Use "empty_option" instead of NULL. https://github.com/vim/vim/commit/339e114d70de3ec2b36edf37d7ba7a7cfdf9d1a6 N/A patches for version.c: vim-patch:9.0.1405: missing check for out-of-memory Problem: Missing check for out-of-memory. Solution: Check for alloc() returning NULL pointer. (closes vim/vim#12149) https://github.com/vim/vim/commit/14338024c131b71a337c2bb87cb5904f5a5782b8
| * vim-patch:9.0.1308: the code for setting options is too complicatedLewis Russell2023-04-22
| | | | | | | | | | | | | | | | Problem: The code for setting options is too complicated. Solution: Refactor the code for setting options. (Yegappan Lakshmanan, closes vim/vim#11989) https://github.com/vim/vim/commit/1a6476428f63e9fa0c2cbea296e475e60363af11