Lua's string.byte has a maximum (undocumented) allowable length, so
vim.text.hencode fails on large strings with the error "string slice too
long".
Instead of converting the string to an array of bytes up front, convert
each character to a byte one at a time.
Otherwise, if the executable to be verified does not exist,
this would cause a false-positive in the 'IsSafeExecutable()' check,
because 'exepath(executable)' returns an empty string and
'fnamemodify('', ':p:h')' returns the current directory and as a result
the 'IsSafeExecutable()' returns false (for the wrong reason).
8e25d91cb7
Co-authored-by: Christian Brabandt <cb@256bit.org>
- all: PMenuMatch and PMenuMatchSel for 8c/16c
- habamax:
- revert VertSplit to solid background color
- remove gitCommitSummary link to Title
- make TabLineFill same as StatuslineNC
closes: vim/vim#155066908db4756
Co-authored-by: Maxim Kim <habamax@gmail.com>
It's a personal annoyance for me. I have to edit yaml files on a lot of
customer environments and whenever you type '#' at the start of the
line, the commented line will be indented by whatever indent the
previous line had.
I hate this seriously, because it makes un-commenting painful. So let's
fix this. But instead of messing with the indent function, let's just
remove the '0#' from cinkeys, so that Vim won't perform re-indenting
when commenting out such a yaml file.
closes: vim/vim#15494c6ed816761
Co-authored-by: Christian Brabandt <cb@256bit.org>
Problem: g:netrw_use_errorwindow=2 does not work
without +balloon_eval.
Solution: Check for popup_atcursor().
related: vim/vim#15501b4d1164425
Co-authored-by: Damien <141588647+xrandomname@users.noreply.github.com>
Closing parentheses were often highlighted as errors.
Add a syntax sync command to reduce the error.
Also fix that `defined` was not highlighted as an operator inside
parentheses. E.g.:
```
if defined foo (
if defined bar (
...
)
)
```
The first `defined` was highlighted but the second one was not.
related: vim/vim#1545311c92be897
Co-authored-by: Ken Takata <kentkt@csc.jp>
The end marker must appear on line of its own without any trailing
whitespace.
Whitespace is incorrectly allowed before all end markers. Limiting this
only to heredocs where "trim" was specified, and with the correct
indent, is currently an intractable problem given that contained syntax
groups (in this case :let) cannot be limited to start patterns.
Highlight interpolated expressions when "eval" is specified.
cloess: vim/vim#15511d164f2a521
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
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#154973b59be4ed8
Co-authored-by: Gregory Anders <greg@gpanders.com>
Problem: Rename from w_closing to w_locked is incomplete
(after 9.1.0678).
Solution: Rename remaining occurrences of w_closing to w_locked and
update comments (zeertzjq).
closes: vim/vim#15504bc11f6d9d4
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
0a6e57b09b
Co-authored-by: Christian Brabandt <cb@256bit.org>
Problem: In line 308 the poem appears as
✅1) Roses are red,
✅2) Mud is fun,
✅3) Violets are blue,
✅4) I have a car,
✅5) Clocks tell time,
✅6) Sugar is sweet
✅7) And so are you.
where the wrong lines (2, 4, 5) are all marked as correct.
Solution: Change the tutor.json file so that initially the poem appears
as
✅1) Roses are red,
❌2) Mud is fun,
✅3) Violets are blue,
❌4) I have a car,
❌5) Clocks tell time,
❌6) Sugar is sweet
✅7) And so are you.
The method for checking whether a line is correct or not is really
simple, so I couldn't find a way to display the 6th line as initially
correct, however upon deleting lines 2, 4 and 5 the final result shows
line 6 as correct.
It addresses the following issues:
- Fix highlight of let and var javascript keywords
According to runtime/doc/syntax.txt, Identifier is for variable names.
let/var are not variable names, they are keywords
- Add highlighting for "from" keyword in javascript
- Fix highlight of function keyword in javascript
According to docs, Function is for function names, so the function
keyword should just be Keyword.
- Fix highlight of static keyword in javascript
According to vim docs: StorageClass static, register, volatile, etc.
closes: vim/vim#15480ea76096fa9
I added help tags for them in the syntax.txt file since this is the only
place they are mentioned.
closes: vim/vim#15486dc831db6ea
Co-authored-by: JJCUBER <34446698+JJCUBER@users.noreply.github.com>
Problem:
The windows installer did not have the AllUsers property which leads to
the installer being misidentified as per user installer.
Currently the installer already requires administrative privileges and
installs into the system-wide ProgramFiles directory, but the start menu
entry and uninstaller registration are created only for the current user.
Issue: #29885https://cmake.org/cmake/help/latest/cpack_gen/wix.html#variable:CPACK_WIX_INSTALL_SCOPE
Solution:
With setting CPACK_WIX_INSTALL_SCOPE to "perMachine" the generated msi
installer includes the Property ALLUSERS=1.
Additionally the start menu entries and uninstaller registration will be
created for all users.
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#15455closes: vim/vim#154668d02e5cf96
Co-authored-by: Christian Brabandt <cb@256bit.org>
Problem: Contents of terminal buffer are not reflown when Nvim is
resized.
Solution: Enable reflow in libvterm by default. Now that libvterm is
vendored, also fix "TUI rapid resize" test failures there.
Note: Neovim's scrollback buffer does not support reflow (yet), so lines
vanishing into the buffer due to a too small window will be restored
without reflow.
Problem: Adding support for modern Nvim features (reflow, OSC 8, full
utf8/emoji support) requires coupling libvterm to Nvim internals
(e.g., utf8proc).
Solution: Vendor libvterm at v0.3.3.
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#15462closes: vim/vim#15467b026a293b1
According to :h win32-PATH, "the same directory as Vim" means the same
directory as the Vim executable, not Vim's current directory. In patch
8.2.4860 these two concepts were mixed up.
closes: vim/vim#154510cc5dce578
Problem: Error when the drive of the swap file was disconnected.
Solution: Try closing and re-opening the swap file. (closesvim/vim#4378)
b58a4b938c
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. (closesvim/vim#8955)
d3710cf01e
Cherry-pick Test_echo_true_in_cmd() from Vim.
Co-authored-by: Bram Moolenaar <Bram@vim.org>