]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
2 years agopatch 9.0.1789: too early declaration of variable in pum_set_selected() v9.0.1789
mathew [Sat, 26 Aug 2023 16:11:02 +0000 (18:11 +0200)] 
patch 9.0.1789: too early declaration of variable in pum_set_selected()

Problem:  too early declaration of variable in pum_set_selected()
Solution: Move declaration to where it is actually used

closes: #12915

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: mathew <glephunter@gmail.com>
2 years agopatch 9.0.1788: C4090 warnings in strings.c v9.0.1788
K.Takata [Sat, 26 Aug 2023 16:05:08 +0000 (18:05 +0200)] 
patch 9.0.1788: C4090 warnings in strings.c

Problem:  C4090 warnings in strings.c
Solution: Add type casts

closes: #12917

MSVC shows the following warnings:
```
strings.c(2436): warning C4090: 'function': different 'const' qualifiers
strings.c(2774): warning C4090: 'function': different 'const' qualifiers
strings.c(3865): warning C4090: 'function': different 'const' qualifiers
```

So add type casts to suppress them.

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken .Takata <kentkt@csc.jp>
2 years agoruntime(typescript): Fix highlighting symbols after number literal (#12911)
Herrington Darkholme [Sat, 26 Aug 2023 16:01:47 +0000 (09:01 -0700)] 
runtime(typescript): Fix highlighting symbols after number literal (#12911)

fixes #12831
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agotranslation(ua): Update Ukrainian translation (#12916)
Anatolii Sakhnik [Sat, 26 Aug 2023 16:00:54 +0000 (12:00 -0400)] 
translation(ua): Update Ukrainian translation (#12916)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agotranslation(ir): Updated irish translation (#12918)
Kevin Scannell [Sat, 26 Aug 2023 15:59:34 +0000 (10:59 -0500)] 
translation(ir): Updated irish translation (#12918)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(todo): Update todo.txt to remove recently addressed issues (#12910)
Yegappan Lakshmanan [Thu, 24 Aug 2023 14:07:05 +0000 (07:07 -0700)] 
runtime(todo): Update todo.txt to remove recently addressed issues (#12910)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1787: Cannot build with latest luajit v9.0.1787
Christian Brabandt [Thu, 24 Aug 2023 06:15:38 +0000 (08:15 +0200)] 
patch 9.0.1787: Cannot build with latest luajit

Problem:  Cannot build with latest luajit
Solution: adjust sed regexp and don't expect '-' in version output

closes: #12896

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime: configure keywordpg for some file types (#5566)
Enno [Wed, 23 Aug 2023 19:27:50 +0000 (21:27 +0200)] 
runtime: configure keywordpg for some file types (#5566)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime: Remove Brams name from a few more runtime files (#12780)
Christian Brabandt [Wed, 23 Aug 2023 19:23:07 +0000 (20:23 +0100)] 
runtime: Remove Brams name from a few more runtime files (#12780)

syntax/model.vim: minor wording improvement

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Adri Verhoef <a3@a3.xs4all.nl>
2 years agoruntime: Fix typos in various files
Viktor Szépe [Wed, 23 Aug 2023 19:20:00 +0000 (21:20 +0200)] 
runtime: Fix typos in various files

closes: #12836

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
2 years agopatch 9.0.1786: Vim9: need instanceof() function v9.0.1786
LemonBoy [Wed, 23 Aug 2023 19:08:11 +0000 (21:08 +0200)] 
patch 9.0.1786: Vim9: need instanceof() function

Problem:  Vim9: need instanceof() function
Solution: Implement instanceof() builtin

Implemented in the same form as Python's isinstance because it allows
for checking multiple class types at the same time.

closes: #12867

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2 years agopatch 9.0.1785: wrong cursor position with 'showbreak' and lcs-eol v9.0.1785
zeertzjq [Wed, 23 Aug 2023 18:58:01 +0000 (20:58 +0200)] 
patch 9.0.1785: wrong cursor position with 'showbreak' and lcs-eol

Problem:  wrong cursor position with 'showbreak' and lcs-eol
Solution: Add size of 'showbreak' before when 'listchars' "eol" is used.
          Also fix wrong cursor position with wrapping virtual text on
          empty line and 'showbreak'.

closes: #12891

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1784: redundant else in pum_set_selected() v9.0.1784
mathew [Wed, 23 Aug 2023 18:55:17 +0000 (20:55 +0200)] 
patch 9.0.1784: redundant else in pum_set_selected()

Problem:  redundant else in pum_set_selected()
Solution: Remove it

closes: #12893

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: mathew <glephunter@gmail.com>
2 years agoruntime(termdebug): more termdebug fixes and improvements (#12892)
Sean Dewar [Wed, 23 Aug 2023 16:14:49 +0000 (17:14 +0100)] 
runtime(termdebug): more termdebug fixes and improvements (#12892)

- Fix and attempt to simplify :Frame/:Up/:Down documentation.

- Accept a count instead for :Up/:Down/+/-.

- Update the "Last Change" dates.

- Fix a missing :let (caused an error if gdb fails to start).

- Wipe the prompt buffer when ending prompt mode (if it exists and wasn't wiped
  by the user first). Avoids issues with stale prompt buffers (such as E95 when
  starting a new prompt mode session).

- Kill the gdb job if the prompt buffer is unloaded (similar to what's done for
  a terminal buffer). Fixes not being able to start a new termdebug session if
  the buffer was wiped by the user, for example.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoTranslation(tr): Update Turkish translations (#12897)
Emir SARI [Wed, 23 Aug 2023 16:10:16 +0000 (19:10 +0300)] 
Translation(tr): Update Turkish translations (#12897)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(menu): define shortcut for File->Open Tab (#12895)
Christian Brabandt [Wed, 23 Aug 2023 16:07:55 +0000 (17:07 +0100)] 
runtime(menu): define shortcut for File->Open Tab (#12895)

Seems missing as noted by Antonio Giovanni Colombo. So add it and use
the 'T' as shortcut, which does not seem to be used in the File dialog.

Verified on Windows.

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Antonio Giovanni Colombo <azc100@gmail.com>
2 years agoCodeowners: add KBelabas for runtime/syntax/gp.vim (#12898)
Karim Belabas [Wed, 23 Aug 2023 16:07:23 +0000 (18:07 +0200)] 
Codeowners: add KBelabas for runtime/syntax/gp.vim (#12898)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(scala): Link Scala highlighting groups using 'hi def link' in syntax script...
Job Noorman [Tue, 22 Aug 2023 20:37:40 +0000 (20:37 +0000)] 
runtime(scala): Link Scala highlighting groups using 'hi def link' in syntax script (#9594)

They were linked using 'hi link' which made it impossible for color
schemes to override highlight groups.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(bindzone): updated syntax file
Oskar Stenman [Tue, 22 Aug 2023 20:34:08 +0000 (22:34 +0200)] 
runtime(bindzone): updated syntax file

- Add support for APL type in runtime/syntax/bindzone.vim
- all values between 0- 4294967295 are valid serials

closes: #9743
closes: #8382

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(cmake) Recognize add_compile_definitions in syntax script (#10416)
MichaWiedenmann [Tue, 22 Aug 2023 20:25:50 +0000 (22:25 +0200)] 
runtime(cmake) Recognize add_compile_definitions in syntax script (#10416)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(crontab): add support for BSD specifics in syntax script (#11196)
Moviuro [Tue, 22 Aug 2023 20:24:26 +0000 (22:24 +0200)] 
runtime(crontab): add support for BSD specifics in syntax script (#11196)

* OpenBSD supports the use of `~` as alias for "random valid value"
* FreeBSD supports `@every_{minute,second}`

See:

* https://man.openbsd.org/crontab.5
* https://www.freebsd.org/cgi/man.cgi?query=crontab&sektion=5

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(termdebug): add frame related commands (#12511)
Simon Sobisch [Tue, 22 Aug 2023 20:19:14 +0000 (22:19 +0200)] 
runtime(termdebug): add frame related commands (#12511)

implementing `:Frame`, `:Up` and `:Down'

partially fixing #10393

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoTranslations(it): Update po and menus for it
Antonio Giovanni Colombo [Tue, 22 Aug 2023 20:14:32 +0000 (22:14 +0200)] 
Translations(it): Update po and menus for it

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1783: Display issues with virt text smoothscroll and showbreak v9.0.1783
zeertzjq [Tue, 22 Aug 2023 20:07:34 +0000 (22:07 +0200)] 
patch 9.0.1783: Display issues with virt text smoothscroll and showbreak

Problem:  Wrong display with wrapping virtual text or unprintable chars,
          'showbreak' and 'smoothscroll'.
Solution: Don't skip cells taken by 'showbreak' in screen lines before
          "w_skipcol". Combined "n_skip" and "skip_cells".

closes: #12597

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1782: prop_list() does not return text_padding_left v9.0.1782
Yegappan Lakshmanan [Tue, 22 Aug 2023 19:48:50 +0000 (21:48 +0200)] 
patch 9.0.1782: prop_list() does not return text_padding_left

Problem:  prop_list() does not return text_padding_left
Solution: Store and return the text_padding_left value for text
          properties

closes: #12870

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2 years agopatch 9.0.1781: Problems when setting bin/paste option v9.0.1781
Christian Brabandt [Tue, 22 Aug 2023 19:44:10 +0000 (21:44 +0200)] 
patch 9.0.1781: Problems when setting bin/paste option

Problem:  Problems when setting bin/paste option
Solution: When setting binary/paste, remember that this also affects
          depending options, so that :verbose set returns the right
          location.

Mention if depending options for 'binary' or 'paste' have been reset
indirectly. Add a test to verify it works.

Also noticed as small bug, that the global option value for expandtab
was not reset when paste option is set, so fix that while at it.

closes: #12837
closes: #12879

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1780: Vim9 type not defined during object creation v9.0.1780
Yegappan Lakshmanan [Tue, 22 Aug 2023 19:29:28 +0000 (21:29 +0200)] 
patch 9.0.1780: Vim9 type not defined during object creation

Problem:  Vim9 type not defined during object creation
Solution: Define type during object creation and not during class
          definition, parse mulit-line member initializers, fix lock
          initialization

If type is not specified for a member, set it during object creation
instead of during class definition.  Add a runtime type check for the
object member initialization expression

Also, while at it, when copying an object or class, make sure the lock
is correctly initialized.

And finally, parse multi-line member initializers correctly.

closes: #11957
closes: #12868
closes: #12869
closes: #12881

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2 years agopatch 9.0.1779: Need more state() tests v9.0.1779
zeertzjq [Tue, 22 Aug 2023 19:22:24 +0000 (21:22 +0200)] 
patch 9.0.1779: Need more state() tests

Problem:  Need more state() tests
Solution: Add a few more tests for operater pending mode and register
          yank command

closes: #12883

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: author
2 years agoruntime(termdebug): Fix various Termdebug issues (#12875)
Sean Dewar [Tue, 22 Aug 2023 18:30:29 +0000 (19:30 +0100)] 
runtime(termdebug): Fix various Termdebug issues (#12875)

* Fix some Termdebug issues after #12403

Problem: Cleanup for :Var and :Asm buffers did not apply to prompt mode, and
E86 was possible if they were hidden.
Solution: Move cleanup to s:EndDebugCommon. Check that the buffers exist before
switching.

* Fix :Asm in Termdebug prompt mode

Problem: :Asm does not work in prompt mode.
Solution: Make it work by handling disassembly-related messages properly.

The previous implementation depended on the typed or sent (via s:SendCommand())
"disassemble ..." message being visible to s:CommOutput(), but this was only
true for the terminal-based job.

A more robust solution would be to use GDB MI's -data-disassemble command. I may
implement this in a future PR.

* Fix Termdebug s:DecodeMessage escaping logic

Problem: Termdebug does not escape gdb messages properly.
Solution: Improve the logic. Do not mangle messages if they have inner escaped
quotes. Use line continuation comments properly.

Interestingly, due to the missing line continuation comments (`"\`), most of
these substitutions were ignored.

Presumably, this logic still isn't exact. For example, if a message ends in
`\\"`, the quote may be preserved, even though it's the `\` being escaped
(similar issues may exist for the other escapes). This may not be a problem in
practice, though.

2 years agoruntime(go): Update Go syntax file with 1.21 builtins (#12876)
José-Paul D [Tue, 22 Aug 2023 18:29:19 +0000 (20:29 +0200)] 
runtime(go): Update Go syntax file with 1.21 builtins (#12876)

* Update Go syntax file with 1.21 builtins

2 years agoruntime(solidity): add new ftplugin (#12877)
dkearns [Tue, 22 Aug 2023 18:28:42 +0000 (04:28 +1000)] 
runtime(solidity): add new ftplugin (#12877)

Set undo_{ftplugin,indent}

closes #11240

Co-authored-by: cothi <jiungdev@gmail.com>
2 years agoruntime(gp): update gp.vim syntax file for the GP language (version 2.15) (#12884)
Karim Belabas [Tue, 22 Aug 2023 18:25:06 +0000 (20:25 +0200)] 
runtime(gp): update gp.vim syntax file for the GP language (version 2.15) (#12884)

- add missing defaults
- add missing control structures (incl. parallelism)
- add missing scope declarations
- whitespace edits (remove extra tabs)

2 years agoruntime(dosini): save and restore cpo value in syntax script
Christian Brabandt [Mon, 21 Aug 2023 04:49:38 +0000 (06:49 +0200)] 
runtime(dosini): save and restore cpo value in syntax script

Commit dd0ad2598898c2b4641c4acd5b70b6184fa698ed  introduced
line-continuation. However, to make sure this does not cause an error
when Vim is run in compatible mode, we need to set compatibility mode
temporarily and reset it back when finished reading the file.

This fixes: https://groups.google.com/g/vim_use/c/9zccgo_RIqM/m/xlUmhBktBgAJ

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1778: if_py_both: code-style issue v9.0.1778
Christian Brabandt [Sun, 20 Aug 2023 21:19:24 +0000 (23:19 +0200)] 
patch 9.0.1778: if_py_both: code-style issue

Problem:  if_py_both: code-style issue
Solution: add space

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1777: patch 9.0.1771 causes problems v9.0.1777
Christian Brabandt [Sun, 20 Aug 2023 20:26:15 +0000 (22:26 +0200)] 
patch 9.0.1777: patch 9.0.1771 causes problems

Problem:  patch 9.0.1771 causes problems
Solution: revert it

Revert "patch 9.0.1771: regex: combining chars in collections not handled"
This reverts commit ca22fc36a4e8a315f199893ee8ff6253573f5fbe.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(sdc): Add underscore to sdc flags in syntax file (#6201)
Jordi Altayó [Sun, 20 Aug 2023 19:45:13 +0000 (21:45 +0200)] 
runtime(sdc): Add underscore to sdc flags in syntax file (#6201)

2 years agoRuntime(javascript): add new document properties to completion file
Jay Sitter [Sun, 28 Jun 2020 15:42:35 +0000 (11:42 -0400)] 
Runtime(javascript): add new document properties to completion file

closes: #6536

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoruntime(haskell): Add single quote to `iskeyword` in ftplugin (#8191)
Enrico Maria De Angelis [Sun, 20 Aug 2023 19:29:09 +0000 (20:29 +0100)] 
runtime(haskell): Add single quote to `iskeyword` in ftplugin (#8191)

The single quote `'` is a valid character in variable names, so it should be included in `iskeyword`; this, for instance, makes the <kbd>*</kbd> command behave predictably

2 years agoruntime(spec): ftplugin: Revert change dropping <SID> from SpecChangelog (#9032)
Brian C. Lane [Sun, 20 Aug 2023 19:27:20 +0000 (12:27 -0700)] 
runtime(spec): ftplugin: Revert change dropping <SID> from SpecChangelog (#9032)

Without this it will return an error when creating a new changelog
entry:
"Unknown function: SpecChangelog"

2 years agoruntime(css): Update pseudo-classes in syntax script (#11595)
Adrian Heine né Lang [Sun, 20 Aug 2023 19:23:18 +0000 (21:23 +0200)] 
runtime(css): Update pseudo-classes in syntax script (#11595)

2 years agoruntime(lua): fix lua indentation of non-lowercase "keywords" (#11759)
beardedsakimonkey [Sun, 20 Aug 2023 19:21:51 +0000 (19:21 +0000)] 
runtime(lua): fix lua indentation of non-lowercase "keywords" (#11759)

2 years agoruntime(javascript): fix default link of javaScriptNumber in syntax file (#11788)
Meqa [Sun, 20 Aug 2023 19:20:59 +0000 (22:20 +0300)] 
runtime(javascript): fix default link of javaScriptNumber in syntax file (#11788)

cool unused matching

2 years agopatch 9.0.1776: No support for stable Python 3 ABI v9.0.1776
Yee Cheng Chin [Sun, 20 Aug 2023 19:18:38 +0000 (21:18 +0200)] 
patch 9.0.1776: No support for stable Python 3 ABI

Problem:  No support for stable Python 3 ABI
Solution: Support Python 3 stable ABI

Commits:
1) Support Python 3 stable ABI to allow mixed version interoperatbility

Vim currently supports embedding Python for use with plugins, and the
"dynamic" linking option allows the user to specify a locally installed
version of Python by setting `pythonthreedll`. However, one caveat is
that the Python 3 libs are not binary compatible across minor versions,
and mixing versions can potentially be dangerous (e.g. let's say Vim was
linked against the Python 3.10 SDK, but the user sets `pythonthreedll`
to a 3.11 lib). Usually, nothing bad happens, but in theory this could
lead to crashes, memory corruption, and other unpredictable behaviors.
It's also difficult for the user to tell something is wrong because Vim
has no way of reporting what Python 3 version Vim was linked with.

For Vim installed via a package manager, this usually isn't an issue
because all the dependencies would already be figured out. For prebuilt
Vim binaries like MacVim (my motivation for working on this), AppImage,
and Win32 installer this could potentially be an issue as usually a
single binary is distributed. This is more tricky when a new Python
version is released, as there's a chicken-and-egg issue with deciding
what Python version to build against and hard to keep in sync when a new
Python version just drops and we have a mix of users of different Python
versions, and a user just blindly upgrading to a new Python could lead to
bad interactions with Vim.

Python 3 does have a solution for this problem: stable ABI / limited API
(see https://docs.python.org/3/c-api/stable.html). The C SDK limits the
API to a set of functions that are promised to be stable across
versions. This pull request adds an ifdef config that allows us to turn
it on when building Vim. Vim binaries built with this option should be
safe to freely link with any Python 3 libraies without having the
constraint of having to use the same minor version.

Note: Python 2 has no such concept and this doesn't change how Python 2
integration works (not that there is going to be a new version of Python
2 that would cause compatibility issues in the future anyway).

---

Technical details:
======

The stable ABI can be accessed when we compile with the Python 3 limited
API (by defining `Py_LIMITED_API`). The Python 3 code (in `if_python3.c`
and `if_py_both.h`) would now handle this and switch to limited API
mode. Without it set, Vim will still use the full API as before so this
is an opt-in change.

The main difference is that `PyType_Object` is now an opaque struct that
we can't directly create "static types" out of, and we have to create
type objects as "heap types" instead. This is because the struct is not
stable and changes from version to version (e.g. 3.8 added a
`tp_vectorcall` field to it). I had to change all the types to be
allocated on the heap instead with just a pointer to them.

Other functions are also simply missing in limited API, or they are
introduced too late (e.g. `PyUnicode_AsUTF8AndSize` in 3.10) to it that
we need some other ways to do the same thing, so I had to abstract a few
things into macros, and sometimes re-implement functions like
`PyObject_NEW`.

One caveat is that in limited API, `OutputType` (used for replacing
`sys.stdout`) no longer inherits from `PyStdPrinter_Type` which I don't
think has any real issue other than minor differences in how they
convert to a string and missing a couple functions like `mode()` and
`fileno()`.

Also fixed an existing bug where `tp_basicsize` was set incorrectly for
`BufferObject`, `TabListObject, `WinListObject`.

Technically, there could be a small performance drop, there is a little
more indirection with accessing type objects, and some APIs like
`PyUnicode_AsUTF8AndSize` are missing, but in practice I didn't see any
difference, and any well-written Python plugin should try to avoid
excessing callbacks to the `vim` module in Python anyway.

I only tested limited API mode down to Python 3.7, which seemes to
compile and work fine. I haven't tried earlier Python versions.

2) Fix PyIter_Check on older Python vers / type##Ptr unused warning

For PyIter_Check, older versions exposed them as either macros (used in
full API), or a function (for use in limited API). A previous change
exposed PyIter_Check to the dynamic build because Python just moved it
to function-only in 3.10 anyway. Because of that, just make sure we
always grab the function in dynamic builds in earlier versions since
that's what Python eventually did anyway.

3) Move Py_LIMITED_API define to configure script

Can now use --with-python-stable-abi flag to customize what stable ABI
version to target. Can also use an env var to do so as well.

4) Show +python/dyn-stable in :version, and allow has() feature query

Not sure if the "/dyn-stable" suffix would break things, or whether we
should do it another way. Or just don't show it in version and rely on
has() feature checking.

5) Documentation first draft. Still need to implement v:python3_version

6) Fix PyIter_Check build breaks when compiling against Python 3.8

7) Add CI coverage stable ABI on Linux/Windows / make configurable on Windows

This adds configurable options for Windows make files (both MinGW and
MSVC). CI will also now exercise both traditional full API and stable
ABI for Linux and Windows in the matrix for coverage.

Also added a "dynamic" option to Linux matrix as a drive-by change to
make other scripting languages like Ruby / Perl testable under both
static and dynamic builds.

8) Fix inaccuracy in Windows docs

Python's own docs are confusing but you don't actually want to use
`python3.dll` for the dynamic linkage.

9) Add generated autoconf file

10) Add v:python3_version support

This variable indicates the version of Python3 that Vim was built
against (PY_VERSION_HEX), and will be useful to check whether the Python
library you are loading in dynamically actually fits it. When built with
stable ABI, it will be the limited ABI version instead
(`Py_LIMITED_API`), which indicates the minimum version of Python 3 the
user should have, rather than the exact match. When stable ABI is used,
we won't be exposing PY_VERSION_HEX in this var because it just doesn't
seem necessary to do so (the whole point of stable ABI is the promise
that it will work across versions), and I don't want to confuse the user
with too many variables.

Also, cleaned up some documentation, and added help tags.

11) Fix Python 3.7 compat issues

Fix a couple issues when using limited API < 3.8

- Crash on exit: In Python 3.7, if a heap-allocated type is destroyed
  before all instances are, it would cause a crash later. This happens
  when we destroyed `OptionsType` before calling `Py_Finalize` when
  using the limited API. To make it worse, later versions changed the
  semantics and now each instance has a strong reference to its own type
  and the recommendation has changed to have each instance de-ref its
  own type and have its type in GC traversal. To avoid dealing with
  these cross-version variations, we just don't free the heap type. They
  are static types in non-limited-API anyway and are designed to last
  through the entirety of the app, and we also don't restart the Python
  runtime and therefore do not need it to have absolutely 0 leaks.

  See:
  - https://docs.python.org/3/whatsnew/3.8.html#changes-in-the-c-api
  - https://docs.python.org/3/whatsnew/3.9.html#changes-in-the-c-api

- PyIter_Check: This function is not provided in limited APIs older than
  3.8. Previously I was trying to mock it out using manual
  PyType_GetSlot() but it was brittle and also does not actually work
  properly for static types (it will generate a Python error). Just
  return false. It does mean using limited API < 3.8 is not recommended
  as you lose the functionality to handle iterators, but from playing
  with plugins I couldn't find it to be an issue.

- Fix loading of PyIter_Check so it will be done when limited API < 3.8.
  Otherwise loading a 3.7 Python lib will fail even if limited API was
  specified to use it.

12) Make sure to only load `PyUnicode_AsUTF8AndSize` in needed in limited API

We don't use this function unless limited API >= 3.10, but we were
loading it regardless. Usually it's ok in Unix-like systems where Python
just has a single lib that we load from, but in Windows where there is a
separate python3.dll this would not work as the symbol would not have
been exposed in this more limited DLL file. This makes it much clearer
under what condition is this function needed.

closes: #12032

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2 years agopatch 9.0.1775: Wrong comparison in vim9type.c v9.0.1775
Johan Mattsson [Sun, 20 Aug 2023 19:07:29 +0000 (21:07 +0200)] 
patch 9.0.1775: Wrong comparison in vim9type.c

Problem:  Wrong comparison in vim9type.c
Solution: Change condition to false

closes: #12047

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Johan Mattsson <39247600+mjunix@users.noreply.github.com>
2 years agopatch 9.0.1774: no support for custom cmdline completion v9.0.1774
Shougo Matsushita [Sun, 20 Aug 2023 18:55:55 +0000 (20:55 +0200)] 
patch 9.0.1774: no support for custom cmdline completion

Problem:  no support for custom cmdline completion
Solution: Add new vimscript functions

Add the following two functions:
- getcmdcompltype() returns custom and customlist functions

- getcompletion() supports both custom and customlist

closes: #12228

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
2 years agopatch 9.0.1773: cannot distinguish Forth and Fortran *.f files v9.0.1773
Doug Kearns [Sun, 20 Aug 2023 18:51:12 +0000 (20:51 +0200)] 
patch 9.0.1773: cannot distinguish Forth and Fortran *.f files

Problem:  cannot distinguish Forth and Fortran *.f files
Solution: Add Filetype detection Code

Also add *.4th as a Forth filetype

closes: #12251

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2 years agoruntime(lua): indent curly bracket followed by line comment (#12306)
champignoom [Sun, 20 Aug 2023 18:49:16 +0000 (02:49 +0800)] 
runtime(lua): indent curly bracket followed by line comment (#12306)

fixes #12305

2 years agopatch 9.0.1772: Cursor may be adjusted in 'splitkeep'ed windows v9.0.1772
Luuk van Baal [Sun, 20 Aug 2023 18:44:59 +0000 (20:44 +0200)] 
patch 9.0.1772: Cursor may be adjusted in 'splitkeep'ed windows

Problem:    Cursor is adjusted in window that did not change in size by
            'splitkeep'.
Solution:   Only check that cursor position is valid in a window that
            has changed in size.

closes: #12509

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
2 years agoruntime(rust): fix rust indent (#12542)
Raphael [Sun, 20 Aug 2023 18:42:39 +0000 (02:42 +0800)] 
runtime(rust): fix rust indent (#12542)

2 years agoruntime(man): remove backslashes in man pages using Vim script (#12557)
lifecrisis [Sun, 20 Aug 2023 18:41:25 +0000 (18:41 +0000)] 
runtime(man): remove backslashes in man pages using Vim script (#12557)

Closes: vim/vim#12301
Co-authored-by: Jason Franklin <jason@oneway.dev>
2 years agopatch 9.0.1771: regex: combining chars in collections not handled v9.0.1771
Christian Brabandt [Sun, 20 Aug 2023 18:34:22 +0000 (20:34 +0200)] 
patch 9.0.1771: regex: combining chars in collections not handled

Problem:  regex: combining chars in collections not handled
Solution: Check for following combining characters for NFA and BT engine

closes: #10459
closes: #10286

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1770: lines disappear when modifying chars before virt text v9.0.1770
Ibby [Sun, 20 Aug 2023 18:24:18 +0000 (20:24 +0200)] 
patch 9.0.1770: lines disappear when modifying chars before virt text

Problem:  lines disappear when modifying chars before virt text
Solution: take virtual text property length into account

closes: #12558
closes: #12244

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ibby <33922797+SleepySwords@users.noreply.github.com>
2 years agoruntime(termdebug): refactor error printing (#12856)
Shane-XB-Qian [Sun, 20 Aug 2023 18:07:49 +0000 (02:07 +0800)] 
runtime(termdebug): refactor error printing (#12856)

// vs not act like exception from vim or termdebug

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
2 years agoruntime(termdebug): re-indent lines (#12857)
Shane-XB-Qian [Sun, 20 Aug 2023 18:06:49 +0000 (02:06 +0800)] 
runtime(termdebug): re-indent lines (#12857)

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
2 years agopatch 9.0.1769: executable() ignoring symlinks on Windows v9.0.1769
AmberArr [Sun, 20 Aug 2023 18:03:45 +0000 (20:03 +0200)] 
patch 9.0.1769: executable() ignoring symlinks on Windows

Problem:  executable() ignoring symlinks on Windows
Solution: resolve reparse points

closes: #12562

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: AmberArr <me@frost.moe>
2 years agoRuntime(termdebug): Add support to view local and argument variables
laburnumT [Sat, 13 May 2023 14:29:15 +0000 (16:29 +0200)] 
Runtime(termdebug): Add support to view local and argument variables

closes: 12403

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoRuntime: Add nixInherit matcher in nix.vim syntax
James Fleming [Sat, 29 Jul 2023 10:01:18 +0000 (12:01 +0200)] 
Runtime: Add nixInherit matcher in nix.vim syntax

Perform the lookahead in `nixInheritAttributeScope`, then hand over to a
new region called `nixInheritAttributeSubExpr`, which sets the match
start to one char after the opening bracket to avoid a double-match.

Finally, only do a lookahead to `)` in `nixInheritAttributeSubExpr` (and
thus make sure the region is closed to not get a match of `nixParen`
here) and let `nixInheritAttributeScope` close the bracket.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1768: Runtime: no support for bicep files v9.0.1768
Scott McKendry [Sun, 20 Aug 2023 17:17:42 +0000 (19:17 +0200)] 
patch 9.0.1768: Runtime: no support for bicep files

Problem:  Runtime: no support for bicep files
Solution: Add filetype support for bicepparam

closes: #12784

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Scott McKendry <scott.c.mckendry@gmail.com>
2 years agopatch 9.0.1767: '.-' no allowed in highlight group names v9.0.1767
Gregory Anders [Sun, 20 Aug 2023 17:14:03 +0000 (19:14 +0200)] 
patch 9.0.1767: '.-' no allowed in highlight group names

Problem:  '.-' no allowed in highlight group names
Solution: Allow dot and hyphen characters in highlight group names

Allow dots and hyphens in group names. There does not seem
to be any reason for these to be disallowed.

closes: #12807

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
2 years agopatch 9.0.1766: Runtime: Missing QML support v9.0.1766
ChaseKnowlden [Sun, 20 Aug 2023 17:08:28 +0000 (19:08 +0200)] 
patch 9.0.1766: Runtime: Missing QML support

Problem:  Runtime: Missing QML support
Solution: Add QML support to Vim

closes: #12810

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: ChaseKnowlden <haroldknowlden@gmail.com>
2 years agopatch 9.0.1765: Error when cross-compiling Vim v9.0.1765
Mike Gilbert [Sun, 20 Aug 2023 17:01:41 +0000 (19:01 +0200)] 
patch 9.0.1765: Error when cross-compiling Vim

Problem:  Error when cross-compiling Vim
Solution: use AC_CHECK_SIZEOF to find sizeof(wchar_t)

This fixes an error when cross compiling.

closes: #12828

Bug: https://bugs.gentoo.org/889430
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1764: CI: label should not be set on all yml files v9.0.1764
Philip H [Sun, 20 Aug 2023 16:58:46 +0000 (18:58 +0200)] 
patch 9.0.1764: CI: label should not be set on all yml files

Problem:  CI: label should not be set on all yml files
Solution: only set it for specific yml files in .github

closes: #12855

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
2 years agoTranslation: also update ru.cp1251.po file after 6cc8bc836616e9b0
Christian Brabandt [Sun, 20 Aug 2023 16:46:41 +0000 (18:46 +0200)] 
Translation: also update ru.cp1251.po file after 6cc8bc836616e9b0

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1763: crash when passing invalid buffer to undotree() v9.0.1763
zeertzjq [Sun, 20 Aug 2023 16:35:10 +0000 (18:35 +0200)] 
patch 9.0.1763: crash when passing invalid buffer to undotree()

Problem:  crash when passing invalid buffer to undotree()
Solution: Use get_buf_arg() instead of tv_get_buf_from_arg().

closes: #12862
closes: #12830

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1762: Not able to get the virtual text property v9.0.1762
Yegappan Lakshmanan [Sun, 20 Aug 2023 16:27:45 +0000 (18:27 +0200)] 
patch 9.0.1762: Not able to get the virtual text property

Problem:  Not able to get the virtual text property
Solution: Make prop_list() return virtual text and alignment

closes: #12860

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2 years agopatch 9.0.1761: g<kEnd> behaves different from g<end> v9.0.1761
zeertzjq [Sun, 20 Aug 2023 16:24:20 +0000 (18:24 +0200)] 
patch 9.0.1761: g<kEnd> behaves different from g<end>

Problem:  g<kEnd> behaves different from g<end>
Solution: Make g<kEnd> behave like g<End>

closes: #12861

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1760: vim9 class problem with new() constructor v9.0.1760
Yegappan Lakshmanan [Sun, 20 Aug 2023 16:20:17 +0000 (18:20 +0200)] 
patch 9.0.1760: vim9 class problem with new() constructor

Problem:  vim9 class problem with new() constructor
Solution: Don't allow a return type for the new() class constructor.

closes: #12863
closes: #12040

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2 years agoTranslation: Russian PO file updated to Vim version 9.0.1757 (#12864)
Restorer [Sun, 20 Aug 2023 16:15:48 +0000 (16:15 +0000)] 
Translation: Russian PO file updated to Vim version 9.0.1757 (#12864)

Co-authored-by: RestorerZ <restorer@mail2k.ru>
2 years agopatch 9.0.1759: Visual highlight not working with cursor at end of screen line v9.0.1759
zeertzjq [Sun, 20 Aug 2023 16:12:54 +0000 (18:12 +0200)] 
patch 9.0.1759: Visual highlight not working with cursor at end of screen line

Problem:  Visual highlight not working with cursor at end of screen line
          and 'showbreak'.
Solution: Only update "vcol_prev" when drawing buffer text.

closes: #12865

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1758: vim9 no class identifiers in stack dumps v9.0.1758
LemonBoy [Sun, 20 Aug 2023 16:09:11 +0000 (18:09 +0200)] 
patch 9.0.1758: vim9 no class identifiers in stack dumps

Problem:  vim9 no class identifiers in stack dumps
Solution: Prefix class members in stack traces with the class name
          followed by a dot.

closes: #12866
closes: #12078

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2 years agopatch 9.0.1757: ex_class() function is too long v9.0.1757
Yegappan Lakshmanan [Sat, 19 Aug 2023 20:39:33 +0000 (22:39 +0200)] 
patch 9.0.1757: ex_class() function is too long

Problem:  ex_class() function is too long
Solution: refactor it

closes: #12858

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2 years agopatch 9.0.1756: failing cursorline sign test v9.0.1756
Christian Brabandt [Sat, 19 Aug 2023 20:36:12 +0000 (22:36 +0200)] 
patch 9.0.1756: failing cursorline sign test

Problem:  failing cursorline sign test
Solution: only reset char attr, if cursorline
          option is not set

Unfortunately, commit dbeadf05b6a152e7d9c5cc23d9202057f8e99884 causes a
failure with the sign test Test_sign_cursor_position()

The root cause is, that resetting the character attribute will also
reset the existing cursor line highlighting and this breaks the test,
that expects the cursor line highlighting to overrule the sign line
highlighting.

So change the condition to reset the character attribute by making sure
that this only happens, if the 'cursorline' option is not active and the
cursor is not at the same line as the line to be drawn

closes: #12854
closes: #12859

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1755: CI still fails with sodium mlock error v9.0.1755
Christian Brabandt [Sat, 19 Aug 2023 20:15:44 +0000 (22:15 +0200)] 
patch 9.0.1755: CI still fails with sodium mlock error

Problem: CI still fails with sodium mlock error
Solution: catch mlock failure

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1754: still Ci breakage (after 9.0.1741) v9.0.1754
LemonBoy [Sat, 19 Aug 2023 14:02:04 +0000 (16:02 +0200)] 
patch 9.0.1754: still Ci breakage (after 9.0.1741)

Problem: still ci breakage (after 9.0.1741)
Solution: fix remaining issue

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2 years agopatch 9.0.1753: can't move to last non-blank char v9.0.1753
Christian Brabandt [Sat, 19 Aug 2023 13:53:16 +0000 (15:53 +0200)] 
patch 9.0.1753: can't move to last non-blank char

Problem: can't move to last non-blank char
Solution: Make g<end> behave like that

Make it possible to move to last non-blank char on a line

We can distinguish between g0 and g^ to move to the very first character
and the first non-blank char.

And while we can move to the last screen char, we cannot go to the last
non-blank screen char.

Since I think g$ is the more widely used and known movement command (and
g<end> is synonymous to it) change the behaviour of g<end> to move to
last non-screen char instead and don't have this be the same command as
the g$ command anymore.

If you want to keep the old behaviour, you can use:

```
nnoremap g<end> g$
```

Add a test to verify the behaviour.

closes: #12593

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1752: CI: Coveralls is no longer used v9.0.1752
Christian Brabandt [Sat, 19 Aug 2023 13:49:38 +0000 (15:49 +0200)] 
patch 9.0.1752: CI: Coveralls is no longer used

Problem: CI: Coveralls is no longer used
Solution: Remove .coveralls.yml

Coveralls is no longer used, we ditched using it in patch v9.0.1547,
commit 12eb0f4ec5a9d9899d09691f944e4fbfdf4318fd issue #12389

So let's remove the .coveralls.yml file, it does not seem useful
anymore.

closes: #12851

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1751: CI: labeler configuration not found v9.0.1751
Philip H [Sat, 19 Aug 2023 13:46:11 +0000 (15:46 +0200)] 
patch 9.0.1751: CI: labeler configuration not found

Problem: CI: labeler configuration not found
         (after 9.0.1748)
Solution: set configuration path

closes: #12852

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
2 years agopatch 9.0.1750: CI: fails because of changed error messages v9.0.1750
rhysd [Sat, 19 Aug 2023 13:42:54 +0000 (15:42 +0200)] 
patch 9.0.1750: CI: fails because of changed error messages

Problem: CI: fails because of changed error messages
         (after: 9.0.1741)
Solution: Adjust expected error messages

closes: #12853

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: rhysd <lin90162@yahoo.co.jp>
2 years agopatch 9.0.1749: Text property highlight doesn't override a sign highlight on TAB v9.0.1749
Christian Brabandt [Sat, 19 Aug 2023 13:35:04 +0000 (15:35 +0200)] 
patch 9.0.1749: Text property highlight doesn't override a sign highlight on TAB

Problem: Text property highlight doesn't override a sign highlight over
         a tab character
Solution: Let text_property override tab highlighting

This fixes a few problems of text properties:

-  text property highlighting when override=true does not overwrite TAB
   highlighting
-  text property highlighting when override=true does not overwrite TAB
   highlighting with :set list
-  text property highlighting is used instead of sign highlight after
   the actual text ends when signs are present with linehl is set

closes: #21584
closes: #21592

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1748: CI: cannot label issues automatically v9.0.1748
Philip H [Sat, 19 Aug 2023 12:30:47 +0000 (14:30 +0200)] 
patch 9.0.1748: CI: cannot label issues automatically

Problem:  CI: cannot label issues automatically
Solution: Create CI labeler

closes: #12788

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
2 years agodocs: Improve Markdown in README (#12829)
Viktor Szépe [Sat, 19 Aug 2023 12:16:10 +0000 (14:16 +0200)] 
docs: Improve Markdown in README (#12829)

2 years agopatch 9.0.1747: screenpos() may cause unnecessary redraw v9.0.1747
zeertzjq [Sat, 19 Aug 2023 12:12:42 +0000 (14:12 +0200)] 
patch 9.0.1747: screenpos() may cause unnecessary redraw

Problem:  screenpos() may cause unnecessary redraw.
Solution: Don't unnecessarily reset VALID_WROW flag.

VALID_WROW flag is only used by two functions: validate_cursor() and
cursor_valid(), and cursor_valid() is only used once in ex_sleep().
When adjust_plines_for_skipcol() was first added in patch 9.0.0640, it
was called in two functions: comp_botline() and curs_rows().
- comp_botline() is called in two places:
  - onepage(), which resets VALID_WROW flag immediately afterwards.
  - validate_botline_win(), where resetting a VALID_ flag is strange.
- curs_rows() is called in two places:
  - curs_columns(), which sets VALID_WROW flag afterwards.
  - validate_cline_row(), which is only used by GUI mouse focus.

Therefore resetting VALID_WROW there doesn't seem to do anything useful.
Also, a w_skipcol check (which resets VALID_WROW flag) was added to
check_cursor_moved() in patch 9.0.0734, which seems to make more sense
than resetting that flag in the middle of a computation.

While at it make adjust_plines_for_skipcol() and textpos2screenpos() a
bit less confusing:
- Make adjust_plines_for_skipcol() return "off" instead of "n - off".
- Use 0-based "row" in textpos2screenpos() until W_WINROW is added.

closes: #12832

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1746: vim9class compile error for char/char_u conversion v9.0.1746
Christian Brabandt [Sat, 19 Aug 2023 12:09:16 +0000 (14:09 +0200)] 
patch 9.0.1746: vim9class compile error for char/char_u conversion

Problem: vim9class compile error for char/char_u conversion
Solution: Correctly cast to (char *)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1745: Missing test coverage for blockwise Visual highlight v9.0.1745
zeertzjq [Sat, 19 Aug 2023 11:27:03 +0000 (13:27 +0200)] 
patch 9.0.1745: Missing test coverage for blockwise Visual highlight

Problem:  Missing test coverage for blockwise Visual highlight with
          virtual that starts with a double-width char.
Solution: Add a new virtual text to the test. Some other small fixes.

closes: #12835

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1744: Dead code in open_cmdwin() v9.0.1744
Sean Dewar [Sat, 19 Aug 2023 11:23:50 +0000 (13:23 +0200)] 
patch 9.0.1744: Dead code in open_cmdwin()

Problem: Dead code in open_cmdwin()
Solution: Remove it

closes: #12839

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
2 years agoTranslations: Update po files for zh and ja
K.Takata [Sat, 19 Aug 2023 11:17:43 +0000 (13:17 +0200)] 
Translations: Update po files for zh and ja

Update po files by running `make` in `src/po/`.
Some po files were out of sync with the files in other encodings.

Related: #12749, #12787
closes: #12826
closes: #12840

2 years agopatch 9.0.1743: Parameter of gui_gtk:gui_mch_browse incorrectly marked as UNUSED v9.0.1743
Doug Kearns [Sat, 19 Aug 2023 11:13:11 +0000 (13:13 +0200)] 
patch 9.0.1743: Parameter of gui_gtk:gui_mch_browse incorrectly marked as UNUSED

Problem:    Parameter of gui_gtk:gui_mch_browse incorrectly marked as
            UNUSED.
Solution:   Remove UNUSED flag.

closes: #12841

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2 years agopatch 9.0.1742: wrong curswant when clicking on second cell of double-width char v9.0.1742
zeertzjq [Sat, 19 Aug 2023 11:08:50 +0000 (13:08 +0200)] 
patch 9.0.1742: wrong curswant when clicking on second cell of double-width char

Problem:  Wrong curswant when clicking and the second cell of a
          double-width char.
Solution: Don't copy virtcol of the first char to the second one.

closes: #12842

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1741: No type checking in interfaces v9.0.1741
LemonBoy [Sat, 19 Aug 2023 11:02:35 +0000 (13:02 +0200)] 
patch 9.0.1741: No type checking in interfaces

Problem: No type checking in interfaces
Solution: Implement member type check in vim9 interfaces

Most of the code is a small refactoring to allow the use of a where_T
for signaling the type mismatch, the type checking itself is pretty
simple.

Improve where_T error reports

Let the caller explicitly define the kind of location it's referring to
and free the WT_ARGUMENT enum from its catch-all role.

Implement type checking for interface methods

Follows closely the logic used for type-checking the members.

closes: #12844

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2 years agoRuntime: add new sed ftplugin (#12843)
dkearns [Sat, 19 Aug 2023 10:13:31 +0000 (20:13 +1000)] 
Runtime: add new sed ftplugin (#12843)

2 years agopatch 9.0.1740: segfault when reading invalid viminfo file v9.0.1740
Pierre Colin [Sat, 19 Aug 2023 09:56:57 +0000 (11:56 +0200)] 
patch 9.0.1740: segfault when reading invalid viminfo file

Problem: segfault when reading invalid viminfo file
Solution: Check the expected type in the viminfo file

Thanks to @yegappan for the included test.

closes: #12652
closes: #12845

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Pierre Colin <48397990+Pierre-Colin@users.noreply.github.com>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1739: Leftover files in libvterm v9.0.1739
James McCoy [Sat, 19 Aug 2023 09:38:49 +0000 (11:38 +0200)] 
patch 9.0.1739: Leftover files in libvterm

Problem: leftover files in libvterm
Solution: Fix cleaning of libvterm directory

Delete the libvterm/src/.libs directory and fix typo in libvterm/t/.libs
directory name.

closes: #12846

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: James McCoy <jamessan@jamessan.com>
2 years agopatch 9.0.1738: Duplicate code to reverse a string v9.0.1738
zeertzjq [Sat, 19 Aug 2023 09:35:03 +0000 (11:35 +0200)] 
patch 9.0.1738: Duplicate code to reverse a string

Problem:  Duplicate code to reverse a string
Solution: Move reverse_text() to strings.c and remove string_reverse().

closes: #12847

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1737: Calling a base class method through an extended class fails v9.0.1737
Yegappan Lakshmanan [Sat, 19 Aug 2023 09:26:42 +0000 (11:26 +0200)] 
patch 9.0.1737: Calling a base class method through an extended class fails

Problem: Calling a base class method through an extended class fails
Solution: Create lookup table for member index in the interface to
          to the member class implementing the interface

Create additional tests for Vim9 classes.  Fix unconvered memory leaks
and crashes found by the new tests.

closes: #12848
closes: #12089

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>author
2 years agoRuntime: Update Italian Translation
Antonio Giovanni Colombo [Sat, 19 Aug 2023 09:14:23 +0000 (11:14 +0200)] 
Runtime: Update Italian Translation

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Antonio Giovanni Colombo <azc100@gmail.com>
2 years agopatch 9.0.1736: Github Actions times out after 20 minutes v9.0.1736
Christian Brabandt [Thu, 17 Aug 2023 23:18:22 +0000 (01:18 +0200)] 
patch 9.0.1736: Github Actions times out after 20 minutes

Problem: Github Actions times out after 20 minutes
Solution: Increase the timeout to 25 minutes

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agoAdd TODO, FIXME to Haskell syntax file (#8055)
Bruno-366 [Thu, 17 Aug 2023 22:04:54 +0000 (00:04 +0200)] 
Add TODO, FIXME to Haskell syntax file (#8055)

Adding TODO, XXX, FIXME to Haskell syntax file #8054

2 years agobindzone runtime: add new DNS record types (#7351)
Stuart Henderson [Thu, 17 Aug 2023 22:04:24 +0000 (23:04 +0100)] 
bindzone runtime: add new DNS record types (#7351)

Recognize some newer DNS record types - CAA (RFC8659, certificate authority authorization), OPENPGPKEY (RFC7929), SMIMEA (RFC8162). Sort SSHFP alphabetically while there.

2 years agoKeywords 'of' and 'yield' for Javascript. (#7873)
Yuri Klimov [Thu, 17 Aug 2023 22:03:23 +0000 (01:03 +0300)] 
Keywords 'of' and 'yield' for Javascript. (#7873)

* Keyword 'of' in for...of statement.

* Keyword 'yield' for generator function.

2 years agopatch 9.0.1735: Rename completion specific findex var v9.0.1735
zeertzjq [Thu, 17 Aug 2023 21:57:05 +0000 (23:57 +0200)] 
patch 9.0.1735: Rename completion specific findex var

Problem: Rename completion specific findex var
Solution: Move "findex" static variable to xp_selected in expand_T

closes: #12548

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>