Problem: Cross-compiling to good modern operating systems is difficult as
configure assumes obscure bugs are present by default. However,
most core autoconf-based packages today assume features work
when in doubt, making cross-compilation easier.
Solution: Assume features work by default and continue to issue a warning
with the appropriate cache variable. This solution shifts the
burden onto the users of rare buggy operating systems and
makes cross-compilation work out of the box for everyone else.
The vim_cv_terminfo test was accidentally negated, where the yes case
was in the error handler, leading to false positives if the test program
failed to compile.
Split the timer_create detection into two phases: First locating the
the library containing timer_create, and then another check to check
if timer_create works to properly support cross-compilation.
Signed-off-by: Jonas 'Sortie' Termansen <sortie@maxsi.org> Signed-off-by: Christian Brabandt <cb@256bit.org>
zeertzjq [Sun, 3 Nov 2024 08:23:33 +0000 (09:23 +0100)]
patch 9.1.0835: :setglobal doesn't work properly for 'ffu' and 'tsrfu'
Problem: :setglobal doesn't work properly for 'ffu' and 'tsrfu' when
the local value is set (after v9.1.0831)
Solution: Check os_flags instead of buffer option variable (zeertzjq).
closes: #15980
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
John Marriott [Sat, 2 Nov 2024 14:59:01 +0000 (15:59 +0100)]
patch 9.1.0828: string_T struct could be used more often
Problem: string_T struct could be used more often
Solution: Refactor code and make use of string_T struct
for key-value pairs, reformat overlong lines
(John Marriott)
closes: #15975
Signed-off-by: John Marriott <basilisk@internode.on.net> Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: CI: tests can be improved
Solution: collect failed indent tests, raise timeout for search()
functions when using ASAN/Valgrind (Aliaksei Budavei)
ASan-instrumented Vim builds tend to run slower (x2) than
non-instrumented Vim builds and occasionally make indent
tests fail when "search*()" functions time out and give up
further execution.
Simon Quigley [Thu, 31 Oct 2024 09:17:08 +0000 (10:17 +0100)]
runtime(debversions): Add plucky (25.04) as Ubuntu release name
closes: #15882
Signed-off-by: Simon Quigley <tsimonq2@ubuntu.com> Signed-off-by: James McCoy <jamessan@jamessan.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0822: topline might be changed in diff mode unexpectedly
Problem: topline might be changed in diff mode unexpectedly
(Jaehwang Jung)
Solution: do not re-calculate topline, when using line() func
in diff mode.
Milly [Mon, 28 Oct 2024 20:56:14 +0000 (21:56 +0100)]
patch 9.1.0820: tests: Mac OS tests are too flaky
Problem: tests: Mac OS tests are too flaky
Solution: Increase max test timeout to 25 minutes,
allow up to 10 retries on Mac OS runners,
refactor runtest.vim (Milly).
closes: #15940
Co-authored-by: K.Takata <kentkt@csc.jp> Signed-off-by: Milly <milly.ca@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
John M Devin [Mon, 28 Oct 2024 20:46:09 +0000 (21:46 +0100)]
runtime(awk): Highlight more awk comments in syntax script
closes: #15944
Signed-off-by: John M Devin <john.m.devin@gmail.com> Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Konfekt [Sun, 27 Oct 2024 21:16:49 +0000 (22:16 +0100)]
runtime(netrw): simplify gx file handling
It did not work very well, at least on Debian 12, and I am not sure Git
Bash and WSL, for example, were taken care of as maintenance stalled.
The whole logic was somewhat convoluted with some parts repeatedly invoking
failed commands.
The file handling was outdated, for example, nowadays Netscape is rarely
used, and also opinionated, for example mainly Microsoft Paint and Gimp for
Image files.
Instead, let's use (xdg-)open and similar commands on other systems
which respects the user's preferences.
patch 9.1.0818: some global functions are only used in single files
Problem: some global functions are only used in single files
Solution: refactor code slightly and make some more functions static
(Yegappan Lakshmanan)
closes: #15951
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Peter Wolf [Sun, 27 Oct 2024 20:51:14 +0000 (21:51 +0100)]
patch 9.1.0817: termdebug: cannot evaluate expr in a popup
Problem: termdebug: cannot evaluate expr in a popup
Solution: enhance termdebug plugin and allow to evaluate expressions in
a popup window, add a unit test (Peter Wolf).
fixes: #15877
closes: #15933
Signed-off-by: Peter Wolf <pwolf2310@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime(defaults): Detect putty terminal and switch to dark background
Vim tries to determine the default background and checks for $TERM
and even checks for the "putty" value. But unfortunately, putty by
default uses "xterm" as $TERM value and as such Vim uses a "light"
background.
So use a TermResponse autocommand to set the background for putty back
to dark.
Note: this only works on non-tiny builds and when defaults.vim is in
use.
patch 9.1.0816: tests: not clear what tests cause asan failures
Problem: tests: not clear what tests cause asan failures
Solution: append testname to $ASAN_OPTIONS
Mention what test causes ASAN failures by appending the testname
to log_path in $ASAN_OPTIONS/$UBSAN_OPTIONS. This assumes 'log_path' is
always the last sub-option in $ASAN_OPTIONS.
While at it, also make the CI run with `-O0` instead of `-O1` when ASAN
is enable since this causes line numbers to disappear.
zeertzjq [Sun, 27 Oct 2024 18:23:34 +0000 (19:23 +0100)]
patch 9.1.0815: "above" virtual text causes wrong 'colorcolumn' position
Problem: "above" virtual text causes wrong 'colorcolumn' position.
(@matrdr)
Solution: Use the number of cells instead of bytes for vcol_off_tp.
(zeertzjq)
fixes: #15946
closes: #15948
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
zeertzjq [Thu, 24 Oct 2024 19:43:43 +0000 (21:43 +0200)]
patch 9.1.0814: mapset() may remove unrelated mapping
Problem: mapset() may remove unrelated mapping whose {rhs} matches the
restored mapping's {lhs}.
Solution: only match by {lhs} when unmapping for mapset() (zeertzjq).
closes: #15935
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Milly [Tue, 22 Oct 2024 20:53:01 +0000 (22:53 +0200)]
patch 9.1.0805: tests: minor issues in gen_opt_test.vim
Problem: tests: minor issues in gen_opt_test.vim
Solution: fix restore value for 'undolevels', fix comment, fix
wrong cpo value, add equality test for global-local options on
switchback (Milly).
closes: #15913
Signed-off-by: Milly <milly.ca@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Clean up docs for macOS defaults. Simply use "Unix" across the board
instead of being inconsistent and occasionally using "Unix, macOS". Also
remove stale defaults that were erroneously renamed to "macOS" from
"Macintosh" when they were actually referring to Mac OS 9 which is no
longer supported.
closes: #15924
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Milly [Mon, 21 Oct 2024 20:20:51 +0000 (22:20 +0200)]
patch 9.1.0797: testing of options can be further improved
Problem: testing of options can be further improved
Solution: split the generated option test into test_options_all.vim,
add more test cases, save and restore values, fix use-after-free
closes: #15894
Signed-off-by: Milly <milly.ca@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Milly [Thu, 17 Oct 2024 19:05:31 +0000 (21:05 +0200)]
patch 9.1.0791: tests: errors in gen_opt_test.vim are not shown
Problem: tests: errors in gen_opt_test.vim are not shown
Solution: update gen_opt_test.vim and write test.log,
let the makefile output test.log (Milly)
closes: #15887
Signed-off-by: Milly <milly.ca@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Milly [Wed, 16 Oct 2024 20:11:17 +0000 (22:11 +0200)]
runtime(help): Update help syntax
This commit makaes the following changes to the vim help syntax:
- fix excessive URL detection in help, because `file:{filename}` in
doc/options.txt is determined to be a URL.
- update highlighting N for :resize in help
- split Italian-specific syntax into separate help script
- highlight `Note` in parentheses in help
- update 'titlestring' behaviour in documentation for invalid '%' format
closes: #15883
Signed-off-by: Milly <milly.ca@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0788: <CSI>27;<mod>u is not decoded to literal Escape in kitty/foot
Problem: <CSI>27;<mod>u is not decoded to literal Escape in kitty/foot
Solution: disable XTerm modifyOtherKeys form 1 when the kitty protocol is enabled
(Christian Fillion)
patch 9.1.0786: tests: quickfix update test does not test location list
Problem: tests: quickfix update test does not test location list
(after: v9.1.0.785)
Solution: update Test_quickfix_buffer_contents to test with location
lists (Yegappan Lakshmanan)
closes: #15879
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.0785: cannot preserve error position when setting quickfix list
Problem: cannot preserve error position when setting quickfix lists
Solution: Add the 'u' action for setqflist()/setloclist() and try
to keep the closes target position (Jeremy Fleischman)
fixes: #15839
closes: #15841
Signed-off-by: Jeremy Fleischman <jeremyfleischman@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Boris Staletic [Mon, 14 Oct 2024 18:28:39 +0000 (20:28 +0200)]
patch 9.1.0784: there are several problems with python 3.13
Problem: there are several problems with python 3.13
Solution: fix the problems in the python3 interface (Boris Staletic)
This commit does the following things:
1) Since python 3.13.0b1, all statically defined objects are "immortal".
Besides never getting garbage collected, this also affects reference
counting:
- Immportal objects have a reference count of 2^32-1.
- Reference counting is a no-op.
All this is considered implementation details by cpython, so
documentation is next to non-existent.