Commit Graph

4094 Commits

Author SHA1 Message Date
Paul Ollis 55c12373f0 patch 9.1.2144: garbage collection may invalidate the recorded buffer changes
Problem:  When garbage collection runs, the list of recorded buffer
	  changes may be incorrectly freed (Sainnhe Park).
Solution: In garbage_collect(), iterate through all buffers and call
          set_ref_in_list() for b_recorded_changes to ensure the list
          and its contents are marked as reachable (Paul Ollis).

fixes:  #19300
closes: #19375

Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-09 19:32:51 +00:00
Christian Brabandt 52507a733f runtime(doc): Mark 'scrollfocus' as non-functional
related: #19368

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-09 19:21:47 +00:00
Yasuhiro Matsumoto 6ffe020b91 patch 9.1.2143: wrong rendering of popups when overlapping wide char
Problem:  When a popup window partially overlaps a wide character
          it results in truncated or garbage display.
Solution: When a wide character is partially blocked by a popup, clear both
          cells in the screen buffer to prevent garbage (Yasuhiro Matsumoto).

closes: #19271

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-09 19:08:24 +00:00
Daniel Nylander 2e9db8fa9c runtime(doc): add Swedish entries to Make_all.mak, add conversion rule to Makefile
closes: #19373

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-09 18:35:43 +00:00
Yasuhiro Matsumoto 60e93b5de7 patch 9.1.2141: Truncation when serializing libsodium encryption parameters
Problem:  Truncation when serializing libsodium encryption parameters.
Solution: Correctly cast to long long type (Yasuhiro Matsumoto).

fixes:  #19248
closes: #19357

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-08 21:07:42 +00:00
Doug Kearns b422a33ac2 runtime(gdb): Update syntax and ftplugin
- Change syntax file maintainer.
- Add Guile and Python command highlighting.
- Update command list to version 12.
- Add foldable regions for the commands 'define', 'if' and 'while'
  multiline commands.
- Support documented partial command names.
- Add matchit, browsefilter, and comment formatting support.
- Support embedded C in compiler {code|print} commands.
- Add largely complete settings highlighting and folding.
- Add syntax tests (incomplete).

Thanks to Claudio Fleiner for many years of maintenance.

closes: #10649

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-08 20:51:47 +00:00
Christian Brabandt 35c428b02c patch 9.1.2140: tests: Test_wayland_protocol_error_overflow() fails
Problem:  tests: Test_wayland_protocol_error_overflow() fails
          (after v9.1.2139)
Solution: try/catch the expected error

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-07 15:44:10 +00:00
Christian Brabandt 2498a460e2 patch 9.1.2139: Buffer overflow in :wlrestore command
Problem:  Buffer overflow in :wlrestore command, caused by assuming
          wrong buffer length in vwl_log_handler() (Seungyeon Park)
Solution: Use correct buffer size (512 bytes) in vim_vsnprintf()
          to properly truncate long messages.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-07 15:11:29 +00:00
Ingo Karkat abb4d74033 patch 9.1.2138: win_execute() and 'autochdir' can corrupt buffer name
Problem:  With 'autochdir' win_execute() can corrupt the buffer name,
          causing :write to use wrong path.
Solution: Save and restore b_fname when 'autochdir' is active
          (Ingo Karkat).

This is caused by a bad interaction of the 'autochdir' behavior,
overriding of the current directory via :lchdir, and the temporary
window switching done by win_execute(), manifesting when e.g. a custom
completion inspects other buffers:
1. In the initial state after the :lcd .. we have curbuf->b_fname =
   "Xsubdir/file".
2. do_autochdir() is invoked, temporarily undoing the :lcd .., changing
   back into the Xsubdir/ subdirectory.
3. win_execute() switches windows, triggering win_enter_ext() →
   win_fix_current_dir() → shorten_fnames(TRUE)
4. shorten_fnames() processes *all* buffers
5. shorten_buf_fname() makes the filename relative to the current
   (wrong) directory; b_fname becomes "file" instead of "Xsubdir/file"
6. Directory restoration correctly restores working directory via
   mch_chdir() (skipping a second do_autochdir() invocation because
   apply_acd is FALSE), but b_fname remains corrupted, with the
   "Xsubdir/" part missing.
7. expand("%:p") (and commands like :write) continue to use the
   corrupted filename, resolving to a wrong path that's missing the
   "Xsubdir/" part.

To fix the problem the short filename is saved if its in effect (i.e.
pointed to by curbuf->b_fname) and 'autochdir' happened. It's then
restored in case of a local cwd override. The conditions limit this
workaround to when 'autochdir' is active *and* overridden by a :lchdir.

closes: #19343

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Ingo Karkat <swdev@ingo-karkat.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-07 10:41:32 +00:00
Kevin Goodsell a24cb278bd patch 9.1.2137: test: Update tests for OpenBSD
Problem:  Some tests are not valid on OpenBSD.
Solution: Add CheckNotOpenBSD, use it to skip certain tests
          (Kevin Goodsell).

Test_readdirex_sort performs locale-dependent sorting. OpenBSD has
minimal locale support.

Test_stdin_no_newline hangs on OpenBSD and FreeBSD. I don't know exactly
why, but it may be due to bash not exiting at the end of the test. This
is skipped in the FreeBSD CI runs because bash is not installed.

Test_detect_fifo uses /dev/fd/ files (via process substitution) as
FIFOs. On OpenBSD the files in /dev/fd are not FIFOs.

closes: #19351

Signed-off-by: Kevin Goodsell <kevin-opensource@omegacrash.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-07 10:30:33 +00:00
zeertzjq 6da9f757c4 patch 9.1.2136: :tab sbuffer may close old tabpage
Problem:  :tab sbuffer may close old tabpage if BufLeave autocommand
          splits window (after 9.1.0143).
Solution: Only close other windows if the buffer will be unloaded
          (zeertzjq).

related: neovim/neovim#37749
closes: #19352

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-07 10:23:41 +00:00
Kalin KOZHUHAROV f73bd2546e runtime(doc): clarify term_cols allowed range in terminal.txt
Patch 9.0.1527 (related issue: vim/vim#12362) introduced range checking
for `term_cols` parameter of the various terminal related functions, but
did not update the documentation. This is the fix, hopefully I found
everything that mentions is. Also improve the style for `term_rows` to
match.

Code reference ( https://github.com/vim/vim/blob/master/src/job.c#L456 ):
	if (opt->jo_term_cols < 0 || opt->jo_term_cols > 1000)

closes: #19346

Signed-off-by: Kalin Kozhuharov <kalin@thinrope.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 14:55:12 +00:00
Daniel Nylander db4ff9a407 runtime(doc): Add Swedish to help-translated list
Swedish Vim documentation is available at:
https://github.com/yeager/vimdoc-sv
https://www.vim.org/translations.php

Translated by Daniel Nylander.

closes: #19344

Signed-off-by: Daniel Nylander <daniel@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 14:44:18 +00:00
Christian Brabandt b677aded59 runtime(doc): Remove Swedish translation help.svx
The translation file should not be included with Vims runtime files.
Translated help files should be made available via a separate project,
like what has been mentioned here:
https://www.vim.org/translations.php

related: #19321

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 10:21:10 +00:00
Mao-Yining 422ef984b5 runtime(doc): fix pattern problem in cmdline.txt
closes: #19322

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 10:19:55 +00:00
Kevin Goodsell 18d844e365 patch 9.1.2135: tests: tar plugin does not consider 'nowrapscan'
Problem:  search() is used to check for the message from tar that
          indicates leading slashes found in the tar archive, or to
          check for the leading slashes themselves. However, if
          'nowrapscan' is in effect these searches are limited to the
          last line and don't find any results. This causes the warning
          message from tar to be seen in the buffer, the "Path Traversal
          Attack Detected" message to be omitted, and editing actions
          can fail. This can be seen, for example, when editing
          src/testdir/samples/evil.tar.
Solution: Use the 'w' flag for search() (Kevin Goodsell)

closes: #19333

Signed-off-by: Kevin Goodsell <kevin-opensource@omegacrash.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 10:08:22 +00:00
zeertzjq b24a1d9291 patch 9.1.2134: Terminal doesn't handle split UTF-8 sequence after ASCII
Problem:  Terminal doesn't handle split UTF-8 sequence after ASCII.
Solution: Only use one UTF-8 encoding state per vterm state (zeertzjq).

fixes:  #16559
closes: #18640

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 09:48:20 +00:00
Amelia Clarke de5d100c2f runtime(hare): update to match upstream
closes: #18640

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 09:44:56 +00:00
zeertzjq 21d591fb12 patch 9.1.2133: Another case of buffer overflow with 'helpfile'
Problem:  Another case of buffer overflow with 'helpfile'.
Solution: Leave room for "tags" in the buffer (zeertzjq).

closes: #19340

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 09:37:58 +00:00
Christian Brabandt 0714b15940 patch 9.1.2132: [security]: buffer-overflow in 'helpfile' option handling
Problem:  [security]: buffer-overflow in 'helpfile' option handling by
          using strcpy without bound checks (Rahul Hoysala)
Solution: Limit strncpy to the length of the buffer (MAXPATHL)

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-5w93-4g67-mm43

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-05 19:01:12 +00:00
zeertzjq 991434d8df patch 9.1.2131: tests: Test_diff_screen() fails on BSD
Problem:  tests: Test_diff_screen() fails on BSD
Solution: Use gdiff on BSD systems if available (zeertzjq).

related: #19336

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-04 17:18:29 +00:00
Mao-Yining 03b42b2926 runtime(doc): add note for -complete=shellcmdline
closes: #19330

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-04 16:21:40 +00:00
zeertzjq a8ce914db1 patch 9.1.2130: Page scrolling in Insert mode beeps
Problem:  Page scrolling in Insert mode beeps (after 9.1.0211).
Solution: Fix incorrect return value of pagescroll(). Also invert the
          return value of scroll_with_sms() to be less confusing and
          match comments (zeertzjq).

fixes:  #19326
closes: #19327

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-04 15:51:01 +00:00
Yasuhiro Matsumoto b46594eefb patch 9.1.2129: MS-Windows: font size calculation slightly wrong, causing line gaps
Problem:  MS-Windows: font size calculation slightly wrong, causing
          vertical line gaps (Maxim Kim, after v9.1.2127)
Solution: Update font size calculation when using DirectX
          (Yasuhiro Matsumoto).

Use pre-calculated font ascent from font metrics instead of fixed
formula (h * 0.83) to calculate text baseline. This prevents vertical
text shift when font fallback occurs with CJK characters.

closes: #19318

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-04 15:32:36 +00:00
Christian Brabandt 1ff963e15c runtime(doc): Update version9.txt with numbered patches
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-04 15:07:40 +00:00
Daniel Nylander 5c93eae7c6 translation(sv): Fix typo and help.svx formatting
- Fix typo: paranteser -> parenteser (line 240)
- Fix h j k l navigation block being too wide
- Shorten Swedish text to fit proper column width

Closes feedback from PR #18849

related: #19321

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-03 14:40:47 +00:00
Christian Brabandt 093d0cb1cf runtime(doc): Clarify the behaviour of command completion functions
closes: #19294

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-02 16:55:41 +00:00
Mao-Yining f39e7a89f3 runtime(doc): update win_findbuf() return value
[] can also seen as `list<number>`

closes: #19311

Signed-off-by: Mao-Yining <101858210+mao-yining@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-02 10:15:04 +00:00
Doug Kearns 079700ee45 runtime(doc): Improve the description at :help :cwindow
Describe the "height" argument when opening the quickfix window.

See: #19302 ("[cl]window" has different behaviour from "[cl]open" about
their argument [height])

related: #19302
closes:  #19305

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-01 14:57:50 +00:00
Doug Kearns dd9f7e6cbb runtime(doc): Fix some overlength lines
closes: #19286

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-31 16:13:39 +00:00
Yasuhiro Matsumoto 2b184d4b97 patch 9.1.2124: blob2str() does not handle UTF-16 encoding
Problem:  blob2str() does not handle UTF-16 encoding
          (Hirohito Higashi)
Solution: Refactor the code and fix remaining issues, see below
          (Yasuhiro Matsumoto).

blob2str() function did not properly handle UTF-16/UCS-2/UTF-32/UCS-4
encodings with endianness suffixes (e.g., utf-16le, utf-16be, ucs-2le).
The encoding name was canonicalized too aggressively, losing the
endianness information needed by iconv.

This change include few fixes:

- Preserve the raw encoding name with endianness suffix for iconv calls
- Normalize encoding names properly: "ucs2be" → "ucs-2be", "utf16le" →
  "utf-16le"
- For multi-byte encodings (UTF-16/32, UCS-2/4), convert the entire blob
  first, then split by newlines

convert_string() cannot handle UTF-16 because it uses string_convert()
which expects NUL-terminated strings. UTF-16 contains 0x00 bytes within
characters (e.g., "H" = 0x48 0x00), causing premature termination.
Therefore, for UTF-16/32 encodings, the fix uses string_convert_ext()
with an explicit input length to convert the entire blob at once.

The code appends two NUL bytes (ga_append(&blob_ga, NUL) twice) because
UTF-16 requires a 2-byte NUL terminator (0x00 0x00), not a single-byte
NUL.

- src/strings.c: Add from_encoding_raw to preserve endianness, special
  handling for UTF-16/32 and UCS-2/4
- src/mbyte.c: Fix convert_setup_ext() to use == ENC_UNICODE instead of
  & ENC_UNICODE. The bitwise AND was incorrectly treating UTF-16/UCS-2
  (which have ENC_UNICODE + ENC_2BYTE etc.) as UTF-8, causing iconv
  setup to be skipped.

fixes:  #19198
closes: #19246

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-31 15:59:01 +00:00
Doug Kearns 602e6042a3 runtime(doc): Reformat example at :h gui-w32-fullscreen
Use standard indent and remove unnecessary bang.

closes: #19285

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-31 09:42:05 +00:00
Foxe Chen 0ac59be071 patch 9.1.2114: modeless selection not copied to * register
Problem:  modeless selection not copied to * register when P in
          guioptions (Coacher)
Solution: Make the "P" flag override the "a" and "A" flag
          (Foxe Chen)

fixes:  #19187
closes: #19244

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-29 19:18:10 +00:00
Christian Brabandt 7599a18997 runtime(doc): Mark the use of "\n" in the tabpanel as experimental
related: #19123

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-28 22:18:21 +00:00
Christian Brabandt 427fa3e1e4 runtime(doc): 'ignorecase' affects character classes in the old engine
fixes: #19230

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-28 21:58:28 +00:00
zeertzjq 0f3b7d2563 runtime(doc): fix missing code block marker in ft-python-syntax
related: #18922
closes:  #19261

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-26 19:56:27 +00:00
Daniel Nylander b8c1ef5a64 translation(sv): Add Swedish translation
closes: #18849

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-26 19:40:37 +00:00
Rob B 632fd8bb96 runtime(python): Highlight built-in constants in Python
Also add syntax tests for those newly constants.

closes: #17788
closes: #18922

Signed-off-by: Rob B <github@0x7e.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-26 18:52:04 +00:00
zeertzjq 0f8c685a68 runtime(doc): fix inconsistent indent in ft_rust.txt
related: #19251
closes:  #19257

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 18:17:40 +00:00
Doug Kearns 17bba758fa runtime(doc): Fix overlength lines in :help {russian,vietnamese}.txt
closes: #19252

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 18:05:43 +00:00
Christian Brabandt 5268b95150 runtime(doc): clarify the help style a bit
related: #19250

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 17:59:30 +00:00
G. Branden Robinson e914ada323 runtime(doc): Fix erroneous *roff syntax examples
Problem dates back at least to commit 071d4279d6, Vim 7.0001 (2004).

The examples shown were of special character interpolation syntax, not
("number") register interpolation syntax.

Sources:
* https://www.gnu.org/software/groff/manual/groff.html.node/Built_002din-Registers.html
* https://github.com/mamccollum/troff-resources/blob/main/cstr-54.pdf

closes: #19243

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 15:55:20 +00:00
Hirohito Higashi a5ba252f08 runtime(doc): Tweak tag lines in vim9.txt
closes: #19250

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 15:52:46 +00:00
Arkissa ad0dd7cd1e runtime(rustfmt): Recover accidentally deleted code, don't hide rustfmt error
closes: #19251

Signed-off-by: Arkissa <mrarkssac@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 15:46:09 +00:00
Christian Brabandt 2def2a70a3 runtime(doc): mark a-a-p website as dead
fixes: #19247

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-25 15:23:07 +00:00
Antoine Saez Dumas 3a324c83ab runtime(doc): Fix typo in syntax.txt
closes: #19239

Signed-off-by: Antoine Saez Dumas <antoine.saezdumas.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-23 19:09:32 +00:00
G. Branden Robinson f338a2f1a6 runtime(doc): Update [gnt]roff information
Content:
* Refer to the formatter as "GNU troff".  Strictly, "groff" refers to
  several things.[1]  Since the context is the editing of input to the
  formatter, GNU's troff program is most relevant choice.
* Refer to groff as distributions' default "typesetting" rather than
  "text processing" package.  Many text processing tools exist, and some
  distributions (Alpine Linux, NetBSD, OpenBSD) have replaced groff with
  mandoc[2] as their man page formatter.
* Mention that Plan 9 still ships an AT&T-derived troff; they even
  maintain it.[3]
* Correct explanation of traditional `yr` register (1).  `\n(yr` is not
  a request, but an escape sequence.[4]
* Correct explanation of traditional `yr` register (2).  This register
  has not interpolated a "2-digit year" since the year 2000; it now
  interpolates a 3-digit one, because AT&T troff designed the `yr`
  register with a Y2K bug in it.[5]
* Fix scrambled terminology.  The phrase "macro request" confuses two
  separate things: macros and requests.[6]  Say instead "font, request,
  register, macro, and string names"; these are the formatter object
  types that people writing groff documents most often use.
* Refer to "groff's mm package" instead of "GNU mm".  Strictly, this
  package is in groff's "contrib" area, which implies that it's not
  official GNU product.  (To be fair, after shipping with groff for over
  34 years,[7] I'm not sure how much distinction anyone perceives.)
* Motivate the newly added advice preferring macro package facilities
  for paragraphing; this issue is distinct from aiding sentence boundary
  detection, which until recently[8] was the only advice offered here.

Style:
* Condense introductory paragraphs.
* Refer to "language syntax" rather than "language primitives".
* Use slightly more idiomatic English.

While these revisions convey more information, they leave the line count
unchanged.  I'll try to stop fooling with this material now.

Notes:
[1] https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/man/groff.7.man?h=1.24.0.rc1#n303
[2] https://mandoc.bsd.lv/
[3] https://github.com/9fans/plan9port/pull/738
    https://github.com/9front/9front/commit/4f3a4d8b3da7e7f38b4bc392524944f6f9ccf21f
[4] https://www.gnu.org/software/groff/manual/groff.html.node/Formatter-Instructions.html
    https://github.com/mamccollum/troff-resources/blob/main/cstr-54.pdf
[5] Tellingly, groff added the `year` register in its 1.16 release,
    dated 2000-05-23.
    https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/NEWS?h=1.24.0.rc1#n3650
    https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/ChangeLog.116?h=1.24.0.rc1#n261
[6] https://www.gnu.org/software/groff/manual/groff.html.node/Requests-and-Macros.html
    https://www.gnu.org/software/groff/manual/groff.html.node/groff.html_fot.html#FOOT26
[7] https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/NEWS?h=1.24.0.rc1#n4192
    https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/ChangeLog.old?h=1.24.0.rc1#n2714
[8] https://github.com/vim/vim/commit/638bbc57c151b0360d953e1e4ad372e3c9f0d3ce

closes: #19221

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-20 19:12:26 +00:00
Yegappan Lakshmanan 4a08c8b5d4 patch 9.1.2096: Vim9: truthiness issue with objects
Problem:  Vim9: truthiness issue with objects
          (kennypete)
Solution: Return true for an non-null object
          (Yegappan Lakshmanan)

related: #19173
closes:  #19213

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-19 18:21:12 +00:00
Muraoka Taro 7e585b6fa4 translation(jp): Update Japanese Translation for Vim 9.2 Release
I've updated the Japanese translation for the Vim 9.2 release.  The
content contained in this PR was created collaboratively by multiple
peoples in the vim-jp/lang-ja project, and I, koron (Muraoka Taro), am
submitting it as the project representative.

The PR used for this work is https://github.com/vim-jp/lang-ja/pull/171.
(Please note that the communication in this PR is in Japanese)

closes: #19215

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-19 18:07:28 +00:00
G. Branden Robinson 638bbc57c1 runtime(doc): Update advice for [gnt]roff users
Content:
* Offer more specific guidance regarding input line breaks and sentence
  endings.
* Advise what to do when a line ends with sentence-ending punctuation
  but doesn't end a sentence.
* Advise against use of blanks lines and leading spaces for formatting
  when a macro package is in use.
* Advise how to achieve visual separation in the document without
  affecting formatting.
* Point out how the newline/end-of-sentence rules aid diffing.
* Distinguish the separate processes of inter-sentence space
  supplementation and filling.
* Use conventional (but accessible) terms from typography instead of
  more casual, approximate ones.
* Clarify what sort of extension the ms package's `XP` macro is.

Style:
* Fix comma splice with a semicolon.
* Use slightly more standard/idiomatic English.

Sources:
* https://rhodesmill.org/brandon/2012/one-sentence-per-line/
* https://www.ualberta.ca/en/computing-science/media-library/docs/unix-beginners.pdf
  (p. 20)
* https://www.gnu.org/software/groff/manual/groff.html.node/Input-Conventions.html
* https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/doc/ms.ms?h=1.23.0#n1131
* https://docs-archive.freebsd.org/44doc/usd/18.msdiffs/paper.pdf

closes: #19193

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-18 21:14:52 +00:00