| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: screenpos() may return invalid position
after switching buffers (Greg Hurrell)
Solution: reset w_leftcol if wrapping has been set
after copying wrap option
fixes: vim/vim#15792
closes: vim/vim#15803
https://github.com/vim/vim/commit/b065a10e245d020c11b521a2a5062300ca9891fc
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
| |
Problem: missing change from patch v9.1.0754
Solution: use correct width for the actual item
in pum_redraw() (glepnir)
closes: vim/vim#15786
https://github.com/vim/vim/commit/a6d9e3c4e07f73f6523699961d8b7b54bdb80cf6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: quickfix list does not handle hardlinks well
Solution: store original file name with quickfix entry
(Austin Chang)
Quickfix list shows entries with duplicate name if the file is opened
with the path of hard links.
The major cause is that qflist assumed that the filename passed into
`qf_add_entry` matches the filename opened with the buffer.
This patch handles this case by introduce a `qf_fname` into `qfline_S`
structure. It stores the filename from `qf_add_entry` for each quickfix
line.
closes: vim/vim#15687
https://github.com/vim/vim/commit/29822996996550f68a781e85753ebd4d177f22da
Co-authored-by: Austin Chang <austin880625@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: fixed order of items in insert-mode completion menu
Solution: Introduce the 'completeitemalign' option with default
value "abbr,kind,menu" (glepnir).
Adding an new option `completeitemalign` abbr is `cia` to custom
the complete-item order in popupmenu.
closes: vim/vim#14006
closes: vim/vim#15760
https://github.com/vim/vim/commit/6a89c94a9eeee53481ced1a1260a177bffde4c0f
|
|
|
|
|
|
|
|
|
|
| |
'smoothscroll' (#30614)
Problem: Wrong display when typing in diff mode with 'smoothscroll'.
Solution: Use adjust_plines_for_skipcol() (zeertzjq).
closes: vim/vim#15776
https://github.com/vim/vim/commit/47f8584a80006cd25e7dc6fa7fb1bfe2e768403c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: http files not recognized
Solution: detect '*.http' as http filetype, include
http filetype plugin (Riley Bruins)
Based on the specification found
[here](https://github.com/JetBrains/http-request-in-editor-spec/blob/master/spec.md)
closes: vim/vim#15762
https://github.com/vim/vim/commit/de6c1d1182076b10212342fd2d441267fbe43a22
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
|
|
|
|
|
| |
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: bun and deno history files not recognized
Solution: detect '.bun_repl_history' and 'deno_history.txt' as
javascript filetype (Wu, Zhenyu)
closes: vim/vim#15761
https://github.com/vim/vim/commit/8a2aea8a623ba183dc0703a47970463b105a9399
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#30567)
Problem: Test_halfpage_longline() fails on large terminals
(lazypingu)
Solution: Use a window with known width (zeertzjq).
fixes: vim/vim#15755
closes: vim/vim#15756
https://github.com/vim/vim/commit/fa117387eea97306e4c59043b607ccb1533f64ea
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: notmuch configs are not recognised
Solution: Detect more notmuch profile configuration files
as dosini filetype (Julio B)
Reference:
https://notmuchmail.org/doc/latest/man1/notmuch-config.html#configuration
closes: vim/vim#15744
https://github.com/vim/vim/commit/1a2870b57aa832500d59c17c8225a64c2b4aa619
Co-authored-by: Julio B <julio.bacel@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#30532)
Problem: diff mode does not handle overlapping diffs correctly
Solution: correct the logic to handle overlapping blocks
(Yukihiro Nakadaira)
Vim merges overlapped diff blocks and it doesn't work expectedly
in some situation.
closes: vim/vim#15735
https://github.com/vim/vim/commit/06fe70c183a53ea97cd42ace490d4fb9fd14f042
Co-authored-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: getcmdprompt() implementation can be improved
Solution: Improve and simplify it (h-east)
closes: vim/vim#15743
https://github.com/vim/vim/commit/25876a6cdd439054d0b3f920ccca0a435481de15
Co-authored-by: h-east <h.east.727@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: No way to get prompt for input()/confirm()
Solution: add getcmdprompt() function (Shougo Matsushita)
(Shougo Matsushita)
closes: vim/vim#15667
https://github.com/vim/vim/commit/6908428560a0d6ae27bf7af6fcb6dc362e31926c
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: incorrect internal diff with an empty file
Solution: Set pointer to NULL, instead of using an empty line file
(Yukihiro Nakadaira)
When using internal diff, empty file is read as one empty line file.
So result differs from external diff.
closes: vim/vim#15719
https://github.com/vim/vim/commit/f1694b439bb175d956b49da620f1253462ec507b
Co-authored-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: rapid files are not recognized
Solution: detect '*.sysx' and '*.modx' as rapid filetype
(KnoP-01)
closes: vim/vim#15669
https://github.com/vim/vim/commit/fdcb08264d6e8525a07b29c14863adc6ead83913
Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: salt files are not recognized
Solution: Detect '*.sls' files as filetype salt,
include a syntax script (Gregory Anders)
closes: vim/vim#15689
https://github.com/vim/vim/commit/89b9bb4ac8ceb701ebecb8c02aca3d047dff9991
Co-authored-by: Gregory Anders <greg@gpanders.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: jinja files are not recognized
Solution: detect '*.jinja' files a jinja filetype,
include jinja syntax script (Gregory Anders)
related: vim/vim#15689
https://github.com/vim/vim/commit/202c467bb37b894ada6377d3f2621c103f324757
Co-authored-by: Gregory Anders <greg@gpanders.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: inconsistent case sensitive extension matching
Solution: unify case sensitive extension matching (Evgeni Chasnovski).
There are different approaches of how extensions are matched with
respect to case sensitivity. In particular, '\c' flag is used in pattern
whereas in most places case sensitive matching is guarded behind
`has("fname_case")` condition.
Replace all instances of '\c' with an explicit case sensitive pattern
variants guarded by `has("fname_case")`. Strictly speaking, this is a
breaking change because only two (most common and prevailingly tested)
variants are now matched: upper first letter and upper all letters.
closes: vim/vim#15672
https://github.com/vim/vim/commit/59b089c9df238ce940b3c593295bc511e201399a
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
|
|\
| |
| | |
vim-patch:9.1.{0729,0730}
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash with cursor-screenline and narrow window
(elig0n)
Solution: Don't set right_col when width2 is 0 (zeertzjq).
fixes: vim/vim#15677
closes: vim/vim#15678
https://github.com/vim/vim/commit/59149f02692804267e7cc0665d0334f6ff4675be
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Wrong cursor-screenline when resizing window
Solution: Invalidate saved left_col and right_col when width1 or width2
change.
closes: vim/vim#15679
https://github.com/vim/vim/commit/86dc4f8b432233a01d022c3e71df53db58229713
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
with location list user data (#30377)
Problem: heap-use-after-free in garbage collection with location list
user data.
Solution: Mark user data as in use when no other window is referencing
the location list (zeertzjq)
fixes: neovim/neovim#30371
closes: vim/vim#15683
https://github.com/vim/vim/commit/be4bd189d23854ddf1d85ad291d8f7ad3f22b7a0
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: filetype: swiftinterface files are not recognized
Solution: Detect '*.swiftinterface' files as swift filetype
(LosFarmosCTL)
closes: vim/vim#15658
https://github.com/vim/vim/commit/03cac4b70d819148f4b4404701b8f331a3af0fb6
Co-authored-by: LosFarmosCTL <80157503+LosFarmosCTL@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
| |
Problem: Wrong breakindentopt=list:-1 with multibyte chars or TABs in
text matched by 'formatlistpat' (John M Devin)
Solution: Use the width of the match text (zeertzjq)
fixes: vim/vim#15634
closes: vim/vim#15635
https://github.com/vim/vim/commit/61a6ac4d0066317131528f1b3ecc3b3a2599a75c
|
|
|
|
|
|
|
|
|
|
|
| |
'fillchars' invalid (#30289)
Problem: Resetting cell widths can make 'listchars' or 'fillchars'
invalid.
Solution: Check for conflicts when resetting cell widths (zeertzjq).
closes: vim/vim#15629
https://github.com/vim/vim/commit/66f65a46c5d169f20f780721d4f74d4729855b96
|
|
|
|
|
|
|
|
|
|
| |
Problem: resetting setcellwidth() doesn't update the screen
Solution: Redraw after clearing the cellwidth table (Ken Takata)
closes: vim/vim#15628
https://github.com/vim/vim/commit/539e9b571ae2a80dfa8a42eb132ad9f65f0bbcbc
Co-authored-by: Ken Takata <kentkt@csc.jp>
|
|
|
|
| |
- Use the popup to expose more features such as LSP and gx.
- Move the copy/paste items lower in the menu, they are lower priority.
|
|
|
|
|
|
|
|
|
|
| |
Problem: Newline causes E749 in Ex mode (after 9.1.0573).
Solution: Don't execute empty command followed by a newline.
closes: vim/vim#15614
https://github.com/vim/vim/commit/2432b4a75321a1a9ac0f9b326c7e46d38bdb71bb
Cherry-pick code change from patch 8.2.3405.
|
|
|
|
|
|
|
|
|
|
| |
skipcol (#30217)
Problem: Window is updated with potentially invalid skipcol in recursive
window update path. I.e. cursor outside of visible range in
large line that does not fit.
Solution: Make sure it is valid (Luuk van Baal).
https://github.com/vim/vim/commit/3d5065fc7553c8de3d0555c3085165bdd724663b
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: completion is inserted on Enter with "noselect"
(Carman Fu)
Solution: check noselect before update compl_shown_match
(glepnir)
fixes: vim/vim#15526
closes: vim/vim#15530
https://github.com/vim/vim/commit/753794bae8a9401903b82e5c5d1f35a106aa912a
|
|
|
|
|
|
|
|
|
| |
Use the grapheme break algorithm from utf8proc to support grapheme
clusters from recent unicode versions.
Handle variant selector VS16 turning some codepoints into double-width
emoji. This means we need to use ptr2cells rather than char2cells when
possible.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: "dvgo" is not always an inclusive motion
(Iain King-Speir)
Solution: initialize the inclusive flag to false
fixes: vim/vim#15580
closes: vim/vim#15582
https://github.com/vim/vim/commit/f8702aeb8ff85554d909901ae45b50c3d532bf70
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The matchparen plugin is slow on a long line.
Solution: Don't use a regexp to get char at and before cursor.
(zeertzjq)
Example:
```vim
call setline(1, repeat(' foobar', 100000))
runtime plugin/matchparen.vim
normal! $hhhhhhhh
```
closes: vim/vim#15568
https://github.com/vim/vim/commit/81e7513c86459c40676bd983f73c2722096d67a9
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Wrong patlen value in ex_substitute() (after 9.1.0426).
Solution: Compute patlen after finding end separator.
(zeertzjq)
Add a more explicit test. The test already passes as the only case
where a overlarge patlen value matters was fixed by patch 9.1.0689.
closes: vim/vim#15565
https://github.com/vim/vim/commit/d1c8d2de4b9fa44b3d2b39b7ed8b92846c5502b7
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: cannot set special highlight kind in popupmenu
Solution: add kind_hlgroup item to complete function
(glepnir)
closes: vim/vim#15561
https://github.com/vim/vim/commit/38f99a1f0d61e9bde3f4a3d0cbe2d06185c4a57f
Co-authored-by: glepnir <glephunter@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: mode() returns wrong value with <Cmd> mapping
Solution: Change decision priority of VIsual_active and move
visual mode a bit further down (kuuote)
closes: vim/vim#15533
https://github.com/vim/vim/commit/0fd1cb1b1fc90b68cb37f71e65289eadac3588a6
Co-authored-by: kuuote <znmxodq1@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: zip-plugin has problems with special characters
(user202729)
Solution: escape '*?[\' on Unix and handle those chars
a bit differently on MS-Windows, add a test, check
before overwriting files
runtime(zip): small fixes for zip plugin
This does the following:
- verify the unzip plugin is executable when loading the autoload plugin
- handle extracting file names with '[*?\' in its name correctly by
escaping those characters for the unzip command (and handle those
characters a bit differently on MS-Windows, since the quoting is different)
- verify, that the extract plugin is not overwriting a file (could cause
a hang, because unzip asking for confirmation)
- add a test zip file which contains those special file names
fixes: vim/vim#15505
closes: vim/vim#15519
https://github.com/vim/vim/commit/7790ea0c680a9f951a86066e5940ec16b2333c9a
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: :keeppatterns does not retain the substitute pattern
for a :s command
Solution: preserve the last substitute pattern when used with the
:keeppatterns command modifier (Gregory Anders)
closes: vim/vim#15497
https://github.com/vim/vim/commit/3b59be4ed8a145d3188934f1a5cd85432bd2433d
Co-authored-by: Gregory Anders <greg@gpanders.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: [security]: use-after-free in alist_add()
(SuyueGuo)
Solution: Lock the current window, so that the reference to
the argument list remains valid.
This fixes CVE-2024-43374
https://github.com/vim/vim/commit/0a6e57b09bc8c76691b367a5babfb79b31b770e8
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: marker folds may get corrupted on undo (Yousef Mohammed)
Solution: when adjusting folds, make sure that line1 is the lower limit
and line2 is the upper line limit. In particular, line2 should
not be able to get smaller than line1.
fixes: vim/vim#15455
closes: vim/vim#15466
https://github.com/vim/vim/commit/8d02e5cf961b06da5bc490ac5972bcbc252c4793
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#30020)
Problem: Some other options reset curswant unnecessarily when set.
(Andrew Haust)
Solution: Don't reset curswant when setting 'comments', 'commentstring'
or 'define' (zeertzjq)
fixes: vim/vim#15462
closes: vim/vim#15467
https://github.com/vim/vim/commit/b026a293b1e9d7a30f7717e256fe5f7f1dfa20d7
|
|
|
|
|
|
|
|
|
|
|
| |
(#30018)
Problem: assert_equal() doesn't show multibyte string correctly
Solution: Properly advance over a multibyte char.
(zeertzjq)
closes: vim/vim#15456
https://github.com/vim/vim/commit/9c4b2462bb498f44044616f7309d111d12170369
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: MS-Windows: always uses current directory for executables.
Solution: Check the NoDefaultCurrentDirectoryInExePath environment variable.
(Yasuhiro Matsumoto, closes vim/vim#10341)
https://github.com/vim/vim/commit/05cf63e9bdca1ac070df3e7d9c6dfc45e68ac916
Omit doc change: override in later doc update.
Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Problem: Startup test fails on MS-Windows.
Solution: Skip the test if not on Unix.
https://github.com/vim/vim/commit/6d197987745427801a2195836ef89e48537afbeb
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Renaming a buffer on startup may cause using freed memory.
Solution: Check if the buffer is used in a window. (closes vim/vim#8955)
https://github.com/vim/vim/commit/d3710cf01ef6ab1b2f233866ff01dab76686f642
Cherry-pick Test_echo_true_in_cmd() from Vim.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: tests: zip test still resets 'shellslash' option
Solution: Remove resetting the 'shellslash' option, the zip
plugin should now be able to handle this options
closes: vim/vim#15434
https://github.com/vim/vim/commit/91efcd115e700725b9ebded0f5d7bc0d3fa98d9d
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
|
|
|
|
|
|
|
|
|
| |
Problem: the zip plugin is not tested.
Solution: include tests (Damien)
closes: vim/vim#15411
https://github.com/vim/vim/commit/d7af21e746f3992c650caf6b76465880b96302b4
Co-authored-by: Damien <141588647+xrandomname@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
| |
Problem: Checking for absolute path is not trivial.
Solution: Add isabsolutepath(). (closes vim/vim#10303)
https://github.com/vim/vim/commit/dca1d40cd0f2af0755519e7028378bd3c8fefd31
vim-patch:8a3b805c6c9c
Co-authored-by: LemonBoy <thatlemon@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: missing filecopy() function
Solution: implement filecopy() Vim script function
(Shougo Matsushita)
closes: vim/vim#12346
https://github.com/vim/vim/commit/60c8743ab6c90e402e6ed49d27455ef7e5698abe
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: [security] double-free in dialog_changed()
(SuyueGuo)
Solution: Only clear pointer b_sfname pointer, if it is different
than the b_ffname pointer. Don't try to free b_fname,
set it to NULL instead.
fixes: vim/vim#15403
Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-46pw-v7qw-xc2f
https://github.com/vim/vim/commit/b29f4abcd4b3382fa746edd1d0562b7b48c9de60
Co-authored-by: Christian Brabandt <cb@256bit.org>
|