| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
There are three different ways of marking an option as hidden, `enable_if
= false`, `hidden = true` and `immutable = true`. These also have different
behaviors. Options hidden with `enable_if = false` can't have their value
fetched using Vim script or the API, but options hidden with `hidden = true` or
`immutable = true` can. On the other hand, options with `hidden = true` do not
error when trying to set their value, but options with `immutable = true` do.
Solution:
Remove `enable_if = false`, remove the `hidden` property for options, and use
`immutable = true` to mark an option as hidden instead. Also make hidden option
variable pointers always point to the default value, which allows fetching the
value of every hidden option using Vim script and the API. This does also mean
that trying to set a hidden option will now give an error instead of just being
ignored.
|
| |
|
|
|
|
|
|
|
| |
(#30115)
related: vim/vim#15519
https://github.com/vim/vim/commit/bc29ea62861052b35781031173a67d7d577be068
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: RestoreOpts() plugin called too often
Solution: use :defer to have the RestoreOpts() function
called when the function returns automatically
https://github.com/vim/vim/commit/afea6b946827e964271eb19579946a7f88d2f329
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
| |
Problem: the zip plugin duplicates a lot of code for displaying
warnings/errors
Solution: refactor common code into a generic Mess() function
https://github.com/vim/vim/commit/8d52926857ec7f08a9bee8f96470748cecf58002
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
| |
Problem: the zip plugin version is still v33
Solution: increment the version to v34
https://github.com/vim/vim/commit/a336d8f21e4cce877e23d47db238801a5a406992
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: zip plugin has no way to set/restore option values
Solution: Add the SetSaneOpts() and RestoreOpts() functions,
so options that cause issues are set to sane values
and restored back to their initial values later on.
(this affects the 'shellslash' option on windows, which also
changes how the shellescape() function works)
https://github.com/vim/vim/commit/19636be55e023cb726389107e9e7d62049b6fd58
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
| |
Problem: zip plugin tests for fnameescape() function
Solution: Remove the check, fnameescape() has been available since
7.1.299, it should nowadays always be available
https://github.com/vim/vim/commit/33836d38b82aa926a2a2b3f945a0139f373f7e56
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
| |
Problem: zip plugin uses :echo which does not store messages
Solution: use :echomsg instead of :echo so that messages are stored in
the message history
https://github.com/vim/vim/commit/120c0dd815fa3b44df0fa477f7f3313e4a69c652
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
| |
Problem: zip plugin contains a lot of comments from the decho plugin
Solution: Clean up and remove un-used comments
https://github.com/vim/vim/commit/a63f66e953d811bb6d044e92fe338e533ad94ff5
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot browse zipfiles with the unzip program found
on FreeBSD.
Solution: Adjust command arguments.
Unzip found on FreeBSD complain about missing argument with the
zipinfo modifier '-Z -1'. Joining arguments seems to work
for both implementations.
Also change `:sil!` to `:sil` so that error messages are properly
reported (per review of Christian Brabandt).
related: vim/vim#15411
https://github.com/vim/vim/commit/f0e9b72c8fdd47b9b410a11edf7479953cb2aed9
Co-authored-by: Damien <141588647+xrandomname@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: After 6f1cbfc9ab483a09877e153ad130164875c40b1d fnameescape()
is no longer called on the name of the file to be extracted.
However, while spaces indeed don't need to be escaped, unzip
treats '[' as a wildcard character, so it need to be escaped.
Solution: Escape '[' on both MS-Windows and Unix.
From the docs it seems '*' and '?' also need escaping, but they seem to
actually work without escaping.
fixes: neovim/neovim#29977
closes: vim/vim#15427
https://github.com/vim/vim/commit/c5bdd66558b14f04424a22d9714a9b7d0c277dac
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Opening a zipfile from HTTP gives an empty buffer.
Solution: Ensure that the magic bytes check does not
skip protocol processing.
Also use readblob() and remove commented out lines.
closes: vim/vim#15396
https://github.com/vim/vim/commit/c4be066817d560c870f67f1593630cfb5b39dfc8
Co-authored-by: Damien <141588647+xrandomname@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
| |
This is safer because we don't invoke the shell.
closes: vim/vim#15335
https://github.com/vim/vim/commit/2cad941dc0cb57bca577160eb3a349de2e667bcd
Co-authored-by: Damien <141588647+xrandomname@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Enter 'x' in zip browser fail with E121
Solution: Fix typo in zip#Extract()
closes: vim/vim#15321
https://github.com/vim/vim/commit/38ce71c1c323716cc4b130dbb3e8837a8b9a710b
Co-authored-by: Damien <141588647+xrandomname@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
| |
This was wrongly included as of patch 1c6734291295bf8aa39577840b40bb
because apparently I messed up the use of git apply :/
https://github.com/vim/vim/commit/52f2ff03636fe120f3c9d00e9b3cdc1da251bd73
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change does the following 3 things:
1) non need to quote the file to be extracted
The zipfile plugin used to quote and fnameescape() the path to the
file to be extracted. However testing with unzip showed, that while this
works on Linux on Windows you shall not escape the blanks in filenames.
As long as the pathname is properly quoted, this words on Linux and
Windows.
2) reset shellslash (MS-Windows only)
When shellslash is set, filenames to the zip archive will be forward
quoted. However since the filename is eventually handed over to the
unzip command, we need to make sure to use native paths so that the
command will understand what file to open. Therefore, if shellslash is
set (and the shell is cmd.exe), replace any forward slashes by the
expected backslashes
3) style:
Use tabs for the Header, remove a few comments in the s:Escape() and
zip#read() functions
fixes: vim/vim#14998
https://github.com/vim/vim/commit/1c6734291295bf8aa39577840b40bb21a7f27120
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
| |
runtime(misc): announce adoption of various runtime files
https://github.com/vim/vim/commit/f9ca139e3aa12dd03177ebba5eedcee4f0836f27
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(dist): centralize safe executable check and add vim library (vim/vim#13413)
Follow up to 816fbcc26 (patch 9.0.1833: [security] runtime file fixes,
2023-08-31) and f7ac0ef50 (runtime: don't execute external commands when
loading ftplugins, 2023-09-06).
This puts the logic for safe executable checks in a single place, by introducing
a central vim library, so all filetypes benefit from consistency.
Notable changes:
- dist#vim because the (autoload) namespace for a new runtime support
library. Supporting functions should get documentation. It might make
life easier for NeoVim devs to make the documentation a new file
rather than cram it into existing files, though we may want
cross-references to it somewhere…
- The gzip and zip plugins need to be opted into by enabling execution
of those programs (or the global plugin_exec). This needs
documentation or discussion.
- This fixes a bug in the zig plugin: code setting s:tmp_cwd was removed
in f7ac0ef50 (runtime: don't execute external commands when loading
ftplugins, 2023-09-06), but the variable was still referenced. Since
the new function takes care of that automatically, the variable is no
longer needed.
https://github.com/vim/vim/commit/cd8a3eaf5348feacfecab4b374b7ea4ce6a97422
Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime(ftplugin): allow to exec if curdir is in PATH
In case the current directory is present as valid $PATH entry, it is OK
to call the program from it, even if vim curdir is in that same
directory.
(Without that patch, for instance, you will not be able to open .zip
files while your current directory is /bin)
closes: vim/vim#13027
https://github.com/vim/vim/commit/67c951df4c95981c716eeedb1b102d9668549e65
Co-authored-by: Anton Sharonov <anton.sharonov@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: runtime files may execute code in current dir
Solution: only execute, if not run from current directory
The perl, zig and ruby filetype plugins and the zip and gzip autoload
plugins may try to load malicious executable files from the current
working directory. This is especially a problem on windows, where the
current directory is implicitly in your $PATH and windows may even run a
file with the extension `.bat` because of $PATHEXT.
So make sure that we are not trying to execute a file from the current
directory. If this would be the case, error out (for the zip and gzip)
plugins or silently do not run those commands (for the ftplugins).
This assumes, that only the current working directory is bad. For all
other directories, it is assumed that those directories were
intentionally set to the $PATH by the user.
https://github.com/vim/vim/commit/816fbcc262687b81fc46f82f7bbeb1453addfe0c
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/71badf9547e8f89571b9a095183671cbb333d528
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/519cc559b08b800edc429688aece7ad6a00d41eb
|
| |
|
|
|
|
|
|
|
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/6c391a74fe90190796ca0b0c010112948a6e75d7
omit autoload/getscript.vim
skip doc/eval.txt (needs 8.2.2468)
skip doc/various.txt (needs 8.2.3400)
(typofixes courtesy of @dundargoc)
|
| |
|
|
|
|
|
|
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/cb80aa2d53e56d3aba3b3c439fb467f29a750c5e
Omit runtime/doc/tabpage.txt.
Patch v8.2.1401 is not ported yet.
Port optwin.vim changes without gettext().
Patch v8.2.1544 is not ported yet.
|
| |
|
|
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/8024f936368336241406137a2fa78ed5ee9000a6
Omit "modifyOtherKeys" changes.
|
| |
|
|
|
| |
Update runtime files.
https://github.com/vim/vim/commit/2963456ff2b740244b3a064785fe681b1998d75e
|
| |
|
|
|
|
|
|
|
|
|
| |
Updated runtime files.
https://github.com/vim/vim/commit/3e496b0ea31996b665824f45664dee1fdd73c4d0
NA patches:
vim-patch:8.0.0015
vim-patch:8.0.0016
vim-patch:177778575148
|
| |
|
|
|
|
| |
Updated runtime files.
https://github.com/vim/vim/commit/d07969093a9b3051511c478d71c36de6fc33c0d6
|
|
|
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7
Excluding:
Amiga icons (*.info, icons/)
doc/hangulin.txt
tutor/
spell/
lang/ (only used for menu translations)
macros/maze/, macros/hanoi/, macros/life/, macros/urm/
These were used to test vi compatibility.
termcap
"Demonstration of a termcap file (for the Amiga and Archimedes)"
Helped-by: Rich Wareham <rjw57@cam.ac.uk>
Helped-by: John <john.schmidt.h@gmail.com>
Helped-by: Yann <yann@yann-salaun.com>
Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com>
Helped-by: drasill <github@tof2k.com>
Helped-by: Tae Sandoval Murgan <taecilla@gmail.com>
Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
|