0
0
mirror of https://github.com/vim/vim.git synced 2025-10-20 08:14:18 -04:00
Commit Graph

22332 Commits

Author SHA1 Message Date
Yegappan Lakshmanan
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>
v9.1.1698
2025-08-27 18:00:38 +02:00
Maxim Kim
28c88ebeb7 runtime(vimcomplete): Try catch completion of pack_jobs->add({
Fixes the issue, but not the root cause of #18137

related: #18137
closes: #18138

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-27 17:56:41 +02:00
Christian Brabandt
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>
v9.1.1697
2025-08-27 17:52:56 +02:00
RestorerZ
bc461f952d runtime(indent-tests): Use silent write of resulting files
To avoid littering the terminal output use :silent write.

closes: #18128

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:54:29 +02:00
RestorerZ
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
Sean Dewar
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>
v9.1.1696
2025-08-26 21:45:07 +02:00
GalaxySnail
477c893c0a runtime(tutor): remove duplicate tutor1.zh
Commit 8d9d2b222d introduced tutor1.zh
which is a the duplicate of tutor1.zh_tw

related: #18123
closes: #18124

Signed-off-by: GalaxySnail <me@glxys.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:40:12 +02:00
GalaxySnail
a0eb405761 runtime(tutor): fix language selection for zh
fixes: #18123
related: #18124

Signed-off-by: GalaxySnail <me@glxys.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 21:37:38 +02:00
Yegappan Lakshmanan
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>
v9.1.1695
2025-08-26 21:32:46 +02:00
Jade Lovelace
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>
v9.1.1694
2025-08-26 21:28:02 +02:00
Christian Brabandt
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>
v9.1.1693
2025-08-26 21:24:06 +02:00
Damien Lejay
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>
v9.1.1692
2025-08-26 21:03:31 +02:00
Damien Lejay
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>
v9.1.1691
2025-08-26 17:55:14 +02:00
ashamedbit
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>
v9.1.1690
2025-08-26 17:43:18 +02:00
Shougo Matsushita
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>
v9.1.1689
2025-08-26 17:36:49 +02:00
John Marriott
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>
v9.1.1688
2025-08-26 17:32:18 +02:00
Damien Lejay
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>
v9.1.1687
2025-08-26 17:09:47 +02:00
Andis Spriņķis
3571388ded runtime(lf): update syntax to support lf version r37
Adds the lf release 37 specific syntax highlighting changes.

From the PR andis-sprinkis/lf-vim#23 by @CatsDeservePets

closes: #18115

Signed-off-by: Andis Spriņķis <andis@sprinkis.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-26 00:02:01 +02:00
Cthulhux
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>
v9.1.1686
2025-08-25 23:45:13 +02:00
Girish Palya
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>
v9.1.1685
2025-08-25 17:33:39 -04:00
LemonBoy
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>
v9.1.1684
2025-08-24 13:09:04 +02:00
Joakim Nohlgård
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>
v9.1.1683
2025-08-24 12:42:02 +02:00
Jon Parise
99964e2ea7 runtime(python): support 'type's soft keyword form
`type` became a soft keyword in Python 3.12. In that form, it is a
statement that declares a type alias:

    # type_stmt ::= 'type' identifier [type_params] "=" expression
    type Point = tuple[float, float]

To implement support for this, this change does three things:

1. adds a `pythonType` group (linked to `Type`)
2. matches `type` followed by an identifier as `pythonStatement`
3. continues to match `type` in other forms as `pythonBuiltin`

Ref:
- https://docs.python.org/3/reference/lexical_analysis.html#soft-keywords
- https://docs.python.org/3/reference/simple_stmts.html#the-type-statement

closes: #18090

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Zvezdan Petkovic <zpetkovic@acm.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-24 12:31:08 +02:00
zeertzjq
46652092a3 patch 9.1.1682: tests: Test_wildtrigger_update_screen() creates unused mapping
Problem:  tests: Test_wildtrigger_update_screen() creates an unused
          mapping (after 9.1.1621).
Solution: Remove the mapping. Also use blank lines more consistently in
          test_cmdline.vim screendump tests (zeertzjq).

closes: #18096

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1682
2025-08-24 12:24:08 +02:00
zeertzjq
e8b99ff6d5 patch 9.1.1681: tests: no test for actually moving cursor with 'acl'
Problem:  tests: no test for actually moving cursor when menu is not
          open with 'autocompletedelay'.
Solution: Use <Up> first in the test. Also remove two unnecessary <Esc>s
          in completion timeout test (zeertzjq).

closes: #18097

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1681
2025-08-24 12:22:10 +02:00
Yegappan Lakshmanan
fdd93e0999 runtime(termdebug): Remove load guard
closes: #18098

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-24 12:19:20 +02:00
Christian Brabandt
dc725a04fa runtime(doc): update termguicolors default description
related: #18087

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-23 19:46:49 +02:00
Christian Brabandt
191d77872d patch 9.1.1680: MS-Windows: possible buffer-under run in if_cscope
Problem:  MS-Windows: possible buffer-under run in if_cscope
          cs_pathcomponents() (Murali Aniruddhan)
Solution: Fix the loop and do not decrement the pointer twice.

closes: #18091

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1680
2025-08-23 18:11:28 +02:00
Girish Palya
ba9551d131 patch 9.1.1679: unclear what key causes CmdlineLeave autocommand
Problem:  unclear what key causes CmdlineLeave autocommand
Solution: Set |v:char| to the key (Girish Palya).

related: #17806
closes: #18063

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1679
2025-08-23 18:08:27 +02:00
Jason Long
53466887f7 runtime(netrw): fix :Explore command in terminal
There are really two issues solved here:

- The directory listing was not populating the new buffer when using
  the :Explore command. This was because the directory to open is
  determined by using expand("%:p") which includes '!/running/command' at
  the end of the string in terminal buffers.

- The :Explore command should replace the buffer, not split it. This
  because the Explore command will automatically split if the current
  buffer has been modified. According to the docs, all terminal buffers
  will have the modified flag set when a job is running.

fixes: #9862
closes: #18069

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-23 17:44:32 +02:00
Damien Lejay
11bebd751f patch 9.1.1678: Amiga: cannot handle large undo files
Problem:  Amiga: cannot handle large undo files
Solution: Remove the existing restriction as it was only valid for
          classic Amiga (Damien Lejay).

It seems that this block was only relevant for classic AmigaOS (< 32K
alloc limit). And it seems to no longer apply: AmigaOS 4.0 switched to
a slab allocator memory system.

closes: #18072

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1678
2025-08-23 17:37:12 +02:00
Damien Lejay
2306b2df42 patch 9.1.1677: wrong ifdef in message.c
Problem:  wrong ifdef in message.c
Solution: change it to #ifndef MSWIN (Damien Lejay)

The extra newline on screen switch is needed for all TTY/termcap
backends (Unix, VMS, others).

Only Windows uses a different console API.
Better use #ifndef MSWIN to express the real intent.

closes: #18076

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1677
2025-08-23 17:23:34 +02:00
Girish Palya
57379302aa patch 9.1.1676: completion: long line shown twice
Problem:  completion: long line shown twice
          (Maxim Kim)
Solution: Fix the issue, disable an incorrect test.
          (Girish Palya)

fixes: #18035
closes: #18088

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1676
2025-08-23 17:11:18 +02:00
Kevin Pulo
e06d81fe67 runtime(sh): add syntax highlighting support for ${ cmd;} and ${|cmd;}
bash 5.3 (released July 2025) added support for ${ cmd;} and
${|cmd;} style command substitution, which is similar (but not
identical) to ksh/mksh.

closes: #18084

Signed-off-by: Kevin Pulo <kevin.pulo@mongodb.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-23 17:07:44 +02:00
RestorerZ
e34bdb844f patch 9.1.1675: MS-Windows: Makefiles can be refactored
Problem:  MS-Windows: Makefiles can be refactored
Solution: Refactor using a common tools.mak, make some style changes
          (RestorerZ).

closes: #18060

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1675
2025-08-23 17:00:17 +02:00
Foxe Chen
d5a6310108 patch 9.1.1674: Patch v9.1.1666 causes problems on kitty
Problem:  Patch v9.1.1666 causes problems on kitty
          (Sami Farin)
Solution: Remove Ms value from termcodes (Foxe Chen)

related: #18033
closes: #18093

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1674
2025-08-23 16:36:16 +02:00
Hirohito Higashi
e2a6ba00f1 patch 9.1.1673: if_python: still support for Python 1
Problem:  if_python: still support for Python 1
Solution: Drop outdated code (Hirohito Higashi)

closes: #18092

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1673
2025-08-23 16:31:15 +02:00
Girish Palya
69a337edc1 patch 9.1.1672: completion: cannot add timeouts for 'cpt' sources
Problem:  completion: cannot add timeouts for 'cpt' sources
          (Evgeni Chasnovski)
Solution: Add the 'autocompletetimeout' and 'completetimeout' options
          (Girish Palya)

fixes: #17908
closes: #17967

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1672
2025-08-23 16:20:03 +02:00
Radu Dineiu
f66674cf42 runtime(fstab): Added mtab support to fstab syntax.
closes: #18074

Signed-off-by: Radu Dineiu <radu.dineiu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-23 13:47:51 +02:00
Damien Lejay
6a37035bf2 patch 9.1.1671: configure: missing comment about AC_CONFIG_SRCDIR
Problem:  configure: missing comment about AC_CONFIG_SRCDIR
Solution: Add comment explaining the use of AC_CONFIG_SRCDIR
          (Damien Lejay)

closes: #18071

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1671
2025-08-23 06:43:27 -04:00
Girish Palya
b4e0bd93a9 patch 9.1.1670: completion: autocomplete breaks second completion
Problem:  completion: autocomplete breaks second completion
          (gravndal)
Solution: Fix the autocomplete bug (Girish Palya)

fixes: #18044
closes: #18068

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1670
2025-08-23 06:36:00 -04:00
Yegappan Lakshmanan
454c7ea484 patch 9.1.1669: Vim script: no support for URI de-/encoding
Problem:  Vim script: no support for URI de-/encoding
          (ubaldot)
Solution: Add the uri_encode() and uri_decode() functions
          (Yegappan Lakshmanan)

fixes: #17861
closes: #18034

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1669
2025-08-23 06:26:16 -04:00
Yegappan Lakshmanan
da34f84847 patch 9.1.1668: items() does not work for Blobs
Problem:  items() does not work for Blobs
Solution: Extend items() to support Blob
          (Yegappan Lakshmanan).

closes: #18080

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1668
2025-08-23 06:18:34 -04:00
zeertzjq
6b56711804 patch 9.1.1667: Another outdated comment in eval.c
Problem:  Another outdated comment in eval.c (after 9.1.1665).
Solution: Remove that comment as well. Add a few more tests for mapnew()
          that fail without patch 8.2.1672 (zeertzjq).

closes: #18089

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1667
2025-08-23 06:10:23 -04:00
Foxe Chen
5734afebab patch 9.1.1666: no support for terminal primary device attributes
Problem:  no support for terminal primary device attributes
Solution: Add support for detecting the DA1 response from the terminal,
          add the v:termda1 variable and the 't_Ms' option for the
          OSC 52 command format (Foxe Chen)

closes: #18033

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1666
2025-08-23 06:00:23 -04:00
zeertzjq
5d3c39af2a patch 9.1.1665: Outdated comment in eval.c
Problem:  Outdated comment in eval.c.
Solution: Remove the comment, which is no longer true after 8.2.1672.
          Also fix a typo in version9.txt (zeertzjq).

closes: #18077

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1665
2025-08-22 12:47:15 -04:00
Hirohito Higashi
39a67920fb runtime(doc): Fix missing heading in remote.txt
closes: #18086

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-22 12:44:31 -04:00
Damien Lejay
ea3d465438 patch 9.1.1664: configure: can use any autoconf
Problem:  configure: can use any autocon
Solution: Use AC_PREREQ and require 2.71 (Damien Lejay)

technically, we require autoconf 2.72, but that is not available on
Ubuntu LTS 24.04. So let's go with 2.71 for now and add a comment about
it in configure.ac

closes: #18047

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.1.1664
2025-08-22 12:38:12 -04:00
Hirohito Higashi
5ca1ea83ad runtime(doc): Tweak documentation style
closes: #18078

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-21 15:34:58 -04:00
Maxim Kim
f3055eac84 runtime(colors): Update colorschemes
- all colorschemes were ported to colortemplate v3
- gui versions of habamax, lunaperche, wildcharm, retrobox colorschemes
  have different Diff, Visual, Search and IncSearch colors compared to non-gui.
- habamax Search was changed to green instead of blue to better distinct
  it with Visual (also bluish in gui)

closes: #18061

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-08-20 22:28:29 +02:00