aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* feat: add 'mousescroll' option (#12355)Jay2022-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 'mousescroll' option to control how many lines to scroll by when a mouse wheel keycode is received. The mousescroll option controls both horizontal and vertical scrolling. The option is a string in the format: set mousescroll=direction:count,direction:count Where direction is either "ver" or "hor", and count is a non negative integer. If a direction is omitted, a default value is used. The default values remain unchanged, that is 3 for vertical scrolling, and 6 for horizontal scrolling. As such, the mousescroll default is "ver:3,hor:6". Add mousescroll documentation - Add option documentation in options.txt - Add brief summary in quickref.txt Update :help scroll-mouse-wheel - Mention mousescroll option as a means of controlling scrolling. - Remove obsolete suggestion to map scroll wheel keys to <C-U> to scroll by a single line -- users should prefer the mousescroll option. - Add some information about the consequences of remapping scroll wheel keys (they lose their magic ability to affect inactive windows). Update :help vim-differences - Add brief mousescroll summary under Options Add mousescroll tests - Test option validation - Test default mousescroll value and behavior - Test fallback to default values - Test mouse vertical and horizontal scrolling in normal mode - Test mouse vertical and horizontal scrolling in insert mode
* fix(mark): fix unexpected cursor movements (#19253)zeertzjq2022-07-06
|
* Merge pull request #19242 from smjonas/vim-9.0.0042Christian Clason2022-07-06
|\ | | | | vim-patch:9.0.{0041,0042}: filetype patterns
| * vim-patch:9.0.0041: a couple of filetype patterns do not have "*" before "/etc"smjonas2022-07-06
| | | | | | | | | | | | Problem: A couple of filetype patterns do not have "*" before "/etc". Solution: Add the star. (Jonas Strittmatter, closes vim/vim#10662) https://github.com/vim/vim/commit/704988f0c3598c1b0cc47f3b46f1f1229312f2bc
* | vim-patch:8.2.5162: reading before the start of the line with BS in Replace ↵zeertzjq2022-07-06
| | | | | | | | | | | | | | mode (#19241) Problem: Reading before the start of the line with BS in Replace mode. Solution: Check the cursor column is more than zero. https://github.com/vim/vim/commit/0971c7a4e537ea120a6bb2195960be8d0815e97b
* | Merge pull request #19223 from lewis6991/ghactionJames McCoy2022-07-05
|\ \ | | | | | | build: add github action annotations for clint
| * | build: add github action annotations for clintLewis Russell2022-07-04
| | |
* | | vim-patch:8.2.3990: testing wrong operatorzeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | Problem: Testing wrong operator. Solution: Test "g@" instead of "r_". (Naohiro Ono, closes vim/vim#9463) https://github.com/vim/vim/commit/5c75eed758fbeb39825834d51f3ee4e08f137af3
* | | vim-patch:8.2.3980: if 'operatorfunc' invokes an operator Visual mode is changedzeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | | | | | | | Problem: If 'operatorfunc' invokes an operator the remembered Visual mode may be changed. (Naohiro Ono) Solution: Save and restore the information for redoing the Visual area. (closes vim/vim#9455) https://github.com/vim/vim/commit/b3bd1d39e68e2d697c014b9f85482c2c12a3f909
* | | vim-patch:8.2.3644: count for 'operatorfunc' in Visual mode is not redonezeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Count for 'operatorfunc' in Visual mode is not redone. Solution: Add the count to the redo buffer. (closes vim/vim#9174) https://github.com/vim/vim/commit/2228cd72cf7c6f326e4e41179e88d37595ca4abc Cherry-pick a line from patch 8.2.0522.
* | | vim-patch:8.2.2904: "g$" causes scroll if half a double width char is visiblezeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | Problem: "g$" causes scroll if half a double width char is visible. Solution: Advance to the last fully visible character. (closes vim/vim#8254) https://github.com/vim/vim/commit/74ede80aeb272ac81d41a256057c4f250372dd00
* | | fix(terminal): crash if TermClose deletes own buffer #19222Justin M. Keyes2022-07-05
| | | | | | | | | | | | | | | | | | | | | | | | - Partially fixes #10386 except for the case where the alternate buffer is the default, empty, first buffer created on startup. #vimlife - TODO: port patches related to `can_unload_buffer`, maybe that fully fixes #10386? vim-patch:8.0.1732: crash when terminal API call deletes the buffer
* | | vim-patch:8.2.5122: lisp indenting my run over the end of the linezeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | Problem: Lisp indenting my run over the end of the line. Solution: Check for NUL earlier. https://github.com/vim/vim/commit/0e8e938d497260dd57be67b4966cb27a5f72376f
* | | vim-patch:8.2.3754: undesired changing of the indent of the first formatted linezeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | Problem: Undesired changing of the indent of the first formatted line. Solution: Do not indent the first formatted line. https://github.com/vim/vim/commit/ecabb511074b3f56cdd5067553c947a291d04e17
* | | vim-patch:8.2.3615: wrong indent in first line if re-formatting with indent exprzeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | | | | | | | Problem: When re-formatting with an indent expression the first line of a paragraph may get the wrong indent. (Martin F. Krafft) Solution: Apply the correct indenting function for the first line. (Christian Brabandt, closes vim/vim#9150, closes vim/vim#9056) https://github.com/vim/vim/commit/818ff25cd1aabf60b9cd239da2f1328a959954f7
* | | vim-patch:8.2.0416: test leaves file behindzeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | Problem: Test leaves file behind. Solution: Delete the file. https://github.com/vim/vim/commit/95e59a355bea9d6234fead07d855880e822a8eaf
* | | vim-patch:8.2.0363: some Normal mode commands not testedzeertzjq2022-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Some Normal mode commands not tested. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5746) https://github.com/vim/vim/commit/f5f1e10d0d39890298cdf27f664d466c8872b87e Omit Test_edit_forbidden(): change reverted in patch 8.2.0369. Cherry-pick Test_normal_yank_with_excmd() from patch 8.2.0293. Skip Test_normal_cursorhold_with_count(). Cherry-pick Test_star_register() from patch 8.2.0270.
* | | test(old): use Q -> gQ mapping instead of changing test when possiblezeertzjq2022-07-05
| | |
* | | vim-patch:9.0.0035: spell dump may go beyond end of an array (#19228)zeertzjq2022-07-05
| | | | | | | | | | | | | | | Problem: Spell dump may go beyond end of an array. Solution: Limit the word length. https://github.com/vim/vim/commit/54e5fed6d27b747ff152cdb6edfb72ff60e70939
* | | fix(mark): mark without a view restores at topline #19224zeertzjq2022-07-04
| | | | | | | | | | | | | | | For a local mark without a view, currently trying to restore its view will put the cursor at topline, which is not the correct behavior. Initialize `topline_offset` to `MAXLNUM` instead to fix this.
* | | 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
|/