]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
14 months agoruntime(vim): Update base-syntax, improve folding function matches
Doug Kearns [Thu, 19 Sep 2024 17:51:59 +0000 (19:51 +0200)] 
runtime(vim): Update base-syntax, improve folding function matches

- Allow function command modifiers.
- Match function bodies starting with empty lines.

Command modifiers reported by @Konfekt.

fixes #15671
closes: #15674

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoCI: upload failed screendump tests also for Cirrus
Aliaksei Budavei [Thu, 19 Sep 2024 17:48:02 +0000 (19:48 +0200)] 
CI: upload failed screendump tests also for Cirrus

related: #15695

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0737: tests: screendump tests may require a bit more time v9.1.0737
Aliaksei Budavei [Thu, 19 Sep 2024 17:43:14 +0000 (19:43 +0200)] 
patch 9.1.0737: tests: screendump tests may require a bit more time

Problem:  Asynchronous terminal jobs occassionally require more time
          to complete and redraw the window
Solution: increase the sleep value from 10 to 50 milliseconds
          (Aliaksei Budavei)

closes: #15695

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(misc): simplify keywordprg in various ftplugins
Konfekt [Thu, 19 Sep 2024 17:34:40 +0000 (19:34 +0200)] 
runtime(misc): simplify keywordprg in various ftplugins

closes: #15696

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(java): Optionally recognise all primitive constants in _switch-case_ labels
Aliaksei Budavei [Thu, 19 Sep 2024 16:22:58 +0000 (18:22 +0200)] 
runtime(java): Optionally recognise all primitive constants in _switch-case_ labels

Define "g:java_syntax_previews" and include number 455 in
its list to enable this recognition:
------------------------------------------------------------
let g:java_syntax_previews = [455]
------------------------------------------------------------

Reference:
https://openjdk.org/jeps/455

closes: #15698

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(zsh,sh): set and unset compiler in ftplugin
Konfekt [Thu, 19 Sep 2024 16:19:43 +0000 (18:19 +0200)] 
runtime(zsh,sh): set and unset compiler in ftplugin

closes: #15699

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(netrw): using inefficient highlight pattern for 'mf'
yasuda [Thu, 19 Sep 2024 16:09:51 +0000 (18:09 +0200)] 
runtime(netrw): using inefficient highlight pattern for 'mf'

Fixes E872 too many '(' in highlight pattern for `mf` selection

fixup for #15551
closes: #15700

Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0736: Unicode tables are outdated v9.1.0736
Christian Brabandt [Tue, 17 Sep 2024 18:24:56 +0000 (20:24 +0200)] 
patch 9.1.0736: Unicode tables are outdated

Problem:  Unicode tables are outdated
Solution: Update Unicode tables to v16

closes: #15693

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0735: filetype: salt files are not recognized v9.1.0735
Gregory Anders [Tue, 17 Sep 2024 18:16:37 +0000 (20:16 +0200)] 
patch 9.1.0735: filetype: salt files are not recognized

Problem:  filetype: salt files are not recognized
Solution: Detect '*.sls' files as filetype salt,
          include a syntax script (Gregory Anders)

closes: #15689

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0734: filetype: jinja files are not recognized v9.1.0734
Gregory Anders [Tue, 17 Sep 2024 18:12:47 +0000 (20:12 +0200)] 
patch 9.1.0734: filetype: jinja files are not recognized

Problem:  filetype: jinja files are not recognized
Solution: detect '*.jinja' files a jinja filetype,
          include jinja syntax script (Gregory Anders)

related: #15689

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(zathurarc): add double-click-follow to syntax script
Wu, Zhenyu [Tue, 17 Sep 2024 17:50:52 +0000 (19:50 +0200)] 
runtime(zathurarc): add double-click-follow to syntax script

closes: #15688

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
14 months agotranslation(ru): Updated messages translation
RestorerZ [Tue, 17 Sep 2024 17:41:05 +0000 (19:41 +0200)] 
translation(ru): Updated messages translation

closes: #15690
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agotranslation(it): updated xxd man page
Antonio Giovanni Colombo [Tue, 17 Sep 2024 17:12:03 +0000 (19:12 +0200)] 
translation(it): updated xxd man page

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
14 months agotranslation(ru): updated xxd man page
RestorerZ [Tue, 17 Sep 2024 17:03:16 +0000 (19:03 +0200)] 
translation(ru): updated xxd man page

closes: #15692

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0733: keyword completion does not work with fuzzy v9.1.0733
glepnir [Sun, 15 Sep 2024 18:06:28 +0000 (20:06 +0200)] 
patch 9.1.0733: keyword completion does not work with fuzzy

Problem:  keyword completion does not work with fuzzy
          (egesip)
Solution: handle ctrl_x_mode_normal() specifically
          (glepnir)

fixes: #15412
closes: #15424

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0732: xxd: cannot use -b and -i together v9.1.0732
Andre Chang [Sun, 15 Sep 2024 18:03:05 +0000 (20:03 +0200)] 
patch 9.1.0732: xxd: cannot use -b and -i together

Problem:  xxd: cannot use -b and -i together
          (Irgendwer)
Solution: implement the missing changes
          (Andre Chang)

fixes: #15362
closes: #15661

Signed-off-by: Andre Chang <andre@augmentcode.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(java): Highlight javaConceptKind modifiers with StorageClass
Aliaksei Budavei [Sun, 15 Sep 2024 17:53:50 +0000 (19:53 +0200)] 
runtime(java): Highlight javaConceptKind modifiers with StorageClass

Stop assigning by default the NonText highlighting group for
javaConceptKind modifiers since its colour is hardly
distinguishable from a background colour for a range of
colour schemes.

fixes #15237
related #15238
closes: #15664

Co-authored-by: Dexter Gaon-Shatford <dexter@gaonshatford.ca>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(doc): reword and reformat how to use defaults.vim
Max Coplan [Sun, 15 Sep 2024 17:40:52 +0000 (19:40 +0200)] 
runtime(doc): reword and reformat how to use defaults.vim

closes: #15663
closes: #15668

Signed-off-by: Max Coplan <mchcopl@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0731: inconsistent case sensitive extension matching v9.1.0731
Evgeni Chasnovski [Sun, 15 Sep 2024 17:23:25 +0000 (19:23 +0200)] 
patch 9.1.0731: inconsistent case sensitive extension matching

Problem:  inconsistent case sensitive extension matching
Solution: unify case sensitive extension matching (Evgeni Chasnovski).

There are different approaches of how extensions are matched with
respect to case sensitivity. In particular, '\c' flag is used in pattern
whereas in most places case sensitive matching is guarded behind
`has("fname_case")` condition.

Replace all instances of '\c' with an explicit case sensitive pattern
variants guarded by `has("fname_case")`. Strictly speaking, this is a
breaking change because only two (most common and prevailingly tested)
variants are now matched: upper first letter and upper all letters.

closes: #15672

Signed-off-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(vim): Update base-syntax, match Vim9 bool/null literal args to :if/:while...
Doug Kearns [Sun, 15 Sep 2024 17:21:18 +0000 (19:21 +0200)] 
runtime(vim): Update base-syntax, match Vim9 bool/null literal args to :if/:while/:return

Match Vim9 boolean and null literals in expression arguments of :if,
:elseif, :while and :return.

closes: #15684

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(netrw): delete confirmation not strict enough
Christian Brabandt [Sun, 15 Sep 2024 17:17:23 +0000 (19:17 +0200)] 
runtime(netrw): delete confirmation not strict enough

fixes: #15680

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0730: Crash with cursor-screenline and narrow window v9.1.0730
zeertzjq [Sat, 14 Sep 2024 08:40:29 +0000 (10:40 +0200)] 
patch 9.1.0730: Crash with cursor-screenline and narrow window

Problem:  Crash with cursor-screenline and narrow window
          (elig0n)
Solution: Don't set right_col when width2 is 0 (zeertzjq).

fixes: #15677
closes: #15678

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0729: Wrong cursor-screenline when resizing window v9.1.0729
zeertzjq [Sat, 14 Sep 2024 08:37:17 +0000 (10:37 +0200)] 
patch 9.1.0729: Wrong cursor-screenline when resizing window

Problem:  Wrong cursor-screenline when resizing window
Solution: Invalidate saved left_col and right_col when width1 or width2
          change.

closes: #15679

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0728: [security]: heap-use-after-free in garbage collection with location... v9.1.0728
zeertzjq [Sat, 14 Sep 2024 08:32:31 +0000 (10:32 +0200)] 
patch 9.1.0728: [security]: heap-use-after-free in garbage collection with location list user data

Problem:  heap-use-after-free in garbage collection with location list
          user data.
Solution: Mark user data as in use when no other window is referencing
          the location list (zeertzjq)

fixes: neovim/neovim#30371
closes: #15683

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(doc): clarify the effect of the timeout for search()-functions
Christian Brabandt [Tue, 10 Sep 2024 19:55:49 +0000 (21:55 +0200)] 
runtime(doc): clarify the effect of the timeout for search()-functions

related: #15657
related: #15404

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(idlang): update syntax script
Joe Sapp [Tue, 10 Sep 2024 19:46:54 +0000 (21:46 +0200)] 
runtime(idlang): update syntax script

closes: #15419

Signed-off-by: Joe Sapp <992873+sappjw@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(spec): Recognize epoch when making spec changelog in ftplugin
fundawang [Tue, 10 Sep 2024 19:43:05 +0000 (21:43 +0200)] 
runtime(spec): Recognize epoch when making spec changelog in ftplugin

closes: #15537

Signed-off-by: fundawang <fundawang@yeah.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(spec): add file triggers to syntax script
fundawang [Tue, 10 Sep 2024 19:31:49 +0000 (21:31 +0200)] 
runtime(spec): add file triggers to syntax script

closes: #15569

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0727: too many strlen() calls in option.c v9.1.0727
John Marriott [Tue, 10 Sep 2024 19:25:14 +0000 (21:25 +0200)] 
patch 9.1.0727: too many strlen() calls in option.c

Problem:  too many strlen() calls in option.c
Solution: refactor the code to reduce the number of strlen() calls
          (John Marriott)

closes: #15604

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(make): add compiler/make.vim to reset compiler plugin settings
Konfekt [Tue, 10 Sep 2024 19:06:22 +0000 (21:06 +0200)] 
runtime(make): add compiler/make.vim to reset compiler plugin settings

closes: #15645

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(java): Recognise all available standard doclet tags
Aliaksei Budavei [Tue, 10 Sep 2024 19:00:33 +0000 (21:00 +0200)] 
runtime(java): Recognise all available standard doclet tags

* Complement the tag set with @spec, {@systemProperty},
  {@summary}, @provides, @uses, @hidden, and {@index}.
* Do not hoard all tags under a single highlighting group.
* Skip over nested balanced braces in inline tags.
* Observe that tag names are case sensitive: both {@docRoot}
  and {@inheritDoc} are valid, whereas {@inheritdoc} and
  {@docroot} are not.
* In the @see tag arguments, allow for:
  - module name prefixes (e.g. java.base/java.lang.String);
  - references to arbitrary URI fragments (e.g. ##foo);
  - matching any tag variation arguments on the next line.
* Test directives and tags for Java module declarations.
* Enforce the word end for "module-info" candidates.

References:
https://bugs.openjdk.org/browse/JDK-8226279 (@spec)
https://bugs.openjdk.org/browse/JDK-8214559 ({@systemProperty})
https://bugs.openjdk.org/browse/JDK-8173425 ({@summary})
https://bugs.openjdk.org/browse/JDK-8160196 (@provides & @uses)
https://bugs.openjdk.org/browse/JDK-8073100 (@hidden)
https://bugs.openjdk.org/browse/JDK-8044243 ({@index})
https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html
https://github.com/openjdk/jdk/blob/jdk-21-ga/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java

closes: #15652

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0726: not using correct python3 API with dynamic linking v9.1.0726
Yee Cheng Chin [Tue, 10 Sep 2024 18:56:13 +0000 (20:56 +0200)] 
patch 9.1.0726: not using correct python3 API with dynamic linking

Problem:  not using correct python3 API with dynamic linking
Solution: Use stable IncRef / DecRef in Python 3 dynamic bindings
          (Yee Cheng Chin)

Previously, we were using the Py_DECREF macros even when using dynamic
linking of Python 3. This caused issues because Python's headers contain
references to internal APIs like `_Py_Dealloc` and in v8.1.2201 and
v8.2.1225 we simply hacked around the issue by manually copying the
Python header implementation to Vim and linking in the private APIs.
This is fragile and prone to break. In fact, the Py_DECREF
implementation is different in newer versions of Python meaning that
this could potentially cause memory issues.

Instead, simply use the API versions (`Py_DECREF` and `Py_INCREF`) which
are functions exposed by the Python library. They could be slightly
slower since they require a function call instead of a macro, but are
much more reliable and we should only be calling these when the Python
Vim plugins are crossing the language boundary anyway which are always
going to be slow.

Note that this only affects dynamically linked Python builds that are
not using stable ABI.

Also see #15648

closes: #15653

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(dosini): Update syntax script, spellcheck comments only
John Tobin [Tue, 10 Sep 2024 18:52:15 +0000 (20:52 +0200)] 
runtime(dosini): Update syntax script, spellcheck comments only

By default spell checking is enabled for all text, but adding
`contains=@Spell` to syntax rules restricts spell checking to those
syntax rules.  See `:help spell-syntax` for full details.

Variable names and headers are far more likely than comments to contain
spelling errors, so only enable spell checking in comments.

Introduced in https://github.com/xuhdev/syntax-dosini.vim/pull/8

cc @tobinjt

closes: #15655

Signed-off-by: John Tobin <johntobin@johntobin.ie>
Signed-off-by: Hong Xu <hong@topbug.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(doc): Revert outdated comment in completeopt's fuzzy documentation
Yee Cheng Chin [Tue, 10 Sep 2024 18:50:08 +0000 (20:50 +0200)] 
runtime(doc): Revert outdated comment in completeopt's fuzzy documentation

Originally, `:set completeopt+=fuzzy` did not affect how the candidate
list is collected in default keyword completion. A comment was added to
documentation as part of #14912 to clarify it. #15193 later changed the
fuzzy behavior to now change the candidate collection behavior as well
so the clarification in docs is now wrong. Remove them here.

closes: #15656

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0725: filetype: swiftinterface files are not recognized v9.1.0725
LosFarmosCTL [Tue, 10 Sep 2024 18:44:59 +0000 (20:44 +0200)] 
patch 9.1.0725: filetype: swiftinterface files are not recognized

Problem:  filetype: swiftinterface files are not recognized
Solution: Detect '*.swiftinterface' files as swift filetype
          (LosFarmosCTL)

closes: #15658

Signed-off-by: LosFarmosCTL <80157503+LosFarmosCTL@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(pandoc): Update compiler plugin to use actual 'spelllang'
Christian Brabandt [Mon, 9 Sep 2024 18:26:28 +0000 (20:26 +0200)] 
runtime(pandoc): Update compiler plugin to use actual 'spelllang'

Previously these would be cached in buffer-local variables and
would not change on :compiler pandoc

closes: #15642

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(groff): Add compiler plugin for groff
Konfekt [Mon, 9 Sep 2024 18:03:03 +0000 (20:03 +0200)] 
runtime(groff): Add compiler plugin for groff

Groff MOM (Macros for Manuscripts) is a macro package for the GNU
troff (groff) typesetting system, a light-weight alternative
to LaTeX for professional-quality documents.

closes: #15646

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0724: if_python: link error with python 3.13 and stable ABI v9.1.0724
Yee Cheng Chin [Mon, 9 Sep 2024 17:55:24 +0000 (19:55 +0200)] 
patch 9.1.0724: if_python: link error with python 3.13 and stable ABI

Problem:  if_python: link error with python 3.13 and stable ABI
          (zdohnal)
Solution: Use the correct stable APIs Py_IncRef and Py_DecRef instead
          (Yee Cheng Chin)

This fixes #15460 properly. There was an attempt to fix it in v9.1.0668,
but it did it by manually copy and pasting definitions from Python 3.13
headers, which is problematic as it makes Vim dependent on low-level
implementation details which are subject to change. That change also
pulls in dependencies to private APIs (`_Py_IncRef`) which is a very bad
idea as the next version of Python could very well remove that.

The core issue was simply that `Py_INCREF` and similar functions are not
part of the stable API. We are supposed to be using `Py_IncRef` instead
which performs null-check (similar to `Py_XINCREF`) and is available as
a linkable function. We simply need to call it instead of the macro.
We simply remap `Py_INCREF` (and friends) to the function version in
stable API similar to how we mapped other functions.

related #15460
closes: #15648

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0723: if_python: dynamic linking fails with python3 >= 3.13 v9.1.0723
Yee Cheng Chin [Mon, 9 Sep 2024 17:46:17 +0000 (19:46 +0200)] 
patch 9.1.0723: if_python: dynamic linking fails with python3 >= 3.13

Problem:  if_python: dynamic linking fails with python3 >= 3.13
          when using non-stable ABI (zdohnal)
Solution: do not try to import the privat python symbol
          _PyObject_NextNotImplemented
          (Yee Cheng Chin)

Vim is importing a private Python symbol `_PyObject_NextNotImplemented`
because it used to be required as part of the `PyIter_Check()` macro in
an abstraction breaking way. Python eventually fixed the issue and in
3.13 it removed the private symbol export, which broke Vim. Simply
remove importing this private symbol in newer Python versions as it's no
longer needed for PyIter_Check to work.

fixes: #15457
closes: #15649

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0722: crash with large id in text_prop interface v9.1.0722
Christian Brabandt [Sun, 8 Sep 2024 18:05:23 +0000 (20:05 +0200)] 
patch 9.1.0722: crash with large id in text_prop interface

Problem:  crash with large id in text_prop interface
          prop_add()/prop_add_list() (cposture)
Solution: Error out if the id is > INT_MAX or <= INT_MIN

fixes: #15637
closes: #15638

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0721: tests: test_mksession does not consider XDG_CONFIG_HOME v9.1.0721
John M Devin [Sun, 8 Sep 2024 18:00:38 +0000 (20:00 +0200)] 
patch 9.1.0721: tests: test_mksession does not consider XDG_CONFIG_HOME

Problem:  tests: test_mksession does not consider XDG_CONFIG_HOME
Solution: allow to match $HOME/.vim/ and $HOME/.config/vim for &viewdir
          (John M Devin)

closes: #15639

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(glvs): update GetLatestVimScripts plugin
GuyBrush [Sun, 8 Sep 2024 17:54:43 +0000 (19:54 +0200)] 
runtime(glvs): update GetLatestVimScripts plugin

GetLatestVimScripts builtin plugin required several fixes:
* Support for the new vimbal `.vmb` extension introduced in
  [patch 9.0.1797](https://github.com/vim/vim/commit/f97f6bbf56408c0c97b4ddbe81fba858d7455b0d):
  Vimball/Visual Basic filetype detection conflict
* Update the urls from the old `sourceforge.net` to `vim.org`.
  The download url was hardcoded and a new variable is introduced.
* Fix `curl` command line option to set a filename (`-O` uses the remote
  filename and `-o` specifies a filename).
* Replace windows' command to move files. `REN` can only rename files and
  the script actually moves them. My educated guess was that originally
  only renaming was necessary. When the script was modified to move
  files no change was required on linux because `mv` does both.
* Fix Autoinstall support to check `ftplugins` and `pack-plugins` too
  (`pack-plugins` did not exist when the plugin was created).

closes: #15640

Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(doc): Fix typo in :help :hide text
Doug Kearns [Sun, 8 Sep 2024 17:39:20 +0000 (19:39 +0200)] 
runtime(doc): Fix typo in :help :hide text

closes: #15644

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(doc): buffers can be re-used
Christian Brabandt [Sat, 7 Sep 2024 15:28:04 +0000 (17:28 +0200)] 
runtime(doc): buffers can be re-used

while at it, also move the note about :wincmd
directly to :h :wincmd, it doesn't seem to belong to the buffer section.

closes: #15636

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0720: Wrong breakindentopt=list:-1 with multibyte or TABs v9.1.0720
zeertzjq [Sat, 7 Sep 2024 09:23:54 +0000 (11:23 +0200)] 
patch 9.1.0720: Wrong breakindentopt=list:-1 with multibyte or TABs

Problem:  Wrong breakindentopt=list:-1 with multibyte chars or TABs in
          text matched by 'formatlistpat' (John M Devin)
Solution: Use the width of the match text (zeertzjq)

fixes: #15634
closes: #15635

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0719: Resetting cell widths can make 'listchars' or 'fillchars' invalid v9.1.0719
zeertzjq [Fri, 6 Sep 2024 14:24:41 +0000 (16:24 +0200)] 
patch 9.1.0719: Resetting cell widths can make 'listchars' or 'fillchars' invalid

Problem:  Resetting cell widths can make 'listchars' or 'fillchars'
          invalid.
Solution: Check for conflicts when resetting cell widths (zeertzjq).

closes: #15629

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(doc): Update version9.txt and mention $MYVIMDIR
Christian Brabandt [Thu, 5 Sep 2024 16:21:21 +0000 (18:21 +0200)] 
runtime(doc): Update version9.txt and mention $MYVIMDIR

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0718: hard to know the users personal Vim Runtime Directory v9.1.0718
Christian Brabandt [Thu, 5 Sep 2024 15:46:19 +0000 (17:46 +0200)] 
patch 9.1.0718: hard to know the users personal Vim Runtime Directory

Problem:  hard to guess the Vim Runtime Directory
Solution: Set the $MYVIMDIR environment variable to the users
          personal runtime directory (e.g. ~/.vim on Linux)

closes: #15576

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0717: Unnecessary nextcmd NULL checks in parse_command_modifiers() v9.1.0717
zeertzjq [Thu, 5 Sep 2024 15:26:30 +0000 (17:26 +0200)] 
patch 9.1.0717: Unnecessary nextcmd NULL checks in parse_command_modifiers()

Problem:  Unnecessary nextcmd NULL checks in parse_command_modifiers().
Solution: Remove them (zeertzjq)

Every place parse_command_modifiers() is called, nextcmd is NULL, and
after it's set to non-NULL the function returns very soon.
Even if one day nextcmd may be non-NULL, the NULL checks may still be
wrong as the correct behavior may be overriding nextcmd.

closes: #15620

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoMaintainers: fix typo in author name
Gregory Anders [Thu, 5 Sep 2024 15:23:17 +0000 (17:23 +0200)] 
Maintainers: fix typo in author name

closes: #15626

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0716: resetting setcellwidth() doesn't update the screen v9.1.0716
Ken Takata [Thu, 5 Sep 2024 15:19:34 +0000 (17:19 +0200)] 
patch 9.1.0716: resetting setcellwidth() doesn't update the screen

Problem:  resetting setcellwidth() doesn't update the screen
Solution: Redraw after clearing the cellwidth table (Ken Takata)

closes: #15628

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(hcl,terraform): Add runtime files for HCL and Terraform
Gregory Anders [Wed, 4 Sep 2024 20:19:45 +0000 (22:19 +0200)] 
runtime(hcl,terraform): Add runtime files for HCL and Terraform

closes: #15618

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(tmux): Update syntax script
Eric Pruitt [Wed, 4 Sep 2024 20:15:40 +0000 (22:15 +0200)] 
runtime(tmux): Update syntax script

closes: ericpruitt/tmux.vim#25
closes: #15622

Signed-off-by: Eric Pruitt <eric.pruitt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0715: Not correctly parsing color names (after v9.1.0709) v9.1.0715
Christian Brabandt [Wed, 4 Sep 2024 20:10:34 +0000 (22:10 +0200)] 
patch 9.1.0715: Not correctly parsing color names (after v9.1.0709)

Problem:  Not correctly parsing color names (chdiza, after v9.1.0709)
Solution: Revert part of the patch that compares the color names and
          fall-back to the macro STRICMP

fixes: #15617
closes: #15619

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0714: tests: GuiEnter_Turkish test may fail v9.1.0714
Ken Takata [Tue, 3 Sep 2024 21:01:55 +0000 (23:01 +0200)] 
patch 9.1.0714: tests: GuiEnter_Turkish test may fail

Problem:  tests: GuiEnter_Turkish test may fail
Solution: the message will be translated if the Turkish message file is
          installed. Use gettext() to get the expected message
          (Ken Takata)

closes: #15615

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0713: Newline causes E749 in Ex mode v9.1.0713
zeertzjq [Tue, 3 Sep 2024 20:58:30 +0000 (22:58 +0200)] 
patch 9.1.0713: Newline causes E749 in Ex mode

Problem:  Newline causes E749 in Ex mode (after 9.1.0573).
Solution: Don't execute empty command followed by a newline.

closes: #15614

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0712: tests: missing dependency of Test_gettext_makefile v9.1.0712
James McCoy [Tue, 3 Sep 2024 20:50:38 +0000 (22:50 +0200)] 
patch 9.1.0712: tests: missing dependency of Test_gettext_makefile

Problem:  tests: missing dependency of Test_gettext_makefile
Solution: Check that xgettext binary is available, else skip the test
          (James McCoy)

closes: #15612

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0711: tests: test_xxd may file when using different xxd v9.1.0711
James McCoy [Tue, 3 Sep 2024 20:46:31 +0000 (22:46 +0200)] 
patch 9.1.0711: tests: test_xxd may file when using different xxd

Problem:  tests: test_xxd may file when using different xxd
Solution: Make Test_xxd_color_0 agnostic to xxd's path, similar to
          Test_xxd_color_1 by filtering out shell command prompt in
          screen dump file (James McCoy)

If an alternative xxd path is provided, e.g., the system installed xxd,
then the screen dump fails due to the difference in path.

From test_xxd.vim:
Found errors in Test_xxd_color2():
Run 1, 15:17:03 - 15:17:04:
command line..script /tmp/autopkgtest-lxc.1auv5tlk/downtmp/autopkgtest_tmp/vim/src/testdir/runtest.vim[607]..function RunTheTest[57]..Test_xxd_color2[36]..VerifyScreenDump line 67: See dump file difference: call term_dumpdiff("testdir/failed/Test_xxd_color_0.dump", "testdir/dumps/Test_xxd_color_0.dump"); difference in line 1: "|$+0&#ffffff0| |/|u|s|r|/|b|i|n|/|x@1|d| |-|R| |n|e|v|e|r| @1|<| |X@1|D|f|i|l|e|_|c|o|l|o|r|s| @33"

related: #15612

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0710: popup window may hide part of Command line v9.1.0710
Christian Brabandt [Tue, 3 Sep 2024 16:20:13 +0000 (18:20 +0200)] 
patch 9.1.0710: popup window may hide part of Command line

Problem:  when a popup window covers the command line,
          the command line is not completely cleared on popup_hide()
          (yu3s)
Solution: Check if the popup window covers the command line and if it
          does, set the clear_cmdline flag.

fixes: #15608
closes: #15610

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(vim): Update syntax, improve user-command matching
Doug Kearns [Mon, 2 Sep 2024 08:03:37 +0000 (10:03 +0200)] 
runtime(vim): Update syntax, improve user-command matching

- Match -addr and -keepscript attributes and generate -addr values.
- Match attribute errors where = is specified.
- Highlight attributes with Special like other Ex command options.
- Don't highlight user-specified completion function args.
- Match :delcommand -buffer attribute.

closes: #15586

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agopatch 9.1.0709: GUIEnter event not found in Turkish locale v9.1.0709
Christian Brabandt [Mon, 2 Sep 2024 07:59:18 +0000 (09:59 +0200)] 
patch 9.1.0709: GUIEnter event not found in Turkish locale

Problem:   GUIEnter not found in Turkish locale
           (James McCoy, after v9.1.0256, the issue was there before,
            but v9.1.0256 made it more apparent)
Solution:  explicitly compare autocommand events by ASCII value and
           ignoring locale, because according to the documentation,
           events are case insensitive (:h autocommand-events)

fixes: #15574
closes: #15603

Signed-off-by: Christian Brabandt <cb@256bit.org>
14 months agoruntime(sudoers): improve recognized Runas_Spec and Tag_Spec items
Christian Brabandt [Mon, 2 Sep 2024 07:53:53 +0000 (09:53 +0200)] 
runtime(sudoers): improve recognized Runas_Spec and Tag_Spec items

Recognize colon-delimited second part of Runas_Spec that specifies
permitted groups, e.g.:

    alan ALL = (root, bin : operator, system) ALL

This implementation is sloppy because it accepts any amount of colons
delimiting further Runas_Lists, but for now that's better than bailing
out completely as soon as a colon is encountered (esp. given that the
default sudoers uses these colons, breaking highlighting OOTB).

Also, while at it, make Vim recognize all Tag_Spec items, not just
{,NO}PASSWD

closes: #15607

Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name>
Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0708: Recursive window update does not account for reset skipcol v9.1.0708
Luuk van Baal [Sun, 1 Sep 2024 08:33:56 +0000 (10:33 +0200)] 
patch 9.1.0708: Recursive window update does not account for reset skipcol

Problem:  Window is updated with potentially invalid skipcol in recursive
          window update path. I.e. cursor outside of visible range in
          large line that does not fit.
Solution: Make sure it is valid (Luuk van Baal).

closes: #15605

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(nu): include filetype plugin
Marc Jakobi [Sun, 1 Sep 2024 07:21:16 +0000 (09:21 +0200)] 
runtime(nu): include filetype plugin

This is used to set the commentstring option.

closes: #15601

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Marc Jakobi <marc.jakobi@tiko.energy>
15 months agopatch 9.1.0707: [security]: invalid cursor position may cause a crash v9.1.0707
Christian Brabandt [Sat, 31 Aug 2024 15:58:16 +0000 (17:58 +0200)] 
patch 9.1.0707: [security]: invalid cursor position may cause a crash

Problem:  [security]: invalid cursor position may cause a crash
          (after v9.1.0038)
Solution: Set cursor to the last character in a line, if it would
          otherwise point to beyond the line; no tests added, as it
          is unclear how to reproduce this.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4ghr-c62x-cqfh

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0706: tests: test_gettext fails when using shadow dir v9.1.0706
James McCoy [Sat, 31 Aug 2024 15:10:26 +0000 (17:10 +0200)] 
patch 9.1.0706: tests: test_gettext fails when using shadow dir

Problem:  tests: test_gettext fails when using shadow dir
Solution: Link the ru_RU directory into the shadow testdir
          (James McCoy)

Link the ru_RU directory into shadow testdir

When the ru_RU locale is present, but the build is using a shadowdir,
then test_gettext_cp1251.vim and test_gettext_utf8.vim fail:

    From test_gettext_cp1251.vim:
    Executed Test_gettext()                            in   0.000848 seconds
    Executed 1 test                          in   0.007010 seconds
    1 FAILED:
    Found errors in Test_gettext():
    command line..script /home/runner/work/vim/vim/src/shadow/testdir/runtest.vim[607]..function RunTheTest[57]..Test_gettext line 9: Expected '������: ' but got 'ERROR: '

    From test_gettext_utf8.vim:
    Executed Test_gettext()                            in   0.000908 seconds
    Executed 1 test                          in   0.007339 seconds
    1 FAILED:
    Found errors in Test_gettext():
    command line..script /home/runner/work/vim/vim/src/shadow/testdir/runtest.vim[607]..function RunTheTest[57]..Test_gettext line 9: Expected '������: ' but got 'ERROR: '

This is because it's unable to load the translations from the ru_RU test
directory, since it wasn't symlinked into the shadow directory.

closes: #15591

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoCI: Install locales-all package
James McCoy [Sat, 31 Aug 2024 15:13:10 +0000 (17:13 +0200)] 
CI: Install locales-all package

The test_gettext* files need specific locales available to exercise
their tests.

related: #15591

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0705: Sorting of fuzzy filename completion is not stable v9.1.0705
zeertzjq [Sat, 31 Aug 2024 15:05:39 +0000 (17:05 +0200)] 
patch 9.1.0705: Sorting of fuzzy filename completion is not stable

Problem:  Sorting of fuzzy filename completion is not stable
Solution: Compare indexes when scores are equal.  Fix some typos.
          (zeertzjq)

closes: #15593

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agotranslation(pt): update Portuguese/Brazilian menu translation
JNylson [Sat, 31 Aug 2024 15:03:13 +0000 (17:03 +0200)] 
translation(pt): update Portuguese/Brazilian menu translation

closes: #15592

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(vim): Update base-syntax, match bracket mark ranges
Doug Kearns [Sat, 31 Aug 2024 14:57:32 +0000 (16:57 +0200)] 
runtime(vim): Update base-syntax, match bracket mark ranges

Match '(,'),'[,'],'{, and '} marks in Ex command ranges.

Thanks to Maxim Kim.

Fixes #15332.
Closes #15337.

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(doc): Update :help :command-complete list
Doug Kearns [Sat, 31 Aug 2024 14:44:14 +0000 (16:44 +0200)] 
runtime(doc): Update :help :command-complete list

closes: #15602

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
15 months agopatch 9.1.0704: inserting with a count is inefficient v9.1.0704
Ken Takata [Sat, 31 Aug 2024 14:35:06 +0000 (16:35 +0200)] 
patch 9.1.0704: inserting with a count is inefficient

Problem:  inserting with a count is inefficient
Solution: Disable calculation of the cursor position and topline, if a
          count has been used (Ken Takata)

Optimize insertion when using :normal 10000ix.

This patch optimizes the insertion with a large count (e.g. `:normal
10000ix`).

It seems that calculation of the cursor position for a long line is slow
and it takes O(n^2). Disable the calculation if not needed.

Before:
```
$ time ./vim --clean -c 'normal 10000ix' -cq!
real    0m1.879s
user    0m1.328s
sys     0m0.139s

$ time ./vim --clean -c 'normal 20000ix' -cq!
real    0m5.574s
user    0m5.421s
sys     0m0.093s

$ time ./vim --clean -c 'normal 40000ix' -cq!
real    0m23.588s
user    0m23.187s
sys     0m0.140s
```

After:
```
$ time ./vim --clean -c 'normal 10000ix' -cq!
real    0m0.187s
user    0m0.046s
sys     0m0.093s

$ time ./vim --clean -c 'normal 20000ix' -cq!
real    0m0.217s
user    0m0.046s
sys     0m0.108s

$ time ./vim --clean -c 'normal 40000ix' -cq!
real    0m0.278s
user    0m0.093s
sys     0m0.140s

$ time ./vim --clean -c 'normal 80000ix' -cq!
real    0m0.494s
user    0m0.311s
sys     0m0.140s

$ time ./vim --clean -c 'normal 160000ix' -cq!
real    0m1.302s
user    0m1.140s
sys     0m0.094s
```

closes: #15588

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(doc): use mkdir -p to save a command
Ughur Alakbarov [Sat, 31 Aug 2024 14:12:39 +0000 (16:12 +0200)] 
runtime(doc): use mkdir -p to save a command

closes: #15599

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Ughur Alakbarov <58857108+ugur-a@users.noreply.github.com>
15 months agopatch 9.1.0703: crash with 2byte encoding and glob2regpat() v9.1.0703
Christian Brabandt [Thu, 29 Aug 2024 20:12:05 +0000 (22:12 +0200)] 
patch 9.1.0703: crash with 2byte encoding and glob2regpat()

Problem:  possible crash with 2-byte encoding and glob2regpat()
          (after v9.1.0700, v9.1.0702)
Solution: include both bytes for a multi-byte character for an
          escaped character

closes: #15590

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(hollywood): update syn highlight for If-Then statements and For-In-Loops
Tom Crecelius [Thu, 29 Aug 2024 20:08:20 +0000 (22:08 +0200)] 
runtime(hollywood): update syn highlight for If-Then statements and For-In-Loops

Improving syntax highlighting by allowing numbers, - and a $ as suffix
in user constants and by allowing hwConstants in If-Then statements

closes: #15059

Signed-off-by: Tom Crecelius <holly@net-eclipse.net>
Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0702: Patch 9.1.0700 broke CI v9.1.0702
Christian Brabandt [Wed, 28 Aug 2024 21:46:53 +0000 (23:46 +0200)] 
patch 9.1.0702: Patch 9.1.0700 broke CI

Problem:  Patch 9.1.0700 broke CI
Solution: Revert for now

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0701: crash with NFA regex engine when searching for composing chars v9.1.0701
Christian Brabandt [Wed, 28 Aug 2024 21:17:52 +0000 (23:17 +0200)] 
patch 9.1.0701: crash with NFA regex engine when searching for composing chars

Problem:  crash with NFA regex engine when searching for composing chars
          (SuyueGuo)
Solution: When there is no composing character, break out of the loop
          and check that out1 state is not null

fixes: #15583

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0700: crash with 2byte encoding and glob2regpat() v9.1.0700
Christian Brabandt [Wed, 28 Aug 2024 20:08:35 +0000 (22:08 +0200)] 
patch 9.1.0700: crash with 2byte encoding and glob2regpat()

Problem:  possible crash with 2byte encoding and glob2regpat()
Solution: Skip over character, if it is multi-byte character

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0699: "dvgo" is not always an inclusive motion v9.1.0699
Christian Brabandt [Wed, 28 Aug 2024 18:39:24 +0000 (20:39 +0200)] 
patch 9.1.0699: "dvgo" is not always an inclusive motion

Problem:  "dvgo" is not always an inclusive motion
          (Iain King-Speir)
Solution: initialize the inclusive flag to false

fixes: #15580
closes: #15582

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(java): Provide support for syntax preview features
Aliaksei Budavei [Tue, 27 Aug 2024 20:32:13 +0000 (22:32 +0200)] 
runtime(java): Provide support for syntax preview features

Introduce a new API variable "g:java_syntax_previews" whose
value must be a list of syntax preview feature numbers.

Enumerate the currently supported numbers in a table at the
end of the documentation entry for "ft-java-syntax".

Also, disable the recognition of String Templates.  Despite
the withdrawal of this preview feature in its proposed form
from the upcoming JDK 23 release and the fact that the JDK
22 release is coming to EOL this September, an earlier
iteration of this preview feature was included in JDK 21
(LTS) whose EOL is projected to fall due in late 2028 and,
therefore, retain the current implementation.

Define "g:java_syntax_previews" and include number 430 in
its list to enable the recognition of String Templates:
------------------------------------------------------------
let g:java_syntax_previews = [430]
------------------------------------------------------------

References:
https://openjdk.org/jeps/430 (Preview)
https://openjdk.org/jeps/459 (Second Preview)
https://openjdk.org/jeps/465 (Third Preview)
https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html

closes: #15579

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone v9.1.0698
zeertzjq [Mon, 26 Aug 2024 16:45:37 +0000 (18:45 +0200)] 
patch 9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone

Problem:  tests: "Untitled" file not removed when running Test_crash1_3 alone
          with TEST_FILTER (after v9.1.0695)
Solution: Use a TearDown function instead of another test.
          (zeertzjq)

closes: #15578
closes: #15577

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0697: [security]: heap-buffer-overflow in ins_typebuf v9.1.0697
Christian Brabandt [Sun, 25 Aug 2024 19:33:03 +0000 (21:33 +0200)] 
patch 9.1.0697: [security]: heap-buffer-overflow in ins_typebuf

Problem:  heap-buffer-overflow in ins_typebuf
          (SuyueGuo)
Solution: When flushing the typeahead buffer, validate that there
          is enough space left

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4ghr-c62x-cqfh

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0696: installing runtime files fails when using SHADOWDIR v9.1.0696
James McCoy [Sun, 25 Aug 2024 18:22:11 +0000 (20:22 +0200)] 
patch 9.1.0696: installing runtime files fails when using SHADOWDIR

Problem:  installing runtime files fails when using SHADOWDIR
Solution: revert part of v9.1.0609, since runtime/doc/Makefile's default
          value for VIMPROG does not work if vim was built in a SHADOWDIR.
          (James McCoy)

closes: #15575

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(doc): fix typo
glepnir [Sun, 25 Aug 2024 13:49:54 +0000 (15:49 +0200)] 
runtime(doc): fix typo

closes: #15572

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0695: tests: test_crash leaves Untitled file around v9.1.0695
Christian Brabandt [Sat, 24 Aug 2024 15:34:19 +0000 (17:34 +0200)] 
patch 9.1.0695: tests: test_crash leaves Untitled file around

Problem:  tests: test_crash leaves Untitled file around
Solution: cleanup at the end of the test_crash.vim test file

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agotranslation(br): Update Brazilian translation
JNylson [Sat, 24 Aug 2024 14:42:21 +0000 (16:42 +0200)] 
translation(br): Update Brazilian translation

The previous patch 18de7adaf43 somehow wasn't correctly applied and
broke the check script

related: #15558

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
15 months agotranslation(pt): Update menu_pt_br
JNylson [Sat, 24 Aug 2024 14:35:33 +0000 (16:35 +0200)] 
translation(pt): Update menu_pt_br

closes: #15566

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0694: matchparen is slow on a long line v9.1.0694
zeertzjq [Sat, 24 Aug 2024 14:32:24 +0000 (16:32 +0200)] 
patch 9.1.0694: matchparen is slow on a long line

Problem:  The matchparen plugin is slow on a long line.
Solution: Don't use a regexp to get char at and before cursor.
          (zeertzjq)

Example:

```vim
  call setline(1, repeat(' foobar', 100000))
  runtime plugin/matchparen.vim
  normal! $hhhhhhhh
```

closes: #15568

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0693: Configure doesn't show result when not using python3 stable abi v9.1.0693
Ken Takata [Sat, 24 Aug 2024 14:27:50 +0000 (16:27 +0200)] 
patch 9.1.0693: Configure doesn't show result when not using python3 stable abi

Problem:  Configure doesn't show result when not using python3 stable
          abi (after v9.1.0691)
Solution: Add back AC_MSG_RESULT() (Ken Takata)

related: #15555

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0692: Wrong patlen value in ex_substitute() v9.1.0692
zeertzjq [Sat, 24 Aug 2024 09:33:39 +0000 (11:33 +0200)] 
patch 9.1.0692: Wrong patlen value in ex_substitute()

Problem:  Wrong patlen value in ex_substitute() (after 9.1.0426).
Solution: Compute patlen after finding end separator.
          (zeertzjq)

Add a more explicit test.  The test already passes as the only case
where a overlarge patlen value matters was fixed by patch 9.1.0689.

closes: #15565

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0691: python3: stable-abi may cause segfault on Python 3.11 v9.1.0691
Christian Brabandt [Fri, 23 Aug 2024 16:39:08 +0000 (18:39 +0200)] 
patch 9.1.0691: python3: stable-abi may cause segfault on Python 3.11

Problem:  python3: stable-abi may cause segfault on Python 3.11
          (Audrius Kažukauskas, after v9.1.0668)
Solution: do not enable the stable Python ABI by default, only when used
          with --with-python3-stable-abi argument is given

related: #15543

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(vim): Update base-syntax, match :loadkeymap after colon and bar
Doug Kearns [Fri, 23 Aug 2024 16:37:55 +0000 (18:37 +0200)] 
runtime(vim): Update base-syntax, match :loadkeymap after colon and bar

Match :loadkeymap after Ex colons and bars.

Don't generate :loadkeymap as it is matched with a custom syntax group.

closes: #15554

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(mane): Improve <Plug>ManBS mapping
John M Devin [Fri, 23 Aug 2024 16:34:41 +0000 (18:34 +0200)] 
runtime(mane): Improve <Plug>ManBS mapping

related: #15547 and #15538
closes: #15556

Signed-off-by: John M Devin <john.m.devin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0690: cannot set special highlight kind in popupmenu v9.1.0690
glepnir [Fri, 23 Aug 2024 16:31:06 +0000 (18:31 +0200)] 
patch 9.1.0690: cannot set special highlight kind in popupmenu

Problem:  cannot set special highlight kind in popupmenu
Solution: add kind_hlgroup item to complete function
          (glepnir)

closes: #15561

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agotranslation(pt): Revert and fix wrong Portuguese menu translation files
Yee Cheng Chin [Fri, 23 Aug 2024 16:12:05 +0000 (18:12 +0200)] 
translation(pt): Revert and fix wrong Portuguese menu translation files

In #14674, the Brazilian and Portuguese localization files were
erroneously combined, even though those are separate locales. This
reverts that change, but maintains some of the original typo fixes in
it.

closes: #15557
related: #14674

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agotranslation(pt): revert Portuguese menu translation
Yee Cheng Chin [Fri, 23 Aug 2024 16:09:47 +0000 (18:09 +0200)] 
translation(pt): revert Portuguese menu translation

This reverts commit d88a39e0d69ee0568475cea68121fcc68f8ba0ed.

related: #14674
related: #15557

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
15 months agotranslation(br): Update Brazilian translations
JNylson [Fri, 23 Aug 2024 16:06:34 +0000 (18:06 +0200)] 
translation(br): Update Brazilian translations

closes: #15558

Signed-off-by: JNylson <nylsinho_ba@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(vim): Update base-syntax, improve :let-heredoc highlighting
Doug Kearns [Fri, 23 Aug 2024 16:01:35 +0000 (18:01 +0200)] 
runtime(vim): Update base-syntax, improve :let-heredoc highlighting

The end marker is not required to match the indent of :let when "trim"
is specified, it may also appear without leading whitespace as normal.

closes: #15564

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agopatch 9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft' v9.1.0689
Christian Brabandt [Thu, 22 Aug 2024 19:40:14 +0000 (21:40 +0200)] 
patch 9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft'

Problem:  buffer-overflow in do_search() with 'rightleft'
          (SuyueGuo)
Solution: after reversing the text (which allocates a new buffer),
          re-calculate the text length

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-v2x2-cjcg-f9jm

Signed-off-by: Christian Brabandt <cb@256bit.org>
15 months agoruntime(vim): Improve heredoc handling for all embedded scripts
Ken Takata [Thu, 22 Aug 2024 19:29:39 +0000 (21:29 +0200)] 
runtime(vim): Improve heredoc handling for all embedded scripts

* Improve heredoc handling
  - Support "trim" for all the embedded scripts.
  - Check the indent of "trim" for "let" and all the embedded scripts.
* Update missing part of vim.vim.base in the commit
  d164f2a521f8e52e587727657fb1c19e9a25f32a.
* Update gen_syntax_vim.vim to catch up with 9.1.0685's source code.

closes: #15542

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>