John Marriott [Sat, 23 Nov 2024 13:01:57 +0000 (14:01 +0100)]
patch 9.1.0882: too many strlen() calls in insexpand.c
Problem: too many strlen() calls in insexpand.c
Solution: Refactor insexpand.c and reduce number of calls to STRLEN(),
fix a warning get_next_filename_completion(), add new function
ins_compl_leader_len() (John Marriott)
closes: #16095
Signed-off-by: John Marriott <basilisk@internode.on.net> Signed-off-by: Christian Brabandt <cb@256bit.org>
Chris White [Sat, 23 Nov 2024 12:35:43 +0000 (13:35 +0100)]
patch 9.1.0881: GUI: message dialog may not get focus
Problem: GUI: message dialog may not get focus
Solution: add window manager hint to give focus to the dialog
(Chris White)
Tell the window manager that message dialogs should be given focus when
the user switches from another application back to Vim. This can
happen, e.g., when the user has a file open in Vim and then edits it
in another program.
fixes: #172
closes: #16100
Signed-off-by: Chris White <christopher.white@crowdstrike.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Luca Saccarola [Tue, 19 Nov 2024 21:53:12 +0000 (22:53 +0100)]
Add clang-format config file
This is used in preparation to enable automatic code-formatting in the
following commits. For now let's just add a clang-format config file,
formatting of source files will follow.
related: #16019
Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Wu, Zhenyu [Tue, 19 Nov 2024 19:55:25 +0000 (20:55 +0100)]
patch 9.1.0876: filetype: openCL files are not recognized
Problem: filetype: openCL files are not recognized
Solution: detect '*.cl' files as opencl or lisp filetype,
include a opencl syntax and filetype plugin (Wu, Zhenyu)
closes: #15825
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Christian Brabandt <cb@256bit.org>
Luca Saccarola [Tue, 19 Nov 2024 19:43:52 +0000 (20:43 +0100)]
patch 9.1.0875: filetype: hyprlang detection can be improved
Problem: filetype: hyprlang detection can be improved
Solution: detect '/hypr/*.conf' files as hyprlang filetype,
include basic syntax highlighting (Luca Saccarola)
fixes: #15875
closes: #16064
Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0868: the warning about missing clipboard can be improved
Problem: the warning about missing clipboard can be improved
(after v9.1.0852)
Solution: use different warnings depending on whether or not clipboard
support is included in Vim, update related documentation
Improve the Warnings about missing clipboard registers
- Make it translatable
- Use a different warning, when clipboard support was not compiled in
- add a reference to :h W24
- explain in more detail the error message
Luca Saccarola [Thu, 14 Nov 2024 20:21:17 +0000 (21:21 +0100)]
patch 9.1.0862: 'wildmenu' not enabled by default in nocp mode
Problem: 'wildmenu' not enabled by default in nocp mode
Solution: promote the default Vim value to true, it has been enabled
in defaults.vim anyhow, so remove it there (Luca Saccarola)
closes: #16055
Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
D. Ben Knoble [Wed, 13 Nov 2024 18:51:29 +0000 (19:51 +0100)]
runtime(compiler): include a Java Maven compiler plugin
@Konfekt suggested adding this [1]; I confirmed that both source
repositories have permissive licenses [2], [3] that permit copying the
code (at least where the compiler scripts are concerned).
D. Ben Knoble [Wed, 13 Nov 2024 18:45:38 +0000 (19:45 +0100)]
runtime(racket): update Racket runtime files
This brings the included Racket runtime files to commit c41bc5a (indent
for[*]/lists with accumulator clause correctly, 2024-11-12) of
https://github.com/benknoble/vim-racket.
Note that not all files from that repository are included.
closes: #16046
Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0861: Vim9: no runtime check for object member access of any var
Problem: Vim9: no runtime check for object member access of any var
(after: 9.1.0850)
Solution: Add runtime type compatibility check for object member
accessed using a any variable (Yegappan Lakshmanan).
closes: #16037
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Lennart00 [Mon, 11 Nov 2024 21:39:30 +0000 (22:39 +0100)]
runtime(tar): Update tar.vim to support permissions
These changes enable tar.vim to keep permissions of files that were
edited intact instead of replacing them with the default permissions.
The major change for this is switching from "tar -OPxf", which reads out
the contents of the selected file from an tar archive to stdout to
"tar -pPxf" which extracts the selected file to the current directory
with permissions intact
This requirs the temporary directory to be created earlier.
closes: #7379
Signed-off-by: Lennart00 <73488709+Lennart00@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0856: mouseshape might be wrong on r and gr
Problem: mouseshape might be wrong on r and gr
Solution: call update_mousesape(-1) immediately
(Yee Cheng Chin)
Currently, when entering the "pretend" or single character replace modes
using `r` or `gr`, the mouse cursor doesn't immediately update until you
have re-focused the window or moved the mouse. This is because it's not
calling `update_mouseshape(-1)` immediately, so the cursor will only be
updated when it's called by other functions like `gui_mouse_focus`.
To fix this, just make sure we call this `update_mouseshape(-1)`. It's
what we do when entering Insert or Replace modes for example.
I noticed this when trying to figure out why MacVim CI is failing in
`Test_mouse_shape_after_cancelling_gr` (introduced in #12110), but I
think that test is only passing in Vim GTK CI by accident, since this
issue happens there too. I think the window captured focus after the
mouse `gr` call which triggers a mouse shape change but it probably
would have failed under other circumstances.
fixes: #14660
closes: #12157
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
nwounkn [Mon, 11 Nov 2024 20:48:30 +0000 (21:48 +0100)]
patch 9.1.0855: setting 'cmdheight' may cause hit-enter-prompt
Problem: setting 'cmdheight' may cause hit-enter-prompt and echo output
to be missing
Solution: Before cleaning the cmdline, check the need_wait_return flag
(nwounkn)
closes: #13432
Signed-off-by: nwounkn <nwounkn@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0852: No warning when X11 registers are not available
Problem: No warning when X11 registers are not available
(delvh)
Solution: Output W23 once when connection to X11 clipboard/selection
is not possible, mention in the documentation, that register 0
will be used instead
Vim silently uses the 0 register, when clipboard or selection register * or +
are not available. This might be a bit unexpected for the user.
Problem: Vim9: cannot access nested object inside objects
(lifepillar, 91khr, mawkish)
Solution: Add support for accessing an object member using a "any"
variable type (Yegappan Lakshmanan)
patch 9.1.0846: debug symbols for xxd are not cleaned in Makefile
Problem: debug symbols for xxd are not cleaned in Makefile
Solution: remove xxd.dSYM in xxds Makefile, call xxd clean target from
main Makefile (Yee Cheng Chin)
Remove xxd.dSYM folder when calling `make clean`. On macOS, when
compiling with debug info, clang will generate a "dSYM" folder that
contains debug symbols for the executable because unlike Linux, the
DWARF data is not embedded in the executable itself.
closes: #16010
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0845: vimtutor shell script can be improved
Problem: vimtutor shell script can be improved
Solution: further improve the vimtutor shell script
(Aliaksei Budavei)
- Rewrite the script usage note.
- Reconcile the usage help output with the manual page entry
that describes the implementation in that:
* a language code argument can be used alone or with its
option key, e.g. "vimtutor -l nl" or "vimtutor nl";
* a chapter number argument cannot be used without its
option key, e.g. "vimtutor -c 2".
- Accept only chapters 1 or 2 as valid chapter arguments.
- Double-quote instances of shell parameter expansion where
neither pathname expansion nor field splitting is desired.
- Prefer "$(foo)" to "`foo`" for command substitution.
- Follow a single indentation style (see the modeline).
closes: #15992
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
John Marriott [Wed, 6 Nov 2024 20:21:50 +0000 (21:21 +0100)]
patch 9.1.0843: too many strlen() calls in undo.c
Problem: too many strlen() calls in undo.c
Solution: refactor code and remove strlen() calls, update test_undo.vim
and close remaining open swap files (John Marriott)
closes: #15995
Signed-off-by: John Marriott <basilisk@internode.on.net> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0841: tests: still preferring python2 over python3
Problem: tests: still preferring python2 over python3
Solution: prefer Python 3 when picking a Python program in Vim tests,
by checking for the more specific python version first and
only when python3 not found, check for the python binary
(Yee Cheng Chin)
Most OSes have Python 3 mapped to `python3` instead of `python`. Vim
tests should prioritize using that instead of Python 2 in case that is
still installed on the host system.
closes: #15986
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Serhii Khoma [Mon, 4 Nov 2024 19:14:43 +0000 (20:14 +0100)]
patch 9.1.0840: filetype: idris2 files are not recognized
Problem: filetype: idris2 files are not recognized
Solution: detect '*.idr' files as idris2, '*.lidr' files as lidris2
and '*.ipkg' files as ipkg filetype (Serhii Khoma)
closes: #15987
Signed-off-by: Serhii Khoma <srghma@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>