Commit Graph

15506 Commits

Author SHA1 Message Date
zeertzjq
4d896be681 vim-patch:9.0.0786: user command does not get number from :tab modifier (#20716)
Problem:    User command does not get number from :tab modifier.
Solution:   Include the number. (closes vim/vim#11393, closes vim/vim#6901)
208567e9d7
2022-10-18 20:46:42 +08:00
zeertzjq
97164748b9 fix(intro): omit patch version in ":help news" item #20713
Because maintenance releases share the same news.txt as the last
non-maintenance release.
2022-10-18 03:42:32 -07:00
Mahmoud Al-Qudsi
bd7ca10fdd fix(qflist): avoid read of uninitialized memory (#20709)
If the call to `qf_setup_state()` in `qf_init_ext()` fails, control flow jumps
to label `qf_init_end` where a call to `qf_update_buffer()` is made with
`old_last` as a function call argument.

Prior to this patch, `old_last` would not yet have been initialized to its
default value of `NULL`, resulting in `qf_update_buffer()` attempting to compare
against its uninitialized value (quickfix.c:3882) then later forwarding it to
`qf_fill_buffer()` where the address is dereferenced and repeatedly read from/
written to for performing core qflist operations.

Depending on what the default value of `old_last` was, the results may range
from a best case scenario of neovim terminating with SIGSEGV from an attempt to
dereference an invalid pointer (quickfix.c:4056) to memory corruption if it
contained some other value that results in `qfp` being initialized from
`old_last->qf_next` (after which it is subsequently written to and read from in
a fairly arbitrary fashion).

Though extremely unlikely, it's possible for there to be security considerations
as a user can ensure that the next call to `qf_setup_state()` fails.

This patch ensures that `old_last` is NULL-assigned before control flow jumps to
`qf_init_end`.

Closes #20639.
2022-10-18 10:15:24 +08:00
Christian Clason
e427313545 vim-patch:9.0.0782: OpenVPN files are not recognized (#20702)
Problem:    OpenVPN files are not recognized.
Solution:   Add patterns for OpenVPN files. (closes vim/vim#11391)
4bf67ec52e
2022-10-17 18:36:10 +02:00
Luuk van Baal
46eabe1ac1 fix: 'scroll' is not set correctly for floats with 'splitkeep'
vim-patch:9.0.0780: 'scroll' value computed in unexpected location

Problem:    'scroll' value computed in unexpected location.
Solution:   Compute 'scroll' when the window height is changed. (Luuk van
            Baal, closes vim/vim#11387)
a1a46da87d
2022-10-17 21:28:30 +08:00
zeertzjq
637ab296cb feat(api): nvim_select_popupmenu_item support cmdline pum (#20652) 2022-10-17 21:00:50 +08:00
Lewis Russell
190019dd79 Merge pull request #20665 from lewis6991/fix/decor_redraw 2022-10-17 10:19:26 +01:00
Christian Clason
042eb74ff1 feat(runtime)!: remove filetype.vim (#20428)
Made obsolete by now graduated `filetype.lua` (enabled by default).

Note that changes or additions to the filetype detection still need to
be made through a PR to vim/vim as we port the _logic_ as well as tests.
2022-10-17 08:52:40 +02:00
Jonas Strittmatter
d44f088834 vim-patch:9.0.0771: cannot always tell the difference beween tex and … (#20687)
vim-patch:9.0.0771: cannot always tell the difference beween tex and rexx files

Problem:    Cannot always tell the difference beween tex and rexx files.
Solution:   Recognize tex by a leading backslash. (Martin Tournoij,
            closes vim/vim#11380)
bd053f894b
2022-10-17 08:18:57 +02:00
Gregory Anders
935e1ca743 feat: mention ":help news" in intro #20674 2022-10-16 14:55:18 -07:00
zeertzjq
c8fbf39d47 vim-patch:9.0.0764: indent and option tests fail
Problem:    Indent and option tests fail.
Solution:   Change OP_INDENT.  Add entry to options test table.
c8b6735573
2022-10-16 08:34:55 +08:00
zeertzjq
19eb7054ff vim-patch:9.0.0761: cannot use 'indentexpr' for Lisp indenting
Problem:    Cannot use 'indentexpr' for Lisp indenting.
Solution:   Add the 'lispoptions' option.
49846fb1a3

vim-patch:9.0.0762: build failure

Problem:    Build failure.
Solution:   Add missing change.
4b082c4bd0
2022-10-16 08:34:55 +08:00
zeertzjq
bc798dfd8c vim-patch:9.0.0765: with a Visual block a put command column may go negative (#20676)
Problem:    With a Visual block a put command column may go negative.
Solution:   Check that the column does not become negative.
36343ae0fb
2022-10-16 08:01:44 +08:00
Lewis Russell
2921de6a96 fix(decoration): call providers in win_update() earlier
Fixes #20651
2022-10-15 18:06:59 +01:00
Lewis Russell
80161ec7d6 refactor(drawscreen.c): reduce scopes of locals (#20668) 2022-10-15 18:01:52 +01:00
bfredl
d4841e24da Merge pull request #20140 from dundargoc/refactor/char_u/12
refactor: replace char_u with char 12: remove `STRLEN` part 2
2022-10-15 18:17:07 +02:00
zeertzjq
0434f732a6 Merge pull request #20670 from zeertzjq/vim-9.0.0737
vim-patch:9.0.{partial:0737,0754}: lisp indent fixes
2022-10-15 20:27:34 +08:00
Lewis Russell
1ba9d63d77 refactor(shada.c): clint (#20599) 2022-10-15 12:45:57 +01:00
zeertzjq
32ced1f08f vim-patch:9.0.0754: 'indentexpr' overrules lisp indenting in one situation
Problem:    'indentexpr' overrules lisp indenting in one situation.
Solution:   Add "else" to keep the lisp indent. (issue vim/vim#11327)
a79b35b578
2022-10-15 19:44:03 +08:00
zeertzjq
eaac095825 vim-patch:partial:9.0.0737: Lisp word only recognized when a space follows
Problem:    Lisp word only recognized when a space follows.
Solution:   Also match a word at the end of a line.  Rename the test.  Use a
            compiled function to avoid backslashes.
d26c5805bc

Keep the old Test_lisp_indent().
2022-10-15 19:42:03 +08:00
Dundar Göc
04cdea5f4a refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-10-15 13:18:46 +02:00
Justin M. Keyes
d52e3b97c5 Merge #20634 fix(windows): set console icon later in startup 2022-10-15 06:22:47 -04:00
zeertzjq
a9452cf3d5 vim-patch:9.0.0616: spell test fails because error message changed
Problem:    Spell test fails because error message changed.
Solution:   Adjust expected error message.
371951d0c3
2022-10-15 16:28:36 +08:00
zeertzjq
6bc2d6b66b vim-patch:9.0.0614: SpellFileMissing autocmd may delete buffer
Problem:    SpellFileMissing autocmd may delete buffer.
Solution:   Disallow deleting the current buffer to avoid using freed memory.
ef976323e7
2022-10-15 16:28:36 +08:00
zeertzjq
65cbe0cc35 vim-patch:8.1.0342: crash when a callback deletes a window that is being used
Problem:    Crash when a callback deletes a window that is being used.
Solution:   Do not unload a buffer that is being displayed while redrawing the
            screen. Also avoid invoking callbacks while redrawing.
            (closes vim/vim#2107)
94f01956a5

Omit parse_queued_messages(): N/A.
Cherry-pick a break statement from patch 8.1.0425.
2022-10-15 16:28:31 +08:00
Christian Clason
e26b48bde6 vim-patch:9.0.0752: Rprofile files are not recognized (#20658)
Problem:    Rprofile files are not recognized.
Solution:   Recognize Rprofile files as "r". (closes vim/vim#11369)
7e120ffccb
2022-10-15 10:12:25 +02:00
zeertzjq
1c478391ca vim-patch:9.0.0750: crash when popup closed in callback (#20659)
Problem:    Crash when popup closed in callback. (Maxim Kim)
Solution:   In syntax_end_parsing() check that syn_block is valid.
0abd6cf62d
2022-10-15 07:24:03 +08:00
Lewis Russell
cb7da02701 Merge pull request #20645 from lewis6991/fix/decor_redraw_same_id
fix(decoration): redraw correctly when re-using ids
2022-10-14 20:46:26 +01:00
Justin M. Keyes
1ca3a3749f refactor(windows): move os_icon_xx functions 2022-10-14 17:17:35 +02:00
Justin M. Keyes
ffc6d14af5 fix(windows): set console icon later in startup
Problem:
Windows console icon is set early in startup, but there are some cases
where `os_exit` is called and we don't restore the original icon.

Solution:
- Move `os_icon_init()` later in the startup sequence, and only if
  `use_builtin_ui==true`.
- Rename functions: use `os_` prefix for platform-specific code.
2022-10-14 17:13:38 +02:00
zeertzjq
e6f7e038b8 fix(completion): set pum_size even if ext_popupmenu is used (#20648)
This allows CompleteChanged event to get the correct `v:event.size`.
It should be harmless and more consistent to also set `pum_array`.
2022-10-14 23:08:00 +08:00
Justin M. Keyes
e5cb3104d0 docs: fix/remove invalid URLs #20647 2022-10-14 08:01:13 -07:00
Lewis Russell
546b294e74 fix(decoration): redraw correctly when re-using ids
00cfc1d (from #20249) reduced the amount of unnecessary redraws. This
surfaced an issue where if and extmark with a specific ID is
repositioned to a different row, the decorations from the old row were
not redrawn and removed. This change fixes that by redrawing the
old row.
2022-10-14 13:03:03 +01:00
Lewis Russell
9931db2e3f Merge pull request #20545 from lewis6991/remove_cscope 2022-10-14 09:53:15 +01:00
zeertzjq
0578c67767 vim-patch:9.0.0747: too many #ifdefs (#20641)
Problem:    Too many #ifdefs.
Solution:   Gradudate the +cmdline_info feature. (Martin Tournoij,
            closes vim/vim#11330)
ba43e76fcd
2022-10-14 07:29:58 +08:00
Lewis Russell
7f11dfdef8 refactor(tag): remove return type from do_tag() 2022-10-13 16:37:24 +01:00
Lewis Russell
288208257c feat(cscope)!: remove 2022-10-13 16:37:23 +01:00
dundargoc
eb123b565e docs: fix typos (#20509)
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2022-10-13 21:18:48 +08:00
Enan Ajmain
730228f6db feat(windows): show icon in terminal titlebar, taskbar #20607
closes #20071
2022-10-13 05:48:12 -07:00
zeertzjq
06dfedc87a vim-patch:9.0.0738: cannot suppress completion "scanning" messages (#20633)
Problem:    Cannot suppress completion "scanning" messages.
Solution:   Add the "C" flag in 'shortmess'. (Bjorn Linse, closes vim/vim#11354)
91ccbad5de
2022-10-13 20:46:23 +08:00
zeertzjq
4fbf41dfb4 vim-patch:8.2.4735: quickfix tests can be a bit hard to read (#20631)
Problem:    Quickfix tests can be a bit hard to read.
Solution:   Use heredoc instead of strings and line continuation. (Yegappan
            Lakshmanan, closes vim/vim#10145)
4a7724a440

Cherry-pick a typo fix from patch 8.2.3637.
2022-10-13 14:31:10 +08:00
zeertzjq
f72ae4514c vim-patch:9.0.0286: using freed memory when location list changed in autocmd
Problem:    Using freed memory when location list changed in autocmd.
Solution:   Return QF_ABORT and handle it. (Yegappan Lakshmanan,
            closes vim/vim#10993)
6d24a51b94
2022-10-13 11:47:59 +08:00
zeertzjq
5740b3e076 vim-patch:9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Problem:    Using freed memory when using 'quickfixtextfunc' recursively.
Solution:   Do not allow for recursion.
d6c67629ed

Cherry-pick Test_qflist_statusmsg() from patch 8.2.4617.
2022-10-13 11:47:59 +08:00
zeertzjq
cd1e0bb87d vim-patch:8.2.4462: not enough testing for quickfix code
Problem:    Not enough testing for quickfix code.
Solution:   Add more tests. Fix uncovered problem. (Yegappan Lakshmanan,
            closes vim/vim#9839)
9c9be05b17

Omit Test_helpgrep_vim9_restore_cpo().
Cherry-pick test_quickfix.vim change from patch 8.2.0644.
2022-10-13 10:20:42 +08:00
zeertzjq
73bdfdd382 vim-patch:8.2.4453: :helpgrep may free an option that was not allocated
Problem:    :helpgrep may free an option that was not allocated. (Yegappan
            Lakshmanan)
Solution:   Check if the value was allocated.
4791fcd825
2022-10-13 10:09:09 +08:00
Lewis Russell
0ef6aaa3a7 refactor: clint (#20600) 2022-10-12 14:53:40 +01:00
Lewis Russell
024f6880b5 fix(clint): disable whitespace/newline #20619
This rule is already mostly covered by uncrustify.
2022-10-12 06:31:32 -07:00
Christian Clason
4f305fba14 vim-patch:9.0.0731: clang-tidy configuration files are not recognized (#20620)
Problem:    clang-tidy configuration files are not recognized.
Solution:   Recognize clang-tidy files as yaml. (closes vim/vim#11350)
af40f9af33
2022-10-12 15:23:42 +02:00
Lewis Russell
eeeb6c80d8 refactor(search.c): clint (#20598) 2022-10-12 10:59:06 +01:00
zeertzjq
3b562535c3 vim-patch:8.2.4523: when gvim is started maximized the 'window' option isn't set
Problem:    When gvim is started maximized the 'window' option isn't set
            properly. (Christian J. Robinson)
Solution:   Check if 'windows' was already set or not. (Ken Takata,
            closes vim/vim#9904)
6ca883dd8a
2022-10-12 07:48:25 +08:00