Commit Graph

19771 Commits

Author SHA1 Message Date
63a02ca39a patch 9.1.1731: Not using const qualifier for opchars
Problem:  Not using const qualifier
Solution: Mark the opchars array const

closes: #18196

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-04 21:58:50 +02:00
9a6cafdc1c patch 9.1.1730: filetype: vivado journal/log files are not recognized
Problem:  filetype: vivado journal/log files are not recognized
Solution: Detect vivado*.{jou,log} as tcl filetype (Wu Zhenyu).

closes: #18191

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-02 20:42:00 +02:00
ccddb555aa patch 9.1.1729: CI is not run with clang 21
Problem:  CI is not run with clang 21
Solution: Update CI to v21, fix a few warnings that are uncovered when
          using clang 21 (Philip H)

closes: #18142

Signed-off-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-02 20:11:19 +02:00
884290ebf0 patch 9.1.1728: termdebug: cannot evaluate visual selected expression
Problem:  termdebug: cannot evaluate visual selected expression
Solution: Add support for visual mode, mapped to K by default (bennyyip)

closes: #18184

Signed-off-by: bennyyip <yebenmy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-02 20:06:20 +02:00
1c36a85237 patch 9.1.1727: Nextstep support still included
Problem:  Nextstep support still included
Solution: Deprecate Nextstep code and undef corresponding feature flag

closes: #18131

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-02 19:23:54 +02:00
8429a44a9e patch 9.1.1726: Patch v9.1.1725 causes problems
Problem:  Patch v9.1.1725 causes problems
Solution: Revert the patch for now

fixes: #18187

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-02 19:13:31 +02:00
f50504a87b patch 9.1.1725: Wayland code can be improved
Problem:  Wayland code can be improved
Solution: Refactor Wayland Clipboard code (Foxe Chen)

This refactor makes the Wayland codebase less convoluted:
- Move clipboard code in wayland.c to clipboard.c
- Use C99 bool type
- Properly poll the Wayland display file descriptor
- Instead of checking if the data source is not NULL in order to
  determine if a selection event comes from us, use a special mime type to
  identify selection events coming from ourselves. The problem with the
  previous approach is that race conditions may occur.
- Put the focus stealing code under a new feature "wayland_focus_steal"
- Use ELAPSED_* macros instead of gettimeofday()
- Pass tests
- Reimplement commented out code
- Update docs
- Make Wayland clipboard behaviour more in line with X11 when connection is lost
- add missing malloc checks and possible memory leaks + refactored some
  tests.

closes: #18139

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-01 20:52:44 +02:00
5f5a1c5876 patch 9.1.1724: Compiler warning about ununitialized variable in ex_docmd.
Problem:  Compiler warning about ununitialized variable in ex_docmd.
Solution: Initialize result variable (mityu)

Silence uninitialized variable warning produced by clang 21.1.0

closes: #18182

Signed-off-by: mityu <mityu.mail@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-01 19:18:46 +02:00
710095cab8 patch 9.1.1723: Missing ifdefs
Problem:  Missing ifdefs (after v9.1.1719)
Solution: Add ifdef ELAPSED_FUNC (Foxe Chen).

closes: #18178

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 20:31:44 +02:00
59d496ab0c patch 9.1.1722: compiler may optimize away clearing of crypt key
Problem:  Compiler may optimize away clearing of crypt key
Solution: Use sodium_memzero() if available, else use memset() using a
          volatile function pointer (ashamedbit).

closes: #18173

Signed-off-by: ashamedbit <muralianiruddhan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 20:05:23 +02:00
bf91eb7620 patch 9.1.1721: Defining a global gettimeofday() function
Problem:  Defining a global gettimeofday() function causes conflicts if
          gettimeofday() is already defined.
Solution: Revert globalized gettimeofday() function (Hirohito Higashi).

fixes: #18162
fixes: #18161
fixes: #18170
closes: #18173

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 19:43:23 +02:00
6278f1a10a patch 9.1.1720: using gettimeofday() for parsing OSC responses
Problem:  Using gettimeofday() for parsing OSC responses
Solution: Use ELAPSED_ macros instead (Foxe Chen).

closes: #18165

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 19:40:24 +02:00
2035c74574 patch 9.1.1719: socket server code can be improved
Problem:  socket server code can be improved
Solution: Refactor code, get rid of gettimeofday() and use ELAPSED_
          macros (Foxe Chen)

closes: #18147

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 19:37:40 +02:00
6cd6857cbe patch 9.1.1718: filetype: kubectl config file is not recognized
Problem:  filetype: kubectl config file is not recognized
Solution: Detect .kube/kubectl as yaml filetype
          (Volodymyr Chernetskyi).

References:
- https://kubernetes.io/docs/reference/kubectl/kuberc/

closes: #18169

Signed-off-by: Volodymyr Chernetskyi <19735328+chernetskyi@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 19:31:58 +02:00
be0589f1d2 patch 9.1.1717: filetype: AWS cli alias file is not recognized
Problem:  filetype: AWS cli alias file is not recognized
Solution: Detect .aws/cli/alias as confini filetype
          (Volodymyr Chernetskyi).

References:
- https://docs.aws.amazon.com/cli/v1/userguide/cli-usage-alias.html

related: #18169

Signed-off-by: Volodymyr Chernetskyi <19735328+chernetskyi@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 19:31:02 +02:00
68f681c6ab patch 9.1.1716: wrong indent in win_line()
Problem:  The code inside an ifdef was indented incorrectly.
Solution: Adjusted the indentation by one level (glepnir).

closes: #18174

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 19:01:39 +02:00
7292964267 patch 9.1.1715: Some functions need to be re-ordered
Problem:  Some functions need to be re-ordered
Solution: Re-order and move functions around favoring mch_*() functions
          inside os_*.c files, Change scope of dos_expandpath() to
          global instead of static (Hirohito Higashi)

The following fixes and tweaks have been made:

- Moved the definition of mch_expandpath() from filepath.c to os_win32.c
  in MS-Windows builds (essentially, the mch_~() function should be
  defined in os_~.c.)
- In accordance with the above, the scope of dos_expandpath() has been
  changed from static to global.
- Other miscellaneous changes.

closes: #18176

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 18:52:32 +02:00
2eccb4d0be patch 9.1.1714: completion: wildmode=longest:full selects wrong item
Problem:  completion: wildmode=longest:full selects wrong item
          (zeertzjq)
Solution: Fix issue, refactor ex_getln.c slightly
          (Girish Palya)

fixes: #18102
closes: #18125

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-31 18:44:29 +02:00
5355e81868 patch 9.1.1713: filetype: fvwm2m4 files are no longer detected
Problem:  filetype: fvwm2m4 files are no longer recognized
          (after 9.1.1687).
Solution: Add a special case in m4 filetype detection (zeertzjq).

closes: #18146

Co-authored-by: Damien Lejay <damien@lejay.be>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-29 18:32:41 +02:00
99af7690eb patch 9.1.1712: Screen not redrawn properly on t_RB response
Problem:  screen not redrawn properly on t_RB response (after v9.1.1703)
Solution: Call redraw_asap() if necessary (Julio B)

closes: #18149

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-29 18:25:50 +02:00
8843cb2b3b patch 9.1.1711: Missing type cast in clipboard.c
Problem:  Missing type cast in clipboard.c
          (Yegappan Lakshmanan, after v9.1.1704)
Solution: Add back the type cast (Foxe Chen)

closes: #18148

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-29 18:20:23 +02:00
4fec4bb7a5 patch 9.1.1710: Compile warnings in clipboard.c
Problem:  Compile warnings in clipboard.c
          (xvim64, after v9.1.1704)
Solution: Remove returns from void functions (Foxe Chen)

fixes: #18145
closes: #18157

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-29 18:12:15 +02:00
d5c89cc6bb patch 9.1.1709: filetype: kyaml files are not recognized
Problem:  filetype: kyaml files are not recognized
Solution: Detect *.kyml files as yaml filetype
          (Volodymyr Chernetskyi)

References:
- https://kubernetes.io/blog/2025/08/27/kubernetes-v1-34-release/#alpha-support-for-kyaml-a-kubernetes-dialect-of-yaml

closes: #18158

Signed-off-by: Volodymyr Chernetskyi <19735328+chernetskyi@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-29 18:08:52 +02:00
97ea879b9b patch 9.1.1708: tests: various tests can be improved
Problem:  tests: various tests can be improved
Solution: Use string interpolation to concatenate strings in
          test_winfixbuf, check for specific errors in assert_fails()
          (Yegappan Lakshmanan)

closes: #18151

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-29 18:04:26 +02:00
b27f54965d patch 9.1.1707: diff.pro contains #ifdefs
Problem:  diff.pro contains #ifdefs
Solution: Remove unintentionally added ifdefs
          (Hirohito Higashi)

closes: #18164

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-29 17:56:20 +02:00
2635e83d46 patch 9.1.1706: MS-Windows: Compile error when building with if_ruby
Problem:  MS-Windows: Compile error when building with if_ruby
          (Christian Robinson, after v9.1.1704)
Solution: Do not define gettimeofday() if ruby interface is compiled in
          (Foxe Chen).

fixes: #18143
closes: #18144

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 23:53:41 +02:00
e7063871e5 patch 9.1.1705: time.h include is available on all platforms
Problem:  time.h include is available on all platforms
Solution: Remove ifdef guards and simply include it in all source files,
          get rid of double include in spellfile.c (Damien Lejay).

closes: #18075

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 21:31:35 +02:00
528196c8a9 patch 9.1.1704: Cannot determine non-X11/Wayland clipmethods
Problem:  Cannot determine non-X11/Wayland clipmethods
Solution: Add the "gui" value to the 'clipmethod' option (Foxe Chen)

related: #18006
closes: #18067

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 21:26:54 +02:00
1f51bbc3b9 patch 9.1.1703: Cannot react to terminal OSC responses
Problem:  Cannot react to terminal OSC responses
Solution: Allow TermResponseAll to be triggered by Terminal OSC
          responses (Foxe Chen)

fixes: #14995
closes: #17975

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 21:15:47 +02:00
42acf736a3 patch 9.1.1702: tests: test_edit still fails on CI
Problem:  tests: test_edit still fails on CI
          (after v9.1.1701)
Solution: Fix the skip condition

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 19:07:38 +02:00
6c14c4625b patch 9.1.1701: tests: failure on CI with GUI and ASAN in test_edit.res
Problem:  tests: failure on CI with GUI and ASAN in test_edit.res
          (Hirohito Higashi)
Solution: Disable the test for that specific situation in CI, close
          swapfiles

fixes: #18070

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 18:38:13 +02:00
bf82e58a70 patch 9.1.1700: Multiline ignorecase specific pattern does not match with 'ignorecase'
Problem:  a pattern that involves a backref on a different line does not
          match when 'ignorecase' is set (QiWei, after v9.1.0645)
Solution: Use MB_STRNICMP when ignorecase is set, fix tests to close
          swapfiles

related: #14756
fixes: #17470
closes: #18104

Signed-off-by: author
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 18:14:27 +02:00
cadba05329 patch 9.1.1699: Fuzzy completion disabled for 'findfunc' and customlist
Problem:  Fuzzy completion disabled for 'findfunc' and customlist
Solution: Remove those cases from cmdline_fuzzy_completion_supported()
          because it is supported (Maxim Kim).

fixes: #18117
closes: #18122

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 18:09:14 +02:00
5e27058fc4 patch 9.1.1698: Some error numbers are not documented
Problem:  Some error numbers are not documented
          (Restorer)
Solution: Document missing error numbers (Yegappan Lakshmanan).

fixes: #18114
closes: #18135

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 18:00:38 +02:00
f5670a1596 patch 9.1.1697: tests: no test for aclocal.m4
Problem:  tests: no test for aclocal.m4
          (after v9.1.1693)
Solution: Add a test that aclocal.m4 is detected as config filetype

related: #18065

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 17:52:56 +02:00
46ff48ba77 translation: Remove outdated rule for nl.po
There exists a real nl.po file, no need to use a dummy po file anymore.

See also the following commits: 84f7235, 8d61617, 02938a9

closes: #18127

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:49:57 +02:00
7d6be2cead patch 9.1.1696: tabnr from getwininfo() for popup windows is always 0
Problem:  getwininfo() has logic for getting the tabnr of a local popup
          window, but due to only breaking from the inner loop, tp is
          eventually set to NULL, so tabnr is always 0.
Solution: Break out of both loops, continue to use 0 for global popup
          windows (Sean Dewar).

closes: #18111

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:45:07 +02:00
e810ba5a1f patch 9.1.1695: Need more Vim script specific tests
Problem:  Need more Vim script specific tests
Solution: Add more tests (Yegappan Lakshmanan).

closes: #18118

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:32:46 +02:00
3aea867b27 patch 9.1.1694: filetype: Buck eXtension Lang files are not recognized
Problem:  filetype: Buck eXtension Lang files are not recognized
Solution: Detect *.bxl files as bzl filetype.
          (Jade Lovelace)

References:
- https://buck2.build/docs/bxl/

closes: #18130

Signed-off-by: Jade Lovelace <jadel@mercury.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:28:02 +02:00
de6e560150 patch 9.1.1693: tests: test_filetype fails in shadow dir
Problem:  tests: test_filetype fails in shadow dir
          (after v9.1.9.1.1687)
Solution: Use a custom test that does not rely on configure.ac
          being existing in the upper directory tree.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:24:06 +02:00
93160530c4 patch 9.1.1692: global_functions are not constant
Problem:  global_functions are not constant
Solution: Place global_functions[] in read-only memory (Damien Lejay).

Mark global_functions[] as `static const`.  The table is never modified
at runtime, so keeping it in writable `.data` has no benefit.

Only a local pointer in func_check_arg_types() needed adjusting to
`const`.  No functional changes.

closes: #18121

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:03:31 +02:00
0a9ad34cad patch 9.1.1691: over-allocation in ga_concat_strings()
Problem:  over-allocation in ga_concat_strings()
Solution: Fix ga_concat_strings() and only allocate n-1 separator length
          bytes (Damien Lejay).

ga_concat_strings() was adding the separator length for every item,
including the last one. Only (n - 1) separators are actually used.
This caused harmless but unnecessary overallocation.

closes: #18112

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 17:55:14 +02:00
e8948a1f80 patch 9.1.1690: Missing recursion guard in dos/unix_expandpath()
Problem:  Missing recursion guard in dos/unix_expandpath()
Solution: Add guard variables (ashamedbit)

fixes: #18099
closes: #18106

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: ashamedbit <muralianiruddhan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 17:43:18 +02:00
540480697d patch 9.1.1689: CmdlineChanged not triggered by <Del>
Problem:  CmdlineChanged not triggered by <Del>
Solution: Use STRCMP() instead of STRNCMP()
          (Shougo Matsushita)

closes: #18101

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 17:36:49 +02:00
a19b019b87 patch 9.1.1688: potential buffer overrun in bufwrite.c
Problem:  potential buffer overrun in bufwrite.c
Solution: Use a temporary variable (John Marriott)

In my Windows 11 Pro 64-bit build MAXPATHL is 1024 and IOSIZE is 1025.
In my Archlinux Linux 64-bit build MAXPATHL is 4096 and IOSIZE is 1025.

In funuction buf_write():
There is a check (line 713) that makes sure the length of fname is less
than MAXPATHL. There is a call to STRCPY() (line 1208) which copies the
string at fname into IObuff (which has size IOSIZE). For Unix builds
fname is set to sfname which may or may not be shorter. However, if
sfname is NULL sfname is set to fname.

Therefore, in builds where MAXPATHL > IOSIZE (eg in my linux build), it
is theoretically possible for the STRCPY() call to exceed the bounds of
IObuff.

This PR addresses this by copying fname into a local variable that has
the same maximum size as fname.

In addition:
Given that the filename is unconditionally overwritten in the for loop,
only copy the directory portion of fname. Move variable i closer to
where it is used.

closes: #18095

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 17:32:18 +02:00
2b55474f0a patch 9.1.1687: filetype: autoconf filetype not always correct
Problem:  filetype: autoconf filetype not always correct
Solution: Detect aclocal.m4 as config filetype, detect configure.ac as
          config filetype, fall back to POSIX m4 (Damien Lejay).

closes: #18065

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 17:09:47 +02:00
f32d204e14 patch 9.1.1686: if_ruby: unknown pragma when not using gcc
Problem:  if_ruby: unknown pragma when not using gcc
Solution: only use GCC pragma, when using GCC
          (Cthulhux)

fixes: #18109
closes: #18110

Signed-off-by: Cthulhux <github@tuxproject.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-25 23:45:13 +02:00
c6a0f42cdb patch 9.1.1685: Missing changes from PR 18068
Problem:  Missing changes from PR 18068
Solution: Include the missing changes
          (Girish Palya)

Co-authored-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-25 17:33:39 -04:00
3b3b936125 patch 9.1.1684: min()/max() does not handle float data types
Problem:  min()/max() does not handle float data types
          (ubaldot)
Solution: Extend min() and max() to every comparable type
          (LemonBoy)

Re-use the logic used for plain old comparison operators, this way we
gain support for float values and unify the logic handling the
comparisons.

fixes: #18052
closes: 18055

Signed-off-by: LemonBoy <thatlemon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-24 13:09:04 +02:00
b922b30cfe patch 9.1.1683: xxd: Avoid null dereference in autoskip colorless
Problem:  xxd: Avoid null dereference in autoskip colorless
Solution: Verify that colors is not null (Joakim Nohlgård)

Fixes bug introduced in 6897f18ee6
(v9.1.1459) which does a memcpy from NULL when color=never and the
autoskip option is used.

Before:

dd if=/dev/zero bs=100 count=1 status=none | xxd -a -R never
00000000: 0000 0000 0000 0000 0000 0000 0000 0000  ................
Segmentation fault (core dumped)

After:

dd if=/dev/zero bs=100 count=1 status=none | ./xxd/xxd -a -R never
00000000: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
00000060: 0000 0000                                ....

closes: #18008

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-24 12:42:02 +02:00