Commit Graph

22180 Commits

Author SHA1 Message Date
zeertzjq
42863634dd vim-patch:8.2.3615: wrong indent in first line if re-formatting with indent expr
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)
818ff25cd1
2022-07-05 15:04:37 +08:00
zeertzjq
6e2d23ac43
Merge pull request #19229 from zeertzjq/vim-8.2.0363
vim-patch:8.2.{0363,0416}: some Normal mode commands not tested
2022-07-05 14:57:48 +08:00
zeertzjq
24db6c1e57 vim-patch:8.2.0416: test leaves file behind
Problem:    Test leaves file behind.
Solution:   Delete the file.
95e59a355b
2022-07-05 14:33:36 +08:00
zeertzjq
a01905eb35 vim-patch:8.2.0363: some Normal mode commands not tested
Problem:    Some Normal mode commands not tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes vim/vim#5746)
f5f1e10d0d

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.
2022-07-05 14:22:58 +08:00
zeertzjq
936c11f9c8 test(old): use Q -> gQ mapping instead of changing test when possible 2022-07-05 13:54:11 +08:00
zeertzjq
d07a39c54b
vim-patch:9.0.0035: spell dump may go beyond end of an array (#19228)
Problem:    Spell dump may go beyond end of an array.
Solution:   Limit the word length.
54e5fed6d2
2022-07-05 06:47:58 +08:00
zeertzjq
826fe56f5c
fix(mark): mark without a view restores at topline #19224
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.
2022-07-04 13:28:14 -07:00
Javier Lopez
1803b0ffd7
fix(tui): resize at startup #17795
* 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
2022-07-04 13:09:47 -07:00
zeertzjq
03c9cf3feb test: add tests for keypad keys from kitty keyboard protocol 2022-07-04 22:37:45 +08:00
Lewis Russell
5b609bbefb build: add github action annotations for clint 2022-07-04 14:20:10 +01:00
erw7
33ed85a2f6 feat(tui): recognize keypad keys when using kitty keyboard protocol 2022-07-04 21:09:33 +08:00
zeertzjq
ab5929e1b0
Merge pull request #19221 from zeertzjq/vim-8.2.1808
vim-patch:8.2.{1808,5098},9.0.0034
2022-07-04 18:59:27 +08:00
zeertzjq
a4160dd105 vim-patch:9.0.0034: spell tests do not always clear the word list
Problem:    Spell tests do not always clear the word list.
Solution:   Clear the word list in TearDown(). (closes vim/vim#10659)
288ed23e39
2022-07-04 18:38:39 +08:00
zeertzjq
08aba02ad7 vim-patch:8.2.5098: spelldump test sometimes hangs
Problem:    Spelldump test sometimes hangs.
Solution:   Catch the problem of the spell file not being found to avoid
            hanging in the download dialog.
fc9f0fd6d1
2022-07-04 18:37:46 +08:00
zeertzjq
d9c63507f8 vim-patch:8.2.1808: no test coverage for ":spelldump!"
Problem:    No test coverage for ":spelldump!".
Solution:   Add a test. (Dominique Pellé, closes vim/vim#7089)
f12f0022e6
2022-07-04 18:37:36 +08:00
erw7
436747752b
refactor: remove unnecessary volatile #19210
libuv does not call callback functions(uv_signal_cb) directly from signal
handlers. Therefore, there is no need to use volatile.

Ref. 1a91b51976/src/unix/signal.c (L183)
2022-07-04 03:28:59 -07:00
zeertzjq
f075feee32
Merge pull request #19220 from zeertzjq/vim-8.2.1470
vim-patch:8.2.{1470,1493,1522,1523,1770,5072,5074}: spell patches
2022-07-04 11:13:19 +08:00
zeertzjq
6b474d0237 vim-patch:8.2.5074: spell test fails on MS-Windows
Problem:    Spell test fails on MS-Windows.
Solution:   Do not change 'encoding'
ad73cc2ff2
2022-07-04 10:02:35 +08:00
zeertzjq
a4215a0a21 vim-patch:8.2.5072: using uninitialized value and freed memory in spell command
Problem:    Using uninitialized value and freed memory in spell command.
Solution:   Initialize "attr".  Check for empty line early.
2813f38e02
2022-07-04 10:02:35 +08:00
zeertzjq
1ff86aa634 vim-patch:8.2.1770: invalid memory use when using SpellFileMissing autocmd
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.
d569a9e746

Skip an assert because of #3027.
2022-07-04 09:37:45 +08:00
zeertzjq
7648a8524c vim-patch:8.2.1523: still not enough test coverage for the spell file handling
Problem:    Still not enough test coverage for the spell file handling.
Solution:   Add spell file tests. (Yegappan Lakshmanan, closes vim/vim#6790)
b9fc192f92
2022-07-04 09:18:35 +08:00
zeertzjq
a2d8d5e1f5 vim-patch:8.2.1522: not enough test coverage for the spell file handling
Problem:    Not enough test coverage for the spell file handling.
Solution:   Add spell file tests. (Yegappan Lakshmanan, closes vim/vim#6763)
c8ec5fe56f

Add missing whitespace in message.
2022-07-04 09:15:03 +08:00
zeertzjq
ed64c8f683 vim-patch:8.2.1493: not enough test coverage for the spell file handling
Problem:    Not enough test coverage for the spell file handling.
Solution:   Add spell file tests. (Yegappan Lakshmanan, closes vim/vim#6728)
fc2a47ffc4
2022-07-04 09:09:42 +08:00
zeertzjq
acb6512f2e vim-patch:8.2.1470: errors in spell file not tested
Problem:    Errors in spell file not tested.
Solution:   Add test for spell file errors. (Yegappan Lakshmanan,
            closes vim/vim#6721)
c0f8823ee4
2022-07-04 09:06:01 +08:00
Jonas Strittmatter
acb7a90281
refactor(runtime): port scripts.vim to lua (#18710) 2022-07-03 15:31:56 +02:00
zeertzjq
0313aba77a
vim-patch:9.0.0031: <mods> of user command does not have correct verbose 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)
9359e8a6d9
2022-07-03 21:17:03 +08:00
zeertzjq
e837f29ce6
Merge pull request #19212 from zeertzjq/vim-9.0.0024
vim-patch:9.0.{0024,0030}
2022-07-03 06:43:16 +08:00
zeertzjq
357d63f5d7 vim-patch:9.0.0030: matchfuzzy test depends on path of current directory
Problem:    Matchfuzzy test depends on path of current directory.
Solution:   Use fnamemodify() to remove the path. (Robin Becker,
            closes vim/vim#10650)
22e7e867e2
2022-07-03 06:21:05 +08:00
zeertzjq
312f1b65c8 vim-patch:9.0.0024: may access part of typeahead buf that isn't filled
Problem:    May access part of typeahead buf that isn't filled.
Solution:   Check length of typeahead.
af043e12d9
2022-07-03 06:21:05 +08:00
dundargoc
2b04aaad94
build: drop -Wsuggest #19177
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
2022-07-02 14:47:22 -07:00
bfredl
c6c89391b7
Merge pull request #19205 from bfredl/luaerr
fix(lua): don't leak memory on error
2022-07-02 23:44:26 +02:00
zeertzjq
8d37901f1c
Merge pull request #19203 from zeertzjq/api-cmd-unsilent
feat(api): add `unsilent` to command APIs
2022-07-03 05:00:02 +08:00
zeertzjq
7a907c3314 feat(api): add unsilent to command APIs 2022-07-03 04:34:28 +08:00
zeertzjq
f93eb169f6 vim-patch:8.2.1900: Vim9: command modifiers do not work
Problem:    Vim9: command modifiers do not work.
Solution:   Make most command modifiers work.
02194d2bd5
2022-07-03 04:34:28 +08:00
bfredl
0160ff6aa0 fix(lua): don't leak memory on error 2022-07-02 20:10:32 +02:00
Javier Lopez
108368bdd5
fix(coverity): 353827 unnecessary null check #19209
Previous checks make sure the index is not out of bounds. Therefore jmp
is never NULL.
2022-07-02 09:24:58 -07:00
erw7
e11f3655fb
fix(jobs): deadlock in channel.c:exit_event #19082
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`? f50135a32e/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.
2022-07-02 09:14:08 -07:00
bfredl
c1b591dc8f
Merge pull request #19137 from dundargoc/refactor/char_u-to-char
refactor: replace char_u
2022-07-02 17:13:25 +02:00
Dundar Goc
3b8804571c refactor: replace char_u
Work on https://github.com/neovim/neovim/issues/459
2022-07-02 16:01:27 +02:00
Lewis Russell
ed429c00d7
refactor(fold): style #19175
* refactor(fold): update comment formatting
* refactor(fold): use post-increment/decrement
* refactor(fold): reduce scope of local variables
* refactor(fold): use booleans
2022-07-02 04:29:27 -07:00
Christian Clason
662681694b
vim-patch:0d878b95d8f9 (#19197)
Update runtime files
0d878b95d8
2022-07-02 11:06:03 +02:00
zeertzjq
a9de89894a
Merge pull request #19202 from zeertzjq/vim-8.2.0316
vim-patch:8.2.{0261,0316}: insufficient test coverage
2022-07-02 12:25:07 +08:00
zeertzjq
7277543772 vim-patch:8.2.0316: ex_getln.c code has insufficient test coverage
Problem:    ex_getln.c code has insufficient test coverage.
Solution:   Add more tests. Fix a problem. (Yegappan Lakshmanan, closes vim/vim#5693)
8d588ccee5
2022-07-02 11:57:53 +08:00
zeertzjq
d197e77a55 vim-patch:8.2.0261: some code not covered by tests
Problem:    Some code not covered by tests.
Solution:   Add test cases. (Yegappan Lakshmanan, closes vim/vim#5645)
f0cee1971f

Cherry-pick Test_bunload_with_offset() from patch 8.2.0243
2022-07-02 11:57:53 +08:00
zeertzjq
f71d518c90
Merge pull request #19199 from zeertzjq/vim-9.0.0017
vim-patch:9.0.{0017,0021,0022}: invalid memory access
2022-07-02 09:28:16 +08:00
Gregory Anders
5bd1bdee14
fix(mark): set mark fnum from buffer (#19195) 2022-07-01 17:20:50 -06:00
zeertzjq
d358856a0c vim-patch:9.0.0022: spell test fails
Problem:    Spell test fails.
Solution:   Expect new error is given.
95afae6d17
2022-07-02 06:55:23 +08:00
zeertzjq
998a96803b vim-patch:9.0.0021: invalid memory access when adding word to spell word list
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.
5e59ea54c0
2022-07-02 06:55:23 +08:00
zeertzjq
0b15c01912 vim-patch:9.0.0017: accessing memory beyond the end of the line
Problem:    Accessing memory beyond the end of the line.
Solution:   Stop Visual mode when closing a window.
3d51ce18ab
2022-07-02 06:55:23 +08:00
dundargoc
9b4d0137b8
build: move lint target to cmake #19169
This will ensure less verbose output and faster linting.
2022-07-01 09:15:04 -07:00