aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/range.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2026-04-06 21:43:28 +0800
committerGitHub <noreply@github.com>2026-04-06 13:43:28 +0000
commit056304ef5bb121e43482783f2a3388d37330050c (patch)
treeac3ba4e369314063f5d7570810e71806a9c719c4 /runtime/lua/vim/range.lua
parent765c063f0208b3b28958ba2f6e61669cecaa6045 (diff)
downloadrneovim-056304ef5bb121e43482783f2a3388d37330050c.tar.gz
rneovim-056304ef5bb121e43482783f2a3388d37330050c.tar.bz2
rneovim-056304ef5bb121e43482783f2a3388d37330050c.zip
vim-patch:9.2.0306: runtime(tar): some issues with lz4 support (#38826)
Problem: runtime(tar): some issues with lz4 support Solution: Fix bugs (see below) (Aaron Burrow) The tar plugin allows users to extract files from tar archives that are compressed with lz4. But, tar#Extract() builds malformed extraction commands for lz4-compressed tar archives. This commit fixes three issues in that code. The first affects archives with a .tlz4 extension and the other two affect archives with .tar.lz4 extension (but one of these is symmetric to the issue that .tlz4 archives had). (1) When trying to extract .tlz4 archives the command created by tar#Extract looked like this: tar -I lz4pxf foo.tlz4 foo This isn't right. It should be something like this: tar -I lz4 -pxf foo.tlz4 foo This was happening because tar.plugin is just substituting on the first - in "tar -pxf". This works fine if we just add a simple flag for extraction (eg, z for .tgz), but for lz4 we need to add "-I lz4". I don't believe that there is an obvious good way to fix this without reworking the way the command is generated. Probably we should collect the command and flags separately and the flags should be stored in a set. Then put everything together into a string just before issuing it as an extraction command. Unfortunately, this might break things for users because they have access to tar_extractcmd. This patch just makes the substitution a little bit more clever so that it does the right thing when substituting on a string like "tar -pxf". (2) .tar.lz4 extractions had the same issue, which my patch fixes in the same way. (3) .tar.lz4 extractions had another issue. There was a space missing in the command generated by tar#Extract. This meant that commands looked like this (notice the lack of space between the archive and output file names): tar -I lz4pxf foo.tar.lz4foo This patch just puts a space where it should be. Finally, I should note that ChatGPT 5.4 initially identified this issue in the code and generated the test cases. I reviewed the test cases, wrote the patch, and actually ran vim against the tests (both with and without the patch). closes: vim/vim#19925 https://github.com/vim/vim/commit/78954f86c2027c766d9e2b5f7904b5fb4041d250 Co-authored-by: Aaron Burrow <burrows@fastmail.com>
Diffstat (limited to 'runtime/lua/vim/range.lua')
0 files changed, 0 insertions, 0 deletions