]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
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>
2 years agopatch 9.0.1734: :runtime completion fails for multiple args v9.0.1734
zeertzjq [Thu, 17 Aug 2023 21:48:58 +0000 (23:48 +0200)] 
patch 9.0.1734: :runtime completion fails for multiple args

Problem: :runtime completion fails for multiple args
Solution: Make it work

closes: #12616

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1733: CI: cannot cache linux-modules-extra v9.0.1733
Philip H [Thu, 17 Aug 2023 21:45:08 +0000 (23:45 +0200)] 
patch 9.0.1733: CI: cannot cache linux-modules-extra

Problem: CI: cannot cache linux-modules-extra
Solution: Enable caching and reduce failed downloads

closes: #12779

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
2 years agopatch 9.0.1732: vimexpr: shadowing variable v9.0.1732
Christian Brabandt [Thu, 17 Aug 2023 21:34:09 +0000 (23:34 +0200)] 
patch 9.0.1732: vimexpr: shadowing variable

Problem: vimexpr: shadowing variable
Solution: Rename local variable

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 years agopatch 9.0.1731: blockwise Visual highlight not working with virtual text v9.0.1731
zeertzjq [Thu, 17 Aug 2023 21:21:40 +0000 (23:21 +0200)] 
patch 9.0.1731: blockwise Visual highlight not working with virtual text

Problem: blockwise Visual highlight not working with virtual text
Solution: Reset the correct variable at the end of virtual selection and
          Check for double-width char inside virtual text.

closes: #12606

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agoman.vim: Recognise hyphenated-at-eol cross-references (#12609)
goweol [Thu, 17 Aug 2023 21:13:29 +0000 (06:13 +0900)] 
man.vim: Recognise hyphenated-at-eol cross-references (#12609)

Manual pages requested for output may undergo formatting
arranged by some roff-descendant program. Lines longer
than MANWIDTH or COLUMNS or real-estate width of a device
(with support for horizontal scrolling considered) can be
divided at either blank characters and/or at groups of word
characters (syllables) according to supported hyphenation
rules (although page authors are free to disable hyphenation
or prevent particular words from being hyphenated).

Groff‘s manual describes it as follows:

    5.1.2 Hyphenation

    Since the odds are not great for finding a set of words, for
    every output line, which fit nicely on a line without
    inserting excessive amounts of space between words, gtroff
    hyphenates words so that it can justify lines without
    inserting too much space between words. It uses an internal
    hyphenation algorithm (a simplified version of the algorithm
    used within TeX) to indicate which words can be hyphenated
    and how to do so. When a word is hyphenated, the first part
    of the word is added to the current filled line being output
    (with an attached hyphen), and the other portion is added to
    the next line to be filled.

It would be expedient for autoload/dist/man.vim (along with
syntax/man.vim‘s highlighting and ftplugin/man.vim‘s Ctrl-],
\K mappings) to allow for hyphenation of cross-references
to manual pages.

For example,

  # Launch Vim [v9.0; patched: 1-1378, 1499] as follows:
  MANWIDTH=80 vim --not-a-term +MANPAGER '+Man man' '+/conv(1)' '+norm B'

  # Press Ctrl-] with cursor on _m_: "... use man‐
  # conv(1) directly."_______________________[^]
  #
  # (Man v2.11.2)

  # Launch Vim as follows:
  MANWIDTH=80 vim --not-a-term +MANPAGER '+Man git' '+/config(1)' '+norm B'

  # Press Ctrl-] with cursor on _g_: "... in git-
  # config(1) for a more ..."_______________[^]
  #
  # (Git v2.39.2)

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
2 years agoman.vim: Uniformly place cursor at the same column with `Ctrl-t` (#12608)
goweol [Thu, 17 Aug 2023 21:12:42 +0000 (06:12 +0900)] 
man.vim: Uniformly place cursor at the same column with `Ctrl-t` (#12608)

Functions col and cursor count each tab (0x9) as a byte, and
are complementary. On the other hand, the | command motion
takes into consideration how many screen columns a tab does
occupy and may move cursor to a column closer to the start
of line than col would report at that position.

The provided changes prefer the cursor function to the | command.

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
2 years agopatch 9.0.1730: passing multiple patterns to runtime not working v9.0.1730
zeertzjq [Thu, 17 Aug 2023 21:08:53 +0000 (23:08 +0200)] 
patch 9.0.1730: passing multiple patterns to runtime not working

Problem: passing multiple patterns to runtime not working
Solution: prepend prefix to each argument separately

closes: #12617

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1729: screenpos() wrong when w_skipcol and cpoptions+=n v9.0.1729
zeertzjq [Thu, 17 Aug 2023 20:58:53 +0000 (22:58 +0200)] 
patch 9.0.1729: screenpos() wrong when w_skipcol and cpoptions+=n

Problem:    screenpos() wrong result with w_skipcol and cpoptions+=n
Solution:   Use adjust_plines_for_skipcol() instead of subtracting
            w_skipcol.

closes: #12625

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1728: missing winid argument for virtcol() v9.0.1728
zeertzjq [Thu, 17 Aug 2023 20:55:25 +0000 (22:55 +0200)] 
patch 9.0.1728: missing winid argument for virtcol()

Problem: missing winid argument for virtcol()
Solution: Add a {winid} argument to virtcol()

Other functions col(), charcol() and virtcol2col() support a {winid}
argument, so it makes sense for virtcol() to also support than.

Also add test for virtcol2col() with 'showbreak' and {winid}.

closes: #12633

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1727: minor problems with the teapot v9.0.1727
Sean Dewar [Sat, 8 Jul 2023 09:35:19 +0000 (10:35 +0100)] 
patch 9.0.1727: minor problems with the teapot

Problem: minor problems with the teapot()
Solution: remove the null check, update documentation

Update the builtin-function-list entry. (It implicitly returns 0, but such
functions usually use "none")

Also, tv_get_string_strict() can not return NULL, so remove that check

closes: #12647

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
2 years agopatch 9.0.1726: incorrect heights in win_size_restore() v9.0.1726
Sean Dewar [Thu, 17 Aug 2023 20:40:05 +0000 (22:40 +0200)] 
patch 9.0.1726: incorrect heights in win_size_restore()

Problem: incorrect heights in win_size_restore()
Solution: avoid restoring incorrect heights in win_size_restore()

Changing 'showtabline' or 'cmdheight' in the cmdwin restores incorrect
window heights after closing the cmdwin.

This may produce a gap between the cmdline and the window above.

Solution: restore window sizes only if the number of lines available for windows
changed; subtract the rows of the tabline, cmdline and last window's statusline
from 'lines' (other statuslines don't matter).

closes: #12704

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
2 years agopatch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit' v9.0.1725
zeertzjq [Thu, 17 Aug 2023 20:35:26 +0000 (22:35 +0200)] 
patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'

Problem:    Wrong cursor position when clicking after concealed text
            with 'virtualedit'.
Solution:   Store virtual columns in ScreenCols[] instead of text
            columns, and always use coladvance() when clicking.

This also fixes incorrect curswant when clicking on a TAB, so now
Test_normal_click_on_ctrl_char() asserts the same results as the ones
before patch 9.0.0048.

closes: #12808

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1724: vim9class constructor argument type checking bug v9.0.1724
h-east [Wed, 16 Aug 2023 12:49:54 +0000 (21:49 +0900)] 
patch 9.0.1724: vim9class constructor argument type checking bug

Problem: vim9class constructor argument type checking bug
Solution: fix it

closes: #12816

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: h-east <h.east.727@gmail.com>
2 years agoUpdate sr.po (#12820)
Ivan Pešić [Thu, 17 Aug 2023 20:28:59 +0000 (00:28 +0400)] 
Update sr.po (#12820)

2 years agoUse string interpolation (#12823)
Yegappan Lakshmanan [Thu, 17 Aug 2023 20:28:33 +0000 (13:28 -0700)] 
Use string interpolation (#12823)

2 years agopatch 9.0.1723: Fix regression in {func} argument of reduce() v9.0.1723
zeertzjq [Thu, 17 Aug 2023 20:15:47 +0000 (22:15 +0200)] 
patch 9.0.1723: Fix regression in {func} argument of reduce()

Problem: Fix regression in {func} argument of reduce()
Solution: pass function name as string again

Before patch 9.0.0548, passing a string as {func} argument of reduce()
is treated as a function name, but after patch 9.0.0548 it is treated as
an expression instead, which is useless as reduce() doesn't set any v:
variables. This PR restores the behavior of {func} before that patch.

Also correct an emsg() call, as e_string_list_or_blob_required doesn't
contain format specifiers.

closes: #12824

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1722: wrong error messages when passing wrong types to count() v9.0.1722
zeertzjq [Thu, 17 Aug 2023 20:10:40 +0000 (22:10 +0200)] 
patch 9.0.1722: wrong error messages when passing wrong types to count()

Problem: wrong error messages when passing wrong types to count()
Solution: fix it

This fixes two problems:
1. When passing wrong type to {ic} argument of count(), two error
   messages are given, the second of which is misleading.
2. When passing wrong type to {comp} argument of count(), the error
   message doesn't mention that {comp} may be a String.

closes: #12825

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1721: Build failure on Windows with dynamic lua v9.0.1721
zeertzjq [Tue, 15 Aug 2023 23:29:28 +0000 (07:29 +0800)] 
patch 9.0.1721: Build failure on Windows with dynamic lua

Problem: Build failure on Windows with dynamic lua (after 9.0.1719)
Solution: move definition further down in if_lua

closes: #12811
closes: #12814
closes: #12818

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1720: Vim9 class using wrong index for overridden method v9.0.1720
Yegappan Lakshmanan [Wed, 16 Aug 2023 18:14:37 +0000 (20:14 +0200)] 
patch 9.0.1720: Vim9 class using wrong index for overridden method

Problem: Vim9 class using wrong index for overridden method
Solution: Use correct index for overridden method

closes: #12524
closes: #12813

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2 years agoUpdate FreeBASIC syntax file (#12781)
dkearns [Tue, 15 Aug 2023 21:23:40 +0000 (07:23 +1000)] 
Update FreeBASIC syntax file (#12781)

2 years agozh_CN: update to use reordering (#12787)
依云 [Tue, 15 Aug 2023 21:22:48 +0000 (05:22 +0800)] 
zh_CN: update to use reordering (#12787)

2 years agopatch 9.0.1719: if_lua: crash for for Lua functions invoked via Vim callbacks v9.0.1719
Jesse Pavel [Mon, 14 Aug 2023 02:05:45 +0000 (22:05 -0400)] 
patch 9.0.1719: if_lua: crash for for Lua functions invoked via Vim callbacks

Problem: if_lua: crash for Lua functions invoked via Vim callbacks
Solution: Use Lua registry rather than upvalues for udata cache

closes: #12785

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Jesse Pavel <jpavel@alum.mit.edu>
2 years agopatch 9.0.1718: dict-completion does not respect region v9.0.1718
LemonBoy [Tue, 15 Aug 2023 21:07:55 +0000 (23:07 +0200)] 
patch 9.0.1718: dict-completion does not respect region

Problem: dict-completion does not respect region
Solution: respect selected region in dict completion

Set do_region to zero as we don't want a complete dump of the matching
words, we want the code to filter them according to the user's selected
region.

closes: #12792
closes: #7025

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2 years agoThe keyboard layout "russian-typograph" has been updated to version 3.3 (#12796)
Restorer [Tue, 15 Aug 2023 21:06:18 +0000 (21:06 +0000)] 
The keyboard layout "russian-typograph" has been updated to version 3.3 (#12796)

Co-authored-by: RestorerZ <restorer@mail2k.ru>
2 years agoUpdate syntax/muttrc.vim to latest mutt (#12797)
lunasophia [Tue, 15 Aug 2023 21:05:36 +0000 (17:05 -0400)] 
Update syntax/muttrc.vim to latest mutt (#12797)

Nothing complicated, just lots of tedium keeping the lines wrapped at
reasonable lengths.

2 years agoUpdate syntax/fortran.vim (#12798)
Ajit-Thakkar [Tue, 15 Aug 2023 21:05:00 +0000 (18:05 -0300)] 
Update syntax/fortran.vim (#12798)

Several small improvements including better discrimination of "real" used as a type and as an intrinsic

2 years agopatch 9.0.1717: virtcol2col returns last byte of a multi-byte char v9.0.1717
Yegappan Lakshmanan [Tue, 15 Aug 2023 21:01:44 +0000 (23:01 +0200)] 
patch 9.0.1717: virtcol2col returns last byte of a multi-byte char

Problem: virtcol2col returns last byte of a multi-byte char
Solution: Make it return the first byte for a multi-byte char

closes: #12786
closes: #12799

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2 years agopatch 9.0.1716: Windows build with python 3.12 and clang fails v9.0.1716
Zdenek Dohnal [Tue, 15 Aug 2023 20:52:01 +0000 (22:52 +0200)] 
patch 9.0.1716: Windows build with python 3.12 and clang fails

Problem: Windows build with python 3.12 and clang fails
Solution: Remove the PyBool_Type function pointer for python 3.12

Clang on Win doesn't like non-static functions in static struct with
Python 3.12 - removing the new obfuscated function and protecting the
old PyBool function for older Pythons fixes the issue.

closes: #12800

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Zdenek Dohnal <zdohnal@redhat.com>
2 years agopatch 9.0.1715: duplicate test in message_test.c v9.0.1715
zeertzjq [Tue, 15 Aug 2023 20:48:40 +0000 (22:48 +0200)] 
patch 9.0.1715: duplicate test in message_test.c

Problem: duplicate test in message_test.c
Solution: Remove duplicate test and make functions static

closes: #12803

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2 years agopatch 9.0.1714: getcompletion() "cmdline" fails after :autocmd v9.0.1714
zeertzjq [Tue, 15 Aug 2023 20:41:53 +0000 (22:41 +0200)] 
patch 9.0.1714: getcompletion() "cmdline" fails after :autocmd

Problem:  getcompletion() "cmdline" fails after :autocmd
Solution: Use set_cmd_context() instead of set_one_cmd_context().

closes: #12804

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