Compare commits

..

5572 Commits

Author SHA1 Message Date
zeertzjq
dff55a3358 patch 9.1.0444: Not enough tests for getregion() with multibyte chars
Problem:  Not enough tests for getregion() with multibyte chars.
Solution: Add a few more tests (zeertzjq).

closes: #14844

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-25 10:25:36 +02:00
zeertzjq
afc2295c22 patch 9.1.0443: Can't use blockwise selection with width for getregion()
Problem:  Can't use a blockwise selection with a width for getregion().
Solution: Add support for blockwise selection with width like the return
          value of getregtype() or the "regtype" value of TextYankPost
          (zeertzjq).

closes: #14842

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 19:07:12 +02:00
rhysd
5e45715084 runtime(typescript): update outdated syntax files
fixes: #14721
fixes: HerringtonDarkholme/yats.vim#277
closes: #14840

Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 19:03:03 +02:00
Josef Litoš
b1ffc52694 runtime(i3config/swayconfig): fix floating_modifier highlight (#14841)
Signed-off-by: JosefLitos <litosjos@fit.cvut.cz>
Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 17:31:36 +02:00
Amelia Clarke
35dfe58a54 patch 9.1.0442: hare runtime files outdated
Problem:  hare runtime files outdated
Solution: runtime(hare): update hare.vim to match upstream
          (Amelia Clarke)

closes: #14836

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 08:05:00 +02:00
zeertzjq
2b09de9104 patch 9.1.0441: getregionpos() can't properly indicate positions beyond eol
Problem:  getregionpos() can't properly indicate positions beyond eol.
Solution: Add an "eol" flag that enables handling positions beyond end
          of line like getpos() does (zeertzjq).

Also fix the problem that a position still has the coladd beyond the end
of the line when its column has been clamped.  In the last test case
with TABs at the end of the line the old behavior is obviously wrong.

I decided to gate this behind a flag because returning positions that
don't correspond to actual characters in the line may lead to mistakes
for callers that want to calculate the length of the selected text, so
the behavior is only enabled if the caller wants it.

closes: #14838

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:48:51 +02:00
Yegappan Lakshmanan
44cadaa18c patch 9.1.0440: function get_lval() is too long
Problem:  function get_lval() is too long
Solution: factor out the get_lval_subscript() function
          (Yegappan Lakshmanan)

closes: #14839

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:44:10 +02:00
Christian Brabandt
42a5b5a6d0 patch 9.1.0439: Cannot filter the history
Problem:  Cannot filter the history
Solution: Implement :filter :history

closes: #14835

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:39:34 +02:00
zeertzjq
3074137542 patch 9.1.0438: Wrong Ex command executed when :g uses '?' as delimiter
Problem:  Wrong Ex command executed when :g uses '?' as delimiter and
          pattern contains escaped '?'.
Solution: Don't use "*newp" when it's not allocated (zeertzjq).

closes: #14837

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-24 07:37:36 +02:00
James Eapen
22ac941208 runtime(i3config/swayconfig): support floating_modifier none; revert broken highlighting
- fix floating_modifier $mod normal|inverse was being hightlighted as error
  reverting the floating_modifier change from dd83b63
- will currently allow invalid syntax after floating_modifier

fixes: #14826
closes: #14827

Co-authored-by: JosefLitos <litosjos@fit.cvut.cz>
Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 20:48:54 +02:00
Drew Vogel
742062f31f patch 9.1.0437: Motif requires non-const char pointer for XPM data
Problem:  Motif requires non-const char pointer for XPM data shared with
          GTK (Tony Mechelynck, after v9.1.0432)
Solution: Cast non-const to const char pointer for GTK (Drew Vogel).

closes: #14834

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:49:39 +02:00
zeertzjq
789679cfc4 patch 9.1.0436: Crash when using '?' as separator for :s
Problem:  Crash when using '?' as separator for :s and pattern contains
          escaped '?'s (after 9.1.0409).
Solution: Always compute startplen. (zeertzjq).

related: neovim/neovim#28935
closes: 14832

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:41:26 +02:00
K.Takata
cd79f8fbd3 patch 9.1.0435: filetype: cygport files are not recognized
Problem:  filetype: cygport files are not recognized
Solution: Recognize '*.cygport' files as sh filetype
          (Ken Takata)

https://cygwin.github.io/cygport/cygport_in.html

closes: #14833

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:31:26 +02:00
Derek Schrock
3554d9bfcc patch 9.1.0434: make errors trying to access autoload/zig
Problem:  make errors trying to access autoload/zig
Solution: Remove autoload/zig from Makefile, adjust Filelist
          (Derek Schrock)

Commit d1d9316c6 removed autoload/zig/ files and install/uninstall target
of the Makefile fail since the directory doesn't exist any longer.

closes: #14828

Signed-off-by: Derek Schrock <dereks@lifeofadishwasher.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 17:27:05 +02:00
zeertzjq
701ad50a9e patch 9.1.0433: Wrong yanking with exclusive selection and ve=all
Problem:  Wrong yanking with exclusive selection and virtualedit=all,
          and integer overflow when using getregion() on it.
Solution: Set coladd when decreasing column and 'virtualedit' is active.
          Add more tests for getregion() with 'virtualedit' (zeertzjq).

closes: #14830

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 07:47:55 +02:00
Christian Brabandt
f2d74e3b63 runtime(comment): add missing help tags file
fixes: #14829

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-23 07:24:29 +02:00
Drew Vogel
5090f838bb patch 9.1.0432: Ancient XPM preprocessor hack may cause build errors
Problem:  Ancient XPM preprocessor hack may cause build errors.
Solution: Simplify XPM includes and get rid of complicated #ifdef magic
          (Drew Vogel).

closes: #14816

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:51:53 +02:00
Riley Bruins
802fc04a78 runtime(rescript): include basic rescript ftplugin file (#14822)
Reference: https://rescript-lang.org/docs/manual/latest/overview#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:49:17 +02:00
Yegappan Lakshmanan
25536f415e patch 9.1.0431: eval.c is too long
Problem:  eval.c is too long
Solution: Move garbage collection code to new gc.c file
          (Yegappan Lakshmanan)

closes: #14824

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:45:04 +02:00
zeertzjq
52a6f34887 patch 9.1.0430: getregionpos() doesn't handle one char selection
Problem:  getregionpos() doesn't handle one char selection.
Solution: Handle startspaces differently when is_oneChar is set.
          Also add a test for an exclusive charwise selection with
          multibyte chars (zeertzjq)

closes: #14825

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 16:42:44 +02:00
Christian Brabandt
95ff39f8e3 CI: disable -O2 for Coverity after v9.1.0429
gcc -O2 outputs this warning and turns it into an error when running
Coverity action:

```
eval.c: In function ‘echo_string_core’:
cc1: warning: function may return address of local variable [-Wreturn-local-addr]
eval.c:6495:12: note: declared here
 6495 |     char_u buf[MAX_FUNC_NAME_LEN];
      |            ^~~
```

This seems to be a false positive, so disable -O2 for Coverity
specifically.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-22 07:56:24 +02:00
Ubaldo Tiberi
62ccaa60d5 runtime(termdebug): check for gdb file/dir before using as buffer name
Add test so that this doesn't regress.

fixes: #12718
closes: #14792

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 23:33:03 +02:00
Tiseno
d1d9316c66 runtime(zig): refactor zig ftplugin, remove auto format
Refactored zig ftplugin, removed upstream comment, aucmd and
auto formatting support. Updated documentation for zig configuration
settings and added new maintainer.

closes: #13803

Signed-off-by: Tiseno <mathias.lindgren@stabelo.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 23:27:03 +02:00
Christian Brabandt
b335a9312c patch 9.1.0429: Coverity complains about eval.c refactor
Problem:  Coverity complains about eval.c refactor
          (after v9.1.0422)
Solution: Check that buf is not used un-initialized,
          add explicit conditions for save and restore
          of copyID

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 18:39:10 +02:00
zeertzjq
42cd192daa patch 9.1.0428: Tag guessing leaves wrong search history with very short names
Problem:  Tag guessing leaves wrong search history with very short names
          (after 9.1.0426).
Solution: Use the correct variable for pattern length (zeertzjq).

closes: #14817

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 17:19:58 +02:00
Ken Takata
ffed1540f3 patch 9.1.0427: tests: some issues with termdebug mapping test
Problem:  tests: some issues with termdebug mapping test
Solution: Use assert_{true,false} if suitable, change
          order of expected and actual arguments in assert() calls.
          (Ken Takata)

closes: #14818
related: 7fbbd7f

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-21 17:14:56 +02:00
Christian Brabandt
8cf29e4c4a runtime(matchit): update matchit plugin to v1.20
fixes: #14814

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 20:02:16 +02:00
John Marriott
8c85a2a49a patch 9.1.0426: too many strlen() calls in search.c
Problem:  too many strlen() calls in search.c
Solution: refactor code and remove more strlen() calls,
          use explicit variable to remember strlen
          (John Marriott)

closes: #14796

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 19:18:26 +02:00
Riley Bruins
69dff00dfb runtime(verilog): set commentstring option
closes: #14810

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 18:14:25 +02:00
Michael Soyka
af2254d2f3 runtime(vb): update vb indent plugin as vim9script
Include an updated vb indent script using vim9script.
Also update the runtime indent test files

Signed-off-by: Michael Soyka <mssr953@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:38:10 +02:00
Riley Bruins
155583a5c3 patch 9.1.0425: filetype: purescript files are not recognized
Problem:  filetype: purescript files are not recognized
Solution: recognize '*.purs' files as purescript filetype,
          include basic purescript filetype plugin
          (Riley Bruins)

Reference: https://github.com/purescript/documentation/blob/master/language/Syntax.md#comments

closes: #14813

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:21:53 +02:00
Riley Bruins
aa3104b07a patch 9.1.0424: filetype: slint files are not recognized
Problem:  filetype: slint files are not recognized
Solution: Detect '*.slint' files as slint filetype,
          include basic sling filetype plugin
          (Riley Bruins)

closes: #14808

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:20:09 +02:00
Riley Bruins
f295050fa5 runtime(nim): basic nim ftplugin file for comments (#14812)
Reference: https://nim-by-example.github.io/comments/#:~:text=Comments%20in%20Nim%20begin%20with%20the%20hash%20character.&text=Multiline%20or%20block%20comments%20begin,line%20comments%20can%20be%20nested.

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:16:17 +02:00
K.Takata
957d903cb7 runtime(arduino): Add Arduino ftplugin and indent files (#14811)
We already have Arduino syntax file, but we didn't have ftplugin and
indent files.

This commit adds a basic ftplugin file and a basic indent file.
Both of them are derived from {ftplugin,indent}/c.vim.

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:13:35 +02:00
Riley Bruins
c3d5c2fc87 runtime(typst): include basic typst ftplugin file (#14809)
Reference: https://typst.app/docs/reference/syntax/#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:08:49 +02:00
Riley Bruins
9c4d14dbb4 runtime(prisma): include basic prisma ftplugin file (#14807)
Reference: https://www.prisma.io/docs/orm/prisma-schema/overview#comments

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:07:30 +02:00
Riley Bruins
1b5e3d21f6 runtime(v): include basic v ftplugin for comment support (#14806)
Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:03:46 +02:00
zeertzjq
c95e64f41f patch 9.1.0423: getregionpos() wrong with blockwise mode and multibyte
Problem:  getregionpos() wrong with blockwise mode and multibyte.
Solution: Use textcol and textlen instead of start_vcol and end_vcol.
          Handle coladd properly (zeertzjq).

Also remove unnecessary buflist_findnr() in add_regionpos_range(), as
getregionpos() has already switched buffer.

closes: #14805

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 14:00:31 +02:00
Yegappan Lakshmanan
22029edb6c patch 9.1.0422: function echo_string_core() is too long
Problem:  function echo_string_core() is too long
Solution: Refactor into several smaller functions
          (Yegappan Lakshmanan)

closes: #14804

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-20 13:57:11 +02:00
Riley Bruins
5f1b115afd patch 9.1.0421: filetype: hyprlang files are not recognized
Problem:  filetype: hyprlang files are not recognized
Solution: recognize 'hypr{land,paper,idle,lock}.conf' files
          as 'hyprlang' filetype, add hyprlang ftplugin
          (Riley Bruins)

closes: #14803

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 11:26:44 +02:00
Riley Bruins
4d7892bfb1 runtime(dart): add basic dart ftplugin file
fixes #14793
closes #14802

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:31:46 +02:00
Riley Bruins
36e974fdf3 runtime(graphql): basic ftplugin file for graphql
closes: #14801

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:30:12 +02:00
Christian Brabandt
d801edfb1b runtime(doc): mention comment plugin at :h 'commentstring'
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:29:02 +02:00
Riley Bruins
df859a36d3 runtime(sql): set commentstring for sql files in ftplugin
closes: #14800

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:24:17 +02:00
Christian Brabandt
0b0f7d6be0 patch 9.1.0420: :browse oldfiles prompts even with single entry
Problem:  :browse oldfiles prompts even with single entry
Solution: Do not prompt, but edit the file directly,
          also when using :filter /pat/ browse oldfiles

closes: #14794

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:11:09 +02:00
Yegappan Lakshmanan
4776e64e72 patch 9.1.0419: eval.c not sufficiently tested
Problem:  eval.c not sufficiently tested
Solution: Add a few more additional tests for eval.c,
          (Yegappan Lakshmanan)

closes: #14799

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 09:06:50 +02:00
Christian Brabandt
5f75714730 runtime(doc): clarify why E195 is returned
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 19:11:29 +02:00
Christian Brabandt
5cf5301e28 runtime(doc): clarify temporary file clean up
related: #14770

Co-authored-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 10:15:04 +02:00
zeertzjq
9404378019 runtime(matchparen): fix :NoMatchParen not working (#14797)
fixes: neovim/neovim#28828

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-18 08:55:49 +02:00
Christ van Willegen - van Noort
8e4c4c7d87 patch 9.1.0418: Cannot move to previous/next rare word
Problem:  Cannot move to previous/next rare word
          (Colin Kennedy)
Solution: Add the ]r and [r motions (Christ van Willegen)

fixes: #14773
closes: #14780

Signed-off-by: Christ van Willegen - van Noort <github.com@vanwillegen-vannoort.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:52:45 +02:00
Yinzuo Jiang
cf78d0df51 runtime(sshdconfig): add basic ftplugin file for sshdconfig (#14790)
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:39:24 +02:00
Christian Brabandt
f0905a8613 patch 9.1.0417: if_py: find_module has been removed in Python 3.12.0a7
Problem:  if_py: find_module has been removed in Python 3.12.0a7
          (@Ghost-LZW)
Solution: Do not include find_module for Python >= 3.12.0a7

fixes: #14776
closes: #14781

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:30:26 +02:00
Luuk van Baal
2e642734f4 patch 9.1.0416: some screen dump tests can be improved
Problem:  some screen dump tests can be improved (after 9.1.0414)
Solution: Make sure screen state changes properly and is captured in the
          screen dumps (Luuk van Baal)

closes: #14788

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:28:02 +02:00
Yegappan Lakshmanan
fe424d13ef patch 9.1.0415: Some functions are not tested
Problem:  Some functions are not tested
Solution: Add a few more tests, fix a few minor problems
          (Yegappan Lakshmanan)

closes: #14789

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 18:20:43 +02:00
Christian Brabandt
e595e9c31b runtime(doc): clarify instal instructions for comment package
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-17 17:30:04 +02:00
Luuk van Baal
b32055e504 patch 9.1.0414: Unable to leave long line with 'smoothscroll' and 'scrolloff'
Problem:  Unable to leave long line with 'smoothscroll' and 'scrolloff'.
          Corrupted screen near the end of a long line with 'scrolloff'.
          (Ernie Rael, after 9.1.0280)
Solution: Only correct cursor in case scroll_cursor_bot() was not itself
          called to make the cursor visible. Avoid adjusting for
          'scrolloff' beyond the text line height (Luuk van Baal)

fixes: #14726
closes: #14783

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-16 20:44:09 +02:00
jbm950
f5c8f520ba runtime(doc): fix typo in vim9script help file (#14782)
This commit fixes a typo in the first example of the vim9script help
file. Trying to execute the given example before resulted in a "trailing
characters" error.

Signed-off-by: jbm950 <jmilam343@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-16 19:53:39 +02:00
K.Takata
c0e038b59f runtime(doc): Remove trailing spaces (#14784)
Fix the issues introduced by #14770.
2024-05-16 12:39:01 +09:00
Enno
5faeb60480 runtime(doc): clarify {special} argument for shellescape()
closes: #14770

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:54:19 +02:00
Christian Brabandt
8314de8fd4 CI: Upload failed screendump tests when run in github actions
It's a bit of a pain to debug failing screendump tests without knowing
exactly what went wrong. Therefore include actions/upload-artifact for
the Github CI runners and have them uploaded those failing screen dump
tests automatically.

Let's add this step to each of the Linux/MacOS/Windows workflows but do
not duplicate the code, factor it out to a single file
.github/actions/screendump/action.yml and reference this one from the
main ci.yml file

Example:
https://github.com/chrisbra/vim/actions/runs/9085493619

closes: #14771

Co-authored-by: dundargoc <gocdundar@gmail.com>
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:48:11 +02:00
Christian Brabandt
eff20eb35d patch 9.1.0413: smoothscroll may cause infinite loop
Problem:  smoothscroll may cause infinite loop, with
          very narrow windows
          (Jaehwang Jung, after v9.1.0280)
Solution: Check for width1 being negative, verify
          that win_linetabsize does not overflow

fixes: #14750
closes: #14772

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:35:36 +02:00
Christian Brabandt
fed01960d2 runtime(doc): add missing entries for the keys CTRL-W g<Tab> and <C-Tab>
fixes: #14777
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 21:05:23 +02:00
Cthulhux
93e0d2e815 runtime(doc): update vi_diff.txt: add default value for 'flash'
The "flash" option was added relatively late and seems to be exclusive
to System V. (It's not in 4.4BSD and it's not in V8 UNIX, checked [on
TUHS](https://www.tuhs.org/cgi-bin/utree.pl).) The oldest occurrence of
`flash` in "a vi" I could find is in SysV R2 for the VAX, where it
[defaults to
1](https://github.com/ryanwoodsmall/oldsysv/blob/master/sysvr2-vax/src/cmd/vi/vax/ex_data.c)
= on.

closes: #14778

Signed-off-by: Cthulhux <github@tuxproject.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-15 20:54:35 +02:00
Christian Brabandt
6043024cd4 patch 9.1.0412: typo in regexp_bt.c in DEBUG code
Problem:  typo in regexp_bt.c in DEBUG code, causing
          compile error (@kfleong7, after v9.1.0409)
Solution: Replace bulen by buflen

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-14 11:19:47 +02:00
Josef Litoš
679f5abb99 runtime(i3config/swayconfig): allow indented commands (#14757)
fixes: #14752

Co-authored-by: jamespeapen <jamespeapen@users.noreply.github.com>
Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 22:03:42 +02:00
Tom Picton
7961210b86 runtime(python): Fix wrong define regex in ftplugin (#14763)
Signed-off-by: Tom Picton <tom@tompicton.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 22:00:40 +02:00
Aliaksei Budavei
2f5ff73827 runtime(syntax-tests): Filter out non-Latin-1 characters for syntax tests (#14767)
Syntax tests are run with the LC_ALL=C environment variable
passed to "make".  Occasionally, there are CI failures for
such test files containing non-Latin-1 characters with error
messages pointing to multi-byte characters:

https://github.com/vim/vim/actions/runs/8824925004/job/24228298023#step:10:16370 ,
https://github.com/vim/vim/actions/runs/8840856619/job/24276935260#step:10:16347 ,
https://github.com/vim/vim/actions/runs/8854043458/job/24316210645#step:10:16362 ,
https://github.com/vim/vim/actions/runs/8856501136/job/24322848765#step:10:16354 ,
https://github.com/vim/vim/actions/runs/9038417238/job/24839482152#step:11:16980 .

But since the very same unchanged tests pass at other times:

https://github.com/vim/vim/actions/runs/8827593571/job/24235935458#step:10:16353 ,
https://github.com/vim/vim/actions/runs/9065214647/job/24905321661#step:11:17002 ;

these failures are unrelated to the nature of syntax tests
and should be considered false positives.

As a temporary workaround, all bytes of known non-Latin-1
characters can be replaced in memory with an arbitrary ASCII
byte (?) by applying a filter

> " To ignore part of the dump, provide a "dumps/{filename}.vim" file with
> " Vim commands to be applied to both the reference and the current dump, so
> " that parts that are irrelevant are not used for the comparison.  The result
> " is NOT written, thus "term_dumpdiff()" shows the difference anyway.

before lines are compared between files.


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 21:06:05 +02:00
Christian Brabandt
43f2edc096 runtime(netrw): prefer scp over pscp
regression introduced in ce2ad9ffd7

The current logic is a bit funny, in that it checks for an executable of
scp, then pscp and if neither exists, it uses: scp :/
Anyway, let's fall back to the logic used before the above commit.

related: #14739

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-13 21:01:06 +02:00
Christian Brabandt
b7258738f8 runtime(doc): fix typo in usr_52.txt
fixes: #14758

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 19:04:47 +02:00
Yegappan Lakshmanan
4ceb4dc825 patch 9.1.0411: too long functions in eval.c
Problem:  too long functions in eval.c
Solution: refactor functions (Yegappan Lakshmanan)

closes: #14755

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 09:24:35 +02:00
John Marriott
d01e699348 patch 9.1.0410: warning about uninitialized variable
Problem:  warning about uninitialized variable
          (Tony Mechelynck, after 9.1.0409)
Solution: initialize variable (John Marriott)

closes: #14754

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 09:01:38 +02:00
John Marriott
82792db631 patch 9.1.0409: too many strlen() calls in the regexp engine
Problem:  too many strlen() calls in the regexp engine
Solution: refactor code to retrieve strlen differently, make use
          of bsearch() for getting the character class
          (John Marriott)

closes: #14648

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-12 00:07:17 +02:00
Tom Picton
86f6e2c2ee ftplugin(python): E16 fix, async keyword support for define (#14751)
This change includes the following changes:
- Fix "E16: Invalid range" when using a count with jump to start/end of class/method
- Update define with optional async keyword
- Update maintainer email

Signed-off-by: Tom Picton <tom@tompicton.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 20:26:06 +02:00
Christian Brabandt
9c0ff47098 patch 9.1.0408: configure fails on Fedora when including perl
Problem:  configure fails on Fedora when including perl
          (chesheer-smile)
Solution: Filter out -spec=<path> from $LIBS and $LDFLAGS to avoid
          linking relocation errors for unrelated autoconf tests.

closes: #14526

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 20:22:32 +02:00
Luuk van Baal
58448e09be patch 9.1.0407: Stuck with long line and half-page scrolling
Problem:  No scrolling happens with half-page scrolling with line
          filling entire window when 'smoothscroll' is disabled.
          (Mathias Rav, after v9.1.0285)
Solution: Adjust amount to move cursor by so that it is moved the same
          number of lines as was scrolled, even when scrolling different
          number of lines than requested with 'nosmoothscroll'.

fixes: #14743
closes: #14746

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:27:52 +02:00
zeertzjq
031a745608 patch 9.1.0406: Divide by zero with getmousepos() and 'smoothscroll'
Problem:  Divide by zero with getmousepos() and 'smoothscroll'.
Solution: Don't compute skip_lines when width1 is zero.
          (zeertzjq)

closes: #14747

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:23:37 +02:00
Christian Brabandt
1c5728e0c4 runtime(doc): update and remove some invalid links
closes: #14748

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-11 11:16:21 +02:00
Antonio Giovanni Colombo
9e4bfb219f translation(it): update translation of xxd manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:53:58 +02:00
Nir Lichtman
c16c4a21eb runtime(netrw): Recursively delete directories by default with netrw delete command
closes: #14742

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:43:29 +02:00
Aliaksei Budavei
d3952e8cfe runtime(java): Strive to remain compatible for at least Vim 7.0 (#14744)
Also:

- Limit all look-behind regexp patterns.
- Cache regexp capabilities for [:upper:] and [:lower:].

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 23:39:31 +02:00
Christian Brabandt
b7deb1b69e patch 9.1.0405: tests: xxd buffer overflow fails on 32-bit
Problem:  tests: xxd buffer overflow fails on 32-bit
Solution: Skip test on 32-bit architecture

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 20:03:21 +02:00
Aliaksei Budavei
06bdac1580 runtime(java): Stop handpicking syntax groups for @javaTop (#14727)
* runtime(java): Stop handpicking syntax groups for @javaTop

Also:

- Remove the obsolete comment for g:java_allow_cpp_keywords.
- Remove the commented out groups java\%[Debug\]StringError.
- Infer and set the preferred formatting Vim options from
  the modeline.

Since vim-6-0u, non-contained syntax groups can be referred
to by using the "contains=TOP..." argument.

* Set &encoding and &termencoding to "utf-8" for test files

* Limit non-ASCII charset to [§ƒɐɘʬʭΑ-Τα-μ] for test files

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 14:49:06 +02:00
Lennard Hofmann
67797191e0 patch 9.1.0404: [security] xxd: buffer-overflow with specific flags
Problem:  [security] xxd: buffer-overflow with specific flags
Solution: Correctly calculate the required buffer space
          (Lennard Hofmann)

xxd writes each output line into a global buffer before printing.
The maximum size of that buffer was not calculated correctly.

This command was crashing in AddressSanitizer:
$ xxd -Ralways -g1 -c256 -d -o 9223372036854775808 /etc/passwd

This prints a line of 6680 bytes but the buffer only had room for 6549 bytes.
If the output from "-b" was colored, the line could be even longer.

closes: #14738

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Lennard Hofmann <lennard.hofmann@web.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 14:41:18 +02:00
Yegappan Lakshmanan
8c35c26c1f patch 9.1.0403: Vim9: not able to import file from start dir
Problem:  Vim9: not able to import file from start dir
          (Danielle McLean)
Solution: Allow to import from start directory
          (Yegappan Lakshmanan)

fixes: #13313
closes: #14740

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 13:10:54 +02:00
Wu, Zhenyu
63f2a5b8ad patch 9.1.0402: filetype: mdd files detected as zsh filetype
Problem:  filetype: mdd files detected as zsh filetype
Solution: detect '*.mdd' files as sh filetype, add links
          to reference documentation (Wu, Zhenyu)

closes: #14741

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-10 13:01:54 +02:00
Wu, Zhenyu
887a38cee7 patch 9.1.0401: filetype: zsh module files are not recognized
Problem:  filetype: zsh module files are not recognized
Solution: Detect '*.mdh' and '*.epro' as C filetype, '*.mdd' as zsh
          filetype, determine zsh-modules '*.pro' from from it's content
          (Wu, Zhenyu)

closes: #14737

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 20:35:13 +02:00
Nir Lichtman
ce2ad9ffd7 runtime(netrw): Remove hardcoded private.ppk logic from netrw
closes: #14739

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 20:20:36 +02:00
Yegappan Lakshmanan
1b53172901 patch 9.1.0400: Vim9: confusing error message for unknown type
Problem:  Vim9: confusing error message for unknown type
          (Doug Kearns)
Solution: For an unknown type, display only the type name in the error
          message (Yegappan Lakshmanan)

fixes: #13153
closes: #14736

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-09 09:15:02 +02:00
Christian Brabandt
d5c8c0920e patch 9.1.0399: block_editing errors out when using del
Problem:  block_editing errors out when using del
          (@Jamarley)
Solution: Change ins_len from size_t to int and
          properly check that it doesn't become negative

There is a check in os.c that verifies that `ins_len` does not become
negative:
```
if (pre_textlen >= 0 && (ins_len = len - pre_textlen - offset) > 0)
```
However this only works, if ins_len can actually become negative and
unfortunately, ins_len has been declared as `size_t` so instead of
becoming negative it will wrap around and be very large.

So let's define it as integer, after which the condition above
properly catches this condition.

fixes: #14734
closes: #14735

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 22:17:19 +02:00
Maxwell G
cb3691811b runtime(spec): add new items to scripts section in syntax plugin
- %generate_buildrequires — added in RPM 4.15
- %conf — added in RPM 4.18

closes: #14723

Ref: https://rpm-software-management.github.io/rpm/manual/spec.html#build-scriptlets

Signed-off-by: author
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:28:51 +02:00
Yegappan Lakshmanan
9937d8b619 patch 9.1.0398: Vim9: imported vars are not properly type checked
Problem:  Vim9: imported vars are not properly type checked
Solution: Check the imported variable type properly
          (Yegappan Lakshmanan)

closes: #14729

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:24:33 +02:00
zeertzjq
c7a8eb5ff2 patch 9.1.0397: Wrong display with 'smoothscroll' when changing quickfix list
Problem:  Wrong display with 'smoothscroll' when changing quickfix list.
Solution: Reset w_skipcol when replacing quickfix list (zeertzjq).

closes: #14730

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:22:40 +02:00
Gregory Anders
6a4ea471d2 patch 9.1.0396: filetype: jj files are not recognized
Problem:  jj files are not recognized
Solution: recognize '*.jjdescription' files as jj filetype
          (Gregory Anders)

See: https://github.com/martinvonz/jj

closes: #14733

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 20:17:43 +02:00
Christian Brabandt
b8ecedce79 patch 9.1.0395: getregionpos() may leak memory on error
Problem:  regionpos may leak memory on error, coverity
          complains about dereferencing Null pointer
Solution: free all list pointers (after v9.1.394),
          return early if buflist_findnr() returns NULL

closes: #14731

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:50:26 +02:00
Christian Brabandt
3ac83c7141 The CODEOWNERS File is not useful
Github is complaining about "This file has errors" and is just noisy
and for that reason does not ping maintainers if a new issue/PR is
created.
Let's just rename it to MAINTAINERS file instead and update the
documentation.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:39:54 +02:00
Nir Lichtman
1e34b95e44 runtime(netrw): Remove and cleanup Win9x legacy from netrw
closes: #14732

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-08 19:19:34 +02:00
Christian Brabandt
fb745756db runtime(doc): add MsgArea to 'highlight' option description
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 21:21:30 +02:00
Shougo Matsushita
b4757e627e patch 9.1.0394: Cannot get a list of positions describing a region
Problem:  Cannot get a list of positions describing a region
          (Justin M. Keyes, after v9.1.0120)
Solution: Add the getregionpos() function
          (Shougo Matsushita)

fixes: #14609
closes: #14617

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 20:49:24 +02:00
Wu Yongwei
c5def6561d runtime(cpp): Fix digit separator in syntax script for octals and floats
Also fix the incorrect rendering of floats that start with ".".

closes: #14724

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 18:33:30 +02:00
Christian Brabandt
4e9adfa3d1 README.md: Update link to Wikipedia Vi page
fixes: #14725

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-07 18:17:00 +02:00
D. Ben Knoble
8d8cb45756 runtime(sh,zsh): clear $MANPAGER in ftplugin before shelling out
Say you use Vim and set MANPAGER='vim -M +MANPAGER --not-a-term -'; then
:{Zs,S}hKeywordPrg (or K) will crap out and spew terminal garbage into
less when bash's "help" fails. This was introduced by 2f25e40b1
(runtime: configure keywordpg for some file types (#5566), 2023-08-23)
and may be present in other files touched by that commit.

Make the "man" invocation sensible by unsetting MANPAGER in the
environment.

Note that changing MANPAGER for `:terminal` is not needed; Vim within
Vim is perfectly fine.

closes: #14679

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-06 19:55:23 +02:00
h-east
53753f6a49 runtime(doc): Fix typos in help documents
closes: #14720

Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-05 18:42:31 +02:00
Christian Brabandt
c3e6e393cb patch 9.1.0393: 'viewdir' not respecting $XDG_CONFIG_HOME
Problem:  'viewdir' not respecting $XDG_CONFIG_HOME
          (Danilo Rezende, after v9.1.327)
Solution: adjust 'viewdir' option when enabling XDG config mode

fixes: #14680
closes: #14708

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:48:15 +02:00
Christian Brabandt
7edde3f39e patch 9.1.0392: tests: Vim9 debug tests may be flaky
Problem:  tests: Vim9 debug tests may be flaky
          (Shane-XB-Qian)
Solution: Give a few more lines so that line-wrapping won't
          cause a hit-enter prompt

The two tests Run_Test_debug_running_out_of_lines() and
Run_Test_debug_with_lambda() test debugging of Vim script functions.

Depending from what file-path the tests are run, it may cause
line wrapping to occur on the following output:

Entering Debug mode.  Type "cont" to continue.
command line..script
/home/chrisbra/code/vim-upstream/src/testdir/XdebugFunc[15]..function
<SNR>9_Crash

and if the window is too small, this will cause a hit-enter prompt and so
the WaitForAssert() fails, causing failure of the following tests.

So increase the (internal) Vim window by a few more lines, so that even
if line-wrapping occurs, no hit-enter prompts happens and so the tests
can finish.

fixes: #14596
closes: #14691

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:38:59 +02:00
zeertzjq
ad4881cb3c runtime(doc): correct getscriptinfo() example (#14718)
When "sid" is specified, it returns a List with a single item.

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-04 09:35:30 +02:00
Yegappan Lakshmanan
5715a72628 patch 9.1.0391: Vim9: could improve testing
Problem:  Vim9: could improve testing
          (Ernie Rael)
Solution: Support defcompile for test_override() to
          improve testing (Yegappan Lakshmanan)

fixes: #14553
closes: #14712

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-03 18:27:51 +02:00
ichizok
c8330b8fff CI: test_sound fails on macos-12 (#14715)
Signed-off-by: ichizok <gclient.gaap@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-03 18:22:35 +02:00
Oleg Zadorozhnyi
5bf7446ba2 translation(sr): update Serbian menu
closes: #14669
closes: #10722

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:17:05 +02:00
Oleg Zadorozhnyi
75c3161f8f translation(sk): update Slovak menu
closes: #14671
closes: #10721

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:10:41 +02:00
Oleg Zadorozhnyi
dfbf6f3ae5 translation(sl): update Slovenian menu
closes: #14673

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:08:13 +02:00
Oleg Zadorozhnyi
d88a39e0d6 translation(pt): update Portuguese menu
closes: #10718
closes: #10717
closes: #14674

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:05:45 +02:00
Oleg Zadorozhnyi
c3016a8bf0 translation(nl): update Dutch menu
closes: #14682

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 22:02:30 +02:00
Oleg Zadorozhnyi
f2211cb1ca translation(ko): update Korean menu
closes: #14683

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:59:58 +02:00
Oleg Zadorozhnyi
247dbd0e7b translation(is): update Icelandic menu
closes: #14685

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:56:45 +02:00
Oleg Zadorozhnyi
5ba554011e translation(CZ): update Czech menu
closes: #14704

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:44:56 +02:00
Oleg Zadorozhnyi
e0d0ad675e translation(af): update Afrikaans menu
closes: #14706

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 21:40:43 +02:00
Oleg Zadorozhnyi
f1d3913a80 translation(de): update German menu
closes: #14702

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:16:21 +02:00
Yorick Peterse
a01968448a patch 9.1.0390: filetype: inko files are not recognized
Problem:  filetype: inko files are not recognized
Solution: Detect '*.inko' as ink filetype
          (Yorick Peterse)

See:
- https://github.com/inko-lang/inko.vim
- https://inko-lang.org/

closes: #14699

Signed-off-by: Yorick Peterse <git@yorickpeterse.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:11:44 +02:00
tris203
54e79157c5 patch 9.1.0389: filetype: templ files are not recognized
Problem:  filetype: templ files are not recognized
Solution: Detect '*.templ' files as filetype templ
          (Tristan Knight)

See:
- https://github.com/a-h/templ
- https://templ.guide/

closes: #14697

Signed-off-by: tris203 <admin@snappeh.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:08:25 +02:00
zeertzjq
2ffdae7948 patch 9.1.0388: cursor() and getregion() don't handle v:maxcol well
Problem:  cursor() and getregion() don't handle v:maxcol well.
Solution: Add special handling for v:maxcol like setpos() does.
          (zeertzjq)

closes: #14698

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:06:24 +02:00
Yegappan Lakshmanan
da9d345b3d patch 9.1.0387: Vim9: null value tests not sufficient
Problem:  Vim9: null value tests not sufficient
Solution: Add a more comprehensive test for null values
          (Yegappan Lakshmanan)

closes: #14701

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:02:36 +02:00
Oleg Zadorozhnyi
3ca2ae180a translation(ca): update Catalan menu
closes: #14705

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-02 13:00:37 +02:00
Philip H
2d919d2744 patch 9.1.0386: filetype: stylus files not recognized
Problem:  filetype: stylus files not recognized
Solution: Detect '*.styl' and '*.stylus' as stylus filetype,
          include indent, filetype and syntax plugin
          (Philip H)

closes: #14656

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 18:42:11 +02:00
Oleg Zadorozhnyi
94a05d5545 translation(es): update spanish menu localization
closes: #14690

Signed-off-by: Oleg Zadorozhnyi <lesorubshayan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 18:08:34 +02:00
Philip H
370e36829b runtime(doc): regenerate helptags (#14695)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 16:52:40 +02:00
Yegappan Lakshmanan
b2e42b9be0 patch 9.1.0385: Vim9: crash with null_class and null_object
Problem:  Vim9: crash with null_class and null_object
          (Aliaksei Budavei)
Solution: Handle null_class and null_object correctly
          (Yegappan Lakshmanan)

fixes: #14678
closes: #14681

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 11:44:17 +02:00
K.Takata
ca4b81a7ae runtime(doc): Add tags about lazyloading of menu (#14688)
Close #14672

Also add the `g:` prefix.

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-01 11:35:32 +02:00
Christian Brabandt
83d3b3b8a4 patch 9.1.0384: tests: vt420 terminfo entry may not be found
Problem:  tests: vt420 terminfo entry may not be found
          (Shane-XB-Qian)
Solution: check existence of terminfo vt420 and infocmp command

related: #14595
closes: #14677

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-30 20:45:09 +02:00
shane.xb.qian
e35478bc9d patch 9.1.0383: filetype: .out files recognized as tex files
Problem:  filetype: .out files recognized as tex files
Solution: Do not set an explicit filetype until it is clear what this
          should be (shane.xb.qian)

closes: #14670

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-30 20:35:53 +02:00
Bruno BELANYI
5cbc9a69e5 patch 9.1.0382: filetype: Kbuild files are not recognized
Problem:  Kbuild files are not recognized.
Solution: Detect Kbuild files as make files.
          (Bruno Belanyi)

closes: #14676

Signed-off-by: Bruno Belanyi <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-30 20:16:01 +02:00
Christian Brabandt
652c821366 patch 9.1.0381: cbuffer and similar commands don't accept a range
Problem:  cbuffer and similar quickfix and locationlist commands don't
          accept a range, even so it is documented they should
          (ilan-schemoul, after 8.1.1241)
Solution: Define ex commands with ADDR_LINES instead of ADDR_OTHER

fixes: #14638
closes: #14657

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29 20:36:49 +02:00
Aliaksei Budavei
c4d0c8c812 runtime(java): Improve the recognition of the "indent" method declarations (#14659)
There is a flaw in the current implementation that has been
exacerbated around v5.2.  It lies in the recognition of all
three indentation styles simultaneously: a tab, two space,
and eight space character(s).  With it, it is not uncommon
to misidentify various constructs as method declarations
when they belong to two-space indented members and other
blocks of a type and are offset at eight space characters or
a tab from the start of the line.

For example,

------------------------------------------------------------
class Test
{
  static String hello() { return "hello"; }

  public static void main(String[] args)
  {
    try {
      if (args.length > 0) {
        // FIXME: eight spaces.
        System.out.println(args[0]);
      } else {
        // FIXME: a tab.
	System.out.println(hello());
      }
    } catch (Exception e) {
      throw new Error(e);
    }
  }
}
------------------------------------------------------------

------------------------------------------------------------
:let g:java_highlight_functions = 'indent'
:doautocmd Syntax
------------------------------------------------------------

A better approach is to pick an only indentation style out
of all supported styles (so either two spaces _or_ eight
spaces _or_ a tab).  Note that tabs and spaces can still be
mixed, only the leading tab or the leading run of spaces
matters for the recognition.  And there is no reason to not
complement the set of valid styles with any number of spaces
from 1 to 8, inclusively.

Please proceed with the necessary change as follows:

- rename from "indent" to "indent2" for a 2-space run;
- rename from "indent" to "indent8" for an 8-space run;
- continue to have "indent" for a tab run;
- define an "indent" variable with a suffix number denoting
  the preferred amount of indentation for any other run of
  spaces [1-8].

As before, this alternative style of recognition of method
declarations still does not prescribe naming conventions and
still cannot recognise method declarations in nested types
that are conventionally indented.

The proposed changes also follow suit of "style" in stopping
the claiming of constructor and enum constant declarations.


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29 20:24:35 +02:00
UM-Li
04e1aaa94e runtime(doc): Fix a typo in usr_30.txt
closes: #14662

Signed-off-by: UM-Li <um-li@tuta.io>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29 20:22:46 +02:00
GodFather
dc5c905541 runtime(jq): remove undefined var s:save_cpoptions and add include setting
closes: #14661
closes: #14663

Co-authored-by: itchyny <itchyny@cybozu.co.jp>
Signed-off-by: GodFather <vito.blog@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-29 20:18:26 +02:00
Marc Sven Schulte
2e9b9e9a9e runtime(asm): missing setlocal in indent plugin (#14658)
Signed-off-by: Marc Sven Schulte <167623652+msschulte@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 21:43:03 +02:00
Luuk van Baal
32d701f51b patch 9.1.0380: Calculating line height for unnecessary amount of lines
Problem:  Calculating line height for unnecessary amount of lines with
          half-page scrolling (zhscn, after 9.1.0280)
Solution: Replace "limit_winheight" argument with higher resolution
          "max" argument to which to limit the calculated line height
          in plines_m_win() to (Luuk van Baal)

fixes: #14650
closes: #14652

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 16:24:02 +02:00
ObserverOfTime
f351fd8292 runtime(ssa): improve syntax file performance (#14654)
fixes: #14653

Signed-off-by: ObserverOfTime <chronobserver@disroot.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 16:22:55 +02:00
zeertzjq
75a73551a1 patch 9.1.0379: There are a few typos
Problem:  There are a few typos
Solution: Fix them (zeertzjq)

closes: #14655

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 16:20:55 +02:00
Yegappan Lakshmanan
fe55c31752 patch 9.1.0378: Vim9: no comments allowed after class vars
Problem:  Vim9: no comments allowed after class vars
          (Christian Robinson, after 9.1.376)
Solution: Allow trailing comments after class vars
          (Yegappan Lakshmanan)

closes: #14651

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-28 09:54:09 +02:00
Christian Brabandt
1125051040 runtime(doc): CI: remove trailing white space in documentation
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 12:01:15 +02:00
Christian Brabandt
86ef815959 patch 9.1.0377: Formatting text wrong when 'breakindent' is set
Problem:  formatting text wrong when 'breakindent' is set
          (Gary Johnson)
Solution: temporarily disable 'breakindent' option when formatting text,
          so that the breakindent is not wrongly taken into account for
          the line length

fixes: #14630
closes: #14637

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:55:08 +02:00
Simon Quigley
92917069b1 runtime(debversions): Add oracular (24.10) as Ubuntu release name
closes: #14645

Signed-off-by: Simon Quigley <simon@tsimonq2.net>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:51:45 +02:00
Yegappan Lakshmanan
ac7731895c patch 9.1.0376: Vim9: Trailing commands after class/enum keywords ignored
Problem:  Vim9: Trailing commands after class/enum keywords ignored
Solution: Remove EX_TRLBAR keyword from command definition
          (Yegappan Lakshmanan)

closes: #14649

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:48:26 +02:00
zeertzjq
340643e977 patch 9.1.0375: tests: 1-second delay after Test_BufEnter_botline()
Problem:  tests: 1-second delay after Test_BufEnter_botline()
          (after v9.1.0374)
Solution: Wipe the created buffers (zeertzjq).

closes: #14647

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:33:24 +02:00
Philip H
93df2285a0 runtime(doc): update helptags for jq syntax (#14646)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-27 11:31:53 +02:00
Vito
79952b9c67 runtime(jq): include syntax, ftplugin and compiler plugin
closes: #14619

Signed-off-by: Vito <vito.blog@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 22:39:41 +02:00
Philip H
9525f62136 runtime(doc): fix typo synconcealend -> synconcealed (#14644)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 19:57:20 +02:00
Maxim Kim
5400a5d426 runtime(comment): include a simple comment toggling plugin
fixes #14626
closes: #14634

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 19:53:13 +02:00
Christian Brabandt
00ae5c5cba runtime(doc): fix typo
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 18:56:21 +02:00
Jaehwang Jung
eb80b8304e patch 9.1.0374: wrong botline in BufEnter
Problem:  When :edit an existing buffer, line('w$') may return a
          wrong result.
Solution: Reset w_valid in curwin_init() (Jaehwang Jung)

`do_ecmd()` reinitializes the current window (`curwin_init()`) whose
`w_valid` field may have `VALID_BOTLINE` set. Resetting `w_botline`
without marking it as invalid makes subsequent `validate_botline()`
calls a no-op, thus resulting in wrong `line('w$')` value.

closes: #14642

Signed-off-by: Jaehwang Jung <tomtomjhj@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 18:48:48 +02:00
Philip H
4b9fc8247a CI: ubuntu-toolchain-r/test repository will be removed (#14641)
* CI: ubuntu-toolchain-r/test repository will be removed

The ubuntu-toolchain-r/test PPA will be removed from Ubuntu images.
The images rollout process will start on May 6 and take 3-4 days.
Mitigation ways

The repository can still be added manually in runtime by calling to following commands:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update -y

* fixup: add a note what this repo is for

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 18:45:41 +02:00
Christian Brabandt
fe1e2b5e2d runtime(doc): clarify syntax vs matching mechanism
fixes: #14643

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-26 18:44:03 +02:00
Christian Brabandt
98b12ede31 runtime(asm): fix undefined variable in indent plugin
It's an indent script, so we need to set the  b:undo_indent variable
instead of the b:undo_ftplugin var.

fixes: #14602

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 22:42:05 +02:00
John Marriott
38b9f45253 patch 9.1.0373: ops.c code uses too many strlen() calls
Problem:  ops.c code uses too many strlen() calls
Solution: Refactor code and remove more strlen() calls
          (John Marriott)

closes: #14598

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:39:18 +02:00
zeertzjq
f68517c167 patch 9.1.0372: Calling CLEAR_FIELD() on the same struct twice
Problem:  Calling CLEAR_FIELD() on the same struct twice.
Solution: Remove the second CLEAR_FIELD().  Move the assignment of
          cookie.sourceing_lnum (zeertzjq).

closes: #14627

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:34:10 +02:00
Yegappan Lakshmanan
f6c1fb20e3 patch 9.1.0371: Vim9: compile_def_function() still too long
Problem:  Vim9: compile_def_function() still too long
Solution: Refactor the code into separate functions
          (Yegappan Lakshmanan)

closes: #14632

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:33:24 +02:00
Ivan Pešić
e679a37e17 translation(sr): Update Serbian messages (#14633)
Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:29:58 +02:00
RestorerZ
ec67ee09d2 patch 9.1.0370: MS-Windows: patch number is zero in installer
Problem:  MS-Windows: patch number is zero in installer
          (jonathan-b-wiebe)
Solution: Set VIM_VERSION_PATCHLEVEL, fix a few typos in the installer
          (RestorerZ)

fixes: #14629
closes: #14635

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:25:19 +02:00
Christian Brabandt
addf9ed620 runtime(doc): clarify the effect of setting the shell to powershell
fixes: #14636

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-25 21:21:37 +02:00
Aliaksei Budavei
a4c085a3e6 runtime(java): Improve the recognition of the "style" method declarations
- Request the new regexp engine (v7.3.970) for [:upper:] and
  [:lower:].

- Recognise declarations of in-line annotated methods.

- Recognise declarations of _strictfp_ methods.

- Establish partial order for method modifiers as shown in
  the MethodModifier production; namely, _public_ and
  friends should be written the leftmost, possibly followed
  by _abstract_ or _default_, or possibly followed by other
  modifiers.

- Stop looking for parameterisable primitive types (void<?>,
  int<Object>, etc., are malformed).

- Stop looking for arrays of _void_.

- Acknowledge the prevailing convention for method names to
  begin with a small letter and for class/interface names to
  begin with a capital letter; and, therefore, desist from
  claiming declarations of enum constants and constructors
  with javaFuncDef.
  Rationale:
    + Constructor is distinct from method:
      * its (overloaded) name is not arbitrary;
      * its return type is implicit;
      * its _throws_ clause depends on indirect vagaries of
        instance (variable) initialisers;
      * its invocation makes other constructors of its type
        hierarchy invoked one by one, concluding with the
        primordial constructor;
      * its explicit invocation, via _this_ or _super_, can
        only appear as the first statement in a constructor
        (not anymore, see JEP 447); else, its _super_ call
        cannot appear in constructors of _record_ or _enum_;
        and neither invocation is allowed for the primordial
        constructor;
      * it is not a member of its class, like initialisers,
        and is never inherited;
      * it is never _abstract_ or _native_.
    + Constructor declarations tend to be few in number and
      merit visual recognition from method declarations.
    + Enum constants define a fixed set of type instances
      and more resemble class variable initialisers.

Note that the code duplicated for @javaFuncParams is written
keeping in mind for g:java_highlight_functions a pending 3rd
variant, which would require none of the :syn-cluster added
groups.

closes: #14620

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-24 21:04:25 +02:00
Ernie Rael
3f821d6de2 patch 9.1.0369: Vim9: problem when importing autoloaded scripts
Problem:  Vim9: problem when importing autoloaded scripts
Solution: In `:def` handle storing to vim9 autoload export
          (Ernie Rael)

Problem occurs when `import autoload ./.../autoload/...`. The autoload
in the specified path causes the use of an autoload_prefix which combines
with the `import autoload` to create trouble.

In `generate_store_var()` `case dest_script` use ISN_STOREEXPORT,
when needed, instead of ISN_STORES. When executing ISN_STOREEXPORT,
check for autoload_prefix.

fixes: #14606
closes: #14615

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2024-04-24 20:07:50 +02:00
Philip H
04e8943556 CI: remove microsoft-prod.list repository (#14628)
This is added by default, and it is often broken, but we don't need anything from it.

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-24 19:55:11 +02:00
RestorerZ
dc5cd1cac1 patch 9.1.0368: MS-Windows: Hard to define the Vim Patchlevel with leading zeroes
Problem:  MS-Windows: Hard to define the Vim Patchlevel with leading
          zeroes for the installer
Solution: re-define VIM_VERSION_PATCHLEVEL_STR with leading zeroes,
          interpret Patchlevel as decimal in Make_mvc.mak
          (RestorerZ)

closes: #14471

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-23 20:33:38 +02:00
Yegappan Lakshmanan
a16f251333 patch 9.1.0367: compile_def_function is too long
Problem:  compile_def_function is too long
Solution: Move out the code to compile the body of a function
          (Yegappan Lakshmanan)

closes: #14622

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-23 20:14:46 +02:00
Jon Parise
ea999037a4 patch 9.1.0366: filetype: ondir files are not recognized
Problem:  filetype: ondir files are not recognized
Solution: Detect '.ondirrc' as ondir filetype
          (Jon Parise)

closes: #14604

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 21:07:41 +02:00
zeertzjq
6b13e3d4e4 patch 9.1.0365: Crash when typing many keys with D- modifier
Problem:  Crash when typing many keys with D- modifier (after 9.1.0227).
Solution: Don't treat a 0x80 byte inside a special sequence as the start
          of a special sequence (zeertzjq).

closes: #14613

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 21:04:29 +02:00
Yegappan Lakshmanan
22697b6179 patch 9.1.0364: tests: test_vim9_builtin is a bit slow
Problem:  tests: test_vim9_builtin is a bit slow
Solution: source tests from a buffer instead of
          writing and sourcing a file (Yegappan Lakshmanan)

closes: #14614

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 20:58:24 +02:00
RestorerZ
f7a38650ea runtime(doc): update documentation
closes: #14616

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 20:55:32 +02:00
Restorer
fbeea681ce CI: change the download URL of "libsodium" (#14618)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-22 20:48:43 +02:00
Yegappan Lakshmanan
4baf908d60 patch 9.1.0363: tests: test_winfixbuf is a bit slow
Problem:  tests: test_winfixbuf is a bit slow
Solution: use defer if possible, reset hidden option, use --not-a-term
          when starting Vim using system() (Yegappan Lakshmanan)

closes: #14611

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 19:50:21 +02:00
Philip H
d3ff129ce8 runtime(astro): Add filetype, syntax and indent plugin
related: #14558
closes: #14561

ported from: https://github.com/wuelnerdotexe/vim-astro

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 15:50:31 +02:00
Christian Brabandt
b09fa35a04 patch 9.1.0362: expanding rc config files does not work well
Problem:  expanding rc config files does not work well
          (Michał Sieroń, after v9.1.0327)
Solution: initialize chartab option, required to expand
          evironment variables

fixes: #14597

Co-authored-by: author
Signed-off-by: author
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 14:55:36 +02:00
Yegappan Lakshmanan
5eaa4d98f7 patch 9.1.0361: Vim9: vim9type.c is too complicated
Problem:  Vim9: vim9type.c is too complicated
Solution: Refactor a few functions in vim9type.c
          (Yegappan Lakshmanan)

closes: #14605

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 14:48:57 +02:00
Ernie Rael
84f6dc7ed2 patch 9.1.0360: Vim9: does not handle autoloaded variables well
Problem:  Vim9: does not handle autoloaded variables well
Solution: Better handle script-level exported variable references from
          autoload files (Ernie Rael).

fixes: #14591
closes: #14607

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-21 14:45:48 +02:00
Diego Viola
158673680f runtime(doc): minor spell fix in starting.txt
closes: #14608

Signed-off-by: Diego Viola <diego.viola@gmail.com>
2024-04-21 14:40:42 +02:00
Yegappan Lakshmanan
f135fa28e4 patch 9.1.0359: MS-Windows: relative import in a script sourced from a buffer doesn't work
Problem:  MS-Windows: Relative import in a script sourced from a buffer
          doesn't work (Ernie Rael)
Solution: Set a filename, so that we are not trying to use
          script-relative filename (Yegappan Lakshmanan)

When a script is sourced from a buffer, the file name is set to ":source
buffer=". In MS-Windows, the ":" is a path separator character (used
after a drive letter). This results in the code trying to use the ":"
prefix to import the script on MS-Windows. To fix this, when importing a
script from a script sourced from a buffer with nofile, don't use
a script relative path name.

fixes #14588
closes: #14603

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 18:31:21 +02:00
h-east
8927c9b720 patch 9.1.0358: wrong drawing in GUI with setcellwidth()
Problem:  wrong drawing in GUI with setcellwidth()
          (after v9.1.0344)
Solution: move gui.in_use condition (h-east)

closes: #14600

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 18:04:06 +02:00
Wu, Zhenyu
564166f681 ftplugin(cmake): Add include and suffixesadd
closes: #14520

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 17:55:05 +02:00
Luuk van Baal
4b6b0c4024 patch 9.1.0357: Page scrolling should place cursor at window boundaries
Problem:  Page scrolling does not always place the cursor at the top or
          bottom of the window (Mathias Rav)
Solution: Place the cursor at the top or bottom of the window.
          (Luuk van Baal)

fixes: #14585
closes: #14586

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 17:38:20 +02:00
Christian Brabandt
59356019eb runtime(doc): align command line table
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-20 17:12:59 +02:00
Diego Viola
a13290f823 runtime(doc): minor fixes to starting.txt
closes: #14593

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-19 15:51:44 +02:00
Christian Brabandt
349f5cd818 patch 9.1.0356: MS-Windows: --remote may change working directory
Problem:  MS-Windows: --remote may change working directory when
          'shellslash' is set
Solution: normalize directory separators on MS-Windows

fixes: #14549
closes: #14587

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-19 15:26:21 +02:00
Bruno BELANYI
cee034112d runtime(bp): fix comment definition in filetype plugin (#14594)
I somehow messed up the previous patch, I think a copy-paste error when
creating the file.

Blueprint files have C and C++ style comments, not shell-like '#'
comments.

Signed-off-by: Bruno BELANYI <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-19 15:19:31 +02:00
Riley Bruins
ce736033ae patch 9.1.0355: filetype: flake.lock files are not recognized
Problem:  filetype: flake.lock files are not recognized
Solution: Detect 'flake.lock' as json filetype
          (Riley Bruins)

closes: #14589

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-19 15:13:38 +02:00
Colin Caine
4b3fab14db patch 9.1.0354: runtime(uci): No support for uci file types
Problem:  runtime(uci): No support for uci file types
          (Wu, Zhenyu)
Solution: include basic uci ftplugin and syntax plugins
          (Colin Caine)

closes: #14575

Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Colin Caine <complaints@cmcaine.co.uk>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 23:53:02 +02:00
Aliaksei Budavei
36e667ab83 runtime(java): Support "g:ftplugin_java_source_path" with archived files
Also, document for "g:ftplugin_java_source_path" its current
modification of the local value of the 'path' option.

closes: #14570

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 23:08:59 +02:00
Ernie Rael
6f1d05b85a patch 9.1.0353: tests: Test_autoload_import_relative_compiled fails on Windows
Problem:  tests: Test_autoload_import_relative_compiled fails on Windows
Solution: Disable on Windows for now, add missing :bw for clean-up (Ernie Rael)

closes: #14579

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 22:53:33 +02:00
John Marriott
ed908f760d patch 9.1.0352: Finding cmd modifiers and cmdline-specials is inefficient
Problem:  Finding cmd modifiers and cmdline-specials is inefficient
Solution: Use binary search to find ex command modifiers and
          cmdline-special characters and reduce the number of strlen()
          (John Marriott)

closes: #14534

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 22:46:56 +02:00
zeertzjq
094c4390bd patch 9.1.0351: No test that completing a partial mapping clears 'showcmd'
Problem:  No test that completing a partial mapping clears 'showcmd'.
Solution: Complete partial mappings in Test_showcmd_part_map() instead
          of using :echo.  Adjust some comments (zeertzjq).

closes: #14580

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 22:09:37 +02:00
Julio B
1fa22e3ad6 patch 9.1.0350: tests: test_vim9_dissamble may fail
Problem:  tests: test_vim9_dissamble may fail
Solution: Instead of hard-coding the lambda number, accept
          just any number (Julio B)

closes: #14581

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 22:05:12 +02:00
Yegappan Lakshmanan
76ba252e61 patch 9.1.0349: Vim9: need static type for typealias
Problem:  Vim9: need static type for typealias
Solution: Refactor the typval2type() function and add a static type for
          typealias (Yegappan Lakshmanan)

closes: #14582

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 21:33:27 +02:00
lilydjwg
baedc998b0 patch 9.1.0348: X11 does not ignore smooth scroll event
Problem:  X11 does not ignore smooth scroll event
          (laniakea64)
Solution: Correctly ignore unwanted smooth scroll events on X11
          (lilydjwg)

fixes #14578
closes: #14583

Signed-off-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 21:25:36 +02:00
Diego Viola
133ed2a592 patch 9.1.0347: A few typos in test_xdg when testing gvimrc
Problem:  A few typos in test_xdg when testing gvimrc
Solution: Fix them (Diego Viola)

closes: #14584

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-18 20:58:02 +02:00
Ernie Rael
1433ac93eb patch 9.1.0346: Patch v9.1.0338 fixed sourcing a script with import
Problem:  Patch v9.1.0338 fixed sourcing a script with import
Solution: Add test `import './file.vim' and verify it works with `:source`
          so it does not regress (Ernie Rael)

closes: #14577

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-17 22:39:34 +02:00
Maxim Kim
a34ba82107 patch 9.1.0345: Problem: gvimrc not sourced from XDG_CONFIG_HOME
Problem:  gvimrc not sourced from XDG_CONFIG_HOME (after v9.1.0327)
Solution: Also try to source from ~/.config/vim/gvimrc and
          $XDG_CONFIG_HOME/vim/gvimrc (Maxim Kim)

fixes: #14567
closes: #14568

Signed-off-by: Maxim Kim <habamax@haba-debian.habamax>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-17 22:30:50 +02:00
mikoto2000
e20fa59903 patch 9.1.0344: Cursor wrong after using setcellwidth() in terminal
Problem:  Cursor wrong after using setcellwidth() in terminal
          (mikoto2000)
Solution: output additional spaces, so the behaviour matches the GUI
          (mikoto2000)

fixes: #14539
closes: #14540

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Fix CUI `setcellwidths` characters draw behavior to same GUI behavior.
2024-04-17 22:06:54 +02:00
zeertzjq
acdfb8a979 patch 9.1.0343: 'showcmd' wrong for partial mapping with multibyte
Problem:  'showcmd' is wrong for partial mapping with multibyte char,
          and isn't very readable with modifyOtherKeys.
Solution: Decode multibyte char and merge modifiers into the char.
          (zeertzjq)

This improves the following situations:
- Multibyte chars whose individual bytes are considered unprintable are
  now shown properly in 'showcmd' area.
- Ctrl-W with modifyOtherKeys now shows ^W in 'showcmd' area.

The following situation may still need improvement:
- If the char is a special key or has modifiers that cannot be merged
  into it, internal keycodes are shown in 'showcmd' area like before.
  This applies to keys typed in Normal mode commands as well, and it's
  hard to decide how to make it more readable due to the limited space
  taken by 'showcmd', so I'll leave it for later.

closes: #14572

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-17 21:28:54 +02:00
Julio B
ae7e61c928 patch 9.1.0342: tests: test_taglist fails when 'helplang' contains non-english
Problem:  tests: test_taglist fails when 'helplang' contains non-english
Solution: Allow 1 or 2 tagfiles for now (Julio B)

related: #14312
closes: #14566

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:59:31 +02:00
Christian Brabandt
29269a71b5 patch 9.1.0341: Problem: a few memory leaks are found
Problem:  a few memory leaks are found
          (LuMingYinDetect )
Solution: properly free the memory

Fixes the following problems:
- Memory leak in f_maplist()
  fixes: #14486

- Memory leak in option.c
  fixes: #14485

- Memory leak in f_resolve()
  fixes: #14484

- Memory leak in f_autocmd_get()
  related: #14474

- Memory leak in dict_extend_func()
  fixes: #14477
  fixes: #14238

closes: #14517

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:44:31 +02:00
Christian Brabandt
f7d31adcc2 patch 9.1.0340: Problem: Error with matchaddpos() and empty list
Problem:  Error with matchaddpos() and empty list
          (@rickhow)
Solution: Return early for an empty list

fixes: #14525
closes: #14563

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:23:17 +02:00
Yegappan Lakshmanan
8560e6cf97 patch 9.1.0339: tests: xdg test uses screen dumps
Problem:  tests: xdg test uses screen dumps
Solution: Convert screen dump to normal test
          (Yegappan Lakshmanan)

closes: #14564

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:19:38 +02:00
Ernie Rael
9a90179a11 patch 9.1.0338: Vim9: import through symlinks not correctly handled
Problem:  Vim9: import through symlinks not correctly handled
Solution: Check for script being a symlink but only once
          (Ernie Rael)

closes: #14565

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 22:11:56 +02:00
Diego Viola
d1068a2bb0 patch 9.1.0337: Missing entry for XDG vimrc file in :version
Problem:  Missing entry for XDG vimrc file in :version
Solution: Add 4th user vimrc entry to :version output
          (Diego Viola)

related: #14182
closes: #14569

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-16 21:50:33 +02:00
Diego Viola
2da68c8b61 patch 9.1.0336: tests: typo in test_xdg
Problem:  tests: typo in test_xdg
Solution: fix typo (Diego Viola)

closes: #14562

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 20:08:38 +02:00
Josef Litoš
dd83b63eb5 runtime(i3config/swayconfig): update syntax scripts
modifications with the goals of:
- simplifying structure by using group `cluster`s
- improving visual highlighting responsiveness by using `nextgroup`
- improving recursive wm-msg command highlighting
- separating command variants meant for runtime and for config only

closes: #14544

Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:38:04 +02:00
Konfekt
fb8f31ea7d runtime(doc): document pandoc compiler and enable configuring arguments
closes: #14550

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:33:33 +02:00
Yegappan Lakshmanan
bce51d9005 patch 9.1.0335: String interpolation fails for List type
Problem:  String interpolation fails for List type
Solution: use implicit string(list) for string interpolation and :put =
          (Yegappan Lakshmanan)

related: #14529
closes: #14556

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:19:52 +02:00
zeertzjq
a59e031aa0 patch 9.1.0334: No test for highlight behavior with 'ambiwidth'
Problem:  No test for highlight behavior with 'ambiwidth'.
Solution: Add a screendump test for 'ambiwidth' with 'cursorline'.
          (zeertzjq)

closes: #14554

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:14:38 +02:00
Christian Brabandt
29358d2a18 patch 9.1.0333: tests: test_xdg fails on the appimage repo
Problem:  tests: test_xdg fails on the appimage repo
Solution: compare only the last 30 right characters of $MYVIMRC

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:11:15 +02:00
zeertzjq
757f32141b patch 9.1.0332: tests: some assert_equal() calls have wrong order of args
Problem:  tests: some assert_equal() calls have wrong order of args
Solution: Correct the order (zeertzjq).

closes: #14555

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 19:01:04 +02:00
Matt Hammerly
fc1dabd77b patch 9.1.0331: make install does not install all files
Problem:  make install does not install all files (Nick Jensen)
Solution: Adjust the Makefile rule to install and uninstall cargo and
          rust directories (Matt Hammerly)

fixes: #14551
closes: #14552
closes: #14557

Signed-off-by: Matt Hammerly <hammerly.matt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 18:54:38 +02:00
Diego Viola
014b7759e3 runtime(doc): fix typos in starting.txt
closes: #14559

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-15 18:51:58 +02:00
Christian Brabandt
f231934965 patch 9.1.0330: v9.1.0327 contains an unrelated change
Problem:  v9.1.0327 contains an unrelated change
Solution: Revert back $USR_VIMRC_FILE to $HOME instead of ~

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 23:45:16 +02:00
Yegappan Lakshmanan
f01493c550 patch 9.1.0329: String interpolation fails for Dict type
Problem:  String interpolation fails for Dict type
Solution: Support Dict data type properly, also support :put =Dict
          (without having to convert it to string() first)
          (Yegappan Lakshmanan)

fixes: #14529
closes: #14541

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 23:21:02 +02:00
Christian Brabandt
0d87e3c711 patch 9.1.0328: CI fails with t_?? test
Problem:  CI fails with t_?? test
Solution: use assert_match instead of assert_equal
          and test only until t_xo, depending on system
          there may be several more termcap codes coming

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 23:15:05 +02:00
Luca Saccarola
c9df1fb35a patch 9.1.0327: No support for using $XDG_CONFIG_HOME
Problem:  No support for using $XDG_CONFIG_HOME
Solution: optionally source $XDG_CONFIG_HOME/vim/vimrc
          (Luca Saccarola)

fixes: #2034
closes: #14182

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 22:57:50 +02:00
Wu, Zhenyu
f9f5424d3e patch 9.1.0326: filetype: some requirements files are not recognized
Problem:  filetype: some requirements files are not recognized
Solution: Detect '*-requirements.txt', 'constraints.txt',
          'requirements.in', 'requirements/*.txt' and 'requires/*.txt'
          as requirements filetype, include pip compiler, include
          requirements filetype and syntax plugin
          (Wu, Zhenyu, @raimon49)

closes: #14379

Co-authored-by: raimon <raimon49@hotmail.com>
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:43:27 +02:00
Wu, Zhenyu
62c09e032c patch 9.1.0325: filetype: CMakeCache.txt files not recognized
Problem:  filetype: CMakeCache.txt files not recognized
Solution: Detect 'CMakeCache.txt' files as cmakecache filetype,
          include basic syntax script for cmakecache
          (Wu, Zhenyu, @bfrg)

closes: #14384

Co-authored-by: bfrg <bfrg@users.noreply.github.com>
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:34:22 +02:00
dkearns
4ba70cab37 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Only match function folding start and end patterns at the start of a
line, excluding heredocs and :append/:change/:insert commands.

Fixes #14393

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
2024-04-14 20:32:56 +02:00
Wu, Zhenyu
c59a8648b2 patch 9.1.0324: filetype: some json files are not recognized
Problem:  filetype: some json files are not recognized
Solution: Detect '.jscsrc' and '.vsconfig' as jsonc filetype
          (Wu, Zhenyu)

See:
- https://github.com/microsoft/PowerToys/blob/main/.vsconfig
- https://jscs-dev.github.io/

closes: #14452

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:29:43 +02:00
wzy
8a31de6dd2 compiler(rime_deployer): include new compiler, use it for '*.custom.yaml' files (#14460)
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:28:29 +02:00
Wu, Zhenyu
799dedec0e patch 9.1.0323: filetype: cabal config files may not be recognized
Problem:  filetype: cabal config files may not be recognized
Solution: Change filetype pattern to '*/{,.}cabal/config'
          (Wu Zhenyu)

closes: #14498

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:22:19 +02:00
Shane-XB-Qian
e92ed1b45c runtime(vim): don't set compiler, update a comment for vimdoc compiler (#14532)
Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:20:01 +02:00
shane.xb.qian
a7a9a476cf patch 9.1.0322: filetype: some mail tools not recognized
Problem:  filetype: some mail tools not recognized
Solution: Detect '.mbsncrc' as conf, '.msmtprc' as msmtp
          and '.notmuch-config' as ini filetype
          (Shane-XB-Qian)

closes: #14533

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:17:14 +02:00
Anton Sharonov
49528da8a6 patch 9.1.0321: Garbled output on serial terminals with XON/XOFF flow control
Problem:  When used terminal with XON/XOFF flow control, vim tries to
          still make CTRL-S mapping available, which results in severe
          screen corruption, especially on large redraws, and even
          spurious inputs (John Tsiombikas)
Solution: Disallow CTRL-S mapping if such terminal is recognized.
          Don't remove IXON from the bitmask inversion.
          (Anton Sharonov)

*** When started like this:

    TERM=vt420 vim

:set termcap

    shows "t_xon=y"

map <C-S> :echo "abc"<CR>

    does nothing (after <C-S> output freezes and subsequent <C-Q>
    unfreezes it)

*** When started like this:

    TERM=xterm vim

:set termcap

    shows "t_xon="

map <C-S> :echo "abc"<CR>

    works (after <C-S> one see "abc" string echo-ed)

fixes: #12674
closes: #14542

Signed-off-by: Anton Sharonov <anton.sharonov@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 20:02:50 +02:00
Aliaksei Budavei
4052474a1b runtime(java): Recognise non-ASCII identifiers (#14543)
* runtime(java): Recognise non-ASCII identifiers

Also:

- Remove the already commented out and less general in its
  definition javaFuncDef alternative.

- Stop recognising some bespoke {p,trace} debugging API.

Non-ASCII identifiers have been supported from the outset
of the Java language.

> An _identifier_ is an unlimited-length sequence of _Java
> letters_ and _Java digits_, the first of which must be a
> Java letter.  An identifier cannot have the same spelling
> (Unicode character sequence) as a keyword . . . Boolean
> literal . . . or the null literal . . .
> . . . . . . . .
> Letters and digits may be drawn from the entire Unicode
> character set . . .
> . . . . . . . .
> A Java letter is a character for which the method
> Character.isJavaLetter . . . returns true.  A Java
> letter-or-digit is a character for which the method
> Character.isJavaLetterOrDigit . . . returns true.
> . . . . . . . .
> The Java letters include . . . for historical reasons, the
> ASCII underscore (_) . . . and dollar sign ($) . . .

(Separate syntax tests will be written when particular parts
now touched will have been further improved.)

Reference:
https://javaalmanac.io/jdk/1.0/langspec.pdf [§3.8]

* Take on the maintenance of Java filetype and syntax files


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 18:57:00 +02:00
zeertzjq
05aacec6ab patch 9.1.0320: Wrong cursor position after using setcellwidths()
Problem:  Wrong cursor position after using setcellwidths().
Solution: Invalidate cursor position in addition to redrawing.
          (zeertzjq)

closes: #14545

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 18:52:49 +02:00
zeertzjq
3d93630605 patch 9.1.0319: Using heredoc in string not tested with :execute
Problem:  Using heredoc in string not tested with :execute.
Solution: Test with both :execute and execute() (zeertzjq).

closes: #14546

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 18:49:56 +02:00
Philip H
acba5af957 CI: use explicit version tags for macos runners (#14548)
as we do on others like ubuntu

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-14 18:48:34 +02:00
Wu, Zhenyu
4b5cd7257e patch 9.1.0318: filetype: translate shell config files are not recognized
Problem:  filetype: translate shell config files are not recognized
Solution: Detect 'init.trans', 'translate-shell' and '.trans' files as
          clojure (Wu, Zhenyu)

See: https://github.com/soimort/translate-shell/wiki/Configuration

closes: #14499

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:28:28 +02:00
Wu, Zhenyu
55d4f3c006 patch 9.1.0317: filetype: matplotlibrc files are not recognized
Problem:  filetype: matplotlibrc files are not recognized
Solution: Detect 'matplotlibrc' file as yaml filetype
          (Wu, Zhenyu)

See: https://matplotlib.org/stable/users/explain/customizing.html#the-matplotlibrc-file

closes: #14501

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:25:38 +02:00
Doug Kearns
ce06493aeb runtime(vim): Update base-syntax, add legacy header folding
Allow for syntax-based folding of Vim9 script legacy header regions.

This is enabled with the "H" flag of the g:vimsyn_folding config variable.

closes: #14530

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
2024-04-13 18:24:01 +02:00
Wu, Zhenyu
5a9f7e6750 patch 9.1.0316: filetype: some sh and confini files not recognized
Problem:  filetype: some sh and confini files not recognized
Solution: Detect neofetch, '.xprofile', XDG-User-Dirs files,
          paru and makepkg config files
          (Wu, Zhenyu)

See:
- https://github.com/dylanaraps/neofetch/wiki/Customizing-Info#config-file-location
- https://www.freedesktop.org/wiki/Software/xdg-user-dirs/

closes: #14505

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:19:20 +02:00
Wu, Zhenyu
0881329d12 patch 9.1.0315: filetype: a few more dosini files are not recognized
Problem:  filetype: a few more dosini files are not recognized
Solution: Detect wakatime, reply config files, flatpak, nfs config files
          and a few more python tools as dosini (or toml)
          (Wu, Zhenyu)

Refer:
- https://packaging.python.org/en/latest/specifications/pypirc/
- https://jorisroovers.com/gitlint/latest/configuration/
- https://pylint.pycqa.org/en/latest/user_guide/usage/run.html#command-line-options
- https://docs.bpython-interpreter.org/en/latest/configuration.html
- https://mypy.readthedocs.io/en/stable/config_file.html#the-mypy-configuration-file
- https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html#configuration-via-a-file
- https://github.com/wakatime/wakatime-cli?tab=readme-ov-file#usage
- https://metacpan.org/dist/Reply/view/bin/reply#-cfg-~/.replyrc

close: #14512

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:13:42 +02:00
julio-b
5392970921 runtime(i3config): Line continuation is not detected for 'set' command (#14531)
Problem:  Valid i3config syntax is highlighted as error.
Solution: Skip over line-breaks correctly.

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Josef Litoš <54900518+JosefLitos@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:10:10 +02:00
Yegappan Lakshmanan
c51578fed8 patch 9.1.0314: Vim9: Can define a class in a function
Problem:  Vim9: Can define a class in a function
          (Doug Kearns)
Solution: Give an error for a class defined in a function,
          slightly reword some public error messages
          (Yegappan Lakshmanan)

fixes: #13184
fixes: #13326
closes: #14537

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 18:04:53 +02:00
Linda_pp
122d068585 runtime(go): fix highlighting import string followed by some comment (#14538)
Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 17:56:17 +02:00
zeertzjq
1f5175d9af patch 9.1.0313: Crash when using heredoc with comment in command block
Problem:  Crash when using heredoc with comment in command block.
Solution: Handle a newline more like the end of the line, fix coverity
          warning (zeertzjq).

closes: #14535

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-13 17:52:26 +02:00
Yegappan Lakshmanan
e74cad3321 patch 9.1.0312: heredocs are not supported for :commands
Problem:  heredocs are not supported for :commands
          (@balki)
Solution: Add heredoc support
          (Yegappan Lakshmanan)

fixes: #14491
closes: #14528

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:53:08 +02:00
Wu, Zhenyu
a1dcd76ce7 patch 9.1.0311: filetype: Some config files are not recognized
Problem:  Some config files are not recognized
Solution: Add some patterns for chktex, ripgreprc and ctags config
          files.

See: https://www.nongnu.org/chktex/
See: https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md#configuration-file
See: https://docs.ctags.io/en/latest/option-file.html#order-of-loading-option-files

closes: #14506

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:46:05 +02:00
zeertzjq
9232554087 patch 9.1.0310: Filler lines not checked properly in get_scroll_overlap()
Problem:  Filler lines not checked properly in get_scroll_overlap().
Solution: Add missing parentheses (zeertzjq).

The missing parentheses causes the second argument to diff_check_fill()
to always be 0 as it is the result of a comparison between a positive
integer and -1 (the value of BACKWARD), in which case diff_check_fill()
always returns 0 instead of the number of filler lines above a line.

It's very hard to add a test for this, because this mistake at most
leads to 2 screen lines of difference in scrolling behavior, and in
cases where it may indeed lead to a difference in behavior, neither
behavior achieves complete symmetry between CTRL-F and CTRL-B.

closes: #14527

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:38:38 +02:00
wzy
0549c503ba runtime(dts): include ftplugin support (#14522)
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:36:57 +02:00
Christian Brabandt
159dc0fcf9 runtime(kconfig): add include to ftplugin (#14524)
related: #14521

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 18:33:48 +02:00
Christian Brabandt
83424105cb runtime(doc): mention :argded for :argedit
related: #14464

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-12 10:17:57 +02:00
Christian Brabandt
c858382482 Problem: Commit 6f585d breaks CI
Problem:  Commit 6f585d breaks CI
Solution: Don't error out, simply return an error message.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 23:10:54 +02:00
Christian Brabandt
bba79808cb patch 9.1.0309: crash when 'textwidth' > MAX_INT
Problem:  crash when 'textwidth' > MAX_INT (after vv9.1.0055)
          (Zoltan Balogh)
Solution: limit textwidth to MAX_INT

fixes: #14482
closes: #14489

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 22:54:44 +02:00
Antonio Giovanni Colombo
7b0c4b64e3 runtime(doc): typo in intro.txt 2024-04-11 22:11:21 +02:00
Christian Brabandt
6f585da00b Overlong translation files may cause repo to become "dirty"
Problem:  Overlong translation files may cause repo to become "dirty"
Solution: Add a test into check.vim to warn for lines being longer than
          80 virt columns

related: #14490

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 22:05:11 +02:00
Vladimír Marek
87319173ba patch 9.1.0308: configure: msgfmt hardcoded
Problem:  configure: msgfmt hardcoded (after v9.1.0173)
Solution: use $MSGFMT instead of msgfmt in configure script,
          regenerate the configure script
          (Vladimír Marek)

fixes: #14515

Signed-off-by: Vladimír Marek <vlmarek13@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 21:57:02 +02:00
Wu, Zhenyu
fcbefe74f1 runtime(compiler): add vimdoc
closes: #14459

https://github.com/google/vimdoc generates vim help files from vimscript files

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 21:25:39 +02:00
Christian Brabandt
3cb2b37767 runtime(doc): clarify behaviour or :argadd and :argedit
related: #14464

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 21:21:51 +02:00
Wu, Zhenyu
7fdbd1bb58 patch 9.1.0307: filetype: texdoc config files is not recognized
Problem:  filetype: texdoc config files is not recognized
Solution: Detect 'texdoc.cnf' as conf filetype
          (Wu, Zhenyu)

See: https://github.com/TeX-Live/texdoc/blob/master/texdoc.cnf

closes: #14507

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 20:53:33 +02:00
Wu, Zhenyu
58ce78ad43 patch 9.1.0306: filetype: x11vnc config file is not recognized
Problem:  filetype: x11vnc config file is not recognized
Solution: Detect '.x11vncrc' as conf filetype
          (Wu, Zhenyu)

See: https://linux.die.net/man/1/x11vnc

closes: #14511

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 20:47:45 +02:00
Wu, Zhenyu
da70feabea patch 9.1.0305: filetype: some history files are not recognized
Problem:  filetype: some history files are not recognized
Solution: Add some history patterns to filetype.vim
          (Wu, Zhenyu)

closes: #14513

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-11 20:43:00 +02:00
Wu, Zhenyu
dbca7d8045 ftplugin(asm): add Matchit support
closes: #14461

Refer https://github.com/vim/vim/blob/master/runtime/ftplugin/masm.vim#L18-L29

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:58:03 +02:00
Wu, Zhenyu
1492fe6903 patch 9.1.0304: filetype: cgdb config file is not recognized
Problem:  filetype: cgdb config file is not recognized
Solution: Detect cgdbrc files as cgdbrc filetype
          (Wu, Zhenyu)

closes: #14458

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:52:40 +02:00
Wu, Zhenyu
27f17a6d34 runtime(asm): add basic indent support
closes: #14383

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:48:57 +02:00
Wu, Zhenyu
556c621659 ftplugin(gdb): add matchit support
closes: #14462

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:44:21 +02:00
Bruno BELANYI
e54a8e7c73 patch 9.1.0303: filetype: some protocol buffer files not recognized
Problem:  filetype: some protocol buffer files not recognized
Solution: Detect '*.textproto', '*.textpb', '*.txtpb' as pbtxt files
          (Bruno Belanyi)

See: https://protobuf.dev/reference/protobuf/textformat-spec/#text-format-files

closes: #14463

Signed-off-by: Bruno BELANYI <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:34:42 +02:00
Bruno BELANYI
6be7ef5bc7 patch 9.1.0302: filetype: blueprint files are not recognized
Problem:  filetype: blueprint files are not recognized
Solution: Detect '*.bp' files as blueprint files, add
          a minimal filetype plugin (Bruno Belanyi)

See: https://source.android.com/docs/setup/build

closes: #14488

Signed-off-by: Bruno BELANYI <bruno@belanyi.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:28:28 +02:00
dkearns
04e5363b82 runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
This is a first-pass attempt to limit matching of Vim9 and legacy-script
comments to the appropriate syntactic contexts.

Vim9-script comments are highlighted at top level in a Vim9-script file,
in all :def functions, and in all :autocmd and :commmand command blocks.
Legacy-script comments are highlighted at top level in a legacy script
file, in all :func functions and in the Vim9-script preamble before the
:vim9script marker command.

Fixes #13047, #11307 and #9587.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 22:18:37 +02:00
zeertzjq
1817ccdb10 patch 9.1.0301: Vim9: heredoc start may be recognized in string
Problem:  Vim9: heredoc start may be recognized in string.
Solution: Don't skip to closing bracket for invalid list assignment.
          (zeertzjq)

closes: #14472

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:37:47 +02:00
Luuk van Baal
aa8e22b035 patch 9.1.0300: Missing test for what patch v9.1.0285 fixes
Problem:  Missing test for what patch v9.1.0285 fixes
Solution: Add a test for cursor movement at buffer boundaries.
          (Luuk van Baal)

closes: #14470

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:33:43 +02:00
Yegappan Lakshmanan
7f5202143b patch 9.1.0299: Vim9: return type not set for a lambda assigned to script var
Problem:  Vim9: return type not set for a lambda assigned to script var
          (Ernie Rael)
Solution: Correctly determine the return type (Yegappan Lakshmanan)

fixes: #14445
closes: #14473

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:18:19 +02:00
shane.xb.qian
b988c7a95f add runtime/doc/tags-* to ignore files (#14479)
closes: #14479

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:15:34 +02:00
Restorer
8fcc129773 translation(ru): Updated translation (#14481)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 17:05:24 +02:00
RestorerZ
c9ec20d94e runtime(doc): Update documentation
- Add security e-mail for private bugreports
- Remove mentioning of the voting feature

closes: #14483

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 16:57:46 +02:00
Cthulhux
2f27c65410 patch 9.1.0298: MS-Windows: GETTEXT_PATH hard-coded in src/po/Make_mvc.mak
Problem:  MS-Windows: GETTEXT_PATH hard-coded in src/po/Make_mvc.mak
Solution: Add IFNDEF/ENDIF around the definition of GETTEXT_PATH
          (Cthulhux)

It makes no sense to enforce modifying Vim source files just because
your build stuff is not where it's expected. My change is supposed to
add support for a locally-defined %GETTEXT_PATH%.

closes: #14480

Signed-off-by: Cthulhux <github@tuxproject.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 16:34:49 +02:00
Christian Brabandt
c97f4d61cd patch 9.1.0297: Patch 9.1.0296 causes too many issues
Problem:  Patch 9.1.0296 causes too many issues
          (Tony Mechelynck, @chdiza, CI)
Solution: Back out the change for now

Revert "patch 9.1.0296: regexp: engines do not handle case-folding well"

This reverts commit 7a27c108e0 it causes
issues with syntax highlighting and breaks the FreeBSD and MacOS CI. It
needs more work.

fixes: #14487

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-10 16:22:17 +02:00
RestorerZ
49f1e1979f NSIS: Fix a few issues with gvim.nsi
- correctly find libsodium.dll
- disable inclusion of libgcc_s_sjlj-1.dll
- generate PATCHLEVEL correctly

related: #14214
closes: #14465

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 23:04:44 +02:00
Christian Brabandt
7a27c108e0 patch 9.1.0296: regexp: engines do not handle case-folding well
Problem:  Regex engines do not handle case-folding well
Solution: Correctly calculate byte length of characters to skip

When the regexp engine compares two utf-8 codepoints case insensitively
it may match an adjacent character, because it assumes it can step over
as many bytes as the pattern contains.

This however is not necessarily true because of case-folding, a
multi-byte UTF-8 character can be considered equal to some single-byte
value.

Let's consider the pattern 'ſ' and the string 's'. When comparing and
ignoring case, the single character 's' matches, and since it matches
Vim will try to step over the match (by the amount of bytes of the
pattern), assuming that since it matches, the length of both strings is
the same.

However in that case, it should only step over the single byte
value 's' so by 1 byte and try to start matching after it again. So for the
backtracking engine we need to ensure:
- we try to match the correct length for the pattern and the text
- in case of a match, we step over it correctly

The same thing can happen for the NFA engine, when skipping to the next
character to test for a match. We are skipping over the regstart
pointer, however we do not consider the case that because of
case-folding we may need to adjust the number of bytes to skip over. So
this needs to be adjusted in find_match_text() as well.

A related issue turned out, when prog->match_text is actually empty. In
that case we should try to find the next match and skip this condition.

fixes: #14294
closes: #14433

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:53:19 +02:00
Wu, Zhenyu
d2b95b8446 patch 9.1.0295: filetype: pip config files are not recognized
Problem:  filetype: pip config files are not recognized
Solution: detect pip.conf as dosini filetype
          (Wu, Zhenyu)

closes: #14448

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:49:19 +02:00
Luuk van Baal
08b0f632c1 patch 9.1.0294: Text height function does not respect it's argument
Problem:  plines_m_win() does not take into account it's "limit_winheight"
          argument for filler lines below the last line of the buffer.
          (after v9.1.0280)
Solution: Check window height when "limit_winheight" is TRUE.
          (Luuk van Baal)

closes: #14449

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:43:49 +02:00
Wu, Zhenyu
41208884b8 patch 9.1.0293: filetype: lxqt config files are not recognized
Problem:  filetype: lxqt config files are not recognized
Solution: Detect {lxqt,screengrab}/*.conf files as dosini,
          fix failing filetype test for */tex/latex/**.cfg
          (Wu, Zhenyu)

closes: #14450

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:39:53 +02:00
Wu, Zhenyu
efd752ec38 patch 9.1.0292: filetype: XDG mimeapps.list file is not recognized
Problem:  filetype: XDG mimeapps.list file is not recognized
Solution: Detect mimeapps.list as dosini filetype
          (Wu, Zhenyu)

Refer: https://wiki.archlinux.org/title/XDG_MIME_Applications#Format

closes: #14451

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:25:41 +02:00
Wu, Zhenyu
73c89bcf79 patch 9.1.0291: filetype: libreoffice config files are not recognized
Problem:  filetype: libreoffice config files are not recognized
Solution: Detect Libreoffice config fils as xml/dosini
          (Wu, Zhenyu)

closes: #14453

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:20:55 +02:00
Wu, Zhenyu
614691ceef patch 9.1.0290: filetype: xilinx files are not recognized
Problem:  filetype: xilinx files are not recognized
Solution: Add a few xilinx specific file patterns,
          inspect lpr files for being xml/pascal
          (Wu, Zhenyu)

closes: #14454

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:14:37 +02:00
Wu, Zhenyu
61ee833a50 patch 9.1.0289: filetype: some TeX files are not recognized
Problem:  filetype: some TeX files are not recognized
Solution: Add more patterns for TeX files and inspect
          a few more files for being TeX files
          (Wu, Zhenyu)

closes: #14456

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:09:30 +02:00
Mike Williams
72a156b4ed patch 9.1.0288: MS-Windows: compiler warning for size_t to int conversion
Problem:  MS-Windows: compiler warning for size_t to int conversion
          (after  v9.1.0282)
Solution: Use size_t instead of int in highlight_set_termgui_attr
          (Mike Williams)

closes: #14457

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 22:04:54 +02:00
zeertzjq
9a91d2b72c patch 9.1.0287: Vim9: comment may be treated as heredoc start
Problem:  Vim9: comment may be treated as heredoc start.
          (Ernie Rael)
Solution: Use skip_var_list() instead of find_name_end().
          (zeertzjq)

fixes: #14444
closes: #14446

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:47:10 +02:00
Yegappan Lakshmanan
1af0fbf955 patch 9.1.0286: Vim9: E1027 with defcompile for abstract methods
Problem:  Vim9: E1027 with defcompile for abstract methods with
          non-void return types, but still compiles it
          (zzzyxwvut)
Solution: Don't compile abstract methods
          (Yegappan Lakshmanan)

fixes: #14443
closes: #14447

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:39:27 +02:00
Luuk van Baal
78c51500f1 patch 9.1.0285: Still problems with cursor position for CTRL-D/U
Problem:  Problems with cursor position when scrolling half a page.
Solution: Rework the cursor logic. (Luuk van Baal)

closes: #14455

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:30:19 +02:00
Enno
6ce07edd60 runtime(compiler): fix inaccuracies in pandoc compiler (#14467)
as kindly pointed out by @Freed-Wu

Signed-off-by: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:26:55 +02:00
Julio B
e20c7d7f44 patch 9.1.0284: make testclean is not able to delete failed screendumps
Problem:  make testclean is not able to delete failed screendumps.
Solution: Remove the "failed" directory when necessary.
          (Julio B)

Patch 8.1.1080 changed the way that failed screendumps are saved, but
the "rm -rf *.failed" clean command was not ported correctly.

closes: #14468

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:22:41 +02:00
dkearns
e43ace558a runtime(vim): Update base-syntax, no curly-brace names in Vim9 script (#14466)
Remove curly-brace name matching for :def functions.  This is not
supported in Vim9 script.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 21:19:41 +02:00
Christian Brabandt
a040019be6 patch 9.1.0282: Several small issues in doc and tests
Problem:  Wrong doc style for pandoc syntax description,
          Test_diff_eob_halfpage() may fail depending on
          screen size, using braces in highlight.c when
          not necessary
Solution: Fix pandoc documentation, make sure the window
          for the test has 7 lines, remove the braces.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-09 08:06:52 +02:00
John Marriott
34f00dd4ab patch 9.1.0282: Finding highlighting attributes is inefficient
Problem:  Finding highlighting attributes is inefficient
Solution: Use binary search to find highlighting attributes and color
          names (John Marriott)

closes: #14426

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 23:32:30 +02:00
Christian Brabandt
d33cb3f65e patch 9.1.0281: CI: fails Test_compiler_completion
Problem:  CI: fails Test_compiler_completion
Solution: Add pandoc compiler

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:55:25 +02:00
jiangyinzuo
a2385c2334 runtime(cuda): Update cuda keywords, remove uncommonly used enumeration constants
closes: #14406

Signed-off-by: jiangyinzuo <jiangyinzuo@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:50:51 +02:00
Luuk van Baal
9148ba8a46 patch 9.1.0280: several issues with 'smoothscroll' support
Problem:  Logic to make sure cursor is in visible part of the screen after
          scrolling the text with 'smoothscroll' is scattered, asymmetric
          and contains bugs.
Solution: Adjust and create helper function for 'smoothscroll' cursor logic.
          (Luuk van Baal)

closes: #14410

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:27:41 +02:00
nat-418
196b6678c5 patch 9.1.0279: filetype: roc files are not recognized
Problem:  filetype: roc files are not recognized
Solution: Detect '*.roc' files as roc filetype,
          add a basic filetype plugin (nat-418)

closes: #14416

Signed-off-by: nat-418 <93013864+nat-418@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:23:22 +02:00
Wu, Zhenyu
72d81a66ed patch 9.1.0278: filetype: zathurarc files not recognized
Problem:  filetype: zathurarc files not recognized
Solution: Detect '.zathurarc' files as zathurarc filetype,
          add zathurarc filetype (Wu, Zhenyu)

closes: #14380

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:19:06 +02:00
Shougo Matsushita
be2b03c6ee patch 9.1.0277: Cannot highlight the Command-line
Problem:  Cannot highlight the Command-line
Solution: Add the MsgArea highlighting group
          (Shougo Matsushita)

closes: #14327

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 22:16:33 +02:00
Wu, Zhenyu
7005b7ee7f patch 9.1.0276: No pandoc syntax support
Problem:  No pandoc syntax support
Solution: Add pandoc syntax and compiler plugins
          (Wu, Zhenyu, Konfekt)

closes: #14389

Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 21:45:40 +02:00
Wu, Zhenyu
fc21b6437c patch 9.1.0275: filetype: R history files are not recognized
Problem:  filetype: R history files are not recognized
Solution: Detect '.Rhistory' files as r filetype
          (Wu, Zhenyu)

closes: #14440

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-08 20:26:29 +02:00
Mike Williams
aca8f55596 patch 9.1.0274: MS-Windows: a few compiler warnings
Problem:  MS-Windows: a few compiler warnings
Solution: Change variable types to resolve compiler warnings
          (Mike Williams)

Windows compiles were reporting a few size_t to signed integer
conversion warnings that can be resolved by changing the variable
declarations to be size_t to start with.

closes: #14429

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 18:26:22 +02:00
0xadk
b78753db5f patch 9.1.0273: filetype: keymap files are not recognized
Problem:  filetype: keymap files are not recognized
Solution: Detect '*.keymap' files as Device Tree Files
          (0xadk)

closes: #14434

Signed-off-by: 0xadk <0xadk@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 18:22:41 +02:00
zeertzjq
9d956ee8ea patch 9.1.0272: autocmd may change cwd after :tcd and :lcd
Problem:  Autocommand may change currect directory after :tcd and :lcd.
Solution: Also clear tp_localdir and w_localdir when using aucmd_win.
          (zeertzjq)

closes: #14435

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 18:16:10 +02:00
Doug Kearns
a44ced5763 runtime(vim): Update syntax generator, autocmd event list parsing
Track changes to the autocommand event list introduced in commit
78d742a (Patch 9.1.0256).

closes: #14430

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 17:49:57 +02:00
Doug Kearns
9cd9e759ab runtime(doc): Normalise builtin-function optional parameter formatting
These should generally be formatted as func([{arg}]) and referenced as
{arg} in the description.

closes: #14438

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-07 17:42:17 +02:00
Christian Brabandt
3c4d2e7a09 patch 9.1.0271: CI sound test aborts with undefined variable
Problem:  CI sound test aborts with undefined variable
Solution: initialize g:result in test_sound.vim

closes: #14424

Signed-off-by:
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:16:46 +02:00
Christian Brabandt
19ecb46c55 NSIS: Correctly distribute libsodium with the installer (#14422)
closes: vim/vim-win32-installer#337

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:14:46 +02:00
Christian Brabandt
915f3bf4c1 patch 9.1.0270: a few minor issues to fix
The following is a collection of some small fixes:

- Problem:  Vim9: funcref pointer pt leaks, when function is not found
  Solution: Free funcref pointer in case of error (fixes: #14254)

- Problem:  memory leak of crypt state pointer allocation fails
  Solution: free crypt state pointer properly (fixes: #14253)

- Problem:  Vim9: Leaking memory when compiling dict fails
  Solution: Free the memory in case of error (fixes: #14252)

- Problem:  Coverity complains about derefencing obj_members pointer
            (after v9.1.0261)
  Solution: Verify that obj_members ptr is non-null before accessing it

  References: https://scan5.scan.coverity.com/#/project-view/41242/10101?selectedIssue=1596133

closes: #14412

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:12:19 +02:00
zeertzjq
e9ff79a7c9 patch 9.1.0269: Test for TextChanged is still flaky with ASAN
Problem:  Test for TextChanged is still flaky with ASAN.
Solution: Don't index the result of readfile().
          (zeertzjq)

It turns out that with ASAN the file may become empty during a write
even if it's non-empty both before and after the write, in which case
indexing the result of readfile() will error, so use join() instead.

Also don't delete the file halfway the test, just in case it may cause
errors on the next read.

closes: #14421

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:07:39 +02:00
zeertzjq
83cd2c7bf0 patch 9.1.0268: Two tests in test_filechanged.vim are slow
Problem:  Two tests in test_filechanged.vim are slow.
Solution: Sleep for shorter if the +nanotime feature is available.
          (zeertzjq)

closes: #14418

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:05:11 +02:00
zeertzjq
c20bdf1107 patch 9.1.0267: File name entered in GUI dialog is ignored
Problem:  File name entered in GUI dialog is ignored (after v9.1.0265)
Solution: Only set file name to "Untitled" if GUI dialog didn't set it.
          (zeertzjq)

closes: #14417

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:02:55 +02:00
zeertzjq
b73faa1c02 runtime: fix :compiler leaving behind a g:makeprg variable (#14414)
Problem:  :compiler may leave behind a g:makeprg variable after #14336.
Solution: Use a script local variable.

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 20:01:16 +02:00
Yinzuo Jiang
cec44eae82 runtime: Remove more fallback :CompilerSet definitions from compiler plugins (#14413)
Continue with #14399

Signed-off-by: jiangyinzuo <jiangyinzuo@foxmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 19:59:39 +02:00
Gaëtan Lehmann
28e5e7c484 patch 9.1.0266: filetype: earthfile files are not recognized
Problem:  filetype: earthfile files are not recognized
Solution: Detect 'Earthfile' as earthfile
          (Gaëtan Lehmann)

closes: #14408

Signed-off-by: Gaëtan Lehmann <gaetan.lehmann@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-05 19:52:38 +02:00
glepnir
df46115fc8 patch 9.1.0265: console dialog cannot save unnamed buffers
Problem:  console dialog cannot save unnamed buffers
Solution: set bufname before save (glepnir). Define dialog_con_gui
          to test for GUI+Console dialog support, use it to skip
          the test when the GUI feature has been defined.

Note: The dialog_changed() function will also try to call the
browse_save_fname() function, when FEAT_BROWSE is defined (which is only
defined in a GUI build of Vim). This will eventually lead to a call of
do_browse(), which causes an error message if a GUI is not currently
running (see the TODO: in do_browse()) and will then lead to a failure
in Test_goto_buf_with_onfirm().

Therefore, we must disable the Test_goto_buf_with_onfirm(), when the
dialog_con_gui feature is enabled (which basically means dialog feature
for GUI and Console builds, in contrast to the dialog_con and dialog_gui
feature).

(Previously this wasn't a problem, because the test aborted in the YES
case for the :confirm :b XgotoConf case and did therefore not run into
the browse function call)

closes: #14398

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04 23:43:19 +02:00
Aliaksei Budavei
9574022580 runtime(doc): Fill in a few details regarding :enums (#14349)
- Mention the support of eval() for enumeration values.

- Clarify the extent of immutability for enumeration values.

- Specify the requirements for class methods to meet for
  class variable initialisation and their use in nested
  functions and lambda expressions.

- Remove a duplicate sentence that describes how to access
  parent class methods in derivative classes (see another
  "copy" two paragraphs below).


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04 22:05:33 +02:00
Doug Kearns
408281e16a runtime: Remove fallback :CompilerSet definition from compiler plugins
The :CompilerSet command was added in version Vim 6.4 which was released
twenty years ago.  Other runtime files do not support versions of that
vintage so it is reasonable to remove this fallback command definition
now.

closes: #14399

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04 22:00:58 +02:00
Julio B
cc59d62215 patch 9.1.0264: libgpm may delete some signal handlers
Problem:  libgpm may delete some signal handlers
Solution: restore these signal handlers after calling gpm
          (Julio B)

When 'mouse' is set, vim is trying to detect mouse support on startup.
Eventually, vim resorts to using libgpm as the final method of
mouse detection. This library may delete some signals handlers that were
initially set up by vim.

This is how:
- mch_setmouse() calls gpm_open()
- Gpm_Open is executed, which returns early on line 210 [1]
- Keep in mind that lines 353-373 [2] are skipped, so
  gpm_saved_suspend_hook and gpm_saved_winch_hook are empty
- Finally, Gpm_Close is called, which will reset [3] SIGWINCH and
  SIGTSTP to an empty sigaction.

[1] e82d1a653c/src/lib/liblow.c (L210)
[2] e82d1a653c/src/lib/liblow.c (L353-L373)
[3] e82d1a653c/src/lib/liblow.c (L419-L424)

fixes: #12154
closes: #14401

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04 21:55:10 +02:00
Aliaksei Budavei
5ccdcc482e runtime(java): Improve the matching of contextual keywords
- Recognise a _record_ contextual keyword.
- Recognise _non-sealed_, _sealed_, and _permits_ contextual
  keywords.
- Admit _$_ to keyword characters.
- Group _abstract_, _final_, _default_, _(non-)sealed_
  (apart from _(non-)sealed_, the incompossibility of these
  modifiers calls for attention).
- Remove another _synchronized_ keyword redefinition.

I have also replaced a function with an expression.  Before
patch 8.1.0515, it should have been declared :function! to
work with repeatable script sourcing; there is less to worry
about with an expression.

References:
https://openjdk.org/jeps/395 (Records)
https://openjdk.org/jeps/409 (Sealed Classes)
https://docs.oracle.com/javase/specs/jls/se21/html/jls-3.html#jls-3.8

closes: #14403

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04 21:51:18 +02:00
Yegappan Lakshmanan
3fa8f7728a patch 9.1.0263: Vim9: Problem with lambda blocks in enums and classes
Problem:  Vim9: Problem with lambda blocks in enums and classes
          (Aliaksei Budavei)
Solution: Support evaluating lambda blocks from a string, skip over
          comments (Yegappan Lakshmanan)

fixes: #14350
closes: #14405

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04 21:42:07 +02:00
zeertzjq
4a65391ca2 patch 9.1.0262: Test for TextChanged is flaky with ASAN
Problem:  Test for TextChanged is flaky with ASAN.
Solution: Wait for the file to be non-empty.
          (zeertzjq)

closes: #14404

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04 21:33:36 +02:00
Yegappan Lakshmanan
3e33650b3a patch 9.1.0261: Vim9: protected class and funcrefs accessible outside the class
Problem:  Vim9: protected class and funcrefs accessible outside the class
          (Aliaksei Budavei)
Solution: Check if class and object funcrefs are protected
          (Yegappan)

closes: #14407

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-04 19:35:59 +02:00
Luuk van Baal
bd28cae1f1 patch 9.1.0260: Problems with "zb" and scrolling to new topline with 'smoothscroll'
Problem: "zb" does not reveal filler lines at the start of a buffer.
          Scrolled cursor position with 'smoothscroll' is unpredictable,
          and may reset skipcol later if it is not visible (after v9.1.258)
Solution: Replace confusing for loop that reaches final control value too
          early with while loop. Set "w_curswant" accordingly so cursor
          will be placed in visible part of topline.
          (Luuk van Baal)

closes: #14394

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-03 22:50:40 +02:00
Christian Brabandt
08d2401fbc runtime(netrw): filetype not detected when editing remote files
fixes: #14400

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-03 22:47:54 +02:00
K.Takata
89cc03af71 runtime(doc): sort filetype.txt in the alphabetical order (#14395)
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-03 22:42:10 +02:00
zeertzjq
c422662933 patch 9.1.0259: Normal mode TextChanged isn't tested properly
Problem:  Normal mode TextChanged isn't tested properly.
Solution: Combine Test_Changed_ChangedI() and Test_Changed_ChangedI_2()
          and also run it on Windows. Fix a typo in main.c.
          (zeertzjq)

closes: #14396

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-03 22:38:07 +02:00
Luuk van Baal
cb204e688e patch 9.1.0258: half-page scrolling broke backward compatibility
Problem:  Support for 'smoothscroll' in (half-)page scrolling
          broke backward compatibility and can be made to work better.
          (after v9.1.215)
Solution: Restore the previous cursor and end-of-buffer behavior for
          half-page scrolling and improve 'smoothscroll' support.
          (Luuk van Baal)

fixes: #14338
closes: #14377

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-02 20:49:45 +02:00
Yegappan Lakshmanan
f1750ca0c2 patch 9.1.0257: Vim9: :call may not find imported class members
Problem:  Vim9: :call may not find imported class members
          (mityu)
Solution: Set the typval of an imported lval variable correctly
          (Yegappan Lakshmanan)

fixes: #14334
closes: #14386

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-02 20:41:04 +02:00
John Marriott
78d742ab88 patch 9.1.0256: Finding autocmd events is inefficient
Problem:  Finding autocmd events is inefficient
Solution: Use binary search to find events, cache last found events,
          avoid use of strlen(), add SessionWritePost autocmd,
          fix test_codestyle and avoid endless loop
          (John Marriott)

closes: #14287

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-02 20:26:01 +02:00
Ernie Rael
16cdfa69e0 patch 9.1.0255: Vim9: no indication of script nr in stack trace of classes
Problem:  Vim9: no indication of script nr in stack trace of classes
Solution: Prefix the class name with the script name in the stack trace.
          (Ernie Rael)

fixes: #14376
closes: #14390

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-02 19:05:39 +02:00
zeertzjq
0a419e07a7 patch 9.1.0254: [security]: Heap buffer overflow when calling complete_add() in 'cfu'
Problem:  [security]: Heap buffer overflow when calling complete_add()
          in the first call of 'completefunc'
Solution: Call check_cursor() after calling 'completefunc' (zeertzjq)

closes: #14391

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-02 19:01:14 +02:00
Hilmar Wiegand
6c9f4f98f1 patch 9.1.0253: filetype: typespec files are not recognized
Problem:  filetype: typespec files are not recognized
Solution: Detect '*.tsp' files as typespec
          (Hilmar Wiegand)

Specs is at https://typespec.io/

closes: #14392

Signed-off-by: Hilmar Wiegand <me@hwgnd.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-02 18:58:40 +02:00
itchyny
cc7597c1ed runtime(yaml): improve syntax highlighting for YAML
- Recognize block scalar style to avoid unexpected highlighting by `yamlFlowString` (fix #11517)
- Improve performance of `yamlFlowMappingKey` by allowing execution by the NFA engine (fix #10730)
  - It was intentionally disabled before patterns were optimized by `s:SimplifyToAssumeAllPrintable`.
- Fix detection of flow style mapping indicators (fix #8234).
- Enable highlighting of explicit mapping value indicators and node properties in flow style.
- Add syntax highlighting tests

closes: #14354

Signed-off-by: itchyny <itchyny@cybozu.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-01 14:55:46 +02:00
Yegappan Lakshmanan
2ed5a11b1a patch 9.1.0252: Vim9: segfault with static in super class
Problem:  Vim9: segfault with static in super class
          (Ernie Rael)
Solution: When initializing lhs, use the correct class where a class
          variable is defined (Yegappan Lakshmanan)

fixes: #14352
closes: #14372

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-01 14:50:41 +02:00
zeertzjq
8eb7523802 patch 9.1.0251: Filetype test fails
Problem:  Filetype test fails.
Solution: Move detection by name before detection by extension.
          Improve TextChanged test and remove wrong test and fix
          a typo in a comment (zeertzjq).

closes: #14373

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-04-01 14:46:20 +02:00
Eisuke Kawashima
cbb92b5ceb runtime(sshconfig,sshdconfig): update syntax (#14351)
* fix case insensitivity of Host and Hostname keys
* improve regexps
* add keywords

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 22:02:31 +02:00
Wu, Zhenyu
4c7098b00a patch 9.1.0250: filetype: ldscripts cannot be recognized
Problem:  filetype: ldscripts cannot be recognized
Solution: Detect '*/ldscripts/*' as ld
          (Wu, Zhenyu)

closes: #14371

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:57:16 +02:00
Wu, Zhenyu
a917bd58bd patch 9.1.0249: filetype: rock_manifest and config.ld files are not recognized
Problem:  filetype: rock_manifest and config.ld files are not recognized
Solution: Detect 'rock_manifest' and 'config.ld' as lua
          (Wu, Zhenyu)

closes: #14370

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:55:57 +02:00
Wu, Zhenyu
3b497aa247 patch 9.1.0248: filetype: yarn lock files are not recognized
Problem:  filetype: yarn lock files are not recognized
Solution: Detect 'yarn.lock' files as yaml
          (Wu, Zhenyu)

closes: #14369

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:51:19 +02:00
Wu, Zhenyu
3f6fa93b3b patch 9.1.0247: filetype: bundle config files are not recognized
Problem:  filetype: bundle config files are not recognized
Solution: Detect '*/.bundle/config' as yaml
          (Wu, Zhenyu)

closes: #14368

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:48:35 +02:00
Wu, Zhenyu
a2c27b01dc patch 9.1.0246: filetype: fontconfig files are not recognized
Problem:  filetype: fontconfig files are not recognized
Solution: detect 'fonts.conf' as xml
          (Wu, Zhenyu)

closes: #14367

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:45:11 +02:00
Wu, Zhenyu
a55a22a1a3 patch 9.1.0245: filetype: zsh theme, history and zunit files are not recognized
Problem:  filetype: zsh theme, history and zunit files are not
          recognized.
Solution: Detect '.zsh_history', '*.zsh-theme' and '*.zunit' as zsh
          (Wu, Zhenyu)

closes: #14366

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:42:39 +02:00
Wu, Zhenyu
84ce55001a patch 9.1.0244: filetype: bash history files are not recognized
Problem:  filetype: bash history files are not recognized
Solution: detect .bash-history and .bash_history files as bash
          (Wu, Zhenyu)

closes: #14365

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:22:51 +02:00
Wu, Zhenyu
abbb4a4f70 patch 9.1.0243: filetype: netrw history file is not recognized
Problem:  filetype: netrw history file is not recognized
Solution: Detect .netrwhist as vim files (Wu, Zhenyu)

closes: #14364

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:20:14 +02:00
Wu, Zhenyu
be71ac694f patch 9.1.0242: filetype: octave history files are not recognized
Problem:  filetype: octave history files are not recognized
Solution: Detect octave/history files as octave
          (Wu, Zhenyu)

closes: #14363

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:18:10 +02:00
Wu, Zhenyu
6b285c8cfd patch 9.1.0241: filetype: mysql history files are not recognized
Problem:  filetype: mysql history files are not recognized
Solution: Detect .mysql_history as mysql
          (Wu, Zhenyu)

closes: #14362

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:15:49 +02:00
Wu, Zhenyu
665220a17b patch 9.1.0240: filetype: some python tools config files are not recognized
Problem:  filetype: some python tools config files are not recognized
Solution: Detect config files for setuptools, pudb, coverage as dosini
          (Wu, Zhenyu)

closes: #14361

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:12:36 +02:00
Wu, Zhenyu
8e47eb31cc patch 9.1.0239: filetype: gnuplot history files are not recognised
Problem:  filetype: gnuplot history files are not recognised
Solution: detect .gnuplot_history files as gnuplot
          (Wu, Zhenyu)

closes: #14360

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:10:18 +02:00
Wu, Zhenyu
75c607dff7 patch 9.1.0238: filetype: jupyterlab and sublime config are not recognized
Problem:  filetype: jupyterlab and sublime config are not recognized
Solution: Detect jupyterlab and sublime config files as json
          (Wu, Zhenyu)

closes: #14359

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:08:07 +02:00
Wu, Zhenyu
0fd560d46a patch 9.1.0237: filetype: mplstyle files are not recognized
Problem:  filetype: mplstyle files are not recognized
Solution: Detect '*.mplstyle' files as yaml (Wu, Zhenyu)

closes: #14358

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:05:44 +02:00
Wu, Zhenyu
a75f4791b1 patch 9.1.0236: filetype: texlua files are not recognized
Problem:  filetype: texlua files are not recognized
Solution: Add '*.tlu' pattern for texlua files (Wu, Zhenyu)

Reference: https://github.com/TeX-Live/texdoc/tree/master/script

closes: #14357

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 19:02:26 +02:00
Wu, Zhenyu
4ff83b904e patch 9.1.0235: filetype: supertux files are not recognized
Problem:  filetype: supertux files are not recognized
Solution: Supertux uses lisp to store hotkeys in config and game stage information,
          so add a pattern for supertux files.
          (Wu, Zhenyu)

Reference: https://github.com/SuperTux/supertux/wiki/S-Expression

closes: #14356

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:58:34 +02:00
Wu, Zhenyu
e523dd9803 patch 9.1.0234: filetype: support for Intel HEX files is lacking
Problem:  filetype: support for Intel HEX files is lacking
Solution: Add more file extensions that are typical for Intel HEX files
          (Wu, Zhenyu)

Reference: https://en.wikipedia.org/wiki/Intel_HEX

closes: #14355

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:54:55 +02:00
Yegappan Lakshmanan
3cf121ed31 patch 9.1.0233: Vim9: string() output of enum is problematic
Problem:  Vim9: string() output of enum is problematic
Solution: Make string() output for an enum consistent with that of a
          regular object (Yegappan Lakshmanan).

closes: #14343

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:45:35 +02:00
Julio B
5df961a1bc patch 9.1.0232: Conceal test fails when rightleft feature is disabled
Problem:  Conceal test fails when rightleft feature is disabled.
Solution: Skip test if rightleft feature is missing (Julio B).

closes: #14342

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:43:51 +02:00
zeertzjq
5bf6c2117f patch 9.1.0231: Filetype may be undetected when SwapExists sets ft in other buf
Problem:  Filetype may be undetected when a SwapExists autocommand sets
          filetype in another buffer.
Solution: Make filetype detection state buffer-specific.  Also fix a
          similar problem for 'modified' (zeertzjq).

closes: #14344

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:41:27 +02:00
Christian Brabandt
8603270293 patch 9.1.0230: TextChanged autocommand not triggered under some circumstances
Problem:  TextChanged autocommand not triggered under some circumstances
          (Sergey Vlasov)
Solution: Trigger TextChanged when TextChangedI has not been triggered

fixes: #14332
closes: #14339

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:38:09 +02:00
Enno
18d730d7b5 runtime(compilers): ensure compiler! sets global options (#14336)
Previously some options were only set locally by
&l:makeprg/errorformat

This suffices for :compiler (without a trailing bang)
but falls short for :compiler! that sets &g:makeprg/errorformat as
well

Also apply kind suggestions by @dkearns and @lifepillar 

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:37:05 +02:00
Aliaksei Budavei
80aabaab66 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Currently, the overriding object method definitions are
matched as vimFunctionError (:help builtin-object-methods,
v9.1.0148).

For example:
------------------------------------------------------------
vim9script

class Test
	def string(): string
		return "Test"
	enddef
endclass

echo string(Test.new()) == Test.new().string()
------------------------------------------------------------

Instead, let's introduce a new syntax group vimMethodName
and make these methods its members.  In order to emphasise
the link between the overriding methods and the overridden
functions for highlighting, vimMethodName is linked by
default to vimFuncName.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:26:32 +02:00
Christian Brabandt
807fff135d runtime(pamconf): add support for Debian specific @includes
fixes: #14335

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 18:04:21 +02:00
Christian Brabandt
b64cec217f patch 9.1.0229: Error E877 is not translated
Problem:  Error E877 is not translated (RestorerZ)
Solution: Declare the error with N_ to mark it as translatable, add _()
          around the error message in regexp_nfa.c

fixes: #14333

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-31 17:56:17 +02:00
Restorer
4fa06bb179 NSIS: fix path of uganda.nsis.txt in german.nsi file (#14331)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-29 18:40:02 +01:00
zeertzjq
ad493ef3ea patch 9.1.0228: Two unrelated things are tested by a single test
Problem:  Two unrelated things are tested by a single test.
Solution: Split it into two, restoring the old Test_brace_single_line().
          Add missing cleanup to some tests.
          (zeertzjq)

closes: #14323

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-29 10:25:52 +01:00
mityu
7f0bba2595 runtime(doc): Improve docs for empty(), len(), and string() on objects
closes: #14324

Signed-off-by: mityu <mityu.mail@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-29 10:14:41 +01:00
zeertzjq
ea95f1a5ad patch 9.1.0227: Recording may still be wrong in Select mode
Problem:  Recording may still be wrong in Select mode (after 8.2.3993).
Solution: Make sure a character isn't split between two buffer blocks.
          (zeertzjq)

closes: #14326

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-29 10:11:42 +01:00
Yegappan Lakshmanan
abedca96ef patch 9.1.0226: Not able to assign enum values to an enum static variable
Problem:  Not able to assign enum values to an enum static variable
          (zzzyxwvut)
Solution: Make it work
          (Yegappan Lakshmanan)

related: #14224
closes: #14329

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-29 10:08:23 +01:00
Christian Brabandt
059aeac2be patch 9.1.0225: test_matchparen not run in CI
Problem:  test_matchparen not run in CI
Solution: add test_matchparen.res to NEW_TESTS_RES in Makefile,
          update changed highlighting dump from v9.1.61

closes: #14322

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 17:10:44 +01:00
Dylan Thacker-Smith
515f734e68 patch 9.1.0224: cursor may move too many lines over "right" & "below" virt text
Problem:  If a line has "right" & "below" virtual text properties,
          where the "below" property may be stored first due to lack of
          ordering between them, then the line height is calculated to
          be 1 more and causes the cursor to far over the line.
Solution: Remove some unnecessary setting of a
          `next_right_goes_below = TRUE` flag for "below" and "above"
          text properties. (Dylan Thacker-Smith)

I modified a regression test I recently added to cover this case,
leveraging the fact that "after", "right" & "below" text properties are
being stored in the reverse of the order they are added in.  The
previous version of this regression test was crafted to workaround this
issue so it can be addressed by this separate patch.

closes: #14317

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 12:01:14 +01:00
Dylan Thacker-Smith
1134fdd1b3 patch 9.1.0223: code duplication in loop to add active text properties
Problem:  There are two dense conditions with duplication that needs to
          be kept in sync between the while loop break condition and the
          condition to skip certain text properties.
Solution: Refactor the loop by moving while loop conditions into the
          body of the while loop so they can be shared with skip
          conditions. `break` and an `active` variable are used to
          handle the outcome of these merged conditions.
          (Dylan Thacker-Smith)

closes: #14307

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 11:51:10 +01:00
Dylan Thacker-Smith
fe0a76b2bc patch 9.1.0222: missing 'below' virt text if truncation precedes after/right text
Problem:  When a line is truncated just before 'after'/'right' virtual
          text and the line also has 'below' virtual text, then the
          'below' virtual text would not be displayed, depending on the
          order these text properties were added.
Solution: In the loop to make text properties active, skip instead of
          break for 'after'/'right' virtual text properties that are
          ignored due to truncation, so following 'below' text
          properties can still be made active.
          Similarly, a loop is needed to determine if a text property
          follows at the end of the screen. (Dylan Thacker-Smith)

related: #14307

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 11:51:10 +01:00
Dylan Thacker-Smith
b6fac4db36 patch 9.1.0221: lines following virt text (that fills the window) might be truncated
Problem:  The if branch to set `text_prop_follows` was both checking if
          it was at the end of the buffer text line or if it was at the
          end of the screen line, but the former being true skipped
          a guard condition in the latter to only consider 'below'
          virtual text to follow. `text_prop_follows` being improperly
          set caused it to skip a conditional block to break at the end
          as well as one to move `ptr` to the end of the text line,
          while repeated for each following line of the window.
Solution: Move the check for whether 'below' virtual text should follow
          so it is also used when at the end of the buffer text line.
          (Dylan Thacker-Smith)

fixes: #12213
related: #14307

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 11:51:05 +01:00
zeertzjq
c029c131ea patch 9.1.0220: Few typos in source and test files
Problem:  Typos in code and tests.
Solution: Fix typos (zeertzjq).

closes: #14321

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 11:37:26 +01:00
Yegappan Lakshmanan
3164cf8f12 patch 9.1.0219: Vim9: No enum support
Problem:  No enum support
Solution: Implement enums for Vim9 script
          (Yegappan Lakshmanan)

closes: #14224

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:38:28 +01:00
zeertzjq
8ede7a0694 patch 9.1.0218: Unnecessary multiplications in backspace code
Problem:  Unnecessary multiplications in backspace code, as
          "col / ts * ts" is the same as "col - col % ts".
Solution: Change "col / ts * ts" to "col - col % ts".  Adjust the loop
          and the comments ins_bs() to be easier to understand.  Update
          tests to reset 'smarttab' properly.
          (zeertzjq)

closes: #14308

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:30:08 +01:00
Restorer
2ca7d5f483 translation(ru): Add translation for README.txt and uganda.txt (#14312)
* translation(ru): The main file README.txt and uganda.txt
* removed tags-ru

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:27:17 +01:00
Julio B
46fa3c7e27 patch 9.1.0217: regexp: verymagic cannot match before/after a mark
Problem:  regexp: verymagic cannot match before/after a mark
Solution: Correctly check for the very magic check (Julio B)

Fix regexp parser for \v%>'m and \v%<'m
Currently \v%'m works fine, but it is unable to match before or after
the position of mark m.

closes: #14309

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:23:37 +01:00
Restorer
74a2331846 NSIS: Possibility to include translated license and README.txt files (#14311)
* NSIS: Possibility to include translated license and README.txt files
* fixed a missing semicolon
* Disable always show dialog choice language

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:19:44 +01:00
Restorer
b75825f749 Update README.txt and README.md (#14313)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:14:47 +01:00
zeertzjq
620e85265c patch 9.1.0216: Error on exit with EXITFREE and 'winfixbuf'
Problem:  Error on exit with EXITFREE and 'winfixbuf'.
Solution: Handle DT_FREE before checking for 'winfixbuf'.
          (zeertzjq)

closes: #14314

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:11:57 +01:00
Luuk van Baal
5a2e3ec9ac patch 9.1.0215: Half-page scrolling does not support smooth-scrolling
Problem:  Page-wise scrolling with Ctrl-D/Ctrl-U implements
          it's own logic to change the topline and cursor.
          More logic than necessary for scrolling with Ctrl-F/Ctrl-B
          was removed in patch 9.1.0211.
Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while
          staying backward compatible as much as possible.
          Restore some of the logic that determined how many lines will
          be scrolled (Luuk van Baal)

closes: #14316

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:10:40 +01:00
dkearns
982e191b38 runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
- Match empty blob literals.
- Match modifier arguments to :abclear commands.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:06:03 +01:00
zeertzjq
5532d3b3f0 patch 9.1.0214: Duplicate condition in win_lbr_chartabsize()
Problem:  Duplicate condition in win_lbr_chartabsize().
Solution: Remove the duplicate condition, as it's already checked above.
          (zeertzjq)

closes: #14320

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:04:25 +01:00
Enrico Maria De Angelis
b2e1fee72c runtime(haskell): allow TODO keywords in comments
closes: #14319

Signed-off-by: Enrico Maria De Angelis <enricomaria.dean6elis@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 10:02:36 +01:00
Guilherme Puida
677cd95681 runtime(debcontrol): add Static-Built-Using field (#14306)
Signed-off-by: Guilherme Puida <guilherme@puida.xyz>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 09:56:50 +01:00
Sean Dewar
aed6554b46 patch 9.1.0213: CI: MS-Windows fails in test_winfixbuf
Problem:  CI: MS-Windows fails in test_winfixbuf
          (after v9.1.208)
Solution: Instead of skipping the test, write the file
          so it exists on disk, to verify that MS-Windows
          short filename expansion is successful.
          (Sean Dewar)

related: #14286

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-28 09:48:34 +01:00
Christian Brabandt
79b2867ce3 patch 9.1.0212: CI: MS-Windows fails in test_winfixbuf
Problem:  CI: MS-Windows fails in test_winfixbuf
          (after v9.1.208)
Solution: Skip Ms-Windows for now, fix style

related: #14286

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-27 10:48:40 +01:00
Rocco Mao
63833bb021 runtime(json5): add basic indent support (#14298)
Signed-off-by: Rocco Mao <dapeng.mao@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 19:02:44 +01:00
Luuk van Baal
b9f5b95b7b patch 9.1.0211: page-wise scrolling does not support smooth-scrolling
Problem:  Page-wise scrolling with Ctrl-F/Ctrl-B implements
          it's own logic to change the topline and cursor.
          In doing so, skipcol is not handled properly for
          'smoothscroll', and virtual lines.
Solution: Re-use the logic from Ctrl-E/Ctrl-Y while staying
          backward compatible as much as possible.

closes: #14268

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 18:53:24 +01:00
Christian Brabandt
9ccc297237 patch 9.1.0210: Motif: leaking memory when mui_mch_dialog() fails
Problem:  Motif: leaking memory when mui_mch_dialog() fails
          (LuMingYinDetect)
Solution: When allocating the label using the XmStringCreateLtoR()
          function fails, before returning also free the allocated
          buttons pointer.

fixes: #14247
closes: #14280

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 18:44:48 +01:00
Christian Brabandt
86eddced7e patch 9.1.0209: leaking memory in exe_newdict() on error
Problem:  leaking memory in exe_newdict() on error
          (LuMingYinDetect)
Solution: free allocated dict if GA_GROW_FALIS()

fixes: #14255
closes: #14281

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 18:42:52 +01:00
Colin Kennedy
65e580bd56 patch 9.1.0208: winfixbuf does not allow to re-edit current buffer
Problem:  winfixbuf does not allow to re-edit current buffer
          (Tim Pope, after v9.1.0147)
Solution: Explicitly allow :e even when 'winfixbuf' is set,
          since it just re-loads the current buffer
          (Colin Kennedy)

fixes: #14237
closes: #14286

Signed-off-by: Colin Kennedy <colinvfx@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 18:29:30 +01:00
Colin Kennedy
e5f2280381 patch 9.1.0207: No autocommand when writing session file
Problem:  No autocommand when writing session file
Solution: Add SessionWritePost autocommand
          (Colin Kennedy)

fixes: ##14242
closes: #14288

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Colin Kennedy <colinvfx@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 18:23:06 +01:00
Aliaksei Budavei
63d68c2c21 runtime(java): Update java[CR]_JavaLang type lists (#14297)
- Add to the list of java.lang runtime exceptions two new
  types: MatchException (Pattern Matching for _switch_) and
  WrongThreadException (Virtual Threads).
- "Demote" Compiler (removed in JDK 21) from the list of
  java.lang class types to a new list javaLangDeprecated.

References:
https://bugs.openjdk.org/browse/JDK-8205129
https://bugs.openjdk.org/browse/JDK-8282274
https://bugs.openjdk.org/browse/JDK-8284161

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 18:12:05 +01:00
partev
e6e3a7aaf0 Update README.md (#14302)
fix URL for MacVim

Signed-off-by: partev <petrosyan@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 18:09:05 +01:00
Dylan Thacker-Smith
c8b47f26d8 patch 9.1.0206: unused display_text_first boolean var in win_line()
Problem:  unused display_text_first boolean var in win_line()
Solution: Remove unused display_text_first boolean variable
          (Dylan Thacker-Smith)

The only place it is used, uses its initial constant value, then the
following conditionally values set to the variable are unused.

Specifically, it was commit 234c3fab28
that changed the use of display_text_first such that it doesn't have any
effect.

closes: #14305

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-26 18:05:01 +01:00
zeertzjq
076faac537 patch 9.1.0205: Cannot use modifiers before :-Ntabmove
Problem:  Cannot use modifiers before :-Ntabmove.
Solution: Check backwards from the command instead of checking from the
          start of the command line. Slightly adjust docs to make them
          more consistent (zeertzjq).

closes: #14289

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-25 16:41:06 +01:00
Restorer
6dcf59b89f NSIS: Redesigning the appearance of the vimrc settings page (#14292)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-25 16:38:37 +01:00
zeertzjq
0185c77014 patch 9.1.0204: Backspace inserts spaces with virtual text and 'smarttab'
Problem:  Backspace inserts spaces with virtual text and 'smarttab'.
Solution: Ignore virtual text and wrapping when backspacing.
          (zeertzjq)

related: neovim/neovim#28005
closes: #14296

Co-authored-by: VanaIgr <vanaigranov@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-25 16:34:51 +01:00
Song-Tianxiang
ab01adf7c6 runtime(doc): Update options.txt
closes: #14295

Signed-off-by: Song-Tianxiang <149415622+Song-Tianxiang@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-25 16:31:41 +01:00
James McCoy
4a95377593 patch 9.1.0203: build-error on GNU/Hurd
Problem:  build-error on GNU HURD
Solution: Define _XOPEN_SOURCE like for Android and Cygwin
          (James McCoy)

strptime() requires _XOPEN_SOURCE to be defined for its declaration to
be visible.  This is already done for non-Android Linux and Cygwin, but
also needs to be exposed for GNU/Hurd.

closes: #14285

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-25 16:22:49 +01:00
Aliaksei Budavei
8e59a7ba88 runtime(java): Recognise the inline kind of the {@return} tag (#14284)
Also:

- Refine comment matching (javaComment{Error\ and,Start}).
- Continue rewriting regexps (prefer atom grouping with
  non-capturing parens; factor out common prefixes in
  alternations).
- Allow for relative paths with the _file_ attribute of
  {@snippet}.
- Anticipate HTML in the @see tags.
- Match the nullary method parens in javaDocSeeTagParam.
- Improve the boundary patterns for summary sentences of
  documentation.

> This sentence ends at ... or at the first tag (as defined
> below).

There are Java documentation tags (@) and there are HTML
tags (<?>) (with Markdown looming large; see JEP 467).  With
block tags, e.g. @param, @return, @see, we begin another
documentation "sentence" whether or not the author has
terminated the summary sentence with a period; with
.<!-- -->, we may follow abbreviations, enumerations,
initials, (but instead consider @literal or &nbsp;) _within_
the summary sentence.  On the other hand, inline tags, e.g.
@code, @link, @literal, should not terminate the summary
sentence.

References:
https://bugs.openjdk.org/browse/JDK-8075778
https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html#firstsentence
https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-25 16:18:28 +01:00
dkearns
4b715bdaf4 runtime(netrw): Fix typo in netrw#NetWrite (#14283)
Fix typo in netrw#NetWrite (http) error message call.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-24 17:47:37 +01:00
Restorer
51c94b6506 NSIS: Update nsis installer and nsis docs (#14256)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-24 10:41:18 +01:00
Enno
6f438199c9 runtime(compiler): update errorformat for dot and neato compiler (#14257)
* add errorformat for dot compiler
* add errorformat for neato compiler

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-24 10:37:56 +01:00
Christian Brabandt
7a2f217988 patch 9.1.0202: leaking memory in add_user() on failure
Problem:  leaking memory in add_user() (LuMingYinDetect)
Solution: free user_copy pointer instead of the user ptr

add_user() is called with a user pointer and the user pointer comes
from these functions:
- return value from the getpwent() function (Unix).
- return value from the getpwnam() function (Unix).
- return value from the NetUserEnum() function (MS Windows).

For the first 2 callers, the man page for those functions directly says,
one should not free the returned pointer (since it comes from static
memory).
For the third caller (on MS Windows), the returned buffer is already
freed directly after calling the add_user() function in
NetApiBufferFree(), so this would lead to a double free().

This all indicates, the user ptr is wrongly freed in the add_user()
function and the intention was to free the user_copy pointer instead in
case of an error.

So let's just use that now.

fixes: #14250
closes: #14260

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-24 09:50:03 +01:00
Dylan Thacker-Smith
366c81a200 patch 9.1.0201: gM not working correctly with virt text
Problem:  `gM` would include outer virtual text and its padding when
          getting the line length used to calculate the middle of the
          line, putting the cursor much closer to virtual text lines.
Solution: Exclude outer virtual text in getting the line length for
          `gM`, so that virtual text doesn't influence where the cursor
          is moved to (Dylan Thacker-Smith).

closes: #14262

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-24 09:46:56 +01:00
Dylan Thacker-Smith
b2d124c625 patch 9.1.0200: gj/gk not skipping over outer virtual text lines
Problem:  `gj`/`gk` was updating the desired cursor virtual column to
          the outer virtual text, even though the actual cursor position
          was moved to not be on the virtual text, leading the need to
          do an extra `gj`/`gk` to move past each virtual text line.
          (rickhowe)
Solution: Exclude the outer virtual text when getting the line length
          for moving the cursor with `gj`/`gk`, so that no extra
          movement is needed to skip over virtual text lines.
          (Dylan Thacker-Smith)

fixes: #12028
related: #14262

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-24 09:43:25 +01:00
Mihai Ciuraru
d3c0ff5d5a runtime(termdebug): allow multibyte characters as breakpoint signs (#14274)
Allow multibyte characters as termdebug signs using slice() function

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Mihai Ciuraru <mihai.ciuraru@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-24 09:11:06 +01:00
zeertzjq
ad38769030 patch 9.1.0199: Not enough tests for the slice() function
Problem:  Not enough tests for the slice() function.
Solution: Test with multibyte chars, and in both Legacy and Vim9 script.
          Update docs to be clearer about how it treats composing chars.
          (zeertzjq)

closes: #14275

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-23 08:25:41 +01:00
Yegappan Lakshmanan
d990bf08d8 patch 9.1.0198: Vim9: compound operators broken for lambdas in an object
Problem:  Vim9: compound operators broken for lambdas in an object
          (girishji)
Solution: When using an object from the outer scope, use the LOADOUTER
          instruction to load the object (Yegappan Lakshmanan).

fixes: #14236
closes: #14266

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-22 19:56:17 +01:00
dkearns
76d62985c1 runtime(vim): Update base-syntax, remove old unused syntax groups. (#14146)
Remove old unused syntax groups.

- vimRegion, vimPattern and vimKeyword removed in Vim 5.3.
- vimAuSyntax, vimAutoCmdOpt, vimAutoSet and vimStatement removed in 5.6.

The following were linked in :hi commands but never defined with :syn
and, most likely, never used:
 - vimHLMod introduced in 5.0.
 - vimKeycode and vimKeycodeError introduced in 5.4.
 - vimElseif introduced in 5.6.
 - vimFold introduced in 6.4.
 - vimOperStar (and vimoperStar) introduced in 9.0.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-22 19:55:25 +01:00
Yegappan Lakshmanan
5d77364e4a patch 9.1.0197: Vim9: problem evaluating negated boolean logic
Problem:  Vim9: problem evaluating negated boolean logic
          (lxhillwind)
Solution: Don't clear the first value on short circuit evaluation
          (Yegappan Lakshmanan)

fixes: #14265
closes: #14269

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-22 19:37:29 +01:00
Restorer
8e37daf620 CI: Fix for Sodium version 1.0.19 and MinGW (#14267)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-22 19:34:52 +01:00
Aliaksei Budavei
3e72bf10a0 runtime(java): Recognise the {@snippet} documentation tag (#14271)
Remember that ‘code fragments are typically Java source
code, but they may also be fragments of properties files,
source code in other languages, or plain text.’  Therefore,
with these changes, markup tags are highlighted in the Java
source files (as external snippets) and in the {@snippet}
tags.

Also:

- Improve matching of the multi-line {@code} documentation
  tag with any contained balanced braces.
- Recognise the {@literal} documentation tag.
- Highlight stray blanks in comments.

Related to an enhancement proposal for PCRE-like callouts
discussed at https://github.com/vim/vim/issues/11217.

References:
https://openjdk.org/jeps/413
https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-22 19:32:48 +01:00
Christian Brabandt
f976e2c956 CI: mingw complains about unknown escape sequence: '\l', fails with libsodium (#14259)
Problem:  CI: mingw complains about unknown escape sequence: '\l', fails with sodium v1.0.19
Solution: Use other slash instead, also revert sodium version to v1.0.18

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-21 21:55:22 +01:00
dkearns
35e6f4ca27 runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Improve function definition highlighting.

- Match bang and function modifiers - abort etc.
- Only match valid scope modifiers.
- Match listing commands.
- Don't match ex commands in function names.
- Split function syntax groups into :func and :def subgroups.
- Match Vim9-script parameter and return types.
- Limit legacy-script and Vim9-script comments to :func and :def
  definitions, respectively.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-21 20:41:10 +01:00
RobbiZ98
3a6bd0c5c7 patch 9.1.0196: filetype: support for gnuplot files is lacking
Problem:  filetype: support for gnuplot files is lacking
Solution: Also detect *.gnuplot files
          (RobbiZ98)

closes: #14243

Signed-off-by: RobbiZ98 <113035863+RobbiZ98@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-21 20:24:51 +01:00
Christian Brabandt
85a769d466 patch 9.1.0195: memleak with ex_drop, NULL dereference
Problem:  memleak with ex_drop(), NULL dereference
          (zeertzjq)
Solution: revert back to ex_rewind(), use curbuf instead of buf

fixes: #14246
closes: #14251

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-21 20:19:00 +01:00
Christian Brabandt
9eb236f455 patch 9.1.0194: gcc complains about uninitialized var
Problem:  gcc complains about uninitialized var
          (Tony Mechelynck)
Solution: initialize to NULL

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-21 20:12:59 +01:00
zeertzjq
70e566b0bd patch 9.1.0193: May leak memory in completion when ga_grow() fails
Problem:  May leak memory in completion when ga_grow() fails.
Solution: Free "wca" when ga_grow() fails (zeertzjq).

fixes: #14248
closes: #14249

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-21 07:11:58 +01:00
Alin Mr
6d1d18084b runtime(colors): don't unnecessarily reload v:colornames dict
fixes: #14234
closes: #14235

Signed-off-by: Alin Mr <almr.oss@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-20 20:27:26 +01:00
Christian Brabandt
978178823b patch 9.1.0192: drop: don't rewind when editing the same file
Problem:  :drop tries to :rewind the argumentlist, which results in E37
          (after v9.1.0046)
Solution: instead of calling ex_rewind(), call open_buffer() only when
          re-using the initial empty buffer

fixes: #14219
closes: #14220

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-20 20:20:39 +01:00
RestorerZ
2680a074d4 patch 9.1.0191: Installer does not remove all files
Problem:  Installer does not remove all files
Solution: Update installer and delete all files on uninstall
          update Sodium library dependency, update Readme
          (RestorerZ)

closes: #14214

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-20 20:18:18 +01:00
Girish Palya
8950bf7f8b patch 9.1.0190: complete_info() returns wrong order of items
Problem:  complete_info() returns wrong order of items
          (after v9.0.2018)
Solution: Revert Patch v9.0.2018
          (Girish Palya)

bug fix: complete_info() gives wrong results

1) complete_info() reverses list of items during <c-p>
2) 'selected' item index is wrong during <c-p>
3) number of items returnd can be wrong

Solution:
- Decouple 'cp_number' from 'selected' index since they need not be
  correlated
- Do not iterate the list backwards
- Add targeted tests

Regression introduced by 69fb5afb3b
Following are unnecessary commits to patch problems from above:
fef6630166
daef8c7437

All the tests from above commits are retained though.

fixes: #14204
closes: #14241

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-20 20:11:26 +01:00
James McCoy
2708c0b585 runtime(deb822sources): Add minimal ftplugin (#14240)
Set comment related options and avoid automatic line wrapping.

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-20 19:55:05 +01:00
zeertzjq
918b92b961 patch 9.1.0189: Memory leak with "above" virttext and 'relativenumber'
Problem:  Memory leak with "above" virtual text and 'relativenumber'.
Solution: Free "text_props" and "text_prop_idxs" before returning.
          Also fix off-by-one error causing line number to be drawn
          beyond end of window (zeertzjq).

fixes: #14239
closes: #14241

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-20 19:49:20 +01:00
wrapperup
9f26e5a9bc patch 9.1.0188: filetype: no support for Vento files
Problem:  Vento files are not recognized.
Solution: Recognize *.vto files as filetype "vento" (wrapperup)

Vento is a templating engine https://vento.js.org/

closes: #14229

Signed-off-by: wrapperup <wrapperup4@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-19 18:09:13 +01:00
dkearns
ec21bafc13 runtime(vim): Update base-syntax, disallow '.' at start of menu item names (#14232)
Disallow '.' at the start of a menu item name.

This is the menu path separator character and should be escaped with a
'\' in this case.

Partially fixes #14230.  "popup" is still incorrectly matched as the Ex
command.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-19 18:04:42 +01:00
Christian Brabandt
702f7923f6 runtime(syntax-tests): regenerate c_00 and markdown dumps
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 22:07:22 +01:00
Aliaksei Budavei
a2addebca3 runtime(syntax-tests): include missing changes
related: #14215

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 20:40:54 +01:00
MyyPo
ef21bcaab1 runtime(rust): Respect no_plugin_maps and no_rust_maps globals (#14221)
Signed-off-by: myypo <nikirsmcgl@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 19:38:09 +01:00
Aliaksei Budavei
a9bc195d64 runtime(syntax-tests): Retrofit input/c.c. with TEST_SETUP
Also:

- Include a syntax test for Markdown that takes advantage of
  a sourceable setup configuration.
- Update Filelist

closes: #14215

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 19:32:48 +01:00
Aliaksei Budavei
f6069a7ddc runtime(syntax-tests): Support sourceable Vim configuration for syntax tests
Not all programming languages support comments; without such
support, the TEST_SETUP functionality that offers embeddable
Vim Ex commands may no longer be applicable.

We can achieve similar functionality by storing Ex commands
in a Vim file with its basename matching the basename of the
test file, and having this Vim file sourced, and then having
the test file loaded and tested.  When such a Vim file would
be used for a language that has comments and whose matching
test file has embedded TEST_SETUP lines, we will accommodate
it by letting the TEST_SETUP lines augment and/or overrule
sourced configuration.

Further details can be found in the discussion thread at
https://github.com/vim/vim/discussions/14117.

related: #14215

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 19:32:48 +01:00
Aliaksei Budavei
93edd254d5 runtime(syntax-tests): Support embeddable Vim configuration for syntax tests
Currently, the very same syntax file for which a test can
be written is the only place where global variables can be
defined so that the file parts guarded with such variables
can be read during screen dump generation.  This approach
would lead to littering the syntax file with test-related
queries.

Instead, we could borrow the idea of comment-based mechanism
for test setup from the indent test runner.  With it, the
first 20 lines of each test file would be ALWAYS scanned in
search of the TEST_SETUP markers and, when found, the part
between the end of the marker and the end of the line would
be treated as a Vim Ex command.

Note that with these changes, runtime/defaults.vim is no
longer sourced for screen dump generation; however, some of
its functionality is reintroduced.

Further details can be found in the discussion thread at
https://github.com/vim/vim/discussions/14117.

related: #14215

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 19:32:16 +01:00
Aliaksei Budavei
78c189837a runtime(doc): Recover some missed commas and periods in starting.txt
Also:

- Insert some missing words;
- Strive for consistency with capitalisation of words;
- Improve shell alias examples.

The gvim words were left alone for now, but they deserve to
be treated like proper names, GVim or GUI Vim, unless these
refer to executable filenames (on *nix systems).

closes: #14194

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 19:25:27 +01:00
zeertzjq
4e334d0443 patch 9.1.0187: filetype: no support for Dafny files
Problem:  Dafny files are not recognized.
Solution: Recognize *.dfy files as filetype "dafny" (zeertzjq).

Ref: https://dafny.org/
Ref: https://github.com/mlr-msft/vim-loves-dafny

closes: #14226

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 19:21:48 +01:00
dkearns
9530fe4f3a runtime(vim): Update base-syntax, improve :highlight command (#14228)
Improve :highlight command highlighting

- Use the same highlight groups for "default link" with and without
  bang.
- Match some common line-continuation use.
- Match :hi clear variants.
- Highlight color-name values.

Resync vim.vim and generator/vim.vim.base.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-18 19:19:51 +01:00
Christian Brabandt
0e17f7e972 runtime(doc): clarify close behaviour for :term
closes: #14207

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-17 20:14:25 +01:00
Matthew Hughes
3d46de703c runtime(go): goPackageComment highlighting too broad
Previously this would highlight any comment before a line starting
`package`, for example

    var (
      // This comment would be highlighted as a goPackageComment
      packages []string
    )

The package clause is only valid when followed by a space[1], so include
this restriction

This is upstreaming a change from `go-vim`[2]

[1] https://go.dev/ref/spec#Package_clause
[2] d1c36cc417

Signed-off-by: Matthew Hughes <matthewhughes934@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-17 20:05:43 +01:00
zeertzjq
deb2204bff patch 9.1.0186: cursor pos wrong on mouse click after eol with 'rl', 've' and conceal
Problem:  Wrong cursor position when clicking after end of line with
          'rightleft', 'virtualedit' and conceal.
Solution: Set values in ScreenCols[] also with SLF_RIGHTLEFT.  Also fix
          off-by-one cursor position with 'colorcolumn' (zeertzjq).

closes: #14218

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-17 19:44:30 +01:00
zeertzjq
f6272551bd patch 9.1.0185: 'wincolor' hl missing with 'rightleft', "below" virttext, 'nowrap'
Problem:  'wincolor' highlight missing with 'rightleft', "below" virtual
          text and 'nowrap'.
Solution: Handle 'rightleft' in draw_screen_line() (zeertzjq).

closes: #14216

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-17 10:01:47 +01:00
RestorerZ
8291e91c6b runtime(indent-test): MS-Windows: Add Makefile for running indent tests
A few more unrelated changes:
- fix Vim script style of indent test
- Change comments to complete sentences in Filelist

closes: #14198
2024-03-16 15:13:21 +01:00
zeertzjq
d0c1b7723f patch 9.1.0184: Cursor pos wrong when clicking with conceal and wrap
Problem:  Cursor position wrong when clicking with conceal and wrap.
Solution: Use the virtual column of the last char for ScreenCols[] in
          boguscols.  Remove use of MAXCOL in ScreenCols[].  Rename
          third argument of wlv_screen_line() to "clear_end" as that's
          clearer what it does (zeertzjq).

related: 14192
closes: #14200

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-16 15:03:33 +01:00
zeertzjq
9e7f1fc2f1 patch 9.1.0183: Wrong display or screenpos() result when toggling diff mode
Problem:  Wrong display or screenpos() result when toggling diff mode.
Solution: Reset w_skipcol when disabling 'wrap'.  Reset w_leftcol when
          enabling 'wrap' (zeertzjq).

fixes: #14210
closes: #14211

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-16 09:40:22 +01:00
zeertzjq
6a04bf5ee5 patch 9.1.0182: Can define function with invalid name inside 'formatexpr'
Problem:  Can define function with invalid name inside 'formatexpr'.
Solution: Use goto instead of checking for did_emsg later.
          (zeertzjq)

closes: #14209

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-16 09:39:06 +01:00
Restorer
20eaf8b78d tools/rename.bat uses 'mv' and "move" (#14201)
refactor tools/rename.bat and support both "mv" for Linux build environments
and "move" for Windows build environments

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-16 09:38:10 +01:00
zeertzjq
989faa4fce runtime(doc): make :h tag-! more consistent (#14208)
- Use "on" and "off" for 'winfixbuf' option values.
- Retab the table.

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-16 09:21:20 +01:00
dkearns
b4b3d7de24 runtime(vim): Update base-syntax, revert last change to vimUserFunc (#14202)
Fix highlighting of ":echo (expr)" (broken in commit 61887b3) by
re-enabling the original fix for #9987.

Addresses https://github.com/vim/vim/pull/14199#issuecomment-1999732062.

This will be fixed more generally when there is context-sensitive
matching for commands and functions.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-15 18:53:53 +01:00
dkearns
61887b3d6f runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Improve :echo and :execute highlighting.

- Add better line-continuation support for both commands.
- Improve the :execute command's expression argument matching.
- Remove the fix for issue #9987 as this is now handled by correctly
  matching the parens in :echo (...) as operator parens.


Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-15 12:45:48 +00:00
Christ van Willegen
c35fc03dbd patch 9.1.0181: no overflow check for string formatting
Problem:  no overflow check for string formatting
Solution: Check message formatting function for overflow.
          (Chris van Willegen)

closes: #13799

Signed-off-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-14 18:58:04 +01:00
zeertzjq
010e1539d6 patch 9.1.0180: Cursor pos wrong when double-width chars are concealed
Problem:  Cursor pos wrong when double-width chars are concealed.
Solution: Advance one more virtual column for a double-width char.
          Run some tests with both 'wrap' and 'nowrap' (zeertzjq).

closes: #14197

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-14 18:22:17 +01:00
zeertzjq
9352c28292 patch 9.1.0179: 'wincolor' highlight missing with "below" virtual text
Problem:  'wincolor' highlight missing with "below" virtual text.
Solution: Subtract n_attr_skip from n_attr.  Combine 'wincolor' with
          other highlights when 'nowrap' is set. (zeertzjq)

closes: #14196

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-14 18:16:56 +01:00
Christian Brabandt
45da32964d runtime(mswin): still another clipboard_working test
Commit 760f664213 missed to revert back
another test for `if has('clipboard_working')`

So change the remaining check around the inoremap <c-v> mappings.

fixes #14195

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-14 07:59:09 +01:00
Christian Brabandt
0a32b8854b patch 9.1.0178: E1513 might be confusing
Problem:  E1513 might be confusing
          (Christoph Thoma)
Solution: reword error message, fix test to not
          depend on the actual message

fixes: #14189

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-13 20:59:27 +01:00
zeertzjq
8c55d60658 patch 9.1.0177: Coverity reports dead code
Problem:  Coverity reports dead code.
Solution: Remove the dead code. Also fix a mistake in ml_get_pos_len()
          and update some comments (zeertzjq).

closes: #14189

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-13 20:42:26 +01:00
zeertzjq
253ff4dece patch 9.1.0176: Cursor column wrong with 'virtualedit' and conceal
Problem:  Cursor column wrong with 'virtualedit' and conceal.
Solution: Correct cursor column at end of line if never reached.
          (zeertzjq)

closes: #14190

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-13 20:38:26 +01:00
Sean Dewar
5866bc3a0f patch 9.1.0175: wrong window positions with 'winfix{width,height}'
Problem:  winframe functions incorrectly recompute window positions if
          the altframe wasn't adjacent to the closed frame, which is
          possible if adjacent windows had 'winfix{width,height}' set.

Solution: recompute for windows within the parent of the altframe and
          closed frame. Skip this (as before) if the altframe was
          top/left, but only if adjacent to the closed frame, as
          positions won't change in that case. Also correct the return
          value documentation for win_screenpos. (Sean Dewar)

The issue revealed itself after removing the win_comp_pos call below
winframe_restore in win_splitmove. Similarly, wrong positions could result from
windows closed in other tabpages, as win_free_mem uses winframe_remove (at least
until it is entered later, where enter_tabpage calls win_comp_pos).

NOTE: As win_comp_pos handles only curtab, it's possible via other means for
positions in non-current tabpages to be wrong (e.g: after changing 'laststatus',
'showtabline', etc.). Given enter_tabpage recomputes it, maybe it's intentional
as an optimization? Should probably be documented in win_screenpos then, but I
won't address that here.

closes: #14191

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-13 20:17:24 +01:00
zeertzjq
21b0a3df8c patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Problem:  'cursorline' and 'wincolor' highlight missing with concealed and
          wrapped lines.
Solution: Apply 'cursorline' and 'wincolor' highlight to boguscols.
          (zeertzjq)

Since 'cursorline' and 'wincolor' highlight apply after the end of the
line, it is more consistent to have them also apply to boguscols.

Assigning MAXCOL to values in ScreenCols[] make mouse click behave the
same with 'cursorline' and 'nocursorline', but such behavior may be
incorrect, as it puts the cursor on the next screen line.  That may be
fixed in a future PR.

closes: #14192

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-13 20:09:02 +01:00
Christian Brabandt
760f664213 runtime(mswin): revert back the check for clipboard_working support
Commit d9ebd46bd0 changed the condition to
check if the clipboard is available from:
```
has('clipboard')
```
to
```
has('clipboard_working')
```
Assuming that is the more accurate test because even when clipboard
support is enabled at compile time it may not be actually working (e.g.
if no X11 environment is available, or when working on a remote server).

However it seems that condition does not evaluate to true, when the GUI
has not been started up yet (and there was no X11 Connection yet possible).

So let's just revert back the check to `has('clipboard')`, since that
has been proven to be working well enough.

related: #13809

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-13 16:38:16 +01:00
RestorerZ
e498cafe74 patch 9.1.0173: msgfmt ver. 0.22 forcibly converts text to UTF-8
Problem:  msgfmt ver. 0.22 forcibly converts text to UTF-8
Solution: use '--no-convert' if msgfmt supports it. Add a configure
          check for the msgfmt version (RestorerZ).

closes: #14163

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-12 22:14:39 +01:00
Christian Brabandt
9a660d2883 runtime(doc): add reference to matchbufline() at :h search()
related: #14173

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-12 22:03:45 +01:00
zeertzjq
94b7c3233e patch 9.1.0172: More code can use ml_get_buf_len() instead of STRLEN()
Problem:  More code can use ml_get_buf_len() instead of STRLEN().
Solution: Change more STRLEN() calls to ml_get_buf_len().  Also do not
          set ml_line_textlen in ml_replace_len() if "has_props" is set,
          because "len_arg" also includes the size of text properties in
          that case. (zeertzjq)

closes: #14183

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-12 21:50:32 +01:00
Sean Dewar
5cac1a9bee patch 9.1.0171: Small split-move related improvements
Problem:  small improvements can be made to split-move related
          functions.
Solution: apply them (Sean Dewar):

- Improve some doc comments (frame_flatten should still work for non-current
  tabpages, despite the topframe check, which looks benign, though I'm unsure if
  it's still needed; see #2467).

- f_win_splitmove should check_split_disallowed on wp, not targetwin, as that's
  what win_splitmove checks (though it's probably unnecessary to check
  b_locked_split at all; see #14109, which I hope to get around to finishing at
  some point).

- Make winframe_restore restore window positions for the altframe, which
  winframe_remove changes. This doesn't affect the prior behaviour, as we called
  win_comp_pos after, but as win_comp_pos only works for curtab, and
  winframe_remove supports non-current tabpages, we should undo it. Regardless,
  this should mean we don't need win_comp_pos anymore; adjust tests to check
  that window positions remain unchanged.

  I'm not sure win_comp_pos is needed after last_status anyway if it doesn't
  steal rows from another frame to make room for a new statusline, which
  shouldn't be the case after winframe_remove? To be safe, I'll leave it as is.

closes: #14185

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-12 21:11:39 +01:00
Sean Dewar
d64801e913 patch 9.1.0170: Re-allow curwin == prevwin, but document it instead
Problem:  more places exist where curwin == prevwin, and it may even be
          expected in some cases.
Solution: revert v9.1.0001, but document that it's possible instead.
          (Sean Dewar)

I've had a change of heart for the following reasons:

- A quick 'n dirty [GitHub code
  search](https://github.com/search?q=%2F%28winnr%5C%28%5C%29%5Cs*%3D%3D%5Cs*winnr%5C%28%5B%27%22%5D%23%5B%27%22%5D%5C%29%7Cwinnr%5C%28%5B%27%22%5D%23%5B%27%22%5D%5C%29%5Cs*%3D%3D%5Cs*winnr%5C%28%5C%29%29%2F&type=code)
  reveals some cases where it's expected in the wild.

  Particularly, it made me aware `winnr() == winnr('#')` is possible when curwin
  is changed temporarily during the evaluation of a &statusline expression item
  (`%{...}`), and is used to show something different on the statusline
  belonging to the previous window; that behaviour wasn't changed in v9.1.0001,
  but it means curwin == prevwin makes sense in some cases.

- The definition and call sites of back_to_prevwin imply some expectation that
  prevwin == wp (== curwin) is possible, as it's used to skip entering the
  prevwin in that case.

- Prior to v9.1.0001, `:wincmd p` would not beep in the case that was patched in
  v9.1.0001, but now does. That resulted in #14047 being opened, as it affected
  the CtrlP plugin.

  I find it odd that `:wincmd p` had cases where it wouldn't beep despite doing
  nothing, but it may be preferable to keep things that way (or instead also
  beep if curwin == prevwin, if that's preferred).

- After more digging, I found cases in win_free_mem, enter_tabpage,
  aucmd_restbuf and qf_open_new_cwindow where curwin == prevwin is possible
  (many of them from autocommands). Others probably exist too, especially in
  places where curwin is changed temporarily.

fixes: #14047
closes: #14186

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-12 20:50:27 +01:00
Sean Dewar
e101028a5c patch 9.1.0169: current window number returned by tabpagewinnr may be outdated
Problem:  current window number returned by tabpagewinnr may be outdated
          when called from win_execute for the original tabpage.
Solution: update the original tabpage's tp_curwin in switch_win; use
          {un}use_tabpage instead. Don't do it in restore_win to ensure
          tp_curwin of the temporarily visited tabpage is unchanged from
          switch_win visiting it, as before. (Sean Dewar)

Maybe restore_win should only restore tp_curwin if
`curtab == switchwin->sw_curtab`, in case the user changed tabpages from within
win_execute, but not doing that is consistent with the old behaviour.

related: #14186

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-12 20:42:25 +01:00
John Marriott
bfcc895482 patch 9.1.0168: too many STRLEN() calls
Problem:  too many STRLEN() calls
Solution: Make use of ml_get_len() calls instead
          (John Marriott)

closes: #14123

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11 22:04:45 +01:00
dkearns
5cd86c6cff runtime(vim): Update base-syntax, improve number matching (#14175)
- Limit blob literals to an even number of hexadecimal digits and
  correctly located dots.
- Match octal numbers.

The current version unsuccessfully attempts to match a leading '-' as
part of the float literal.  It's actually parsed as part of the literal
for all numbers but the syntax file hasn't matched it like that for a
long time and highlights negative numbers as UNARY-MINUS NUMBER.  This
will be fixed when better expression matching is implemented.


Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11 21:40:58 +01:00
zeertzjq
49ffb6b428 patch 9.1.0167: Changing buffer in another window causes it to show matchparen
Problem:  Changing buffer in another window using win_execute() causes
          it to show matchparen (after 9.0.0969).
Solution: Delay highlighting with SafeState in BufWinEnter.
          (zeertzjq)

closes: #14177

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11 21:38:58 +01:00
zeertzjq
5406eb8722 patch 9.1.0166: Internal error with blockwise getregion() in another buffer
Problem:  Internal error with blockwise getregion() in another buffer
Solution: Also change curwin->w_buffer when changing curbuf (zeertzjq)

closes: #14179

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11 21:36:42 +01:00
Rimas Kudelis
cb942cc4ca translation(lt): Update Lithuanian translation of Vim tutor to v.1.7 (#14176)
Signed-off-by: Rimas Kudelis <rimas@kudelis.lt>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11 15:15:04 +00:00
zeertzjq
0049a495c8 runtime(doc): improve 'winfixbuf' docs (#14180)
- Make it not sound like a buffer option.
- "!" is called a modifier, not an option.

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-11 15:13:16 +00:00
Christian Brabandt
675cbfb47f runtime(doc): Update Markdown syntax, add missing configs
fixes: #14168

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-10 19:34:32 +01:00
Yegappan Lakshmanan
fa63008727 patch 9.1.0165: Vim9: Importing an autoload imported script fails
Problem:  Vim9: Importing an autoload imported script fails
          (Song-Tianxiang)
Solution: Return the script ID in this case
          (Yegappan Lakshmanan)

fixes: #14171
closes: #14174

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-10 19:22:38 +01:00
zeertzjq
26dd09ad5e patch 9.1.0164: Internal error when passing invalid position to getregion()
Problem:  Internal error or crash when passing invalid position to
          getregion().
Solution: Give an error for invalid position (zeertzjq).

closes: #14172

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-10 15:46:58 +01:00
zeertzjq
82e079df81 patch 9.1.0163: Calling STRLEN() to compute ml_line_textlen when not needed
Problem:  Calling STRLEN() to compute ml_line_textlen when not needed.
Solution: Use 0 when STRLEN() will be required and call STRLEN() later.
          (zeertzjq)

closes: #14155

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-10 08:55:42 +01:00
Paul R. Tagliamonte
14759ded57 patch 9.1.0162: problem with writing extended attributes on failure
Problem:  problem with writing extended attributes on failure
Solution: Change return type to ssize_t and check listxattr's return
          value correctly on failure (Paul Tagliamonte)

The existing logic will return when the listxattr call returns with the
errno set to ENOTSUP (or a size of 0 bytes), without checking to see if
listxattr actually failed. listxattr can fail with at least E2BIG,
ENOTSUP, ERANGE, or anything that `stat(2)` can fail with (in my case;
ENOENT from stat).

The returned size is stored to a size_t, but the return type is a
ssize_t. On failure, listxattr returns -1, which will get translated to
size_t's MAX. If the listxattr call failed with anything other than
ENOTSUP, this triggers a request for size_t MAX bytes.

This means that, if the listxattr call fails with anything other than
ENOTSUP on save, vim will error with

`E342: Out of memory!  (allocating 18446744073709551615 bytes)`

(keen observers will note 18446744073709551615 is 0xffffffffffffffff)

In reality, this is likely masking a different (usually filesystem?)
error -- but at least it's an error being pushed to the user now, and we
don't try to allocate size_t MAX bytes.

I've opted to change the type that we store listxattr to from size_t to
ssize_t, to match listxattr(2)'s signature, and to check for the -1
return value. Additionally, I've removed the errno check -- if we get a
listxattr failure for any reason, we may as well bail without trying;
it's not like we can even recover.

closes: #14169

Signed-off-by: Paul Tagliamonte <paultag@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-10 08:53:33 +01:00
Rimas Kudelis
ca0e0d2708 translation(lt): Added Lithuanian translation of Tutor v. 1.4 by Laurynas Stančikas (#14118)
This translation has been available for free download from lietuvybe.org,
then lietuvybe.akl.lt, then lietuvybė.lt since at least 2006[1], but noone
ever bothered to contribute it upstream.

[1] https://web.archive.org/web/20060222162117/http://lietuvybe.org/files/vim-tutor-lt.txt

Co-authored-by: Laurynas Stančikas <lasas@gim.ktu.lt>
Signed-off-by: 	Rimas Kudelis <rimas@kudelis.lt>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09 18:27:46 +01:00
Aliaksei Budavei
a2c65809da runtime(java): Recognise string templates (#14150)
As this is encouraged in the referenced JEPs, "to visually
distinguish a string template from a string literal, and
a text block template from a text block", the default
colours for java\%[Debug]StrTempl are made distinct from
java\%[Debug]String.

According to §3.2 Lexical Translations (JLS, c. 1996 or any
more recent version), line terminators, white space, and
comments are discarded before tokens are accepted. Since
a template expression comprises a template processor, a dot,
and a template, it may be visually appealing to break up
its head across a few lines whenever its tail already spans
multiple lines.  Curiously, no allowance for it is made in
the distributed tests for OpenJDK 21; the proposed regexp
patterns take in consideration a line terminator and white
space after a dot.

References:
https://openjdk.org/jeps/430 (Preview)
https://openjdk.org/jeps/459 (Second Preview)
https://openjdk.org/jeps/465

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09 18:03:11 +01:00
dkearns
5d67aef306 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Improve :map command highlighting.

- Fix multiline RHS matching, allow continued lines and comments.
- Allow ^V-escaped whitespace in LHS.
- Handle map-bar properly and allow trailing commands.

Fixes issue #12672.


Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09 18:01:22 +01:00
zeertzjq
13a014452a patch 9.1.0161: expand() removes slash after env variable that ends with colon
Problem:  expand() removes a slash after an environment variable that
          ends with a colon on Windows.
Solution: Check the correct char for a colon (zeertzjq)

closes: #14161

Note: Vim still removes the path-separator at the end, if another path separator
follows directly after it, e.g. on:

```
    echo $FOO='/usr/'
    echo expand('$FOO/bar') == '/usr/bar'
```

see:

,----[ misc1.c:1630 ]
|   // if var[] ends in a path separator and tail[] starts
|   // with it, skip a character
|   if (after_pathsep(dst, dst + c)
| #if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA)
| 	  && (dst == save_dst || dst[-1] != ':')
| #endif
| 	  && vim_ispathsep(*tail))
|       ++tail;
`----

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09 17:44:46 +01:00
dkearns
62b26040eb runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Improve :menu and :menutranslate highlighting.

- Match args to :menutranslation and :popup.
- Only highlight special notation in {rhs} of :menu, like :map.
- Allow line continuations in {rhs} of :menu and between {english} and
  {mylang} of :menutranslation, matching common usage.
- Bug fixes.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09 17:43:28 +01:00
Yegappan Lakshmanan
35b867b685 patch 9.1.0160: Vim9: Add support for using a class type of itself in an object method
Problem:  Add support for using a class type of itself in an object
          method (thinca)
Solution: Vim9: Add support for using a class type of itself in an
          object method (Yegappan Lakshmanan)

fixes: #12369
closes: #14165

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09 15:44:19 +01:00
zeertzjq
b2ec0da080 patch 9.1.0159: Crash in WinClosed after BufUnload closes other windows
Problem:  Crash in WinClosed after BufUnload closes other windows
Solution: Don't trigger WinClosed if the buffer is NULL (zeertzjq)

Now win_close_othertab() doesn't trigger any autocommands if the buffer
is NULL, so remove the autocmd blocking above (which was added not long
ago in patch v9.0.0550) for consistency.

Also remove an unreachable close_last_window_tabpage() above:
- It is only reached if only_one_window() returns TRUE and last_window()
  returns FALSE.
- If only_one_window() returns TRUE, there is only one tabpage.
- If there is only one tabpage and last_window() returns FALSE, the
  one_window() in last_window() must return FALSE, and the ONE_WINDOW
  in close_last_window_tabpage() must also be FALSE.
- So close_last_window_tabpage() doesn't do anything and returns FALSE.

Then the curtab != prev_curtab check also doesn't make much sense, and
the only_one_window() can be replaced with a check for popup and a call
to last_window() since this is a stricter check than only_one_window().

closes: #14166

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-09 15:39:27 +01:00
zeertzjq
8a01744c56 patch 9.1.0158: 'shortmess' "F" flag doesn't work properly with 'autoread'
Problem:  'shortmess' "F" flag doesn't work properly with 'autoread'
          (after 9.1.0154)
Solution: Hide the file info message instead of the warning dialog
          (zeertzjq)

closes: #14159
closes: #14158

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-07 21:48:33 +01:00
zeertzjq
0df8f93bda patch 9.1.0157: Duplicate assignment in f_getregion()
Problem:  Duplicate assignment in f_getregion().
Solution: Remove the duplicate assignment.  Also improve getregion()
          docs wording and fix an unrelated typo (zeertzjq)

closes: #14154

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-07 21:43:21 +01:00
Sean Dewar
769eb2d0c3 patch 9.1.0156: Make 'wfb' failing to split still report E1513
Problem:  may not be clear why failing to split causes an ":Xdo" command
          to abort if 'wfb' is set.
Solution: do not return immediately if win_split fails, so E1513 is
          still given. Expect both errors in the test. Also fix tests to
          pass CI.
          (Sean Dewar)

closes: #14152

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-07 21:38:21 +01:00
Aliaksei Budavei
64de03a22b runtime(syntax-tests): remove executable bit from sh test file
related: #14138

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-07 21:33:51 +01:00
Shougo Matsushita
84bf6e658d patch 9.1.0155: can only get getregion() from current buffer
Problem:  can only call getregion() for current buffer
Solution: Allow to retrieve selections from different buffers
          (Shougo Matsushita)

closes: #14131

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-06 21:39:35 +01:00
Shougo Matsushita
9db39b0ec9 patch 9.1.0154: shm=F not respected when reloading buffer with 'autoread'
Problem:  shm=F not respected when reloading buffer with 'autoread'
Solution: Check SHM_FILEINFO in buf_check_timestamp()
          (Shougo Matsushita)

closes: #14144

Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-06 20:58:41 +01:00
zeertzjq
7ac1145fbe patch 9.1.0153: Text properties corrupted with fo+=aw and backspace
Problem:  Text properties corrupted with fo+=aw and backspace
Solution: Allocate line and move text properties
          (zeertzjq)

closes: #14147

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-06 20:54:22 +01:00
Christos Longros
c62dacb7ed translation(gr): add translation of the installer (#14148)
Add greek translation of the installer

Signed-off-by: Christos Longros <98426896+chrislongros@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-06 20:53:02 +01:00
Antonio Giovanni Colombo
e3f2ef0eec translation(it): Update Italian translation for winfixbuf
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-06 20:44:10 +01:00
Christian Brabandt
af7ae81600 patch 9.1.0152: Coverity complains about ignoring return value
Problem:  Coverity complains about ignoring return value of win_split()
          (after v9.1.150)
Solution: Check if win_split() failed, add winfixbuf.res to Makefile
2024-03-06 20:43:05 +01:00
Christian Brabandt
a72d1be5a9 patch 9.1.0151: ml_get_buf_len() does not consider text properties
Problem:  ml_get_buf_len() does not consider text properties
          (zeertzj)
Solution: Store text length excluding text properties length
          in addition in the memline

related #14123
closes: #14133

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-05 20:43:25 +01:00
Sean Dewar
4bb505e28c patch 9.1.0150: Several minor 'winfixbuf' issues
Problem:  several minor 'winfixbuf' issues exist, mostly relating to the
          quickfix list
Solution: address them and adjust tests. Retab and reflow a few things too.
          (Sean Dewar)

Things touched include:

- Replace the semsgs with gettext'd emsgs.

- Handle window switching in ex_listdo properly, so curbuf and curwin
  are kept in-sync and trigger autocommands; handle those properly.

- Don't change the list entry index in qf_jump_edit_buffer if we fail
  due to 'wfb' (achieved by returning FAIL; QF_ABORT should only be used
  if the list was changed).

- Make qf_jump_edit_buffer actually switch to prevwin when using `:cXX`
  commands **outside** of the list window if 'wfb' is set in curwin.
  Handle autocommands properly in case they mess with the list.

  NOTE: previously, it seemed to split if 'wfb' was set, but do nothing
  and fail if prevwin is *valid*. This behaviour seemed strange, and maybe
  unintentional? Now it aligns more with what's described for the `:cXX`
  commands in the original PR description when used outside a list window,
  I think.

- In both functions, only consider prevwin if 'wfb' isn't set for it;
  fallback to splitting otherwise.

- Use win_split to split. Not sure if there was a specific reason for
  using ex_splitview. win_split is simpler and respects modifiers like
  :vertical that may have been used. Plus, its return value can be checked
  for setting opened_window in qf code (technically win_split_ins autocmds
  could immediately close it or change windows, in which the qf code might
  close some other window on failure; it's already the case elsewhere,
  though).

closes: #14142

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-05 20:39:07 +01:00
Ivan Pešić
e1051924c7 translation(sr): Update Serbian messages (#14143)
* translation(sr): Update Serbian messages
* Update serbian.nsi
* Update gvim.nsi

Add serbian language to the installer

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-05 20:34:00 +01:00
Wu Yongwei
63c39e4ef7 runtime(c): Recognize "__inline" (#14145)
`__inline` is recognized by GCC, and may even be preferred, as MSVC does
not recognize `__inline__`.

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-05 20:27:27 +01:00
dkearns
e5c9ba6015 runtime(vim): Update base-syntax, fix escaping :syn and :hi sub-groups (#14137)
* runtime(vim): Update base-syntax, fix escaping :syn and :hi sub-groups

- Remove contained :syntax and :highlight sub-groups from the function
  body cluster.  These should only match in the respective commands.
- Remove vimSynLine syntax group from several clusters.  The definition
  of vimSynLine was removed in Vim 5.3.

* runtime(vim): Update syntax generator, use standard Last Change date format

The de facto standard date format is YYYY MMM DD.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-04 19:15:42 +01:00
dkearns
1bdc9435c1 runtime(sh): Update syntax file, fix issue #962 (#14138)
Allow the opening parenthesis of a multiline array assignment, within an
if statement, to appear at EOL.

Fixes issue #962.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-04 19:14:08 +01:00
Sean Dewar
5131f224da patch 9.1.0149: null pointer member access when accessing 'winfixbuf' property
Problem:  qf_goto_win_with_qfl_file may check if prevwin has 'winfixbuf'
          set without checking if it's valid first.
Solution: Reverse the condition. Add a test, a modeline, and a missing
          CheckFeature. (Searn Dewar)

closes: #14140

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-04 19:09:26 +01:00
Jay Sitter
e84490311b runtime(css): update syntax script
Signed-off-by: Jay Sitter <jay@jaysitter.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-04 16:19:48 +01:00
dkearns
691aee8b07 runtime(vim): Update base-syntax, fix issue #14135 (#14136)
Fix incorrect error highlighting for function calls in :command
definitions.  vimFunctionError should be restricted to :function header
lines.

fixes: #14135

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03 19:02:47 +01:00
Christian Brabandt
58f1e5c089 runtime(doc): Highlight the error message at *E1513*
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03 16:47:47 +01:00
dkearns
c4aef9a97b runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
- Explicitly match the bang and group name in :aug! {name}.
- Allow any characters in a group name.
- Match default group switch marker, END.
- Match :aug without arguments (list command).

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03 16:42:47 +01:00
Shixian Li
d9ebd46bd0 runtime(mswin): Use unnamed register when clipboard not working (#13813)
* Use unnamed register while clipboard not exist
* Do not need to specify the unnamed register explicitly
fixes: #13809

Signed-off-by: Shixian Li <lsx7@sina.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03 16:41:46 +01:00
Yegappan Lakshmanan
d3eae7bc11 patch 9.1.0148: Vim9: can't call internal methods with objects
Problem:  Vim9: can't call internal methods with objects
Solution: Add support for empty(), len() and string() function
          calls for objects (Yegappan Lakshmanan)

closes: #14129

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03 16:34:51 +01:00
Colin Kennedy
2157035637 patch 9.1.0147: Cannot keep a buffer focused in a window
Problem:  Cannot keep a buffer focused in a window
          (Amit Levy)
Solution: Add the 'winfixbuf' window-local option
          (Colin Kennedy)

fixes:  #6445
closes: #13903

Signed-off-by: Colin Kennedy <colinvfx@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03 16:16:47 +01:00
Restorer
353faa373e translation(ru): Updated Russian installer translation (#14134)
* translation(ru): Updated Russian translation for NSIS
* update CODEOWNERS

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03 15:52:37 +01:00
Aliaksei Budavei
b3030b653b runtime(java): Recognise text blocks (#14128)
Also, accept as valid the space escape sequence `\s`.

Also, consistently use the claimed `javaDebug` prefix for
syntax group definitions kept under `g:java_highlight_debug`.

Since `javaStringError` is commented out for its generality,
let's comment out `javaDebugStringError`, its copy, as well.

References:
https://openjdk.org/jeps/378
https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.10.7

Closes #10910.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-03 15:51:01 +01:00
dkearns
e93afc2e61 runtime(r,rhelp,rmd,rnoweb,rrst): Update ftplugin, browsefilter labels (#14126)
Use the standard format for browsefilter labels:
  "File Description (*.ext1, *.ext2, *.ext3)"

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-02 19:27:47 +01:00
Aliaksei Budavei
100a665634 runtime(java): Improve the recognition of literals (#14120)
* Emend the Unicode and octal escape sequence patterns;
* Accept the (repeated) underscore separators in all
  numerical literals;
* Recognise hexadecimal floating-point literals.

(The space escape sequence '\s' will be introduced along
with text blocks in another PR.)

References:
https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.3
https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.10.1
https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.10.2
https://docs.oracle.com/javase/specs/jls/se17/html/jls-3.html#jls-3.10.7


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-01 23:11:14 +01:00
zeertzjq
c27fcf4857 patch 9.1.0146: v:echospace wrong with invalid value of 'showcmdloc'
Problem:  v:echospace wrong after setting invalid value to 'showcmdloc'.
Solution: Only call comp_col() if value is valid.
          (zeertzjq)

closes: #14119

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-01 23:03:16 +01:00
zeertzjq
87410ab3f5 runtime(doc): some improvements to getregion() docs (#14122)
- Mention the default selection behavior
- Remove useless sentence
- Correct description about space padding

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-01 23:00:23 +01:00
Christian Brabandt
8fad5d5887 runtime(doc,netrw): update "Last Change header", remove trailing whitespace
Update Last-Change Header for netrw and doc/indent.txt, fix a trailing
whitespace in indent.txt and make CI happy.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-29 18:13:04 +01:00
Christian Brabandt
56b7da3c05 runtime(netrw): handle file/dir symlinks specifically in tree mode
fixes: #2386
related: #3609

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-29 17:48:14 +01:00
Sam-programs
062141b1a7 patch 9.1.0145: v:echospace not correct when 'showcmdloc' != last
Problem:  the amount of available space (v:echospace) on the command
          line is not correct when showcmdloc is drawn into the
          statusline or tabline.
Solution: only add SHOWCMD_COLS to the shown command column when
          'showcmdloc' is set to last (Sam-programs)

closes: #14108

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Sam-programs <130783534+Sam-programs@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-29 17:40:29 +01:00
Yegappan Lakshmanan
4d55c54e30 patch 9.1.0144: getregion() needs more tests
Problem:  getregion() needs more tests
Solution: Run the getregion() test in both the legacy and Vim9 contexts
          (Yegappan Lakshmanan)

closes: #14114

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-29 17:30:43 +01:00
Christian Brabandt
b4eb3f1e44 runtime(yaml): disable multiline_scalar detection by default
There have been many complaints about Yaml indenting too much, because
it considers values to be multi-line by default, which leads to
unintended indenting for (apparently most) users.

So let's hide this feature behind the new feature flag, keep it
simple and prefer single line value key pairs by default.

If you want the old behaviour, set the following value: >

  :let g:yaml_indent_multiline_scalar = 1

If not set, it will indent the same as the previous line.

closes #13845

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-29 17:28:07 +01:00
Christian Brabandt
55f8bba73b patch 9.1.0143: [security]: autocmd causes use-after-free in set_curbuf()
Problem:  [security]: autocmd cause use-after-free in set_curbuf()
          (kawarimidoll)
Solution: check side-effect of BufLeave autocommand, when the number
          of windows changed, close windows containing buffers that will
          be wiped, if curbuf changed unexpectedly make sure b_nwindows
          is decremented otherwise it cannot be wiped

set_curbuf() already makes some efforts to ensure the BufLeave
autocommands do not cause issues.  However there are still 2 issues
that are not taken care of:

1) If a BufLeave autocommand opens a new window containing the same
buffer as that is going got be closed in close_buffer() a bit later,
we suddenly have another window open, containing a free'd buffer.  So we
must check if the number of windows changed and if it does (and the
current buffer is going to be wiped (according to the 'bufhidden'
setting), let's immediately close all windows containing the current
buffer using close_windows()

2) If a BufLeave autocommand changes our current buffer (displays it in
the current window), buf->b_nwindow will be incremented. As part of
set_curbuf() we will however enter another buffer soon, which means, the
newly created curbuf will have b_nwindows still have set, even so the
buffer is no longer displayed in a window. This causes later problems,
because it will no longer be possible to wipe such a buffer. So just
before entering the final buffer, check if the curbuf changed when
calling the BufLeave autocommand and if it does (and curbuf is still
valid), decrement curbuf->b_nwindows.

Both issues can be verified using the provided test (however the second
issue only because such an impacted buffer won't be wiped, causing
futher issues in later tests).

fixes: #13839
closes: #14104

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 23:32:00 +01:00
Philip H
0fdd18596f CI: enable apt upgrade on github runners again to fix i386 build
This reverts commit 7f630e6f35 which
reverted 7349c5160a

Let's see how many more iterations of reverting a commit we can
achieve...

closes: #14113

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 23:28:34 +01:00
Shougo Matsushita
19b718828d patch 9.1.0142: getregion() can be improved
Problem:  getregion() can be improved (after v9.1.120)
Solution: change getregion() implementation to use pos as lists and
          one optional {opt} dictionary (Shougo Matsushita)

Note: The following is a breaking change!

Currently, the getregion() function (included as of patch v9.1.120) takes
3 arguments: the first 2 arguments are strings, describing a position,
arg3 is the type string.

However, that is slightly inflexible, there is no way to specify
additional arguments. So let's instead change the function signature to:

getregion(pos1, pos2 [, {Dict}]) where both pos1 and pos2 are lists.
This is slightly cleaner, and gives us the flexibility to specify
additional arguments as key/value pairs to the optional Dict arg.

Now it supports the "type" key to specify the selection type
(characterwise, blockwise or linewise) and now in addition one can also
define the selection type, independently of what the 'selection' option
actually is.

Technically, this is a breaking change, but since the getregion()
Vimscript function is still quite new, this should be fine.

closes: #14090

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 22:49:03 +01:00
Christian Brabandt
d0d4adb609 runtime(Filelist): include runtime/syntax/testdir/ftplugin
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 21:53:26 +01:00
zeertzjq
4e141c66b9 patch 9.1.0141: Put in Visual mode wrong if it replaces fold marker
Problem:  Put in Visual mode wrong if it replaces fold marker.
Solution: Temporarily disable folding during put in Visual mode.
          (zeertzjq)

fixes: #14097
closes: #14100

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 21:49:51 +01:00
elig0n
b1289f19ef runtime(doc): Fix typo under *kitty-terminal* in term.txt
closes: #14106

Signed-off-by: elig0n <31196036+elig0n@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 21:46:15 +01:00
Ivan Pešić
97a35ae356 translation(sr): Update Serbian translation (#14107)
Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 21:41:27 +01:00
Aliaksei Budavei
9ecf02cd5f runtime(java): Recognise _when_ clauses in _switch_ blocks
Also:

- distinguish _yield_ when used as a contextual keyword from
  when used qualified as a method or a method reference (as
  can be seen in testdir/input/java_switch.java, variables
  and method declarations named _yield_ will be recognised
  as the namesake keyword--consider picking other names for
  variables, and defining g:java_highlight_functions to have
  method names painted; since _yield_ statements can have
  trailing parens, they must be recognised as statements,
  for only qualified _yield_ method calls are supported);

- recognise grouped _default_ _case_ labels;

- describe primitive types for _case_ labels (JLS, §14.11,
  §3.10.1);

- recognise some non-ASCII identifiers (see javaLambdaDef,
  javaUserLabel) (further improvement for better recognition
  of identifiers will be arranged in a separate PR).

Because the arrow '->' is used in two kinds of expressions,
lambda (abstractions) and _switch_, necessary changes were
made for the recognition of either (and further improvement
touching lambda expressions will be separately arranged).

Because 'default' is used for instance method declarations
in interfaces and in _switch_ labels, necessary changes were
made for the recognition of either (and further improvement
touching method declarations will be separately arranged).

Finally, it deemed appropriate to put 'yield' in the syntax
group of javaOperator rather than javaStatement, for its
member 'var' is also another contextual keyword (e.g., this
is valid syntax: "var var = var(test.var);").

References:
https://openjdk.org/jeps/361 (Switch Expressions)
https://openjdk.org/jeps/440 (Record Patterns)
https://openjdk.org/jeps/441 (Pattern Matching for switch)

Also, add a Java specific filetype plugin for the syntax
test, so that no soft-wrapping of long indented lines occur.

Otherwise the syntax scripts would miss a few lines during
scrolling and verification of the screen dumps.

closes: #14105

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 21:33:45 +01:00
Christian Brabandt
56824430c0 runtime(syntax-tests): simplify code and allow filetype options
The whole testdir/runtest.vim is a bit of a mess. So this is an attempt
to improving the current state. First of all, let's move most of the
code into a single RunTest() function so that it's easier to run this
manually.

Then, let's add the possibility to customize filetype specific tests by
applying filetype specific options. We will make use of it in the next
commit, where the provided java file uses tabs, which cause line
wrapping which will then cause the scrolling to miss some lines when
redrawing (see #14105)

related: #14105

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-28 21:24:25 +01:00
Antonio Giovanni Colombo
0c98a71236 translation(it): Update Italian translation
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-27 22:41:22 +01:00
Dylan Thacker-Smith
da0c9137d1 patch 9.1.0140: cursor on wrong row after 1 char 'below' virtual text when EOL is shown
Problem:  The cursor screen row was incorrectly being calculated when the
          cursor follows a 1 character text_align 'below' virtual text line,
          resulting in the cursor being shown on the wrong line.
          This was caused by a cell size of 2 instead of 1 being used for the EOL
          character, which propagated to the calculation of space for putting the
          'below' virtual text on its own line. (rickhowe)
Solution: Fix the size used for the EOL character in calculating the
          cursor's screen position (Dylan Thacker-Smith)

fixes: #11959
related: #12028
closes: #14096

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-27 20:25:10 +01:00
dkearns
e84d2d4432 runtime(sh): Update ftplugin, fix #14101 (#14102)
Add the 'b' flag to 'comments', so that the shebang line is not detected as comment.

Fixes #14101.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-27 20:00:32 +01:00
dkearns
b1427b46f5 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
- Normalise behaviour of :echo commands and improve expression matching.
- Allow continued argument lines.
- Refine string interpolation groups.
- Remove duplicated :menu and :map generated commands that are handled
  specially later in the file.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-27 19:59:30 +01:00
James McCoy
c7ddc9b735 runtime(debian): update Debian syntax files (#14098)
* debversions.vim: Move lunar to unsupported release
* debsources: Add word boundaries around keyword match patterns

Co-authored-by: James Addison <jay@jp-hosting.net>
Signed-off-by: James Addison <jay@jp-hosting.net>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-27 06:34:45 +00:00
Erik S. V. Jansson
2f02638aa8 patch 9.1.0139: MS-Windows: ligatures map cleared on startup
Problem:  MS-Windows: ligatures map cleared on startup
Solution: Don't clear the ligatures_map, if the guiligatures
          option has already been set (Erik S. V. Jansson)

If guiligatures is set from a .vimrc it's possible
that it will be cleared on start-up (e.g. in Win32
that's what happens).

So don't clear the ligatures map if gui_set_ligatures()
has already been called (e.g. after setting 'ligatures'
from .vimrc)

closes: #14094

Signed-off-by: Erik S. V. Jansson <caffeineviking@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-26 22:23:05 +01:00
John Marriott
02d7a6c6cf patch 9.1.0138: too many STRLEN calls when getting a memline
Problem:  too many STRLEN calls when getting a memline
Solution: Optimize calls to STRLEN(), add a few functions in memline.c
          that return the byte length instead of relying on STRLEN()
          (John Marriott)

closes: #14052

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-26 21:25:03 +01:00
dkearns
2c51e15b66 runtime(vim): Update syntax file, improve :substitute matching (#14093)
- Differentiate between :substitute and substitute(), fixes #13883.
- Match all allowed :substitute delimiters.
- Remove leading context from :substitute matches.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-26 21:10:18 +01:00
zeertzjq
ff2b79d239 patch 9.1.0137: <Del> in cmdline mode doesn't delete composing chars
Problem:  <Del> in cmdline mode doesn't delete composing chars
Solution: Use mb_head_off() and mb_ptr2len() (zeertzjq)

closes: #14095

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-26 20:38:36 +01:00
Doug Kearns
db7622ea82 runtime(doc): Fix typo in usr_41.txt
closes: #14092

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-25 15:23:02 +01:00
zeertzjq
d086b8f646 runtime(doc): fix inconsistent indent (#14089)
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-25 08:42:52 +01:00
Yegappan Lakshmanan
a2ebb6e917 patch 9.1.0136: Vim9: need more test for exists()
methods

Problem:  Vim9: need more test for exists()
Solution: Add test for exists() with class/objct variables and methods
          (Yegappan Lakshmanan)

closes: #14088

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-25 08:40:10 +01:00
Matt Ellis
374e26aba2 runtime(doc): clarify ':set[l] {option}<' behaviour
closes: #14062

Signed-off-by: Matt Ellis <m.t.ellis@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 17:04:07 +01:00
zeertzjq
cd3a13e774 patch 9.1.0135: Insufficient testing for 'delcombine'
Problem:  Insufficient testing for 'delcombine'.
Solution: Add test for both Normal and Insert modes without Arabic.
          (zeertzjq)

closes: #14086

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 16:51:32 +01:00
Christian Brabandt
6a46c19b25 patch 9.1.0134: CI: Test_term_gettitle() is flaky on MacOS 14
Problem:  Test_term_gettitle() is flaky on MacOS 14 and Github runners
Solution: Skip the test on Github CI

closes: #14085

It fails with this: '^\\[No Name\\] - VIM\\d*$' does not match 'e] - VIM'
It is not clear why term_gettitle() only get's the last part of the
expected title (perhaps there is a Carriage return in there or the
terminal window is too small?)

So let's just skip this test for now.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 15:58:04 +01:00
Erik S. V. Jansson
8b1e749ca6 patch 9.1.0133: MS-Windows: ligatures not rendering correctly
Problem:  font ligatures don't render correctly in the Win32 GUI-version
          of gvim even when set rop=type:directx is used. Setting
          guiligatures also doesn't make any difference. This leads to
          broken font ligatures when the cursor passes through them. It
          does not recover from this, and they remain broken until you
          re-render the whole buffer (e.g. by using Ctrl+L).

Solution: the problem is that we only re-draw the current and previous
          character in gui_undraw_cursor() and only have the special case
          for GTK when it comes to rendering ligatures. So let's enable
          gui_adjust_undraw_cursor_for_ligatures() to also happen for
          Win32 GUI if guiligatures is setup correctly (all this does is
          expand the range of gui_undraw_cursor() with ligature characters).

related: #9181
related: #12901
closes: #14084

Signed-off-by: Erik S. V. Jansson <caffeineviking@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 14:26:52 +01:00
zeertzjq
048761bcd4 patch 9.1.0132: "C" doesn't include composing chars with 'virtualedit'
Problem:  using "C" and 've=all' set, doesn't include composing chars
          when changing a line, keeps the composing chars for whatever
          is typed afterwards.
Solution: Use mb_head_off() and mb_ptr2len() instead of mb_tail_off().
          (zeertzjq)

closes: #14083

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 14:21:39 +01:00
Christian Brabandt
0dc0bff000 patch 9.1.0131: buffer-completion may not always find all matches
Problem:  buffer-completion code too complicated and does not always
          find all matches (irisjae)
Solution: do not try to anchor pattern to beginning of line or
          directory-separator, always return all matches

Note: we are considering the non-fuzzy buffer-matching here.

Currently, the buffer-completion code makes 2 attempts to match a
pattern against the list of available patterns. First try is to match
the pattern and anchor it to either the beginning of the file name or
at a directory-separator (// or \\).

When a match is found, Vim returns the matching buffers and does not try
to find a match anywhere within a buffer name. So if you have opened two
buffers like /tmp/Foobar.c and /tmp/MyFoobar.c using `:b Foo` will only
complete to the first filename, but not the second (the same happens
with `getcompletion('Foo', 'buffer')`).

It may make sense, that completion priorities buffer names at directory
boundaries, but it inconsistent, may cause confusion why a certain
buffer name is not completed when typing `:b Foo<C-D>` which returns
only a single file name and then pressing Enter (to switch to that
buffer), Vim will error with 'E93: More than one match for Foo').
Similar things may happen when wiping the /tmp/Foobar.c pattern and
afterwards the completion starts completing other buffers.

So let's simplify the code and always match the pattern anywhere in the
buffer name, do not try to favor matches at directory boundaries. This
is also simplifies the code a bit, we do not need to run over the list
of buffers several times, but only twice.

fixes #13894
closes: #14082

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 14:17:33 +01:00
Sean Dewar
abf7030a5c patch 9.1.0130: [security]: UAF if win_split_ins autocommands delete "wp"
Problem:  heap-use-after-free in win_splitmove if Enter/Leave
          autocommands from win_split_ins immediately closes "wp".
Solution: check that "wp" is valid after win_split_ins.
          (Sean Dewar)

closes: #14078

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 10:20:24 +01:00
Dylan Thacker-Smith
f548ae7b63 patch 9.1.0129: Fix truncation of text_wrap 'wrap' virt text after EOL list char
Problem:  Virtual text with text_wrap 'wrap' was effectively being
          truncated by a break conditional on the EOL list character
          being added to the screen line. (BigPeet)
Solution: Remove the condition that was leading to the early break and
          instead fix a similar but incorrectly written outer condition
          that checks if there is more to add at the end of the screen
          line. (Dylan Thacker-Smith)

Also, related:
- update comment in win_line()
- remove no longer necessary at_end_str variable in win_line()

fixes: #12725
closes: #14079

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 10:17:11 +01:00
Yegappan Lakshmanan
a35235e824 runtime(doc) Update help text for matchbufline() and matchstrlist()
closes: #14080

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 10:09:43 +01:00
dragonish
aa31346da4 runtime(tutor): small fixes to the zh tutor (#14081)
dragonish <no.web.developer@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24 10:08:19 +01:00
Petr Pisar
315cd1fbcb runtime(spec): Recognize SourceLicense tag name in RPM spec syntax (#14046)
rpm-4.19.0 added a new SourceLicense tag. It is used at the same place
as License tag.

This patch adds the new tag name into a Vim syntax file to be
highligted the same way as the License tag. Note that it has to be
defined in the syntax file before Source\d* regexp. Otherwise it's not
recognized by Vim.

Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-22 20:39:09 +01:00
Sean Dewar
2a65e73944 patch 9.1.0128: win_gotoid() may abort even when not switching a window
Problem:  win_gotoid() checks for textlock and other things when switching
          to a window that is already current (after v9.1.0119)
Solution: return early with success when attempting to switch to curwin
          (Sean Dewar)

Other potential causes of E565 from win_gotoid after v9.1.0119 should be
correct. Plugins can consider using win_execute() instead if they wish to
temporarily switch windows during textlock.

fixes: #14073
closes: #14074

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-22 19:53:33 +01:00
zeertzjq
5e3674b42d patch 9.1.0127: Naming a non-pointer variable "oap" is strange
Problem:  Naming a non-pointer variable "oap" is strange.
Solution: Rename it to "oa". Also prevent using freed memory in case of
          memory allocation failure. (zeertzjq)

closes: #14075

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-22 19:51:34 +01:00
zeertzjq
421b597470 patch 9.1.0126: Internal error when using upper-case mark in getregion()
Problem:  Internal error when passing mark in another buffer to
          getregion().
Solution: Don't allow marks in another buffer (zeertzjq)

closes: #14076

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Internal error when passing mark in another buffer to getregion()
2024-02-22 19:48:06 +01:00
dkearns
1624970d32 runtime(vim): Update base-syntax, fix :unabbrev highlighting (#14077)
Fixes issue #7876

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-22 19:45:05 +01:00
Nick Hanley
20d61e1b94 runtime(java): add syntax support for Java switch expressions (#9124)
Signed-off-by: Nick Hanley <nicholasjhanley@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-22 15:06:19 +01:00
Dylan Thacker-Smith
83925be1e6 patch 9.1.0125: unused init of text_prop_idxs in win_line()
Problem:  unused init of text_prop_idxs in win_line
Solution: Remove it, fix typo
          (Dylan Thacker-Smith)

Later use of text_prop_idxs treats it as empty, incrementing
text_props_active as new elements are added to this array, so remove
this unused conditional initialization when text_props_active is 0.

closes: #14063

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-21 21:03:10 +01:00
Dylan Thacker-Smith
8055721c2d patch 9.1.0124: display of below/right virtual text with non-virtual text overlap
Problem:  Virtual text with text_align 'right'/'below' wasn't being
          used when a non-virtual text property overlaps with the end of
          the line. This was because the non-virtual text property had a
          higher priority, preventing the virtual text from being used.
Solution: Fix the sorting of text properties so virtual text properties
          have a higher priority than non-virtual text properties.
          (Dylan Thacker-Smith)

related: #14063

Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-21 21:00:59 +01:00
Christian Brabandt
ec9c32637f runtime(doc): clarify expand() for :terminal windows
While adding to the documentation, also mention the rolled-back key-translation
strategy in version9.txt

closes: #14069

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-21 20:42:16 +01:00
GuyBrush
52ecc76c7f patch 9.1.0123: MS-Windows: system() may deadlock
Problem:  MS-Windows: system() may deadlock when calling binaries that
          expect stdin
Solution: Ignore the SHELL_EXPAND flag
          (GuyBrush)

This happens on binaries that expect stdin. For example:

:echo system("xxd")

will cause a deadlock.

SHELL_EXPAND is a flag devoted to support the linux implementation of
the backtick-expansion mechanism.

On linux backtic-expansion relies in the function mch_expand_wildchars()
(os_unix.c) that delegates on each specific shell (bash, sh, csh, zsh)
the expansion. Basically it composes a shell command that does the
expansion and redirects the output to a file and call_shell() it. On
windows backtick-expansion is performed by Vim itself.

On linux SHELL_EXPAND modifies how mch_call_shell_fork() (os_unix.c)
works. This function:

- relies on posix fork() to spawn a child process to execute a
  external command.
- Child and parent process communicate using pipes (or pseudoterminal
  if available).
  User input (type ahead content) is processed in a loop only if
  !(SHELL_EXPAND || SHELL_COOKED).
  Though signals are used to detect Ctrl-C in all cases (the input
  loop is not necessary to interrupt the function).
  In the backtick-expansion the external command is the shell command
  that provides the expansion. For the child redirection:
  -  SHELL_EXPAND replaces stdin, stdout & stderr to /dev/null. This is
     why the shell command composed includes redirection (otherwise
     output would be lost).

  -  !SHELL_EXPAND replaces stdin, stdout & stderr with the parent
     created pipes (or pseudoterminal).
     Note that the use of SIGINT signal prevents mch_call_shell_fork()
     from hanging vim.

On Windows mch_system_piped() (os_win32.c) (which is only used when the
GUI is running) mimics mch_call_shell_fork() (os_unix.c).
Win32 lacks fork() and relies on CreateProcessW() and only has pipe
support (not pseudoterminal) which makes the implementation much
different.

But, the key idea is that windows lacks signals, the OS provides support
for console apps but gvim is not one. The only way of detecting a Ctrl-C
is actually processing user input (type ahead content). By ignoring the
user input under SHELL_EXPAND the function can hang gvim.

Ignoring SHELL_EXPAND flag has no consequence in Windows because as
mentioned above it is only meaningful in linux.

closes: #13988

Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-21 20:16:38 +01:00
Maxim Kim
9ca335aad2 patch 9.1.0122: Some minor issues with the getregion() function
Problem:  Some minor issues with the getregion() function
Solution: Fix examples in the help, use OP_NOP op_type and MBLOCK
          as motion_type in f_getreg(), update vim syntax to
          for getregion() (Maxim Kim)

```
:xnoremap <CR>
\ <Cmd>echow getregion('v', '.', mode())<CR>
```
`echo` while in visual mode has no visible effect, thus people trying
example might be frustrated as it looks like nothing happens.

So the option is to change it to `echow` or `echom`.
With `echom` it is again has no visible effect but one can at least inspect `:messages`.
On the other hand `echow` showes selected text in a popup window.

```
Can also be used as a |method|: >
'.'->getregion("'a', 'v')
```

Here is the typo, which makes example invalid, should be `("'a", ...`

closes: #14064

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-21 19:53:02 +01:00
Eric Pruitt
e8f6af6091 runtime(tmux): Update tmux syntax (#14065)
Signed-off-by: Eric Pruitt <eric.pruitt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-21 19:46:47 +01:00
Sean Dewar
02fcae02a9 patch 9.1.0121: Infinite loop or signed overflow with 'smoothscroll'
Problem:  infinite loop in win_update with 'smoothscroll' set when
          window width is equal to textoff, or signed integer overflow
          if smaller.
Solution: don't revalidate wp->w_skipcol in that case, as no buffer text
          is being shown. (Sean Dewar)

Don't instead reset w_skipcol; that would lose the scroll position
within the line, which may be undesirable if the window is made wider
later.

Also include changes from the splitmove PR #14042 that I (in my infinite
Git wisdom) forgot to commit. This includes a change to
Test_window_split_no_room to ensure it doesn't fail for some screen
sizes.

Move Test_smoothscroll_in_zero_width_window to test_scroll_opt.vim, as
that file feels more appropriate.

closes: #14068

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-21 19:40:44 +01:00
Shougo Matsushita
3f905ab3c4 patch 9.1.0120: hard to get visual region using Vim script
Problem:  hard to get visual region using Vim script
Solution: Add getregion() Vim script function
          (Shougo Matsushita, Jakub Łuczyński)

closes: #13998
closes: #11579

Co-authored-by: =?UTF-8?q?Jakub=20=C5=81uczy=C5=84ski?= <doubleloop@o2.pl>
Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-21 00:02:45 +01:00
Sean Dewar
f865895c87 patch 9.1.0119: can move away from cmdwin using win_splitmove()
Problem:  can switch windows while textlocked via f_win_gotoid and
          f_win_splitmove (which also allows switching in the cmdwin).
Solution: Check text_or_buf_locked in f_win_splitmove()
          (Sean Dewar)

While at it, call text_or_buf_locked() in f_win_gotoid() instead of
testing for cmdwin_type() (which text_buf_locked() does and
in addition will also verify that the buffer is not locked).

closes: #14042

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-20 22:05:10 +01:00
Sean Dewar
704966c254 patch 9.1.0118: Use different restoration strategy in win_splitmove
Problem:  saving and restoring all frames to split-move is overkill now
          that WinNewPre is not fired when split-moving.
Solution: defer the flattening of frames until win_split_ins begins
          reorganising them, and attempt to restore the layout by
          undoing our changes. (Sean Dewar)

This also means we no longer must allocate.

related: #14042

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-20 22:00:33 +01:00
Sean Dewar
96cc4aef3d patch 9.1.0117: Stop split-moving from firing WinNew and WinNewPre autocommands
Problem:  win_splitmove fires WinNewPre and possibly WinNew when moving
          windows, even though no new windows are created.
Solution: don't fire WinNew and WinNewPre when inserting an existing
          window, even if it isn't the current window. Improve the
          accuracy of related documentation. (Sean Dewar)

Likewise, before this patch, WinClosed was not fired anyway (even for :wincmd
H/J/K/L, which also didn't fire WinNew, but did still fire WinNewPre), despite
documentation saying windows are "closed". Note that :wincmd T actually indeed
works by creating a new window (and closing the old one), unlike the others.

This also fixes issues where WinNewPre is fired when split-moving while curwin
doesn't yet have a frame or entry in the window list, causing many things to not
work (it's not considered valid at that point). This was guaranteed when using
:wincmd H/J/K/L.

Because WinNewPre is no longer fired when split-moving, this makes restoring the
previous window layout on failure easier, as we can be sure that frames are not
resized from WinNewPre autocommands if win_split_ins fails. This allows us to
use a different strategy in the following commit.

--

In my opinion, this leaves questions about the current usefulness of WinNewPre.
A motivation described in #10635 states how creating a new window can steal room
from other windows, and how WinNewPre will be useful for detecting that, but
this is also true when inserting an existing window, which now doesn't fire it.
Maybe the autocommand should be changed to have a better name?

There are also other issues I found with the current implementation of WinNewPre
that need addressing:

- it allows switching windows and tabpages, which can cause incorrect windows to
  be split/moved, and big problems when switching tabpages.

- it fires before win_split_ins checks for room, before it makes any changes to
  window sizes or before it considers allocating a new window. This should be
  changed or documented.

I hope to address some of this stuff in a different PR, if possible.

related: #14038

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-20 21:52:31 +01:00
Sean Dewar
0fd44a5ad8 patch 9.1.0116: win_split_ins may not check available room
Problem:  win_split_ins has no check for E36 when moving an existing
          window
Solution: check for room and fix the issues in f_win_splitmove()
          (Sean Dewar)

win_split_ins has no check for E36 when moving an existing window,
allowing for layouts with many overlapping zero-sized windows to be
created (which may also cause drawing issues with tablines and such).
f_win_splitmove also has some bugs.

So check for room and fix the issues in f_win_splitmove. Handle failure
in the two relevant win_split_ins callers by restoring the original
layout, and factor the common logic into win_splitmove.

Don't check for room when opening an autocommand window, as it's a
temporary window that's rarely interacted with or drawn anyhow, and is
rather important for some autocommands.

Issues fixed in f_win_splitmove:
- Error if splitting is disallowed.
- Fix heap-use-after-frees if autocommands fired from switching to "targetwin"
  close "wp" or "oldwin".
- Fix splitting the wrong window if autocommands fired from switching to
  "targetwin" switch to a different window.
- Ensure -1 is returned for all errors.

Also handle allocation failure a bit earlier in make_snapshot (callers,
except win_splitmove, don't really care if a snapshot can't be made, so
just ignore the return value).

Note: Test_smoothscroll_in_zero_width_window failed after these changes with
E36, as it was using the previous behaviour to create a zero-width window.
I've fixed the test such that it fails with UBSAN as expected when v9.0.1367 is
reverted (and simplified it too).

related: #14042

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-20 20:35:41 +01:00
Yegappan Lakshmanan
15935e7f54 runtime(doc): Add a place holder section for version 9.2 (#14060)
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-20 19:48:22 +01:00
dkearns
ef387c062b runtime(filetype): Modula-2 files with priority not detected (#14055)
Problem:  Modula-2 files with a specified priority are not detected.
Solution: Match the priority syntax in module header lines when
          performing heuristic content detection.

Disable the :defcompile debug line.  This was accidentally left enabled
in commit 68a8947.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-19 20:58:30 +01:00
Linda_pp
72a1f45e93 CI: install gnudiff and enable Test_diffmode on macos-14 runner again (#14056)
Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-19 20:55:55 +01:00
Christian Brabandt
f9ca139e3a runtime(misc): announce adoption of various runtime files
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-19 20:46:49 +01:00
Aliaksei Budavei
dfcef890cb runtime(vim): Distinguish Vim9 constructor definitions from the :new ex command (#14050)
With the arrival of Vim9 classes, the syntax must allow for
_new_ constructors; multiple constructor definitions are
supported for a class, provided distinct suffix-names are
used.  Currently, the defined constructors match either
vimCommand or vimFunctionError (for any newBar).

For example:
------------------------------------------------------------
vim9script

class Foo
    def new()
    enddef

    def newBar()
    enddef
endclass
------------------------------------------------------------

Since every constructor is required to bear a lower-cased
_new_ prefix name, it should suffice to distinguish them
from functions, and so there are no new highlight or syntax
groups introduced.


Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-18 19:02:14 +01:00
zeertzjq
c86bff1771 patch 9.1.0115: Using freed memory with full tag stack and user data
Problem:  Using freed memory with full tag stack and user data
          (Konstantin Khlebnikov)
Solution: Clear the user data pointer of the newest entry.
          (zeertzjq, Konstantin Khlebnikov)

fixes: neovim/neovim#27498
closes: #14053

Co-authored-by: Konstantin Khlebnikov koct9i@gmail.com
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Konstantin Khlebnikov koct9i@gmail.com
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-18 18:57:07 +01:00
h_east
026b17404a runtime(doc): Fix typo in testing.txt (#14054)
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-18 18:51:46 +01:00
zeertzjq
fcaed6a70f patch 9.1.0114: Setting some options may change curswant
Problem:  Setting some options changes curswant unnecessarily.
Solution: Add a P_HLONLY flag that prevents changing curswant.
          (zeertzjq)

closes: #14044

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-18 09:33:54 +01:00
Christian Brabandt
79230f027a runtime(less): update "Last Change:" header
Commit 103f1dfb7d forgot to update the
"Last Change:" header. So update it now.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-15 22:15:58 +01:00
Christian Brabandt
103f1dfb7d runtime(less): reset readonly setting when disabling less mode
While at it, also do the unmap only if a specific key has been mapped.
There are some keys that are only selectively mapped and it would cause
an error if we are trying to unmap such a key (e.g. z when your
foldmethod is not manual).

fixes: #14040

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-15 21:44:05 +01:00
Christian Brabandt
9071ed8107 patch 9.1.0113: duplicate code when cleaning undo stack
Problem:  duplicate code when cleaning undo stack
Solution: refactor undo cleanup into a single public function

related: #13928

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-15 20:17:37 +01:00
Christian Brabandt
f0d3d4a426 patch 9.1.0112: Remove undo information, when cleaning quickfix buffer
Problem:  When the quickfix buffer has been modified an autocommand
          may invalidate the undo stack (kawarimidoll)
Solution: When clearing the quickfix buffer, also wipe the undo stack

fixes: #13905
closes: #13928

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-15 20:15:04 +01:00
Brandon Maier
d00fb4b3a2 patch 9.1.0111: filetype: no support for bats files
The '*.bats' file type is for Bash Automated Testing System (BATS)
scripts. BATS scripts are Bash with a special '@test' extension but they
otherwise work with Vim's bash filetype.

See https://github.com/bats-core/bats-core

closes: #14039

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-15 00:17:05 +01:00
Brandon Maier
5f20f050ef patch 9.1.0110: filetype: add 'Config.in' filetype detection
The 'Config.in' file type is for Buildroot configuration files.
Buildroot Config.in files use the same Kconfig backend as the Linux
kernel's Kconfig files.

Buildroot also has other filename variants that follow "Config.in.*",
they are used to distinguish multiple Config.in files in the same
directory.

See https://buildroot.org/downloads/manual/manual.html#_literal_config_in_literal_file

closes: #14038

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 22:30:06 +01:00
Luca Saccarola
1da0e85816 runtime(asciidoc): include basic ftplugin
closes: #13873

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 22:26:43 +01:00
Brandon Maier
cf1d65e060 patch 9.1.0109: filetype: no support for its files
Problem:  filetype: no support for its files
Solution: Add detection for *.its files as dts file type
          (Brandon Maier)

The '*.its' file type is for U-Boot Flattened Image Trees (FIT) which
use the flattened devicetree format.

See https://github.com/u-boot/u-boot/blob/master/doc/usage/fit/source_file_format.rst#terminology

closes: #14037

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 21:33:40 +01:00
Doug Kearns
1633de8c35 runtime(vim): Update base-syntax, remove unused vimString region
These were included with the initial release of the syntax file for Vim
5 and were probably intended to allow for syn-region start/skip/end
patterns with a '!' or '+' delimiter.  However, these cases are
currently handled by the vimSynRegPat group.

The removed patterns never match anywhere in the distributed runtime
files and it is believed that this is generally true.

closes: #14035

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 21:28:44 +01:00
Doug Kearns
fe6d5b0ae4 runtime(vim): Update base-syntax, fix :behave highlighting
closes: #14036

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 21:17:43 +01:00
h-east
5c3855bcab runtime(vim): update Vim Syntax generator
- Add missing "Last Change:" line.
- The date on this line in vim.vim is updated by update_date.vim at
  Make time. (I made a mistake in the file path)
- Remove unnecessary "b:loaded_syntax_vim_ex".
- Remove "Base File Date:" line in vim.vim.base
- Add Doug Kearns as Maintainer

closes: #14031

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 21:00:01 +01:00
Markus Schneider-Pargmann
b1700fb33f patch 9.1.0108: filetype: no support for dtso files
Problem:  filetype: no support for dtso files
Solution: Add detection for *.dtso files as dts file type
          (Markus Schneider-Pargmann)

*.dtso files are devicetree overlay files which have the same syntax as dts or dtsi files.

closes: #14026

Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 20:44:28 +01:00
Yee Cheng Chin
49f2ba6d41 patch 9.1.0107: CI: Fix MacOS-14 tests
Problem:  CI: Fix MacOS-14 tests (after 9.1.0070)
Solution: Re-enable sound tests by granting Mic access,
          disable Test_diff_screen because of buggy MacOS diff
          (non GNU version), re-enable Test_term_gettitle()
          (Yee Cheng Chin)

macos-14 runner was turned on in #13943, but it had to turn off a few
tests in order for CI to run. Re-enable them and fix the underlying
issues.

* `Test_diff_screen`: The test failure is due to a bug in Apple's diff
  utility. Apple introduced a new diff tool based on FreeBSD in macOS 13
  and it has buggy behaviors when using unified diff (`-U0`) and the
  diff is on the first line of the file. Simply disable this test for
  now if we detect Apple diff (instead of the old GNU diff). Can
  re-enable this in the future if Apple fixes the issue.
* `Test_play_event` / `Test_play_silent`: GitHub Actions currently has
  an issue with playing sound in CI in macos-14 runners. It for some
  reason triggers a microphone permission dialog popup which blocks the
  CI action (see https://github.com/actions/runner-images/issues/9330).
  To fix this, add a temporary step in macos-14 to manually allow
  microphone permissions in the runner.
* `Test_term_gettitle`: I could not reproduce the failure, so I just
  turned it on and it seems to run just fine. Maybe it's a timing issue
  and whatnot but either way that should be fixed when we can reproduce
  the issue.

closes: #14032

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 20:34:58 +01:00
Maxim Kim
34e4a05d02 patch 9.1.0106: Visual highlight hard to read with 'termguicolors'
Problem:  Visual highlight hard to read with 'termguicolors'
          (Maxim Kim)
Solution: Set Visual GUI foreground to black (with background=light)
          and lightgrey (with background=dark)
          (Maxim Kim)

fixes: #14024
closes: #14025

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-14 20:28:17 +01:00
h-east
9b53c052d5 runtime(vim): include Vim Syntax generator
fixes: #13939
closes: #14021
related: vim-jp/syntax-vim-ex#28

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-13 21:11:22 +01:00
zeertzjq
e71022082d patch 9.1.0105: Style: typos found
Problem:  Style: typos found
Solution: correct them
          (zeertzjq)

closes: #14023

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-13 20:32:04 +01:00
Christian Brabandt
2f9aef42af patch 9.1.0104: Linking fails with -lto because of PERL_CFLAGS
Problem:  Linking fails with -lto because of PERL_CFLAGS
          (Zoltan Toth)
Solution: Filter out -flto argument from Perl CFLAGS.

fixes: #14012

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-12 23:14:19 +01:00
zeertzjq
f0a9d65e0a patch 9.1.0103: 'breakindentopt' "min" not correct with 'signcolumn'
Problem:  'breakindentopt' "min" works incorrectly with 'signcolumn'.
Solution: Use win_col_off() and win_col_off2().
          (zeertzjq)

closes: #14014

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-12 22:53:20 +01:00
zeertzjq
b47fbb4083 patch 9.1.0102: settabvar() may change the last accessed tabpage
Problem:  settabvar() may change the last accessed tabpage.
Solution: Save and restore lastused_tabpage.
          (zeertzjq)

closes: #14017

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-12 22:50:26 +01:00
glepnir
bd1232a1fa patch 9.1.0101: upper-case of German sharp s should be U+1E9E
Problem:  upper-case of ß should be U+1E9E (CAPITAL LETTER SHARP S)
          (fenuks)
Solution: Make gU, ~ and g~ convert the U+00DF LATIN SMALL LETTER SHARP S (ß)
          to U+1E9E LATIN CAPITAL LETTER SHARP S (ẞ), update tests
          (glepnir)

This is part of Unicode 5.1.0 from April 2008, so should be fairly safe
to use now and since 2017 is part of the German standard orthography,
according to Wikipedia:
https://en.wikipedia.org/wiki/Capital_%E1%BA%9E#cite_note-auto-12

There is however one exception: UnicodeData.txt for U+00DF
LATIN SMALL LETTER SHARP S does NOT define U+1E9E LATIN CAPITAL LETTER
SHARP S as its upper case version. Therefore, toupper() won't be able
to convert from lower sharp s to upper case sharp s (the other way
around however works, since U+00DF is considered the lower case
character of U+1E9E and therefore tolower() works correctly for the
upper case version).

fixes: #5573
closes: #14018

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-12 22:39:40 +01:00
zeertzjq
f2d90a3511 patch 9.1.0100: Redrawing can be improved with undo and 'spell'
Problem:  When undoing with 'spell', redrawWinline() is called after
          changed_lines(), while later win_update() sets redraw type to
          UPD_NOT_VALID, even though w_redraw_top and w_redraw_bot are
          still valid.
Solution: Only set redraw type to UPD_NOT_VALID when inserting/deleting
          lines after parts of window has pending redraw, i.e., when
          changed_lines() is called after redrawWinline().
          (zeertzjq)

closes: #14019

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-12 20:28:01 +01:00
Yegappan Lakshmanan
a0010a186d patch 9.1.0099: Not able to use diff() with 'diffexpr'
Problem:  Not able to use diff() with 'diffexpr'
          (rickhowe, after v9.1.0096)
Solution: Use a default context length of 0, update diff() help text,
          add a test for using diff() with 'diffexpr'
          (Yegappan Lakshmanan)

closes: #14013

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-12 20:24:56 +01:00
Christian Brabandt
6d91227267 runtime(gpg): Mark dangerous use-embedded-filename with WarningMsg
The syntax highlighter is likely to encourage people to use the listed
commands.

But `use-embedded-filename` is a dangerous option that can cause GnuPG
to write arbitrary data to arbitrary files whenever GnuPG encounters
malicious data.

GnuPG upstream explicitly warns against using this option:

https://dev.gnupg.org/T4500
https://dev.gnupg.org/T6972

However, since this is a valid option, we cannot just drop it from the
syntax script. Instead, let's mark it with the WarningMsg highlighting
to make it obvious, that this option is different (and should not be
used for security reasons).

closes: #13961

Co-authored-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Signed-off-by:  Christian Brabandt <cb@256bit.org>
2024-02-11 18:19:45 +01:00
glepnir
0d3c0a66a3 patch 9.1.0098: CompletionChanged not triggered when new leader added without matches
Problem:  CompletionChanged not triggered when new leader added causing
          no matching item in the completion menu
Solution: When completion is active but no items matched still trigger
          CompletChanged event
          (glepnir)

closes: #13982

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-11 17:52:40 +01:00
zeertzjq
efabd7c8d4 patch 9.1.0097: 'breakindent' behaves inconsistently with 'list' and splits
Problem:  'breakindent' behaves inconsistently with 'list' and splits.
Solution: Use 'listchars' from the correct window and handle caching
          properly. Move cheaper comparisons to the top.
          (zeertzjq)

closes: #14008

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-11 17:16:19 +01:00
dkearns
b614b284ee runtime(vim): Update syntax file (#14009)
- allow comments after :highight commands
- match the bang in a :highlight[!] command
- highlight the bang in :map[!], :menu[!] and :unlet[!] with vimOper
  like all other commands

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-11 17:13:34 +01:00
Yegappan Lakshmanan
be156a31c5 patch 9.1.0096: diff() function uses 'diffexpr'
Problem:  diff() function uses 'diffexpr'
          (rickhowe)
Solution: Make diff() always use internal diff(), add support for
          unified diff context length, sort diff() options in help
          (Yegappan Lakshmanan)

fixes: #13989
closes: #14010

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-11 17:08:29 +01:00
Christian Brabandt
52eb0b8677 patch 9.1.0095: tests: test_restricted() fails
Problem:  tests: test_restricted() fails
          (after: v9.1.0091)
Solution: Add a space before the pipecmd and the actual Vim command to
          run

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-10 13:50:54 +01:00
Goffredo Baroncelli
0022148773 patch 9.1.0094: xxd: buffer-overflow when writing color output
Problem:  xxd: buffer-overflow when writing color output
Solution: properly account for the color escape sequences and
          adjust LLEN macro
          (Goffredo Baroncelli)

xxd: crash with higer number of column

xxd writes the data into a buffer before printing. Unfortunately
the buffer doesn't consider the space consumed by the escape
sequences used to change the color of the character.

BEFORE:
$ xxd -Ralways -c 256 /etc/passwd
Segmentation fault (core dumped)

AFTER:
$ ./xxd -Ralways -c 256 /etc/passwd
00000000: 726f 6f74 3a78 3a30 3a30 3a72 6f6f 743a 2f72 [...]

To solve this issue I had to increase the size of the buffer
considering for each byte of data 11 further characters for the
color escape sequence.

closes: #14003

Signed-off-by: Goffredo Baroncelli <kreijack@libero.it>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-10 13:31:06 +01:00
zeertzjq
77078276bf patch 9.1.0093: Still a qsort() comparison function that returns result of subtraction
Problem:  Still a qsort() comparison function fuzzy_match_item_compare()
          that returns result of subtraction (after 9.1.0089).
Solution: Use an explicit comparison instead of subtraction.
          (zeertzjq)

closes: #14004

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-10 13:24:03 +01:00
Christian Brabandt
c908371aec patch 9.1.0092: Compiler warning for missing type in scroll_event()
Problem:  Compiler warning for missing type in scroll_event()
          (chdiza)
Solution: Declare display_type explicitly as integer

fixes: #14005

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-10 13:17:16 +01:00
Christian Brabandt
627c950e5b patch 9.1.0091: Syntax test fails when run with non C locale
Problem:  Syntax test fails when run with non C locale
Solution: Run syntax tests with C locale, clean up Xtestscript file,
          strip environment variables from GetVimCommand()
          (h-east)

closes: #14007

Co-authored-by: h-east <h.east.727@gmail.com>
Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-10 13:02:17 +01:00
Maxim Kim
45932c5c4a patch 9.1.0090: Assigning wrong colors when parsing terminal OSC response
Problem:  Assigning wrong colors when parsing terminal OSC response
Solution: Correctly assign Green and Blue from the terminal response
          (Maxim Kim)

closes: #13981

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 23:11:54 +01:00
Andrew Radev
415a5a951b runtime(vim): Fix indent after line with literal dict
closes: #13966

Signed-off-by: Andrew Radev <andrey.radev@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 19:46:59 +01:00
Christian Brabandt
e06e437665 patch 9.1.0089: qsort() comparison functions should be transitive
Problem:  qsort() comparison functions should be transitive
Solution: Do not subtract values, but rather use explicit comparisons

Improve qsort() comparison functions

There has been a recent report on qsort() causing out-of-bounds read &
write in glibc for non transitive comparison functions
https://www.qualys.com/2024/01/30/qsort.txt

Even so the bug is in glibc's implementation of the qsort() algorithm,
it's bad style to just use substraction for the comparison functions,
which may cause overflow issues and as hinted at in OpenBSD's manual
page for qsort(): "It is almost always an error to use subtraction to
compute the return value of the comparison function."

So check the qsort() comparison functions and change them to be safe.

closes: #13980

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 19:39:14 +01:00
Christian Brabandt
c9e79e5284 patch 9.1.0088: TextChanged not triggered for :norm! commands
Problem:  TextChanged not triggered for :norm! commands
          (machakann, after v9.0.2031)
Solution: Only reset curbuf->b_last_changedtick if TextChangedI
          was triggered in insert mode (and not blocked)

Note: for unknown reasons, the test fails on Windows (but seems to work
fine when running interactively)

fixes: #13967
closes: #13984

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 19:34:36 +01:00
glepnir
2975a54f28 patch 9.1.0087: Restoring lastused_tabpage too early in do_arg_all()
Problem:  Restore lastused_tabpage too early in do_arg_all() function it
          will change later in the function.
Solution: Restore lastused_tabpage a bit later, when being done with
          tabpages (glepnir)

closes: #13992

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 19:30:26 +01:00
lilydjwg
725c7c31a4 patch 9.1.0086: Problem when scrolling using slow touchpads scroll event
Problem:  Problem when scrolling using slow touchpads scroll event
Solution: better ways to determine if a smooth scroll has ended (when
          available) (lilydjwg)

related: #13997

Signed-off-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 19:24:23 +01:00
lilydjwg
c4d4a1e041 patch 9.1.0085: X11 scroll size changes after accessing clipboard
Problem:  X11 scroll size changes after accessing clipboard
          (Ernie Rael)
Solution: use GDK_SCROLL_MASK for X11 and GDK_SMOOTH_SCROLL_MASK for
          Wayland (lilydjwg)

because GDK_SCROLL_SMOOTH events don't work well for x11 (see comments).

fixes #13994
closes: #13997

Signed-off-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 19:13:12 +01:00
K.Takata
bd2f45a6e5 CI: Add Codecov token (#13999)
codecov-action@4 requires a token.
Add it to the repository secrets.

See: https://github.com/vim/vim/pull/13978#issuecomment-1935336624

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 18:18:11 +01:00
zeertzjq
df23d7f4bd patch 9.1.0084: Visual hl wrong when it ends before multibyte 'showbreak'
Problem:  Visual hl wrong when it ends before multibyte 'showbreak'.
          (lacygoil)
Solution: Use vcol_sbr instead of adding n_extra.
          (zeertzjq)

fixes: #11272
closes: #13996

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-09 18:14:12 +01:00
zeertzjq
ae07ebc04b patch 9.1.0083: Redrawing can be improved when deleting lines with 'number'
Problem:  Redrawing can be improved when inserting/deleting lines with 'number'.
Solution: Only redraw the number column of lines below changed lines.
          Add a test as this wasn't previously tested.
          (zeertzjq)

closes: #13985

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-08 11:37:40 +01:00
zeertzjq
7ce34c9a94 patch 9.1.0082: Redrawing can be improved when deleting lines with 'cursorline'
Problem:  Redrawing can be improved when deleting lines with 'cursorline'.
Solution: Use smarter invalidation and adjustment.  Remove unnecessary
          UPD_VALID as it is already set at the top of the loop.  Make
          the test for #4862 fail without the fix.
          (zeertzjq)

closes: #13986

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-08 11:34:55 +01:00
zeertzjq
b8170143c8 runtime(doc): further improve docs about List/Blob += operator
closes: #13990

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-08 11:23:22 +01:00
lilydjwg
1efb1b08a1 patch 9.1.0081: X11 mouse-scrolling stutters
Problem:  X11 mouse-scrolling stutters
          (Ron Aaron, after 9.1.0064)
Solution: Handle GDK_SCROLL_SMOOTH fractional distance events
          (lilydjwg)

I don't know why, but with GDK_SMOOTH_SCROLL_MASK we get wheel events as
GDK_SCROLL_SMOOTH. What's more, one wheel scroll is counted as 1.5
distance in Wayland but 1.0 in X11.

I failed to find any docs on gtk.org about this.

fixes: #13987
closes: #13991

Signed-off-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-08 11:04:21 +01:00
qeatzy
c9c2e2d2ff runtime(doc): Clarify list-concatenation a bit more
Make doc list-concatenation more clear as for += and extend().

1. describe `+=` for list-concatenation more accurately
2. add `extend()` example for list-concatenation
3. Fix CI errors for missing helptags reference |+=|

closes: #13983

Signed-off-by: qeatzy <qeatzy@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-07 17:56:35 +01:00
Yegappan Lakshmanan
1af35631f8 patch 9.1.0080: unexpected error for modifying final list using +=
Problem:  unexpected error for modifying final list using += operator
          (Ernie Rael)
Solution: Allow List value modification of a final variable using +=
          operator
          (Yegappan Lakshmanan)

fixes: #13745
fixes: #13959
closes: #13962

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-06 11:03:36 +01:00
zeertzjq
ebfd856cfd patch 9.1.0079: LineNrAbove/Below highlighting wrong on wrapped lines
Problem:  LineNrAbove and LineNrBelow background wrong on wrapped lines.
Solution: Update number column also for wrapped part of a line.
          (zeertzjq)

closes: #13974

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-06 10:59:03 +01:00
Christian Brabandt
f7f33e3719 runtime(dosbatch): improve '::' comment highlighting
Added a syntax region for command blocks so that the highlighting of
`::` comments in them can be controlled.  The `dosbatch_colons_comment`
variable now controls if all `::` comments in a code block are
highlighted as comments or errors.  A `::` comment at the end of a
command block is always highlighted as an error.

This re-enables the highlighting of `::` comments in `.bat` files as
requested in #13666, while allowing control of highlighting them in
command blocks requested in #11778 and first attempted in #11980.

related: #11980
fixes: #13666

Co-authored-by: Mike Williams <mikew@globalgraphics.com>
Signed-off-by: Mike Williams <mikew@globalgraphics.com>
Signed-off-by: mevanlc <mevanlc@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-06 10:56:26 +01:00
lilydjwg
b1457d4cb9 patch 9.1.0078: GTK3: using wrong style for pre-edit area
Problem:  GTK3: using wrong style for pre-edit area
Solution: remove the widget name, adjust css
          (lilydjwg)

closes: #13972

Signed-off-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-06 10:49:14 +01:00
Philip H
7f630e6f35 CI: skip apt upgrade on github runners (#13975)
Revert: https://github.com/vim/vim/pull/13680
Fixed in: https://github.com/actions/runner-images/issues/9016

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-06 10:47:49 +01:00
dependabot[bot]
ea7f2f29af CI: Bump codecov/codecov-action from 3 to 4 (#13978)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-06 10:46:10 +01:00
zeertzjq
3f1b5312e0 patch 9.1.0077: Unnecessary call to redraw_for_cursorline() in nv_mousescroll()
Problem:  The call to redraw_for_cursorline() in nv_mousescroll() is
          unnecessary because redraw_for_cursorline() only sets redraw
          type to UPD_VALID, and all code paths in do_mousescroll()
          already set redraw type to at least UPD_VALID.
Solution: Remove call to redraw_for_cursorline() in nv_mousescroll().
          (zeertzjq)

closes: #13979

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-06 10:43:36 +01:00
Christian Brabandt
0f4054feb6 runtime(colors): color names in the v:colornames dict should be lower cased
Vim will lookup color names from the v:colornames dictionary by its
lower case color name. So when sourcing the v:colornames dictionary,
make sure to convert upper case color names to lower case.

Also, while at it, mention in the documentation, that the dictionary
should contain lower case names only.

fixes: #13976
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-05 10:34:26 +01:00
lopy
de7f5bde6c patch 9.1.0076: luau config file not detected
Problem:  luau config file not detected
          (lopy)
Solution: Detect it as jsonc
          (lopy)

fixes: #13960
closes: #13970

Signed-off-by: lopy <70210066+lopi-py@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-04 10:27:33 +01:00
dkearns
7c5aeaffa2 runtime(vim): Update syntax file (#13969)
Improve string interpolation highlighting.

Use the vimSep group to highlight interpolation braces as vimOperParen
has no highlighting of its own and employs vimSep via matchgroup.

Add vimNumber to the interpolation group's contained list.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-03 18:18:31 +01:00
glepnir
cbb46b4398 patch 9.1.0075: insert completion not correct when adding new leader
Problem:  insert completion not correct when adding new leader
Solution: Reset compl_curr_match to compl_shown_match
          (glepnir)

closes: #13957

Co-authored-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-03 18:11:13 +01:00
zeertzjq
eac3fdcfa0 patch 9.1.0074: did_set_breakat() should be in optionstr.c
Problem:  did_set_breakat() should be in optionstr.c as 'breakat' is a
          string option.
Solution: Move did_set_breakat() to optionstr.c.
          (zeertzjq)

closes: #13958

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-03 18:08:09 +01:00
zeertzjq
0c989e4a3a patch 9.1.0073: Looping over modifier_keys_table unnecessarily
Problem:  Looping over modifier_keys_table[] unnecessarily with only
          MOD_MASK_ALT or MOD_MASK_CMD, as modifier_keys_table[] only
          contains MOD_MASK_SHIFT and MOD_MASK_CTRL, and the loop won't
          do anything.
Solution: Remove MOD_MASK_ALT and MOD_MASK_CMD from the condition.
          (zeertzjq)

closes: #13963

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-03 18:05:38 +01:00
Yegappan Lakshmanan
609370392a patch 9.1.0072: Not able to build without FEAT_DIFF
Problem:  Not able to build without FEAT_DIFF
          (John Marriott, after 9.1.0071)
Solution: Adjust #ifdefs
          (Yegappan Lakshmanan)

closes: #13964

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-03 17:41:54 +01:00
Jordi Mas
2d205d0a95 translation(ca): Fixe typos in Catalan translation (#13968)
Signed-off-by: Jordi Mas <jmas@softcatala.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-03 17:40:03 +01:00
Yegappan Lakshmanan
fa37835b8c patch 9.1.0071: Need a diff() Vim script function
Problem:  Need a diff() Vim script function
Solution: Add the diff() Vim script function using the
          xdiff internal diff library, add support for
          "unified" and "indices" mode.
          (Yegappan Lakshmanan)

fixes: #4241
closes: #12321

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-01 22:05:27 +01:00
Restorer
1226b0584a translation(ru): Updated Russian translation of messages (#13947)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-01 21:45:32 +01:00
dkearns
e3e3934bb1 runtime(vim): Update syntax file (#13948)
Improve string escape sequence and special key matching.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-01 21:44:26 +01:00
Ajit-Thakkar
9204f39580 runtime(fortran): update syntax (#13953)
* runtime (Fortran) update syntax
* runtime (Fortran) small fix

Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-01 21:43:01 +01:00
rhysd
e93d5cadec patch 9.1.0070: CI: testsuite not run on M1 Mac
Problem:  CI: testsuite not run on M1 Mac
Solution: Make it run on gh runners for M1, disable failing tests for
          now, until we figure the problem with the failings tests out
          (rhysd)

closes: #13943

Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-01 21:22:14 +01:00
Olaf Seibert
fd472655a9 patch 9.1.0069: ScreenLines may not be correctly initialized, causing hang
Problem:  ScreenLines may not be correctly initialized, causing hang
          (Olaf Seibert, after 9.0.0220)
Solution: always initialize ScreneLines when allocating a screen
          (Olaf Seibert)

ScreenLines and related structures could be left uninitialized
causing a screen update to run into an infinite loop when using latin1
encoding.

Partly caused because by patch 9.0.0220, which makes mb_ptr2len return
zero for NUL

related: #12671
closes: #13946

Signed-off-by: Olaf Seibert <rhialto@falu.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-01 21:11:16 +01:00
Maxim Kim
59bafc8171 patch 9.1.0068: Visual highlighting can still be improved
Problem:  Visual highlighting can still be improved
Solution: Update Visual highlighting for 8 color terminals,
          use uniform grey highlighting for dark and light bg
          (Maxim Kim)

Update terminal Visual

1. Use `ctermbg=Grey ctermfg=Black` for both dark and light

This uniforms Visual highlighting between default dark and light colors
And should work for vim usually detecting light background for terminals
with black/dark background colors.

Previously used `ctermfg=White` leaks `cterm=bold` if available colors
are less than 16.

2. Use `term=reverse cterm=reverse ctermbg=NONE ctermfg=NONE`
   for terminals reporting less than 8 colors available

If the terminal has less than 8 colors, grey just doesn't work right

closes: #13940

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-01 21:07:51 +01:00
Christian Brabandt
e1cd1fda69 patch 9.1.0067: gcc still complains about use of uninitialized var
Problem:  gcc still complains about use of uninitialized var
          ((Tony Mechelynck, after 9.1.0064/9.1.0066))
Solution: This time init the correct variable

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-31 22:12:57 +01:00
D. Ben Knoble
83f627ff42 runtime(racket): add missing space to b:undo_indent var (#13945)
This copies commit 2a4862a (fixup! indent: only reset some options when
has vim9, 2024-01-31) from https://github.com/benknoble/vim-racket and
fixes 26b0176a9 (runtime(racket): undo some indent options only when
vim9script is available (#13935), 2024-01-30).

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-31 20:53:55 +01:00
Philip H
f430e7daeb runtime(Filelist): include README_vimlogo.txt (#13944)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-31 20:51:48 +01:00
Christian Brabandt
f2fb7dd3d3 patch 9.1.0066: gcc complains about use of uninitialized var
Problem:  gcc complains about use of uninitialized var
          (Tony Mechelynck, after 9.1.0064)
Solution: initialize button to silence gcc

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-31 20:29:07 +01:00
Shay Hill
ece7145689 runtime(vimlogo): Include and modernize vimlogo.svg
fix degenerate splines in vimlogo.svg

closes: #13941

Signed-off-by: Shay Hill <shay_public@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-31 20:15:03 +01:00
MiguelBarro
c46c21b4ca runtime(netrw): fixing remote file removal via ssh (#13942)
Make pattern, which retrieves the path component from e.g. 
`scp://user@host//opt/program/file.ext` non-greedy.

Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-31 20:07:17 +01:00
Philip H
0a3d369687 CI: get rid of snap and speed up CI (#13938)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-31 20:04:22 +01:00
Philip H
28db30ddb1 CI: update clang to v18 (#13937)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-31 20:02:10 +01:00
Christian Brabandt
8fecb472c4 runtime(doc): correct Vim patch for Wayland support
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-30 23:37:41 +01:00
D. Ben Knoble
26b0176a98 runtime(racket): undo some indent options only when vim9script is available (#13935)
This copies commit 64edf95 (indent: only reset some options when has
vim9, 2024-01-30) from https://github.com/benknoble/vim-racket.

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-30 23:32:59 +01:00
Christian Brabandt
1b7fbe726a runtime(doc): Update help for Wayland support
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-30 20:41:53 +01:00
Christian Brabandt
fef6630166 patch 9.1.0065: Segfault with CompleteChanged autocommand
Problem:  Segfault with CompleteChanged autocommand
          (markonm )
Solution: Test match->cp_prev for being NULL before accessing it

closes: #13929

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-29 21:49:36 +01:00
lilydjwg
6e0a18f82b patch 9.1.0064: No Wayland support
Problem:  No Wayland support
Solution: Add Wayland UI support
          (lilydjwg)

closes: #9639

Signed-off-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-29 20:54:28 +01:00
lilydjwg
94ff09a093 patch 9.1.0063: GTK code can be improved
Problem:  GTK code can be improved
Solution: Improve GTK code for initial Wayland support
          (lilydjwg)

related: #9639

Signed-off-by: lilydjwg <lilydjwg@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-29 20:18:22 +01:00
zeertzjq
e99f068878 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Problem:  Internal error when :luado/perldo/pydo etc delete lines
Solution: Test that the line is still valid line number
          (zeertzjq)

closes: #13931

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-29 19:32:39 +01:00
Christian Brabandt
e6d8b4662d patch 9.1.0061: UX of visual highlighting can be improved
Problem:  UX of visual highlighting can be improved
Solution: Improve readibility of visual highlighting,
          by setting better foreground and background
          colors

The default visual highlighting currently is nice in that it overlays
the actual syntax highlighting by using a separate distinct background
color.

However, this can cause hard to read text, because the contrast
between the actual syntax element and the background color is way too
low. That is an issue, that has been bothering colorschemes authors for
quite some time so much, that they are defining the Visual highlighting
group to use a separate foreground and background color, so that the
syntax highlighting vanishes, but the text remains readable (ref:
vim/colorschemes#250)

So this is an attempt to perform the same fix for the default Visual
highlighting and just use a default foreground and background color
instead of using reverse.

I also removed the hard-coded changes to the Visual highlighting in
init_highlight. It's not quite clear to me, why those were there and not
added directly to the highlighting_init_<dark|light> struct.

closes: #13663
related: vim/colorschemes#250

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-28 23:38:28 +01:00
user202729
bdb9d9afba runtime(netrw): Use :exec norm! <leftmouse> before :call mapping in netrw (#12180)
fixes: #12143

Signed-off-by: user202729 <25191436+user202729@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-28 23:29:21 +01:00
zeertzjq
bf321806bf patch 9.1.0060: Recorded register cannot be translated using keytrans()
Problem:  Recorded register cannot be translated using keytrans() when
          it involves character search (iddqd505)
Solution: Record a K_IGNORE instead of a K_NOP (zeertzjq)

related: #13916
closes: #13925

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-28 19:03:00 +01:00
thinca
cf8695d48c runtime(vim): Highlight string interpolation
closes: #13923

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-28 18:58:14 +01:00
dkearns
21ce159e05 runtime(vim): Update syntax and ftplugin files (#13924)
Improve matching of line-continuations and interspersed comments.

These are now also matched in multiline syntax command patterns,
dictionary literals, and parenthesised expressions and argument lists.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-28 18:54:08 +01:00
dkearns
0cc6108fea runtime(ant): Update syntax file (#13926)
Remove invalid display option from syn-keyword commands.

Take over maintenance of this file.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-27 18:20:46 +01:00
Melker Ulander
772f8f5425 runtime(hurl): add hurl filetype plugin(#13921)
Signed-off-by: Melker Ulander <melker.ulander@pm.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-27 11:26:14 +01:00
dkearns
b418a51933 runtime(vim): Update syntax file (#13919)
Add foreach() function.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-27 11:24:45 +01:00
h_east
4d49643c3c runtime(doc): style fixes in vim9.txt (#13918)
Remove backticks and a few other style fixes

Signed-off-by: h-east <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-27 11:22:28 +01:00
Sergey Vlasov
1f47db75fd patch 9.1.0059: No event triggered before creating a window
Problem:  No event is triggered before creating a window.
          (Sergey Vlasov)
Solution: Add the WinNewPre event (Sergey Vlasov)

fixes: #10635
closes: #12761

Signed-off-by: Sergey Vlasov <sergey@vlasov.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 23:07:00 +01:00
Casey Tucker
92e90a1e10 patch 9.1.0058: Cannot map Super Keys in GTK UI
Problem:  Cannot map Super Keys in GTK UI
          (Casey Tucker)
Solution: Enable Super Key mappings in GTK using <D-Key>
          (Casey Tucker)

As a developer who works in both Mac and Linux using the same keyboard,
it can be frustrating having to remember different key combinations or
having to rely on system utilities to remap keys.

This change allows `<D-z>` `<D-x>` `<D-c>` `<D-v>` etc. to be recognized
by the `map` commands, along with the `<D-S-...>` shifted variants.

```vimrc
if has('gui_gtk')
	nnoremap  <D-z>    u
	nnoremap  <D-S-Z>  <C-r>
	vnoremap  <D-x>    "+d
	vnoremap  <D-c>    "+y
	cnoremap  <D-v>    <C-R>+
	inoremap  <D-v>    <C-o>"+gP
	nnoremap  <D-v>    "+P
	vnoremap  <D-v>    "-d"+P
	nnoremap  <D-s>    :w<CR>
	inoremap  <D-s>    <C-o>:w<CR>
	nnoremap  <D-w>    :q<CR>
	nnoremap  <D-q>    :qa<CR>
	nnoremap  <D-t>    :tabe<CR>
	nnoremap  <D-S-T>  :vs#<CR><C-w>T
	nnoremap  <D-a>    ggVG
	vnoremap  <D-a>    <ESC>ggVG
	inoremap  <D-a>    <ESC>ggVG
	nnoremap  <D-f>    /
	nnoremap  <D-g>    n
	nnoremap  <D-S-G>  N
	vnoremap  <D-x>    "+x
endif
```

closes: #12698

Signed-off-by: Casey Tucker <dctucker@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 22:44:00 +01:00
Christian Brabandt
6a02eb073e patch 9.1.0057: MS-Windows: Key event test still fails
Problem:  MS-Windows: Key event test still fails
Solution: Skip testing CTRL-C, since it causes an Interrupt
          which causes a test failure (after 9.1.0053)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 22:28:37 +01:00
VanaIgr
6638ec8afa patch 9.1.0056: wrong number of trailing spaces inserted after blockwise put
Problem:  Incorrect number of trailing spaces inserted for multibyte
	  characters when pasting a blockwise register in blockwise visual
          mode (VanaIgr)
Solution: Skip over trailing UTF-8 bytes when computing the number of trailing
          spaces (VanaIgr)

When pasting in blockwise visual mode, and the register type is <CTRL-V>, Vim
aligns the text after the replaced area by inserting spaces after pasted
lines that are shorter than the longest line. When a shorter line contains
multibyte characters, each trailing UTF-8 byte's width is counted in addition
to the width of the character itself. Each trailing byte counts as being 4
cells wide (since it would be displayed as <xx>).

closes: #13909

Signed-off-by: VanaIgr <vanaigranov@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 21:58:33 +01:00
kawaii-Code
78019df645 patch 9.1.0055: formatting long lines is slow
Problem:  formatting long lines is slow
          (kawaii-Code)
Solution: optimize gq (internal_format) for long
          lines (kawaii-Code)

Implemented two workarounds that significantly reduce
the amount of pointless calls. Ideally the algorithm
would be rewritten not to be n^2, but it's too complicated
with too many corner cases.

closes: #13914

Signed-off-by: kawaii-Code <nia.personal.0@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 21:40:05 +01:00
zeertzjq
703f9bc943 patch 9.1.0054: 'linebreak' may still apply to leading whitespace
Problem:  'linebreak' may still apply to leading whitespace
          (VanaIgr)
Solution: Compare pointers instead of virtual columns.
          (zeertzjq)

related: neovim/neovim#27180
closes: #13915

Co-authored-by: VanaIgr <vanaigranov@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 21:28:56 +01:00
Christian Brabandt
12b9277672 patch 9.1.0053: MS-Windows: Key event test still fails
Problem:  MS-Windows: Key event test still fails
Solution: Catch more interrupts
          (after 9.1.0051)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 21:23:22 +01:00
Christian Brabandt
fa8c971558 patch 9.1.0052: Patch 9.1.0041 causes regressions for users
Problem:  Patch 9.1.0041 causes regressions for users
          (Gleb Fotengauer-Malinovskiy)
Solution: Revert 9.1.0041 and restore old behaviour

Revert "patch 9.1.0041: xxd -i may generate incorrect C statements"

This reverts commit 7062be1312.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 20:50:49 +01:00
Christian Brabandt
f6ebaa7ae6 patch 9.1.0051: MS-Windows: Key event test fail
Problem:  MS-Windows: Key event test fail
          (after 9.1.0050)
Solution: Catch Interrupt and return Ctrl-C

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 20:44:49 +01:00
gi1242
046a0f75d0 runtime(mail): fix #13913 (#13917)
switch to the DFA engine for the emoji collaction range

Co-authored-by: GI <gi1242+vim@gmail.com>
Signed-off-by: GI <gi1242@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-25 19:52:47 +01:00
K.Takata
a262d3f41b runtime(netrw): Don't change global options (#13910)
Originally reported at: https://github.com/vim-jp/issues/issues/1428
'isk' was unintentionally changed by netrw, regression
introduced in Commit: 71badf9547

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-24 20:10:19 +01:00
Ajit-Thakkar
e1ddc2d587 runtime(fortran): update syntax and documentation (#13912)
* runtime (doc): update Fortran section
* runtime(syntax): Complete support for Fortran 2023.
   Minor improvements.

Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-24 20:08:34 +01:00
Anton Sharonov
68d9472c65 patch 9.1.0050: Win32 Keyboard handling is sub-optimal
Problem:  Win32 Keyboard handling is sub-optimal and has
          many issues with international keyboards
          (risa2000) (after v8.2.4807)
Solution: soft-rollback the change, allow the user to select
          a suitable key-translation strategy
          (Anton Sharonov)

Read about the details in the help:
    :h w32-experimental-keycode-trans-strategy

fixes: #10615
fixes: #12595
closes: #12752

Signed-off-by: Anton Sharonov <anton.sharonov@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 23:19:02 +01:00
Sean Dewar
1fb4103206 patch 9.1.0049: Make "[Command Line]" a special buffer name
Problem:  E95 is possible if a buffer called "[Command Line]" already
          exists when opening the cmdwin. This can also happen if the
          cmdwin's buffer could not be deleted when closing.

Solution: Un-name the cmdwin buffer, and give it a special name instead,
          similar to what's done for quickfix buffers and for unnamed
          prompt and scratch buffers. As a result, BufFilePre/Post are
          no longer fired when opening the cmdwin. Add a "command" key
          to the dictionary returned by getbufinfo() to differentiate
          the cmdwin buffer instead. (Sean Dewar)

NOTE: This is technically a breaking change... maybe this needs a different
solution? (Or maybe this issue can be ignored...)

A GitHub search reveals some plugins expect the old behaviour. However, many of
those plugins also do not seem to account for the string being translated, so
they are subtly broken anyway (not withstanding the fact that you can call any
old buffer "[Command Line]" too...)

closes: #12819

Signed-off-by: Sean Dewar <seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 22:37:39 +01:00
Sean Dewar
43b395ec2e patch 9.1.0048: Abort opening cmdwin if autocmds screw things up
Problem:  Autocmds triggered from opening the cmdwin (in win_split and
          do_ecmd) can cause issues such as E199, as the current checks
          are insufficient.

Solution: Commands executed from the cmdwin apply to the old curwin/buf,
          so they should be kept in a "suspended" state; abort if
          they've changed. Also abort if cmdwin/buf was tampered with,
          and check that curwin is correct. Try to clean up the cmdwin
          buffer (only if hidden and non-current to simplify things; the
          same approach is used when closing cmdwin normally), and add a
          beep. (Sean Dewar)

It'd be nice to also check that curwin was *really* created by win_split, as
autocommands can change curwin before it returns (so it can't be assumed to be
that of the split); for now, this means that the cmdwin may not be the botwin in
that case, which is probably OK.

closes: #12819

Signed-off-by: Sean Dewar <seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 22:35:05 +01:00
Sean Dewar
988f74311c patch 9.1.0047: issues with temp curwin/buf while cmdwin is open
Problem:  Things that temporarily change/restore curwin/buf (e.g:
          win_execute, some autocmds) may break assumptions that
          curwin/buf is the cmdwin when "cmdwin_type != 0", causing
          issues.

Solution: Expose the cmdwin's real win/buf and check that instead. Also
          try to ensure these variables are NULL if "cmdwin_type == 0",
          allowing them to be used directly in most cases without
          checking cmdwin_type. (Sean Dewar)

Alternatively, we could ban win_execute in the cmdwin and audit all places that
temporarily change/restore curwin/buf, but I didn't notice any problems arising
from allowing this (standard cmdwin restrictions still apply, so things that may
actually break the cmdwin are still forbidden).

closes: #12819

Signed-off-by: Sean Dewar <seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 22:31:55 +01:00
Christian Brabandt
4927110a43 CI: regenerate helptags to fix CI job
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 22:29:47 +01:00
Luca Saccarola
ca0e9823a1 runtime(c): Highlight user defined functions
closes: #13763

Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 21:34:09 +01:00
Rocco Mao
f96dc8d07f patch 9.1.0046: :drop does not re-use empty buffer
Problem:  :drop does not re-use empty buffer
          (Rocco Mao)
Solution: Make :drop re-use an empty buffer
          (Rocco Mao)

fixes: #13851
closes: #13881

Signed-off-by: Rocco Mao <dapeng.mao@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 21:27:19 +01:00
Christian Brabandt
cc979b49dc patch 9.1.0045: --remote-* does not ignore wilidignore
Problem:  --remote-silent applies the wildignore option
          to each argument, which may result in "E479: No match"
          (hebaronson)
Solution: temporarily reset 'wildignore' setting when building
          the :drop command

closes: #13835

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 21:16:54 +01:00
zeertzjq
e13b665a6e runtime(doc): change "VIsual mode" to "Visual mode" in :h SafeState (#13901)
"Visual mode" is used everywhere else in the help when not referring to
something in the source code.

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 20:39:04 +01:00
Zoltan Arpadffy
4231ad0852 translation(hu): use correct encoding in header of hu po file (#13902)
closes: #13900 

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 20:38:07 +01:00
dkearns
9c5b90db03 runtime(vim): Update syntax file (#13906)
Highlight :2match and :3match and add these to :help ex-cmd-index.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 20:34:28 +01:00
dkearns
50dbe16cd8 runtime(qml): Use shiftwidth() in indent plugin (#13908)
Fixes #13907

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 20:33:32 +01:00
Antonio Giovanni Colombo
7de2b7c891 translation(it): Update Italian translation
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 19:51:05 +01:00
GI
36e2c0f293 runtime(mail): updated syntax file
Signed-off-by: GI <gi1242@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23 19:48:08 +01:00
Restorer
459867b631 runtime(doc): improve doc makefiles, add clean rule (#13855)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:42:44 +01:00
Restorer
e8ff5e6df4 runtime(lang): improve makefiles, add clean rule, fix typo (#13856)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:41:47 +01:00
RestorerZ
76ba724e1d patch 9.1.0044: po Makefiles can be improved
Problem:  po Makefiles can be improved
Solution: Improve the style of the Makefiles, update
          Makefile variables, update documentation
          (RestorerZ)

closes: #13858
closes: #13857

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:38:38 +01:00
Restorer
91155eb31f runtime(tutor): simplify tutor makefiles (#13859)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:25:43 +01:00
Johnothan King
add31baeda runtime(sh): Add handling for ksh93 shared-state comsubs and mksh valsubs (#13884)
This commit adds support for ksh93 shared-state command
substitutions (syntax: ${ command; }) and mksh's value
substitutions (syntax: ${|command;}) in the sh syntax script.

Also add a syntax test for ksh subshares with dumps included
to make sure it doesn't regress.

fixes: #9514

Signed-off-by: Johnothan King <johnothanking@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:19:54 +01:00
Christian Brabandt
7c71db3a58 patch 9.1.0043: ml_get: invalid lnum when :s replaces visual selection
Problem:  ml_get: invalid lnum when :s replaces visual selection
          (@ropery)
Solution: substitute may decrement the number of lines in a buffer,
          so validate, that the bottom lines of the visual selection
          stays within the max buffer line

fixes: #13890
closes: #13892

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:12:34 +01:00
Andrea C from The App
3b2c27415d runtime(chuck): include ChucK syntax file (#13895)
Co-authored-by: gacallea <gacallea@users.noreply.github.com>
Signed-off-by: gacallea <gacallea@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:10:42 +01:00
Billie Cleek
ea9a93e5b0 runtime(go): update Go syntax file (#13896)
Update the Go syntax file with some recent changes made to vim-go.

Signed-off-by: Billie Cleek <bhcleek@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:08:44 +01:00
dependabot[bot]
1cee50904e CI: Bump actions/cache from 3 to 4 (#13897)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-22 20:06:01 +01:00
Christian Brabandt
c1884c94c5 patch 9.1.0042: Missing test for Chuck Filetype
Problem:  Missing test for Chuck filetype
          after commit 27a4632af6
          (Christian Clason)
Solution: Add a filetype test

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-21 09:40:22 +01:00
Ivan Pešić
d08e437802 translation(sr): Update Serbian messages translation (#13889)
Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-19 23:31:39 +01:00
Christian Brabandt
27a4632af6 runtime(filetype): detect *.ck files as Chuck filetype (#13888)
closes #13886

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-19 23:30:34 +01:00
Kuratius
7062be1312 patch 9.1.0041: xxd -i may generate incorrect C statements
Problem:  xxd -i may generate incorrect C statements
          (Kuratius)
Solution: xxd: Make size type returned by -i option compatible
          with C standard by using type size_t instead of
          unsigned int (Kuratius)

Also change affected tests to now correctly expect size_t's

fixes: #13876
closes: #13880

Signed-off-by: Kuratius <Kuratius@gmx.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 22:34:51 +01:00
Christian Brabandt
f942db2557 runtime(man): man on AIX does not understand -l
fixes: #13847

Co-authored-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 21:55:41 +01:00
James Eapen
46d67d22b9 runtime(swayconfig): add focus_follows_mouse and smart_qaps syntax keywords
See:
0aceff7469/sway/sway.5.scd (L680)
`focus_follows_mouse yes|no|always`
0aceff7469/sway/sway.5.scd (L770)

closes: #13797

Signed-off-by: James Eapen <james.eapen@vai.org><author>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 21:43:31 +01:00
James Eapen
a39af02904 runtime(i3config): remove always from focus_follows_mouse
The always option does not exist in i3, only sway.

From https://i3wm.org/docs/userguide.html:
`focus_follows_mouse yes|no`

Version number incremented by 2 because the last commit did not
increment the version.

Signed-off-by: James Eapen <james.eapen@vai.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 21:43:12 +01:00
MiguelBarro
6e5a6c9965 runtime(netrw): minor changes to fix move cmd on windows (#13823)
Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 21:35:36 +01:00
zeertzjq
f267847017 patch 9.1.0040: issue with prompt buffer and hidden buffer
Problem:  Modifying a hidden buffer still interferes with prompt buffer
          mode changes.
Solution: Save and restore b_prompt_insert.
          (zeertzjq)

closes: #13875

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Modifying hidden buffer still interferes with prompt buffer mode changes
2024-01-17 21:22:59 +01:00
zeertzjq
6a8d2e1634 patch 9.1.0039: too vague errors for 'listchars'/'fillchars'
Problem:  too vague errors for 'listchars'/'fillchars'
Solution: Include the field name in error message.
          (zeertzjq)

related: neovim/neovim#27050
closes: #13877

Co-authored-by: Cole Frankenhoff <cole.nhf@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 21:07:08 +01:00
zeertzjq
4ea37f88e8 patch 9.1.0038: Unnecessary loop in getvcol()
Problem:  Unnecessary loop in getvcol().
Solution: Compare next char position with pos->col directly.
          (zeertzjq)

The loop below already handles end of line before checking for posptr,
and the next char is after pos->col whether pos->col is at the start or
in the middle of the char in question, so neither the NUL check nor the
mb_head_off() are needed when comparing the position of the next char
with pos->col directly.

closes: #13878

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 20:52:13 +01:00
zeertzjq
5b0722b864 patch 9.1.0037: Calling get_breakindent_win() repeatedly when computing virtcol
Problem:  Calling get_breakindent_win() repeatedly when computing
          virtual column, and get_breakindent_win() does a STRCMP() on
          the whole line since patch 9.0.0016.
Solution: Cache the result, since the line doesn't change.
          (zeertzjq)

closes: #13879

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 20:42:53 +01:00
John Marriott
73e16c7406 patch 9.1.0036: MS-Windows: Warning about unused variable
Problem:  MS-Windows: Warning about unused variable
          (after 9.1.0030, John Marriott)
Solution: Adjust #ifdef and test for HAVE_TGETENT
          (John Marriott)

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-17 20:19:10 +01:00
Maxim Kim
211211052d runtime(odin): include ftplugin, syntax and indent script (#13867)
Note for Neovim Contributors: this is bundled as Vim9 Script. If you want to use this on Neovim, you need to convert the Vim9 scripts to Vim Script or Lua or leave it out.

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-16 17:33:51 +01:00
altermo
7d711fe209 patch 9.1.0035: i_CTRL-] triggers InsertCharPre
Problem:  i_CTRL-] triggers InsertCharPre
Solution: Return if CTRL-] is received. InsertCharPre
          is supposed to be only used for chars to be inserted
          but i_CTRL-] triggers expansion and is not inserted
          into the buffer (altermo)

closes: #13853
closes: #13864

Signed-off-by: altermo
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-16 17:25:17 +01:00
Christian Brabandt
ac4cffc6d9 patch 9.1.0034: Window scrolls unexpectedly when 'scrollbind' is set
Problem:  Window may unexpectedly scroll when 'scrollbind' is set
          and setting a buffer-local option using setbufvar()
          (Boris Staletic)
Solution: Save and restore the windows topline before opening the
          popup window.

fixes: #13863
closes: #13869

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-16 17:22:38 +01:00
zeertzjq
96958366ad patch 9.1.0033: Insert mode not stopped if closing prompt buffer modifies hidden buffer
Problem:  Insert mode not stopped if an autocommand modifies a hidden
          buffer while closing a prompt buffer.
Solution: Don't set b_prompt_insert if stop_insert_mode is already set.
          (zeertzjq)

closes: #13872

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-16 17:21:04 +01:00
Ken Takata
1a9aba8ad4 patch 9.1.0032: MS-Windows installer misses keymaps
Problem:  MS-Windows installer misses keymaps
          (Maxim Kim)
Solution: Include keymaps in the installer archive
          (Ken Takata)

fixes: vim/vim-win32-installer#331
closes: #13871

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-16 17:14:29 +01:00
Christian Brabandt
4afda3307d patch 9.1.0031: Link Error on Windows
Problem:  Link Error on Windows
Solution: Add ifdef HAVE_TGETENT for term_strings_not_set()

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-15 22:52:49 +01:00
Ajit-Thakkar
ef79c57837 runtime(fortran): update fortran syntax (#13870)
Support most remaining features of Fortran 2018/2023
Small improvements to folding etc,
Code cleanup: use \? instead of mix of \= and \?

Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-15 22:42:03 +01:00
Christian Brabandt
9c58191b34 CI: regenerate helptags, fix ci help tags job failing
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-15 22:39:54 +01:00
PMunch
a606f3ac03 patch 9.1.0030: Cannot use terminal alternate font
Problem:  Cannot use terminal alternate fonts (PMunch)
Solution: Support terminal alternate fonts using
          CSI SGR 10-20 and t_CF code (PMunch)

Add support for alternate font highlighting

This adds support for alternate font highlighting using CSI SGR 10-20.
Few terminals currently support this, but with added tool support this
should improve over time. The change here is more or less taken from how
colors are configured and applied, but there might be some parts I
missed while implementing it. Changing fonts is done through the new
`:hi ctermfont` attribute which takes a number, 0 is the normal font, and
the numbers 1-9 select an "alternative" font. Which fonts are in use is
up to the terminal.

fixes: #13513
closes: #13537

Signed-off-by: PMunch <peterme@peterme.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-15 22:27:35 +01:00
Yegappan Lakshmanan
eb3475df0d runtime(doc): Replace non-breaking space with normal space (#13868)
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-15 20:08:25 +01:00
Doug Kearns
93197fde0f runtime(ftplugin): Use "*" browsefilter pattern to match "All Files"
Problem:  The "*.*" browsefilter pattern only matches all files on
	  Windows (Daryl Lee)
Solution: Use "*" to filter on all platforms but keep "*.*" as the label
	  text on Windows. (Fixes #12685, Doug Kearns)

The *.* browsefilter pattern used to match "All Files" on Windows is a
legacy of the DOS 8.3 filename wildcard matching algorithm.  For reasons
of backward compatibility this still works on Windows to match all
files, even those without an extension.

However, this pattern only matches filenames containing a dot on other
platforms.  This often makes files without an extension difficult to
access from the file dialog, e.g., "Makefile"

On Windows it is still standard practice to use "*.*" for the filter
label so ftplugins should use "All Files (*.*)" on Windows and "All
Files (*)" on other platforms.  This matches Vim's default browsefilter
values.

This commit also normalises the browsefilter conditional test to check
for the Win32 and GTK GUI features and an unset b:browsefilter.

closes: #12759

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-14 21:02:54 +01:00
Danek Duvall
d7d560374b patch 9.1.0029: Cannot act on various terminal response codes
Problem:  Cannot act on various terminal response codes
Solution: Add the TerminalResponseAll autocommand
          (Danek Duvall)

closes: #13829

Signed-off-by: Danek Duvall <duvall@comfychair.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-14 20:19:59 +01:00
GuyBrush
1f13fcc934 patch 9.1.0028: win32: Ctrl-D cannot be used to close a pipe
Problem:  win32: Ctrl-D cannot be used to close a pipe
Solution: Properly detect Ctrl-D when reading from a pipe
          (GuyBrush)

Enabling Ctrl-D for gvim pipeline input
and apply defensive programming on account of PR #12752
so that once PR 12752 is merged, CTRL-D will keep on working

closes: #13849

Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-14 20:08:40 +01:00
Christian Brabandt
8102a4c463 CI: Check help tags for errors (duplicates, missing, etc) (#13865)
- Run the doc make html awk script, which also checks, that all
  referenced help tags exists.
- Run the doc maketags awk script, which checks for duplicates
- in case of any error in the previous two steps, exit the CI with
  an error and show the errors.log file, that is generated by the
  previous 2 steps

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-14 19:24:05 +01:00
errael
c92b8bed1f runtime(help): delete duplicate help tag E741 (#13861)
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-14 19:11:07 +01:00
Ernie Rael
e79e207760 patch 9.1.0027: Vim is missing a foreach() func
Problem:  Vim is missing a foreach() func
Solution: Implement foreach({expr1}, {expr2}) function,
          which applies {expr2} for each item in {expr1}
          without changing it (Ernie Rael)

closes: #12166

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-13 11:47:33 +01:00
Ken Takata
d8cb1ddab7 patch 9.1.0026: win32: Windows default font lacking
Problem:  win32: Windows default font lacking (@clach04)
Solution: Improve default font (Ken Takata)

win32: Improve default font

Currently, Fixedsys is the default font on Windows.
It is not suitable for recent High DPI environments.

* Change the default font to Consolas.
* Allow to change the default font by the translation message. E.g.:
  ```
  msgid "DefaultFontNameForWindows"
  msgstr "Courier New"
  ```

fixes: #12919
closes: #13266

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 18:12:04 +01:00
dundargoc
dc4c37b9d5 patch 9.1.0025: A few typos in tests and justify.vim
Problem:  A few typos in tests and justify.vim
Solution: fix them

closes: #13848

Signed-off-by: dundargoc <gocdundar@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 18:02:10 +01:00
Igor Todorovski
497e5282b6 patch 9.1.0024: z/OS (MVS) support can be improved
Problem:  z/OS (MVS) support can be improved
Solution: set UTF-8 as the default encoding for z/OS

closes: #13821

Signed-off-by: Igor Todorovski <itodorov@ca.ibm.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:59:18 +01:00
Igor Todorovski
48a75f3dfb patch 9.1.0023: xxd: few problems with EBCDIC for z/OS (MVS)
Problem:  xxd: few problems with EBCDIC for z/OS (MVS)
Solution: Fix xxd build and support ASCII and UTF-8 on z/OS (MVS)
          natively, add MVS guard checks with __CHARSET_LIB,
          support $LIBS in the Makefile
          (Igor Todorovski)

related: #13821

Signed-off-by: Igor Todorovski <itodorov@ca.ibm.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:53:18 +01:00
Christian Brabandt
49471963fe patch 9.1.0022: Coverity complains about improper use of negative value
Problem:  Coverity complains about improper use of negative value
Solution: Add a condition to validate that keytyped is larger or equal
          to 0

Apparently patch 9.1.0006 made it more explicit for Coverity, that the
TOLOWER_LOC() macros do not handle negative values properly. However,
that condition has always been there even before that, so add a
condition to verify that keytyped is indeed at least 0

closes: #13824

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:48:08 +01:00
zeertzjq
424ec1f235 patch 9.1.0021: i_CTRL-R- doesn't work for multibyte chars in Replace mode
Problem:  i_CTRL-R- doesn't work for multibyte chars in Replace mode,
          Coverity complains missing return value for u_save_cursor()
Solution: Use mb_charlen() and del_chars() instead, handle failure mode
          for u_save_cursor() correctly (@zeertzjq)

closes: #13846

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:43:05 +01:00
Yegappan Lakshmanan
4f32c83a77 patch 9.1.0020: Vim9: cannot compile all methods in a class
Problem:  Vim9: cannot compile all methods in a class
Solution: Support compiling all the methods in a class using :defcompile
          (Yegappan Lakshmanan)

closes: #13844

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:41:09 +01:00
Christian Brabandt
8610f74382 patch 9.1.0019: cmdline may disappear when changing 'cmdheight'
Problem:  cmdline may disappear when changing 'cmdheight'
          (after Patch 9.0.0190, @markonm)
Solution: always re-calculate the old_p_ch value, not only
          when cmdline_row was higher than expected

fixes: #13822
closes: #13826

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:34:40 +01:00
Ken Takata
b52600d561 patch 9.1.0018: use of #if instead of #ifdef
Problem:  use of #if instead of #ifdef
Solution: use correct form of #ifdef

`#if FEAT_GUI_HAIKU` was used mistakenly. Use the correct form
`#ifdef FEAT_GUI_HAIKU` instead.

closes: #13843

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:31:07 +01:00
K.Takata
2357765304 runtime(netrw): Decode multibyte percent-encoding filename correctly (#13842)
Use `printf("%c")` instead of `nr2char()` to handle '%xx' as a byte.

Close #13787

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:30:01 +01:00
Yegappan Lakshmanan
28d71b566a patch 9.1.0017: [security]: use-after-free in eval1_emsg()
Problem:  use-after-free in eval1_emsg() when an empty
          line follows a lambda (by @yu3s)
Solution: only set evalarg->eval_using_cmdline = FALSE when
          the *arg pointer is not null

fixes: #13833
closes: #13841

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-12 17:27:02 +01:00
K.Takata
71d0ba07a3 runtime(netrw): Sync with netrw 174b (#13836)
* Import netrw v174b
* Revert unwanted changes
* Fix indent
* Revert some changes
* Update tags
* Break long line

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-09 19:21:05 +01:00
Maxim Kim
5f4cc8ea65 runtime(colorschemes): Add initial support for Added/Removed/Changed highlight groups (#13830)
For some of the colorschemes where diffAdded and diffRemoved were explicitly set up.

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-08 20:14:04 +01:00
Christian Brabandt
3a5b3df776 runtime(tar): fix a few problems with the tar plugin
From: #138331:
  - Updating .tar.zst files was broken. Fixes #12639.
  - Extracting files from .tar.zst / .tzs files was also broken and
    works now.
From: #12637:
  - Fixes variable assignment and typo
From: #8109:
  - Rename .tzs to the more standard .tzst

fixes: #12639
fixes: #8105
closes: #8109
closes: #12637
closes: #13831

Co-authored-by: Martin Rys <martin@rys.pw>
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Co-authored-by: Carlo Teubner <carlo@cteubner.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-08 20:02:14 +01:00
Maxim Kim
ceed36873e runtime(vim): accept dot in completionList for Vim9 syntax (#13832)
if you have autoloaded command complete function in vim9script, it shouldn't be highlighted as Error:

```
import autoload "share.vim"
command! -range=% -nargs=? -complete=custom,share.Complete Share share.Paste(<q-args>, <line1>, <line2>)
```

`share.Complete` is a valid complete function.

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-08 19:42:02 +01:00
Romain Lafourcade
124371c5a1 patch 9.1.0016: default diff highlighting is too noisy
Problem:  default diff highlighting is too noisy
Solution: Link diff highlighting groups to new
          Added/Removed/Changed, revert previous change
          (Romain Lafourcade)

Remove diff* links added in #13776 and doc added in commit b1392be

The links added in #13776 are way too noisy for the contexts in which
the `diff` syntax is applied (git commits, patches, etc.).

This commit:

- removes those links
- adds new default highlighting groups Added, Changed and
  Removed
- links the diff highlighting groups to those new defaults
- removes the doc changes
- adjusts the syntax_completion test for those newly added group
  names

Note: Changes to the default color schemes will be handled separately,
by adding links to those newly created Added/Removed/Changed
highlighting groups.

related: #13776
closes #13825

Signed-off-by: Romain Lafourcade <romain.lafourcade@razorfish.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-07 23:32:19 +01:00
Aliaksei Budavei
b21499537f runtime(doc): Improve the documentation for Vim9 classes (#13828)
* Emend textual typos
* Emend syntactic errors in examples
* Acknowledge no support for abstract static methods
* Acknowledge the non-ubiquity of instance qualification

"This" was never allowed in method declarations, e.g.:
    class A
        def this.M()
        enddef
    endclass

and, since patch 9.0.2167, "this" can no longer be used in field
declarations, e.g.:
    class B
        var this.f: string
    endclass

* Recognise abstract child classes
* Reword an ambiguous turn of phrase

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-07 15:52:10 +01:00
Christian Brabandt
5d5cbb2b9a patch 9.1.0015: i_CTRL-R- no longer works in replace mode
Problem:  i_CTRL-R- no longer works in replace mode
Solution: delete characters in replace mode before putting, add a test,
          add a bit warning into the documentation, that i_CTRL-R-P/O
          is not supported in Replace mode for now

fixes: #13792
closes: #13816

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-05 18:19:52 +01:00
zeertzjq
b1ed7ec9f7 patch 9.1.0014: incorrect use of W_WINROW in edit.c
Problem:  incorrect use of W_WINROW in edit.c
Solution: compare against curwin->w_height instead

Remove incorrect use of W_WINROW

In structs.h it is mentioned that w_wrow is relative to w_winrow, so
using W_WINROW doesn't make sense when comparing with window height.

This change won't lead to any observable behavior change:

The condition intends to check if there are 'scrolloff' lines between
the current cursor when the bottom of the window. When W_WINROW(curwin)
is added to curwin->w_height - 1 - get_scrolloff_value(), the condition
is instead satisfied when the cursor is on some screen line below that
position. However,
- If 'scrolloff' is smaller than half the window height, this condition
  can only be satisfied when W_WINROW(curwin) == 0. And if it is not
  satisfied, update_topline() does the actual scrolling.
- If 'scrolloff' is larger than half the window height, update_topline()
  will put the cursor at the center of the window soon afterwards
  anyway, because set_topline() now unsets VALID_TOPLINE flag starting
  from 7db7bb45b0.

To put it in another way, 7db7bb45b0
makes the update_topline() just below correct the mistakes made in this
block, so this incorrect use of W_WINROW() no longer affects observable
behavior.

closes: #12331

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-05 18:11:43 +01:00
Doug Kearns
68a8947069 patch 9.1.0013: Modula2 filetype support lacking
Problem:  Modula2 filetype support lacking
Solution: Improve the Modula-2 runtime support, add additional modula2
          dialects, add compiler plugin, update syntax highlighting,
          include syntax tests, update Makefiles (Doug Kearns)

closes: #6796
closes: #8115

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Benjamin Kowarsch <trijezdci@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-05 17:59:04 +01:00
Maxim Kim
3779516988 patch 9.1.0012: regression with empty inner blocks introduced
Problem:  regression with empty inner blocks introduced
          (after v9.1.0007)
Solution: Set correct cursor position, Check for visual mode
          being active (Maxim Kim)

relates: #13514
closes: #13819

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-05 17:52:49 +01:00
K.Takata
7b7672d5ca runtime(doc): Fix typos in version9.txt (#13817)
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-05 17:47:01 +01:00
Lifepillar
963fd7d6e5 runtime(doc): Fix typos in reltime() help. (#13818)
Signed-off-by: Lifepillar <lifepillar@lifepillar.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-05 17:44:57 +01:00
dkearns
c79646dfb1 runtime(vim): Update syntax file (#13671)
Support multiline :syntax commands.

Match :syn-cchar option in :syn-{keyword,region}.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 22:58:48 +01:00
Christian Brabandt
d2cc51f9a1 patch 9.1.0011: regexp cannot match combining chars in collection
Problem:  regexp cannot match combining chars in collection
Solution: Check for combining characters in regex collections for the
          NFA and BT Regex Engine

Also, while at it, make debug mode work again.

fixes #10286
closes: #12871

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 22:54:08 +01:00
Doug Kearns
81642d9d6f patch 9.1.0010: Keymap completion is not available
Problem:  Keymap completion is not available
Solution: Add keymap completion (Doug Kearns)

Add keymap completion to the 'keymap' option, user commands and builtin
completion functions.

closes: #13692

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 22:37:44 +01:00
Yegappan Lakshmanan
f93b1c881a patch 9.1.0009: Cannot easily get the list of matches
Problem:  Cannot easily get the list of matches
Solution: Add the matchstrlist() and matchbufline() Vim script
          functions (Yegappan Lakshmanan)

closes: #13766

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 22:28:46 +01:00
Christian Brabandt
30994d686c patch 9.1.0008: NSIS installer includes syntax testdir
Problem:  NSIS installer includes syntax test dumps
          (Yegappan Lakshmanan)
Solution: Exclude syntax/testdir when creating the NSIS installer

fixes: vim/vim-win32-installer#328
closes: #13814

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 22:14:28 +01:00
Christian Brabandt
ad4d7f446d patch 9.1.0007: can select empty inner text blocks
Problem:  can select empty inner text blocks
          (laurentalacoque)
Solution: make selecting empty inner text blocks an error

textobjects: Make selecting inner empty blocks an error

fixes: #13514
closes: #13523

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 22:11:33 +01:00
Keith Thompson
184f71cc68 patch 9.1.0006: is*() and to*() function may be unsafe
Problem:  is*() and to*() function may be unsafe
Solution: Add SAFE_* macros and start using those instead
          (Keith Thompson)

Use SAFE_() macros for is*() and to*() functions

The standard is*() and to*() functions declared in <ctype.h> have
undefined behavior for negative arguments other than EOF.  If plain char
is signed, passing an unchecked value from argv for from user input
to one of these functions has undefined behavior.

Solution: Add SAFE_*() macros that cast the argument to unsigned char.

Most implementations behave sanely for negative arguments, and most
character values in practice are non-negative, but it's still best
to avoid undefined behavior.

The change from #13347 has been omitted, as this has already been
separately fixed in commit ac709e2fc0
(v9.0.2054)

fixes: #13332
closes: #13347

Signed-off-by: Keith Thompson <Keith.S.Thompson@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 21:19:04 +01:00
Zoltan Arpadffy
4d8cb683b1 patch 9.1.0005: OpenVMS does not support python3 and xterm_save
Problem:  OpenVMS build does not support python3 and xterm_save
Solution: Enable python3 + xterm_save feature, fix style issues
          (Zoltan Arpadffy)

closes: #13812

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04 21:05:18 +01:00
Ajit-Thakkar
d94ca966ca runtime(fortran): syntax and documentation updates (#13811)
closes: #13802

Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 19:58:21 +01:00
Gregory Anders
83ad2726ff patch 9.1.0004: reloading colorscheme when not changing 'background'
Problem:  reloading colorscheme when not changing 'background'
Solution: Check, if the background option value actually changed,
          if not, return early.

Only reload colorscheme when bg is changed

Currently the highlight groups are re-initialized and the colorscheme
(if any) is reloaded anytime 'background' is set, even if it is not
changed. This is unnecessary, because if the value was not changed then
there is no need to change highlight groups or do anything with the
colorscheme. Instead, only reload the colorscheme if the value of
'background' was actually changed.

closes: #13700

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 19:53:59 +01:00
Isao Sato
443657b32b patch 9.1.0003: Cannot build against Ruby 33 dynamically
Problem:  Cannot build against Ruby 33 dynamically
Solution: Ruby 33 removed transient heap, so do not use
          rb_ary_transient anymore, NoMethodError format changed,
          so update test for expected error message
          (Isao Sato)

- ruby-3.3 removed transient heap for ruby/dyn

when +ruby/dyn with ruby-3.3 do command :ruby, E448 occur.
ruby-3.3 has no transient heap anymore, so disable rb_ary_transient etc.

$ LC_ALL=C VIMRUNTIME=runtime ./src/vim -u NONE -c 'ruby puts RUBY_VERSION'
"=> Error detected while processing command line:
"=> E448: Could not load library function rb_ary_detransient
"=> E266: Sorry, this command is disabled, the Ruby library could not be
    loaded.

- ruby-3.3 changed NoMethodError format:

$ rvm 3.2.2, 3.3.0-rc1 do ruby -e 'begin; nil.name; rescue => e; puts "%s : %s"%[RUBY_VERSION, e.message]; end '
=> 3.2.2 : undefined method `name' for nil:NilClass
=> 3.3.0 : undefined method `name' for nil

so loose pattern in Test_ruby_Vim_buffer_get()

closes: #13741

Signed-off-by: Isao Sato <svardew@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 19:46:42 +01:00
Shota Nozaki
0689b87059 patch 9.1.0002: a closing fold expr, may start a new fold
Problem:  a closing fold expression may unexpectedly start a new fold
          when it should end a fold
          (reported by Shota Nozaki)
Solution: if a fold hasn't started yet, do not immediately
          start a new fold with level 1
          (Shota Nozaki)

fixes: #12768
closes: #13748

Signed-off-by: Shota Nozaki <emonkak@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 19:18:43 +01:00
Sean Dewar
bf44b69d1f patch 9.1.0001: when closing window, wincmd p may fail
Avoid `prevwin == curwin` when closing `curwin`

Problem:  When closing the current window (or when moving it to a tabpage), the
          previous window may refer to the new current window
          (`winnr() == winnr('#')`) if that window is selected as the
          new current window.

Solution: Set `prevwin = NULL` when switching away from an invalid `curwin` and
          the target window was the `prevwin`.
          (Sean Dewar)

related: #4537
closes: #13762

Signed-off-by: Sean Dewar <seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 19:07:21 +01:00
Hugo van de Vliert
b5352931b3 runtime(vim): add jumpoptions to syntax file (#13808)
* Add jumpoptions and jop to vim syntax file
* Clean up some whitespace

Signed-off-by: Hugo van de Vliert <hugo.vandevliert@floryn.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 18:03:29 +01:00
Christian Brabandt
b1392bee70 runtime(doc): document that the diff filetype uses Diff hl groups
related: #13776

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 18:01:45 +01:00
dezza
80beeef0c6 runtime(vim): Add support for <ScriptCmd> syntax (#10686)
Adding `<ScriptCmd>` to list of angle-bracket notation syntax, just like `<Cmd>`

`<Cmd>` is already highlighted.
```vim
nnoremap <leader>o <Cmd>Oldfiles()<CR>
```

`<ScriptCmd>` is not.

Signed-off-by: dezza <402927+dezza@users.noreply.github.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 16:20:22 +01:00
Brad King
d4634a26cd runtime(vim): Add support for syntax foldlevel command (#6182)
Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-03 16:17:24 +01:00
Christian Brabandt
b4ddc6c11e patch 9.1.0000: Vim 9.1 release
Problem:  Need a new release
Solution: Release Vim 9.1

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-02 16:51:11 +01:00
Christian Brabandt
6c1afa3d0b runtime(doc): add missing help tags
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-01 20:50:51 +01:00
Christian Brabandt
34d15155fc runtime(menu): regenerate synmenu
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-01 20:28:12 +01:00
Christian Brabandt
6a950da86d patch 9.0.2190: proto files need update
Problem:  proto files need update
Solution: re-generate them

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-01 20:19:09 +01:00
Christian Brabandt
10b4f75d4c runtime(dist/ft): improve filetype detection for *.v (V/Verilog/Coq)
Patch provided by Dan Alt

closes: #13793

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-01 19:19:20 +01:00
Lucien Grondin
b16fc98055 runtime(sh): Update sh syntax and add local keyword for bash (#13806)
add `local` in shStatement

Signed-off-by: Lucien Grondin <grondilu@yahoo.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-01 19:00:41 +01:00
dkearns
d08059ab48 runtime(ruby): Update ftplugin and omni-complete (#13805)
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-01 18:58:57 +01:00
Christian Brabandt
0ede5e361f runtime(doc): Update Version9.txt for release 9.1 (#13804)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-01 18:56:52 +01:00
Yegappan Lakshmanan
74512e0ad0 runtime(doc): Add help tags to items in version9.txt (#13801)
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-30 10:40:25 +01:00
Christian Brabandt
d36f590d41 translation(de): Updated German translation (#13796)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-29 16:34:04 +01:00
Emir SARI
5528a72937 translation(tr): Improve Turkish documentation (#13800)
Signed-off-by: Emir SARI <emir_sari@icloud.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-29 16:30:40 +01:00
Ajit-Thakkar
d96f25bd69 runtime(fortran): update syntax and documentation (#13784)
* Update Fortran section of indent.txt
* Small addition to fortran syntax

Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>

* Update Fortran section of syntax.txt

* Runtime (Fortran)

Fix regression

* Combine two expressions
2023-12-29 16:29:43 +01:00
zeertzjq
7e4f62a257 patch 9.0.2189: Wrong display with 'briopt=sbr' and 'nobreakindent'
Problem:  Wrong display when 'breakindentopt' contains "sbr" and
          'showbreak' and 'nobreakindent' are set.
Solution: Always reset wlv->need_showbreak regardless of the values of
          'breakindent' and 'showbreak', as they aren't checked when
          setting wlv->need_showbreak (zeertzjq)

closes: #13785

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-28 23:19:52 +01:00
Tim Pope
715a805889 runtime(cucumber): Updates to indent and syntax 2023-12-28 23:17:54 +01:00
Tim Pope
244f01658f runtime(markdown): Fix folding of code blocks 2023-12-28 23:17:54 +01:00
Tim Pope
a907c91992 runtime(sass): Provide sass_recommended_style option 2023-12-28 23:17:54 +01:00
Tim Pope
fda02d03c0 runtime(gitcommit): Updates to ftplugin and syntax 2023-12-28 23:17:54 +01:00
Tim Pope
757714c0cb runtime(git): Make diffs foldable 2023-12-28 23:17:54 +01:00
Tim Pope
48ddc6a6f8 runtime(git): Add small ftplugin 2023-12-28 23:17:54 +01:00
Zoltan Arpadffy
0efa58184b translation(hu): add Hungarian translation (#13782)
* add Hungarian translation
* Add hu.po to the Make_all file

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-28 23:15:19 +01:00
Restorer
9f239f169a translation(ru): Updated Russian translation (#13788)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-28 23:13:10 +01:00
Restorer
53860eb9ce runtime(Filelist): remove coveralls, move runtime/lang/Make_mvc.mak (#13790)
- File coveralls.yml removed from $(SRC_ALL),  in patch 9.0.1752 (#12851)
- runtime/lang/Make_mvc.mak moved from $(LANG_DOS) to $(RT_DOS)

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-28 23:11:48 +01:00
Aliaksei Budavei
0aed99abf7 runtime(doc): correct the :public example (#13795)
The current example is no longer supported (E1331), as of
patch 9.0.2167.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-28 23:08:24 +01:00
Restorer
86fcada95b translation(ru): adjust tutor/README.ru.utf-8.txt (#13789)
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-28 23:06:38 +01:00
Antonio Giovanni Colombo
7d0abf2cb6 translation(it): Update Italian translations
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 19:45:02 +01:00
Christian Brabandt
d1cea03646 runtime(elixir): missing undo_ftplugin for indentkeys
fixup after #13771

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 19:30:41 +01:00
Gary Johnson
9e6549d2fb patch 9.0.2188: cursor wrong after { in single line buffer
Problem:  cursor wrong after { in single line buffer
          (Edwin Chan)
Solution: do not place the cursor at the end for a single
          line buffer when moving backwards
          (Gary Johnson)

closes: #13780
closes: #13783

Signed-off-by: Gary Johnson <garyjohn@spocom.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 19:12:43 +01:00
zeertzjq
23627722d3 patch 9.0.2187: Visual not drawn with 'breakindent' when line doesn't fit
Problem:  Visual selection isn't drawn with 'breakindent' when the line
          doesn't fit in the window (Jaehwang Jung)
Solution: Adjust wlv->fromcol also for 'breakindent' (zeertzjq)

closes: #13767
closes: #13768

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 19:08:53 +01:00
errael
92feeaffc2 runtime(doc): add help tag multiple-constructors. (#13772)
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 19:07:09 +01:00
George Guimarães
7e27411007 runtime(elixir): fix indentation (#13771)
Signed-off-by: George Guimarães <george.guimaraes@gmail.com>
Signed-off-by: Mitchell Hanberg <mitch@mitchellhanberg.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 19:06:05 +01:00
KSR-Yasuda
a03647acc3 runtime(mermaid): Syntax fix (#13774)
* runtime(mermaid): Fix arrow syntax
* runtime(mermaid): Disable syntax for identifier to avoid false match
* runtime(mermaid): Add some C++ type syntax highlight
* runtime(mermaid): Update last change time in header

Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 19:02:35 +01:00
Saleem Abdulrasool
38bea30f53 patch 9.0.2186: LTCG compile error ARM64 for write_chars
Problem:  LTCG compile error on Win/ARM64 for `write_chars()`
Solution: Explicitly initialise the storage to use data rather than BSS
          (Saleem Abdulrasool)

win32: add a workaround for a LTCG issue on Windows ARM64

It appears that the implicit initialisation which would push `g_coords`
into BSS causes an aliasing issue with LTCG on ARM64.  By explicitly
initialising the value, we use usual data storage but prevent the
aliasing.  This allows the console version of VIM to run on Windows
ARM64 again.

fixes:  #13453
closes: #13775

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 18:57:12 +01:00
Christian Brabandt
65672ae118 runtime(doc): clarify behaviour of ]m and ]M motions
In particular remove the sentence, that a missing '{'
(for ]m) or '}' (for ]M) after the cursor is an error, since
currently this is not treated as an error.

fixes: #13777

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 18:55:53 +01:00
Evgeni Chasnovski
00b470052b runtime(diff): Update default links (#13776)
Problem: Current default links for `diffAdded`, `diffChanged`, and
              `diffRemoved` do not address the diff nature of the filetype.
Solution: Use `DiffAdd`, `DiffChange`, and `DiffDelete`.

closes: #13759

Signed-off-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 18:51:43 +01:00
Lifepillar
0bca4a0018 runtime(context): update ConTeXt keywords and other minor fixes (#13778)
Update to the ConTeXt runtime files. Changes:

1. shared syntax files updated with `mtxrun --script interface --vim`
   using the latest ConTeXt LMTX.

2. fixed reference to `make` tag in the help file.

3. added `keepend` to mitigate issues with embedded Lua syntax (see
   below).

4. the latest revision date of each ConTeXt runtime file has been
   updated to the date of this commit.

The issue about embedded Lua was reported by a user:

>Take the following valid ConTeXt file:

>   \starttext
>   \ctxlua{context("Text generated from Lua.")}
>   \ctxlua{context("Another text generated from Lua.")}
>   \stoptext

>On my Vim installation (including when I start Vim with `--clean`), the
>closing bracket and curly braces on line 2 are highlighted red and the
>syntax highlighting after that is off.

>I was trying to dig a little bit into what was going on, using the
>`synID()` and `synIDattr()` functions. It appears that the closing
>bracket on line 2 is matched as a `luaParentError` instead of the end
>of the `luaParen` region. Therefore, the `luaParen` region continues
>all the way to the end of the file. The closing curly brace on line
>2 is matched as a `luaError`, the 2nd `\ctxlua` on line 3 as
>`luaParen`, etc.

>This issue doesn't occur in a plain Lua file, where the closing bracket
>is correctly matched as the end of the `luaParen` region. So it seems
>that something goes wrong when the Lua syntax file is included in the
>ConTeXt one.

By adding `keepend`, the right parenthesis for some reason is still
highlighted as a `luaParenError`, but at least the right curly brace
should correctly end the Lua block.

From what I've seen, I think it is very difficult to embed Lua syntax
properly without help from the Lua syntax file (that is, without
patching it). It has global rules such as:

   syn match  luaParenError ")"
   syn match  luaError "}"

which make it difficult, if not impossible, to contain Lua syntax
without `keepend` (and its limitations).


Signed-off-by: Lifepillar <lifepillar@lifepillar.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-27 18:49:50 +01:00
errael
cea3dac76e runtime(doc): Add variable categories and null related documentation(#13750)
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-25 10:31:23 +01:00
Jakson Alves de Aquino
9042bd8b09 runtime(r): Update R runtime files and docs (#13757)
* Update R runtime files
- Fix indentation issue with ggplot().
- Setlocal autoindent in indent/r.vim.
- New syntax option: rmd_include_latex.
- Clear syn iskeyword to recognize _ as keyword.
- Document some options.
- remove the test has("patch-7.4.1142")
- Update changed date of doc files

Signed-off-by: Jakson Alves de Aquino <jalvesaq@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org
2023-12-25 10:22:27 +01:00
Anatolii Sakhnik
377372ed5b translation(ua): Update Ukrainian translation (#13760)
Signed-off-by: Anatolii Sakhnik <sakhnik@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-25 10:19:25 +01:00
Christian Brabandt
6b9492e299 patch 9.0.2185: Coverity complains about not checking return value
Problem:  Coverity complains about not checking return value
          in compare_isn_not_values (after 9.0.2184)
Solution: cast return value to "(void)" to make intention clear

closes: #13751

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-24 11:14:37 +01:00
Ernie Rael
4e28631f91 runtime(doc): Clarify that new() is not static
closes: #13756

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-24 11:03:31 +01:00
Yegappan Lakshmanan
49cdd629a3 runtime(doc): list of new/changed features in version9.txt
closes: #13753

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-24 11:03:06 +01:00
Ajit-Thakkar
ea9964a36f Runtime(fortran): updates to indent, syntax and ftplugin (#13752)
* runtime update fortran.vim

Add folding for newer features of Fortran

* Runtime Update fortran.vim

Add indent support for newer features of Fortran

* Runtime Update fortran.vim

Add newer features of Fortran to matchit patterns

Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-23 11:31:38 +01:00
James McCoy
ec97edcbb9 runtime(debcontrol): Add loong64 arch (#13754)
Co-authored-by: zhangjialing@loongson.cn <zhangjialing@loongson.cn>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-23 11:23:39 +01:00
errael
1d4fcfe551 runtime(doc): add some error codes to :help vim9class (#13747)
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 17:34:15 +01:00
Ernie Rael
e75fde6b04 patch 9.0.2184: Vim9: inconsistent :type/:class messages
Problem:  Vim9: inconsistent :type/:class messages
Solution: Update the Messages (Ernie Rael)

closes: #13706

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 17:18:54 +01:00
Csaba Hoch
18ab6c3392 runtime(erlang): add support for matchit plugin (#13713)
This commit updates the Erlang runtime files to be in sync with the
`vim-erlang-runtime` repository. In particular, it adds the following
commit (with some cleanup and simplification afterwards):
6ea8b85bc9

Signed-off-by: Csaba Hoch <csaba.hoch@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 17:16:28 +01:00
Wu Yongwei
3746887997 runtime(masm): add variants of opcodes (#13734)
that can actually be generated by compilers

Signed-off-by: Wu Yongwei <wuyongwei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 17:12:34 +01:00
Yegappan Lakshmanan
59df9ad68b runtime(doc): Include Vim9 class features in version9.txt
closes: #13735

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 17:09:15 +01:00
zeertzjq
fe583b1e59 patch 9.0.2183: Maximum callback depth is not configurable
Problem:  Maximum callback depth is not configurable.
Solution: Revert patch 9.0.2103.  Set 'maxfuncdepth' in test.
          (zeertzjq)

fixes: #13732
closes: #13736

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 17:03:31 +01:00
Ivan Pešić
632b38b45f translation(sr): Update Serbian messages translation (#13737)
Updated with newly added E1411

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 16:58:33 +01:00
Christian Brabandt
0630080bbd runtime(doc): reformat and align :h ft-c-syntax (#13738)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 16:57:09 +01:00
dkearns
21064ebcd6 runtime(vim): Update syntax file (#13739)
Match all ex commands after ":" and the "|" command separator.

Exceptions are not handled yet and :insert/:change/:append are still not
matched after the command separator bar.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 16:56:06 +01:00
Yegappan Lakshmanan
ff6f0d5c38 patch 9.0.2182: Vim9: need a way to reserve future extension
Problem:  Vim9: need a way to reserve future extension
Solution: reserve double underscore prefix for future use
          (Yegappan Lakshmanan)

related: #13238
closes: #13742

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 16:46:18 +01:00
Danek Duvall
cc944b1452 runtime(json5): Add TODO support to syntax script (#13743)
Signed-off-by: Danek Duvall <duvall@comfychair.org>
Signed-off-by: Mazunki Hoksaas <rolferen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-21 16:44:19 +01:00
Ernie Rael
5e13315778 patch 9.0.2181: Vim9: missing error messages
Problem:  Vim9: missing error messages
Solution: Add one more error message

closes: #13729

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 22:15:27 +01:00
Christian Brabandt
cb69dc3510 runtime(doc): update helptags
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 21:59:14 +01:00
Zoltan Arpadffy
6fdb628082 patch 9.0.2180: POSIX function name in exarg causes issues
Problem:  POSIX function name in exarg struct causes issues
          on OpenVMS
Solution: Rename getline member in exarg struct to ea_getline,
          remove isinf() workaround for VMS

There are compilers that do not treat well POSIX functions - like
getline - usage in the structs.

Older VMS compilers could digest this... but the newer OpenVMS compilers
( like VSI C x86-64 X7.4-843 (GEM 50XB9) ) cannot deal with these
structs. This could be limited to getline() that is defined via
getdelim() and might not affect all POSIX functions in general - but
avoiding POSIX function names usage in the structs is a "safe side"
practice without compromising the functionality or the code readability.

The previous OpenVMS X86 port used a workaround limiting the compiler
capabilities using __CRTL_VER_OVERRIDE=80400000
In order to make the OpenVMS port future proof, this pull request
proposes a possible solution.

closes: #13704

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:53:07 +01:00
Mazunki Hoksaas
63210c214a patch 9.0.2179: no filetype detection for execline scripts
Problem:  no filetype detection for execline scripts
Solution: Add filetype detection for execline

as a prior to adding syntax support for execline (see
https://github.com/djpohly/vim-execline/issues/2), i went ahead and made
the filetype detection for execline scripts.

closes: #13689

Signed-Off-By: Mazunki Hoksaas <rolferen@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:44:41 +01:00
zeertzjq
615202bd0e patch 9.0.2178: reg_executing() wrong for :normal with range
Problem:  reg_executing() returns wrong result in :normal with range
          when 'showcmd' is set (after 8.2.4705).
Solution: Reset "pending_end_reg_executing" when executing a register.

closes: #13707

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:35:40 +01:00
zeertzjq
ec14924368 patch 9.0.2177: Wrong cursor position when dragging out of window
Problem:  Wrong cursor position when dragging out of window.
Solution: Don't use ScreenCols[] when mouse is not in current window.

closes: #13717

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:28:31 +01:00
Ivan Pešić
f01bee1bc0 translation(sr): Update Serbian messages translation (#13719)
Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:24:30 +01:00
Christian Brabandt
fbd72d2d47 runtime(netrw): prevent E11 on FocusGained autocommand (#13718)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:22:18 +01:00
K.Takata
ef07a7651e translation(ja): Update Japanese translation (#13723)
ref: https://github.com/vim-jp/lang-ja/releases/tag/20231219

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:21:40 +01:00
ronaaron
379df7c1db runtime(8th): updated 8th syntax (#13720)
* updated 8th.vim
* removed obsolete code

Signed-off-by: Ron Aaron <ron@aaron-tech.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:20:14 +01:00
zeertzjq
3ffc5bc6b8 CI: change dependabot prefix to "CI" (#13724)
The default prefix of dependabot is "build(deps)".  Change it to "CI".

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:17:08 +01:00
K.Takata
955652f6df runtime(doc): Update change.txt (#13725)
Fix-up and clarify commit  e06f2b498c

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:15:47 +01:00
Ken Takata
18d0d29b42 patch 9.0.2175: Compile error with Motif UI + mouse support
Problem:  Compile error with Motif UI + mouse support (after v9.0.1262)
Solution: Use correct oldval option pointer

Fix compilation error introduced by 9.0.1262 and found in #13704.

closes: #13726

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:12:29 +01:00
Christian Brabandt
5872bcb6e8 runtime(doc): Create Changelog until v9.0.2175 (#13728)
Patch list created using:
```
git log --grep='^patch' --reverse --pretty='format:%D%gs%n%b' "v9.0.0000~1"..master  |sed -e '/^Signed-off-by:.*/d' -e '/^\(closes\|fixes\)/d' -e 's/^tag: v/Patch /'
```

and then post-processed using vim.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-19 20:10:43 +01:00
Antonio Giovanni Colombo
2afe381a35 translation(it): Update Italian translations
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-18 09:09:54 +01:00
Eric Pruitt
b42703a662 runtime(tmux): Update tmux syntax rules (#13708)
Signed-off-by: Eric Pruitt <eric.pruitt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-18 09:03:40 +01:00
Emir SARI
2f05ad162e translation(tr): Update Turkish translations (#13710)
Signed-off-by: Emir SARI <emir_sari@icloud.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-18 09:02:04 +01:00
Yegappan Lakshmanan
38ce1a7ac8 patch 9.0.2175: Compiler warning for uninitialized var
Problem:  Compiler warning for uninitialized var
Solution: initialize variable to NULL

closes: #13711

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-18 08:58:29 +01:00
Ajit-Thakkar
71cbe8e17a runtime(fortan): update fortran syntax rules and doc notes
Update to the Fortran 2023 standard. Reorganize some code to reflect the
dropping of dialect support in the previous commit. Minor improvements.

closes: #13712

Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-18 08:55:44 +01:00
Ernie Rael
b501108986 patch 9.0.2174: Vim9: segfault when assigning to type
Problem:  Vim9: segfault when assigning to type
Solution: do not clear typeval, add missing patch number

closes: #13714
closes: #13715

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-18 08:34:41 +01:00
dependabot[bot]
ec497574fc CI: bump github/codeql-action from 2 to 3 (#13716)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-18 07:30:50 +00:00
dundargoc
82f19734bf runtime(doc): remove deprecation warning for gdefault
Deprecated can be misunderstood as being slated for removal; slightly
change wording to be clearer.

Signed-off-by: dundargoc <gocdundar@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:56:06 +01:00
Yegappan Lakshmanan
062bb6b909 patch 9.0.2173: Vim9: crash when compiling for statement and non-existing type
Problem:  Vim9: Vim crashes when compiling a for statement with a
          non-existing type
Solution: Error out when  lhs_type is not null

closes: #13703

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:46:40 +01:00
Yegappan Lakshmanan
a185a31fc0 patch 9.0.2172: Vim9: compiling :defer may fail
Problem:  Vim9: compiling :defer may fail
Solution: compile defer, when ctx_skip is not SKIP_YES

compiling defer fails in an if statement with false condition,
so check the ctx_skip value when compiling :defer

fixes:  #13698
closes: #13702

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:36:08 +01:00
Kevin Scannell
535e8f5941 translation(ie): Updated Irish translation (#13699)
Signed-off-by: Kevin Scannell <kscanne@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:30:12 +01:00
Paulo Moura
0f61943eb7 runtime(logtalk): Update Logtalk runtime files for the latest language spec (#13697)
Signed-off-by: Paulo Moura <pmoura@logtalk.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:27:09 +01:00
D. Ben Knoble
5eb9cb53d6 runtime(racket): update Racket runtime files (#13693)
This brings the included Racket runtime files to commit 43bfc87 (update
headers, 2023-12-15) of https://github.com/benknoble/vim-racket. Note
that not all files from that repository are included. (In particular,
the ftdetect script is omitted for now.)

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:24:15 +01:00
Maxim Kim
0378f07fba runtime(colorschemes): Update colorschemes (#13691)
Minor changes:

- Regenerated using colortemplate 2.2.3
- Removed reversed gui-cursor for some of the colorschemes (retrobox, wildcharm, lunaperche)
- Change MatchParen for some of colorschemes.

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:22:44 +01:00
zeertzjq
ffba4e952b patch 9.0.2171: The options[] array is still not sorted alphabetically
Problem:  The options[] array is still not sorted alphabetically
          (after: v9.0.2154), causing test failures
Solution: Sort the remaining items

This causes an failure for the vim/vim-win32-installer builds, so make
sure it is completely sorted.

closes: #13690

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:14:36 +01:00
Yegappan Lakshmanan
e5437c5427 patch 9.0.2170: Vim9: no support for const/final class/objects vars
Problem:  Vim9: no support for const/final class/objects vars
Solution: Support final and const object and class variables

closes: #13655

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:11:19 +01:00
Ernie Rael
d8bf87c9fb patch 9.0.2169: Vim9: builtin funcs may accept a non-value
Problem:  Vim9: builtin funcs may accept a non-value
Solution: Restrict builtin functions that accept `type`

This PR finishes off detection and prevention of using a type as a
value. It takes care of builtin functions. However there are some
builtin functions, that need to be able to handle types as well as
non-args: instanceof(), type(), typename(), string().

A "bit", FE_X, is added to funcentry_T; when set, the builtin function
can handle a type (class or type-alias) in addition to a value.

Noteworthy change: Discovered that in compile_call() the builtin add()
is compiled inline instead of calling the builtin. Had to add a check
there.

closes: #13688

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 14:03:33 +01:00
Christian Brabandt
df12e39b8b patch 9.0.2168: Moving tabpages on :drop may cause an endless loop
Problem:  Moving tabpages on :drop may cause an endless loop
Solution: Disallow moving tabpages on :drop when cleaning up the arglist
          first

Moving tabpages during drop command may cause an endless loop

When executing a :tab drop command, Vim will close all windows not in
the argument list. This triggers various autocommands. If a user has
created an 'au Tabenter * :tabmove -' autocommand, this can cause Vim to
end up in an endless loop, when trying to iterate over all tabs (which
would trigger the tabmove autocommand, which will change the tpnext
pointer, etc).

So instead of blocking all autocommands before we actually try to edit
the given file, lets simply disallow to move tabpages around. Otherwise,
we may change the expected number of events triggered during a :drop
command, which users may rely on (there is actually a test, that expects
various TabLeave/TabEnter autocommands) and would therefore be a
backwards incompatible change.

Don't make this an error, as this could trigger several times during the
drop command, but silently ignore the :tabmove command in this case (and
it should in fact finally trigger successfully when loading the given
file in a new tab). So let's just be quiet here instead.

fixes:  #13676
closes: #13686

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-16 13:55:32 +01:00
Eisuke Kawashima
3afc9f2556 runtime(cmake): sync runtime files with upstream (#13597)
Signed-off-by: e-kwsm@users.noreply.github.com
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:38:29 +01:00
Dominique Pellé
17dca3cb97 runtime(doc): grammar & typo fixes
closes: #13654
2023-12-14 20:36:32 +01:00
iam28th
323dda1484 runtime(termdebug): add Tbreak command
closes: #13656

Signed-off-by: iam28th <artyom28th@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:33:43 +01:00
Doug Kearns
74da0ee0a2 patch 9.0.2167: Vim9: not consistently using :var for declarations
Problem:  Vim9-script object/class variable declarations use syntax
	  that is inconsistent with the rest of the language.
Solution: Use :var to declare object and class variables.

closes: #13670

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:26:26 +01:00
Zdenek Dohnal
549f8c0b4e patch 9.0.2166: Memory leak in Configure Script when checking GTK
Problem:  Memory leak in Configure Script when checking GTK
Solution: Free the allocated memory

If the memory is not freed, GTK GUI VIM cannot be build with address
sanitizer for debugging purposes - configure script will report missing
GTK, because the testing file compilation fails due reported memory
leak.

closes: #13672

Signed-off-by: Zdenek Dohnal <zdohnal@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:22:49 +01:00
Ernie Rael
a8f7f92b56 patch 9.0.2165: Vim9: can simplify arg type checking code
Problem:  Vim9: can simplify arg type checking code
Solution: In `f_argcheck` array use `arg_any`, instead of NULL

closes: #13674

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:19:54 +01:00
Ernie Rael
b077b58809 patch 9.0.2164: Vim9: can use type a func arg/return value
Problem:  Vim9: can use type a func arg/return value
Solution: Check if using type as function argument or return value

closes: #13675

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:14:13 +01:00
Christian Brabandt
9a775b4a2a runtime(netrw): escape curdir in BrowseUpDir (#13681)
fixes #13678

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:09:07 +01:00
Ernie Rael
fa831102c3 patch 9.0.2163: Vim9: type can be assigned to list/dict
Problem:  Vim9: type can be assigned to list/dict
Solution: Prevent assigning a `type` to a `list` or `dict`

closes: #13683

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:06:39 +01:00
Yegappan Lakshmanan
2a71b54d35 patch 9.0.2162: Vim9: type documentation out-dated
Problem:  Vim9: type documentation out-dated
Solution: Update documentation, fix typo in type alias
          definition

closes: #13684

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 20:03:03 +01:00
Yegappan Lakshmanan
d2e1c83962 patch 9.0.2161: Vim9: not able to use imported interfaces and classes
Problem:  Vim9: not able to use imported interfaces and classes
Solution: Detect imported class/interfaces names correclty

fixes:  #13661
closes: #13685

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 19:59:45 +01:00
K.Takata
7349c5160a CI: Fix i386 build (#13680)
Fix the following error:
```
The following packages have unmet dependencies:
 binutils : Conflicts: binutils:i386 but 2.38-4ubuntu2.4 is to be installed
 binutils:i386 : Conflicts: binutils but 2.38-4ubuntu2.3 is to be installed
 binutils-common : Breaks: binutils-common:i386 (!= 2.38-4ubuntu2.3) but 2.38-4ubuntu2.4 is to be installed
 binutils-common:i386 : Breaks: binutils-common (!= 2.38-4ubuntu2.4) but 2.38-4ubuntu2.3 is to be installed
 libbinutils : Breaks: libbinutils:i386 (!= 2.38-4ubuntu2.3) but 2.38-4ubuntu2.4 is to be installed
 libbinutils:i386 : Breaks: libbinutils (!= 2.38-4ubuntu2.4) but 2.38-4ubuntu2.3 is to be installed
 libctf0 : Breaks: libctf0:i386 (!= 2.38-4ubuntu2.3) but 2.38-4ubuntu2.4 is to be installed
 libctf0:i386 : Breaks: libctf0 (!= 2.38-4ubuntu2.4) but 2.38-4ubuntu2.3 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
```

Run `apt-get upgrade` before installing additional packages.

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-14 06:58:48 +00:00
K.Takata
a02fe3480f CI: Fix labeler.yml (#13677)
* CI: Fix labeler.yml

Use `any-glob-to-any-file` instead of `any-glob-to-all-files` in most
places.

* Adjust indentation
2023-12-13 18:45:57 +09:00
Philip H
1760331ae3 CI: label.yml: fixup for v5 (#13673)
* label.yml: sync-labels true

* fixup: remove unused lines

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: K.Takata <kentkt@csc.jp>
2023-12-13 16:50:35 +09:00
Ernie Rael
2025af165e patch 9.0.2160: instanceof() should use varargs as second arg
Problem:  instanceof() should use varargs as second arg
Solution: Modify `instanceof()` to use varargs instead of list

Modify `instanceof()` to use varargs instead of list
Valid `instanceof()` arguments are `type`s. A `type` is not a value;
it cannot be added to a list.

This change is non-compatible with the current usage of instanceof;
but instanceof is relatively new and it's a trivial change.

fixes: #13421
closes: #13644

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-12 16:58:00 +01:00
dependabot[bot]
c1c3b83816 CI: bump actions/labeler from 4 to 5 (#13658)
Bumps [actions/labeler](https://github.com/actions/labeler) from 4 to 5.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v4...v5)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-12 16:51:32 +01:00
dkearns
1c97b5c0c0 runtime(vim): Update syntax file, fix missing for highlight (#13668)
Fix highlighting of :for command.  Link the vimFor syntax group to the
vimCommand highlight group.

Error introduced in commit f686921

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-12 16:47:43 +01:00
zeertzjq
ec54af4e26 patch 9.0.2159: screenpos() may crash with neg. column
Problem:  screenpos() may crash with neg. column
Solution: validate and correct column

closes: #13669

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-12 16:43:44 +01:00
Philip H
a40e1687e7 CI: labeler.yml: update to v5 (#13664)
Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-11 18:35:52 +01:00
Christian Brabandt
0f28791b21 patch 9.0.2158: [security]: use-after-free in check_argument_type
Problem:  [security]: use-after-free in check_argument_type
Solution: Reset function type pointer when freeing the function type
          list

function pointer fp->uf_func_type may point to the same memory, that was
allocated for fp->uf_type_list. However, when cleaning up a function
definition (e.g. because it was invalid), fp->uf_type_list will be
freed, but fp->uf_func_type may still point to the same (now) invalid
memory address.

So when freeing the fp->uf_type_list, check if fp->func_type points to
any of those types and if it does, reset the fp->uf_func_type pointer to
the t_func_any (default) type pointer

closes: #13652

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-11 17:53:25 +01:00
Christian Brabandt
e4a450a87b patch 9.0.2157: Vim9: incorrectly parses :def func definitions
Problem:  Vim9: incorrectly parses :def func definitions
Solution: check for more context when parsing function args

Signed-off-by: Christian Brabandt <cb@256bit.org>
Incorrectly parses def function definitions

Vim currently allows to define the following vim9 function:
  def Func(f=
  )
  enddef

It currently thinks a Lambda is following the `=` but it doesn't check,
that there is actually an expression following. So when such a think is
encountered, remember that an expression should be following.

If no expression is coming in the next few lines, fail parsing the
function arguments, which will Vim no longer accept such a function.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-11 17:50:08 +01:00
Ernie Rael
9ed53752df patch 9.0.2156: Vim9: can use typealias in assignment
Problem:  Vim9: can use typealias in an assignment
Solution: Generate errors when class/typealias involved in the rhs of an
          assignment

closes: #13637

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Generate errors when class/typealias involved in assignment.
2023-12-11 17:40:46 +01:00
shane.xb.qian
fa920da283 runtime(filetype): ft detection maybe wrong if 'fic' set for *.[CH]
So only set the filetype to cpp for *.C and *.H files, if
'fileignorecase' option is not set.

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-11 17:34:36 +01:00
Christian Brabandt
1ec115c92c runtime(doc): re-generate helptags
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-11 17:32:09 +01:00
Karl Yngve Lervåg
5a68cdf149 runtime(sbt): do not set b:did_ftplugin before sourcing scala ftplugin(#13657)
The `b:did_ftplugin` guard was set and prevented us from actually sourcing `ftplugin/scala.vim`. Since the latter script also sets the guard properly, we can simply remove the guard here.

Signed-off-by: =?UTF-8?q?Karl=20Yngve=20Lerv=C3=A5g?= <karl.yngve+git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-11 17:17:20 +01:00
KSR-Yasuda
b52e7ac7c6 runtime(netrw): Fix w:netrw_bannercnt ref error with netrw_fastbrowse=2 (#13659)
* NetRW: Fix `w:netrw_bannercnt` ref error with `netrw_fastbrowse=2`
* NetRW: Fix wrong `w:netrw_bannercnt` setting

closes: #13640 

Signed-off-by: yasuda <yasuda@kyoto-sr.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-11 17:11:43 +01:00
Maxim Kim
34b9a15c37 runtime(json): fix examples in comments for JSON formatting (#13660)
Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-11 17:09:38 +01:00
Maxim Kim
ca7c9b1b59 runtime(json): Add json formating plugin (Issue #11426) (#11506)
related: #11426

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-10 15:57:41 +01:00
dkearns
f6869212c9 runtime(vim): Update syntax file (#13653)
Improve variable highlighting in :let, :unlet, :const and :for commands.

Match registers and local, global and terminal option variables.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-10 15:53:24 +01:00
zeertzjq
61e984e212 runtime(doc): link cmdline completion to to |wildcards| and fix typos (#13636)
The docs for cmdline completion doesn't mention that [abc] is considered
a wildcard, and |wildcards| contains more detailed information, so just
link to it.

Also fix some typos in other help files.

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-09 07:18:33 +00:00
K.Takata
c23fc36476 runtime(doc): Update eval.txt (#13645)
expr5 is also expr6 itself.

Signed-off-by:  K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-08 20:51:04 +00:00
Yegappan Lakshmanan
d33518522a patch 9.0.2155: Vim9: type not kept when assigning vars
Problem:  Vim9: type not kept when assigning vars
Solution: When assigning a List or a Dict value to a variable of type
          'any', keep the type

closes: #13639
closes: #13646

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-08 21:47:22 +01:00
zeertzjq
f48558e10a patch 9.0.2154: The option[] array is not sorted
Problem:  The options[] array is not sorted alphabetically.
Solution: Sort it alphabetically.  Add a test.  Avoid unnecessary loop
          iterations in findoption().

closes: #13648

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-08 21:36:55 +01:00
laburnumT
ff0baca865 runtime(syntax): unlet b:filetype_in_cpp_family for cpp & squirrel
Update runtime/syntax/cpp.vim and runtime/syntax/squirrel.vim to unlet
b:filetype_in_cpp_family as it remains set even after updating the ft of
a file manually or through a modeline, not allowing c specific keywords
to be highlighted.

Since the variable b:filetype_in_cpp_family is only used by the c.vim
syntax script, unlet it directly after sourcing the c.vim runtime file
instead of at the end of the script.

Also update the last Change Header for both files.

closes: #13650

Signed-off-by: laburnumT <laburnumtec@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-08 21:28:44 +01:00
Christian Brabandt
e06f2b498c runtime(doc): fix typo in change.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-08 21:22:38 +01:00
Ajit-Thakkar
6863084d3b runtime(fortran): update syntax and ftplugins
closes: #13629

Signed-off-by: Ajit-Thakkar <142174202+Ajit-Thakkar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 23:08:59 +01:00
dkearns
4e043b1fc7 runtime(vim): Update syntax file and syntax test (#13632)
Add missing assignment operators (:let*=, :let/= and :let%=).

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 22:58:40 +01:00
laburnumT
3f7855a612 runtime(doc): Sort options.txt alphabetically
Related to: vim/vim#13630

1. Sort section 3 (option-summary) of runtime/doc/options.txt in
   alphabetical order.
2. Remove double newlines in section 3 (option-summary).

I did not alphabetically sort ttimeout and ttimeoutlen because they seem
to belong with timeout and timeoutlen respectively, but I would like
some input on that decision.

Signed-off-by: laburnumT <laburnumtec@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 22:52:13 +01:00
Yegappan Lakshmanan
563e6440bf runtime(doc): update todo items (#13631)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 17:19:06 +01:00
Teppei Taguchi
0280c0b9af runtime(doc): sort option-list alphabetically (#13630)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 16:37:32 +01:00
Zoltan Arpadffy
1c8e233cb8 patch 9.0.2153: no support to build on OpenVMS
Problem:  no support to build on OpenVMS
Solution: Add OpenVMS X86_64 platform port

closes: #13623

Co-authored-by: errael <errael@raelity.com>
Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 16:04:23 +01:00
Yegappan Lakshmanan
668971958c patch 9.0.2152: Using type unknown for List/Dict containers
Problem:  Using type unknown for List/Dict containers
Solution: Use 'any' instead

fixes: #13582
closes: #13625

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 15:51:50 +01:00
zeertzjq
588f20dece patch 9.0.2151: 'breakindent' is not drawn after diff filler lines
Problem:  'breakindent' is not drawn after diff filler lines.
Solution: Correct check for whether 'breakindent' should be drawn.

closes: #13624

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 15:49:47 +01:00
Roy Orbitson
2103a56eab runtime(doc): remove non-existent parameter in shift-command (#13626)
The variant with the {count} parameter is explained in the next item.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 15:44:33 +01:00
Mike Williams
620f011694 patch 9.0.2150: Using int for errbuflen in option funcs
Problem:  Using int for errbuflen in option funcs
Solution: Use size_t for errbuflen in string option functions

Use size_t for errbuflen in string option functions

This started as size_t to int warning on Windows in
do_set_option_string().  Other option setting functions are using size_t
for errbuflen so I changed the type in the argument list and then chased
further compiler warnings into the string option functions in
optionstr.c changing ints to size_t as I went.

I also changed the type of os_errbuflen in optset_T to size_t and
updated related argument lists in optionstr.c, as well as updating
set_string_option() to also use size_t for errbuflen for consistency
with other string option setting functions.

closes: #13628

Signed-off-by: Mike Williams <mikew@globalgraphics.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-05 15:38:33 +01:00
Christian Brabandt
5dd41d4b63 patch 9.0.2149: [security]: use-after-free in exec_instructions()
Problem:  [security]: use-after-free in exec_instructions()
Solution: get tv pointer again

[security]: use-after-free in exec_instructions()

exec_instructions may access freed memory, if the GA_GROWS_FAILS()
re-allocates memory. When this happens, the typval tv may still point to
now already freed memory. So let's get that pointer again and compare it
with tv. If those two pointers differ, tv is now invalid and we have to
refresh the tv pointer.

closes: #13621

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-04 22:54:43 +01:00
Ronan Pigott
1e5d66408e patch 9.0.2148: Vim does not detect pacman.log file
Problem:  Vim does not detect pacman.log file
Solution: Detect pacmanlogs and add syntax highlighting

pacman.log is a filetype common to Arch Liux and related distributions.
Add some simple syntax highlighting for the pacmanlog filetype.

closes: #13618

Signed-off-by: Ronan Pigott <ronan@rjp.ie>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-04 20:46:15 +01:00
Christian Brabandt
ca2eca7c79 runtime(doc): reference 'go-!' inside os_win32.txt for !start
closes: #13583

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-04 20:41:47 +01:00
Yegappan Lakshmanan
3ee25965e4 patch 9.0.2147: Type check tests fail without the channel feature
Problem:  Type check tests fail without the channel feature
Solution: only run tests, when Vim was build with +channel

fixes: #13617
closes: #13619

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-04 20:31:14 +01:00
Christian Brabandt
0d0b3b1951 patch 9.0.2146: text-property without type errors when joining
Problem:  text-property without type errors when joining
Solution: count all text-properties, with or without type
          before joining lines

Error when joining lines with text properties without a proper type

When joining lines, we need to consider all text properties that are
attached to a line, even when those text properties are invalid and do
not have a type attached to them.

However, since patch v9.0.0993
(commit: 89469d157a)
those text properties won't be counted when joining lines and therefore
this will cause the adjustment for text properties on joining to go
wrong (and may later cause SIGABRT with an invalid free pointer)

I am not sure, why the condition to not count text properties with a
valid type was added in patch v9.0.993, because no test fails if those
condition is removed. So let's just remove this condition and add a test
that verifies, that we are able to join lines, even when the text
properties attached to it do not have a valid type.

fixes: #13609
closes: #13614

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-03 17:56:43 +01:00
zeertzjq
5b4d1fcbf0 patch 9.0.2145: wrong scrolling in insert mode with smoothscroll
Problem:  Wrong scrolling in Insert mode with 'smoothscroll' at the
          bottom of the window.
Solution: Don't use set_topline() when 'smoothscroll' is set.

fixes: #13612
closes: #13613

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-03 17:54:10 +01:00
zeertzjq
4e26a9aab6 patch 9.0.2144: Text properties causes wrong line wrapping
Problem:  Text properties causes wrong line wrapping to be drawn.
Solution: Find the index of the last text property that inserts text.

closes: #13611

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-03 17:50:47 +01:00
Christian Brabandt
c089c3816b CI: disable the test_terminal_resize2() test for GH CI in gui mode (#13615)
becaues it tends to time-out CI for unknown reasons.

related: #13566

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-03 17:48:29 +01:00
Christian Brabandt
abfa13ebe9 patch 9.0.2143: [security]: buffer-overflow in ex_substitute
Problem:  [security]: buffer-overflow in ex_substitute
Solution: clear memory after allocating

When allocating the new_start pointer in ex_substitute() the memory
pointer points to some garbage that the following for loop in
ex_cmds.c:4743 confuses and causes it to accessing the new_start pointer
beyond it's size, leading to a buffer-overlow.

So fix this by using alloc_clear() instead of alloc(), which will
clear the memory by NUL and therefore cause the loop to terminate
correctly.

Reported by @henices, thanks!

closes: #13596
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01 18:58:51 +01:00
Christian Brabandt
b39b240c38 patch 9.0.2142: [security]: stack-buffer-overflow in option callback functions
Problem:  [security]: stack-buffer-overflow in option callback functions
Solution: pass size of errbuf down the call stack, use snprintf()
          instead of sprintf()

We pass the error buffer down to the option callback functions, but in
some parts of the code, we simply use sprintf(buf) to write into the error
buffer, which can overflow.

So let's pass down the length of the error buffer and use sprintf(buf, size)
instead.

Reported by @henices, thanks!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01 18:58:51 +01:00
Christian Brabandt
0fb375aae6 patch 9.0.2141: [security]: buffer-overflow in suggest_trie_walk
Problem:  [security]: buffer-overflow in suggest_trie_walk
Solution: Check n before using it as index into byts array

Basically, n as an index into the byts array, can point to beyond the byts
array. So let's double check, that n is within the expected range after
incrementing it from sp->ts_curi and bail out if it would be invalid.

Reported by @henices, thanks!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01 18:58:50 +01:00
Christian Brabandt
eec0c2b3a4 patch 9.0.2140: [security]: use-after-free in win-enter
Problem:  [security]: use-after-free in win-enter
Solution: validate window pointer before calling win_enter()

win_goto() may stop visual mode, if it is active. However, this may in
turn trigger the ModeChanged autocommand, which could potentially free
the wp pointer which was valid before now became stale and points to now
freed memory.

So before calling win_enter(), let's verify one more time, that the
wp pointer still points to a valid window structure.

Reported by @henices, thanks!

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01 18:58:50 +01:00
Peter Simonyi
9cc95aa0d8 CI: check that all files are listed in Filelist (#13601)
Sometimes patches add files that should be included in tarballs for
distribution, but are not added to Filelist (used by Makefile to build
the tar archive).  This can break the build, or it can be silently
ignored as runtime files are simply not included in the distribution.

Add a CI check to ensure all files tracked in the repository are
assigned to a variable in Filelist.  A few files were not listed because
they do not need to be included in builds and tarballs, so add an IGNORE
variable for these exceptions.

Co-authored-by: Peter Simonyi <pts@petersimonyi.ca>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01 18:07:42 +01:00
Christian Brabandt
4f3480c943 patch 9.0.2139: html.angular ft is problematic
Problem:  html.angular ft is problematic
Solution: partly revert v9.0.2137

The html.angular filetype causes issues and does not trigger FileType
autocommands for the html or angular filetypes.

So let's roll back that particular change and detect this only as html
file

related: https://github.com/vim/vim/pull/13594#issuecomment-1834465890

closes: #13604

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01 18:01:17 +01:00
Christian Brabandt
926c3f45a2 CI: disable the test_terminal_resize() test for GH CI in GUI (#13603)
fixes: #13566

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-12-01 17:59:32 +01:00
Ernie Rael
fda700cb04 patch 9.0.2138: Overflow logic requires long long
Problem:  Overflow logic requires long long
Solution: Define vimlong_T data type to make life easier
          for porters

closes: #13598

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-30 18:20:00 +01:00
Peter Simonyi
72314bb85f runtime(Filelist): include several missing files (#13600)
These files were discovered to be missing from Filelist, and thus
distribution tarballs:
- editorconfig plugin
- extra files for Rust support
- readme for Haiku OS builds

Co-authored-by: Peter Simonyi <pts@petersimonyi.ca>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-30 17:46:55 +01:00
ObserverOfTime
7bed263c34 patch 9.0.2137: Can't detect angular & mustache filetypes
Problem:  Can't detect angular & mustache filetypes
Solution: Detect *.mustache as Mustache filetype;
          detect *.component.html as html.angular filetype

closes: #13594

Signed-off-by: ObserverOfTime <chronobserver@disroot.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-30 17:41:19 +01:00
Christian Brabandt
110dd905dd runtime(syntax-test): ci fails, disable html test for now
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-30 17:33:32 +01:00
Shawn Hatori
8ceb99001b patch 9.0.2136: MSVC errorformat can be improved
Problem:  MSVC errorformat can be improved
Solution: parse error type and column number in MSVC errorformat

closes: #13587

Signed-off-by: Shawn Hatori <shawn.hatori@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-28 20:51:07 +01:00
zeertzjq
fcaeb3d42b patch 9.0.2135: No test for mode() when executing Ex commands
Problem:  No test for mode() when executing Ex commands
Solution: Add some test cases and simplify several other test cases.
          Also add a few more test cases for ModeChanged.

closes: #13588

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-28 20:46:29 +01:00
K.Takata
ffd6d31cb2 runtime(lang): Revise Makefile (#13589)
* Revise runtime/lang/Makefile
* Use predefined variables (`$@`, `$<`) instead of the actual file names.
  (Adding new rules should become easier.)
* Adjust spacing.
* Regenerate converted menu files

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-28 20:44:28 +01:00
dkearns
a9058440b7 runtime(html): Update syntax file (#13591)
Add missing search element and update ARIA attribute list.

Add a very basic test file to check all elements are matched.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-28 20:41:41 +01:00
Christian Brabandt
c4ffeddfe5 patch 9.0.2134: ml_get error when scrolling
Problem:  ml_get error when scrolling after delete
Solution: mark topline to be validated in main_loop
          if it is larger than current buffers line
          count

reset_lnums() is called after e.g. TextChanged autocommands and it may
accidentally cause curwin->w_topline to become invalid, e.g. if the
autocommand has deleted some lines.

So verify that curwin->w_topline points to a valid line and if not, mark
the window to have w_topline recalculated in main_loop() in
update_topline() after reset_lnums() returns.

fixes: #13568
fixes: #13578

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-27 23:25:03 +01:00
Sam-programs
d1c3ef1f47 patch 9.0.2133: Cannot detect overstrike mode in Cmdline mode
Problem:  Cannot detect overstrike mode in Cmdline mode
Solution: Make mode() return "cr" for overstrike

closes: #13569

Signed-off-by: Sam-programs <None>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-27 22:22:51 +01:00
Christian Brabandt
5c23343770 patch 9.0.2132: Duplicate Netbeans Error Message
Problem:  Duplicate Netbeans Error Message
Solution: Remove duplicate message

We have 2 error Messages used for the Netbeans interface:

- EXTERN char e_invalid_buffer_identifier_in_close[]
  INIT(= N_("E648: Invalid buffer identifier in close"));
- EXTERN char e_invalid_buffer_identifier_in_close_2[]
  INIT(= N_("E649: Invalid buffer identifier in close"));

Since the error message is exactly the same, get rid of the  second
message.

closes: #13584

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-27 20:04:24 +01:00
Daniel Buch Hansen
b9efc72c24 patch 9.0.2131: not all nushell files detected
Problem:  not all nushell files detected
Solution: use *.nu to detect nushell files

closes: #13586

Signed-off-by: Daniel Buch Hansen <boogiewasthere@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-27 20:00:56 +01:00
Christian Brabandt
c6754de5dd translation(de): Updated German translations (#13585)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-27 19:59:15 +01:00
Chris Aumann
cf40409e7d runtime(nginx): add additional nginx keywords (#13581)
* Add support for missing keywords to the nginx syntax plugin

This adds support for several keywords from
- the built-in HTTP/2 module,
- the built-in SSL module,
- the built-in uWSGI module,
- the experimental QUIC branch,
- the third-party SSL CT module,
- the third-party dynamic TLS records patch.

Co-Author: ObserverOfTime <chronobserver@disroot.org>

* Add missing http2/ http3 keywords to nginx plugin

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-26 15:06:27 +01:00
Restorer
64c6bfd8ee runtime(tutor): add Make_mvc.mak file for tutor (#13580)
* Added Make_mvc.mak file for tutor

* updated Filelist

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-26 15:01:56 +01:00
Restorer
2bad26fe2c translation(ru): updated Russian translations for tutorials (#13579)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-26 10:14:11 +01:00
Antonio Giovanni Colombo
4e7727dd88 translation(it): updated Italian translation
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-26 10:11:54 +01:00
Ken Takata
075ad70474 patch 9.0.2130: some errors with translation Makefiles
Problem:  some errors with translation Makefiles
Solution: fix issues

Update src/po/ makefiles after 9.0.2127

* Change how to check `%LANGUAGE%`.
  Check it only when needed.
* Add double quotes to where `GETTEXT_PATH` is used.
  Before 9.0.2127, this worked: `nmake -f Make_mvc.mak GETTEXT_PATH="\"C:\Program Files\Git\usr\bin\""` (which was a bit tricky.)
  9.0.2127 broke this and syntax error occurred.
  This doesn't work either in 9.0.2127: `nmake -f Make_mvc.mak GETTEXT_PATH="C:\Program Files\Git\usr\bin"`
  With this Commit, this works: `nmake -f Make_mvc.mak GETTEXT_PATH="C:\Program Files\Git\usr\bin"`
* Better error report for the `check` target.
  Show the line number of the error. (Imported from vim-jp/lang-ja.)

closes: #13567

Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-25 15:51:00 +01:00
mityu
a555069b7d patch 9.0.2129: [security]: use-after-free in call_dfunc()
Problem:  [security]: use-after-free in call_dfunc()
Solution: Refresh dfunc pointer

closes: #13571

This Commit fixes a SEGV caused by a use-after-free bug in call_dfunc().
When calling check_ufunc_arg_types() from the call_dfunc() it may cause
def functions to be re-compiled and if there are too many def functions,
the def_functions array will be re-allocated.  Which means, that the
dfunc pointer in call_dfunc() now starts pointing to freed memory.

So we need to reset the dfunc pointer after calling
check_ufunc_arg_types().

Let's also add a test, to ensure we do not regress.

Signed-off-by: mityu <mityu.mail@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-25 15:41:20 +01:00
Restorer
8c14e79737 runtime(doc): Update doc Makefiles with comments from #13567 (#13577)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-25 15:39:51 +01:00
Jōshin
813a538bb3 runtime(tsx): add indentation plugin (fixes #13574) (#13576)
for now, let's just use the typescript indent file.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-25 15:38:09 +01:00
Julien Marrec
2e31065a65 patch 9.0.2128: runtime(swig): add syntax and filetype plugins
Add syntax and filetype plugins for SWIG (Simplified Wrapper Interface
Generator) description files.

The default syntax for .i files highlights comments in a reverse
color scheme which doesn't look well.  This syntax builds
on vim's c++ syntax by adding highlighting for common swig
directives and user defined directives.  For an alternative
syntax, see vimscript #1247 (which I found after writing this).

closes: #13562

Co-authored-by: Matěj Cepl <mcepl@cepl.eu>
Co-authored-by: Julien Marrec <julien.marrec@gmail.com>
Signed-off-by: Julien Marrec <julien.marrec@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-25 15:30:46 +01:00
RestorerZ
e214692718 patch 9.0.2127: translation Makefiles can be improved
Problem:  translation Makefiles can be improved
Solution: Modified and extended po-related Makefiles and
          related files

closes: #13518

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-23 20:58:32 +01:00
zeertzjq
00624a2fa0 patch 9.0.2126: unused assignments when checking 'listchars'
Problem:  Unused assignments when checking the value of 'listchars'.
Solution: Loop only once when just checking the value.  Add a test to
          check that this change doesn't cause double-free.

closes: #13559

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-23 20:47:16 +01:00
zeertzjq
40ed6711bd patch 9.0.2125: File info disappears when 'cmdheight' has decreased
Problem:  File info disappears immediately when 'cmdheight' has just
          decreased due to switching tabpage and 'shortmess' doesn't
          contain 'o' or 'O'.
Solution: Make sure msg_row isn't smaller than cmdline_row.

fixes: #13560
closes: #13561

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-23 20:37:01 +01:00
Ernie Rael
2b0882fa65 patch 9.0.2124: INT overflow detection logic can be simplified
Problem:  INT overflow logic can be simplified
Solution: introduce trim_to_int() function

closes: #13556

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-23 20:33:05 +01:00
Christian Brabandt
df63da98d8 patch 9.0.2123: Problem with initializing the length of range() lists
Problem:  Problem with initializing the length of range() lists
Solution: Set length explicitly when it shouldn't contain any items

range() may cause a wrong calculation of list length, which may later
then cause a segfault in list_find().  This is usually not a problem,
because range_list_materialize() calculates the length, when it
materializes the list.

In addition, in list_find() when the length of the range was wrongly
initialized, it may seem to be valid, so the check for list index
out-of-bounds will not be true, because it is called before the list is
actually materialized. And so we may eventually try to access a null
pointer, causing a segfault.

So this patch does 3 things:

- In f_range(), when we know that the list should be empty, explicitly
  set the list->lv_len value to zero. This should happen, when
  start is larger than end (in case the stride is positive) or
  end is larger than start when the stride is negative.
  This should fix the underlying issue properly. However,

- as a safety measure, let's check that the requested index is not
  out of range one more time, after the list has been materialized
  and return NULL in case it suddenly is.

- add a few more tests to verify the behaviour.

fixes: #13557
closes: #13563

Co-authored-by: Tim Pope <tpope@github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-23 20:14:28 +01:00
Christian Brabandt
3770574e4a patch 9.0.2122: [security]: prevent overflow in indenting
Problem:  [security]: prevent overflow in indenting
Solution: use long long and remove cast to (int)

The shiftwidth option values are defined as being long. However, when
calculating the actual amount of indent, we cast down to (int), which
may cause the shiftwidth value to become negative and later it may even
cause Vim to try to allocate a huge amount of memory.

We already use long and long long variable types to calculate the indent
(and detect possible overflows), so the cast to (int) seems superfluous
and can be safely removed. So let's just remove the (int) cast and
calculate the indent using longs.

Additionally, the 'shiftwidth' option value is also used when determining
the actual 'cino' options. There it can again cause another overflow, so
make sure it is safe in parse_cino() as well.

fixes: #13554
closes: #13555

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-22 22:18:35 +01:00
Christian Brabandt
26c11c5688 patch 9.0.2121: [security]: use-after-free in ex_substitute
Problem:  [security]: use-after-free in ex_substitute
Solution: always allocate memory

closes: #13552

A recursive :substitute command could cause a heap-use-after free in Vim
(CVE-2023-48706).

The whole reproducible test is a bit tricky, I can only reproduce this
reliably when no previous substitution command has been used yet
(which is the reason, the test needs to run as first one in the
test_substitute.vim file) and as a combination of the `:~` command
together with a :s command that contains the special substitution atom `~\=`
which will make use of a sub-replace special atom and calls a vim script
function.

There was a comment in the existing :s code, that already makes the
`sub` variable allocate memory so that a recursive :s call won't be able
to cause any issues here, so this was known as a potential problem
already.  But for the current test-case that one does not work, because
the substitution does not start with `\=` but with `~\=` (and since
there does not yet exist a previous substitution atom, Vim will simply
increment the `sub` pointer (which then was not allocated dynamically)
and later one happily use a sub-replace special expression (which could
then free the `sub` var).

The following commit fixes this, by making the sub var always using
allocated memory, which also means we need to free the pointer whenever
we leave the function. Since sub is now always an allocated variable,
we also do no longer need the sub_copy variable anymore, since this one
was used to indicated when sub pointed to allocated memory (and had
therefore to be freed on exit) and when not.

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-c8qm-x72m-q53q

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-22 21:52:45 +01:00
K.Takata
8750e3cf81 runtime(netrw): Fix handling of very long filename on longlist style (#12150)
If there is a file with a very long filename (longer than
g:netrw_maxfilenamelen), and if g:netrw_liststyle is set to 1, no space
is inserted between the filename and the filesize and the file cannot be
opened because of this.

E.g.:
```
$ echo hello > 12345678901234567890123456789012	  # 32 bytes: OK
$ echo hello > 123456789012345678901234567890123  # 33 bytes: not OK
$ echo hello > 1234567890123456789012345678901234 # 34 bytes: not OK
$ echo hello > こんにちは                         # multibyte filename
$ LC_ALL=C.UTF-8 vim . --clean --cmd "set loadplugins" --cmd "let g:netrw_liststyle=1"
```

Then, it will be shown like this:
```
" ============================================================================
" Netrw Directory Listing                                        (netrw v171)
"   /cygdrive/c/work/netrw-test
"   Sorted by      name
"   Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:special
" ==============================================================================
../                              0 Mon Mar 13 19:25:16 2023
./                               0 Mon Mar 13 19:44:58 2023
12345678901234567890123456789012 6 Mon Mar 13 19:29:43 2023
12345678901234567890123456789012346 Mon Mar 13 19:32:40 2023
1234567890123456789012345678901236 Mon Mar 13 19:29:49 2023
こんにちは                  6 Mon Mar 13 19:30:41 2023
```

If the length of the filename is 32 bytes, there is a space between the
filename and the filesize. However, when it is longer than 32 bytes, no
space is shown.

Also, you may find that the filesize of the multibyte named file is not
aligned.

After this patch is applied, the filelist will be shown like this:
```
" ============================================================================
" Netrw Directory Listing                                        (netrw v171)
"   /cygdrive/c/work/netrw-test
"   Sorted by      name
"   Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:special
" ==============================================================================
../                                             0 Mon Mar 13 20:49:22 2023
./                                              0 Mon Mar 13 21:12:14 2023
1234567890123456789012345678901             10000 Mon Mar 13 20:57:55 2023
12345678901234567890123456789012                6 Mon Mar 13 19:29:43 2023
123456789012345678901234567890123               6 Mon Mar 13 19:29:49 2023
1234567890123456789012345678901234              6 Mon Mar 13 19:32:40 2023
1234567890123456789012345678901234567       10000 Mon Mar 13 21:03:23 2023
1234567890123456789012345678901234567890    10000 Mon Mar 13 21:03:36 2023
123456789012345678901234567890123456789012  10000 Mon Mar 13 21:03:59 2023
1234567890123456789012345678901234567890123  10000 Mon Mar 13 21:03:45 2023
1234567890123456789012345678901234567890123456  5 Mon Mar 13 21:08:15 2023
12345678901234567890123456789012345678901234567  10 Mon Mar 13 21:05:21 2023
こんにちは                                      6 Mon Mar 13 19:30:41 2023
```

Now we have 32 + 2 + 15 = 49 characters for filename and filesize.
It tries to align the filesize as much as possible.
The last line that has multibyte filename is also aligned.

Also fixed the issue that the file list is not shown correctly when
g:netrw_sort_by is set to 'size' and g:netrw_sizestyle is set to 'h' or
'H'.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-22 10:20:01 +01:00
Christian Brabandt
4e5c3cf07b patch 9.0.2120: un-used assignment in do_source_buffer_init
Problem:  un-used assignment in do_source_buffer_init
Solution: Remove it

Coverity warns about assigning NULL to line in scriptfile.c:1408,
because right after that assignment, in the next iteration of the loop,
line will be overwritten by the next value from vim_strsave().

And in case this was the last iteration, the line variable is no longer
used until the function returns. So we can safely remove that assignment.

closes: #13547

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21 19:59:54 +01:00
Christian Brabandt
6b36645f07 patch 9.0.2119: remove dead-condition in ex_class
Problem:  remove dead-condition in ex_class()
Solution: remove the extra condition

The variable is_class must be true once we reach the

,----
| else if (has_static)
`----

in line 1750, because we break out earlier if is_class is false in line
1598 of vim9class.c. And once 'has_static = TRUE', we must be in a
class and there fore is_class is true.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21 19:57:05 +01:00
Christian Brabandt
a5218a7330 patch 9.0.2118: [security]: avoid double-free in get_style_font_variants
Problem:  [security]: avoid double-free
Solution: Only fee plain_font, when it is not the same as bold_font

When plain_font == bold_font and bold_font is not NULL, we may end up
trying to free bold_font again, which already has been freed a few lines
above.

So only free bold_font, when the condition gui.font_can_bold is true,
which means that bold_font is not pointing to plain_font (so it needs to
be freed separately).

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21 19:54:12 +01:00
Christian Brabandt
567cae2630 patch 9.0.2117: [security] use-after-free in qf_free_items
Problem:  [security] use-after-free in qf_free_items
Solution: only access qfpnext, if it hasn't been freed

Coverity discovered a possible use-after-free in qf_free_items. When
freeing the qfline items, we may access freed memory, when qfp ==
qfpnext.

So only access qfpnext, when it hasn't been freed.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21 19:52:12 +01:00
Christian Brabandt
cb0c113ddc runtime(netrw): expand $COMSPEC without applying 'wildignore' (#13542)
When expanding $COMSPEC and a user has set :set wildignore=*.exe
netrw won't be able to properly cmd.exe, because it does not ignore the
wildignore setting.

So let's explicitly use expand() without applying the 'wildignore' and
'suffixes' settings to the result

closes: #13426

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21 19:48:16 +01:00
dkearns
69866449dd runtime(vim): Improve keymap file highlighting (#13550)
- Match :loadkeymap to EOF as a region and contain only allowed items.
- Add highlighting for <Char- notation.
- add basic syntax highlighting tests

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21 19:43:40 +01:00
zdohnal
d2c977bb7c runtime(Filelist): include new doc-Makefiles (#13551)
Tags for help files disappeared with the latest Vim update in Fedora,
which is caused by silent error (it didn't stop the build) about missing
file. I use 'make unixall' in Fedora to get the latest patchlevels and
the new files were missing from Filelist file which is used for
generating the tarball.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21 19:42:56 +01:00
h_east
596a9f29c8 runtime(doc): Fix whitespace and formatting of some help files (#13549)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-21 12:24:23 +00:00
njohnston
aabca259fa runtime(doc): minor typo fixes (#13548)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-20 00:18:57 +01:00
Luuk van Baal
e670d17342 patch 9.0.2116: No test for defining sign without attribute
Problem:  No test for defining sign without attribute
Solution: Add test for defining sign without attributes

closes: #13544

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-19 10:57:02 +01:00
Christian Brabandt
6701abfb52 patch 9.0.2115: crash when callback function aborts because of recursiveness
Problem:  crash when callback function aborts because of recursiveness
Solution: correctly initialize rettv

Initialize rettv in invoke_popup_callback()

Since v9.0.2030, call_callback may exit early when the callback recurses
too much.  This meant that call_func, which would set rettv->v_type =
VAR_UNKNOWN, was not being called.

Without rettv->v_type being explicitly set, it still contained whatever
garbage was used to initialize the stack value in invoke_popup_callback.
This would lead to possible crashes when calling clear_tv(&rettv).

Rather than rely on action at a distance, explicitly initialize rettv's
type to VAR_UNKNOWN so clear_tv can tell nothing needs to be done.

closes: #13495
closes: #13545
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-19 10:52:50 +01:00
Christian Brabandt
22cbc8a4e1 patch 9.0.2114: overflow detection not accurate when adding digits
Problem:  overflow detection not accurate when adding digits
Solution: Use a helper function

Use a helper function to better detect overflows before adding integer
digits to a long or an integer variable respectively. Signal the
overflow to the caller function.

closes: #13539

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Michael Henry <vim@drmikehenry.com>
Signed-off-by: Ernie Rael <errael@raelity.com>
2023-11-19 10:47:21 +01:00
Christian Brabandt
22a97fc241 patch 9.0.2113: Coverity warns for another overflow in shift_line()
Problem:  Coverity warns for another overflow in shift_line()
Solution: Test for INT_MAX after the if condition, cast integer values
          to (long long) before multiplying.

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Michael Henry <vim@drmikehenry.com>
Signed-off-by: Ernie Rael <errael@raelity.com>
2023-11-19 10:45:24 +01:00
Restorer
ab4f27e2a8 runtime(doc): Refactor doc-Makefiles (#13519)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-18 17:12:20 +01:00
Christian Brabandt
6ffe084e6e runtime(doc): document proper notation of gVim, document vim-security list
Also, while at it, document the vim-security mailing list.

closes: #13429

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-18 10:13:13 +01:00
Ivan Pešić
cc6be3e755 translation(sr): Update Serbian messages translation (#13538)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-17 12:54:10 +01:00
Christian Brabandt
6bf131888a patch 9.0.2112: [security]: overflow in shift_line
Problem:  [security]: overflow in shift_line
Solution: allow a max indent of INT_MAX

[security]: overflow in shift_line

When shifting lines in operator pending mode and using a very large
value, we may overflow the size of integer. Fix this by using a long
variable, testing if the result would be larger than INT_MAX and if so,
indent by INT_MAX value.

Special case: We cannot use long here, since on 32bit architectures (or
on Windows?), it typically cannot take larger values than a plain int,
so we have to use long long count, decide whether the resulting
multiplication of the shiftwidth value * amount is larger than INT_MAX
and if so, we will store INT_MAX as possible larges value in the long
long count variable.

Then we can safely cast it back to int when calling the functions to set
the indent (set_indent() or change_indent()). So this should be safe.

Add a test that when using a huge value in operator pending mode for
shifting, we will shift by INT_MAX

closes: #13535

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16 22:04:38 +01:00
Christian Brabandt
73b2d3790c patch 9.0.2111: [security]: overflow in get_number
Problem:  [security]: overflow in get_number
Solution: Return 0 when the count gets too large

[security]: overflow in get_number

When using the z= command, we may overflow the count with values larger
than MAX_INT. So verify that we do not overflow and in case when an
overflow is detected, simply return 0

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16 22:04:38 +01:00
Christian Brabandt
060623e4a3 patch 9.0.2110: [security]: overflow in ex address parsing
Problem:  [security]: overflow in ex address parsing
Solution: Verify that lnum is positive, before substracting from
          LONG_MAX

[security]: overflow in ex address parsing

When parsing relative ex addresses one may unintentionally cause an
overflow (because LONG_MAX - lnum will overflow for negative addresses).

So verify that lnum is actually positive before doing the overflow
check.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16 22:04:38 +01:00
Christian Brabandt
58f9befca1 patch 9.0.2109: [security]: overflow in nv_z_get_count
Problem:  [security]: overflow in nv_z_get_count
Solution: break out, if count is too large

When getting the count for a normal z command, it may overflow for large
counts given. So verify, that we can safely store the result in a long.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16 22:04:37 +01:00
Christian Brabandt
ac63787734 patch 9.0.2108: [security]: overflow with count for :s command
Problem:  [security]: overflow with count for :s command
Solution: Abort the :s command if the count is too large

If the count after the :s command is larger than what fits into a
(signed) long variable, abort with e_value_too_large.

Adds a test with INT_MAX as count and verify it correctly fails.

It seems the return value on Windows using mingw compiler wraps around,
so the initial test using :s/./b/9999999999999999999999999990 doesn't
fail there, since the count is wrapping around several times and finally
is no longer larger than 2147483647. So let's just use 2147483647 in the
test, which hopefully will always cause a failure

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16 22:04:37 +01:00
Christian Brabandt
cb0b99f067 patch 9.0.2107: [security]: FPE in adjust_plines_for_skipcol
Problem:  [security]: FPE in adjust_plines_for_skipcol
Solution: don't divide by zero, return zero

Prevent a floating point exception when calculating w_skipcol (which can
happen with a small window when the number option is set and cpo+=n).

Add a test to verify

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16 22:04:37 +01:00
Christian Brabandt
25aabc2b8e patch 9.0.2106: [security]: Use-after-free in win_close()
Problem:  [security]: Use-after-free in win_close()
Solution: Check window is valid, before accessing it

If the current window structure is no longer valid (because a previous
autocommand has already freed this window), fail and return before
attempting to set win->w_closing variable.

Add a test to trigger ASAN in CI

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-16 22:04:00 +01:00
Christian Brabandt
67abf1592c runtime(tar): comment out strange error condition check
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-14 17:17:12 +01:00
Luuk van Baal
bb800a7907 patch 9.0.2105: skipcol not reset when topline changed
Problem:  Skipcol is not reset when topline changed scrolling cursor to top
Solution: reset skipcol

closes: #13528
closes: #13532

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-14 17:05:18 +01:00
rhysd
bc8f79d36a patch 9.0.2104: wast filetype should be replaced by wat filetype
Problem:  wast filetype should be replaced by wat filetype
Solution: start using the official wat filetype name

runtime: rename `wast` filetype to `wat` (Wasm text format)

The problem is the name of the current filetype wast. When the plugin
was initially created, the file extension for Wasm text format was not
fixed and .wast was more popular.

However, recently .wat became the official file extension for
WebAssembly text (WAT) format and .wast is now a file extension for the
unofficial WAST format, which is a superset of .wat for the convenience
to describe the Wasm specification conformance tests.

https://webassembly.js.org/docs/contrib-wat-vs-wast.html

However for now, let's keep using the `wat` filetype even for the .wast
extension, so that we at least do not lose the filetype settings and
syntax highlighting. This can be adjusted later, if it turns out to have
a separate need for.

closes: #13533

Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-14 16:46:07 +01:00
Christian Brabandt
30c762d99a runtime(doc): fix typo in pi_gzip.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-14 16:44:37 +01:00
Christian Brabandt
2076463e38 patch 9.0.2103: recursive callback may cause issues on some archs
Problem:  recursive callback may cause issues on some archs
Solution: Decrease the limit drastically to 20

Recursive callback limit causes problems on some architectures

Since commit 47510f3d65 we have a test
that causes a recursive popup callback function to be executed. However
it seems the current limit of 'maxfuncdepth' option value is still too
recursive for some 32bit architectures (e.g. 32bit ARM).

So instead of allowing a default limit of 100 (default value for
'maxfuncdepth'), let's reduce this limit to 20. I don't think there is a
use case where one would need such a high recursive callback limit and a
limit of 20 seems reasonable (although it is currently hard-coded).

closes: #13495
closes: #13502

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12 16:59:29 +01:00
Christian Brabandt
9588666360 patch 9.0.2102: matchparen highlight not cleared in completion mode
Problem:  matchparen highlight not cleared in completion mode
Solution: Clear matchparen highlighting in completion mode

Remove hard-coded hack in insexpand.c to clear the :3match before
displaying the completion menu.

Add a test for matchparen highlighting. While at it, move all test tests
related to the matchparen plugin into a separate test file.

closes: #13493
closes: #13524

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12 16:55:01 +01:00
Shane-XB-Qian
2dd613f57b runtime(termdebug): improve the breakpoint sign label (#13525)
// related #12589
// that should be the last chat (I) with Bram, r.i.p

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12 16:53:39 +01:00
shane.xb.qian
4ae16d721a Improve CONTRIBUTING.md
closes: #13521

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12 16:49:07 +01:00
shane.xb.qian
fdbadea4b6 patch 9.0.2101: CI: test_termdebug may still fail
Problem:  CI: test_termdebug may still fail
Solution: use term_wait() to make it more robust

closes: #13529

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-12 09:42:12 +01:00
Restorer
424da590e4 runtime(doc): Renamed "makefile_*.mak" for Vim documentation (#13517)
* Rename makefile_all.mak and makefile_mvc.mak

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 19:26:00 +01:00
dkearns
2c133f6c1a runtime(lynx): Update for Lynx 2.8.9 (#13510)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 19:06:56 +01:00
dkearns
9358b8d993 runtime(vim): Improve :let-heredoc syntax highlighting (#12923)
"trim" and "eval" are allowed in any order and whitespace is not
required after "=<<".

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 19:06:01 +01:00
Christian Brabandt
305127f9f2 patch 9.0.2100: CI: test_termdebug fails
Problem:  CI: test_termdebug fails
Solution: only test for a changed winlayout, if the window
          width actually changed

Also, include an unrelated comment (which doesn't warrant its own patch
number)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 18:59:33 +01:00
Christian Brabandt
1b08d2cd07 runtime(doc): clarify when formatoptions applies
closes: #13503

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 15:51:19 +01:00
Ivan Grimaldi
5994329667 runtime(i3config): Update for i3 4.23 (#13522)
Co-authored-by: Ivan Grimaldi <grimaldi.ivam@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 13:09:26 +01:00
Nir Lichtman
6cd2d1df92 patch 9.0.2099: win32: terminal codes clear the terminal
Problem:  Terminal control codes¹ are sent even when silent
          mode is on, causing the terminal to clear up
Solution: Block any terminal codes when silent mode is on

¹https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences

fixes: #12822
closes: #13521

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 11:33:43 +01:00
ccn
2c5240ec8b runtime(doc): Update usr_51.txt to be more inclusive (#13496)
use their instead of his as the user may not be male


Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 09:35:50 +01:00
dkearns
521fb7e143 runtime(doc): Add missing null_<type> help tags (#13498)
Problem:  Not all null_<type> values have a help tag
Solution: Add missing help tags

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 09:33:43 +01:00
Philip H
f1952d9fa8 CI: labeler.yml use all instead of any for doc detection (#13507)
fixup: https://github.com/vim/vim/pull/13506#pullrequestreview-1722013761

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 09:14:48 +01:00
ObserverOfTime
4f9074b96c patch 9.0.2098: No filetype support for xcompose files
Problem:  No filetype support for xcompose files
Solution: Add filetype detection

closes: #13508

Signed-off-by: ObserverOfTime <chronobserver@disroot.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 09:12:27 +01:00
Ernie Rael
bee966d3fe runtime(doc): clarify :help inclusion section
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 09:10:24 +01:00
K.Takata
cb5e7a2026 CI: labeler.yml: Add some more component detection rules (#13511)
Add rules for `installer`, `platform-mac`, `platform-windows`, `xxd`.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 09:04:31 +01:00
Gerrit Meier
8f0fe20ff1 patch 9.0.2097: No support for cypher files
Problem:  No support for cypher files
Solution: Add cypher filetype detection

Cypher query language support to work with (mostly) graph databases.

Already existing lsp support in Neovim's nvim-lspconfig:
https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#cypher_ls

closes: #13516

Signed-off-by: Gerrit Meier <meistermeier@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 08:58:26 +01:00
Ernie Rael
03042a2753 patch 9.0.2096: Vim9: confusing usage of private
Problem:  Vim9: confusing usage of private
Solution: clarify and use protected keyword instead

[vim9class] document `_` as protected instead of private

fixes #13504
closes: #13520

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-11 08:53:32 +01:00
Philip H
4b0018feca CI: labeler.yml: add documentation label (#13506)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-09 08:51:03 +00:00
zeertzjq
20a94f44b3 runtime(doc): fix grammar in termdebug doc, remove trailing spaces (#13505)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-09 07:21:58 +00:00
shane.xb.qian
ca48202b6f runtime(termdebug): improve window handling, shorten var types
closes #13474

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08 22:03:26 +01:00
shane.xb.qian
7fbbd7fdc6 runtime(termdebug): handle buffer-local mappings properly
closes: #13475

Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08 21:46:30 +01:00
Christian Brabandt
6a650bf696 patch 9.0.2095: statusline may look different than expected
Problem:  statusline may look different than expected
Solution: do not check for highlighting of stl and stlnc characters

statusline fillchar may be different than expected

If the highlighting group for the statusline for the current window
|hl-StatusLine| or the non-current window |hl-StatusLineNC| are cleared
(or do not differ from each other), than Vim will use the hard-coded
fallback values '^' (for the non-current windows) or '=' (for the
current window).  I believe this was done, to make sure the statusline
will always be visible and be distinguishable from the rest of the
window.

However, this may be unexpected, if a user explicitly defined those
fillchar characters just to notice that those values are then not used
by Vim.

So, let's assume users know what they are doing and just always return
the configured stl and stlnc values.  And if they want the statusline to
be non-distinguishable from the rest of the window space, so be it.  It
is their responsibility and Vim shall not know better what to use.

fixes: #13366
closes: #13488

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08 21:23:29 +01:00
Yegappan Lakshmanan
1fc47c2c9b patch 9.0.2094: Vim9: need more assignment tests
Problem:  Vim9: need more assignment tests
Solution: Add test for using different types in assignment, function
          arguments and return values

closes: #13491

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08 21:10:11 +01:00
dkearns
d56f15caf6 runtime(wget): Update for Wget2 2.1.0 (#13497)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08 20:53:20 +01:00
zeertzjq
4d62a2f443 patch 9.0.2093: Unsupported option causes skipping of modeline test
Problem:  Unsupported option causes rest of modeline test to be skipped.
Solution: Revert the change from patch 8.2.1432.

closes: #13499
closes: #13500

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-08 20:51:02 +01:00
Christian Brabandt
2a94e98792 patch 9.0.2092: tests: failure in test_arabic
Problem:  tests: failure in test_arabic
Solution: adjust the test for the changed arabic keymap

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05 19:18:52 +01:00
avidseeker
caee7956a2 runtime(keymap): Switch Hindu-Arabic to Arabic numerals in arabic keymap (#13430)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05 17:59:20 +01:00
Restorer
3570631dc6 translation(ru): Update the translation of Russian messages to Vim 9.0.2091 (#13490)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05 17:56:14 +01:00
Christian Brabandt
3d37231437 runtime(tar): improve the error detection
Do not rely on the fact, that the last line matches warning, error,
inappropriate or unrecognized to determine if an error occurred. It
could also be a file, contains such a keyword.

So make the error detection slightly more strict and only assume an
error occured, if in addition to those 4 keywords, also a space matches
(this assumes the error message contains a space), which luckily on Unix
not many files match by default.

The whole if condition seems however slightly dubious.  In case an error
happened, this would probably already be caught in the previous if
statement, since this checks for the return code of the tar program.

There may however be tar implementations, that do not set the exit code
for some kind of error (but print an error message)? But let's keep this
check for now, not many people have noticed this behaviour until now, so
it seems to work reasonably well anyhow.

related: #6425
fixes: #13489
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05 17:51:09 +01:00
Christian Brabandt
da4e433dc3 runtime(doc): document vim-script library function
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05 10:45:49 +01:00
Sean Dewar
b2a4c110a5 runtime(dist): Make dist/vim.vim work properly when lacking vim9script support (#13487)
`:return` cannot be used outside of `:function` (or `:def`) in older Vims
lacking Vim9script support or in Neovim, even when evaluation is being skipped
in the dead `:else` branch.

Instead, use the pattern described in `:h vim9-mix`, which uses `:finish` to end
script processing before it reaches the vim9script stuff.

Signed-off-by: Sean Dewar <seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05 10:11:37 +01:00
Yegappan Lakshmanan
6709816f78 patch 9.0.2091: Vim9: cannot convert list to string using +=
Problem:  Vim9: cannot convert list to string using +=
          (after 9.0.2072)
Solution: convert dict index to string later in compile_member()

fixes: #13485
closes: #13486

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-05 10:07:03 +01:00
Christian Brabandt
4f174f0de9 runtime(dist): add legacy version for central vim library
Also, enable the zip and gzip plugins by default, unless those variables
were not explicitly set by the user.

related: #13413

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 11:19:28 +01:00
D. Ben Knoble
cd8a3eaf53 runtime(dist): centralize safe executable check and add vim library (#13413)
Follow up to 816fbcc26 (patch 9.0.1833: [security] runtime file fixes,
2023-08-31) and f7ac0ef50 (runtime: don't execute external commands when
loading ftplugins, 2023-09-06).

This puts the logic for safe executable checks in a single place, by introducing
a central vim library, so all filetypes benefit from consistency.

Notable changes:
- dist#vim because the (autoload) namespace for a new runtime support
  library. Supporting functions should get documentation. It might make
  life easier for NeoVim devs to make the documentation a new file
  rather than cram it into existing files, though we may want
  cross-references to it somewhere…
- The gzip and zip plugins need to be opted into by enabling execution
  of those programs (or the global plugin_exec). This needs
  documentation or discussion.
- This fixes a bug in the zig plugin: code setting s:tmp_cwd was removed
  in f7ac0ef50 (runtime: don't execute external commands when loading
  ftplugins, 2023-09-06), but the variable was still referenced. Since
  the new function takes care of that automatically, the variable is no
  longer needed.

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 10:11:17 +01:00
Christian Brabandt
08b1c61e8b runtime(doc): clarify terminal capabilities for focus reporting
closes: #13440

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 10:03:52 +01:00
Christian Brabandt
57f9ce1a09 patch 9.0.2090: complete_info() skips entries with 'noselect'
Problem:  complete_info() skips entries with 'noselect'
Solution: Check, if first entry is at original text state

Unfortunately, Commit daef8c7437
introduced a regression, that when ':set completeopt+=noselect' is set
and no completion item has been selected yet, it did not fill the
complete_info['items'] list.

This happened, because the current match item did not have the
CP_ORIGINAL_TEXT flag set and then the cp->prev pointer did point to the
original flag item, which caused the following while loop to not being
run but being skipped instead.

So when the 'noselect' is set, only start with to the previous selection
item, if the initial completion item has the CP_ORIGINAL_TEXT flag set,
else use the 2nd previous item instead.

fixes: #13451
closes: #13452

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 09:58:14 +01:00
Restorer
b23c1fc596 runtime(doc): Add Makefile for the Vim documentation on Windows (#13467)
* Makefile for the Vim documentation on Windows

* Corrected comments

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 09:57:09 +01:00
GuyBrush
15d270019e patch 9.0.2089: sound_playfile() fails when using powershell
Problem:  sound_playfile() fails when using powershell
Solution: quote filename using doublequotes, don't escape filename,
          because it doesn't use the shell

Avoiding powershell escaping because mci open command doesn't support
single quoted filenames: open 'C:\whatever\sound.wav' is not valid.

closes: #13471

Signed-off-by: GuyBrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 09:54:00 +01:00
Yegappan Lakshmanan
5a53925a6e patch 9.0.2088: Vim9: still allows abstract static methods
Problem:  Vim9: still allows abstract static methods
          (after v9.0.2084, v9.0.2085 and v9.0.2087)
Solution: Disallow abstract static methods

closes: #13479

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 09:42:46 +01:00
Lucien Grondin
ce3b0136c6 runtime(sh): Update sh syntax and add shDerefOffset to shDerefVarArray for bash (#13480)
Add shDerefOffset to shDerefVarArray.

Example code:

```bash
declare -a a=({a..z})

echo "${a[@]:1:3}"
```


Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 09:41:37 +01:00
Jiri Slaby
2f54c13292 runtime(script.vim): make strace ft check less strict (#13482)
Strace output, depending on parameters (-ttf this time), can dump both
times and pid:
  1038  07:14:20.959262 execve("./e.py", ["./e.py"], 0x7ffca1422840 /* 51 vars */) = 0 <0.000150>

So loose the regexp matching this, so that the above is matched too.

Fixes #13481.

Co-authored-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-04 09:39:54 +01:00
Christian Brabandt
33c1da7ff4 patch 9.0.2087: build-failure in vim9class
Problem:  build-failure in vim9class
Solution: reference correct error message,
          disable non-failing test

closes: #13476
closes: #13477

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02 22:45:12 +01:00
zeertzjq
deba02ddd4 patch 9.0.2086: code cleanup for option callbacks needed
Problem:  code cleanup for option callbacks needed
Solution: remove flag os_doskip, it's not necessary, as we can check,
          whether an error message was returned

Remove unnecessary field os_doskip

Callback functions for boolean options set os_doskip immediately before
returning an error message, so os_doskip isn't actually needed.

closes: #13461

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02 21:01:19 +01:00
Yegappan Lakshmanan
2b358adde0 patch 9.0.2085: Vim9: abstract can be used in interface
Problem:  Vim9: abstract can be used in interface
Solution: Disallow the use of abstract in an interface

fixes: #13456
closes: #13464

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02 20:58:58 +01:00
Yegappan Lakshmanan
ef9e3f8924 patch 9.0.2084: Vim9: abstract static methods are possible
Problem:  Vim9: abstract static methods are possible
Solution: Disallow abstract static methods

fixes: #13462
closes: #13466

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02 20:43:57 +01:00
Lucien Grondin
1858e2b22a runtime(sh) Update sh syntax and add shDblParen to shCaseList (#13469)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02 20:33:56 +01:00
Zdenek Dohnal
1b1c9f272d patch 9.0.2083: Perl: xsubpp may be in non-standard location
Problem:  Perl: xsubpp may be in non-standard location
Solution: Add --with-subpp configure option

configure.ac: Add --with-xsubpp configure option

Some environments (such as flatpaks) cannot count on xsubpp being
in the common Perl directory, so a configure option should be used for
clean solution.

closes: #13470

Signed-off-by: Zdenek Dohnal <zdohnal@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02 20:19:06 +01:00
James McCoy
2b89afd5eb runtime(debversions): Add noble (24.04 LTS) as Ubuntu release name (#13472)
Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02 20:12:29 +01:00
James McCoy
43cb8e1c3b patch 9.0.2082: test_channel may fail because of IPv6 config issue
Problem:  test_channel may fail because of IPv6 config issues
Solution: Catch and skip the test, if getaddrinfo() fails with
          'Address family not supported'

Mark tests as skipped when ch_open encounters E901

On some of the Debian build systems, the IPv6 channel tests fail because
`ch_open('[::1]:<port>', ...)` raises the error "E901: getaddrinfo() in
channel_open(): Address family for hostname not supported".

This appears to happen because getaddrinfo() can't perform the reverse
lookup for the ::1, which is a config issue on that system.  Therefore,
instead of reporting a test failure, mark the test as skipped due to the
bad network config

closes: #13473

Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-11-02 20:05:38 +01:00
Luuk van Baal
1bf1bf569b patch 9.0.2081: smoothscroll may result in wrong cursor position
Problem:  With 'smoothscroll' set, "w_skipcol" is not reset when unsetting 'wrap'.
          Resulting in incorrect calculation of the cursor position.
Solution: Reset "w_skipcol" when unsetting 'wrap'.

fixes:  #12970
closes: #13439

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-28 21:43:31 +02:00
Lucien Grondin
a390e984db runtime(sh): add shDblParen to shLoopList for bash (#13445)
add shDblParen to shLoopList to correctly highlight
arithmetic expressions for Bash and Ksh

This should allow code such as:

```bash
declare -i i j
for i in foo bar
do ((j = 1 << j))
done
```

Signed-off-by: Lucien Grondin <grondilu@yahoo.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-28 21:40:48 +02:00
Yegappan Lakshmanan
171c50e0b0 patch 9.0.2080: vim9_script test too large
Problem:  vim9_script test too large
Solution: split vim9 type alias test into
          separate test file

Move type alias tests to a separate test file

closes: #13447

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-28 21:31:53 +02:00
dkearns
8ebdbc9e6d runtime(doc): all secure options should note this restriction in the documentation (#13448)
Problem:  Not all secure options document their status
Solution: Describe secure context :set restrictions in each help entry

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-28 21:26:19 +02:00
Doug Kearns
c1c177a47b patch 9.0.2079: Not all Dart files detected
Problem:  Not all Dart files detected
Solution: Add shebang filetype detection for Dart

closes: #13449

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-28 21:21:49 +02:00
Yegappan Lakshmanan
feaccd2395 patch 9.0.2078: several problems with type aliases
Problem:  several problems with type aliases
Solution: Check for more error conditions, add tests,
          fix issues

Check for more error conditions and add additional tests

fixes  #13434
fixes  #13437
fixes  #13438
closes #13441

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-28 15:53:55 +02:00
Christian Brabandt
87ca5e86fa patch 9.0.2077: CI fails because of trailing whitespace in test
Problem:  CI fails because of trailing whitespace in test
Solution: Remove it

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-27 19:48:38 +02:00
Yegappan Lakshmanan
ec3cebbd2b patch 9.0.2076: Vim9: No support for type aliases
Problem:  Vim9: No support for type aliases
Solution: Implement :type command

A type definition is giving a name to a type specification.  This also known
type alias.

	:type ListOfStrings = list<string>

The type alias can be used wherever a built-in type can be used.  The type
alias name must start with an upper case character.

closes: #13407

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-27 19:35:26 +02:00
Christian Brabandt
4bca4897a1 patch 9.0.2075: TextChangedI may not always trigger
Problem:  TextChangedI may not always trigger
Solution: trigger it in more cases: for insert/
          append/change operations, and when
          opening a new line,

fixes: #13367
closes: #13375

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
2023-10-27 19:26:49 +02:00
Christian Brabandt
daef8c7437 patch 9.0.2074: Completion menu may be wrong
Problem:  Completion menu may be wrong
Solution: Check for the original direction of the completion menu,
          add more tests, make it work with 'noselect'

completion: move in right direction when  filling completion_info()

When moving through the insert completion menu and switching directions,
we need to make sure we start at the correct position in the list and
move correctly forward/backwards through it, so that we do not skip
entries and the selected item points to the correct entry in the list
of completion entries generated by the completion_info() function.

The general case is this:

1) CTRL-X CTRL-N, we will traverse the list starting from
   compl_first_match and then go forwards (using the cp->next pointer)
   through the list (skipping the very first entry, which has the
   CP_ORIGINAL_TEXT flag set (since that is the empty/non-selected entry

2) CTRL-X CTRL-P, we will traverse the list starting from
   compl_first_match (which now points to the last entry). The previous
   entry will have the CP_ORIGINAL_TEXT flag set, so we need to start
   traversing the list from the second prev pointer.

There are in fact 2 special cases after starting the completion menu
with CTRL-X:

3)  CTRL-N and then going backwards by pressing CTRL-P again.
    compl_first_match will point to the same entry as in step 1 above,
    but since compl_dir_foward() has been switched by pressing CTRL-P
    to backwards we need to pretend to be in still in case 1 and still
    traverse the list in forward direction using the cp_next pointer

4)  CTRL-P and then going forwards by pressing CTRL-N again.
    compl_first_match will point to the same entry as in step 2 above,
    but since compl_dir_foward() has been switched by pressing CTRL-N
    to forwards we need to pretend to be in still in case 2 and still
    traverse the list in backward direction using the cp_prev pointer

For the 'noselect' case however, this is slightly different again. When
going backwards, we only need to go one cp_prev pointer back. And
resting of the direction works again slightly different. So we need to
take the noselect option into account when deciding in which direction
to iterate through the list of matches.

related: #13402
related: #12971
closes: #13408

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-27 19:16:26 +02:00
nwounkn
650dcfc8d1 runtime(netrw): don't echo empty lines (#13431)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-27 19:07:38 +02:00
zeertzjq
b0221819f3 patch 9.0.2073: typo in quickfix.c comments
Problem:  typo in quickfix.c comments
Solution: fix them

closes: #13422

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-26 23:15:44 +02:00
James McCoy
7b7cda67a1 runtime(debian): update debian related runtime files (#13423)
* Update Debian runtime files

Add mantic as a supported Ubuntu release and move buster/kinetic to
unsupported.

Add syntax highlighting for deb822sources filetype.

Add debsources ftplugin to set relevant comment options.

Move common version information to shared/debversions.vim

Closes #11934

Co-authored-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Co-authored-by: James Addison <jay@jp-hosting.net>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
Signed-off-by: James McCoy <jamessan@jamessan.com>

* Add myself as codeowner for Debian-related runtime files

Signed-off-by: James McCoy <jamessan@jamessan.com>

---------

Signed-off-by: James McCoy <jamessan@jamessan.com>
Co-authored-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Co-authored-by: James Addison <jay@jp-hosting.net>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-26 23:14:30 +02:00
Yegappan Lakshmanan
c229a6ac07 patch 9.0.2072: Vim9: no nr2str conversion in list-unpack
Problem:  Vim9: no nr2str conversion in list-unpack
Solution: Generate 2STRING instruction to convert dict index to string

Generate instruction to convert dict index to a string

fixes:  #13417
closes: #13424

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-26 23:05:07 +02:00
Colin Kennedy
10407df7a9 patch 9.0.2071: objdump files not recognized
Problem:  objdump files not recognized
Solution: detect *.objdump files, add a filetype plugin

Added the objdump file/text format

closes: #13425

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Colin Kennedy <colinvfx@gmail.com>
2023-10-26 23:03:15 +02:00
Christian Brabandt
6b89dd6a72 patch 9.0.2070: [security] disallow setting env in restricted mode
Problem:  [security] disallow setting env in restricted mode
Solution: Setting environment variables in restricted mode could
          potentially be used to execute shell commands. Disallow this.

restricted mode: disable allow setting of environment variables

Setting environment variables in restricted mode, may have some unwanted
consequences. So, for example by setting $GCONV_PATH in restricted mode
and then calling the iconv() function, one may be able to execute some
unwanted payload, because the `iconv_open()` function internally uses
the `$GCONV_PATH` variable to find its conversion data.

So let's disable setting environment variables, even so this is no
complete protection, since we are not clearing the existing environment.
I tried a few ways but wasn't successful :(

One could also argue to disable the iconv() function completely in
restricted mode, but who knows what other API functions can be
influenced by setting some other unrelated environment variables.
So let's leave it as it is currently.

closes: #13394
See: https://huntr.com/bounties/b0a2eda1-459c-4e36-98e6-0cc7d7faccfe/

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-26 22:24:17 +02:00
David Leadbeater
67ec655383 patch 9.0.2069: possible to escape bracketed paste mode with Ctrl-C
Problem:  possible to escape bracketed paste mode with Ctrl-C
Solution: Do not handle Ctrl-C specially when key_protocol
          is in use, makes bracketed paste mode more robust

When a key protocol is in use Ctrl-C will be sent as an escape sequence,
but a raw Ctrl-C can be sent when pasting data. Pass this through, so
that a Ctrl-C can be pasted and won't result in exiting insert mode
(where the rest of the pasted keys can cause all kind of nasty
side-effects).

Many terminals will strip control characters in paste data (and xterm
will strip ^C since version 388), but this provides some defense in
depth if users change settings like xterm's allowPasteControls.

closes: #13398

Signed-off-by: David Leadbeater <dgl@dgl.cx>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-26 22:08:41 +02:00
Christian Brabandt
9198c1f2b1 patch 9.0.2068: [security] overflow in :history
Problem:  [security] overflow in :history
Solution: Check that value fits into int

The get_list_range() function, used to parse numbers for the :history
and :clist command internally uses long variables to store the numbers.
However function arguments are integer pointers, which can then
overflow.

Check that the return value from the vim_str2nr() function is not larger
than INT_MAX and if yes, bail out with an error. I guess nobody uses a
cmdline/clist history that needs so many entries... (famous last words).

It is only a moderate vulnerability, so impact should be low.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-q22m-h7m2-9mgm

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-26 21:29:32 +02:00
Christian Brabandt
5f5131d775 runtime(doc): clarify bracketed paste mode
related: #13398

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-25 21:53:09 +02:00
Christian Brabandt
a56f02d824 runtime(doc): missing code formatting in if_pyth.txt
fixes: #13418

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-25 21:21:56 +02:00
Ken Takata
c4a4038603 patch 9.0.2067: xxd: coloring was disabled on Cygwin
Problem:  xxd: coloring was disabled on Cygwin
Solution: don't include WIN32

xxd: Fix that color was disabled on Cygwin

"windows.h" was unintentionally included on Cygwin since 9.0.1834.
This accidentally disabled coloring on Cygwin.
Stop including "windows.h" on Cygwin.

closes: #13414

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-25 21:17:35 +02:00
OldWorldOrdr
1c14030aff patch 9.0.2066: xxd: corrupting files when reversing bit dumps
Problem:  xxd: corrupting files when reversing bit dumps
Solution: handle reversing bit dump slightly differently

fixes:  #13410
closes: #13415

Co-authored-by: OldWorldOrdr <joey.t.reinhart@gmail.com>
Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: tristhaus <tristhaus@yahoo.de>
2023-10-25 20:57:30 +02:00
Doug Kearns
3932072ab4 patch 9.0.2065: EXPAND flag set for filetype option
Problem:  EXPAND flag set for filetype option
Solution: Remove P_EXPAND flag from the 'filetype' option

Remove P_EXPAND flag from the 'filetype' option

Problem:  P_EXPAND flag is erroneously set for 'filetype' option
Solution: Remove the P_EXPAND flag

This flag is used by string options that accept file path values.  See
:help set_env.

This appears to have been included in d5e8c92 and resulted from an
incorrect implementation of 'filetype' completion.

See #12900 for a small discussion.

related: #12900
closes: #13416

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2023-10-25 20:54:00 +02:00
Yegappan Lakshmanan
b731800522 patch 9.0.2064: cannot use buffer-number for errorformat
Problem:  cannot use buffer-number for errorformat
Solution: add support for parsing a buffer number using '%b' in
          'errorformat'

closes: #13419

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-25 20:50:28 +02:00
h_east
5985879e3c runtime(doc): Fix typos in several documents (#13420)
* Fix typos in several documents
* Update runtime/doc/terminal.txt

Co-authored-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-25 14:47:05 +01:00
Christian Brabandt
50f3ec2898 please report security issues to the vim-security list
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-23 19:59:22 +02:00
Guido Cella
7d254dbc2d patch 9.0.2063: pacman hooks are detected as conf filetype
Problem:  pacman hooks are detected as conf filetype
Solution: make it consistent to pacman.conf and detect those
          hooks as confini

Because confini has much better syntax highlighting than conf.

For reference, I identified pacman.conf and pacman hooks as dosini in
https://github.com/vim/vim/pull/6335, then
https://github.com/vim/vim/pull/10213 changed them to conf, then
https://github.com/vim/vim/pull/10518 changed pacman.conf to confini but
forgot to change hooks.

closes: #13399

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Guido Cella <guido@guidocella.xyz>
2023-10-23 19:27:06 +02:00
Doug Kearns
c038427d2a patch 9.0.2062: Janet files are not recognised
Problem:  Janet files are not recognised
Solution: Add filename and shebang detection (without
          adding an extra filetype plugin)

Those are used by the Janet language:
http://www.janet-lang.org

closes: #13400

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2023-10-23 19:24:05 +02:00
Guido Cella
ae9021a840 patch 9.0.2061: not able to detect xkb filetypes
Problem:  not able to detect xkb filetypes
Solution: Detect files below /u/s/X11/xkb as xkb files (without adding
          an extra filetype)

Those files are used from the X11 xkb extension

closes: #13401

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Guido Cella <guido@guidocella.xyz>
2023-10-23 19:19:46 +02:00
Amaan Qureshi
84394f2be4 patch 9.0.2060: *.{gn,gni} files are not recognized
Problem:  *.{gn,gni} files are not recognized
Solution: Detect some as gn filetype (without adding an extra filetype)

Those come from: https://gn.googlesource.com/gn/

closes: #13405

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2023-10-23 19:16:14 +02:00
Ernie Rael
a5a1534753 runtime(doc): small updates to the documentation for varargs
- update and correct the documentation for varargs for Vim9 and make
  sure to mention that a <list> type is required.
- mention that 3match is used the matchparen plugin before 9.0.2054
  (actually this is not correct, but before that patch, Vim used the
  hardcoded id 3)

closes: #13403
closes: #13409

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-23 19:13:16 +02:00
dkearns
fea96c00e5 runtime(vim): Update ftplugin - comment motions (#13412)
Fix the pattern used by comment-motion mappings to match the start of a
block comment.

Block-comment start lines were being ignored if the previous line
contained a double-quote character anywhere in the line.  Line comments
should only be ignored if the previous line is a full-line comment and,
therefore, part of the current block comment.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-23 18:16:44 +02:00
Yegappan Lakshmanan
0ab500dede patch 9.0.2059: outstanding exceptions may be skipped
Problem:  outstanding exceptions may be skipped
Solution: When restoring exception state, process remaining outstanding
          exceptions

closes: #13386

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-21 11:59:42 +02:00
zeertzjq
a36acb7ac4 patch 9.0.2058: tests: avoid error when no swap files exist
Problem:  tests: avoid error when no swap files exist
Solution: use unlet! so that no error message is reported
          in case the variable does not exists

When s:GetSwapFileList() does not find any swapfiles, it will return an
empty list []. This means, that the variable 'name' will not be
declared, cause the following unlet command to fail and causing a 1 sec
delay on running the tests.

So let's instead use the :unlet! command which simply skips reporting an
error when the variable given as parameter does not exists.

closes: #13396

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-21 11:50:26 +02:00
Ernie Rael
3ec6c1fe3b patch 9.0.2057: Vim9: no strict type checks for funcrefs varargs
Problem:  Vim9: no strict type checks for funcrefs varargs
Solution: Perform strict type checking when declaring funcrefs
          with vararg declaration, add tests

closes: #13397

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-21 11:45:38 +02:00
Christian Brabandt
d3e277f279 matchparen: do not use hard-coded match id (#13393)
* matchparen: do not use hard-coded match id

Instead of using the hard-coded match id 3, which may also be used by
other plugins, let the matchparen plugin use whatever ids are
automatically returned when calling matchaddpos().

For backwards-compatibility, keep the `:3match` call, which will still
use the hard-coded id 3 (as mentioned in :h :3match).

closes: #13381

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-21 11:06:50 +02:00
Jonathan Wright
47416d1a74 patch 9.0.2056: no digraph for quadruple prime
Problem:  no digraph for quadruple prime
Solution: add quadruple prime digraph using 4'

closes: #13380

Signed-off-by: Jonathan Wright <quaggy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Jonathan Wright <quaggy@gmail.com>
2023-10-20 12:08:09 +02:00
Ernie Rael
d4802ec485 patch 9.0.2055: Vim9: non-consistent error messages
Problem:  Vim9: non-consistent error messages
Solution: make error messages more consistent with common structure

Adjust vim9class messages to follow common pattern.
[Variable|Method] "var-or-meth-name" ... class "class-name"

closes: #13391

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-20 11:59:00 +02:00
Ken Takata
ac709e2fc0 patch 9.0.2054: win32: iscygpty needs update
Problem:  win32: iscygpty needs update
Solution: Update iscygpty to the latest version, make use iswascii()
          API function

Import the latest version from https://github.com/k-takata/ptycheck.
This addresses #13332 for iscygpty()

closes: #13392

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-20 11:57:08 +02:00
dkearns
d5dc58aeed runtime(json5): Add new ftplugin (#13385)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-19 20:00:12 +02:00
Gregory Anders
a8c664a042 patch 9.0.2053: zig filetype detection test wrong
Problem:  zig filetype detection test wrong
Solution: Remove .zir pattern, add new test for .zon pattern

closes: #13389

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gregory Anders <greg@gpanders.com>
2023-10-19 19:57:57 +02:00
Ken Takata
c6944913f0 patch 9.0.2052: win32: using deprecated wsock32 api
Problem:  win32: using deprecated wsock32 api
Solution: Use winsock2 (ws2_32) consistently

win32: Stop using wsock32

We have already used ws2_32 (winsock2) and already dropped support for
Windows 95 and NT4.  So, we don't need to care about wsock32.

Use ws2_32 consistently.

closes: #13383

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-19 17:24:02 +02:00
Yegappan Lakshmanan
00b55370b3 patch 9.0.2051: Vim9: wrong error for non-existing object var
Problem:  Vim9: wrong error for non-existing object var
Solution: mention object or class depending on whether
          the var is an object or class variable.

closes: #13384
closes: #13387

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-19 17:18:28 +02:00
Gregory Anders
e08bfef88b runtime(zig): Update Zig runtime files (#13388)
Update runtime files from upstream (https://github.com/zig/zig.vim) at
commit 54c216e5306a5c3878a60596aacb94dca8652ab9.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-19 17:16:59 +02:00
Christian Brabandt
198734897e Remove mention of huntr.dev since they do no longer support us
They do no longer support us, since they are shifting away to AI/ML
projects only. So remove any mentioned of using huntr.dev
https://huntr.com/new-huntr-faq/

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-19 17:12:19 +02:00
Christian Brabandt
ba75507c62 Patch 9.0.2050v2: Missing change to version.c
Problem:  v9.0.2050 missed the change to version.c
Solution: include the version.c change

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-19 17:04:04 +02:00
Yegappan Lakshmanan
c59c1e0d88 patch 9.0.2050: Vim9: crash with deferred function call and exception
Problem:  Vim9: crash with deferred function call and exception
Solution: Save and restore exception state

Crash when a deferred function is called after an exception and another
exception is thrown

closes: #13376
closes: #13377

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-19 10:52:34 +02:00
Yegappan Lakshmanan
d7b616d0ad patch 9.0.2049: Vim9: not recognizing qualified class vars for infix ops
Problem:  Vim9: not recognizing qualified class vars for infix ops
Solution: Drop the class type from the stack before generating the
          CLASSMEMBER instruction

closes: #13378
closes: #13379

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-19 10:47:53 +02:00
Ken Takata
982ef16059 patch 9.0.2048: python: uninitialized warning
Problem:  python: uninitialized warning
Solution: initialize 'minor' always

win32,py3: Fix uninitialized warning

Fix the following warning:
```
if_python3.c: In function 'py3_get_system_libname':
if_python3.c:879:16: warning: 'minor' may be used uninitialized [-Wmaybe-uninitialized]
  879 |             if (minor == PY_MINOR_VERSION)
      |                ^
if_python3.c:839:24: note: 'minor' was declared here
  839 |         long    major, minor;
      |                        ^~~~~
```

closes: #13368

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-18 12:03:41 +02:00
Ken Takata
2b126a6892 patch 9.0.2047: perl: warning about inconsistent dll linkage
Problem:  perl: warning about inconsistent dll linkage
Solution: suppress warning

Suppress warning C4273 (inconsistent DLL linkage).

Also adjust inconsistent use of const.

closes: #13369

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-18 11:59:44 +02:00
Ken Takata
436f39390f patch 9.0.2046: win32,python: warning that MS_WIN64 got re-defined
Problem:  win32,python: warning that MS_WIN64 got re-defined
Solution: Do not define MS_WIN64, as it is no longer used

Suppress the following warning:
```
In file included from C:/Python312-64/include/Python.h:12,
                 from if_python3.c:79:
C:/Python312-64/include/pyconfig.h:240: warning: "MS_WIN64" redefined
  240 | #define MS_WIN64
      |
<command-line>: note: this is the location of the previous definition
```

`MS_WIN64` is not defined in `Make_mvc.mak` either.
This should be able to be safely removed.

closes: #13370

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-18 11:53:30 +02:00
zeertzjq
a0e1f06f04 patch 9.0.2045: tests: checking for swap files takes time
Problem:  tests: checking for swap files takes time
Solution: don't check for swap files  when test has been skipped

Check for swap files takes a considerable about of time, so don't do
that for skipped tests to avoid wasting time.

closes: #13371

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-18 11:50:37 +02:00
Yegappan Lakshmanan
0672595fd5 patch 9.0.2044: Vim9: exceptions confuse defered functions
Problem:  Vim9: exceptions confuse defered functions
Solution: save and restore exception state when calling defered
          functions

closes: #13364
closes: #13372

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-18 11:47:37 +02:00
Enno
5036e69852 runtime(systemd): allow for overriding systemd ftplugin settings (#13373)
closes: #13357

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-18 11:38:19 +02:00
Ernie Rael
96952b2e98 patch 9.0.2043: Vim9: issue with funcref assignmentand varargs
Problem:  Vim9: issue with funcref assignmentand varargs
Solution: Fix funcref type checking

closes: #13351

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-17 18:15:01 +02:00
Christian Brabandt
c290009e99 patch 9.0.2042: Test_cq_zero_exmode fails without channel feature
Problem:  Test_cq_zero_exmode fails without channel feature
Solution: Make the test check the channel feature

closes: #13365

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-17 18:10:13 +02:00
Illia Bobyr
8079917447 patch 9.0.2041: trim(): hard to use default mask
Problem:  trim(): hard to use default mask (partly revert v9.0.2040)
Solution: use default mask when it is empty

The default 'mask' value is pretty complex, as it includes many
characters.  Yet, if one needs to specify the trimming direction, the
third argument, 'trim()' currently requires the 'mask' value to be
provided explicitly.

Currently, an empty 'mask' will make 'trim()' call return 'text' value
that is passed in unmodified.  It is unlikely that someone is using it,
so the chances of scripts being broken by this change are low.

Also, this reverts commit 9.0.2040 (which uses v:none for the default
and requires to use an empty string instead).

closes: #13358

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
2023-10-17 18:06:00 +02:00
Rolf Vidar Mazunki Hoksaas
5a33ce2a66 runtime(json5): include syntax script for json5 (#13356)
Merging syntax file from gutenye/json5.vim, modified to include proper
vim header.

See: https://github.com/vim/vim/issues/8499

Signed-off-by: Mazunki Hoksaas <rolferen@gmail.com>
Co-authored-by: Guten Ye <ywzhaifei@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-17 11:13:06 +02:00
Illia Bobyr
6e6386716f patch 9.0.2040: trim(): hard to use default mask
Problem:  trim(): hard to use default mask
Solution: Use default 'mask' when it is v:none

The default 'mask' value is pretty complex, as it includes many
characters.  Yet, if one needs to specify the trimming direction, the
third argument, 'trim()' currently requires the 'mask' value to be
provided explicitly.

'v:none' is already used to mean "use the default argument value" in
user defined functions.  See |none-function_argument| in help.

closes: #13363

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
2023-10-17 11:09:45 +02:00
nwounkn
2e3cd52fa0 patch 9.0.2039: completion shows current word after completion restart
Problem:  completion shows current word after completion restart
Solution: remove the word being completed after completion restart

The word being completed is shown in a completion list after completion
restart, because it isn't removed from the current buffer before
searching for matches.

Also adjust `Test_complete_add_onechar` to match the new behavior.

closes: #13349

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: nwounkn <nwounkn@gmail.com>
2023-10-17 11:05:38 +02:00
Yegappan Lakshmanan
f3eac695bf patch 9.0.2038: Vim9: object method funcref not cleaned up after use
Problem:  Vim9: object method funcref not cleaned up after use
Solution: Clean up type stack after using object method funcref,
          remove now longer used ISN_DEFEROBJ instrunction

closes: #13360

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-17 11:00:45 +02:00
Yee Cheng Chin
209ec90b9b patch 9.0.2037: A few remaining cmdline completion issues with C-E/Y
Problem:  A few remaining cmdline completion issues with C-E/Y
Solution: Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not
          used at the end

Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not used at the end

A few places in the cmdline completion code only works properly when the
user hits Tab (or 'wildchar') at the end of the cmdline, even though
it's supposed to work even in the middle of the line.

For fuzzy search, `:e ++ff`, and `:set hl=`, fix completion code to make
sure to use `xp_pattern_len` instead of assuming the entire `xp_pattern`
is the search pattern (since it contains texts after the cursor).

Fix Ctrl-E / Ctrl-Y to not jump to the end when canceling/accepting a
wildmenu completion. Also, make them work even when not using
`set wildoptions+=pum` as there is no drawback to doing so.
(Related issue where this was brought up: #13331)

closes: #13362

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-17 10:56:25 +02:00
Yee Cheng Chin
396058acd0 patch 9.0.2036: if_python: rework python3.12 build dependency
Problem:  if_python: rework python3.12 build dependency
          (after 9.0.1996)
Solution: use PyTuple_Size instead of inlining the Py_SIZE
          into the Vim code base

Use a simpler fix for Python 3.12 build issues

Python 3.12 introduced link dependencies to their `Py_SIZE()` inline
function, which #13290 fixed by copying the inline function to Vim's
Python binding code. This works but it's fragile, as a future update may
change the implementation of `Py_SIZE` and there is no way for us to
know.

The reason we need `Py_SIZE` to begin with is that we use
`PyTuple_GET_SIZE()` which calls that. Just fix it by mapping that to
(confusingly similarly named) `PyTuple_Size()`, which we already do in
the stable ABI implementation. There's a minor performance cost in that
it's not inlined and it does error checking but that's fine as we only
call this function rarely (in an error handler).

related: #13290
closes: #13359

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-17 10:38:11 +02:00
Yee Cheng Chin
8f4fb007e4 patch 9.0.2035: [security] use-after-free with wildmenu
Problem:  [security] use-after-free with wildmenu
Solution: properly clean up the wildmenu when exiting

Fix wildchar/wildmenu/pum memory corruption with special wildchar's

Currently, using `wildchar=<Esc>` or `wildchar=<C-\>` can lead to a
memory corruption if using wildmenu+pum, or wrong states if only using
wildmenu. This is due to the code only using one single place inside the
cmdline process loop to perform wild menu clean up (by checking
`end_wildmenu`) but there are other odd situations where the loop could
have exited and we need a post-loop clean up just to be sure. If the
clean up was not done you would have a stale popup menu referring to
invalid memory, or if not using popup menu, incorrect status line (if
`laststatus=0`).

For example, if you hit `<Esc>` two times when it's wildchar, there's a
hard-coded behavior to exit command-line as a failsafe for user, and if
you hit `<C-\><C-\><C-N>` it will also exit command-line, but the clean
up code would not have hit because of specialized `<C-\>` handling.

Fix Ctrl-E / Ctrl-Y to not cancel/accept wildmenu if they are also
used for 'wildchar'/'wildcharm'. Currently they don't behave properly,
and also have potentially memory unsafe behavior as the logic is
currently not accounting for this situation and try to do both.
(Previous patch that addressed this: #11677)

Also, correctly document Escape key behavior (double-hit it to escape)
in wildchar docs as it's previously undocumented.

In addition, block known invalid chars to be set in `wildchar` option,
such as Ctrl-C and `<CR>`. This is just to make it clear to the user
they shouldn't be set, and is not required for this bug fix.

closes: #13361

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-17 10:06:56 +02:00
Christian Brabandt
5a679b2263 patch 9.0.2034: don't try to copy SMACK attribute, when none exist
Problem:  don't try to copy SMACK attribute, when none exist
Solution: return early if SMACK extended attributes do not exist or
          if they are not supported

closes: #1711
closes: #13348

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-16 10:17:13 +02:00
Ken Takata
215c3261a2 patch 9.0.2033: gcc overflow-warning for f_resolve
Problem:  gcc overflow-warning for f_resolve
Solution: use pointer p instead of pointer q[-1]

Suppress the following warning:
```
filepath.c: In function ‘f_resolve’:
filepath.c:2162:27: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
 2162 |                     q[-1] = NUL;
```

Closes: #13352
closes: #13353

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-16 09:57:43 +02:00
Viktor Szépe
dbf749bd5a runtime: Fix more typos (#13354)
* Fix more typos

* Fix typos in ignored runtime/ directory

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-16 09:53:37 +02:00
zeertzjq
f5a94d5165 patch 9.0.2032: cannot get mouse click pos for tab or virt text
Problem:  Cannot accurately get mouse clicking position when clicking on
          a TAB or with virtual text.
Solution: Add a "coladd" field to getmousepos() result.

closes: #13335

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-15 10:03:30 +02:00
zeertzjq
3c81f47a05 runtime(doc): correct <PageUp>/<PageDown> behavior in 'wildmenu' (#13336)
"but don't insert it" is wrong.
Also move them just below <Up> <Down> as they are more similar.
2023-10-15 10:02:08 +02:00
Evgeni Chasnovski
d7ae263af8 patch 9.0.2031: TextChangedI may be triggered by non-insert mode change
Problem:  `TextChangedI` can trigger on entering Insert mode if there
          was previously a change not in Insert mode.
Solution: Make it trigger only when text is actually changed in Insert
          mode.

closes: #13265
closes: #13338

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
2023-10-15 09:59:00 +02:00
Christian Brabandt
47510f3d65 patch 9.0.2030: no max callback recursion limit
Problem:  no max callback recursion limit
Solution: bail out, if max call recursion for callback functions
          has been reached.

This checks the 'maxfuncdepth' setting and throws E169 when a callback
function recursively calls itself.

closes: #13337
closes: #13339

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-15 09:56:16 +02:00
Yegappan Lakshmanan
1ace49fb98 patch 9.0.2029: Vim9: no support for partials using call()
Problem:  Vim9: no support for partials using call()
Solution: Add support

closes: #13341

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-15 09:53:41 +02:00
Yee Cheng Chin
5d03525cde patch 9.0.2028: confusing build dependencies
Problem:  confusing build dependencies
Solution: clean them up, make them parallelizable

Separate vim binary and unittest dependencies, make them parallelizable

Clean up make dependencies so Vim and unit test binaries only depend on
the object files they need. This fixes an existing issue where after
running unit tests, the Vim binary would be invalidated, which results
in it having to be linked again when running script tests, even though
Vim was already previously built.

Make link.sh (script we use to link those binaries) generate namespaced
temporary files for each app to avoid them colliding with each other.
This allows `unittesttargets` to be built in parallel.

These fixes are useful when using link-time-optimization as the link
phase could now take minutes rather than a few seconds.

closes: #13344

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-15 09:50:53 +02:00
Yegappan Lakshmanan
de3295dd0c patch 9.0.2027: Vim9: no support for bitwise operators in lambda funcs
Problem:  Vim9: no support for bitwise operators in lambda funcs
Solution: move "evaluate" assignment a bit up in order to decide
          to perform bitwise operations

closes: #13342
closes: #13345

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-15 09:44:50 +02:00
Ken Takata
ae3cfa47d3 patch 9.0.2026: win32: python3 dll loading can be improved
Problem:  win32: python3 dll loading can be improved
Solution: Load DLL from registry path

Support loading python3.dll and/or python3xx.dll from the path written
in the registry.  To support Stable ABI's forwarder DLL (python3.dll),
use the `LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR` flag for `LoadLibraryExW()`
because python3xx.dll is placed in the same directory of python3.dll.

If Stable ABI is used, search the latest version from the registry (both
from HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE).  If Stable ABI is not
used, search only the matching version.

closes: #13315

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-14 11:49:09 +02:00
Yee Cheng Chin
989426be6e patch 9.0.2025: no cmdline completion for ++opt args
Problem:  no cmdline completion for ++opt args
Solution: Add cmdline completion for :e ++opt=arg and :terminal
          [++options]

closes: #13319

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-14 11:46:51 +02:00
James McCoy
bd734c3bea patch 9.0.2024: no filetype detection for Debian sources
Problem:  no filetype detection for Debian sources
Solution: Add new deb822sources filetype

closes: #13320

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: James McCoy <jamessan@jamessan.com>
2023-10-14 11:41:34 +02:00
Christian Brabandt
ba9aed4497 patch 9.0.2023: need more tests for :cq
Problem:  need more tests for :cq
Solution: Add more tests, including wraparound on linux

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-14 11:39:40 +02:00
zeertzjq
b583eda703 patch 9.0.2022: getmousepos() returns wrong index for TAB char
Problem:  When clicking in the middle of a TAB, getmousepos() returns
          the column of the next char instead of the TAB.
Solution: Break out of the loop when the vcol to find is inside current
          char. Fix invalid memory access when calling virtcol2col() on
          an empty line.

closes: #13321

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-14 11:32:28 +02:00
Christian Brabandt
cd6ee69358 patch 9.0.2021: Coverity complains about change in charset
Problem:  Coverity complains about change in charset (after v9.0.2017)
Solution: check pointer t at index 0

closes: #13322

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-14 11:29:28 +02:00
Ivan Pešić
5ae6f9985e translation(sr): Update Serbian messages translation (#13324)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-14 11:28:05 +02:00
dkearns
7687238e1b runtime(tcsh): Update ftplugin (#13327)
Fix b:browsefilter deletion error when calling b:undo_ftplugin.

Fixes #13167

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-14 11:27:27 +02:00
Ernie Rael
0f058d1320 patch 9.0.2020: Vim9: islocked() needs more work
Problem:  Vim9: islocked() needs more work
Solution: rework islocked() and remove sync_root
          from get_lval()

closes: #13329

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-14 11:25:04 +02:00
Yee Cheng Chin
2bbd0d30ee runtime(doc): Improve command-line completion docs (#13331)
* Improve command-line completion docs

Add more details about 'ignorecase' and its effect on cmdline
completion.

Make sure keys used in wildmenu are properly documented and linked in the
keys' documentation entries, and in `:h index` for proper
cross-referencing, as wildmenu popup is slightly different from
insert-mode popup menu.

* Fix docs typos

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-14 11:23:45 +02:00
Yegappan Lakshmanan
29bb67f1be patch 9.0.2019: Vim9: no support for funcrefs
Problem:  Vim9: no support for funcrefs
Solution: Add support for object/class funcref members

closes: #11981 #12417 #12960 #12324 #13333

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-14 11:18:50 +02:00
LemonBoy
69fb5afb3b patch 9.0.2018: complete_info() returns wrong index
Problem:  complete_info() returns wrong index
Solution: Make order of 'info' in completion_info consistent

Start the iteration from the same point and follow the same direction as
done when assigning the completion numbers. This way we remove the
dependence on the completion direction and make the order of 'info'
consistent.

closes: #12230
closes: #12971

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2023-10-11 21:55:56 +02:00
Christian Brabandt
dd75fcfbdf patch 9.0.2017: linebreak applies for leading whitespace
Problem:  linebreak applies for leading whitespace
Solution: only apply linebreak, once we have found non-breakat chars in
          the line

closes: #13228
closes: #13243

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-11 21:53:52 +02:00
Yegappan Lakshmanan
1ea428883f patch 9.0.2016: Vim9: assignment operators don't work for class vars
Problem:  Vim9: assignment operators don't work for class vars
Solution: implement it

closes: #13306

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-11 21:43:52 +02:00
Ernie Rael
4c8da025ef patch 9.0.2015: Vim9: does not handle islocked() from a method correctly
Problem:  Vim9: does not handle islocked() from a method correctly
Solution: Handle islocked() builtin from a method.

- Setup `lval_root` from `f_islocked()`.
- Add function `fill_exec_lval_root()` to get info about executing method.
- `sync_root` added in get_lval to handle method member access.
- Conservative approach to reference counting.

closes: #13309

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-11 21:38:24 +02:00
Ken Takata
c97b3febc8 patch 9.0.2013: confusing ifdefs in if_<lang>.c
Problem:  confusing ifdefs in if_<lang>.c
Solution: refactor ifndefs to #ifdefs

if_x: Avoid using #ifndef - #else - #endif

Using #ifndef - #else - #endif is sometimes confusing.
Use #ifdef - #else - #endif instead.

closes: #13310

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-11 21:27:06 +02:00
Christian Brabandt
a634b92b96 patch 9.0.2013: Unicode tables outdated
Problem: Unicode tables outdated
Solution: Update Unicode tables to v15.1 (released 23.09.2023)

closes: #13311

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-11 21:24:49 +02:00
Ernie Rael
f8da324619 patch 9.0.2012: Vim9: error message can be more accurate
Problem:  Vim9: error message can be more accurate
Solution: Fix the error messages

Fix message for some single use error messages.

closes: #13312

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-11 21:22:12 +02:00
Martin Tournoij
4a82bdfaa8 patch 9.0.2011: INI files not detected
Problem:  INI files not detected
Solution: detect uppercase .INI as dosini files

It previo~1 only worked for lower-case .ini files, but upperc~1 .INI is
also somewhat common on account of DOS' old 8.3 upperc~2 only filena~1.

closes: #13316

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Martin Tournoij <martin@arp242.net>
2023-10-11 21:20:06 +02:00
Christian Brabandt
41e6f7d6ba patch 9.0.2010: [security] use-after-free from buf_contents_changed()
Problem:  [security] use-after-free from buf_contents_changed()
Solution: block autocommands

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-11 21:09:53 +02:00
Yee Cheng Chin
54844857fd patch 9.0.2009: cmdline-completion for comma-separated options wrong
Problem:  cmdline-completion for comma-separated options wrong
Solution: Fix command-line expansions for options with filenames with
          commas

Fix command-line expansions for options with filenames with commas

Cmdline expansion for option values that take a comma-separated list
of file names is currently not handling file names with commas as the
commas are not escaped. For such options, the commas in file names need
to be escaped (to differentiate from a comma that delimit the list
items). The escaped comma is unescaped in `copy_option_part()` during
option parsing.

Fix as follows:
- Cmdline completion for option values with comma-separated file/folder
  names will not start a new match when seeing `\\,` and will instead
  consider it as one value.
- File/folder regex matching will strip the `\\` when seeing `\\,` to
  make sure it can match the correct files/folders.
- The expanded value will escape `,` with `\\,`, similar to how spaces
  are escaped to make sure the option value is correct on the cmdline.

This fix also takes into account the fact that Win32 Vim handles file
name escaping differently. Typing '\,' for a file name results in it
being handled literally but in other platforms '\,' is interpreted as a
simple ',' and commas need to be escaped using '\\,' instead.

Also, make sure this new logic only applies to comma-separated options
like 'path'. Non-list options like 'set makeprg=<Tab>' and regular ex
commands like `:edit <Tab>` do not require escaping and will continue to
work.

Also fix up documentation to be clearer. The original docs are slightly
misleading in how it discusses triple slashes for 'tags'.

closes: #13303
related: #13301

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-09 18:12:31 +02:00
Dominique Pellé
b07b9dc4da patch 9.0.2008: test: undofile left behind
Problem:  test: undofile left behind
Solution: cleanup undofile

fix: tmp file not deleted when running make test_undo

Temporary file `.Xtestfile.txt.un~` was left running `make test_undo`
and vim was configured with:
```
./configure --with-features=normal --enable-gui=no --enable-terminal
```

closes: #13304

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Dominique Pellé <dominique.pelle@tomtom.com>
2023-10-09 18:09:20 +02:00
Yegappan Lakshmanan
e467189022 patch 9.0.2007: Vim9: covariant parameter types allowed
Problem:  Vim9: covariant parameter types allowed when assigning
          functions
Solution: Enforce invariant type check for arguments and return value
          when assigning a funcref

closes: #13299
closes: #13305

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-09 18:01:06 +02:00
Yegappan Lakshmanan
f4ee1cb74b patch 9.0.2006: Vim9: need more tests
Problem:  Vim9: need more tests
Solution: add additional disassembly tests

closes: #13305

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-09 17:57:27 +02:00
Christian Brabandt
b56cef0be0 patch 9.0.2005: partially revert patch v9.0.1997
Problem:  partially revert patch v9.0.1997
Solution: add a comment, to make clear it's not used

related: #13288

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-09 17:55:02 +02:00
Christian Brabandt
d4afbdd071 patch 9.0.2004: Missing test file
Problem:  Missing test file
Solution: git-add the file to the repo

closes: #13305

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-09 08:15:00 +02:00
Christian Brabandt
7879bc5c13 patch 9.0.2003: xxd: compilation warning
Problem:  xxd: compilation warning
Solution: initialize variables

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-08 20:38:43 +02:00
Enno
1e33cd72b6 runtime: make command name for &iskeywordprg more unique (#13297)
See https://github.com/vim/vim/pull/13213/commits by @dkearns:
Rename 'keywordprg' user command to ShKeywordPrg as this is just a
leaking implementation detail.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-08 19:14:07 +02:00
Yegappan Lakshmanan
b852305dbf patch 9.0.2002: Vim9: need cleanup of class related interface code
Problem:  Vim9: need cleanup of class related interface code
Solution: Remove the unused class variable and class method related code
          for interfaces.

Remove unused class variable and class method related code for
interfaces.

Refactor the code.

Optimize the object/class member double lookup in compile_lhs().

Change unused global functions to static functions.

closes: #13302

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-08 19:07:39 +02:00
Antonio Giovanni Colombo
75b277d35c translation(it): updated translation of xxd manpage
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-08 19:05:02 +02:00
Ernie Rael
9771b2a67f patch 9.0.2001: Vim9: segfault with islocked()
Problem:  Vim9: segfault with islocked()
Solution: Check that the lval pointer is not null for objects and
          class variables

closes: #13295

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-07 22:10:26 +02:00
Yegappan Lakshmanan
1087b8c29a patch 9.0.2000: Vim9: use-after-free in deep call stack
Problem:  Vim9: use-after-free in deep call stack
Solution: Get the objct pointer from execution stack

closes: #13296

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-07 22:03:18 +02:00
dkearns
2a281ccca0 runtime(sh): Update ftplugin (#13213)
Rename 'keywordprg' user command to ShKeywordPrg as this is just a
leaking implementation detail.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-06 19:59:42 +02:00
Ernie Rael
e6c9aa5e6a patch 9.0.1999: Vim9: some error messages can be improved
Problem:  Vim9: some error messages can be improved
Solution: Mention the defining class for variable access error message

closes: #13272

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-06 19:55:52 +02:00
tristhaus
85f4521808 patch 9.0.1998: xxd: cannot reverse a bit dump
Problem:  xxd: cannot reverse a bit dump
Solution: implement reversing the bit dump using -b -r

closes: #13286

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: tristhaus <tristhaus@yahoo.de>
2023-10-06 19:51:13 +02:00
dundargoc
580c1fcb4a patch 9.0.1997: Some unused code in move.c and string.c
Problem:  Some unused code in move.c and string.c
Solution: Remove it

closes: #13288

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: dundargoc <gocdundar@gmail.com>
2023-10-06 19:41:14 +02:00
zeertzjq
27e12c7669 runtime(doc): remove E1520 tag (#13289)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-06 19:34:04 +02:00
Ken Takata
fa145f2009 patch 9.0.1996: Cannot build with python312
Problem:  Cannot build with python312
Solution: Define wrapper types and functions for python 3.12

Py_SIZE() uses PyLong_Type and PyBool_Type starting from Python 3.12.
We need to define our own Py_SIZE() to replace Py{Bool,Long}_Type with
py3_Py{Bool,Long}_Type.
We also need to redefine PyTuple_GET_SIZE() and PyList_GET_SIZE(), because
they use Py_SIZE().

closes: #13281
closes: #13290

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-06 19:27:13 +02:00
Yegappan Lakshmanan
26e8f7b0ab runtime(doc): Update vim9class help (#13292)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-06 19:24:10 +02:00
zeertzjq
a991ce9c08 patch 9.0.1995: Invalid memory access with empty 'foldexpr'
Problem:  Invalid memory access when 'foldexpr' returns empty string.
Solution: Check for NUL.

closes: #13293

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-06 19:18:12 +02:00
RestorerZ
ac9c6d5c78 patch 9.0.1994: inconsistent feature description
Problem:  inconsistent feature description
Solution: delete old mentioned feature sets small and big

The may however still be mentioned for historical reasons. e.g. The
last Amiga built version is for Vim6.2 and is still a big version.

closes: #13273

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: RestorerZ <restorer@mail2k.ru>
2023-10-05 22:25:12 +02:00
Christian Brabandt
9960ebcace patch 9.0.1993: warning about unused function definition
Problem:  warning about unused function definition
Solution: add ifdefs

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-05 22:17:09 +02:00
Christian Brabandt
20d161ace3 patch 9.0.1992: [security] segfault in exmode
Problem:  segfault in exmode when redrawing
Solution: skip gui_scroll when exmode_active

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-05 22:10:10 +02:00
Yee Cheng Chin
290b887e8c patch 9.0.1991: no cmdline completion for setting the font
Problem:  no cmdline completion for setting the font
Solution: enable it on Win32 and GTK builds

Add guifont cmdline completion (for Windows and GTK)

For Windows, auto-complete will only suggest monospace fonts as that's
the only types allowed. Will also suggest font options after the colon,
including suggesting the current font size for convenience, and misc
charset and quality options like `cANSI` and `qCLEARTYPE`.

For GTK, auto-complete will suggest only monospace fonts for `guifont`
but will include all fonts for `guifontwide`. The completion code
doesn't currently suggest the current font size, as the GTK guifont
format does not have a clear delimiter (':' for other platforms).

closes: #13264

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-05 20:54:21 +02:00
Christ van Willegen
ea746f9e86 patch 9.0.1990: strange error number
Problem:  strange error number
Solution: change error number,
          add doc tag for E1507

closes: #13270

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
2023-10-05 20:48:36 +02:00
KSR-Yasuda
0e95841004 runtime(netrw): diff (df) may open the wrong window (#13275)
closes: #11359

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-05 20:37:15 +02:00
KSR-Yasuda
f449825ae2 runtime(netrw): Update .netrwbook immediately on bookmark change (#13276)
closes: #9738

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-05 20:34:17 +02:00
K.Takata
9b259f520e translation(it): revert permission changes for xxd manpages again (#13277)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-05 20:30:08 +02:00
Ernie Rael
d615a3122a patch 9.0.1989: Vim9: double error message given
Problem:  Vim9: double error message given
Solution: Only give second error message, if ther
          wasn't one given before

closes: #13278

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-05 20:28:16 +02:00
Yegappan Lakshmanan
d2f4800099 patch 9.0.1988: Vim9: potential use-after-free for class members
Problem:  Vim9: potential use-after-free for class members
Solution: Use the class-related grow array for storing the
          member type instead of using a temporary type
          list grow array

Use the type list grow array associated with the class than using a
temporary type list grow array to allocate the class member type.

For simple types, a predefined type is used. For complex types, the type
is dynamically allocated from a grow array. For class variables, the
type grow array in the class should be used. So that the lifetime of the
type is same as the lifetime of the class.

closes: #13279

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-05 20:24:18 +02:00
Ken Takata
da5da654de patch 9.0.1987: win32: font-size calculation can be improved
Problem:  win32: font-size calculation can be improved
Solution: calculate font size before the window size

Support calculating the new size even if a bitmap font is used.
Calculate the new font size before actually change the Window size.

closes: #13280
related: #11812, #13252

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-05 20:20:58 +02:00
Ivan Pešić
c661e11e9c translation(sr): Update Serbian messages translation (#13282)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-05 20:17:28 +02:00
Yegappan Lakshmanan
b5a0719cb7 patch 9.0.1986: Vim9: accepting type-annotations
Problem:  Vim9: accepting type-annotations
Solution: Reject type annotations outside of declarations.

closes: #13267
closes: #13283

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-05 20:16:06 +02:00
dundargoc
b6d01f131c runtime(just): Correct filetype detection pattern and style (#13284)
See https://github.com/vim/vim/pull/13271#discussion_r1347279686 and
https://github.com/NoahTheDuke/vim-just/blob/main/ftdetect/just.vim.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-05 20:11:55 +02:00
dundargoc
9a00e7c7cf patch 9.0.1985: CI: codecov is intrusive
Problem:  CI: codecov is intrusive
Solution: disable codecov comments

The codecov report is incredibly intrusive, and getting a notification
for every PR to vim that codecov codecoved is annoying. If anyone is
interested in the report the information is readily available by
clicking on the job.

closes: #13285

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: dundargoc <gocdundar@gmail.com>
2023-10-05 20:07:11 +02:00
Christian Brabandt
85ff0c1912 patch 9.0.1984: CI: Test_open_delay*() fails on FreeBSD 14
Problem:  CI: Test_open_delay*() fails on FreeBSD 14
Solution: Skip it on BSD

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-04 21:58:24 +02:00
zeertzjq
8e5f26ec6a patch 9.0.1983: scrolling inactive window not possible with cursorbind
Problem:  Scrolling non-current window using mouse is inconsistent
          depending on 'scrollbind'/'scrolloff' and different from GUI
          vertical scrollbar when 'cursorbind' is set.
Solution: Don't move cursor in non-current windows for 'cursorbind' if
          cursor in the current window didn't move.

closes: #13219
closes: #13210

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-04 21:45:33 +02:00
yasuda
4dbb2669e9 runtime(netrw): error when trying to :bd unloaded buffer
closes: #13215
closes: #13082

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-04 20:52:44 +02:00
Ernie Rael
64885645e7 patch 9.0.1982: vim9: clean up from v9.0.1955
Problem:  vim9: clean up from v9.0.1955
Solution: Fix a few remaining issues, improve error message

- Use `cl_exec`, the executing class, to check permissions in `get_lval()`.
- Handle lockvar of script variable from class.
- Add 'in class "Xxx"' to e_cannot_access_private_variable_str.

closes: #13222

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-10-04 20:16:22 +02:00
zeertzjq
0583491277 patch 9.0.1981: not being able to scroll up in diff mode
Problem:  Cannot scroll up in diff mode with many filler lines and zero
          'scrolloff'.
Solution: Invalidate w_cline_row before calling comp_botline().

closes: #13256

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-04 20:12:37 +02:00
Ken Takata
119fdd9293 patch 9.0.1980: win32: issues with stable python ABI
Problem:  win32: issues with stable python ABI
Solution: if_python3,win32: Fix Python3 stable ABI

There were some issues in current stable ABI implementation on Windows:
* Python DLL name should be `python3.dll` instead of `python311.dll` and
  so on. (See: https://docs.python.org/3/c-api/stable.html)
* Some non-stable API functions were used:
  - `_PyObject_NextNotImplemented`
  - `PyStdPrinter_Type`
* `reset_stdin()` and `hook_py_exit()` didn't work with `python3.dll`.
  `python3.dll` is a special type of DLL called forwarder DLL.
  It just forwards the functions to other DLL (e.g. `python311.dll`).
  There were two issues regarding these functions:
  - `python3.dll` doesn't have import tables. This caused a crash in
    `get_imported_func_info()`. Add a check whether the specified DLL
    has an import table.
  - `reset_stdin()` and `hook_py_exit()` should be applied to the
    forwarded DLL (e.g. `python311.dll`), not to `python3.dll`.
    Check the export directory of `python3.dll` to find the forwarded
    DLL and apply the functions to it.

closes: #13260

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-04 20:05:05 +02:00
zeertzjq
317468aace patch 9.0.1979: Cirrus CI disabled
Problem:  Cirrus CI disabled
Solution: re-enable Cirrus CI

Ref patch 9.0.1912:

> Perhaps at the beginning of the next month we can revisit and enable
> just a build without testing it.  Hopefully this is won't take too
> many credits and we can at least verify that building works.

Actually enabling testing should be fine. In the last month there were
three Cirrus CI jobs and credits ran out on Sep 15, but now there is
only one Cirrus CI job, so credits shouldn't run out.

closes: #13261

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-04 19:57:35 +02:00
dundargoc
3d90f71b76 patch 9.0.1978: No filetype detection for just files
Problem:  No filetype detection for just files
Solution: Detect just files (*.just, justfile, etc)

closes: #13271

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: dundargoc <gocdundar@gmail.com>
2023-10-04 19:52:54 +02:00
Yegappan Lakshmanan
fe7b20a1a3 patch 9.0.1977: Vim9: object members can change type
Problem:  Vim9: object members can change type
Solution: Check type during assignment to object/class var

closes: #13127
closes: #13262

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-04 19:47:52 +02:00
Antonio Giovanni Colombo
b9a974df9e translation(it): update translation of xxd manpage
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-04 18:30:25 +02:00
Christian Brabandt
b74ebfc6bf runtime(doc): update xxd manpage and mention $NO_COLOR env
also regenerate the xxd.man document page.

fixes: #13257

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-03 16:58:55 +02:00
Aliaksei Budavei
b043ff34c1 runtime(doc): fix two typos in vim9.txt and options.txt (#13258)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-03 16:39:53 +02:00
zeertzjq
2dfc22908e runtime(doc): remove E1507 help tag, which is no longer used (#13254)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-03 08:12:56 +02:00
Christian Brabandt
3f168ec8ae patch 9.0.1976: style: space before tab in optionstr.c
Problem:  style: space before tab in optionstr.c
Solution: remove the space

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-02 23:21:11 +02:00
Gene C
993b17569b patch 9.0.1975: xattr: permission-denied errors on write
Problem:  xattr: permission-denied errors on write
Solution: ignore those errors

closes: #13246

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gene C <arch@sapience.com>
2023-10-02 22:44:12 +02:00
Restorer
12a0d999b1 translation(ru): Update Russian message translation to Vim 9.0.1968 (#13239)
* Updated to Vim 9.0.1968. Several refinements and corrections
* typo fixed

Co-authored-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-02 21:53:27 +02:00
Yegappan Lakshmanan
cd39b69b02 runtime(doc): add missing error numbers in the help. (#13241)
closes: #13240

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-02 21:50:45 +02:00
dundargoc
20f48d5b2d runtime(doc): mention how to disable folding in diff mode (#13242)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-02 21:49:23 +02:00
h_east
ba77bbb5c7 runtime(doc): fix typos.
* Fix typo in document (Related: #12516)
* Fix E1363 duplication
* Fix one more typo.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-02 21:47:13 +02:00
Yegappan Lakshmanan
b32064fedb patch 9.0.1974: vim9: using contra-variant type-checks
Problem:  vim9: using contra-variant type-checks (after v9.0.1959)
Solution: Use invariant type checking instead

closes: #13248

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-10-02 21:43:58 +02:00
Yee Cheng Chin
6d11347260 patch 9.0.1973: Clean up cmdline option completion code
Problem:  Clean up cmdline option completion code
Solution: Fix various minor problems

- Fix manual array size calculations to just use `ARRAY_LENGTH()`.
- Fix unintentional typo in comments due to copy-paste error.
- Fix assert_equal() usages to pass the expected value to first
  parameter instead of 2nd one to avoid confusion.
- Fix signed vs unsigned warnings
- Correct misplaced comments about set_op_T and set_prefix_T
  and fix a typo in another comment

closes: #13249
closes: #13237

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-02 21:38:39 +02:00
Ken Takata
4a1ad55564 patch 9.0.1972: win32: missing '**' expansion test
Problem:  win32: missing '**' expansion test (after v9.0.1947)
Solution: Add test for MS-Windows

win32: Add "**" test

Vim supports "**" on MS-Windows. However, it is not tested by
`Test_glob_extended_bash`.

Unlike Unix, it doesn't use 'shell' and doesn't support {,} expansion.
So, I added as a separate test.

related: #13205
closes: #13250

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-02 21:33:42 +02:00
Yee Cheng Chin
f59cbefd0a patch 9.0.1971: macOS: FEAT_SOUND guard too restrictive
Problem:  macOS: FEAT_SOUND guard too restrictive
Solution: check for older macOS support properly

Fix macOS FEAT_SOUND guards to be less restrictive

This allows +sound to work on older macOS platforms again. The +sound
implementation uses APIs available in 10.6, but the code itself uses
generics with type parameters which was only added in Xcode 7 / clang 7,
which was released for macOS 10.11. This means as long as Vim is
compiled under 10.11+, and using a deployment target >= 10.6, the
feature will work.

closes: #13251

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-02 21:28:50 +02:00
Ken Takata
7086b3e76a patch 9.0.1970: win32: high-dpi support can be improved
Problem:  win32: high-dpi support can be improved
Solution: implement WM_GETDPISCALEDSIZE

win32: Better support of Per-Monitor V2 High DPI

Implement WM_GETDPISCALEDSIZE.
It is not so easy to calculate the new size without actually changing
the size. So, this returns an approximate size.

This doesn't work well when a bitmap font (e.g. FixedSys) is selected,
but I think this is acceptable.

closes: #11812
closes: #13252

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-10-02 21:26:03 +02:00
Christian Brabandt
3bd7fa12e1 patch 9.0.1969: [security] buffer-overflow in trunc_string()
Problem:  buffer-overflow in trunc_string()
Solution: Add NULL at end of buffer

Currently trunc_string() assumes that when the string is too long,
buf[e-1] will always be writeable. But that assumption may not always be
true. The condition currently looks like this

    else if (e + 3 < buflen)
    [...]
    else
    {
	// can't fit in the "...", just truncate it
	buf[e - 1] = NUL;
    }

but this means, we may run into the last else clause with e still being
larger than buflen. So a buffer overflow occurs.

So instead of using `buf[e - 1]`, let's just always
truncate at `buf[buflen - 1]` which should always be writable.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-02 20:59:47 +02:00
Yee Cheng Chin
6ee7b521fa patch 9.0.1968: cmdline completion should consider key option
Problem:  cmdline completion should consider key option
Solution: Disable cmdline completion for key option, slightly
          refactor how P_NO_CMD_EXPAND is handled

Harden crypto 'key' option: turn off cmdline completion, disable set-=

"set-=" can be used maliciously with a crypto key, as it allows an
attacker (who either has access to the computer or a plugin author) to
guess a substring by observing the modified state. Simply turn off
set+=/-=/^= for this option as there is no good reason for them to be
used.

Update docs to make that clear as well.

Also, don't allow cmdline completion for 'key' as it just shows *****
which is not useful and confusing to the user what it means (if the user
accidentally hits enter they will have replaced their key with "*****"
instead).

Move logic to better location, don't use above 32-bit for flags

Move P_NO_CMD_EXPAND to use the unused 0x20 instead of going above
32-bits, as currently the flags parameter is only 32-bits on some
systems. Left a comment to warn that future additions will need to
change how the flags work either by making it 64-bit or split into two
member vars.

Also, move the logic for detecting P_NO_CMD_EXPAND earlier so it's not
up to each handler to decide, and you won't see the temporary "..." that
Vim shows while waiting for completion handler to complete.

closes: #13224

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-10-01 09:19:18 +02:00
zeertzjq
7ece036d72 patch 9.0.1967: xattr errors not translated
Problem:  xattr errors not translated
Solution: mark for translation, consistently capitalize
          first letter.

closes: #13236

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-10-01 09:07:14 +02:00
Illia Bobyr
e379e21ddc patch 9.0.1966: configure prints stray 6 when checking libruby
Problem:  configure prints stray 6 when checking libruby
Solution: redirect stdout to dev/null

configure: Do not print "6" when checking for libruby

`expr` will print the matched string length to the standard output.
Current `configure` output looks like this:

```
checking Ruby header files...  /usr/include/ruby-3.1.0
6
```

The script really only cares about `expr` exit code.

closes: #13234

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
2023-09-30 22:59:27 +02:00
Illia Bobyr
8c358e024f patch 9.0.1965: wrong auto/configure script
Problem:  wrong auto/configure script
Solution: regenerate with autoconf 2.71

configure: sys/xattr.hs: Regenerate with autoconf 2.71

It seems that `auto/configure` update in

  commit 6de4e58cf2 (tag: v9.0.1963)
  Author: zeertzjq <zeertzjq@outlook.com>
  Date:   Sat Sep 30 14:19:14 2023 +0200

      patch 9.0.1963: Configure script may not detect xattr

      Problem:  Configure script may not detect xattr correctly
      Solution: include sys/xattr instead of attr/xattr,
                make Test_write_with_xattr_support() test
                xattr feature correctly

      This also applies to the Smack security feature, so change the include
      and configure script for it as well.

      closes: #13229

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

was done manually, and missed an update to the generated variable name.

closes: #13235

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
2023-09-30 22:57:19 +02:00
Christian Brabandt
a4dfbfed89 patch 9.0.1964: xattr support fails to build on MacOS X
Problem:  xattr support fails to build on MacOS X
Solution: Disable xattr support for MacOS X

MacOS X uses the same headers and functions sys/xattr.h but the function
signatures for xattr support are much different, so building fails.

So let's for now disable xattr support there.

closes: #13230
closes: #13232

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-30 18:51:36 +02:00
zeertzjq
6de4e58cf2 patch 9.0.1963: Configure script may not detect xattr
Problem:  Configure script may not detect xattr correctly
Solution: include sys/xattr instead of attr/xattr,
          make Test_write_with_xattr_support() test
          xattr feature correctly

This also applies to the Smack security feature, so change the include
and configure script for it as well.

closes: #13229

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-30 14:22:07 +02:00
Christian Brabandt
e085dfda5d patch 9.0.1962: No support for writing extended attributes
Problem:  No support for writing extended attributes
Solution: Add extended attribute support for linux

It's been a long standing issue, that if you write a file with extended
attributes and backupcopy is set to no, the file will loose the extended
attributes.

So this patch adds support for retrieving the extended attributes and
copying it to the new file. It currently only works on linux, mainly
because I don't know the different APIs for other systems (BSD, MacOSX and
Solaris).  On linux, this should be supported since Kernel 2.4 or
something, so this should be pretty safe to use now.

Enable the extended attribute support with normal builds.

I also added it explicitly to the :version output as well as make it
able to check using `:echo has("xattr")`, to have users easily check
that this is available.

In contrast to the similar support for SELINUX and SMACK support (which
also internally uses extended attributes), I have made this a FEAT_XATTR
define, instead of the similar HAVE_XATTR.

Add a test and change CI to include relevant packages so that CI can
test that extended attributes are correctly written.

closes: #306
closes: #13203

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-30 12:49:18 +02:00
zeertzjq
1f025b01e2 patch 9.0.1961: 'listchars' completion misses "multispace" and "leadmultispace"
Problem:  Cmdline completion for 'listchars' fields doesn't include
          "multispace" and "leadmultispace" (after 9.0.1958).
Solution: Include "multispace" and "leadmultispace" in lcstab.

closes: #13225

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-30 12:43:07 +02:00
Yee Cheng Chin
f7f746b167 patch 9.0.1960: Make CI checks more strict
Problem:  Make CI checks more strict
Solution: Add -Wstrict-prototypes -Wmissing-prototypes to CI,
          fix uncovered problems

Add -Wstrict-prototypes -Wmissing-prototypes warnings check to CI

Add two new warnings to CI, silence some Perl related build-warnings:

- `strict-prototypes` helps prevent declaring a function with an empty
  argument list, e.g. `int func()`. In C++, that's equivalent to `int
  func(void)`, but in C, that means a function that can take any number
  of arguments which is rarely what we want.

- `missing-prototypes` makes sure we use `static` for file-only internal
  functions. Non-static functions should have been declared on a
  prototype file.

- Add `no-compound-token-split-by-macro` to the perl cflags, since it
  throws out a bunch of perl-related warnings that make the CI log
  unnecessary verbose and hard to read. This seems to happen only with
  clang 12 and above.

When applying those changes, it already uncovered a few warnings, so fix
up the code as well (fix prototypes, make the code static, remove
shadowed var declaration)

GTK header needs to have #pragma warning suppressiong because GTK2
headers will warn on `-Wstrict-prototypes`, and it's included by gui.h
and so we can't just turn off the warning in a couple files.

closes: #13223
closes: #13226

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-30 12:32:37 +02:00
Yegappan Lakshmanan
f3b68d4759 patch 9.0.1959: Vim9: methods parameters and types are covariant
Problem:  Vim9: methods parameters and types are covariant
Solution: Support contra-variant type check for object method arguments
          (similar to Dart).

closes: #12965
closes: #13221

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-29 22:50:02 +02:00
Yee Cheng Chin
900894b09a patch 9.0.1958: cannot complete option values
Problem:  cannot complete option values
Solution: Add completion functions for several options

Add cmdline tab-completion for setting string options

Add tab-completion for setting string options on the cmdline using
`:set=` (along with `:set+=` and `:set-=`).

The existing tab completion for setting options currently only works
when nothing is typed yet, and it only fills in with the existing value,
e.g. when the user does `:set diffopt=<Tab>` it will be completed to
`set diffopt=internal,filler,closeoff` and nothing else. This isn't too
useful as a user usually wants auto-complete to suggest all the possible
values, such as 'iblank', or 'algorithm:patience'.

For set= and set+=, this adds a new optional callback function for each
option that can be invoked when doing completion. This allows for each
option to have control over how completion works. For example, in
'diffopt', it will suggest the default enumeration, but if `algorithm:`
is selected, it will further suggest different algorithm types like
'meyers' and 'patience'. When using set=, the existing option value will
be filled in as the first choice to preserve the existing behavior. When
using set+= this won't happen as it doesn't make sense.

For flag list options (e.g. 'mouse' and 'guioptions'), completion will
take into account existing typed values (and in the case of set+=, the
existing option value) to make sure it doesn't suggest duplicates.

For set-=, there is a new `ExpandSettingSubtract` function which will
handle flag list and comma-separated options smartly, by only suggesting
values that currently exist in the option.

Note that Vim has some existing code that adds special handling for
'filetype', 'syntax', and misc dir options like 'backupdir'. This change
preserves them as they already work, instead of converting to the new
callback API for each option.

closes: #13182

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-29 20:42:32 +02:00
Gregory Anders
3695d0e41b patch 9.0.1957: termcap options should change when setting keyprotocol
Problem:  termcap options should change on keyprotocol setting
Solution: Apply termcap entries when 'keyprotocol' changes

When the 'keyprotocol' option was set after startup (including in a
user's .vimrc) the termcap entries associated with the matching protocol
were not applied. Thus, setting the option has no affect.

When 'keyprotocol' is changed it should also update the termcap entries.

closes: #13211

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gregory Anders <greg@gpanders.com>
2023-09-29 20:17:20 +02:00
zeertzjq
28a23602e8 patch 9.0.1956: Custom completion skips orig cmdline if it invokes glob()
Problem:  Custom cmdline completion skips original cmdline when pressing
          Ctrl-P at first match if completion function invokes glob().
Solution: Move orig_save into struct expand_T.

closes: #13216

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-29 19:58:35 +02:00
Ernie Rael
ee865f37ac patch 9.0.1955: Vim9: lockvar issues with objects/classes
Problem:  Vim9: lockvar issues with objects/classes
Solution: fix `get_lhs()` object/class access and avoid `SEGV`,
          make error messages more accurate.

- `get_lval()` detects/returns object/class access
- `compile_lock_unlock()` generate code for bare static and obj_arg access
- `do_lock_var()` check lval for `ll_object`/`ll_class` and fail if so.

Details:
- Add `ll_object`/`ll_class`/`ll_oi` to `lval_T`.
- Add `lockunlock_T` to `isn_T` for `is_arg` to specify handling of `lval_root` in `get_lval()`.
- In `get_lval()`, fill in `ll_object`/`ll_class`/`ll_oi` as needed; when no `[idx] or .key`, check lval_root on the way out.
- In `do_lock_var()` check for `ll_object`/`ll_class`; also bullet proof ll_dict case
  and give `Dictionay required` if problem. (not needed to avoid lockvar crash anymore)
- In `compile_lock_unlock()` compile for the class variable and func arg cases.

closes: #13174

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-29 19:53:55 +02:00
Ken Takata
112431f217 patch 9.0.1954: CI: change netrw label in labeller bot
Problem:  CI: change netrw label in labeller bot
Solution: Rename it to 'plugin-netrw'

closes: #13217

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-09-29 19:48:09 +02:00
Ken Takata
789b8854d2 patch 9.0.1953: Misplaced comment in errors.h
Problem:  Misplaced comment in errors.h
Solution: Move it up

closes: #13218

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-09-29 19:45:42 +02:00
Yegappan Lakshmanan
5a05d374d3 patch 9.0.1952: Vim9: unused static field
Problem:  Vim9: unused static field
Solution: remove it and simplify code

closes: #13220

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-29 19:44:25 +02:00
Christian Brabandt
02902b547b runtime(doc): text-objects: document how escaped delimiters are handled
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-29 00:10:04 +02:00
Yegappan Lakshmanan
b90e3bc491 patch 9.0.1951: Vim9: hard to debug vim9_class errors from CI
Problem:  Vim9: hard to debug vim9_class errors from CI
Solution: Include the line number in assert_xxx() calls.  Include the
          entire error message in the tests.  Fix the indentation in the
          test file.  Add tags for new error codes.

closes: #13206

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-28 23:16:35 +02:00
Yegappan Lakshmanan
413f83990f patch 9.0.1950: Vim9: error codes spread out
Problem:  Vim9: error codes spread out
Solution: group them together and reserve 100
          more for future use

Reserve 100 error codes for future enhancements to the Vim9 class
support

closes: #13207

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-28 22:46:37 +02:00
Yegappan Lakshmanan
f057aca1cc patch 9.0.1949: Vim9: allows reserved keywords as members
Problem:  Vim9: allows reserved keywords as members
Solution: Disallow reserved keywords, disallow
          duplicate object and class variables

closes: #13209

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-28 22:28:15 +02:00
h-east
db38552dcd patch 9.0.1948: Vim9: object variable "this." should only be used in constructor
Problem:  Vim9: object variable "this." should only be used in
          constructor
Solution: Disallow to this in normal object methods (other than
          constructors)

closes: #13152
closes: #13212

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: h-east <h.east.727@gmail.com>
2023-09-28 22:18:19 +02:00
Ken Takata
03ca4002c1 patch 9.0.1947: Bash Expansion test fails on Windows/MacOS
Problem:  Bash Expansion test fails on Windows/MacOS
Solution: Disable Test_glob_extended_bash for now

This test doesn't work on Windows even if bash can be executed, since
the globstar functionality has only been enabled in Unix builds of Vim
(Commit 9eb1ce5315, patch 9.0.1946).

closes: #13205

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-09-28 21:59:58 +02:00
Christian Brabandt
e845b38dab runtime(doc): regenerate xxd manpage
Commit f6fc255e8d (v9.0.1834) updated xxd.1 but the xxd.man
page wasn't re-generated. So let's just regenerate it now.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-27 23:33:39 +02:00
Christian Brabandt
9eb1ce5315 patch 9.0.1946: filename expansion using ** in bash may fail
Problem:  filename expansion using ** in bash may fail
Solution: Try to enable the globstar setting

Starting with bash 4.0 it supports extended globbing using the globstar
shell option. This makes matching recursively below a certain directory
using the ** pattern work as expected nowadays.  However, we need to
explicitly enable this using the 'shopt -s globstar' bash command.

So let's check the bash environment variable $BASH_VERSINFO (which is
supported since bash 3.0 and conditionally enable the globstar option,
if the major version is at least 4. For older bashs, this at least
shouldn't cause errors (unless one is using really ancient bash 2.X or
something).

closes: #13002
closes: #13144

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-27 19:08:25 +02:00
Yegappan Lakshmanan
2dede3dbfa patch 9.0.1945: Vim9: missing support for ro-vars in interface
Problem:  Vim9: missing support for ro-vars in interface
Solution: Support only read-only object variables in an interface,
          add additional checks when parsing class definitions.

closes: #13183
cloess: #13184
cloess: #13185.
closes: #13188

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-27 19:02:01 +02:00
zeertzjq
5277cfaf8a runtime(doc): mention mouse scrolling in scrollbind-quickadj (#13190)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-27 19:00:12 +02:00
Josef Litoš
54f70cf078 runtime(swayconfig): Update syntax file (#13192)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-27 18:58:15 +02:00
Josef Litoš
02774f99ce runtime(i3config): update i3config syntax (#13191)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-27 18:57:24 +02:00
Jakson Alves de Aquino
3474594239 runtime(rmd) Update ftplugin and syntax files (#13193)
ftplugin/rmd.vim:

  - Set 'commentstring' dynamically according to code region.

syntax/rmd.vim:

  - Include syntax highlighting of fenced languages dynamically.
  - Add conceal char for line break.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-27 18:56:02 +02:00
Yegappan Lakshmanan
a76fbe6e00 patch 9.0.1944: Vim9: function instruction pointer invalidated
Problem:  Vim9: function instruction pointer invalidated
Solution: Use the funcref index instead of the instruction pointer

closes: #13178
closes: #13196

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-27 18:53:10 +02:00
Ivan Pešić
91adcbdcc1 translation(sr): Update Serbian messages translation
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-27 18:48:42 +02:00
Philip H
f109bf93c9 patch 9.0.1943: CI not run with clang-17
Problem:  CI not run with clang-17
Solution: Update CI to use clang-17

closes: #12745

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
2023-09-25 21:05:00 +02:00
Yegappan Lakshmanan
c1946267f2 patch 9.0.1942: Vim9: execution stack invalidated with null object
Problem:  Vim9: execution stack invalidated with null object
Solution: Check for a null object before adjusting the execution stack

closes: #13186

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-25 21:00:46 +02:00
Eisuke Kawashima
54e1f56cf2 runtime(sh): only invoke bash help in ftplugin if it has been detected to be bash (#13171)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-25 19:40:45 +01:00
Yegappan Lakshmanan
3aa114463f patch 9.0.1941: Memory leak detected
Problem:  Memory leak detected (after 9.0.1928)
Solution: Free arg_objm in get_lambda_tv()

closes: #13181

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-25 12:13:17 +02:00
Yegappan Lakshmanan
e1b95f5252 runtime(doc): Update help tags (#13180)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-25 08:19:48 +01:00
Christian Brabandt
ec8deb092c patch 9.0.1940: wrong upstream version in libvterm README
Problem:  wrong upstream version in libvterm README
Solution: correct version to 839

related: #12746

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-24 23:43:38 +02:00
Yegappan Lakshmanan
b80ae6cec3 patch 9.0.1939: still a problem when processing LSP RPC requests
Problem:  still a problem when processing LSP RPC requests
Solution: When processing async LSP RPC requests, compare sequence
          numbers only in response messages

A LSP request message can be sent to the language server either
synchronously (ch_evalexpr) or asynchronously (ch_sendexpr). In both
cases, when looking for response messages by using the sequence number,
LSP requests messages from the language server with the same sequence
number should not be used. Patch 9.0.1927 fixed this issue for
synchronous requests. This PR fixes the issue for asynchronous requests
and adds additional tests.

closes: #13158

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-24 23:38:46 +02:00
Yegappan Lakshmanan
ceffca683b runtime(todo): Update Vim9 class items (#13148)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-24 23:36:56 +02:00
Yegappan Lakshmanan
c3b315f496 runtime(doc): Vim9: Consistenly use class/object variable and class/object method in help (#13149)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-24 23:36:17 +02:00
zeertzjq
abc808112e patch 9.0.1938: multispace wrong when scrolling horizontally
Problem:  multispace wrong when scrolling horizontally
Solution: Update position in "multispace" or "leadmultispace" also in
          skipped chars. Reorder conditions to be more consistent.

closes: #13145
closes: #13147

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-24 23:32:18 +02:00
zeertzjq
46a0582ffa patch 9.0.1937: missing test for mouse click + 'virtedit'
Problem:  missing test for mouse click + 'virtedit'
Solution: Add test for clicking after eol with 'virtualedit' and wrapped
          line

closes: #13157

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-24 23:30:03 +02:00
Isao Sato
e6fca0e822 patch 9.0.1936: test: using wrong expected message in test_crypt
Problem:  test: using wrong expected message in test_crypt
Solution: make use of single quotes

closes: #13151

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Isao Sato <svardew@gmail.com>
2023-09-24 23:27:25 +02:00
RestorerZ
7fe8f43f49 patch 9.0.1935: Vim9: not consistent error messages
Problem:  Vim9: not consistent error messages
Solution: Make error messages more consistent. Use "variable" for
          (object/class) member

closes: #13155

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: RestorerZ <restorer@mail2k.ru>
2023-09-24 23:21:24 +02:00
zeertzjq
46bdae036a patch 9.0.1934: :bwipe fails after switching window from aucmd_win.
Problem:  :bwipe fails after switching window from aucmd_win.
Solution: Decrement b_nwindows after switching back to aucmd_win.

closes: #13160

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-24 23:17:14 +02:00
zeertzjq
edcba96c00 patch 9.0.1933: Can change the type of a v: variable using if_lua
Problem:  Can change the type of a v: variable using if_lua.
Solution: Add additional handling of v: variables like :let.

closes: #13161

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-24 23:13:51 +02:00
Yegappan Lakshmanan
7398f367d5 patch 9.0.1932: Vim9: error when using null object constructor
Problem:  Vim9: error when using null object constructor
Solution: Check for a null object only when calling an object method

closes: #13154
closes: #13163

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-24 23:09:10 +02:00
Dominique Pellé
960822a11f runtime(doc): grammar fixes in doc (#13164)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-24 23:07:39 +02:00
Yegappan Lakshmanan
7c948644fb runtime(doc): Update the version9.txt with a template for version 9.1 enhancements (#13165)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-24 23:07:03 +02:00
a5ob7r
790f9a890c runtime(doc): Add a missing '<' to the help of strutf16len() (#13168)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-24 23:05:47 +02:00
Dominique Pellé
ca0ffc0d63 patch 9.0.1931: make test_compilers fails on ubuntu
Problem:  make test_compilers fails on ubuntu
Solution: set LC_ALL=C

fix: make test_compiler failed on xubuntu 22.04.3

Problem: 'make test_compiler' failed on Linux xubuntu 22.04.3 but
         succeeded on e.g. macOS. To reproduce:
```
$ ./configure --with-features=huge --enable-gui=no --enable-perlinterp=yes
$ make -j12
$ cd vim/src/testdir
$ make test_compiler
...snip...
Found errors in Test_compiler():
command line..script /home/dope/sb/vim/src/testdir/runtest.vim[601]..function RunTheTest[54]..Test_compiler line 24: command did not fail: clist
command line..script /home/dope/sb/vim/src/testdir/runtest.vim[601]..function RunTheTest[54]..Test_compiler line 30: Pattern '\\n \\d\\+ Xfoo.pl:3: Global symbol "$foo" requires explicit package name' does not match '\n19 Xfoo.pl:3: Global symbol "$foo" requires explicit package name (did you forget to declare "my $foo"?)'
make: *** [Makefile:70: test_compiler] Error 1
```
Solution: set `LC_ALL` to "C" in `Test_compiler()`

closes: #13173

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Dominique Pellé <dominique.pelle@tomtom.com>
2023-09-24 22:57:41 +02:00
Remy Bos
8ffcb47a43 runtime(tutor): fix typo in tutor.nl (#13175)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-24 22:54:30 +02:00
Dominique Pellé
4927bc7d27 patch 9.0.1930: compiler warnings with clang-17
Problem:  compiler warnings with clang-17
Solution: Fix function prototypes and function pointer

fix: clang compilation warnings with -Wstrict-prototypes

Change fixes this kind of compilation warnings with clang:
```
proto/if_python3.pro:13:20: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
   13 | int python3_version();
      |                    ^
      |                     void
```

closes: #13166

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Dominique Pellé <dominique.pelle@tomtom.com>
2023-09-24 16:16:06 +02:00
Dominique Pellé
99c3849a92 patch 9.0.1929: runtime tests fail with tiny vim
Problem:  runtime tests fail with tiny vim
Solution: check for tiny vim, run runtime tests in CI
          even for tiny version

closes: #13169
closes: #13170

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Dominique Pellé <dominique.pelle@tomtom.com>
2023-09-24 16:09:31 +02:00
h-east
b895b0fabc patch 9.0.1928: Vim9: constructor type checking bug
Problem:  Vim9: constructor type checking bug
Solution: Fix class constructor regression

closes: #13102
closes: #13113

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: h-east <h.east.727@gmail.com>
2023-09-24 15:46:31 +02:00
Christian Brabandt
ceee7a808c patch 9.0.1927: patch 1916 (fixed terminal size) not optimal
Problem:  patch 1916 (fixed terminal size) not optimal
Solution: Add defines to make it easier changeable later

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-21 16:57:42 +02:00
Ernie Rael
696270bcae patch 9.0.1926: Vim9: not enough info in error message
Problem:  Vim9: not enough info in error message
Solution: Add class name, change member to variable, quote names

closes: #13136

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-21 16:42:28 +02:00
Yee Cheng Chin
02c51b1dd8 patch 9.0.1925: if_python: still undefined behaviour with function pointer
Problem:  if_python: still undefined behaviour with function pointer
Solution: fix remaining problems

Fix remaining issues in the if_python code in casting incompatible
function pointers leading to Clang 17 giving runtime errors during
UBSAN.

closes: #13140

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-21 16:40:12 +02:00
Yegappan Lakshmanan
1926ae4184 patch 9.0.1924: LSP server message still wrongly handled (after 9.0.1922)
Problem:  LSP server message still wrongly handled (after 9.0.1922)
Solution: Handle 'method' messages properly, don't discard them, add
          tests.

closes: #13141

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-21 16:36:28 +02:00
zeertzjq
db54e989b5 patch 9.0.1923: curswant wrong on click with 've' and 'wrap' set
Problem:  curswant wrong on click with 've' and 'wrap' set
Solution: Add w_leftcol to mouse click column.

closes: #13142

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-21 16:33:09 +02:00
zeertzjq
a7aba6ca50 runtime(doc): format jumplist examples more consistently (#13137)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-21 07:22:57 +01:00
Yegappan Lakshmanan
78c5a5abc6 patch 9.0.1922: LSP server request message is misinterpreted as a response message
Problem:  LSP server request message is misinterpreted as a response message
Solution: Check that the message does not have the "message" field

closes: #13133

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-20 20:32:55 +02:00
Yegappan Lakshmanan
87018255e3 patch 9.0.1921: not possible to use the jumplist like a stack
Problem:  not possible to use the jumplist like a stack
Solution: Add the 'jumpoptions' setting to make the jumplist
          a stack.

Add an option for using jumplist like tag stack

related: #7738
closes: #13134

ported from NeoVim:

- https://neovim.io/doc/user/motion.html#jumplist-stack
- neovim/neovim@39094b3
- neovim/neovim#11530
- https://vi.stackexchange.com/questions/18344/how-to-change-jumplist-behavior

Based on the feedback in the previous PR, it looks like many people like
this option.

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: butwerenotthereyet <58348703+butwerenotthereyet@users.noreply.github.com>
2023-09-20 20:25:17 +02:00
Ernie Rael
98e68c07ce patch 9.0.1920: Vim9: cannot write public var in nested object
Problem:  Vim9: cannot write public var in nested object
Solution: Write variable in nested read-only object reference.
          Also test write fails.

closes: #13130
closes: #13131

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-20 20:13:06 +02:00
zeertzjq
03cd697d63 patch 9.0.1919: Wrong curswant when clicking on empty line or with vsplits
Problem:  Wrong curswant when clicking on empty line or with vsplits.
Solution: Don't check for ScreenCols[] before the start of the window
          and handle empty line properly.

closes: #13132

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-20 20:08:40 +02:00
Matt Polzin
5790a54166 patch 9.0.1918: No filetype detection for Authzed filetypes
Problem:  No filetype detection for Authzed filetypes
Solution: Detect the *.zed file extension as authzed filetype

closes: #13129

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Matt Polzin <mpolzin@workwithopal.com>
2023-09-20 20:03:52 +02:00
Yee Cheng Chin
d606fccf6f patch 9.0.1917: undefined behaviour with python function pointer
Problem:  undefined behaviour with python function pointer
Solution: correctly cast function pointers from void

Fix more undefined behaviors in if_python

Fix remaining UBSAN errors from Clang 17 in if_python in casting
function pointers.

Also fix a mistake where `PyMem_Free()` should be returning void, by the
dynamic build is mistakenly casting it as a function that returns an
int.

closes: #13128

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-20 19:59:47 +02:00
Christian Brabandt
aa64ba1587 patch 9.0.1916: Crash when allocating large terminal screen
Problem:  Crash when allocating large terminal screen
Solution: Don't allow values > 1000 for terminal
          screen columns and rows

closes: #13126

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-19 21:16:52 +02:00
Christian Brabandt
476733f3d0 patch 9.0.1915: r_CTRL-C works differently in visual mode
Problem:  r_CTRL-C works differently in visual mode
Solution: Make r_CTRL-C behave consistent in visual mode
          in terminal and Windows GUI

in visual mode, r CTRL-C behaves strange in Unix like environments. It
seems to end visual mode, but still is waiting for few more chars,
however it never seems to replace it by any characters and eventually
just returns back into normal mode.

In contrast in Windows GUI mode, r_CTRL-C replaces in the selected area
all characters by a literal CTRL-C.

Not sure why it behaves like this. It seems in the Windows GUI, got_int
is not set and therefore behaves as if any other normal character has
been pressed.

So remove the special casing of what happens when got_int is set and
make it always behave like in Windows GUI mode. Add a test to verify it
always behaves like replacing in the selected area each selected
character by a literal CTRL-C.

closes: #13091
closes: #13112

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-19 20:45:07 +02:00
Yegappan Lakshmanan
1db1514365 patch 9.0.1914: Vim9: few issues when accessing object members
Problem:  Vim9: few issues when accessing object members
Solution: When calling an object method, check for null object.
          Accessing a Dict object member doesn't work.

closes: #13119
closes: #13123
closes: #13124

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-19 20:36:02 +02:00
Yee Cheng Chin
2ce070c27a patch 9.0.1913: if_python: undefined behaviour for function pointers
Problem:  if_python: undefined behaviour for function pointers
Solution: Fix if_python undefined behavior for function pointer casts

Identified by clang 17 UBSAN (see #12745). Make sure to cast function
pointers with the same signature only.

closes: #13122

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-19 20:30:22 +02:00
Christian Brabandt
6f00d17e8d patch 9.0.1912: Cirrus-CI running out of credits
Problem:  Cirrus-CI running out of credits
Solution: disable Cirrus-CI for now

We are running out of credits for Cirrus CI already at the middle of the
month and unfortunately this means our CI now consistently fails. This
all hapens because cirrus ci is not enforcing the free-tier limits (see also
https://cirrus-ci.org/blog/2023/07/17/limiting-free-usage-of-cirrus-ci/).

Perhaps at the beginning of the next month we can revisit and
enable just a build without testing it.  Hopefully this is won't take
too many credits and we can at least verify that building works.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-19 20:19:08 +02:00
Ernie Rael
3da696db6a patch 9.0.1911: Vim9: segfault with null object and instanceof()
Problem:  Vim9: segfault with null object and instanceof()
Solution: return early

closes: #13121

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-19 20:14:18 +02:00
Christian Brabandt
346ac1429c runtime(doc): add help tag describing object-selection
closes: #13114

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-18 20:12:22 +02:00
Sevan Janiyan
063c562a37 patch 9.0.1910: Mac OS X: missing sound support on older versions
Problem:  Mac OS X: missing sound support on older versions
Solution: Check Macro MAC_OS_X_VERSION_MIN_REQUIRED

Extend guard for sound support on OS X

Fixes build on legacy versions where required coreaudio functionality
may not be available. NSSoundDelegate apparently was introduced in Snow
Leopard yet the build breaks on it. Guarding off enabling sound support
to El Capitan as that's the next version I had access to for testing (it
may work on earlier versions)
https://developer.apple.com/documentation/appkit/nssounddelegate Vim
builds on OS X Tiger 10.4 and newer with this change.

closes: #13115

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Sevan Janiyan <venture37@geeklan.co.uk>
2023-09-18 20:04:32 +02:00
Yegappan Lakshmanan
00cd18222e patch 9.0.1909: Vim9: problem calling class method from other class
Problem:  Vim9: problem calling class method from other class
Solution: Fix this problem, fix readonly object access, update error
          messages.

Calling a class method from another method without the class name prefix
doesn't work properly.

A readonly object variable is modifiable outside the class using a
nested object assignment.

Remove the unused E1338 error message.

Update error messages.

closes: #13116

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-18 19:56:49 +02:00
Yee Cheng Chin
d25021cf03 patch 9.0.1908: undefined behaviour upper/lower function ptrs
Problem:  undefined behaviour upper/lower function ptrs
Solution: Fix UBSAN error in regexp and simplify upper/lowercase
          modifier code

The implementation of \u / \U / \l / \L modifiers in the substitute
command relies on remembering the state by setting function pointers on
func_all/func_one in the code. The code signature of `fptr_T` is
supposed to return void* (due to C function signatures not being able to
return itself due to type recursion), and the definition of the
functions (e.g. to_Upper) didn't follow this rule, and so the code tries
to cast functions of different signatures, resulting in undefined
behavior error under UBSAN in Clang 17. See #12745.

We could just fix `do_Upper`/etc to just return void*, which would fix
the problem. However, these functions actually do not need to return
anything at all. It used to be the case that there was only one pointer
"func" to store the pointer, which is why the function needs to either
return itself or NULL to indicate whether it's a one time or ongoing
modification. However, c2c355df6f
(7.3.873) already made that obsolete by introducing `func_one` and
`func_all` to store one-time and ongoing operations separately, so these
functions don't actually need to return anything anymore because it's
implicit whether it's a one-time or ongoing operation. Simplify the code
to reflect that.

closes: #13117

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-18 19:51:56 +02:00
Christian Brabandt
d8b86c937a runtime(netrw): fix filetype detection for remote editing files
closes: #12990
closes: #12992

this partially reverses commit 71badf9 by commenting out the line that
intentionally sets the filetype to an empty string.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-17 18:52:56 +02:00
dkearns
e30d8e4ce0 runtime(kotlin): Add Kotlin runtime files (#13110)
Closes udalov/kotlin-vim#39

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-17 18:51:22 +02:00
Romain Beauxis
6b5efcdd8e patch 9.0.1907: No support for liquidsoap filetypes
Problem:  No support for liquidsoap filetypes
Solution: Add liquidsoap filetype detection code

closes: #13111

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Romain Beauxis <toots@rastageeks.org>
2023-09-17 18:49:20 +02:00
Yegappan Lakshmanan
92d9ee5f4c patch 9.0.1906: Vim9: Interfaces should not support class methods and variables
Problem:  Vim9: Interfaces should not support class methods and
          variables
Solution: Make sure interface follow the interface specification

Vim9 interface changes to follow the new interface specification:

1) An interface can have only read-only and read-write instance
   variables.
2) An interface can have only public instance methods.
3) An interface cannot have class variables and class methods.
4) An interface cannot have private instance variables and private
   instance methods.
5) A interface can extend another interface using "extends". The
   sub-interface gets all the variables and methods in the super
   interface.

That means:
- Interfaces should not support class methods and variables.
- Adjust error numbers and add additional tests.
- Interface methods can be defined in one of the super classes.
- Interface variables can be defined in one of the super classes.
  and instance variables can be repeated in sub interfaces.
- Check the class variable types with the type in interface.

closes: #13100

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-17 17:03:19 +02:00
dundargoc
0483e49f90 patch 9.0.1905: FEAT_FLOAT no longer defined
Problem:  FEAT_FLOAT no longer defined
Solution: Remove last existing FEAT_FLOAT ifdefs in
          message_test

Remove FEAT_FLOAT as that should always be true

FEAT_FLOAT has been removed in v9.0.0491 (73e28dcc61) but
unfortunately, it was forgotten to remove it from message_test.c. So
let's remove the last mentioned ifdefs which are now unused.

closes: #13106

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: dundargoc <gocdundar@gmail.com>
2023-09-17 16:58:22 +02:00
dundargoc
e6059c321b patch 9.0.1904: Cirrus-CI fails because we have used all credits
Problem:  Cirrus-CI fails because we have used all credits
Solution: Remove FreeBSD 13.1 and MacOS M1

Cirrus CI has started introducing monthly limits. Vim has exceeded the
monthly limit which means our CI unfortunately starts to fail. So let's
remove some CI tasks, so that in the future we won't run out of credits
so fast.

closes: #13108

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: dundargoc <gocdundar@gmail.com>
2023-09-17 16:53:18 +02:00
Christian Brabandt
177437cc6f doc(INSTALLpc): mention additional packages for msys2
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-17 16:36:33 +02:00
Christian Brabandt
a66feb5fb5 patch 9.0.1903: CI fails because snd-dummy modules missing
Problem:  Github Actions fails because snd-dummy modules missing
          in current runner images
Solution: ignore modprobe error

related: actions/runner-images#8295

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-16 18:29:42 +02:00
Yee Cheng Chin
249a208803 runtime(man): Man plugin does not respect 'gdefault'
Fix the issue introduced by #12557. `:substitute` commands in plugins
need to take into account whether `gdefault` is set or not because
that depends on the user.

closes: #13097

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-16 18:12:14 +02:00
Yegappan Lakshmanan
e2deb7e598 patch 9.0.1902: Vim9: Coverity complains about dead code
Problem:  Vim9: Coverity complains about dead code
Solution: Copy only object methods from the super class
          to a subclass when extending a class.  Fix
          Coverity warning.

closes: #13103

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-16 18:05:07 +02:00
Ken Takata
ad29f6af0a patch 9.0.1901: win32: not correctly freeing environment
Problem:  win32: not correctly freeing environment
Solution: After we call GetEnvironmentStringsW, we should call
          FreeEnvironmentStringsW

closes: #13096
closes: #13094

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
2023-09-16 13:56:02 +02:00
Yee Cheng Chin
e7d79eb98a patch 9.0.1900: Configure script uses non-portable == comparison
Problem:  Configure script uses non-portable == comparison
Solution: Use the standard and portable "=" instead

closes: #13095
closes: #13099

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-16 13:38:26 +02:00
Christian Brabandt
ffb13674d1 patch 9.0.1899: potential buffer overflow in PBYTE macro
Problem:  potential buffer overflow in PBYTE macro
Solution: Check returned memline length

closes: #13083

the PBYTE macro is used to put byte c at a position lp of the returned
memline. However, in case of unexpected errors ml_get_buf() may return
either "???" or an empty line in which case it is quite likely that we
are causing a buffer overrun.

Therefore, switch the macro PBYTE (which is only used in ops.c anyhow)
to a function, that verifies that we will only try to access within the
given length of the buffer.

Also, since the macro is only used in ops.c, move the definition from
macros.h to ops.c

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-15 20:22:02 +02:00
Yegappan Lakshmanan
c30a90d9b2 patch 9.0.1898: Vim9: restrict access to static vars
Problem:  Vim9: restrict access to static vars and methods
Solution: Class members are accesible only from the class where they are
          defined.

Based on the #13004 discussion, the following changes are made:

    1) Static variables and methods are accessible only using the class
       name and inside the class where they are defined.
    2) Static variables and methods can be used without the class name in
       the class where they are defined.
    3) Static variables of a super class are not copied to the sub class.
    4) A sub class can declare a class variable with the same name as the
       super class.
    5) When a method or member is found during compilation, use more
       specific error messages.

This aligns the Vim9 class variable/method implementation with the Dart
implementation.

Also while at it, ignore duplicate class and object methods.

The access level of an object method can however be changed in a
subclass.

For the tests, use the new CheckSourceFailure() function instead of the
CheckScriptFailure() function in the tests.

closes: #13086

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-15 20:14:55 +02:00
dkearns
35928ee8f8 runtime(vim): Highlight all :loadkeymap abbreviations in vim syntax (#13092)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-15 20:12:50 +02:00
dkearns
c1f8bb37c6 runtime(forth): Fix :unlet error in ftplugin (#13090)
Fixes #13089.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-15 15:47:06 +01:00
Christian Brabandt
6ffcc58be3 runtime(help): Updated documentation on editorconfig
Add a small section about the distributed Editorconfig plugin at :h
usr_05.txt just below the matchit plugin.  While editing that help
document, also add a bit of more documentation about standard plugins
and local help file additions.

Regenerate $VIMRUNTIME/doc/tags file with all the new tags from the rust
runtime files.

While at it, update the Editorconfig help page (and re-generate the
helptags file).

closes: #13078

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-12 21:08:54 +02:00
Josef Litoš
8b2457a381 runtime(swayconfig): improve syntax highlighting (#13060)
* syntax(swayconfig): improved highlighting
* syntax(swayconfig): adapt to i3config structure

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-12 20:24:47 +02:00
Gregory Anders
fc93594d56 runtime(rust): sync rust runtime files with upstream (#13075)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-12 20:23:38 +02:00
Josef Litoš
f5356bf675 runtime(i3config): syntax structure cleanup (#13080)
* syntax(i3config): improved i3config highlighting
* syntax(i3config): refactor structure

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-12 20:20:25 +02:00
Christian Brabandt
596ad66d1d runtime(doc): documentation updates
This is a collection of various improvements to the help pages

closes #12790

Co-authored-by: Houl <anwoku@yahoo.de>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Co-authored-by: Adri Verhoef <a3@a3.xs4all.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-11 20:23:11 +02:00
Josef Litoš
62145db91b syntax(i3config): improved i3config highlighting (#13054)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-11 20:12:48 +02:00
Christian Brabandt
504543f98b patch 9.0.1897: Vim9: confusing error with .= in compiled functions
Problem:  Vim9: confusing error with .= in compiled functions
Solution: Check in error condition, if .= was attempted and in that case
          give a different error message.

closes: #12972
closes: #13066

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-11 20:08:50 +02:00
zeertzjq
6b9c202549 patch 9.0.1896: "below" virtual text doesn't work with 'rightleft'
Problem:  "below" virtual text doesn't work with 'rightleft'.
Solution: Use column from right border with 'rightleft'.

closes: #13071

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-11 20:01:17 +02:00
Ernie Rael
4d00b835c4 patch 9.0.1895: Vim9: finding object method/member is inefficient
Problem:  Vim9: finding method/member is inefficient
Solution: Use lookups

closes: #13073

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-11 19:57:52 +02:00
Doug Kearns
f787ee8451 runtime(doc): Add g:c_syntax_for_h to filetype-overrule docs
closes: #13074

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-11 19:50:09 +02:00
dependabot[bot]
213c323184 CI: Bump actions/checkout from 3 to 4 (#13072)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-11 19:43:33 +02:00
Christian Brabandt
e5f7cd0a60 patch 9.0.1894: CI: trailing whitespace in tests
Problem:  CI: trailing white space in tests
Solution: clean up the trailing white space

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-10 19:26:47 +02:00
Christian Brabandt
983d808674 patch 9.0.1893: CI: strptime test fails on BSD14
Problem:  CI: strptime test fails on BSD14
Solution: Skip the test

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-10 19:06:09 +02:00
Philip H
24a95f42b8 patch 9.0.1892: CI: no FreeBSD 14 support
Problem:  CI: no FreeBSD 14 support
Solution: Drop support for FreeBSD 12, add FreeBSD 14

closes: #13059

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
2023-09-10 18:31:51 +02:00
Wu Yongwei
e7833e7347 runtime(masm): add support for AVX-2 and AVX-512 (#13061)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-10 18:27:31 +02:00
Mahmoud Abduljawad
0ce2c594d0 patch 9.0.1891: No runtime support for Mojo
Problem:  No runtime support for Mojo
Solution: Add basic filetype and syntax plugins

closes: #13062
closes: #13063

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Co-authored-by: Mahmoud Abduljawad <mahmoud@masaar.com>
2023-09-10 18:23:04 +02:00
Yegappan Lakshmanan
f36bbcd402 patch 9.0.1890: Vim9: lookup code for class/object repaeated
Problem:  Vim9: lookup code for class/object repaeated
Solution: Refactor and make use of lookup functions

closes: #13067

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-10 18:19:06 +02:00
Emil Ejbyfeldt
0661033075 runtime(scala): Fix Scala highlighting string literal as type param (#13070)
Since https://docs.scala-lang.org/sips/42.type.html which is implemented
in Scala 2.13 and in Scala 3 it possible to use string literals as
singleton types. So code like
```
someFunc["abc"]
```
is valid. Currently this code is not hightlighted correctly and worse if
there is an unclosed `(` in the string it breaks the formating in the
rest of the file.

I also submitted this patch to the mentioned project for this runtime
file: https://github.com/derekwyatt/vim-scala/pull/173 But there are no
commits there over the last 2 years and no response in the week since I
created it. Also the last change to the Scala syntax file:
https://github.com/vim/vim/pull/9594 is yet to be backported to that
repo. Therefore I am opening this PR as well to get some feedback on how
to proceed to get this fixed.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-10 18:16:51 +02:00
Yegappan Lakshmanan
0405405536 patch 9.0.1889: Vim9 static tests fail
Problem:  Vim9 static tests fail
Solution: Fix tests, make CI happy ;)

closes: #13064

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-10 18:12:56 +02:00
Andrii Sokolov
733bbcde77 runtime(nasm): updated syntax file
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-09 12:00:09 +02:00
Yegappan Lakshmanan
342f4f626e patch 9.0.1888: Vim9: Problem trying to invoke class method
Problem:  Vim9: Problem trying to invoke class method
Solution: Lookup the class method insider other classes

closes: #13055

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-09 11:37:23 +02:00
Yegappan Lakshmanan
23c92d93c1 patch 9.0.1887: Vim9: class members are accessible via object
Problem:  Vim9: class members are accessible via object
Solution: Disable class member variable access using an object

Class methods can be accessed only using the class name and cannot be
accessed using an object. To be consistent with this, do the same for
class member variables also. They can be accessed only using the class
name and not using an object.

closes: #13057

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-09 11:33:29 +02:00
Christian Brabandt
ee17b6f70d patch 9.0.1886: Various Typos
Problem:  Various Typos
Solution: Fix Typos

This is a collection of typo related commits.

closes: #12753
closes: #13016

Co-authored-by: Adri Verhoef <a3@a3.xs4all.nl>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
Co-authored-by: nuid64 <lvkuzvesov@proton.me>
Co-authored-by: Meng Xiangzhuo <aumo@foxmail.com>
Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-09 11:31:38 +02:00
Yegappan Lakshmanan
7bcd25cad3 patch 9.0.1885: Vim9: no support for abstract methods
Problem:  Vim9: no support for abstract methods
Solution: Add support for defining abstract methods in an abstract class

closes: #13044
closes: #13046

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-08 19:29:31 +02:00
fritzophrenic
86cfb39030 runtime(tohtml): Update TOhtml to version 9.0v2 (#13050)
Modified behavior:
  - Change default value of g:html_use_input_for_pc from "fallback" to
    "none". This means with default settings, only the standards-based
    method to make special text unselectable is used. The old method
    relying on unspecified browser behavior for <input> tags is now only
    used if a user specifically enables it.
  - Officially deprecate g:use_xhtml option (in favor of
    g:html_use_xhtml) by issuing a warning message when used.

Bugfixes:
  - Fix issue #8547: LineNr and other special highlight groups did not
    get proper style rules defined when using "hi link".
  - Fix that diff filler was not properly added for deleted lines at the
    end of a buffer.

Other:
  - Refactored function definitions from long lists of strings to use
    :let-heredoc variable assignment instead.
  - Corrected deprecated "." string concatenation operator to ".."
    operator in more places.


Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-08 19:20:01 +02:00
Christ van Willegen
1bd2cb1169 patch 9.0.1884: Wrong order of arguments for error messages
Problem:  Wrong order of arguments for error messages
Solution: Reverse order or arguments for e_aptypes_is_null_nr_str

closes: #13051

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
2023-09-08 19:18:58 +02:00
dkearns
4e554d282c runtime(perl): Update ftplugin and indent files (#13052)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-08 19:16:03 +02:00
Yegappan Lakshmanan
cc0bcf4c9f patch 9.0.1883: Vim9: Calling an interface method using a child object fails
Problem:  Vim9: Calling an interface method using a child object fails
Solution: Search methods of parent class

When a class implementing an interface is extended by another class and
a child class instance is passed to a function that accepts the
interface, calling an interface method doesn't work properly.

closes: #13053

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-08 19:12:03 +02:00
Christian Brabandt
11d2aeeca4 runtime(doc): update help tags file
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-06 16:39:14 +02:00
Christian Brabandt
da200c2f78 patch 9.0.1882: Trailing white space in tests
Problem:  Trailing white space in tests
Solution: Delete it

This causes test_codestyle to fail, so we need to remove it again.
Hopefully that makes the CI green again.

Note: I will start using annotated tags from now on.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-06 21:12:24 +02:00
Christian Brabandt
5856b07795 patch 9.0.1881: Test_crash fails on Mac
Problem:  Test_crash fails on Mac
Solution: Skip test on Mac

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-06 20:53:46 +02:00
Ernie Rael
cf138d4ea5 patch 9.0.1880: Vim9: Need more tests for inheritance
Problem:  Vim9: Need more tests for inheritance
Solution: Add access tests and fixes.

`inside_class` fix from yegappan. `object_index_from_itf_index` fix
access of member on class extending class implementing interface.

Based on tests from Vim9: Class/Object member variable access control #12979

closes: #13032
related: #12979

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-06 20:45:03 +02:00
Christian Brabandt
f7ac0ef509 runtime: don't execute external commands when loading ftplugins
This is a followup to 816fbcc262 (patch
9.0.1833: [security] runtime file fixes)

It basically disables that external commands are run on loading of the
filetype plugin, **unless** the user has set the `g:plugin_exec = 1`
global variable in their configuration or for a specific filetype the
variable g:<filetype>_exec=1.

There are a few more plugins, that may execute system commands like
debchangelog, gitcommit, sh, racket, zsh, ps1 but those do at least
do not run those commands by default during loading of the filetype plugin
(there the command is mostly run as convenience for auto-completion or
to provide documentation lookup).

closes: #13034

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Tim Pope <vim@tpope.org>
2023-09-06 20:41:25 +02:00
Yegappan Lakshmanan
1689e847ff patch 9.0.1879: Vim9: incorrect duplicate class member detection
Problem:  Vim9: incorrect duplicate class member detection
Solution: Incorrect duplicate class member detection when variable names
          have the same prefix.  Not able to access class member variables
          using an object. Fix coding style issues

closes: #13042

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-06 20:23:23 +02:00
Philip H
1690ec64ff patch 9.0.1878: tests running sh have problems
Problem:  tests running sh have problems
Solution: Check that dash is installed

closes: #13040

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
Co-authored-by: Christian Brabandt <cb@256bit.org>
2023-09-06 20:20:07 +02:00
Christian Brabandt
18d2709aa1 patch 9.0.1877: missing test for patch 9.0.1873
Problem:  missing test for patch 9.0.1873
Solution: add a test trying to exchange windows

Add a test, making sure that switching windows is not allowed when
textlock is active, e.g. when running `:s/<pat>/\=func()/`

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-06 20:02:27 +02:00
Anton Sharonov
67c951df4c runtime(ftplugin): allow to exec if curdir is in PATH
In case the current directory is present as valid $PATH entry, it is OK
to call the program from it, even if vim curdir is in that same
directory.

(Without that patch, for instance, you will not be able to open .zip
files while your current directory is /bin)

closes: #13027

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-05 21:04:44 +02:00
zdohnal
9b04c50319 Filelist: Add missing directory crash (#13036)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-05 20:55:47 +02:00
Christian Brabandt
00cb247465 patch 9.0.1876: Vim9: parsing commands with newlines wrong
Problem:  Vim9: parsing commands with newlines wrong
Solution: Accept a '\n' for parsing lists and command arguments

closes: #13015
closes: #13020

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-05 20:53:46 +02:00
Yegappan Lakshmanan
28a60f898d patch 9.0.1875: Vim9: improve test for disassemble + static
Problem:  Vim9: improve test for disassemble + static
Solution: Add a Vim9 script disassemble test for an interface with
          static members
closes: #13037

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-05 20:44:32 +02:00
Christian Brabandt
1c7397f3f1 patch 9.0.1874: CI may fail in test_recover_empty_swap
Problem:  CI may fail in test_recover_empty_swap
Solution: Set directory option

Fix failing Test_recover_empty_swap test

:recover by default not only looks in the current directory, but also in
~/tmp for files to recover. If it finds some files to recover, it will
interactively prompt for a file to recover. However, prompting doesn't
work when running the test suite (and even if it would, there is no one
that can answer the prompt).

So it doesn't really make sense during testing, to inspect different
directories for swap files and prompt and wait (which will lead to a
timeout and therefore a failing test).

So set the 'directory' option temporarily to the current directory only
and reset it back once the test finishes.

closes: #13038

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-05 20:40:25 +02:00
Christian Brabandt
f6d28fe2c9 patch 9.0.1873: [security] heap-buffer-overflow in vim_regsub_both
Problem:  heap-buffer-overflow in vim_regsub_both
Solution: Disallow exchanging windows when textlock is active

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-05 20:18:06 +02:00
Christian Brabandt
d2a08ba0fa patch 9.0.1872: CI: test_crash() fails on CI
Problem:  CI: test_crash() fails on CI
Solution: Skip test on BSD

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-05 07:45:04 +02:00
James McCoy
a4245a10ea patch 9.0.1871: Github CI does not run i386 job
Problem:  Github CI does not run i386 job
Solution: Add a i386 architecture

Add CI testing for i386

message_test recently failed on i386, which exposed a gap in the CI
testing.  Convert the shadowdir job to one that runs on i386 so we get
32-bit test coverage.

Since the GHA runners are x86_64, we can enable the i386 architecture
in dpkg and install i386 packages for the i386 CI jobs.  However, this
can't currently be done with features=huge since that would require
installing python3-dev:i386, which breaks the CI environment.

closes: #12975

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: James McCoy <jamessan@jamessan.com>
2023-09-05 07:41:23 +02:00
Ernie Rael
00df69e62b patch 9.0.1870: Vim9: disassamble does not show static
Problem:  Vim9: disassamble does not show static
Solution: Show static flag

Fix disassemble for instructions with optional static:
ISN_GET_OBJ_MEMBER and ISN_GET_ITF_MEMBER

closes: #13030

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-05 07:39:14 +02:00
Yee Cheng Chin
c2a37013bd runtime(menu): Fix "Open &Tab..." CJK translations to have shortcut key (#13031)
Previous PR (#12993) fixed localization files to point to "Open &Tab..."
but they didn't add the shortcut key to the translated names. This adds
the shortcut keys to the CJK translations in the form of "(&T)".

Note that this doesn't add the shortcut to latin script languages like
Czech. These types of translated names tend to also localize the
shortcut keys for them to make sense to the user and it's up to each
translator to decide how to do so. CJK translations tend to just take
the English key directly since it doesn't make sense to have a localized
shortcut key in general.


Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-05 07:36:07 +02:00
Ernie Rael
86eda07805 patch 9.0.1869: Coverity warns about unitialized var
Problem:  Coverity warns about unitialized var
Solution: initialize it

closes: #13029

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-05 07:33:48 +02:00
Christian Brabandt
59adcb4c20 patch 9.0.1868: test_crash still fails for circle ci
Problem:  test_crash still fails for circle ci
Solution: give even more time to complete

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-04 22:42:55 +02:00
Ivan Pešić
e4ba5df7c7 runtime(sr): Update Serbian messages translation
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-04 22:37:03 +02:00
Ernie Rael
18143d3111 patch 9.0.1867: Vim9: access to interface statics possible
Problem:  Vim9: access to interface statics possible
Solution: Prevent direct access to interface statics

closes: #13007

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-04 22:30:41 +02:00
zeertzjq
dccc29c228 patch 9.0.1866: undo is synced after character find
Problem:  Undo is synced after character find.
Solution: Set no_u_sync when calling gotchars_nop().

closes: #13022
closes: #13024

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-04 22:25:07 +02:00
John Wellesz
3170342af3 runtime(php): Update the php indent script to the 1.75 (from 1.70) (#13025)
Changes:

1.75:
- Fix 2072/PHP-Indenting-for-VIm#87: The indent optimization was causing wrong indentation of lines
  preceded by a line ending with '}' when preceded by non white characters.
- Fix long standing non-reported regex escaping issue in cleaning end of line
  comments function. This should help fixing some other unreported issues when
  parts of codes are commented out at ends of lines...

1.74:
- Fix 2072/PHP-Indenting-for-VIm#86: Add support for `match` expression.

1.73:
- Fix 2072/PHP-Indenting-for-VIm#77 where multi line strings and true/false keywords at beginning of a
  line would cause indentation failures.

1.72:
- Fix vim/vim#5722 where it was reported that the option PHP_BracesAtCodeLevel
  had not been working for the last 6 years.

1.71:
- Fix 2072/PHP-Indenting-for-VIm#75 where the indent script would hang on some multi-line quoted strings.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-04 22:22:19 +02:00
Anton Sharonov (ant0sha)
282a94be99 runtime: Fix problem of checking wrong cwd for ruby ftplugin (#13026)
Co-authored-by: Anton Sharonov <anton.sharonov@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-04 22:21:00 +02:00
Yegappan Lakshmanan
544be0d893 patch 9.0.1865: Vim9: garbage collection may cause crash
Problem:  Vim9: garbage collection may cause crash
Solution: validate that class members typeval is not null

closes: #13028

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-04 22:14:28 +02:00
Christian Brabandt
623ba31821 patch 9.0.1864: still crash with bt_quickfix1_poc
Problem:  crash with bt_quickfix1_poc when cleaning up
          and EXITFREE is defined
Solution: Test if buffer is valid in a window, else close
          window directly, don't try to access buffer properties

While at it, increase the crash timeout slightly, so that CI has a
chance to finish processing the test_crash() test.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-04 22:09:12 +02:00
Christian Brabandt
e073a8b79f translation(it): revert permission changes for xxd manpages
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-04 07:58:39 +02:00
zeertzjq
7db89bdc23 patch 9.0.1863: wrong format specifiers in e_aptypes_is_null_str_nr
Problem:  wrong format specifiers in e_aptypes_is_null_str_nr
Solution: Fix the wrong format specifier

closes: #13020

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-04 07:54:02 +02:00
Yegappan Lakshmanan
e651e110c1 patch 9.0.1862: Vim9 Garbage Collection issues
Problem:  Vim9 Garbage Collection issues
Solution: Class members are garbage collected early leading to
          use-after-free problems.  Handle the garbage
          collection of classes properly.

closes: #13019

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-04 07:51:01 +02:00
K.Takata
233f956bd4 patch 9.0.1861: xxd: issue when -R is specified several times
Problem:  xxd: issue when -R is specified several times
Solution: Fix command line parsing

See: https://github.com/vim/vim/pull/12986#issuecomment-1704375892

closes: #13021

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: K.Takata <kentkt@csc.jp>
Co-authored-by: Aapo Rantalainen <aapo.rantalainen@gmail.com>
2023-09-04 07:46:59 +02:00
Christian Brabandt
f44cbe96fa patch 9.0.1860: CI: test_crash1() is flaky
Problem:  CI: test_crash1() is flaky
Solution: Wait a bit longer

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-04 07:42:27 +02:00
Christian Brabandt
6e60cf444a patch 9.0.1859: heap-use-after-free in bt_normal()
Problem:  heap-use-after-free in bt_normal()
Solution: check that buffer is still valid

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-03 21:43:46 +02:00
Christian Brabandt
ee9166eb3b patch 9.0.1858: [security] heap use after free in ins_compl_get_exp()
Problem:  heap use after free in ins_compl_get_exp()
Solution: validate buffer before accessing it

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-03 21:24:33 +02:00
Christian Brabandt
fc68299d43 patch 9.0.1857: [security] heap-use-after-free in is_qf_win()
Problem:  heap-use-after-free in is_qf_win()
Solution: Check buffer is valid before accessing it

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-03 20:20:52 +02:00
Christ van Willegen
aa90d4f031 patch 9.0.1856: issues with formatting positional arguments
Problem:  issues with formatting positional arguments
Solution: fix them, add tests and documentation

closes: #12140
closes: #12985

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
Tentatively fix message_test. Check NULL ptr.
2023-09-03 17:22:37 +02:00
h-east
71ebf3baca patch 9.0.1855: mode() doesn't indicate command line for terminal
Problem:  mode() doesn't indicate command line for terminal
Solution: make it return 'ct' for command-line from Terminal mode

closes: #6265
closes: #13017
closes: #13018

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: h-east <h.east.727@gmail.com>
2023-09-03 17:12:55 +02:00
Christian Brabandt
db510ca805 patch 9.0.1854: test_crash1() fails on CI
Problem:  test_crash1() fails on CI
Solution: don't run Screendump test, verify that it doesn't crash
          by running it through a shell command line, testing
          the exit value and concatenating success cmd using '&&'

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-03 09:30:09 +02:00
Christian Brabandt
15cbaae313 patch 9.0.1853: CI error on different signedness in regexp.c
Problem:  CI error on different signedness in regexp.c
          (after patch 9.0.1848)
Solution: Cast strlen() call to int

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 22:08:43 +02:00
pierreganty
d69aecf141 patch 9.0.1852: i_CTRL-O does not reset Select Mode
Problem:  i_CTRL-O does not reset Select Mode
Solution: Reset select mode on CTRL-O in insert mode

closes: #13001
closes: #12115

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Christian Brabandt <cb@256bit.org>
2023-09-02 21:59:52 +02:00
zeertzjq
3c3cf1d689 patch 9.0.1851: breakindent missing by virt text
Problem:  Virtual text at a column causes 'breakindent' and 'showbreak'
          to be missing (after patch 9.0.1124).
Solution: Add check for "tp_col" in another place where TP_FLAG_WRAP is
          checked.

closes: #12769
closes: #13008
closes: #13010

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-02 21:55:00 +02:00
LemonBoy
32f3461465 patch 9.0.1850: Vim9: wrong line number where options set
Problem:  Vim9: wrong line number where options set
Solution: Set source line number earlier

closes: #13006
closes: #13013

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2023-09-02 21:52:05 +02:00
Christian Brabandt
c8a034210f patch 9.0.1849: CI error on different signedness in ex_cmds.c
Problem:  CI error on different signedness
Solution: cast unsigned to int

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 21:50:10 +02:00
Christian Brabandt
ced2c7394a patch 9.0.1848: [security] buffer-overflow in vim_regsub_both()
Problem:  buffer-overflow in vim_regsub_both()
Solution: Check remaining space

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 21:37:04 +02:00
Christian Brabandt
889f6af371 patch 9.0.1847: [security] potential oob write in do_addsub()
Problem:  potential oob write in do_addsub()
Solution: don't overflow buf2, check size in for loop()

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 19:43:33 +02:00
Christian Brabandt
4c6fe2e2ea patch 9.0.1846: [security] crash in fullcommand
Problem:  crash in fullcommand
Solution: Check for typeval correctly

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 19:30:03 +02:00
Christian Brabandt
e0bfb7d301 patch 9.0.1845: xxd: Test_xxd_color start failing
Problem:  xxd: Test_xxd_color start failing
Solution: Revert changes to dump file

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 19:13:45 +02:00
Yee Cheng Chin
8b20203141 patch 9.0.1844: doc helptags may not be up to date
Problem:  doc helptags may not be up to date
Solution: Add CI jobs to verify helptags are updated

Also, re-generate the tags file with updated list so it will pass CI.

closes: #13012

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 16:04:50 +02:00
Christian Brabandt
b2422f7540 patch 9.0.1843: xxd color test flaky
Problem:  xxd color test flaky
Solution: Filter unneeded lines

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 16:01:18 +02:00
Antonio Giovanni Colombo
67b0ecf754 translation(it): updated Italian xxd manpage
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 15:12:35 +02:00
Ernie Rael
21d3212361 patch 9.0.1842: Need more accurate profiling
Problem:  Need more accurate profiling
Solution: Improve profiling results

closes: #12192

Reduce overhead of checking if a function should be profiled,
by caching results of checking (which are done with regexp).

Cache uf_hash for uf_name in ufunc_T.

Cache cleared when regexps are changed.

Break at first match for has_profiling lookup.

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-02 15:09:18 +02:00
Christian Brabandt
9d093fd056 patch 9.0.1841: style: trailing whitespace in ex_cmds.c
Problem:  style: trailing whitespace in ex_cmds.c
Solution: remove it

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 15:08:09 +02:00
Mike Williams
397e356d7b translation(en_GB): Update UK English translation (#13011)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 15:04:51 +02:00
Christian Brabandt
e1dc9a6275 patch 9.0.1840: [security] use-after-free in do_ecmd
Problem:  use-after-free in do_ecmd
Solution: Verify oldwin pointer after reset_VIsual()

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02 14:44:47 +02:00
Dominique Pellé
acb91d3905 runtime(zserio): add zserio syntax (#13005)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-01 23:10:26 +02:00
Christian Brabandt
738ce77aa9 patch 9.0.1839: No Makefile rule to build cscope database
Problem:  No Makefile rule to build cscope database
Solution: Add rule

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-01 22:38:26 +02:00
Antonio Giovanni Colombo
f3db141aed translation(it): updated Italian translation + xxd manpage
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-01 22:19:37 +02:00
Yegappan Lakshmanan
3775f777a6 patch 9.0.1838: Vim9: Cannot modify class member vars from def function
Problem:  Vim9: Cannot modify class member vars from def function
Solution: Add support for modifying class member variables from a def
          function

closes: #12995

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-09-01 22:05:45 +02:00
Christian Brabandt
b147d31489 tests: Improve the codestyle test (#12988)
Improve it by the following:

1) Also check xxd source
2) Test_source_files():
   don't stop on the first error found, continue until the
   end of the file and report all found errors like this:

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-01 18:58:35 +02:00
Ernie Rael
456ae556b4 patch 9.0.1837: Vim9: class_member_type() can be optimized
Problem:  Vim9: class_member_type() can be optimized
Solution: class_member_type() provides more information;
          safe an additional alloc()/free()

closes: #12989

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-09-01 18:57:09 +02:00
Yee Cheng Chin
c41b7a26fc Fix menu localization not updated for "Open Tab..." item (#12993)
THe menu item "Open Tab..." was changed to "Open &Tab..." in #12895 but
localization files were not updated. Update it here.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-01 18:53:30 +02:00
zeertzjq
ce53e3ea55 patch 9.0.1836: display wrong with virttext, linebreak and breakindent
Problem:  Wrong display with "above" virtual text and 'linebreak' or
          'breakindent' and 'showbreak'.
Solution: Exclude size of "above" virtual text when calculating them.

closes: #13000

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-09-01 18:49:30 +02:00
Yee Cheng Chin
7a9d1aa878 patch 9.0.1835: Perl interface has problems with load PL_current_context
Problem:  Perl interface has problems with load PL_current_context
Solution: Fix Perl interface to load PL_current_context from library

In #12914, in order to fix an issue with Perl 5.36 dynamic builds, (that
version introduced a thread-local `PL_current_context`), the file added
the variable manually so we can satisfy the linker. However, the
variable is a different one from the one in the library, so there could
be unpredictable behavior. Instead, just use `dlsym` to load the context
from the library. The fact that it's thread-local doesn't matter too
much to us because Vim's interface is single-threaded so it will work
properly.

closes: #12996

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-09-01 18:46:17 +02:00
K.Takata
f6fc255e8d patch 9.0.1834: Some problems with xxd coloring
Problem:  Some problems with xxd coloring
Solution: Fix the following problems:

* Support colored output on Windows.
  SetConsoleMode() is required to enable ANSI color sequences.
* Support "NO_COLOR" environment variable.
  If "NO_COLOR" is defined and not empty, colored output should be
  disabled.
  See https://no-color.org/
* "-R" should only accept "always", "never" or "auto" as the parameter.
* Adjust help and documentation. "-R" cannot omit the parameter. Remove
  surrounding brackets.

Related #12131
closes: #12997
closes: #12991
closes: #12986

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: K.Takata <kentkt@csc.jp>
2023-09-01 18:41:04 +02:00
Doug Kearns
da16a1b471 runtime(ruby): Update syntax, indent and ftplugin files
While making changes to the ruby ftplugin, slightly change the exepath()
conditional from patch 9.0.1833 and move it after the :cd invocation.

closes: 12981
closes: 12994

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Tim Pope <code@tpope.net>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2023-09-01 18:36:49 +02:00
Christian Brabandt
816fbcc262 patch 9.0.1833: [security] runtime file fixes
Problem:  runtime files may execute code in current dir
Solution: only execute, if not run from current directory

The perl, zig and ruby filetype plugins and the zip and gzip autoload
plugins may try to load malicious executable files from the current
working directory.  This is especially a problem on windows, where the
current directory is implicitly in your $PATH and windows may even run a
file with the extension `.bat` because of $PATHEXT.

So make sure that we are not trying to execute a file from the current
directory. If this would be the case, error out (for the zip and gzip)
plugins or silently do not run those commands (for the ftplugins).

This assumes, that only the current working directory is bad. For all
other directories, it is assumed that those directories were
intentionally set to the $PATH by the user.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-31 23:52:30 +02:00
Christian Brabandt
0ffa97e8fa patch 9.0.1832: xxd: reporting wrong version
Problem:  xxd: reporting wrong version (after 9.0.1827)
Solution: Update version string

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-31 21:04:52 +02:00
Gianmaria Bajo
6ad4a60a97 patch 9.0.1831: Vim9: failing null test
Problem:  Vim9: failing null test
Solution: Use required public keyword

closes: #12982

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gianmaria Bajo <mg1979.git@gmail.com>
2023-08-31 20:55:35 +02:00
Gianmaria Bajo
d7085a0635 patch 9.0.1830: Vim9: crash when accessing a null object
Problem:  Vim9: crash when accessing a null object
Solution: Check accessing a NULL object in def function

An object is NULL when the variable is declared, but the constructor
isn't called. Accessing/setting a member on the object crashed Vim.

Note: this happens inside def functions, at script level things work
differently. Accessing a NULL object member results in E1360
(correctly), while setting a value on it results in E1012 (type
mismatch) so there's still something to fix.

closes: #12973

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gianmaria Bajo <mg1979.git@gmail.com>
2023-08-31 18:15:26 +02:00
Yegappan Lakshmanan
eb91e24d5e patch 9.0.1829: Vim9 missing access-checks for private vars
Problem:  Vim9 missing access-checks for private vars
Solution: Use the proper check for private/readonly variable.  Access
          level for a member cannot be changed in a class implementing an
          interface.  Update the code indentation

closes: #12978

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-08-31 18:10:46 +02:00
zeertzjq
ac2d8815ae patch 9.0.1828: cursor wrong with virt text before double-width char
Problem:  Wrong cursor position with virtual text before double-width
          char at window edge.
Solution: Check for double-width char before adding virtual text size.

closes: #12977

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-31 18:07:48 +02:00
Antonio Giovanni Colombo
e102e44fc6 translation(it): updated Italian manpages
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-31 18:03:11 +02:00
Aapo Rantalainen
e2528ae111 patch 9.0.1827: xxd: no color support
Problem:  xxd: no color support
Solution: Add color support using xxd -R

Add some basic color support for xxd

The hex-value and value are both colored with the same color depending
on the hex-value, e.g.:

    0x00 = white
    0xff = blue
    printable = green
    non-printable = red
    tabs and linebreaks = yellow

Each character needs 11 more bytes to contain color. (Same color in a
row could contain only one overhead but the logic how xxd creates colums
must be then changed.) Size of colored output is increased by factor of
~6. Also grepping the output will break when colors is used.

Flag for color is "-R", because less uses "-R".

Color uses parameters auto,always,never same as less and grep (among
others).

E.g.

xxd -R always $FILE | less -R

Add some screen-tests (that currently on work on linux) to verify the
feature works as expected.

closes: #12131

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Aapo Rantalainen <aapo.rantalainen@gmail.com>
2023-08-31 17:58:13 +02:00
xrandomname
0b8b145bf8 runtime(optwin): Fix for 'splitkeep' option (#12974)
'spk' was used as a boolean, rather than a string option.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-31 08:18:40 +02:00
dkearns
1610528cc3 runtime(forth): Update syntax and ftplugin files (#12976)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-31 08:17:16 +02:00
zeertzjq
1bed993c01 patch 9.0.1826: keytrans() doesn't translate recorded key typed in a GUI
Problem:  keytrans() doesn't translate recorded key typed in a GUI
Solution: Handle CSI like K_SPECIAL, like in mb_unescape()

closes: #12964
closes: #12966

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-30 19:38:24 +02:00
zeertzjq
6e55e85f92 patch 9.0.1825: wrong cursor position with virt text and 'linebreak'
Problem:  Wrong cursor position with virtual text before a whitespace
          character and 'linebreak'.
Solution: Always set "col_adj" to "size - 1" and apply 'linebreak' after
          adding the size of 'breakindent' and 'showbreak'.

closes: #12956

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-30 16:55:09 +02:00
Yegappan Lakshmanan
5bbcfbc4a2 patch 9.0.1824: Vim9: private members may be modifiable
Problem:  Vim9: private members may be modifiable
Solution: prevent modification for def function

closes: #12963

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-30 16:40:33 +02:00
Enno
9d8ef7cc43 runtime: cleanup :Sman command via the undo_ftplugin mechanism (#12967)
Regards to @dkearns as noticed in
2ac708b548

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-30 16:37:05 +02:00
Illia Bobyr
a96d544bc3 patch 9.0.1823: Autoconf 2.69 too old
Problem:  Autoconf 2.69 too old
Solution: Migrate to Autoconf 2.71

Autoconf 2.69 is almost 10 years old.  And 2.71 is also a few years old
as well.  Should be pretty well tested by now.  It brings a lot of
improvements and there seems to be an ongoing work on autoconf 2.72
already.

This change just addresses two minor changes `autoupdate` suggested, and
then `src/auto/configure` is regenerated by running

  cd src
  make AUTOCONF=autoconf2.71 autoconf

closes: #12958

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
2023-08-30 16:30:15 +02:00
Yegappan Lakshmanan
e3b6c78ddc patch 9.0.1822: Vim9: no check for duplicate members in extended classes
Problem:  Vim9: no check for duplicate members in extended classes
Solution: Check for duplicate members in extended classes.
          Fix memory leak.

closes: #12948

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-29 22:34:36 +02:00
Gianmaria Bajo
4b9777a1df patch 9.0.1821: Vim9 constructors are always static
Problem:  Vim9 constructors are always static
Solution: make the "static" keyword an error

closes: #12945

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Gianmaria Bajo <mg1979.git@gmail.com>
2023-08-29 22:29:03 +02:00
dkearns
2ac708b548 runtime(sh): Update ftplugin (#12950)
Remove :Help command via the undo_ftplugin mechanism.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-29 22:24:37 +02:00
Doug Kearns
e06afb7860 patch 9.0.1820: Rexx files may not be recognised
Problem:  Rexx files may not be recognised
Solution: Add shebang detection and improve disambiguation of *.cls
	  files

closes: #12951

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2023-08-29 22:21:35 +02:00
ichizok
3e1e63de18 patch 9.0.1819: Github CI too complex
Problem:  Github CI too complex
Solution: CI: Tidy up matrix

Perform the following changes to the CI configuration:
 - Move common CFLAGS to ci/config.mk.sed
 - Change extra key to array to able to assign no or multiple values
   explicitly
 - Modify luaver variable handling
   - lib${{ matrix.luaver }}-dev ${{ matrix.luaver }} are confusing
     as package names
 - Deduplicate CONFOPT setting

closes: #12955

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: ichizok <gclient.gaap@gmail.com>
2023-08-29 22:20:21 +02:00
Jason King
3ac2d3da5f runtime(heex): Add HEEX comments to match_words in ftplugin (#12957)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-29 22:11:55 +02:00
Christian Brabandt
55460da26c patch 9.0.1818: dynamically linking perl is broken
Problem:  dynamically linking perl is broken
Solution: Fix all issues

This is a combination of several commits:

1) Fix if_perl.xs not being able to build on all versions of Perl (5.30)

This fixes the dynamic builds of Perl interface. The Perl interface file
previously had to manually copy and paste misc inline functions verbatim
from the Perl headers, because we defined `PERL_NO_INLINE_FUNCTIONS`
which prevents us form getting some function definitions. The original
reason we defined it was because those inline functions would reference
Perl functions that would cause linkage errors.

This is a little fragile as every time a new version of Perl comes out,
we inevitably have to copy over new versions of inline functions to our
file, and it's also easy to miss updates to existing functions.

Instead, remove the `PERL_NO_INLINE_FUNCTIONS` define, remove the manual
copy-pasted inline functions. Simply add stub implementations of the
missing linked functions like `Perl_sv_free2` and forward them to the
DLL version of the function at runtime. There are only a few functions
that need this treatment, and it's a simple stub so there is very low
upkeep compared to copying whole implementations to the file.

Also, fix the configure script so that if we are using dynamic linkage,
we don't pass `-lperl` to the build flags, to avoid accidental external
linkage while using dynamic builds. This is similar to how Python
integration works.

2) Fix GIMME_V deprecation warnings in Perl 5.38

Just use GIMME_V, and only use GIMME when using 5.30 to avoid needing to
link Perl_block_gimme. We could provide a stub like the other linked
functions like Perl_sv_free2, but simply using GIMME is the simplest and
it has always worked before.

3) Fix Perl 5.38 issues

Fix two issues:

3.1. Perl 5.38 links against more functions in their inline headers, so we
   need to stub them too.

3.2. Perl 5.38 made Perl_get_context an inline function, but *only* for
   non-Windows build. Fix that. Note that this was happening in Vim
   currently, as it would build, but fail to run Perl code at runtime.

4) Fix Perl 5.36/5.38 when thread local is used

Perl 5.36 introduced using `_Thread_local` for the current context,
which causes inline functions to fail. Create a stub
`PL_current_context` thread local variable to satisfy the linker for
inlined functions. Note that this is going to result in a different
`PL_current_context` being used than the one used in the library, but so
far from testing it seems to work.

5) Add docs for how to build Perl for dynamic linking to work

closes: #12827
closes: #12914

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2023-08-29 21:31:28 +02:00
Illia Bobyr
0e82b59df3 patch 9.0.1817: configure: using obsolete AC_HEADER_STDC
Problem:  configure: using obsolete AC_HEADER_STDC
Solution: Remove it and re-create configure

closes: #12949

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
2023-08-29 21:17:50 +02:00
ichizok
bddc6adca6 patch 9.0.1816: configure: sed uses non-portable regex
Problem:  configure: sed uses non-portable regex
Solution: use '*' modifier instead of '\?' in regex
          for luajit version detection

closes: #12954

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: ichizok <gclient.gaap@gmail.com>
2023-08-29 20:54:32 +02:00
Christian Brabandt
a5eb6785ef runtime(doc): mention special case of i_CTRL-R_-
closes: #12947
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-29 16:23:22 +02:00
Christian Brabandt
7129de868c runtime(editorconfig): generate helptags, remove unused files
Remove the test suite and a few other non-used files from the
EditorConfig CI project

related: #12902
closes:  #12941

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-29 16:14:10 +02:00
Christian Brabandt
00d07a97ad runtime(tags): update helptags
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-28 21:45:55 +02:00
dkearns
0382f05dbd runtime: Set b:undo_indent where missing (#12944)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-28 21:32:59 +02:00
dkearns
f937ab32a1 runtime: Set b:undo_ftplugin where missing (#12943)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-28 21:32:27 +02:00
James McCoy
fe1463674c patch 9.0.1815: pango_coverage_unref() deprecated in pango > 1.51
Problem:  pango_coverage_unref() deprecated in pango > 1.51
Solution: use g_object_unref() instead

closes: #12942

Free PangoCoverage with g_object_unref for Pango >= 1.52

pango_coverage_unref was declared deprecated in Pango 1.52.0 in favor of
g_object_unref.  Adjust the call when building against a new enough
Pango to avoid the deprecation warning.

Signed-off-by: James McCoy <jamessan@jamessan.com>
Co-authored-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-28 21:29:13 +02:00
Yegappan Lakshmanan
2ba9d2e14e patch 9.0.1814: Vim9 no error on duplicate object member var
Problem:  Vim9 no error on duplicate object member var
Solution: detect duplicate members and error out

closes: #12938

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-28 21:26:23 +02:00
zeertzjq
1d3e0e8f31 patch 9.0.1813: linebreak incorrect drawn with breakindent
Problem: 'linebreak' is incorrectly drawn after 'breakindent'.
Solution: Don't include 'breakindent' size when already after it.

closes: #12937
closes: #12940

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-28 21:21:46 +02:00
Christian Brabandt
93ebb5e75e patch 9.0.1812: CI still fails with sodium_mlock error()
Problem:  CI still fails with sodium_mlock error()
Solution: Catch and ignore E1230 error in test_crypt

closes: #12939

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-28 21:17:36 +02:00
Yegappan Lakshmanan
85c3a5bc26 patch 9.0.1811: still some issues with term_debug test
Problem:  still some issues with term_debug test
Solution: Use WaitForAssert()

closes: #12936

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-27 22:01:23 +02:00
LemonBoy
d08745040b patch 9.0.1810: camel-case spelling has issues with digits
Problem:  camel-case spelling has issues with digits
Solution: Improve the camCase spell checking by taking digits
          and caps into account

Rewrite the conditions to check for word boundaries by taking into
account the presence of digits and all-caps sequences such as acronyms.

closes: #12644
closes: #12933

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2023-08-27 21:52:27 +02:00
Christian Brabandt
6c93c94929 patch 9.0.1809: termdebug test flayk
Problem:  termdebug test flayk
Solution: wait slightly longer

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-27 21:48:29 +02:00
Christian Brabandt
f2534434c9 patch 9.0.1808: termdebug: Typo in termdebug test
Problem:  termdebug: Typo in termdebug test
Solution: fix the typos

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-27 20:00:37 +02:00
Doug Kearns
9b73902dbe patch 9.0.1807: runtime: crystal scripts not recognised
Problem:  runtime: crystal scripts not recognised
Solution: Filetype detect Crystal scripts by shebang line

closes: #12935

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2023-08-27 19:51:37 +02:00
dkearns
73aba18eb7 runtime: Remove outdated scripts.vim comment (#12934)
Problem:  Comment in scripts.vim is outdated
Solution: Delete the comment

runtime/autoload/dist/script.vim is now Vim9 script so =~ does not use
'ignorecase'.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-27 19:47:29 +02:00
Antonio Giovanni Colombo
d58bad6bc1 translation(it): updated Italian manpage
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-27 19:35:34 +02:00
LemonBoy
90c27b2803 patch 9.0.1806: Vim9: bogus error on export
Problem:  Vim9: bogus error on export
Solution: Don't error out when the export command is not executed

closes: #12912
closes: #12930

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
2023-08-27 19:28:15 +02:00
Yegappan Lakshmanan
639751d218 patch 9.0.1805: Vim9: problem compiling object method as function call arg
Problem:  Vim9: problem compiling object method as function call arg
Solution: After a object/class method call, remove the object/class from
          the stack.

closes: #12081
closes: #12929

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-27 19:26:16 +02:00
Yegappan Lakshmanan
cd7293bf6c patch 9.0.1804: Vim9: no support for private object methods
Problem:  Vim9: no support for private object methods
Solution: Add support for private object/class methods

closes: #12920

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-27 19:18:23 +02:00
NTBBloodbath
03e44a1d70 patch 9.0.1803: runtime(filetype): Add norg language detection
runtime(filetype): Add norg markup language detection

closes: #12913

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: NTBBloodbath <bloodbathalchemist@protonmail.com>
2023-08-27 19:15:20 +02:00
zeertzjq
e3daa06be1 patch 9.0.1802: Multiline regex with Visual selection fails with virtual text
Problem:  Multiline regex with Visual selection fails when Visual
          selection contains virtual text after last char.
Solution: Only include virtual text after last char when getting full
          line length.

closes: #12908

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-27 19:11:46 +02:00
Yegappan Lakshmanan
b49ad28d73 patch 9.0.1801: Vim9 instanceof() fails in a def func
Problem:  Vim9 instanceof() fails in a def func
Solution: allow Objects in compile time check

closes: #12907

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-27 19:08:40 +02:00
zeertzjq
6a3897232a patch 9.0.1800: Cursor position still wrong with 'showbreak' and virtual text
Problem:  Cursor position still wrong with 'showbreak' and virtual text
          after last character or 'listchars' "eol".
Solution: Remove unnecessary w_wcol adjustment in curs_columns(). Also
          fix first char of virtual text not shown at the start of a screen
          line.

closes: #12478
closes: #12532
closes: #12904

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-27 19:04:14 +02:00
RestorerZ
9a6cf34a1e patch 9.0.1799: Russian menu translation can be improved
Problem:  Russian menu translation can be improved
Solution: update the Russian menu files

closes: #12903

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: RestorerZ <restorer@mail2k.ru>
2023-08-27 19:00:42 +02:00
Christian Brabandt
e5e04306bf runtime: Distribute the editorconfig with vim (#12902)
This is the editorconfig-vim plugin Commit e014708e917b457e8f6c57f357d55dd3826880d4
from https://github.com/editorconfig/editorconfig-vim

closes: #2286
related: https://github.com/editorconfig/editorconfig-vim/issues/223

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-27 18:52:18 +02:00
Doug Kearns
6dfdff3f27 patch 9.0.1798: The 'syntax' option has no completion.
Problem:  The 'syntax' option has no completion.
Solution: Add syntax option completion.

closes: #12900

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2023-08-27 18:48:51 +02:00
Doug Kearns
f97f6bbf56 patch 9.0.1797: Vimball/Visual Basic filetype detection conflict
Problem:  Vimball/Visual Basic filetype detection conflict
Solution: runtime(vb): Improve Vimball and Visual Basic detection logic

Only run Vimball Archiver's BufEnter autocommand on Vimball archives.
Fixes #2694.

closes: #12899

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2023-08-27 18:44:09 +02:00
Ernie Rael
5c018bee0e patch 9.0.1796: Vim9 problems with null_objects
Problem:  Vim9 problems with null_objects
Solution: Vim9 improve null_object usage

Fix "xvar == null", where xvar might have been assigned null_object.

Fix compilation failure: "var o2: C = null_object".

closes: #12890

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
2023-08-27 18:40:26 +02:00
Yegappan Lakshmanan
d4e4ecbb37 patch 9.0.1795: Indentation issues
Problem:  Indentation issues
Solution: Fix code indentation issues.

closes: #12906

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-27 18:35:45 +02:00
Illia Bobyr
74e1dada41 patch 9.0.1794: autoconf: not correctly detecing include dirs
Problem:  autoconf: not correctly detecing include dirs
Solution: make use of python3 to generate includedirs

configure: Python3: Use sysconfig for -I

It seems better to use tools provided by Python for determining the
include directories, rather than construct them "manually".

Current system is broken when using virtual environments for python
3.11.4.  It used to work before, but now it detects a incorrect value
for `-I`.

It would probably make sense to switch to a similar logic for lib
folders, that is for the `-l` switch.  There are also
`sysconfig.get_config_h_filename()` and
`sysconfig.get_makefile_filename()`, that could replace more Python
specific logic in the current `configure{.ac,}`.

sysconfig provides the necessary tools since Python 2.7.

closes: #12889

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
2023-08-27 18:26:54 +02:00
Illia Bobyr
f39842f148 patch 9.0.1793: obsolete macros in configure script
Problem:  obsolete macros in configure script
Solution: Remove those and start moving to autoconf 2.71

src/configure.ac: Remove obsolete macros

These macros are declared obsolete in autoconf 2.69, which is almost 10
years old by now:

  https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html

They generate warnings when in a subsequent upgrade to autoconf 2.71.

`autoupdate` from autoupdate 2.71 suggests most of these changes, except
that it also adds obsolete warnings, that where individually checked and
removed.

Regenerated `src/auto/configure` by running:

  cd src
  autoconf2.69 --output=auto/configure configure.ac
  sed --in-place --expression='s@>config.log@>auto/config.log@g' auto/configure

closes: #12888

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
2023-08-27 18:24:59 +02:00
zeertzjq
d809c0a903 patch 9.0.1792: problem with gj/gk/gM and virtual text
Problem:  Normal mode "gM", "gj", "gk" commands behave incorrectly with
          virtual text.
Solution: Use linetabsize() instead of linetabsize_str().

closes: #12909

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-27 11:17:39 +02:00
Yegappan Lakshmanan
58f39d89a8 patch 9.0.1791: No tests for the termdebug plugin
Problem:  No tests for the termdebug plugin
Solution: Add some simple tests for the termdebug plugin

closes: #12927

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-27 11:14:44 +02:00
Magnus Groß
8fbd9449e7 patch 9.0.1790: Redundant LSP Content-Type header
Problem:  The Content-Type header is an optional header that some LSP
          servers struggle with and may crash when encountering it.
Solution: Drop the Content-Type header from all messages, because we use
          the default value anyway.

Because pretty much all popular LSP clients (e.g. coc.nvim, VSCode) do
not send the Content-Type header, the LSP server ecosystem has developed
such that some LSP servers may even crash when encountering it.
To improve compatibility with these misbehaving LSP servers, we drop
this header as well.

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Magnus Groß <magnus@mggross.com>
2023-08-27 11:11:22 +02:00
Anatolii Sakhnik
0db1ea4815 translation(ua): Refine (synchronize with Neovim) (#12928)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-27 10:31:58 +02:00
mathew
20f61d96f8 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>
2023-08-26 18:11:31 +02:00
K.Takata
4c215ecdaf 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>
2023-08-26 18:05:08 +02:00
Herrington Darkholme
535b9e12d0 runtime(typescript): Fix highlighting symbols after number literal (#12911)
fixes #12831
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-26 18:01:47 +02:00
Anatolii Sakhnik
fa0094e162 translation(ua): Update Ukrainian translation (#12916)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-26 18:00:54 +02:00
Kevin Scannell
1da9fdb8c7 translation(ir): Updated irish translation (#12918)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-26 17:59:34 +02:00
Yegappan Lakshmanan
e750f8c330 runtime(todo): Update todo.txt to remove recently addressed issues (#12910)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-24 15:07:05 +01:00
Christian Brabandt
d42f95bbfb 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>
2023-08-24 08:15:38 +02:00
Enno
2f25e40b1f runtime: configure keywordpg for some file types (#5566)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-23 21:27:50 +02:00
Christian Brabandt
e8d6f03f6a 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>
2023-08-23 21:23:07 +02:00
Viktor Szépe
3fc7a7e44a 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>
2023-08-23 21:20:00 +02:00
LemonBoy
afe0466fb1 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>
2023-08-23 21:08:11 +02:00
zeertzjq
1193951beb 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>
2023-08-23 20:58:01 +02:00
mathew
c51fa7bc46 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>
2023-08-23 20:55:17 +02:00
Sean Dewar
3d3a9152fa 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>
2023-08-23 17:14:49 +01:00
Emir SARI
79d9cb4cb0 Translation(tr): Update Turkish translations (#12897)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-23 17:10:16 +01:00
Christian Brabandt
e059fae100 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>
2023-08-23 17:07:55 +01:00
Karim Belabas
9180633e68 Codeowners: add KBelabas for runtime/syntax/gp.vim (#12898)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-23 17:07:23 +01:00
Job Noorman
544b209a2d 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>
2023-08-22 22:37:40 +02:00
Oskar Stenman
6e93689bde 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>
2023-08-22 22:34:26 +02:00
MichaWiedenmann
118f8e9da3 runtime(cmake) Recognize add_compile_definitions in syntax script (#10416)
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-22 22:25:50 +02:00
Moviuro
cdd934439d 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>
2023-08-22 22:24:26 +02:00
Simon Sobisch
2ae7ffe0bc runtime(termdebug): add frame related commands (#12511)
implementing `:Frame`, `:Up` and `:Down'

partially fixing #10393

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-22 22:19:14 +02:00
Antonio Giovanni Colombo
6551ace0fe Translations(it): Update po and menus for it
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-22 22:15:13 +02:00
zeertzjq
b557f48982 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>
2023-08-22 22:07:34 +02:00
Yegappan Lakshmanan
171c5b9b03 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>
2023-08-22 21:48:50 +02:00
Christian Brabandt
757593c07a 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>
2023-08-22 21:44:10 +02:00
Yegappan Lakshmanan
618e47d1cd 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>
2023-08-22 21:29:28 +02:00
zeertzjq
8dabccd295 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
2023-08-22 21:22:24 +02:00
Sean Dewar
a76f3221cd 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.
2023-08-22 19:30:29 +01:00
José-Paul D
b0d584d97a runtime(go): Update Go syntax file with 1.21 builtins (#12876)
* Update Go syntax file with 1.21 builtins
2023-08-22 19:29:19 +01:00
dkearns
e34b51e95f runtime(solidity): add new ftplugin (#12877)
Set undo_{ftplugin,indent}

closes #11240

Co-authored-by: cothi <jiungdev@gmail.com>
2023-08-22 19:28:42 +01:00
Karim Belabas
c6d533b0ad 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)
2023-08-22 19:25:06 +01:00
Christian Brabandt
6909639249 runtime(dosini): save and restore cpo value in syntax script
Commit dd0ad25988  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>
2023-08-21 06:49:38 +02:00
Christian Brabandt
75dc1ed1ad 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>
2023-08-20 23:19:24 +02:00
Christian Brabandt
be07caa071 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 ca22fc36a4.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-20 22:28:28 +02:00
Jordi Altayó
6d626c4184 runtime(sdc): Add underscore to sdc flags in syntax file (#6201) 2023-08-20 21:45:13 +02:00
Jay Sitter
a0fddaa2f4 Runtime(javascript): add new document properties to completion file
closes: #6536

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-20 21:41:01 +02:00
Enrico Maria De Angelis
5e6e4042b1 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
2023-08-20 21:29:09 +02:00
Brian C. Lane
a03380baa4 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"
2023-08-20 21:27:20 +02:00
Adrian Heine né Lang
309ded1954 runtime(css): Update pseudo-classes in syntax script (#11595) 2023-08-20 21:23:18 +02:00
beardedsakimonkey
9fa35b1c38 runtime(lua): fix lua indentation of non-lowercase "keywords" (#11759) 2023-08-20 21:21:51 +02:00
Meqa
e71e9d9ad3 runtime(javascript): fix default link of javaScriptNumber in syntax file (#11788)
cool unused matching
2023-08-20 21:20:59 +02:00
Yee Cheng Chin
c13b3d1350 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>
2023-08-20 21:18:38 +02:00
Johan Mattsson
20cd8699ac 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>
2023-08-20 21:07:29 +02:00
Shougo Matsushita
92997dda78 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>
2023-08-20 20:55:55 +02:00
Doug Kearns
19a3bc3add 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>
2023-08-20 20:53:47 +02:00
champignoom
6633611f42 runtime(lua): indent curly bracket followed by line comment (#12306)
fixes #12305
2023-08-20 20:49:16 +02:00
Luuk van Baal
16af913eee 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>
2023-08-20 20:44:59 +02:00
Raphael
478668013f runtime(rust): fix rust indent (#12542) 2023-08-20 20:42:39 +02:00
lifecrisis
17befac581 runtime(man): remove backslashes in man pages using Vim script (#12557)
Closes: vim/vim#12301

Co-authored-by: Jason Franklin <jason@oneway.dev>
2023-08-20 20:41:25 +02:00
Christian Brabandt
ca22fc36a4 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>
2023-08-20 20:38:56 +02:00
Ibby
a6ab5e69d3 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>
2023-08-20 20:24:18 +02:00
Shane-XB-Qian
f6fb52b667 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>
2023-08-20 20:07:49 +02:00
Shane-XB-Qian
19968fc4ec runtime(termdebug): re-indent lines (#12857)
Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
2023-08-20 20:06:49 +02:00
AmberArr
f5d0f54790 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>
2023-08-20 20:03:45 +02:00
laburnumT
9f29621415 Runtime(termdebug): Add support to view local and argument variables
closes: 12403

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-20 20:00:27 +02:00
James Fleming
72904d5fda 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>
2023-08-20 19:20:55 +02:00
Scott McKendry
2d0988ef93 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>
2023-08-20 19:17:42 +02:00
Gregory Anders
d4376dc3eb 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>
2023-08-20 19:14:03 +02:00
ChaseKnowlden
bedc69f9d6 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>
2023-08-20 19:10:03 +02:00
Mike Gilbert
a055b441f5 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>
2023-08-20 19:01:41 +02:00
Philip H
4924ad099f 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>
2023-08-20 18:58:46 +02:00
Christian Brabandt
787de412b8 Translation: also update ru.cp1251.po file after 6cc8bc8366
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-20 18:46:41 +02:00
zeertzjq
ab9f2ecfd4 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>
2023-08-20 18:41:42 +02:00
Yegappan Lakshmanan
f9037f186a 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>
2023-08-20 18:27:45 +02:00
zeertzjq
654bdbbd32 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>
2023-08-20 18:24:20 +02:00
Yegappan Lakshmanan
6ac1544e13 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>
2023-08-20 18:20:17 +02:00
Restorer
6cc8bc8366 Translation: Russian PO file updated to Vim version 9.0.1757 (#12864)
Co-authored-by: RestorerZ <restorer@mail2k.ru>
2023-08-20 18:15:48 +02:00
zeertzjq
8fc6a1dae0 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>
2023-08-20 18:12:54 +02:00
LemonBoy
0ffc17aa47 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>
2023-08-20 18:09:11 +02:00
Yegappan Lakshmanan
4b1cc7906f 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>
2023-08-19 22:39:33 +02:00
Christian Brabandt
e1eaae27f4 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 dbeadf05b6 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>
2023-08-19 22:36:12 +02:00
Christian Brabandt
25dec33c9b 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>
2023-08-19 22:15:44 +02:00
LemonBoy
f244b2fbf2 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>
2023-08-19 16:02:04 +02:00
Christian Brabandt
b5f6fe9ca2 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>
2023-08-19 15:55:35 +02:00
Christian Brabandt
2b6a12af4d 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 12eb0f4ec5 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>
2023-08-19 15:50:52 +02:00
Philip H
8b8f7d19f8 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>
2023-08-19 15:46:11 +02:00
rhysd
0bbc1be0a3 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>
2023-08-19 15:42:54 +02:00
Christian Brabandt
dbeadf05b6 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>
2023-08-19 15:35:04 +02:00
Philip H
6d192a4ac9 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>
2023-08-19 14:45:26 +02:00
Viktor Szépe
b23db545ce docs: Improve Markdown in README (#12829) 2023-08-19 14:16:10 +02:00
zeertzjq
6235a109c4 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>
2023-08-19 14:12:42 +02:00
Christian Brabandt
28ae5a32fd 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>
2023-08-19 14:10:48 +02:00
zeertzjq
fc3058495d 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>
2023-08-19 13:27:03 +02:00
Sean Dewar
c3172fe9e4 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>
2023-08-19 13:23:50 +02:00
K.Takata
04510566b1 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
2023-08-19 13:20:19 +02:00
Doug Kearns
44a6b72d7f 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>
2023-08-19 13:13:11 +02:00
zeertzjq
9994160bfe 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>
2023-08-19 13:08:50 +02:00
LemonBoy
c5d2744c04 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>
2023-08-19 13:04:53 +02:00
dkearns
56bafd7a6a Runtime: add new sed ftplugin (#12843) 2023-08-19 12:13:31 +02:00
Pierre Colin
0a07646845 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>
2023-08-19 11:56:57 +02:00
James McCoy
38ab19e00f 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>
2023-08-19 11:38:49 +02:00
zeertzjq
4dd266cb66 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>
2023-08-19 11:35:03 +02:00
Yegappan Lakshmanan
b102728c20 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
2023-08-19 11:26:42 +02:00
Antonio Giovanni Colombo
e27578aee6 Runtime: Update Italian Translation
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Antonio Giovanni Colombo <azc100@gmail.com>
2023-08-19 11:18:30 +02:00
Christian Brabandt
07a2b61d4c 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>
2023-08-18 01:20:42 +02:00
Bruno-366
817db406bb Add TODO, FIXME to Haskell syntax file (#8055)
Adding TODO, XXX, FIXME to Haskell syntax file #8054
2023-08-18 00:04:54 +02:00
Stuart Henderson
442d1746f4 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.
2023-08-18 00:04:24 +02:00
Yuri Klimov
a5988f582e Keywords 'of' and 'yield' for Javascript. (#7873)
* Keyword 'of' in for...of statement.

* Keyword 'yield' for generator function.
2023-08-18 00:03:23 +02:00
zeertzjq
e9ef347c13 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>
2023-08-17 23:57:05 +02:00
zeertzjq
be5cdd1d63 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>
2023-08-17 23:48:58 +02:00
Philip H
d2af6c66fe 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>
2023-08-17 23:45:08 +02:00
Christian Brabandt
d5475e8d8d patch 9.0.1732: vimexpr: shadowing variable
Problem: vimexpr: shadowing variable
Solution: Rename local variable

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-17 23:41:33 +02:00
zeertzjq
6e940d9a1d 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>
2023-08-17 23:21:40 +02:00
goweol
8cfe52e6fb 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>
2023-08-17 23:13:29 +02:00
goweol
6e5ab2b994 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>
2023-08-17 23:12:42 +02:00
zeertzjq
008c91537b 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>
2023-08-17 23:08:53 +02:00
zeertzjq
bfe377b8f2 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>
2023-08-17 22:58:53 +02:00
zeertzjq
825cf813fa 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>
2023-08-17 22:55:25 +02:00
Sean Dewar
b0efa49ed1 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>
2023-08-17 22:48:43 +02:00
Sean Dewar
876f5fb570 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>
2023-08-17 22:40:05 +02:00
zeertzjq
e500ae8e29 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>
2023-08-17 22:35:26 +02:00
h-east
2261c89a49 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>
2023-08-17 22:31:10 +02:00
Ivan Pešić
5a0dd71ed9 Update sr.po (#12820) 2023-08-17 22:28:59 +02:00
Yegappan Lakshmanan
bfc461f756 Use string interpolation (#12823) 2023-08-17 22:28:33 +02:00
zeertzjq
ad0c442f1f 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>
2023-08-17 22:15:47 +02:00
zeertzjq
4f389e7c0f 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>
2023-08-17 22:11:16 +02:00
zeertzjq
4112acae08 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>
2023-08-16 20:25:10 +02:00
Yegappan Lakshmanan
a456b12011 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>
2023-08-16 20:14:37 +02:00
dkearns
20b33b56ad Update FreeBASIC syntax file (#12781) 2023-08-15 23:23:40 +02:00
依云
cf8cde2e5a zh_CN: update to use reordering (#12787) 2023-08-15 23:22:48 +02:00
Jesse Pavel
8a35033782 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>
2023-08-15 23:21:05 +02:00
LemonBoy
e98fb643ec 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>
2023-08-15 23:14:30 +02:00
Restorer
636d32b327 The keyboard layout "russian-typograph" has been updated to version 3.3 (#12796)
Co-authored-by: RestorerZ <restorer@mail2k.ru>
2023-08-15 23:06:18 +02:00
lunasophia
10f23e10a9 Update syntax/muttrc.vim to latest mutt (#12797)
Nothing complicated, just lots of tedium keeping the lines wrapped at
reasonable lengths.
2023-08-15 23:05:36 +02:00
Ajit-Thakkar
4868f637b8 Update syntax/fortran.vim (#12798)
Several small improvements including better discrimination of "real" used as a type and as an intrinsic
2023-08-15 23:05:00 +02:00
Yegappan Lakshmanan
b209b86e66 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>
2023-08-15 23:01:44 +02:00
Zdenek Dohnal
15a0a0281a 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>
2023-08-15 22:52:01 +02:00
zeertzjq
7772c93a3e 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>
2023-08-15 22:48:40 +02:00
zeertzjq
e4c79d3615 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>
2023-08-15 22:41:53 +02:00
Zdenek Dohnal
ba913b14dd patch 9.0.1713: Github CI fails to load snd-dummy kernel module
Problem: Github CI fails to load snd-dummy kernel module
Solution: Make installation of linux-modules-extra optional

linux-modules-extra package are not available on Ubuntu 22 at the
moment, which breaks CI runs. The change make its installation
conditional as the original `if-else` structure tried to do.

closes: #12801

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Zdenek Dohnal <zdohnal@redhat.com>
2023-08-15 22:34:45 +02:00
Jia-Ju Bai
5b0889b8bf patch 9.0.1712: missing null check in object_clear()
Problem: missing null check in object_clear()
Solution: Add null check of cl

closes: #12627

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Jia-Ju Bai <baijiaju@buaa.edu.cn>
2023-08-13 20:05:18 +02:00
zeertzjq
d3515a1e88 patch 9.0.1711: dead code in charset.c
Problem: dead code in charset.c
Solution: remove it

linetabsize_col() calls init_chartabsize_arg() with 0 as "lnum", so
cts.cts_has_prop_with_text is always FALSE.

closes: #PR

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-13 20:00:14 +02:00
Christian Brabandt
4a8eb6e7a9 patch 9.0.1710: scrolloff options work slightly different
Problem: sidescrolloff and scrolloff options work slightly
         different than other global-local options
Solution: Make it behave consistent for all global-local options

It was noticed, that sidescrolloff and scrolloff options behave
differently in comparison to other global-local window options like
'listchars'

So make those two behave like other global-local options. Also add some
extra documentation for a few special local-window options.

Add a few tests to make sure all global-local window options behave
similar

closes: #12956
closes: #12643

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13 19:43:42 +02:00
Zdenek Dohnal
e5e4709a6a patch 9.0.1709: dynamic build with python 3.12 breaks
Problem: dynamic build with python 3.12 breaks
Solution: if_python3.c: Fix building dynamic Python3 interpreter

There are new extern global variables defined in python3 development
files, which types are within python3 library, so they break dynamic
python3 interpret Vim plugin.

Since the variables are used in macro `Py_SIZE` which is used in other
python3 headers, the dummy variables have to defined before including
Python.h.

closes: #12660

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Zdenek Dohnal <zdohnal@redhat.com>
2023-08-13 19:39:27 +02:00
Christian Brabandt
8ef1fbc0c3 patch 9.0.1708: getcompletion() failes for user-defined commands
Problem: getcompletion() failes for user-defined commands
Solution: set context for completion function

closes: #12681
closes: #12680

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13 19:32:37 +02:00
Christian Brabandt
badeedd913 patch 9.0.1707: Cannot wrap around in popup_filter_menu()
Problem: Cannot wrap around in popup_filter_menu()
Solution: Allow to wrap around by default

Currently, it is not possible, to wrap around at the end of the list
using e.g. down (and go back to the top) or up at the beginning of the
list and go directly to the last item. This is not consistent behaviour
with e.g. how the pum-menu currently works, so let's just allow this.

Also adjust tests about it.

closes: #12689
closes: #12693

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13 19:27:46 +02:00
Matthias Braun
02551c9de0 patch 9.0.1706: typos in the xxd manpage
Problem: typos in the xxd manpage
Solution: Fix typos and formatting

closes: #12645

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Matthias Braun <mb720@users.noreply.github.com>
2023-08-13 19:21:38 +02:00
Christian Brabandt
96d6c4aabe runtime: Remove Brams email in indent/README.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13 18:17:21 +02:00
zeertzjq
b25dbb3f9b patch 9.0.1705: cursor position wrong when clicking on an unprintable char
Problem:  cursor position wrong when clicking on an unprintable char
Solution: Don't update prev_ptr when wlv.n_extra is not zero.

closes: #12664

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-13 18:11:05 +02:00
Christ van Willegen
0c6181fec4 patch 9.0.1704: Cannot use positional arguments for printf()
Problem: Cannot use positional arguments for printf()
Solution: Support positional arguments in string formatting

closes: #12140

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
2023-08-13 18:06:00 +02:00
Christian Brabandt
1688938dd5 runtime: Add a few more remarks about Bram and new runtime files
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-13 17:53:07 +02:00
Yegappan Lakshmanan
74cc13cc40 patch 9.0.1703: Vim9 Calling a method in an extended class fails
Problem: Vim9 Calling a method in an extended class fails
Solution: use method index directly

closes: #12778

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-13 17:41:26 +02:00
ObserverOfTime
9ad1bf7afd runtime(pymanifest): fix mistake in syntax definition
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2023-08-13 10:38:14 +02:00
Christian Brabandt
e978b4534a Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
* Dedicate upcoming Vim 9.1 to Bram

Also replace in a few more places Brams email address and mention new
maintainers.

* Remove Bram from any Maintainer role

* runtime: Align Header

* it's mailing list not mailinglist
2023-08-13 10:33:05 +02:00
zeertzjq
9c30f43899 patch 9.0.1702: Undo test is flaky
Problem:  Undo test is flaky.
Solution: Apply filter and change time to "1 second ago" in both dumps.

closes: #12771

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-13 10:31:27 +02:00
ObserverOfTime
2f339aad6c Add syntax & ftplugin for pymanifest (#12773) 2023-08-13 10:26:20 +02:00
ObserverOfTime
f9c4c2f97d Update iss syntax file (#11890)
- Add 'ExternalSize:' parameter
- Add 'setntfscompression' files flag
- Fix escaped left brace highlight
- Fix 'String:' parameter highlight
- Remove trailing whitespace
2023-08-13 10:25:41 +02:00
Yegappan Lakshmanan
57a02ccf4c patch 9.0.1701: vim9 crash when class member overridden
Problem: vim9 crash when class member overridden
Solution: Use method_count field instead

closes: #12676
closes: #12677

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-13 10:19:38 +02:00
K.Takata
32f586eec1 patch 9.0.1700: Cannot compile with dynamic perl < 5.38
Problem: Cannot compile with dynamic perl < 5.38 (after 9.0.1681)
Solution: Fix if_perl/dyn from perl 5.32 to 5.38

closes: #12755

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: K.Takata <kentkt@csc.jp>
2023-08-13 10:15:05 +02:00
Mike Williams
6c313bbb04 patch 9.0.1699: compile warning for xdiff/xutils on MS-Windows
Problem: compile warning for xdiff/xutils on MS-Windows
Solution: add explicit type cast from size_t to long

closes: #12531

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Mike Williams <mikew@globalgraphics.com>
2023-08-12 20:50:55 +02:00
zeertzjq
7fe1089904 patch 9.0.1698: Test_map_restore_sid fails in GUI
Problem: Test_map_restore_sid fails in GUI
Solution: Feed an unsimplified Ctrl-B

closes: #12770

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-12 20:44:21 +02:00
Christ van Willegen
73b8209266 patch 9.0.1697: incsearch test not sufficient
Problem: incsearch test not sufficient (after 9.0.1691)
Solution: add an additional test

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
2023-08-12 20:17:26 +02:00
Christian Brabandt
8878653a44 patch 9.0.1696: sodium_mlock may still fail in CI
Problem: sodium_mlock may still fail in CI
Solution: Catch E1230 in testscript and skip test

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-12 09:41:23 +02:00
Christian Brabandt
f1cc4d55b9 patch 9.0.1695: Crash with overlong textprop above
Problem: Crash with overlong textprop above
Solution: Consider only positive padding

closes: #12665
closes: #12661

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-12 00:14:14 +02:00
zeertzjq
bacc83009b patch 9.0.1694: wrong mapping applied when replaying a char search
Problem: wrong mapping applied when replaying a char search
Solution: Store a NOP after the ESC

closes: #12708
closes: #6350

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-12 00:09:31 +02:00
Christian Brabandt
2d63e4b3cc patch 9.0.1693: Ctrl-Q not handled like Ctrl-V in replace mode
Problem: Ctrl-Q not handled like Ctrl-V in replace mode
Solution: Handle Ctrl-Q like Ctrl-V

closes: #12686
closes: #12684

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-12 00:03:57 +02:00
cions
db4fd29063 patch 9.0.1692: Android not handling AI_V4MAPPED ai_flag
Problem: Android not handling AI_V4MAPPED ai_flag
Solution: don't set AI_V4MAPPED flag when on Android, since
          Android's getaddrinfo returns EAI_BADFLAGS if ai_flags
          contains it

closes: #12613

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: cions <gh.cions@gmail.com>
2023-08-11 23:53:13 +02:00
zeertzjq
7b7b4cb6f2 patch 9.0.1691: wrong viewport restored for incsearch and smoothscroll
Problem: wrong viewport restored for incsearch and smoothscroll
Solution: Save and restore skipcol as well

closes: #12713

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-11 23:48:27 +02:00
Christian Brabandt
f6cdab3704 patch 9.0.1690: popup_create() not aborting on errors
Problem: popup_create() not aborting on errors
Solution: check for errors in arguments given and abort if an error
          occurred

closes: #12711

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-11 23:42:02 +02:00
Zdenek Dohnal
288bf26c53 patch 9.0.1689: python 3.12 produces warnings and fails test
Problem: python 3.12 produces warnings and fails test
Solution: Make use of raw strings in python3 tests

closes: #12765

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Zdenek Dohnal <zdohnal@redhat.com>
2023-08-11 23:32:23 +02:00
Tom Praschan
ca6ac99077 patch 9.0.1688: cannot store custom data in quickfix list
Problem: cannot store custom data in quickfix list
Solution: add `user_data` field for the quickfix list

closes: #11818

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Tom Praschan <13141438+tom-anders@users.noreply.github.com>
2023-08-11 23:26:12 +02:00
zeertzjq
7e0bae024d patch 9.0.1687: mapset() not properly handling script ID
Problem: mapset() not properly handling script ID
Solution: replace_termcodes() may accept a script ID

closes: #12699
closes: #12697

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-11 23:16:10 +02:00
Philip H
cd4e4e169a .cirrus.yml: skip pkg update for FreeBSD 13.1 (#12767) 2023-08-11 23:10:02 +02:00
Keith Smiley
d8f981138a Add commentstring for nix file format (#12696) 2023-08-11 23:07:50 +02:00
Devin J. Pohly
5fee111149 patch 9.0.1686: undotree() only works for the current buffer
Problem:    undotree() only works for the current buffer
Solution:   Add an optional "buffer number" parameter to undotree().  If
            omitted, use the current buffer for backwards compatibility.

closes: #4001
closes: #12292

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Devin J. Pohly <djpohly@gmail.com>
2023-08-11 22:53:39 +02:00
Philip H
422b9dcbfa patch 9.0.1685: silence Python 3.11 depreciations for gcc
Problem: Python 3.11 interface throws deprecation warnings
Solution: ignore those warnings for gcc and clang

Python 3.11 deprecation warnings are already silenced for clang using
the pragma
```
 # pragma clang diagnostic ignored "-Wdeprecated-declarations"
```

However those warnings are also emitted when using gcc. To avoid them
for both compilers, change use the __GNUC__ ifdef, which is defined for
gcc as well as clang.

Additionally, instead of using the "clang diagnostic ignored" pragma,
let's make use of 'GCC diagnostic ignored' which is again supported by
clang and GCC

closes: #12610

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
2023-08-11 22:38:48 +02:00
zeertzjq
b00df7aa38 patch 9.0.1684: Update libvterm to rev 839
Problem: libvterm slightly outdated
Solution: Update libvterm from rev 818 to rev 839

Notable fix: libvterm now handles DECSM/DECRM with multiple arguents,
so several ncurses programs (e.g. nnn) can enable mouse properly when
run in Vim's terminal in XTerm.

closes: #12746

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-11 21:15:08 +02:00
dkearns
8f5a8d8a8b Update CODEOWNERS (#12760) 2023-08-11 19:30:55 +02:00
Lily Ballard
21aaff3faa Update my name and email in runtime files (#12763) 2023-08-11 19:30:27 +02:00
Hong Xu
dd0ad25988 Update syntax/dosini.vim to the latest version (#12764)
The latest version is in https://github.com/xuhdev/syntax-dosini.vim/blob/master/syntax/dosini.vim. I've sent the file to Bram at the end of June, unfortunately it wasn't able to make into the Vim repository. RIP!
2023-08-11 19:29:20 +02:00
Dragan Simic' via vim_dev
81b8bf5b4a Update the vimscript code for restoring cursor position
Using xxd(1) to filter and edit binary files causes the input files
to have dual nature, so to speak, which effectively makes restoring
the cursor position broken.  Fix that by ignoring the "xxd" file type
in the code that restores the cursor position.

Interactive rebasing in git causes files to be edited in vim, which,
similarly to commit messages, are rarely the same as the last one
edited.  Thus, also add "gitrebase" to the list of file types for
which the cursor position isn't restored.

While there, refactor the code a bit to possibly save a few CPU cycles
and to keep the line lengths in check, and use the long form of the
commands and variables, to make the code slightly more consistent and
more understandable to newcomers.

Update the relevant comments in the code and the associated parts of
the documentation, to keep them in sync with the updated code.

Remove some redundant trailing whitespace as well, as spotted.
2023-08-10 06:43:14 +02:00
Dragan Simic' via vim_dev
6a500661a9 Improve the vimscript code in ":h hex-editing"
Save and restore the view position before and after saving the buffer,
respectively, to keep the current view of the xxd(1)'s hex dump
unchanged after doing ":w", which previously caused the window to
scroll back to the very beginning of the buffer.  I believe it's
needless to say how annoying and counterproductive that was.

Get rid of the "Press ENTER or type command to continue" message, which
was previously displayed after opening larger binary files.  The use
of "silent" and "redraw" commands is tailored specifically to avoid
screen flickering, e.g. when doing ":w", which is caused by the buffer
being filtered by an external command.

Increase the number of octets per line, produced by xxd(1), from the
default value of 16 to 32.  This puts bigger chunks of the hex dump
on the screen and makes the whole thing much more usable.

While there, reformat the code to make it more readable, and use the
long form of the commands and variables to make the code slightly more
consistent and more understandable to newcomers.
2023-08-10 06:43:14 +02:00
Christian Brabandt
6efb198033 Updated runtime files
This is a collection of various PRs from github that all require a minor
patch number:

1) https://github.com/vim/vim/pull/12612

    Do not conflate dictionary key with end of block

2) https://github.com/vim/vim/pull/12729:

    When saving and restoring 'undolevels', the constructs `&undolevels` and
    `:set undolevels` are problematic.

    The construct `&undolevels` reads an unpredictable value; it will be the
    local option value (if one has been set), or the global option value
    (otherwise), making it unsuitable for saving a value for later
    restoration.

    Similarly, if a local option value has been set for 'undolevels',
    temporarily modifying the option via `:set undolevels` changes the local
    value as well as the global value, requiring extra work to restore both
    values.

    Saving and restoring the option value in one step via the construct
    `:let &undolevels = &undolevels` appears to make no changes to the
    'undolevels' option, but if a local option has been set to a different
    value than the global option, it has the unintended effect of changing
    the global 'undolevels' value to the local value.

    Update the documentation to explain these issues and recommend explicit
    use of global and local option values when saving and restoring.  Update
    some unit tests to use `g:undolevels`.

3) https://github.com/vim/vim/pull/12702:

    Problem:    Pip requirements files are not recognized.
    Solution:   Add a pattern to match pip requirements files.

4) https://github.com/vim/vim/pull/12688:

    Add indent file and tests for ABB Rapid

5) https://github.com/vim/vim/pull/12668:

    Use Lua 5.1 numeric escapes in tests and add to CI

    Only Lua 5.2+ and LuaJIT understand hexadecimal escapes in strings.  Lua
    5.1 only supports decimal escapes:

    > A character in a string can also be specified by its numerical value
    > using the escape sequence \ddd, where ddd is a sequence of up to three
    > decimal digits. (Note that if a numerical escape is to be followed by a
    > digit, it must be expressed using exactly three digits.) Strings in Lua
    > can contain any 8-bit value, including embedded zeros, which can be
    > specified as '\0'.

    To make sure this works with Lua 5.4 and Lua 5.1 change the Vim CI to
    run with Lua 5.1 as well as Lua 5.4

6) https://github.com/vim/vim/pull/12631:

    Add hurl filetype detection

7) https://github.com/vim/vim/pull/12573:

    Problem:   Files for haskell persistent library are not recognized
    Solution:  Add pattern persistentmodels for haskell persistent library

closes: #12612
closes: #12729
closes: #12702
closes: #12688
closes: #12668
closes: #12631
closes: #12573

Co-authored-by: lacygoill <lacygoill@lacygoill.me>
Co-authored-by: Michael Henry <drmikehenry@drmikehenry.com>
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de>
Co-authored-by: James McCoy <jamessan@jamessan.com>
Co-authored-by: Jacob Pfeifer <jacob@pfeifer.dev>
Co-authored-by: Borys Lykah <lykahb@fastmail.com>
2023-08-10 06:19:18 +02:00
Christian Brabandt
6019fed0c5 patch 9.0.1682: sodium encryption is not portable
Problem: crypt: sodium encryption is not portable
Solution: use little-endian byte order for sodium encrypted files

As mentioned in #12586, sodium encryption only works on little ending
architectures, because reading and writing the sodium encryption
parameters are stored in the encrypted files in an arch-dependent way.

This of course fails for big-endian architectures like s390.

So make sure to use little-endian byte order when reading and writing
sodium encrypted files.

fixes: #12586
closes: 12655
2023-08-09 21:35:38 +02:00
Patrick Meiser-Knosowski
92f076e53e Update krl and add rapid syntax files (#12750) 2023-08-09 20:35:35 +02:00
Santos Gallegos
6ec7808c4a Add security policy (#12687)
* Add security policy

Currently is hard to find where to report security issues,
the only mention of it is in the issue template.

4c0089d696/.github/ISSUE_TEMPLATE/bug_report.yml (L12-L15)

Adding a SECURITY.md file will make it easier to find,
it will be displayed in https://github.com/vim/vim/security.

* Mention that reports are private
2023-08-09 20:11:37 +02:00
Balki
c41b3c9f95 defaults.vim: Update comment to simplify reverting augroup
closes: #12673
2023-08-09 20:07:26 +02:00
Philip H
1d7caa58e3 patch 9.0.1681: Build Failure with Perl 5.38
Problem: Build Failure with Perl 5.38
Solution: Fix Build Failure

closes: #12543, closes: #12575
2023-08-09 19:58:58 +02:00
Christian Brabandt
335c584940 patch 9.0.1680: sodium test fails in Github CI
Problem:    sodium test fails in Github CI
Solution:   Catch sodium_mlock() errors and do not error out

sodium_mlock() seems to fail consistently on the Github CI. Perhaps
[sodium_mlock()](https://libsodium.gitbook.io/doc/memory_management#text-locking-memory)
is called too often or with too much memory by the runners so
that this starts failing.

Let's just try to catch this and skip the test, when this starts
happening.

closes: #12751
2023-08-09 18:16:16 +02:00
Daniel Steinberg
c2bd205254 Change "the" to "then" under ':help bufload()' (#12662) 2023-08-09 18:10:59 +02:00
Filip Gospodinov
64dea84bb0 Manpager: apply g flag conditionally to s command (#12679)
Problem: The `s` command with `g` flag only substitutes
         one occurrence when `gdefault` is set.
Solution: Use `g` flag conditionally.
2023-08-09 18:00:36 +02:00
Christian Brabandt
bd76c89e31 update matchit (#12611) 2023-08-09 17:39:53 +02:00
zeertzjq
0401933a5b Fix alignment in filetype.txt (#12618)
There are three spaces because the "<" is concealed.
2023-08-09 17:39:05 +02:00
Dominique Pellé
077ade4f67 feat: recognize geojson extension as json filetype (#12636) 2023-08-09 17:36:40 +02:00
Max Gautier
b69b9d5e17 Add filetype detection for eyaml files (#12659)
https://github.com/voxpupuli/hiera-eyaml/ uses and produces the eyaml
format, which is simply yaml with some encrypted values.

It's convenient to edit the file without decrypting when not touching
encrypted values (or when you don't have access to the decryption key),
which is why vim should treat those files as yaml files.
2023-08-09 17:18:36 +02:00
ObserverOfTime
958e15bb1c Highlight editorconfig properties with dashes (#12691)
Problem: editorconfig properties with dashes are not highlighted
Solution: update the property pattern to include dashes
2023-08-09 17:05:39 +02:00
Turiiya
2eb413f89b detect filetype for *.vsh and *.vv files (#12692)
Co-authored-by: Turiiya <34311583+tobealive@users.noreply.github.com>
2023-08-09 17:04:59 +02:00
ObserverOfTime
44ff25d524 PyPA manifest files are not recognized (#12707)
Problem:    PyPA manifest files are not recognized.
Solution:   Add a pattern to match PyPA manifest files.
2023-08-09 16:52:33 +02:00
Anton Parkhomenko
7159ac7fec Unison support (#12715) 2023-08-09 16:50:52 +02:00
Chris Vincent
8967f6c4b9 feat(heex): borrow matchit support from html (#12717)
* feat(heex): borrow matchit support from html

Makes % support behave the same in heex as in html. For example, quickly moving the cursor between opening and closing tags.

* Remove unnecessary line; define b:undo_ftplugin first

* Remove b:html_set_match_words
2023-08-09 16:49:44 +02:00
Gergő Sályi
a13eb2b147 Add WebGPU Shading Language (WGSL) filetype (#12723)
The current W3C Working Draft for the WebGPU Shading Language (WGSL) specifies
'text/wgsl' media type for WGSL modules with the '.wgsl' file extension:
https://www.w3.org/TR/WGSL/#text-wgsl-media-type

It has also been registered at the Internet Assigned Numbers Authority (IANA):
https://www.iana.org/assignments/media-types/text/wgsl

Neovim's nvim-lspconfig already associates wgsl language servers
with 'filetype wgsl':
https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#wgsl_analyzer

However currenly setting 'filetype wgsl' for *.wgsl files by defalut in Neovim
is blocked by adding this filetype to the vim project first:
https://github.com/neovim/neovim/pull/23331

This commit adds this missing wgsl filetype.
2023-08-09 16:49:01 +02:00
Linda_pp
8f566fdb1e update .wast files syntax highlighting (#12741) 2023-08-09 16:45:52 +02:00
Christian Brabandt
84bc00e9b5 patch 9.0.1679: Cleanup Tests from leftover files
Problem:    Tests may leave leftover files around
Solution:   Clean up tests and remove files

There were a few failures in 'linux (huge, gcc, testgui, true, true)'
e.g. here: https://github.com/vim/vim/actions/runs/5497376153/jobs/10018060156

,----
| Error detected while processing command line..script /home/runner/work/vim/vim/src/testdir/runtest.vim[585]..function RunTheTest[54]..Test_lvimgrep_crash[16]..TestTimeout[12]..VimLeavePre Autocommands for "*"..function EarlyExit[7]..FinishTesting:
| line   70:
| E445: Other window contains changes
| E937: Attempt to delete a buffer that is in use: Xtest_stable_xxd.txt
| E937: Attempt to delete a buffer that is in use: Xtest_stable_xxd.txt
| E937: Attempt to delete a buffer that is in use: Xtest_stable_xxd.txtmalloc(): unsorted double linked list corrupted
`----

Which is puzzling, because the Xtest_stable_xxd file should have been
long gone after test_crypt.vim is run (and definitely no longer be
staying around in test_quickfix.vim).

So try to clean up properly after a test script is run, just in case any
X<file> is still around. During testing, a found a few leftover files,
which I also fixed in the relevant test-file.

Unfortunately, the test workflow 'linux (huge, gcc, testgui, true,
true)' now seems to fail with 'E1230: Encryption: sodium_mlock()' in
test_crypt.vim. Hopefully this is only temporary.
2023-08-08 20:39:55 +02:00
Christian Brabandt
9fcde94176 Merge pull request #12740 from k-takata/import-9.0.1678
Bring Bram's last patch (9.0.1678) to GitHub
2023-08-07 17:00:41 +02:00
ObserverOfTime
ad34abee25 patch 9.0.1678: blade files are not recognized
Problem:    Blade files are not recognized.
Solution:   Add a pattern for Blade files. (closes #12650)

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-08-07 03:24:20 +09:00
THARAK HEGDE
4c0089d696 patch 9.0.1677: typo in syntax test input file
Problem:    Typo in syntax test input file.
Solution:   Fix the typo and the expected dump files. (THARAK HEGDE,
            closes #12635)
2023-07-09 02:38:28 +01:00
Bram Moolenaar
16abd997c9 patch 9.0.1676: warning for buffer in use when exiting early
Problem:    Warning for buffer in use when exiting early.
Solution:   Change file names to be able to see what buffer is in use when
            exiting.
2023-07-08 00:54:06 +01:00
Bram Moolenaar
7c2beb48ef patch 9.0.1675: test may run into timeout when using valgrind
Problem:    Test may run into timeout when using valgrind.
Solution:   Use a longer timeout when using valgrind.
2023-07-08 00:25:56 +01:00
Bram Moolenaar
416bd916b4 patch 9.0.1674: help for builtin functions is not sorted properly
Problem:    Help for builtin functions is not sorted properly.
Solution:   Put err_teapot() help in the right position.
2023-07-07 23:19:18 +01:00
Bram Moolenaar
80adaa8ae8 patch 9.0.1673: cannot produce a status 418 or 503 message
Problem:    Cannot produce a status 418 or 503 message.
Solution:   Add err_teapot().
2023-07-07 18:57:40 +01:00
zeertzjq
d392a74c5a patch 9.0.1672: tabline highlight wrong after truncated double width label
Problem:    Tabline highlight wrong after truncated double width label.
Solution:   Fill up half a double width character later. (closes #12614)
2023-07-01 20:24:40 +01:00
skywind3000
e7d9ca2b3b patch 9.0.1671: Termdebug: error with more than 99 breakpoints
Problem:    Termdebug: error with more than 99 breakpoints.
Solution:   Use a different sign for breakpoint 100 and over. (closes #12589,
            closes #12588)
2023-06-28 23:27:28 +01:00
Bram Moolenaar
bf5f189e44 patch 9.0.1670: resetting local option to global value is inconsistent
Problem:    Resetting local option to global value is inconsistent.
Solution:   Handle "<" specifically for 'scrolloff' and 'sidescrolloff'.
            (closes #12594)
2023-06-27 21:51:07 +01:00
Christian Brabandt
19e6c4fd2d patch 9.0.1669: Crash syncing swapfile in new buffer when using sodium crypt
Problem:    Crash syncing swapfile in new buffer when using sodium crypt.
            (James McCoy)
Solution:   Add checks for sodium encryption. (Christian Brabandt,
            closes #12591, closes #12585)
2023-06-27 18:57:10 +01:00
ObserverOfTime
0256d76a33 patch 9.0.1668: PEM files are not recognized
Problem:    PEM files are not recognized.
Solution:   Add patterns to match PEM files. (closes #12582)
2023-06-26 22:05:37 +01:00
zeertzjq
e429893741 patch 9.0.1667: regression test doesn't fail when fix is reverted
Problem:    Regression test doesn't fail when fix is reverted.
Solution:   Add "n" to 'cpoptions' instead of using :winsize. (closes #12587,
            issue #12528)
2023-06-26 19:02:43 +01:00
Christian Brabandt
a2a90d5e20 patch 9.0.1666: compiler may warn for uninitialized variable
Problem:    Compiler may warn for uninitialized variable.
Solution:   Initialize this_props_len. (Christian Brabandt, closes #12599)
2023-06-26 18:48:09 +01:00
Christian Brabandt
590aae3557 patch 9.0.1665: empty CmdlineEnter autocommand causes errors in Ex mode
Problem:    Empty CmdlineEnter autocommand causes errors in Ex mode.
Solution:   Save and restore ex_pressedreturn. (Christian Brabandt,
            closes # 12581, closes #12578)
2023-06-25 22:34:22 +01:00
fullwaywang
8154e642aa patch 9.0.1664: divide by zero when scrolling with 'smoothscroll' set
Problem:    Divide by zero when scrolling with 'smoothscroll' set.
Solution:   Avoid using a negative width. (closes #12540, closes #12528)
2023-06-24 21:58:09 +01:00
Christian Brabandt
c9a4a8ab28 patch 9.0.1663: Termdebug on MS-Windows: some file names are not recognized
Problem:    Termdebug on MS-Windows: some file names are not recognized.
Solution:   Do not always change \t and \n. (Christian Brabandt,
            closes #12565, closes #12560, closes #12550)
2023-06-24 20:02:25 +01:00
Bram Moolenaar
4e2406c7a9 patch 9.0.1662: crash when using a class member twice
Problem:    Crash when using a class member twice. (Christian J. Robinson)
Solution:   Make a copy of the value.
2023-06-24 19:22:21 +01:00
Son Luong Ngoc
b46e0f3263 patch 9.0.1661: BUCK files are not recognized
Problem:    BUCK files are not recognized.
Solution:   Recognize BUCK files as "bzl". (Son Luong Ngoc, closes #12564)
2023-06-24 17:11:04 +01:00
Yegappan Lakshmanan
2d8e998544 patch 9.0.1660: error for using matchfuzzy() returning a list of dicts
Problem:    Error for using matchfuzzy() in Vim9 script returning a list of
            dicts.
Solution:   Make return type of matchfuzzy() list<any>. (Yegappan Lakshmanan,
            closes #12574)
2023-06-24 16:42:25 +01:00
Christian Brabandt
279de0cd1f patch 9.0.1659: Termdebug: default highlight cleared if changing colorscheme
Problem:    Termdebug: default highlight cleared when changing colorscheme.
Solution:   Use a ColorScheme autocommand. (Christian Brabandt, closes #12566,
            closes #12555)
2023-06-24 14:20:36 +01:00
Christian Brabandt
c8b6d4b378 patch 9.0.1658: autoload files for "zig" are not installed
Problem:    Autoload files for "zig" are not installed.
Solution:   Add install and uninstall rules in the makefile. (Christian
            Brabandt, closes #12577, closes #12567)
2023-06-24 13:30:04 +01:00
Bram Moolenaar
79186bee78 patch 9.0.1657: one more syntax test depends on the system
Problem:    One more syntax test depends on the system.
Solution:   Use "dash" instead of "sh".
2023-06-24 01:35:51 +01:00
Bram Moolenaar
7d0dbd0070 patch 9.0.1656: syntax test fails when detected shell type differs
Problem:    Syntax test fails when detected shell type differs.
Solution:   Avoid using "/bin/sh", it depends on the system.  Add a check that
            the shell type detection is correct.
2023-06-24 00:56:50 +01:00
Bram Moolenaar
2f43ec9363 patch 9.0.1655: syntax test fails when Vim window is not tall enough
Problem:    Syntax test fails when Vim window is not tall enough.
Solution:   Make sure each terminal window is closed.
2023-06-23 22:59:26 +01:00
Bram Moolenaar
813b7a85f2 patch 9.0.1654: MS-Windows: test for default 'viewdir' fails
Problem:    MS-Windows: test for default 'viewdir' fails.
Solution:   Escape the pattern.
2023-06-23 22:56:47 +01:00
Christian Brabandt
b8b1c8ebd4 patch 9.0.1653: Amiga: default 'viewdir' may not work
Problem:    Amiga: default 'viewdir' may not work.
Solution:   Use "home:" instead of "$VIM". Add a test. (Christian Brabandt,
            closes #12576)
2023-06-23 22:23:01 +01:00
Bram Moolenaar
bd32e8ad8d patch 9.0.1652: unclear why syntax test fails on Mac
Problem:    Unclear why syntax test fails on Mac.
Solution:   Echo v:errors when it's not empty.
2023-06-23 21:36:31 +01:00
Bram Moolenaar
10c1dbc06a patch 9.0.1651: unclear why syntax test fails on Mac
Problem:    Unclear why syntax test fails on Mac.
Solution:   Temporarily show the whole "messages" file.
2023-06-23 19:37:19 +01:00
Bram Moolenaar
801961d2c2 patch 9.0.1650: MS-Windows: default 'viewdir' may include read-only directory
Problem:    MS-Windows: default 'viewdir' may include read-only directory.
Solution:   Use $HOME instead of $VIM for 'viewdir' default. (closes #12119)
2023-06-23 16:15:13 +01:00
Bram Moolenaar
c6530c9d68 patch 9.0.1649: syntax test failure causes script to abort
Problem:    Syntax test failure causes script to abort.
Solution:   Fix appending string to list.
2023-06-22 23:04:11 +01:00
Bram Moolenaar
031d632188 patch 9.0.1648: result of syntax tests is hard to see
Problem:    Result of syntax tests is hard to see.
Solution:   List the failed tests.
2023-06-22 22:38:54 +01:00
Bram Moolenaar
1aa5f1c21f patch 9.0.1647: insufficient testing for syntax plugins
Problem:    Insufficient testing for syntax plugins.
Solution:   Add shell file examples. (Charles Campbell)  Create a messages
            file for easier debugging and reporting the test results.
2023-06-22 21:57:51 +01:00
Philip H
982ded68b6 patch 9.0.1646: CI: codecov may take a very long time to run
Problem:    CI: codecov may take a very long time to run.
Solution:   Add a timeout. (Philip Heiduck, closes #12559)
2023-06-22 18:12:46 +01:00
=?UTF-8?q?Dominique=20Pell=C3=A9?=
2b994da57a patch 9.0.1645: zserio files are not recognized
Problem:    zserio files are not recognized.
Solution:   Add a pattern for zserio files. (Dominique Pellé,
            closes #12544)
2023-06-22 14:36:39 +01:00
smjonas
bd087ae8f0 patch 9.0.1644: not all filetype file name matches are tested
Problem:    Not all filetype file name matches are tested.
Solution:   Add more file names to test with. (Jonas Strittmatter,
            closes #12569)
2023-06-22 12:41:19 +01:00
Bram Moolenaar
c12e4eecbb patch 9.0.1643: filetype detection fails if file name ends in many '~'
Problem:    Filetype detection fails if file name ends in many '~'.
Solution:   Strip multiple '~' at the same time. (closes #12553)
2023-06-22 12:18:57 +01:00
Bram Moolenaar
545c8a506e patch 9.0.1642: build failure with tiny features
Problem:    Build failure with tiny features.
Solution:   Add #ifdef's.
2023-06-21 15:51:47 +01:00
Bram Moolenaar
55f1b822d8 patch 9.0.1641: the log file does not give information about window sizes
Problem:    The log file does not give information about window sizes.
Solution:   Add a few log messages about obtaining the window size.
2023-06-21 13:42:48 +01:00
Bram Moolenaar
7f29122c8c patch 9.0.1640: compiler warning for unused variables without crypt feature
Problem:    Compiler warning for unused variables without the crypt feature.
Solution:   Adjust #ifdefs
2023-06-17 16:19:30 +01:00
Bram Moolenaar
bc385a150f patch 9.0.1639: build failure without the crypt feature
Problem:    Build failure without the crypt feature.
Solution:   Adjust #ifdefs
2023-06-17 15:35:03 +01:00
Bram Moolenaar
438d0c5e58 patch 9.0.1638: crypt tests hang and cause memory errors
Problem:    crypt tests hang and cause memory errors
Solution:   Move variable to start of function.
2023-06-17 15:00:27 +01:00
Christian Brabandt
54f50cbf6a patch 9.0.1637: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Move the variable to an inner block and initialize it. (Christian
            Brabandt, closes #12549)
2023-06-16 21:42:06 +01:00
zeertzjq
094dd152fe patch 9.0.1636: expanding a pattern interferes with cmdline completion
Problem:    Expanding a pattern interferes with command line completion.
Solution:   Set the file index only when appropriate. (closes #12519)
2023-06-15 22:51:57 +01:00
Bram Moolenaar
da51ad51bf patch 9.0.1635: error message is cleared when removing mode message
Problem:    Error message is cleared when removing mode message.
Solution:   Also reset flags when the message is further down.
2023-06-15 18:44:50 +01:00
Bram Moolenaar
800cdbb7ca patch 9.0.1634: message is cleared when removing mode message
Problem:    Message is cleared when removing mode message (Gary Johnson).
Solution:   Do not clear the command line after displaying a message.
2023-06-15 16:40:02 +01:00
zeertzjq
19dfa276c3 patch 9.0.1633: duplicate code for converting float to string
Problem:    Duplicate code for converting float to string.
Solution:   Use tv_get_string(). (closes #12521)
2023-06-15 10:56:41 +01:00
Marcin Szamotulski
166cd7b801 patch 9.0.1632: not all cabal config files are recognized
Problem:    Not all cabal config files are recognized.
Solution:   Add a couple of patterns. (Marcin Szamotulski, closes #12463)
2023-06-14 19:45:43 +01:00
zeertzjq
4c7cb372c1 patch 9.0.1631: passing wrong variable type to option gives multiple errors
Problem:    Passing a wrong variable type to an option gives multiple errors.
Solution:   Bail out early on failure. (closes #12504)
2023-06-14 16:39:54 +01:00
Ben Jackson
8d687a7424 patch 9.0.1630: "make clean" at the toplevel fails
Problem:    "make clean" at the toplevel fails.
Solution:   Clean the indent and syntax directories in a sub-shell.  (Ben
            Jackson, closes #12536, closes #12526)
2023-06-14 15:10:02 +01:00
Yegappan Lakshmanan
95707037af patch 9.0.1629: having utf16idx() rounding up is inconvenient
Problem:    Having utf16idx() rounding up is inconvenient.
Solution:   Make utf16idx() round down. (Yegappan Lakshmanan, closes #12523)
2023-06-14 13:10:15 +01:00
K.Takata
d5b952a871 patch 9.0.1628: syntax tests fail on FreeBSD
Problem:    Syntax tests fail on FreeBSD.
Solution:   Pass the Vim executable path with VIMPROG. (Ken Takata,
            closes #12535)  Adjust the paths.
2023-06-13 22:44:57 +01:00
Bram Moolenaar
46acad7284 patch 9.0.1627: no generic mechanism to test syntax plugins
Problem:    No generic mechanism to test syntax plugins.
Solution:   Add a syntax plugin test mechanism, using screendumps.  Add a
            simple test for "c".
2023-06-11 19:04:18 +01:00
Bram Moolenaar
10e8ff9b26 Update runtime files 2023-06-10 21:40:39 +01:00
Bram Moolenaar
f578ca2c8f patch 9.0.1626: Visual area not shown when using 'showbreak'
Problem:    Visual area not shown when using 'showbreak' and start of line is
            not visible. (Jaehwang Jung)
Solution:   Adjust "fromcol" for the space taken by 'showbreak'.
            (closes #12514)
2023-06-10 19:40:30 +01:00
Bram Moolenaar
ce723f3918 patch 9.0.1625: "super" is not considered a reserved name
Problem:    "super" is not considered a reserved name.
Solution:   Add "super" to the list of reserved names. (closes #12515)
2023-06-10 19:00:12 +01:00
Bram Moolenaar
5ca05fa59e patch 9.0.1624: crash when calling object constructor
Problem:    Crash when calling object constructor from legacy script. (Israel
            Chauca Fuentes)
Solution:   Pass a pointer for "ufunc". (closes #12502)
2023-06-10 16:45:13 +01:00
Bram Moolenaar
f07d1a7108 patch 9.0.1623: the program to filetype translation is not exported
Problem:    The program to filetype translation is not exported.
Solution:   Export Exe2filetype().
2023-06-09 21:01:47 +01:00
Christoph Sax
740df76c90 patch 9.0.1622: filetype name t32 is a bit obscure
Problem:    Filetype name t32 is a bit obscure.
Solution:   Rename t32 to trace32. (Christoph Sax, closes #12512)
2023-06-09 19:20:04 +01:00
Bram Moolenaar
c81dfaa69c patch 9.0.1621: FILETYPE_FILE is defined to the same value multiple times
Problem:    FILETYPE_FILE is defined to the same value multiple times.  Same
            for a few similar macros.
Solution:   Define FILETYPE_FILE and others in feature.h only
2023-06-08 22:16:23 +01:00
Bram Moolenaar
19548c6a74 patch 9.0.1620: Nix files are not recognized from the hashbang line
Problem:    Nix files are not recognized from the hashbang line.
Solution:   Add a hashbang check. (issue #12507)
2023-06-08 21:27:13 +01:00
Bram Moolenaar
85ef2df075 patch 9.0.1619: the focus gained/lost escape sequences cause trouble
Problem:    The focus gained/lost escape sequences cause trouble for a
            terminal where Vim does not expect them.
Solution:   Always recognize the codes for focus gained/lost. (closes #12499)
2023-06-08 18:44:01 +01:00
Christoph Sax
7fbcee6f92 patch 9.0.1618: Trace32 files are not recognized
Problem:    Trace32 files are not recognized.
Solution:   Add patterns for the t32 filetype. (Christoph Sax, closes #12505)
2023-06-08 17:57:19 +01:00
Yegappan Lakshmanan
577922b917 patch 9.0.1617: charidx() result is not consistent with byteidx()
Problem:    charidx() and utf16idx() result is not consistent with byteidx().
Solution:   When the index is equal to the length of the text return the
            lenght of the text instead of -1. (Yegappan Lakshmanan,
            closes #12503)
2023-06-08 17:09:45 +01:00
Shane Harper
5bf042810b patch 9.0.1616: quickfix text field is truncated
Problem:    Quickfix text field is truncated.
Solution:   Fix output of text field after pattern field in quickfix buffer.
            (Shane Harper, closes #12498)
2023-06-07 19:09:57 +01:00
ObserverOfTime
cdb7b4c508 patch 9.0.1615: URL shortcut files are not recognized
Problem:    URL shortcut files are not recognized.
Solution:   Add a pattern for URL shortcut files. (closes #12474)
2023-06-07 18:27:01 +01:00
zeertzjq
59f7038536 patch 9.0.1614: strlen() called too often for :spellrepall
Problem:    strlen() called too often for :spellrepall.
Solution:   Store the result in a variable. (closes #12497)
2023-06-06 15:59:59 +01:00
Gregory Anders
d1911a8e2b patch 9.0.1613: some make output gets picked up by 'errorformat'
Problem:    Some make output gets picked up by 'errorformat'.
Solution:   Ignore make output by default. (Gregory Anders, closes #12481)
2023-06-05 21:52:46 +01:00
Bram Moolenaar
15d4747ffd patch 9.0.1612: "skipcol" not reset when using multi-byte characters
Problem:    "skipcol" not reset when using multi-byte characters.
Solution:   Compare with w_virtcol instead of w_cursor.col. (closes #12457)
2023-06-05 20:44:55 +01:00
Bram Moolenaar
16d2c02c80 patch 9.0.1611: v:maxcol can be changed in a :for loop
Problem:    v:maxcol can be changed in a :for loop.
Solution:   Check for read-only loop variable. (closes #12470)
2023-06-05 19:46:18 +01:00
zeertzjq
d9a92dc70b patch 9.0.1610: display is wrong when 'smoothscroll' is set
Problem:    Display is wrong when 'smoothscroll' is set and scrolling multiple
            lines.
Solution:   Redraw with UPD_NOT_VALID when "skipcol" is or was set.
            (closes #12490, closes #12468)
2023-06-05 18:41:35 +01:00
Bram Moolenaar
f7ca56f719 patch 9.0.1609: crash when an object indirectly references itself
Problem:    Crash when an object indirectly references itself.
Solution:   Avoid clearing an object while it is already being cleared.
            (closes #12494)
2023-06-05 16:53:25 +01:00
Luuk van Baal
5c606846b9 patch 9.0.1608: update_topline() is called twice
Problem:    update_topline() is called twice.
Solution:   Do not call update_topline() before curs_columns(). (Luuk van
            Baal, closes #12495)
2023-06-05 15:00:05 +01:00
zeertzjq
55daae3921 patch 9.0.1607: screenpos() returns wrong row with diff filler lines
Problem:    screenpos() returns wrong row with diff filler lines.
Solution:   Only add filler lines when appropriate.  Also don't add the
            'smoothscroll' marker when w_skipcol is zero. (closes #12485,
            closes #12484)
2023-06-04 19:29:22 +01:00
zeertzjq
58e1e01045 patch 9.0.1606: using freed memory when 'foldcolumn' is set
Problem:    Using freed memory when 'foldcolumn' is set.
Solution:   Save extra pointer to free it later. (closes #12492)
2023-06-04 18:46:28 +01:00
Ernie Rael
114ec813b3 patch 9.0.1605: crash when calling method on super in child constructor
Problem:    Crash when calling method on super in child constructor. (Israel
            Chauca Fuentes)
Solution:   Clear the type list. (Ernie Rael, closes #12489, closes #12471)
2023-06-04 18:11:35 +01:00
Bram Moolenaar
abc8130d6a patch 9.0.1604: errors from the codestyle test are a bit confusing
Problem:    Errors from the codestyle test are a bit confusing.
Solution:   Use assert_report() with a clearer message.  Avoid a warning for
            an existing swap file.
2023-06-04 16:55:27 +01:00
zeertzjq
3c80227760 patch 9.0.1603: display wrong if scrolling multiple lines with 'smoothscroll'
Problem:    Display wrong when scrolling multiple lines with 'smoothscroll'
            set.
Solution:   Redraw when w_skipcol changed. (closes #12477, closes #12468)
2023-06-03 22:08:33 +01:00
zeertzjq
ecb87dd7d3 patch 9.0.1602: stray character visible if marker on top of double-wide char
Problem:    Stray character is visible if 'smoothscroll' marker is displayed
            on top of a double-wide character.
Solution:   When overwriting a double-width character with the 'smoothscroll'
            marker clear the second half. (closes #12469)
2023-06-03 19:45:06 +01:00
zeertzjq
664fd12aa2 patch 9.0.1601: filetype detection fails for *.conf file without comments
Problem:    Filetype detection fails for *.conf file without comments.
            (Dmitrii Tcyganok)
Solution:   Use "conf" filetype as a fallback for an empty .conf file.
            (closes #12487, closes #12483)
2023-06-03 17:56:30 +01:00
zeertzjq
f0e68c0e2a patch 9.0.1600: screenpos() does not take w_skipcol into account
Problem:    screenpos() does not take w_skipcol into account.
Solution:   Subtract w_skipcol from column. (closes #12486, closes #12476)
2023-06-03 17:11:47 +01:00
Luuk van Baal
a109f39ef5 patch 9.0.1599: Cursor not adjusted when 'splitkeep' is not "cursor"
Problem:    Cursor not adjusted when near top or bottom of window and
            'splitkeep' is not "cursor".
Solution:   Move boundary checks to outer cursor move functions, inner
            functions should only return valid cursor positions. (Luuk van
            Baal, closes #12480)
2023-06-02 14:16:35 +01:00
zeertzjq
47eec6716b patch 9.0.1598: screenchar() and others are wrong with DBCS 'encoding'
Problem:    screenchar(), screenchars() and screenstring() do not work
            properly when 'encoding' is set to a double-byte encoding.
Solution:   Fix the way the bytes of the characters are obtained.
            (issue #12469)
2023-06-01 20:26:55 +01:00
Bram Moolenaar
8509014add patch 9.0.1597: cursor ends up below the window after a put
Problem:    Cursor ends up below the window after a put.
Solution:   Mark w_crow and w_botline invalid when changing the cursor line.
            (closes #12465)
2023-06-01 19:27:08 +01:00
Julio B
eb43b7f053 patch 9.0.1596: :registers command does not work in sandbox
Problem:    :registers command does not work in sandbox.
Solution:   Add flag to the command. (closes #12473)
2023-06-01 12:45:22 +01:00
Luuk van Baal
e84c773d42 patch 9.0.1595: line pointer becomes invalid when using spell checking
Problem:    Line pointer becomes invalid when using spell checking.
Solution:   Call ml_get() at the right places. (Luuk van Baal, closes #12456)
2023-05-31 18:57:36 +01:00
RestorerZ
68ebcee023 patch 9.0.1594: some internal error messages are translated
Problem:    Some internal error messages are translated.
Solution:   Consistently do not translate internal error messages.
            (closes #12459)
2023-05-31 17:12:14 +01:00
K.Takata
3c240f608c patch 9.0.1593: MS-Windows: assert error when compiled with debug mode
Problem:    MS-Windows: assert error when compiled with debug mode.
Solution:   Adjust arguments to setvbuf(). (Ken Takata, closes #12467)
2023-05-31 12:47:45 +01:00
Bram Moolenaar
29b4c513b1 patch 9.0.1592: not all timer tests are marked as flaky
Problem:    Not all timer tests are marked as flaky.
Solution:   Set the flaky flag for all timer tests. (closes #12355)
2023-05-30 15:34:50 +01:00
Omar El Halabi
c9fbd2560f patch 9.0.1591: some "gomod" files are not recognized
Problem:    Some "gomod" files are not recognized.
Solution:   Check for "go.mod" file name before checking out the contents.
            (Omar El Halabi, closes #12462)
2023-05-29 19:59:45 +01:00
Bram Moolenaar
247caa378f patch 9.0.1590: filetype test has trailing white space
Problem:    Filetype test has trailing white space.
Solution:   Remove trailing white space.
2023-05-29 17:37:13 +01:00
Bram Moolenaar
b140c114f6 patch 9.0.1589: filetype test contains too many special characters
Problem:    Filetype test contains too many special characters.
Solution:   Use Vim9 syntax for a few things.
2023-05-29 17:06:05 +01:00
K.Takata
9cf6ab1332 patch 9.0.1588: Incsearch not triggered when pasting clipboard register
Problem:    Incsearch not triggered when pasting clipboard register on the
            command line.
Solution:   Also set "literally" when using a clipboard register. (Ken Takata,
            closes #12460)
2023-05-29 16:08:08 +01:00
Jake Stanger
05843e8960 patch 9.0.1587: Corn config files are not recognized
Problem:    Corn config files are not recognized.
Solution:   Add a pattern for Corn config files. (Jake Stanger, closes #12449)
2023-05-28 22:11:21 +01:00
Bram Moolenaar
78ee62563e patch 9.0.1586: error for using two messages with ngettext() differing in "%"
Problem:    Checking translations gives an error for using two messages with
            ngettext() that differ in "%" items.
Solution:   Adjust the check script to tolerate omitting one "%" item.
2023-05-28 18:39:55 +01:00
Luuk van Baal
30805a1aba patch 9.0.1585: weird use of static variables for spell checking
Problem:    Weird use of static variables for spell checking.
Solution:   Move the variables to a structure and pass them from win_update()
            to win_line(). (Luuk van Baal, closes #12448)
2023-05-27 22:22:10 +01:00
Bram Moolenaar
1ba0b9e36f patch 9.0.1584: not all meson files are recognized
Problem:    Not all meson files are recognized.
Solution:   Add "meson.options". (Liam Beguin, closes #12444)
2023-05-27 19:01:52 +01:00
Bram Moolenaar
3a2a60ce4a patch 9.0.1583: get E304 when using 'cryptmethod' "xchacha20v2"
Problem:    Get E304 when using 'cryptmethod' "xchacha20v2". (Steve Mynott)
Solution:   Add 4th crypt method to block zero ID check.  Avoid syncing a swap
            file before reading the file. (closes #12433)
2023-05-27 18:02:55 +01:00
zeertzjq
a40c0bcc83 patch 9.0.1582: :stopinsert may not work in a popup close handler
Problem:    :stopinsert may not work in a popup close handler. (Ben Jackson)
Solution:   Restore stop_insert_mode when appropriate. (closes #12452,
            closes #12434)
2023-05-27 14:10:08 +01:00
Bram Moolenaar
a1d5f9f33c patch 9.0.1581: translation does not work for plural argument
Problem:    Translation does not work for plural argument.
Solution:   Use PLURAL_MSG() for errors and with xgettext. (closes #12443)
2023-05-27 13:40:11 +01:00
ichizok
9f3afe7a70 patch 9.0.1580: CI: indent test hangs on FreeBSD
Problem:    CI: indent test hangs on FreeBSD.
Solution:   Set 'nomore' when running the indent tests. (Ozaki Kiichi,
            closes #12446)
2023-05-26 14:40:45 +01:00
RestorerZ
d87dec0582 patch 9.0.1579: some error messages are not translated
Problem:    Some error messages are not translated.
Solution:   Add the N_() marker on messages. (closes #12427)
2023-05-25 20:13:48 +01:00
Luuk van Baal
2ac6497f0e patch 9.0.1578: SpellCap highlight not always updated when needed
Problem:    SpellCap highlight not always updated when needed.
Solution:   Handle updating line below closed fold and other situations where
            only part of the window is redrawn. (Luuk van Baal, closes #12428,
            closes #12420)
2023-05-25 17:14:42 +01:00
K.Takata
1271572a35 patch 9.0.1577: MS-Windows: context menu translations may be wrong
Problem:    MS-Windows: context menu translations may be wrong.
Solution:   Set the encoding before using gettext(). (Ken Takata,
            closes #12441, closes #12431)
2023-05-25 16:43:27 +01:00
Bram Moolenaar
097c5370ea patch 9.0.1576: users may not know what to do with an internal error
Problem:    Users may not know what to do with an internal error.
Solution:   Add a translated message with instructions.
2023-05-24 21:02:24 +01:00
Bram Moolenaar
a8490a4952 patch 9.0.1575: "file N of M" message is not translated
Problem:    "file N of M" message is not translated.
Solution:   Make argument count message translatable. (close #12429)
2023-05-23 18:00:58 +01:00
Bram Moolenaar
167fb6d39b patch 9.0.1574: MS-Windows: list of translation input files incomplete
Problem:    MS-Windows: list of translation input files incomplete.
Solution:   Move the list of files to a common file. (closes #12426)
2023-05-23 15:27:51 +01:00
Bram Moolenaar
d4a9b7f614 patch 9.0.1573: error for function name has wrong line number
Problem:    Error for function name has wrong line number.
Solution:   Set the line number before giving the error.
2023-05-23 14:48:42 +01:00
Bram Moolenaar
50809a45eb patch 9.0.1572: error messages are not translated
Problem:    Error messages are not translated.
Solution:   Add _().
2023-05-20 16:39:07 +01:00
Bram Moolenaar
79cdf026f1 patch 9.0.1571: RedrawingDisabled not used consistently
Problem:    RedrawingDisabled not used consistently.
Solution:   Avoid RedrawingDisabled going negative.  Set RedrawingDisabled in
            win_split_ins(). (closes #11961)
2023-05-20 14:07:00 +01:00
Bram Moolenaar
bf63011a52 patch 9.0.1570: some tests are slow
Problem:    Some tests are slow.
Solution:   Make a few test cases faster.
2023-05-19 21:41:02 +01:00
h-east
2bd6a09691 patch 9.0.1569: cannot use "this.member" in lambda in class method
Problem:    Cannot use "this.member" in lambda in class method.
Solution:   Adjust check for reserved keyword. (Hirohito Higashi,
            closes #12416, closes #12076, closes #12336)
2023-05-19 19:01:17 +01:00
Luuk van Baal
d49f646bf5 patch 9.0.1568: with 'smoothscroll' cursor may move below botline
Problem:    With 'smoothscroll' cursor may move below botline.
Solution:   Call redraw_later() if needed,  Compute cursor row with adjusted
            condition. (Luuk van Baal, closes #12415)
2023-05-19 14:04:47 +01:00
Isao Sato
d13c254d10 patch 9.0.1567: profiler calculation may be wrong on 32 bit builds
Problem:    Profiler calculation may be wrong on 32 bit builds.
Solution:   Use 64 bit variable if possible. (Isao Sato, closes #12412)
2023-05-19 13:20:34 +01:00
Bram Moolenaar
74ccbb1f7d patch 9.0.1566: Motif: GUI scrollbar test fails in 24 lines terminal
Problem:    Motif: GUI scrollbar test fails in 24 lines terminal.
Solution:   Skip the part of the test that fails for now.
2023-05-18 20:07:12 +01:00
Bram Moolenaar
6fadbc1e8c patch 9.0.1565: json lines files are not recognized
Problem:    Json lines files are not recognized.
Solution:   Add a pattern to detect "jsonl" files. (issue #7520)
2023-05-18 16:42:17 +01:00
Luuk van Baal
0222c2d103 patch 9.0.1564: display moves up and down with 'incsearch' and 'smoothscroll'
Problem:    Display moves up and down with 'incsearch' and 'smoothscroll'.
Solution:   Do not check if w_skipcol changed. (Luuk van Baal, closes #12410,
            closes #12409)
2023-05-18 13:26:57 +01:00
Bram Moolenaar
c0da540466 patch 9.0.1563: GTK3: window manager resize hints are incomplete
Problem:    GTK3: window manager resize hints are incomplete.
Solution:   Use NULL for second argument of gtk_window_set_geometry_hints().
            (Kenny Stauffer closes #11055)
2023-05-16 22:15:51 +01:00
Philip H
7268e53996 patch 9.0.1562: mixing package managers is not a good idea
Problem:    Mixing package managers is not a good idea.
Solution:   Install gcc 13 with apt-get. (closes #12405)
2023-05-16 20:11:02 +01:00
Luuk van Baal
798fa76dbf patch 9.0.1561: display wrong when moving cursor to above the top line
Problem:    Display wrong when moving cursor to above the top line and
            'smoothscroll' is set.
Solution:   Call adjust_skipcol() in more places and make it work better.
            (Luuk van Baal, closes #12395)
2023-05-15 18:17:43 +01:00
K.Takata
f741e3ec1f patch 9.0.1560: Win32: When 'encoding' is set $PATH has duplicate entries
Problem:    Win32: When 'encoding' is set $PATH has duplicate entries.
Solution:   Only append the directory if it is not there yet. (Ken Takata,
            closes #12400, closes #12372)
2023-05-15 16:41:40 +01:00
Bram Moolenaar
2ba51236fb patch 9.0.1559: function argument types not always checked
Problem:    Function argument types not always checked and using v:none may
            cause an error.
Solution:   Check argument types once the function type is known.  Do not give
            an error for using v:none as an argument. (closes #12200)
2023-05-15 16:22:38 +01:00
Bram Moolenaar
a2c0028fdf patch 9.0.1558: wrong error for unreachable code after :throw
Problem:    Wrong error for unreachable code after :throw.
Solution:   Adjust the error message.
2023-05-14 22:05:15 +01:00
Bram Moolenaar
9d383f30bb patch 9.0.1557: test failures for unreachable code
Problem:    Test failures for unreachable code.
Solution:   Add a test override to ignore unreachable code.
2023-05-14 21:38:12 +01:00
Bram Moolenaar
cf2610c82b patch 9.0.1556: Vim9: error for missing "return" after "throw"
Problem:    Vim9: error for missing "return" after "throw".
Solution:   Set had_return flag for "throw". (closes #12262)
2023-05-14 19:59:59 +01:00
Bram Moolenaar
b7398fe41c Update runtime files 2023-05-14 18:50:25 +01:00
zeertzjq
e5d91ba1de patch 9.0.1555: setcharsearch() does not clear last searched char properly
Problem:    setcharsearch() does not clear last searched char properly.
Solution:   Do not accept lastc_bytelen smaller than one. (closes #12398)
2023-05-14 17:39:18 +01:00
Yegappan Lakshmanan
e42c27d9e8 patch 9.0.1554: code for handling 'switchbuf' is repeated
Problem:    Code for handling 'switchbuf' is repeated.
Solution:   Add a function to handle 'switchbuf'. (Yegappan Lakshmanan,
            closes #12397)
2023-05-14 17:24:22 +01:00
Philip H
b6a19594b2 patch 9.0.1553: CI: using slightly outdated gcc version
Problem:    CI: using slightly outdated gcc version.
Solution:   Use "brew" to get a more recent gcc version.  (closes #12391)
2023-05-13 18:05:20 +01:00
Philip H
c416fd4ca8 patch 9.0.1552: CI: sound-dummy module is not installed
Problem:    CI: sound-dummy module is not installed.
Solution:   Invert using the result of the condition.  (closes #12394)
2023-05-13 17:46:10 +01:00
Luuk van Baal
24b62ec825 patch 9.0.1551: position of marker for 'smoothscroll' not computed correctly
Problem:    Position of marker for 'smoothscroll' not computed correctly.
Solution:   Take 'list' and other options into account. (Luuk van Baal,
            closes #12393)
2023-05-13 14:12:15 +01:00
Bram Moolenaar
81f277f526 patch 9.0.1550: in cmdline window S-Tab does not select previous completion
Problem:    In cmdline window S-Tab does not select previous completion.
            (Maxim Kim)
Solution:   Add a mappint for S-Tab. (closes #12116)
2023-05-13 13:55:09 +01:00
Colin Kennedy
b848ce6b7e patch 9.0.1549: USD filetype is not recognized
Problem:    USD filetype is not recognized.
Solution:   Add patterns for USD filetype. (Colin Kennedy, closes #12370)
2023-05-13 12:15:57 +01:00
Christian Brabandt
ff40b625a6 patch 9.0.1548: CI: check in sound-dummy module may throw an error
Problem:    CI: check in sound-dummy module may throw an error.
Solution:   Check whether apt-cache can show the package description.
            (Christian Brabandt, closes #12390)
2023-05-13 11:54:47 +01:00
Philip H
12eb0f4ec5 patch 9.0.1547: Coveralls workflow on CI is commented out
Problem:    Coveralls workflow on CI is commented out.
Solution:   Remove the Coveralls workflow. (closes #12389)
2023-05-12 18:47:28 +01:00
Yegappan Lakshmanan
54be5fb382 patch 9.0.1546: some commands for opening a file don't use 'switchbuf'
Problem:    Some commands for opening a file don't use 'switchbuf'.
Solution:   Use 'switchbuf' for more commands. (Yegappan Lakshmanan,
            closes #12383, closes #12381)
2023-05-12 17:49:13 +01:00
Luuk van Baal
8667a5678f patch 9.0.1545: text not scrolled when cursor moved with "g0" and "h"
Problem:    Text not scrolled when cursor moved with "g0" and "h".
Solution:   Adjust w_skipcol when needed. (Luuk van Baal, closes #12387)
2023-05-12 15:47:25 +01:00
ichizok
378447fc18 patch 9.0.1544: recent glibc marks sigset() as a deprecated
Problem:    Recent glibc marks sigset() as a deprecated.
Solution:   Use sigaction() in mch_signal() if possible. (Ozaki Kiichi,
            closes #12373)
2023-05-11 22:25:42 +01:00
Luuk van Baal
5d01f86d99 patch 9.0.1543: display errors when making topline shorter
Problem:    Display errors when making topline shorter and 'smoothscroll' is
            set.
Solution:   Reset w_skipcol when the topline becomes shorter than its current
            value. (Luuk van Baal, closes #12367)
2023-05-11 19:24:20 +01:00
Luuk van Baal
6c018680be patch 9.0.1542: line not fully displayed if it doesn't fit in the screen
Problem:    Line not fully displayed if it doesn't fit in the screen.
Solution:   Do not reset s_skipcol if not needed. (Luuk van Baal,
            closes #12376)
2023-05-11 18:38:14 +01:00
Philip H
e741f039cf patch 9.0.1541: CI: sound dummy is disabled
Problem:    CI: sound dummy is disabled.
Solution:   Make sound dummy work again. (closes #12380)
2023-05-11 15:22:58 +01:00
Yegappan Lakshmanan
f9dc278946 patch 9.0.1540: reverse() on string doesn't work in compiled function
Problem:    reverse() on string doesn't work in compiled function.
Solution:   Accept string in argument type check. (Yegappan Lakshmanan,
            closes #12377)
2023-05-11 15:02:56 +01:00
Gaetan Lepage
4ce1bda869 patch 9.0.1539: typst filetype is not recognized
Problem:    Typst filetype is not recognized.
Solution:   Distinguish between sql and typst. (Gaetan Lepage, closes #12363)
2023-05-10 22:01:55 +01:00
Bram Moolenaar
411da64e77 patch 9.0.1538: :wqall does not trigger ExitPre
Problem:    :wqall does not trigger ExitPre. (Bart Libert)
Solution:   Move preparations for :qall to a common function. (closes #12374)
2023-05-10 16:53:27 +01:00
Bram Moolenaar
65b34868da patch 9.0.1537: message for opening the cmdline window is not translated
Problem:    Message for opening the cmdline window is not translated.
Solution:   Add gettext() and scan the defaults script for text to be
            translated.  (closes #12371)
2023-05-10 14:47:50 +01:00
Bram Moolenaar
5fc7959dcb patch 9.0.1536: CI: sound dummy stopped working
Problem:    CI: sound dummy stopped working.
Solution:   Temporarily stop using sound dummy.
2023-05-09 22:13:58 +01:00
Bram Moolenaar
a4467c433a patch 9.0.1535: test commented out in a wrong way
Problem:    Test commented out in a wrong way.
Solution:   Use legacy script comment character.
2023-05-09 22:07:11 +01:00
Bram Moolenaar
916d6dd5b1 patch 9.0.1534: test for expanding "~" in substitute takes too long
Problem:    Test for expanding "~" in substitute takes too long.
Solution:   Disable the test for now.
2023-05-09 21:45:47 +01:00
Luuk van Baal
6f37e530d3 patch 9.0.1533: test for 'smoothscroll' is ineffective
Problem:    Test for 'smoothscroll' is ineffective.
Solution:   Change the order of testing "zb" and "zt". (Luuk van Baal,
            closes #12366)
2023-05-09 21:23:54 +01:00
Bram Moolenaar
ab9a2d884b patch 9.0.1532: crash when expanding "~" in substitute causes very long text
Problem:    Crash when expanding "~" in substitute causes very long text.
Solution:   Limit the text length to MAXCOL.
2023-05-09 21:15:30 +01:00
Bram Moolenaar
d1ae8366af patch 9.0.1531: crash when register contents ends up being invalid
Problem:    Crash when register contents ends up being invalid.
Solution:   Check "y_array" is not NULL.
2023-05-09 17:09:30 +01:00
Luuk van Baal
aa6ba308a1 patch 9.0.1530: cursor moves to wrong line when 'foldmethod' is "diff"
Problem:    Cursor moves to wrong line when 'foldmethod' is "diff". (Rick
            Howe)
Solution:   Adjust logic for scrolling. (Luuk van Baal, closes #12364,
            closes #12218)
2023-05-09 16:01:17 +01:00
Bram Moolenaar
c9471b1872 patch 9.0.1529: code style test doesn't check for space after "if"
Problem:    Code style test doesn't check for space after "if".
Solution:   Add a test for space.
2023-05-09 15:00:00 +01:00
Bram Moolenaar
dda01c05c2 patch 9.0.1528: libsodium encryption is only used with "huge" features
Problem:    Libsodium encryption is only used with "huge" features, even when
            manually enabled through configure. (Tony Mechelynck)
Solution:   Remove the condition on FEAT_HUGE.
2023-05-08 22:11:07 +01:00
Kenta Sato
c28e7a2b2f patch 9.0.1527: crash when using negative value for term_cols
Problem:    Crash when using negative value for term_cols.
Solution:   Check for invalid term_cols value. (Kenta Sato, closes #12362)
2023-05-08 18:26:03 +01:00
zeertzjq
d619d6a9c6 patch 9.0.1526: condition is always true
Problem:    Condition is always true.
Solution:   Remove unnecessary condition. (closes #12359)
2023-05-08 15:56:21 +01:00
Luuk van Baal
3ce8c38915 patch 9.0.1525: 'smoothscroll' does not always work properly
Problem:    'smoothscroll' does not always work properly.
Solution:   Do not reset w_skipcol after it was intentionally set.  (Luuk van
            Baal, closes #12360, closes #12199, closes #12323)
2023-05-08 15:51:14 +01:00
zeertzjq
8cf51376b8 patch 9.0.1524: passing -1 for bool is not always rejected
Problem:    Passing -1 for bool is not always rejected.
Solution:   Check for error in a better way. (closes #12358)
2023-05-08 15:31:38 +01:00
zeertzjq
276410e78f patch 9.0.1523: some error messages are not marked for translation
Problem:    Some error messages are not marked for translation.
Solution:   Surround the messages in _(). (closes #12356)
2023-05-07 21:59:33 +01:00
Bram Moolenaar
e4098457ab patch 9.0.1522: some functions give two error messages
Problem:    Some functions give two error messages.
Solution:   Do not give a second error message. (closes #12352)
2023-05-07 18:53:49 +01:00
zeertzjq
30b6d6104c patch 9.0.1521: failing redo of command with control characters
Problem:    Failing redo of command with control characters.
Solution:   Use AppendToRedobuffLit() for colon commands. (closes #12354)
2023-05-07 17:39:23 +01:00
Bram Moolenaar
048d9d2521 patch 9.0.1520: completion for option name includes all bool options
Problem:    Completion for option name includes all bool options.
Solution:   Do not recognize the "noinv" prefix.  Prefix "no" or "inv" when
            appropriate.
2023-05-06 22:21:11 +01:00
Bram Moolenaar
0b70aeb49d patch 9.0.1519: global 'filetype' is set when detected from file content
Problem:    Global 'filetype' is set when it is detected from the file content.
Solution:   Set the local 'filetype' option value.
2023-05-06 21:21:52 +01:00
Christian Brabandt
34a6a3617b patch 9.0.1518: search stats not always visible when searching backwards
Problem:    Search stats not always visible when searching backwards.
Solution:   Do not display the top/bot message on top of the search stats.
            (Christian Brabandt, closes #12322, closes #12222)
2023-05-06 19:20:20 +01:00
Rose
00d07e7682 patch 9.0.1517: MacOS: configure removes -O2 from $CFLAGS
Problem:    MacOS: configure removes -O2 from $CFLAGS.
Solution:   Only adjust $CFLAGS for gcc. (closes #12351)
2023-05-06 18:07:14 +01:00
zeertzjq
3ab3a86481 patch 9.0.1516: cannot use special keys in <Cmd> mapping
Problem:    Cannot use special keys in <Cmd> mapping.
Solution:   Do allow for special keys in <Cmd> and <ScriptCmd> mappings.
            (closes #12326)
2023-05-06 16:22:04 +01:00
Yegappan Lakshmanan
03ff1c2dde patch 9.0.1515: reverse() does not work for a String
Problem:    reverse() does not work for a String.
Solution:   Implement reverse() for a String. (Yegappan Lakshmanan,
            closes #12179)
2023-05-06 14:08:21 +01:00
Bram Moolenaar
45fcb7928a patch 9.0.1514: test waits unnecessarily long before checking screendump
Problem:    Test waits unnecessarily long before checking screendump.
Solution:   Remove TermWait() call.
2023-05-06 13:01:27 +01:00
Luuk van Baal
b926bf47d6 patch 9.0.1513: text scrolls unnecessarily when splitting
Problem:    Text scrolls unnecessarily when splitting and 'splitkeep' is not
            "cursor".
Solution:   Avoid resetting w_skipcol. (Luuk van Baal, closes #12334)
2023-05-06 12:53:50 +01:00
Luuk van Baal
c8502f9b88 patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Problem:    Inserting lines when scrolling with 'smoothscroll' set.
Solution:   Adjust line height computation for w_skipcol. (Luuk van Baal,
            closes #12350)
2023-05-06 12:40:15 +01:00
zeertzjq
12e7a1fe75 patch 9.0.1511: crash when using wrong arg types to assert_match()
Problem:    Crash when using wrong arg types to assert_match().
Solution:   Check for NULL pointer. (closes #12349)
2023-05-06 12:20:05 +01:00
Bram Moolenaar
70e8028a4d patch 9.0.1510: misleading variable name for error message
Problem:    Misleading variable name for error message.
Solution:   Change "name" to "number".  (closes #12345)
2023-05-05 22:58:34 +01:00
Bram Moolenaar
2391954036 patch 9.0.1509: error message lacks mentioning the erroneous argument
Problem:    Error message lacks mentioning the erroneous argument.
Solution:   Specify the argument that the error is for.
2023-05-05 22:12:22 +01:00
zeertzjq
f2588b6fc9 patch 9.0.1508: catch does not work when lines are joined with a newline
Problem:    Catch does not work when lines are joined with a newline.
Solution:   Set "nextcmd" appropriately. (closes #12348)
2023-05-05 17:22:35 +01:00
zeertzjq
53f5e51628 patch 9.0.1507: assert message is confusing with boolean result
Problem:    Assert message is confusing with boolean result.  assert_inrange()
            replaces message instead of adding it.
Solution:   Don't put quotes around expected boolean value.  Append message
            for assert_inrange(). (closes #12342, closes #12341)
2023-05-04 18:58:22 +01:00
zeertzjq
88bb3e0a48 patch 9.0.1506: line number not displayed when using 'smoothscroll'
Problem:    Line number not displayed when using 'smoothscroll'.
Solution:   Adjust condition for showing the line number. (closes #12333)
2023-05-02 20:52:59 +01:00
zeertzjq
a93d9cdc74 patch 9.0.1505: error when heredoc content looks like heredoc
Problem:    Error when heredoc content looks like heredoc.
Solution:   Handle curly expressions. (closes #12325)
2023-05-02 16:25:47 +01:00
h-east
17b695190d patch 9.0.1504: no error when calling remote_startserver("")
Problem:    No error when calling remote_startserver() with an empty string.
Solution:   Give an error for an empty string. (Hirohito Higashi,
            closes #12327)
2023-05-01 22:36:56 +01:00
Amaan Qureshi
2dcfe9ae1d patch 9.0.1503: Luau files are not recognized
Problem:    Luau files are not recognized.
Solution:   Add a patter for Luau files. (Amaan Qureshi, closes #12317)
2023-04-30 21:24:39 +01:00
Luuk van Baal
5b10a14098 patch 9.0.1502: no test for deleting the end of a long wrapped line
Problem:    No test for deleting the end of a long wrapped line.
Solution:   Add a test to check the right text is displayed. (Luuk van Baal,
            closes #12318)
2023-04-30 19:15:30 +01:00
Bram Moolenaar
3ef2e41128 patch 9.0.1501: crash with nested :try and :throw in catch block
Problem:    Crash with nested :try and :throw in catch block.
Solution:   Jump to :endtry before returning from function. (closes #12245)
2023-04-30 18:50:48 +01:00
zeertzjq
58a44751ce patch 9.0.1500: The falsy operator is not tested properly
Problem:    The falsy operator is not tested properly.
Solution:   Add a few more test cases. (closes #12319)
2023-04-30 15:29:56 +01:00
Bram Moolenaar
caf642c25d patch 9.0.1499: using uninitialized memory with fuzzy matching
Problem:    Using uninitialized memory with fuzzy matching.
Solution:   Initialize the arrays used to store match positions.
2023-04-29 21:38:04 +01:00
Bram Moolenaar
58806c1553 patch 9.0.1498: in a terminal window the cursor may jump around
Problem:    In a terminal window the cursor may jump around. (Kenny Stauffer)
Solution:   Do not move the cursor to the position for terminal-normal mode.
            (closes #12312)
2023-04-29 14:26:02 +01:00
Emir SARI
971cd2b8bc patch 9.0.1497: the ruler percentage can't be localized
Problem:    The ruler percentage can't be localized.
Solution:   Use a string that can be translated. (Emir Sari, closes #12311)
2023-04-29 12:09:53 +01:00
zeertzjq
0b933c331d patch 9.0.1496: test restoring register with wrong value
Problem:    Test restoring register with wrong value.
Solution:   Correct name of variable. (closes #12310)
2023-04-28 18:44:50 +01:00
Kenny Stauffer
660eb9f9db patch 9.0.1495: GTK3: hiding the mouse pointer does not work
Problem:    GTK3: hiding the mouse pointer does not work. (Rory O’Kane)
Solution:   Set alpha level to zero. (Kenny Stauffer, closes #12293,
            closes #3256)
2023-04-28 16:36:51 +01:00
Bram Moolenaar
bf1b713202 patch 9.0.1494: crash when recovering from corrupted swap file
Problem:    Crash when recovering from corrupted swap file.
Solution:   Bail out when the line index looks wrong. (closes #12276)
2023-04-27 21:13:12 +01:00
zeertzjq
4e1ca0d9a6 patch 9.0.1493: popup menu position wrong in window with toolbar
Problem:    Popup menu position wrong in window with toolbar.
Solution:   Take the window toolbar into account when positioning the popup
            menu. (closes #12308)
2023-04-27 19:36:55 +01:00
Bram Moolenaar
b7f2270bab patch 9.0.1492: using uninitialized memory when argument is missing
Problem:    Using uninitialized memory when argument is missing.
Solution:   Check there are sufficient arguments before the base.
            (closes #12302)
2023-04-27 16:24:07 +01:00
zeertzjq
fbf2071ac9 patch 9.0.1491: wrong scrolling with ls=0 and :botright split
Problem:    Wrong scrolling with ls=0 and :botright split.
Solution:   Add statusline before calling frame_new_height(). (closes #12299)
2023-04-26 19:01:44 +01:00
zeertzjq
73916bac5a patch 9.0.1490: the ModeChanged event may be triggered too often
Problem:    The ModeChanged event may be triggered too often.
Solution:   Only trigger ModeChanged when no operator is pending.
            (closes #12298)
2023-04-26 16:50:19 +01:00
ichizok
2f14716c46 patch 9.0.1489: crypt with libsodium is not tested on CI
Problem:    Crypt with libsodium is not tested on CI.
Solution:   Configure testing with libsodium. (Ozaki Kiichi, closes #12297)
2023-04-26 15:43:39 +01:00
ichizok
35a2ec18d6 patch 9.0.1488: xchacha20v2 crypt header is platform dependent
Problem:    xchacha20v2 crypt header is platform dependent.
Solution:   Avoid using "size_t". (Ozaki Kiichi, closses #12296)
2023-04-25 15:27:27 +01:00
Yegappan Lakshmanan
c3eddd2068 patch 9.0.1487: Content-type header for LSP channel not according to spec
Problem:    Content-type header for LSP channel not according to spec.
Solution:   Use "vscode-jsonrpc" instead of "vim-jsonrpc". (Yegappan
            Lakshmanan, closes #12295)
2023-04-25 14:54:54 +01:00
Samuel Dionne-Riel
cfc788c388 patch 9.0.1486: parallel make might not work
Problem:    Parallel make might not work.
Solution:   Add missing dependencies. (Samuel Dionne-Riel, closes #12288)
2023-04-24 22:41:53 +01:00
Christian Brabandt
67672ef097 patch 9.0.1485: no functions for converting from/to UTF-16 index
Problem:    no functions for converting from/to UTF-16 index.
Solution:   Add UTF-16 flag to existing funtions and add strutf16len() and
            utf16idx(). (Yegappan Lakshmanan, closes #12216)
2023-04-24 21:09:54 +01:00
Bram Moolenaar
e1b4822137 patch 9.0.1484: Coverity warns for using invalid array index
Problem:    Coverity warns for using invalid array index.
Solution:   Add entry for Xchacha, even though it is not used.
2023-04-24 18:11:35 +01:00
Bram Moolenaar
22363c6994 patch 9.0.1483: += operator does not work on class member
Problem:    += operator does not work on class member.
Solution:   Do not skip as if "this." was used. (Christian Brabandt,
            closes #12263)
2023-04-24 17:15:25 +01:00
Bram Moolenaar
2354b66ac5 patch 9.0.1482: crash when textprop has a very large "padding" value
Problem:    Crash when textprop has a very large "padding" value. (Yegappan
            Lakshmanan)
Solution:   Avoid the "after" count to go negative.
2023-04-23 21:42:25 +01:00
Christian Brabandt
aae583441b patch 9.0.1481: decrypting with libsodium may fail if the library changes
Problem:    Decrypting with libsodium may fail if the library changes.
Solution:   Add parameters used to the encrypted file header. (Christian
            Brabandt, closes #12279)
2023-04-23 17:50:22 +01:00
Luuk van Baal
dcd40cfca0 patch 9.0.1480: using popup menu may leave text in the command line
Problem:    Using popup menu may leave text in the command line.
Solution:   Clear the command line if the popup menu covered it. (Luuk van
            Baal, closes #12286)
2023-04-23 16:24:08 +01:00
Bram Moolenaar
f39d9e9dca patch 9.0.1479: small source file problems; outdated list of distrib. files
Problem:    Small source file problems; outdated list of distributed files.
Solution:   Small updates to source files and list of distributed files.
2023-04-22 22:54:40 +01:00
Bram Moolenaar
71badf9547 Update runtime files 2023-04-22 22:40:14 +01:00
Turiiya
80406c2618 patch 9.0.1478: filetypes for *.v files not detected properly
Problem:    Filetypes for *.v files not detected properly.
Solution:   Use the file contents to detect the filetype. (Turiiya,
            closes #12281)
2023-04-22 21:38:47 +01:00
Bram Moolenaar
b67ba03d3e patch 9.0.1477: crash when recovering from corrupted swap file
Problem:    Crash when recovering from corrupted swap file.
Solution:   Check for a valid page count. (closes #12275)
2023-04-22 21:14:26 +01:00
Bram Moolenaar
e7f05a8780 patch 9.0.1476: lines put in non-current window are not displayed
Problem:    Lines put in non-current window are not displayed. (Marius
            Gedminas)
Solution:   Don't increment the topline when inserting just above it.
            (closes #12212)
2023-04-22 15:35:28 +01:00
Philip H
9be736f2eb patch 9.0.1474: CI runs with old version of Ubuntu and tools
Problem:    CI runs with old version of Ubuntu and tools.
Solution:   Update CI to more recent versions. (closes #11092)
2023-04-21 19:51:22 +01:00
ichizok
017227079f patch 9.0.1473: CI does not run sound tests
Problem:    CI does not run sound tests.
Solution:   Re-enable sound tests.  Use "apt-get" instead of "apt". (Ozaki
            Kiichi, closes #12280)
2023-04-21 17:46:57 +01:00
Bram Moolenaar
8281a16efc patch 9.0.1472: ":drop fname" may change the last used tab page
Problem:    ":drop fname" may change the last used tab page.
Solution:   Restore the last used tab page when :drop has changed it.
            (closes #12087)
2023-04-20 18:07:57 +01:00
Michael Jarvis
be9624eb47 patch 9.0.1471: warnings for function declarations
Problem:    Warnings for function declarations.
Solution:   Add argument types. (Michael Jarvis, closes #12277)
2023-04-19 20:28:48 +01:00
zeertzjq
1be4b81bfb patch 9.0.1470: deferred functions invoked in unexpected order
Problem:    Deferred functions invoked in unexpected order when using :qa and
            autocommands.
Solution:   Call deferred functions for the current funccal before using the
            stack. (closes #12278)
2023-04-19 14:21:24 +01:00
zeertzjq
960cf9119e patch 9.0.1469: deferred functions not called from autocommands
Problem:    Deferred functions not called from autocommands.
Solution:   Also go through the funccal_stack. (closes #12267)
2023-04-18 21:52:54 +01:00
zeertzjq
a1f2b5ddc6 patch 9.0.1468: recursively calling :defer function if it does :qa
Problem:    Recursively calling :defer function if it does :qa in a compiled
            function.
Solution:   Clear the defer entry before calling the function. (closes #12271)
2023-04-18 21:04:53 +01:00
dundargoc
142ffb024d patch 9.0.1467: Jenkinsfiles are not recognized as groovy
Problem:    Jenkinsfiles are not recognized as groovy.
Solution:   Add a pattern for Jenkinsfiles. (closes #12236)
2023-04-18 20:53:22 +01:00
h-east
61378a1542 patch 9.0.1466: cannot use an object member name as a method argument
Problem:    Cannot use an object member name as a method argument.
Solution:   Do not give an error for using an object member name for a method
            argument. (Hirohito Higashi, closes #12241, closes #12225)
            Fix line number for other argument error.
2023-04-18 19:07:29 +01:00
ichizok
89f9ffbe81 patch 9.0.1465: Haiku build fails
Problem:    Haiku build fails.
Solution:   Do not include globals.h and proto.h twice. (Ozaki Kiichi,
            closes #12273)
2023-04-18 17:20:08 +01:00
Federico Mengozzi
6e5a9f9482 patch 9.0.1464: strace filetype detection is expensive
Problem:    Strace filetype detection is expensive.
Solution:   Match with a cheap pattern first. (Federico Mengozzi,
            closes #12220)
2023-04-17 22:31:38 +01:00
h-east
4c42c7eef4 patch 9.0.1463: virtual text truncation only works with Unicode 'encoding'
Problem:    Virtual text truncation only works with Unicode 'encoding'.
Solution:   Convert the ellipsis character to 'encoding' if needed. (Hirohito
            Higashi, closes #12233)
2023-04-17 21:44:57 +01:00
Bram Moolenaar
42994bf678 patch 9.0.1462: recursively calling :defer function if it does :qa
Problem:    Recursively calling :defer function if it does :qa.
Solution:   Clear the defer entry before calling the function. (closes #12266)
2023-04-17 19:23:45 +01:00
Sean Dewar
fc8a601c32 patch 9.0.1461: ruler not drawn correctly when using 'rulerformat'
Problem:    Ruler not drawn correctly when using 'rulerformat'.
Solution:   Adjust formatting depending on whether the ruler is drawn in the
            statusline or the command line. (Sean Dewar, closes #12246)
2023-04-17 16:41:20 +01:00
zeertzjq
961b2e54bd patch 9.0.1460: insufficient testing for getcmdcompltype()
Problem:    Insufficient testing for getcmdcompltype().
Solution:   Add a few more test cases. (closes #12268)
2023-04-17 15:53:24 +01:00
zeertzjq
e7d49465a4 patch 9.0.1459: typo in name of type
Problem:    Typo in name of type.
Solution:   Change funccal_T to funccall_T. (closes #12265)
2023-04-16 20:53:55 +01:00
Yee Cheng Chin
a77670726e patch 9.0.1458: buffer overflow when expanding long file name
Problem:    Buffer overflow when expanding long file name.
Solution:   Use a larger buffer and avoid overflowing it. (Yee Cheng Chin,
            closes #12201)
2023-04-16 20:13:12 +01:00
Bram Moolenaar
ceff9cd1bb patch 9.0.1457: no regression test for what patch 9.0.1333 fixes
Problem:    No regression test for what patch 9.0.1333 fixes.
Solution:   Extend existing test to cover the fixed problem. (issue #11930)
2023-04-16 17:17:37 +01:00
zeertzjq
657b31fa3b patch 9.0.1456: shortmess test depends on order of test execution
Problem:    Shortmess test depends on order of test execution.
Solution:   Clear messages. (closes #12264)
2023-04-15 21:28:02 +01:00
Ben Jackson
732d69e191 patch 9.0.1455: C++ 20 modules are not recognized
Problem:    C++ 20 modules are not recognized.
Solution:   Add patterns to recognize C++ 20 modules as "cpp". (Ben Jackson,
            closes #12261)
2023-04-15 18:17:17 +01:00
ichizok
7e5fe38efc patch 9.0.1454: code indenting is confused by macros
Problem:    Code indenting is confused by macros.
Solution:   Put semicolon after the macros instead of inside. (Ozaki Kiichi,
            closes #12257)
2023-04-15 13:17:50 +01:00
Dominique Pelle
b49dfd0cf2 patch 9.0.1453: typos in source code and tests
Problem:    Typos in source code and tests.
Solution:   Fi the typos. (Dominique Pellé, closes #12217)
2023-04-14 21:54:25 +01:00
zeertzjq
b7f6f93475 patch 9.0.1452: code using EVAL_CONSTANT is dead, it is never set
Problem:    Code using EVAL_CONSTANT is dead, it is never set.
Solution:   Remove EVAL_CONSTANT. (closes #12252)
2023-04-13 22:12:50 +01:00
Luuk van Baal
aa7f25ebf1 patch 9.0.1451: unnecessary redrawing when 'showcmdloc' is not "last"
Problem:    Unnecessary redrawing when 'showcmdloc' is not "last".
Solution:   Redraw later when "showcmd_is_clear" is set. (Luuk van Baal,
            closes #12260)
2023-04-13 21:47:38 +01:00
Bram Moolenaar
08210f8def patch 9.0.1450: MacOS: building fails if clock_gettime() is not available
Problem:    MacOS: building fails if clock_gettime() is not available.
Solution:   Add a configure check for clock_gettime(). (closes #12242)
2023-04-13 19:15:54 +01:00
Bram Moolenaar
ff6c230051 patch 9.0.1449: test for prompt buffer is flaky
Problem:    Test for prompt buffer is flaky.
Solution:   Use WaitForAssert() instead of TermWait(). (Ozaki Kiichi,
            closes #12247)
2023-04-13 17:32:23 +01:00
ichizok
d76670fc0d patch 9.0.1448: diff test fails on MacOS 13
Problem:    Diff test fails on MacOS 13.
Solution:   Install GNU diffutils. (Ozaki Kiichi, closes #12258)
2023-04-13 17:23:45 +01:00
zeertzjq
474891bc89 patch 9.0.1447: condition is always true
Problem:    Condition is always true.
Solution:   Remove the useless condition. (closes #12253)
2023-04-12 21:36:03 +01:00
zeertzjq
5299c0933f patch 9.0.1446: unnecessary checks for the "skip" flag when skipping
Problem:    Unnecessary checks for the "skip" flag when skipping.
Solution:   Remove the unnecessary checks. (closes #12254)
2023-04-12 20:48:16 +01:00
Bram Moolenaar
01967f5b10 patch 9.0.1445: openSUSE: configure doesn't find the Motif library
Problem:    openSUSE: configure doesn't find the Motif library. (Tony
            Mechelynck)
Solution:   Also search in /usr/lib64.
2023-04-12 16:24:03 +01:00
zeertzjq
ac6cd31afc patch 9.0.1444: crash when passing NULL to setcmdline()
Problem:    Crash when passing NULL to setcmdline(). (Andreas Louv)
Solution:   Use tv_get_string() instead of using v_string directly.
            (closes #12231, closes #12227)
2023-04-12 16:21:14 +01:00
Bram Moolenaar
05a627c3d4 patch 9.0.1443: ending Insert mode when accessing a hidden prompt buffer
Problem:    Ending Insert mode when accessing a hidden prompt buffer.
Solution:   Don't stop Insert mode when it was active before. (closes #12237)
2023-04-09 22:01:31 +01:00
zeertzjq
bfc7cbd1d4 patch 9.0.1442: mapset() does not restore non-script context
Problem:    mapset() does not restore non-script context.
Solution:   Also accept negative sid. (closes #12132)
2023-04-07 22:09:46 +01:00
Yee Cheng Chin
b6ebe5af74 patch 9.0.1441: MacOS: Python 3 using framework do not set dll name properly
Problem:    MacOS: Python 3 using framework do not set dll name properly.
Solution:   Use the framework prefix. (Yee Cheng Chin, closes #12189)
2023-04-05 18:24:50 +01:00
Bram Moolenaar
23a971da50 patch 9.0.1440: "rvim" can execute a shell through :diffpatch
Problem:    "rvim" can execute a shell through :diffpatch.
Solution:   Disallow the shell "patch" command.
2023-04-04 22:04:53 +01:00
orbital
cde8de0345 patch 9.0.1439: start Insert mode when accessing a hidden prompt buffer
Problem:    Start Insert mode when accessing a hidden prompt buffer.
Solution:   Call leaving_window() in aucmd_restbuf(). (Thorben Tröbst,
            closes #12148, closes #12147)
2023-04-02 22:05:13 +01:00
Johan Kotlinski
065088d554 patch 9.0.1438: .fs files are falsely recognized as forth files
Problem:    .fs files are falsely recognized as forth files.
Solution:   Check 100 lines for something that looks like forth. (Johan
            Kotlinski, closes #12219, closes #11988)
2023-04-02 20:29:38 +01:00
Bram Moolenaar
3cdd799951 patch 9.0.1437: test fails with different error number
Problem:    Test fails with different error number.
Solution:   Adjust the expected error.
2023-04-01 22:24:18 +01:00
Bram Moolenaar
2ed57ac367 patch 9.0.1436: cannot compare a typed variable with v:none
Problem:    Cannot compare a typed variable with v:none.
Solution:   Allow for "x is v:none" and "x isnot v:none". (issue #12194)
2023-04-01 22:05:38 +01:00
Bram Moolenaar
38d867f041 patch 9.0.1435: scrolling too many lines when 'wrap' and 'diff' are set
Problem:    Scrolling too many lines when 'wrap' and 'diff' are set.
Solution:   Only scroll by screenlines for 'diff' when 'wrap' is not set.
            (closes #12211)
2023-04-01 19:54:40 +01:00
zeertzjq
39c9ec16ea patch 9.0.1434: crash when adding package already in 'runtimepath'
Problem:    Crash when adding package already in 'runtimepath'.
Solution:   Change order for using 'runtimepath' entries. (closes #12215)
2023-04-01 13:52:03 +01:00
Bram Moolenaar
869113f376 patch 9.0.1433: on some systems the Lua library is not found
Problem:    On some systems the Lua library is not found.
Solution:   Check if a subdirectory for Lua exists.  (closes #4475)
2023-03-31 21:29:00 +01:00
Bram Moolenaar
6ac2e4392a patch 9.0.1432: completion popup in wrong position with virtual text "above"
Problem:    Completion popup in wrong position with virtual text "above".
Solution:   Adjust the column. (closes #12210)
2023-03-31 19:32:29 +01:00
zeertzjq
2d68b722e3 patch 9.0.1431: getscriptinfo() loops even when specific SID is given
Problem:    getscriptinfo() loops even when specific SID is given.
Solution:   Only loop when needed.  Give a clearer error message.
            (closes #12207)
2023-03-30 21:50:37 +01:00
Mathias Jean Johansen
6400203517 patch 9.0.1430: Livebook files are not recognized
Problem:    Livebook files are not recognized.
Solution:   Add a pattern for Livebook files. (Mathias Jean Johansen,
            closes #12203)
2023-03-28 21:28:36 +01:00
Bram Moolenaar
1a08a3e2a5 patch 9.0.1429: invalid memory access when ending insert mode
Problem:    Invalid memory access when ending insert mode.
Solution:   Check if the insert_skip value is valid.
2023-03-26 21:27:24 +01:00
Bram Moolenaar
c174c2e58c patch 9.0.1428: cursor in wrong position when leaving insert mode
Problem:    Cursor in wrong position when leaving insert mode.
Solution:   Update the w_valid flags.  Position the cursor also when not
            redrawing. (closes #12137)
2023-03-25 20:06:49 +00:00
Bram Moolenaar
1f76138ff1 patch 9.0.1427: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (Tony Mechelynck)
Solution:   Add #ifdef.
2023-03-25 11:31:32 +00:00
Virginia Senioria
99e4ab2a1e patch 9.0.1426: indent wrong after "export namespace" in C++
Problem:    Indent wrong after "export namespace" in C++.
Solution:   Skip over "inline" and "export" in any order. (Virginia Senioria,
            closes #12134, closes #12133)
2023-03-24 19:25:06 +00:00
Amaan Qureshi
3ea62381c5 patch 9.0.1425: "wat" and "wast" files are one filetype
Problem:    "wat" and "wast" files are one filetype.
Solution:   Add a separate filetype for "wat" files. (Amaan Qureshi,
            closes #12165)
2023-03-23 15:45:46 +00:00
Bram Moolenaar
7ac36130e0 patch 9.0.1424: unused macros are defined
Problem:    Unused macros are defined.
Solution:   Remove the unused macros.
2023-03-22 22:03:16 +00:00
Amaan Qureshi
890c772036 patch 9.0.1423: WebAssembly Interface Type files are not recognized
Problem:    WebAssembly Interface Type files are not recognized.
Solution:   Add a pattern for WIT files. (Amaan Qureshi, closes #12173)
2023-03-21 22:03:15 +00:00
Amaan Qureshi
d0639d717b patch 9.0.1422: Sage files are not recognized
Problem:    Sage files are not recognized.
Solution:   Add a pattern for Sage files. (Amaan Qureshi, closes #12176)
2023-03-21 21:31:55 +00:00
Amaan Qureshi
8aa2a37f89 patch 9.0.1421: Nu files are not recognized
Problem:    Nu files are not recognized.
Solution:   Add a pattern for Nu files. (Amaan Qureshi, closes #12172)
2023-03-21 21:28:06 +00:00
Bram Moolenaar
aa26153b6c patch 9.0.1420: build failure because SIZE_MAX is not defined
Problem:    Build failure because SIZE_MAX is not defined.
Solution:   Define SIZE_MAX when missing. (John Marriott)
2023-03-21 20:04:58 +00:00
Amaan Qureshi
4a5c39fc52 patch 9.0.1419: Lean files are not recognized
Problem:    Lean files are not recognized.
Solution:   Add a pattern for Lean files. (Amaan Qureshi, closes #12177)
2023-03-21 19:57:33 +00:00
Yee Cheng Chin
5fedb8a5ab patch 9.0.1418: the included xdiff code is a bit outdated
Problem:    The included xdiff code is a bit outdated.
Solution:   Sync with the latest git xdiff code. (Yee Cheng Chin,
            closes #12181)
2023-03-20 17:30:52 +00:00
Amaan Qureshi
a1fa8b3ac2 patch 9.0.1417: ESDL files are not recognized
Problem:    ESDL files are not recognized.
Solution:   Add a pattern for ESDL files. (Amaan Qureshi, closes #12174)
2023-03-19 21:57:07 +00:00
Ernie Rael
e6d40dcdc7 patch 9.0.1416: crash when collection is modified when using filter()
Problem:    Crash when collection is modified when using filter().
Solution:   Lock the list/dict/blob. (Ernie Rael, closes #12183)
2023-03-19 21:23:38 +00:00
Amaan Qureshi
7c4516fe93 patch 9.0.1415: Crystal files are not recognized
Problem:    Crystal files are not recognized.
Solution:   Add a pattern for Crystal files. (Amaan Qureshi, closes #12175)
2023-03-19 20:43:26 +00:00
Bram Moolenaar
ea83c19462 patch 9.0.1414: <M-S-x> in Kitty does not use the Shift modifier
Problem:    <M-S-x> in Kitty does not use the Shift modifier.
Solution:   Apply the Shift modifier to ASCII letters. (closes #11913)
2023-03-18 17:22:46 +00:00
Bram Moolenaar
2a003177eb patch 9.0.1413: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Move variable declaration. (John Marriott)
2023-03-17 18:50:48 +00:00
Amaan Qureshi
6e377eca8d patch 9.0.1412: Pony files are not recognized
Problem:    Pony files are not recognized.
Solution:   Add a pattern for Pony files. (Amaan Qureshi, closes #12155)
2023-03-17 18:42:58 +00:00
Ernie Rael
076de79ad8 patch 9.0.1411: accuracy of profiling is not optimal
Problem:    Accuracy of profiling is not optimal.
Solution:   Use CLOCK_MONOTONIC if possible. (Ernie Rael, closes #12129)
2023-03-16 21:43:15 +00:00
Yee Cheng Chin
16110ccf11 patch 9.0.1410: MacOS: sed fails on .po files
Problem:    MacOS: sed fails on .po files.
Solution:   Set $LANG to "C". (Yee Cheng Chin, closes #12153)
2023-03-16 21:04:31 +00:00
Gabriel Kakizaki
d11ac403db patch 9.0.1409: racket files are recognized as scheme
Problem:    Racket files are recognized as scheme.
Solution:   Recognize rackets files separately. (Gabriel Kakizaki,
            closes #12164, closes #12162)
2023-03-16 20:13:29 +00:00
Amaan Qureshi
1505bef5c4 patch 9.0.1408: QMLdir files are not recognized
Problem:    QMLdir files are not recognized.
Solution:   Add a pattern for QMLdir files. (Amaan Qureshi, closes #12161)
2023-03-16 19:30:44 +00:00
Amaan Qureshi
b8ef029ee4 patch 9.0.1407: TableGen files are not recognized
Problem:    TableGen files are not recognized.
Solution:   Add a pattern for TableGen files. (Amaan Qureshi, closes #12156)
2023-03-16 15:54:18 +00:00
Andreas Louv
e202ec8a0c patch 9.0.1406: ILE RPG files are not recognized
Problem:    ILE RPG files are not recognized.
Solution:   Add patterns for ILE RPG files. (Andreas Louv, issue #12152)
2023-03-16 12:26:51 +00:00
Bram Moolenaar
14338024c1 patch 9.0.1405: missing check for out-of-memory
Problem:    Missing check for out-of-memory.
Solution:   Check for alloc() returning NULL pointer. (closes #12149)
2023-03-15 22:05:44 +00:00
Bram Moolenaar
e638acc927 patch 9.0.1404: compilation error with some compilers
Problem:    Compilation error with some compilers.
Solution:   Adjust array initialization. (John Marriott)
2023-03-15 17:08:51 +00:00
Dominique Pelle
e764d1b421 patch 9.0.1403: unused variables and functions
Problem:    Unused variables and functions.
Solution:   Delete items and adjust #ifdefs. (Dominique Pellé, closes #12145)
2023-03-12 21:20:59 +00:00
Bram Moolenaar
d13dd30240 patch 9.0.1402: crash when using null_class
Problem:    Crash when using null_class.
Solution:   Give an error when trying to use a null class.
2023-03-11 20:56:35 +00:00
zeertzjq
c481ad38f0 patch 9.0.1401: condition is always true
Problem:    Condition is always true.
Solution:   Remove the condition. (closes #12139)
2023-03-11 16:18:51 +00:00
Bram Moolenaar
5145c9a829 patch 9.0.1400: find_file_in_path() is not reentrant
Problem:    find_file_in_path() is not reentrant.
Solution:   Instead of global variables pass pointers to the functions.
            (closes #12093)
2023-03-11 13:55:53 +00:00
lagygoill
4df0772a41 patch 9.0.1399: highlight test script has a few problems
Problem:    Highlight test script has a few problems.
Solution:   Rewrite the script in Vim9 syntax. (closes #10379)
2023-03-10 18:37:11 +00:00
Bram Moolenaar
c0bdbfb2ee patch 9.0.1398: profile test repeats the headers many times
Problem:    Profile test repeats the headers many times.
Solution:   Put the headers in script variables.
2023-03-10 18:28:12 +00:00
Gianmaria Bajo
6a7c774920 patch 9.0.1397: highlight for popupmenu kind and extra cannot be set
Problem:    Highlight for popupmenu kind and extra cannot be set.
Solution:   Add PmenuKind, PmenuKindSel, PmenuExtra and PmenuExtraSel
            highlight groups and use them. (Gianmaria Bajo, closes #12114)
2023-03-10 16:35:53 +00:00
Bram Moolenaar
be19d78c3d patch 9.0.1396: sort(list, 'N') does not work in Vim9 script context
Problem:    sort(list, 'N') does not work in Vim9 script context.
Solution:   Convert string to number without giving an error. (closes #12061)
2023-03-09 22:06:49 +00:00
Amaan Qureshi
638388b8ef patch 9.0.1395: Odin files are not recognized
Problem:    Odin files are not recognized.
Solution:   Add a pattern for Odin files. (Amaan Qureshi, closes #12122)
2023-03-08 20:35:17 +00:00
Amaan Qureshi
cde1f8714e patch 9.0.1394: Unx Tal files are not recognized
Problem:    Unx Tal files are not recognized.
Solution:   Add a pattern for Unx Tal files. (Amaan Qureshi, closes #12117)
2023-03-08 19:55:50 +00:00
Amaan Qureshi
ff226d49fe patch 9.0.1393: Cairo files are not recognized
Problem:    Cairo files are not recognized.
Solution:   Add a pattern for Cairo files. (Amaan Qureshi, closes #12118)
2023-03-08 16:39:21 +00:00
Bram Moolenaar
7ac5023a5f patch 9.0.1392: using NULL pointer with nested :open command
Problem:    Using NULL pointer with nested :open command.
Solution:   Check that ccline.cmdbuff is not NULL.
2023-03-07 21:05:04 +00:00
Yegappan Lakshmanan
960dcbd098 patch 9.0.1391: "clear" macros are not always used
Problem:    "clear" macros are not always used.
Solution:   Use ALLOC_ONE, VIM_CLEAR, CLEAR_POINTER and CLEAR_FIELD in more
            places. (Yegappan Lakshmanan, closes #12104)
2023-03-07 17:45:11 +00:00
Yegappan Lakshmanan
14113fdf9c patch 9.0.1390: FOR_ALL_ macros are defined in an unexpected file
Problem:    FOR_ALL_ macros are defined in an unexpected file.
Solution:   Move FOR_ALL_ macros to macros.h.  Add FOR_ALL_HASHTAB_ITEMS.
            (Yegappan Lakshmanan, closes #12109)
2023-03-07 17:13:51 +00:00
=?UTF-8?q?Ola=20S=C3=B6der?=
663ee88a82 patch 9.0.1389: Amiga: a couple of include files are included twice
Problem:    Amiga: a couple of include files are included twice.
Solution:   Remove duplicate includes. (Ola Söder, closes #12106)
2023-03-07 15:30:50 +00:00
=?UTF-8?q?Ola=20S=C3=B6der?=
f06c4a7a1d patch 9.0.1388: Amiga: not all builds use gethostname()
Problem:    Amiga: not all builds use gethostname().
Solution:   Use gethostname() for all builds except AROS. (Ola Söder,
            closes #12107)
2023-03-06 20:36:55 +00:00
Christian Brabandt
cf3c1ca276 patch 9.0.1387: scrollbar test sporadically fails
Problem:    Scrollbar test sporadically fails.
Solution:   Mark the scrollbar test as flaky. (Christian Brabandt,
            closes #12113)
2023-03-06 15:29:29 +00:00
zeertzjq
30585e03a7 patch 9.0.1386: options test fails with some window width
Problem:    Options test fails with some window width.
Solution:   Adjust what text the test checks with. (closes #12111)
2023-03-06 08:10:04 +00:00
zeertzjq
f86dea8119 patch 9.0.1385: g'Esc is considered an error
Problem:    g'Esc is considered an error.
Solution:   Make g'Esc silently abandon the command. (closes #12110)
2023-03-05 21:15:06 +00:00
Philip H
b0b6b8b07e patch 9.0.1384: setting HOMEBREW_NO_AUTO_UPDATE is not needed with version 4
Problem:    Setting HOMEBREW_NO_AUTO_UPDATE is not needed with Homebew version
            4.
Solution:   Remove setting HOMEBREW_NO_AUTO_UPDATE. (closes #12008)
2023-03-05 20:56:34 +00:00
Bram Moolenaar
4390d872b6 patch 9.0.1383: xxd: combination of little endian and cols fails
Problem:    xxd: combination of little endian and cols fails. (Aapo
            Rantalainen)
Solution:   Round up the space taken by the hex output. (closes #12097)
2023-03-05 20:17:39 +00:00
Bram Moolenaar
c142d6513e patch 9.0.1382: failing test for strptime() doesn't show returned value
Problem:    Failing test for strptime() doesn't show returned value.
Solution:   Use assert_equal() instead of assert_true().
2023-03-05 19:27:49 +00:00
=?UTF-8?q?Ola=20S=C3=B6der?=
d8742476d1 patch 9.0.1381: ACCESS_ names have a conflict with on some systems
Problem:    ACCESS_ names have a conflict with on some systems.
Solution:   Rename by prepending VIM_. (Ola Söder, closes #12105)
2023-03-05 13:12:32 +00:00
Bram Moolenaar
5fb78c3fa5 patch 9.0.1380: CTRL-X on 2**64 subtracts two
Problem:    CTRL-X on 2**64 subtracts two. (James McCoy)
Solution:   Correct computation for large number. (closes #12103)
2023-03-04 20:47:39 +00:00
Yegappan Lakshmanan
5284b23e14 patch 9.0.1379: functions for handling options are not ordered
Problem:    Functions for handling options are not ordered.
Solution:   Put functions in alphabetical order. (Yegappan Lakshmanan,
            closes #12101)
2023-03-04 19:57:32 +00:00
Bram Moolenaar
c99cbf8f28 patch 9.0.1378: illegal memory access when using virtual editing
Problem:    Illegal memory access when using virtual editing.
Solution:   Make sure "startspaces" is not negative.
2023-03-04 14:13:10 +00:00
Bram Moolenaar
5c6a3c9bad patch 9.0.1377: job_status() may return "dead" if the process parent changed
Problem:    job_status() may return "dead" if the process parent changed.
Solution:   Call mch_process_running() to check if the job is still alive.
2023-03-04 13:23:26 +00:00
Bram Moolenaar
1c73b65229 patch 9.0.1376: accessing invalid memory with put in Visual block mode
Problem:    Accessing invalid memory with put in Visual block mode.
Solution:   Adjust the cursor column if needed.
2023-03-03 21:11:52 +00:00
Ernie Rael
f77a7f704f patch 9.0.1375: crash when getting member of obj of unknown class
Problem:    Crash when getting member of obj of unknown class.
Solution:   Check for NULL class and give an error message. (Ernie Rael,
            closes #12096)
2023-03-03 15:05:30 +00:00
Yegappan Lakshmanan
c727b19e9f patch 9.0.1374: function for setting options not used consistently
Problem:    Function for setting options not used consistently.
Solution:   Use a function for 'encoding' and terminal options. (Yegappan
            Lakshmanan, closes #12099)
2023-03-03 12:26:15 +00:00
h-east
194555c001 patch 9.0.1373: wrong text displayed when using both 'linebreak' and 'list'
Problem:    Wrong text displayed when using both 'linebreak' and 'list'.
Solution:   Only set "c_extra" to NUL when "p_extra" is not empty. (Hirohito
            Higashi, closes #12065)
2023-03-02 18:49:09 +00:00
James McCoy
db1887ce40 patch 9.0.1372: test for 'toolbariconsize' may fail
Problem:    Test for 'toolbariconsize' may fail.
Solution:   Only test 'toolbariconsize' when it is supported. (James McCoy,
            closes #12095)
2023-03-02 18:36:33 +00:00
zeertzjq
440d4cb55b patch 9.0.1371: ballooneval interferes with Insert completion
Problem:    Ballooneval interferes with Insert completion.
Solution:   Ignore mouse-move events when completing. (closes #12094,
            closes #12092)
2023-03-02 17:51:32 +00:00
Bram Moolenaar
c3f971f289 patch 9.0.1370: crash when using a NULL object
Problem:    Crash when using a NULL object. (Ernie Rael)
Solution:   Check for NULL and give an error message. (closes #12083)
2023-03-02 17:38:33 +00:00
Yegappan Lakshmanan
c6ff21e876 patch 9.0.1369: still some "else if" constructs for setting options
Problem:    Still some "else if" constructs for setting options.
Solution:   Add a few more functions for handling options. (Yegappan
            Lakshmanan, closes #12090)
2023-03-02 14:46:48 +00:00
Amaan Qureshi
4ed914b18a patch 9.0.1368: Bass files are not recognized
Problem:    Bass files are not recognized.
Solution:   Add patterns for Bass files. (Amaan Qureshi, closes #12088)
2023-03-02 12:51:18 +00:00
Bram Moolenaar
e0f8691969 patch 9.0.1367: divide by zero in zero-width window
Problem:    Divide by zero in zero-width window.
Solution:   Check the width is positive.
2023-03-01 17:55:31 +00:00
Yegappan Lakshmanan
ad60898aa4 patch 9.0.1366: functions for setting options are in random order
Problem:    Functions for setting options are in random order.
Solution:   Sort functions alphabetically. (Yegappan Lakshmanan,
            closes #12082)
2023-03-01 12:44:06 +00:00
zeertzjq
f0300fc7b8 patch 9.0.1365: dead test code
Problem:    Dead test code.
Solution:   Remove code that depends on Farsi, which has been removed.
            (closes #12084)
2023-02-28 16:02:35 +00:00
Yee Cheng Chin
da77693b17 patch 9.0.1364: build error with older Mac OS
Problem:    Build error with older Mac OS.
Solution:   Adjust #ifdef. (Yee Cheng Chin, closes #12074)
2023-02-28 15:51:23 +00:00
Bram Moolenaar
3f45d67a15 patch 9.0.1363: crash when :def function has :break in skipped block
Problem:    Crash when :def function has :break in skipped block. (Ernie Rael)
Solution:   Don't generate a jump for a skipped :break. (closes #12077)
2023-02-27 22:06:51 +00:00
Bram Moolenaar
99ad3a8bb9 patch 9.0.1362: ml_get error when going to another tab
Problem:    ml_get error when going to another tab. (Daniel J. Perry)
Solution:   Do not call update_topline() if "curwin" is invalid.
            (closes #11907)
2023-02-27 17:18:01 +00:00
Bram Moolenaar
dd60c365cd Update runtime files 2023-02-27 15:49:53 +00:00
zeertzjq
341f3876b3 patch 9.0.1361: extendnew() not sufficiently tested
Problem:    extendnew() not sufficiently tested.
Solution:   Add a few more test cases for extendnew(). (closes #12075)
2023-02-27 14:59:57 +00:00
Amaan Qureshi
80c5b2c0f7 patch 9.0.1360: Cue files are not recognized
Problem:    Cue files are not recognized.
Solution:   Add patterns for Cue files. (Amaan Qureshi, closes #12067)
2023-02-27 14:32:08 +00:00
Yegappan Lakshmanan
5da901bb68 patch 9.0.1359: too many "else if" statements in handling options
Problem:    Too many "else if" statements in handling options.
Solution:   Add more functions for handling option changes. (Yegappan
            Lakshmanan, closes #12060)
2023-02-27 12:47:47 +00:00
Bram Moolenaar
30a8447715 patch 9.0.1358: compilation error with some compilers
Problem:    Compilation error with some compilers.
Solution:   Avoid using "class" as member name.
2023-02-27 08:07:14 +00:00
Bram Moolenaar
c4e1b86cb0 patch 9.0.1357: using null_object results in an internal error
Problem:    Using null_object results in an internal error. (Ernie Rael)
Solution:   Add instructions for pushing an object and class. (closes #12044)
2023-02-26 18:58:23 +00:00
zeertzjq
4f026ea9f1 patch 9.0.1356: cannot cancel "gr" with Esc
Problem:    Cannot cancel "gr" with Esc.
Solution:   Make "gr<Esc>" do nothing. (closes #12064)
2023-02-26 14:47:24 +00:00
Bram Moolenaar
83ae6150bf patch 9.0.1355: no error when declaring a class twice
Problem:    No error when declaring a class twice. (Ernie Rael)
Solution:   Pass different flags when declaring the class. (closes #12057)
2023-02-25 19:59:31 +00:00
Bram Moolenaar
d6a4ea3aa0 patch 9.0.1354: "gr CTRL-G" stays in virtual replace mode
Problem:    "gr CTRL-G" stays in virtual replace mode. (Pierre Ganty)
Solution:   Prepend CTRL-V before control characters. (closes #12045)
2023-02-25 14:24:44 +00:00
Yegappan Lakshmanan
6d611de58c patch 9.0.1353: too many "else if" statements to handle option values
Problem:    Too many "else if" statements to handle option values.
Solution:   Add more functions to handle option value changes. (Yegappan
            Lakshmanan, closes #12058)
2023-02-25 11:59:33 +00:00
K.Takata
a63fd82328 patch 9.0.1352: "ignore" files are outdated
Problem:    "ignore" files are outdated.
Solution:   Update "ignore" files. (Ken Takata, closes #12056)
2023-02-24 17:16:41 +00:00
Amaan Qureshi
def5521752 patch 9.0.1351: Dhall files are not recognized
Problem:    Dhall files are not recognized.
Solution:   Add patterns for Dhall files. (Amaan Qureshi, closes #12052)
2023-02-24 16:01:54 +00:00
Amaan Qureshi
c2254764bc patch 9.0.1350: CPON files are not recognized
Problem:    CPON files are not recognized.
Solution:   Add patterns for CPON files. (Amaan Qureshi, closes #12053)
2023-02-24 12:08:45 +00:00
Bram Moolenaar
3ddb1182b7 patch 9.0.1349: "gr" with a count fails
Problem:    "gr" with a count fails.
Solution:   Break out of the loop only after using the count.
2023-02-23 22:14:37 +00:00
Amaan Qureshi
44e08c1cf8 patch 9.0.1348: Un-grammar files are not recognized
Problem:    Un-grammar files are not recognized.
Solution:   Add patterns for Un-grammar files. (Amaan Qureshi, closes #12034)
2023-02-23 20:31:08 +00:00
Bram Moolenaar
2824d1ee32 patch 9.0.1347: "gr CTRL-O" stays in Insert mode
Problem:    "gr CTRL-O" stays in Insert mode. (Pierre Ganty)
Solution:   Do not set restart_edit when "cmdchar" is 'v'. (closes #12045)
2023-02-23 20:13:04 +00:00
Amaan Qureshi
ca06b30073 patch 9.0.1346: Starlark files are not recognized
Problem:    Starlark files are not recognized.
Solution:   Add patterns for Starlark files. (Amaan Qureshi, closes #12049)
2023-02-23 15:38:49 +00:00
Yegappan Lakshmanan
8ad862a1f9 patch 9.0.1345: too many "else if" statements for handling options
Problem:    Too many "else if" statements for handling options.
Solution:   Add more functions to handle options. (Yegappan Lakshmanan,
            closes #12051)
2023-02-23 15:05:22 +00:00
Bram Moolenaar
a8f0835a6b patch 9.0.1344: check for OSC escape sequence doesn't work
Problem:    Check for OSC escape sequence doesn't work.
Solution:   Fix typo in index.
2023-02-23 13:54:01 +00:00
Johan Mattsson
3451789f58 patch 9.0.1343: check for OSC escape sequence doesn't work
Problem:    Check for OSC escape sequence doesn't work.
Solution:   Move square bracket to the right place. (Johan Mattsson,
            closes #12048)
2023-02-23 12:46:04 +00:00
zhihaoy
3e2d5385ed patch 9.0.1342: MS-Windows: linking may fail with space in directory name
Problem:    MS-Windows: linking may fail with space in directory name.
Solution:   Add quotes. (closes #12050)
2023-02-23 12:36:22 +00:00
K.Takata
4ee083e7f9 patch 9.0.1341: build error with mzscheme but without GUI
Problem:    Build error with mzscheme but without GUI.
Solution:   Adjust #ifdefs. (Ken Takata, closes #12042)  Also fix function
            argument.
2023-02-22 13:14:36 +00:00
Bram Moolenaar
666cb9c530 patch 9.0.1340: Coverity warns for using NULL pointer
Problem:    Coverity warns for using NULL pointer.
Solution:   Check that lhs_type is not NULL.
2023-02-22 12:35:17 +00:00
Bram Moolenaar
38f1ab31fa patch 9.0.1339: no test for :disassemble with class function
Problem:    No test for :disassemble with class function.
Solution:   Add a test.
2023-02-21 20:09:46 +00:00
Bram Moolenaar
99a7c0d89c patch 9.0.1338: :defcompile and :disassemble can't find class method
Problem:    :defcompile and :disassemble can't find class method. (Ernie Rael)
Solution:   Make a class name and class.method name work. (closes #11984)
2023-02-21 19:55:14 +00:00
Amaan Qureshi
cfce5cf542 patch 9.0.1337: yuck files are not recognized
Problem:    Yuck files are not recognized.
Solution:   Add a filetype pattern for yuck files. (Amaan Qureshi,
            closes #12033)
2023-02-21 15:18:50 +00:00
Yegappan Lakshmanan
a23a11b5bf patch 9.0.1336: functions without arguments are not always declared properly
Problem:    Functions without arguments are not always declared properly.
Solution:   Use "(void)" instead of "()". (Yegappan Lakshmanan, closes #12031)
2023-02-21 14:27:41 +00:00
h-east
d950984489 patch 9.0.1335: no test for bad use of spaces in help files
Problem:    No test for bad use of spaces in help files.
Solution:   Add checks for use of spaces in help files.  Ignore intentional
            spaces. (Hirohito Higashi, closes #11952)
2023-02-21 13:33:17 +00:00
Bram Moolenaar
b1e32ac0c9 patch 9.0.1334: using tt_member for the class leads to mistakes
Problem:    Using tt_member for the class leads to mistakes.
Solution:   Add a separate tt_class field.
2023-02-21 12:38:51 +00:00
Bram Moolenaar
938ae280c7 Update runtime files. 2023-02-20 20:44:55 +00:00
Bram Moolenaar
6b066c6d8f patch 9.0.1333: when redo'ing twice <ScriptCmd> may not get the script ID
Problem:    When redo'ing twice <ScriptCmd> may not get the script ID.
Solution:   When "last_used_map" map is not set use "last_used_sid".
            (closes #11930)
2023-02-20 18:44:33 +00:00
zeertzjq
b444ee761a patch 9.0.1332: crash when using buffer-local user command in cmdline window
Problem:    Crash when using buffer-local user command in cmdline window.
            (Karl Yngve Lervåg)
Solution:   Use the right buffer to find the user command. (closes #12030,
            closes #12029)
2023-02-20 15:25:13 +00:00
Pavel Mayorov
e1121b1394 patch 9.0.1331: illegal memory access when using :ball in Visual mode
Problem:    Illegal memory access when using :ball in Visual mode.
Solution:   Stop Visual mode when using :ball. (Pavel Mayorov, closes #11923)
2023-02-20 14:35:20 +00:00
Yegappan Lakshmanan
af93691b53 patch 9.0.1330: handling new value of an option has a long "else if" chain
Problem:    Handling new value of an option has a long "else if" chain.
Solution:   Use a function pointer. (Yegappan Lakshmanan, closes #12015)
2023-02-20 12:16:39 +00:00
zeertzjq
997b8a015c patch 9.0.1329: completion of map includes simplified ones
Problem:    Completion of map includes simplified ones.
Solution:   Do not complete simplified mappings. (closes #12013)
2023-02-19 21:00:31 +00:00
Bram Moolenaar
5b9f57262f patch 9.0.1328: error when using "none" for GUI color is confusing
Problem:    Error when using "none" for GUI color is confusing.
Solution:   Mention that the name should perhaps be "NONE". (closes #1400)
2023-02-19 20:49:38 +00:00
Bram Moolenaar
ea62cee85e patch 9.0.1327: cursor in wrong position below line with virtual text below
Problem:    Cursor in wrong position below line with virtual text below ending
            in multi-byte character.
Solution:   When checking for last character take care of multi-byte
            character.
2023-02-19 18:36:41 +00:00
Bram Moolenaar
a572b936ce patch 9.0.1326: relative line number not updated with virtual text above
Problem:    Relative line number not updated with virtual text above.
Solution:   Adjust the row for the line number for virtual text above.
            (closes #12004)
2023-02-19 14:34:37 +00:00
Bram Moolenaar
f53e065bce patch 9.0.1325: 'colorcolumn' highlight wrong with virtual text above
Problem:    'colorcolumn' highlight wrong with virtual text above.
Solution:   Adjust column of 'colorcolumn' for text propertly. (closes #12004)
2023-02-19 14:16:02 +00:00
Luuk van Baal
441a7a9448 patch 9.0.1324: "gj" and "gk" do not move correctly over a closed fold
Problem:    "gj" and "gk" do not move correctly over a closed fold.
Solution:   Use the same code as used for "j"/"k" to go to the next/previous
            line. (Luuk van Baal, closes #12007)
2023-02-18 20:15:44 +00:00
Bram Moolenaar
3e1ac1443a patch 9.0.1323: build failure with +eval feature
Problem:    Build failure with +eval feature.
Solution:   Add missing part for using funcerror_T.
2023-02-18 19:49:32 +00:00
Bram Moolenaar
2c1c803c7e patch 9.0.1322: crash when indexing "any" which is an object
Problem:    Crash when indexing "any" which is an object.
Solution:   Check the index is a number.  Do not check the member type of an
            object.  (closes #12019)
2023-02-18 18:38:37 +00:00
Bram Moolenaar
d114975b9b patch 9.0.1321: vimscript test fails where using {expr} syntax
Problem:    vimscript test fails where using {expr} syntax.
Solution:   Only return FCERR_FAILED in call_user_func() for Vim9 script.
2023-02-18 15:31:53 +00:00
Bram Moolenaar
0917e86763 patch 9.0.1320: checking the type of a null object causes a crash
Problem:    Checking the type of a null object causes a crash.
Solution:   Don't try to get the class of a null object. (closes #12005)
            Handle error from calling a user function better.
2023-02-18 14:42:44 +00:00
Matthias Queitsch
9de960ace0 patch 9.0.1319: PRQL files are not recognized
Problem:    PRQL files are not recognized.
Solution:   Add a filetype pattern for PRQL files. (Matthias Queitsch,
            closes #12018)
2023-02-18 12:04:37 +00:00
Bram Moolenaar
f2017f255d patch 9.0.1318: code style test fails
Problem:    Code style test fails.
Solution:   Remove trailing white space.
2023-02-17 21:29:57 +00:00
Bram Moolenaar
552bdca781 patch 9.0.1317: crash when using an unset object variable
Problem:    Crash when using an unset object variable.
Solution:   Give an error instead. (closes #12005)
2023-02-17 21:08:50 +00:00
Christopher Plewright
eea0a00811 patch 9.0.1316: MS-Windows: vimfiles dir created with admin group
Problem:    MS-Windows: vimfiles dir created with admin group.
Solution:   Use ShellExecAsUser to create the vimfiles directory. (Christopher
            Plewright, Ken Takata, closes #12000, closes #11888)
2023-02-17 20:04:51 +00:00
zeertzjq
c3a26c6bff patch 9.0.1315: escaping for completion of map command not properly tested
Problem:    Escaping for completion of map command not properly tested.
Solution:   Add a few test cases. (closes #12009)
2023-02-17 16:40:20 +00:00
cero1988
1d87e11a1e patch 9.0.1314: :messages behavior depends on 'fileformat' of current buffer
Problem:    :messages behavior depends on 'fileformat' of current buffer.
Solution:   Pass the buffer pointer to where it is used. (Mirko Ceroni,
            closes #11995)
2023-02-16 15:03:12 +00:00
K.Takata
ce3189d56e patch 9.0.1313: some settings use the current codepage instead of 'encoding'
Problem:    Some settings use the current codepage instead of 'encoding'.
Solution:   Adjust how options are initialized. (Ken Takata, closes #11992)
2023-02-15 19:13:43 +00:00
Luuk van Baal
bc3dc298b3 patch 9.0.1312: Cursor position wrong when splitting window in insert mode
Problem:    Cursor position wrong when splitting window in insert mode.
Solution:   Pass the actual mode to win_fix_cursor(). (Luuk van Baal,
            closes #11999,
2023-02-15 16:45:27 +00:00
Bram Moolenaar
339e114d70 patch 9.0.1311: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Use "empty_option" instead of NULL.
2023-02-15 14:26:25 +00:00
Bram Moolenaar
fdbd14e892 patch 9.0.1310: 'splitkeep' test has failures
Problem:    'splitkeep' test has failures.
Solution:   Adjust expected cursor line position.
2023-02-14 21:56:42 +00:00
Bram Moolenaar
1d6539cf36 patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Problem:    Scrolling two lines with even line count and 'scrolloff' set.
Solution:   Adjust how the topline is computed. (closes #10545)
2023-02-14 17:41:20 +00:00
Yegappan Lakshmanan
1a6476428f patch 9.0.1308: the code for setting options is too complicated
Problem:    The code for setting options is too complicated.
Solution:   Refactor the code for setting options. (Yegappan Lakshmanan,
            closes #11989)
2023-02-14 13:07:18 +00:00
Yegappan Lakshmanan
32ff96ef01 patch 9.0.1307: setting 'formatoptions' with :let doesn't check for errors
Problem:    Setting 'formatoptions' with :let doesn't check for errors.
Solution:   Pass "errbuf" to set_string_option(). (Yegappan Lakshmanan,
            closes #11974, closes #11972)
2023-02-13 16:10:04 +00:00
Bram Moolenaar
5ceb8157bc patch 9.0.1306: no regression test for solved problem of #11959
Problem:    No regression test for solved problem of #11959.
Solution:   Add a test, also with 'list' set. (closes #11959)
2023-02-12 18:11:21 +00:00
Bram Moolenaar
55a27d8ea7 patch 9.0.1305: cursor in wrong line with virtual text above
Problem:    Cursor in wrong line with virtual text above.
Solution:   Count extra line for text property above/below. (closes #11959)
2023-02-12 18:03:57 +00:00
Bram Moolenaar
234c3fab28 patch 9.0.1304: "$" for 'list' option displayed in wrong position
Problem:    "$" for 'list' option displayed in wrong position when there are
            text properties.
Solution:   Adjust logic for order of displayed items. (closes #11959)
2023-02-12 14:42:15 +00:00
qsmodo
094b8473ed patch 9.0.1303: Motif: scrollbar width/height wrong when maximized
Problem:    Motif: scrollbar width/height wrong when maximized.
Solution:   Set the width/height when creating the scrollbar. (closes #11946)
2023-02-11 19:12:57 +00:00
Bram Moolenaar
aab2ead008 patch 9.0.1302: on a Belgian keyboard CTRL-] does not work
Problem:    On a Belgian keyboard CTRL-] does not work.
Solution:   Translate CTRL-$ into CTRL-]. (closes #11831)
2023-02-11 16:15:50 +00:00
Bram Moolenaar
9d9a20ee87 patch 9.0.1301: virtual text below empty line not displayed
Problem:    Virtual text below empty line not displayed.
Solution:   Adjust flags and computations. (closes #11959)
2023-02-11 13:49:01 +00:00
Yegappan Lakshmanan
3ec78f973f patch 9.0.1300: 'statusline' only supports one "%=" item
Problem:    'statusline' only supports one "%=" item.
Solution:   Add support for multiple "%=" items. (TJ DeVries, Yegappan
            Lakshmanan, closes #11970, closes #11965)
2023-02-11 11:15:25 +00:00
zeertzjq
412e0e4ed9 patch 9.0.1299: change for triggering incsearch not sufficiently tested
Problem:    Change for triggering incsearch not sufficiently tested.
Solution:   Add a test case.  Simplify the code. (closes #11971)
2023-02-11 10:34:07 +00:00
K.Takata
c4b7dec382 patch 9.0.1298: inserting register on the cmdline does not trigger incsearch
Problem:    Inserting a register on the command line does not trigger
            incsearch or update hlsearch.
Solution:   Have cmdline_insert_reg() return CMDLINE_CHANGED when appropriate
            and handle it correctly. (Ken Takata, closes #11960)
2023-02-10 21:38:44 +00:00
WuerfelDev
962d916435 patch 9.0.1297: wrong value for $LC_CTYPE makes the environ test fail
Problem:    Wrong value for $LC_CTYPE makes the environ test fail.
Solution:   Unset $LC_CTYPE when running tests. (closes #11963)
2023-02-10 20:49:08 +00:00
Bram Moolenaar
094cf9f4d5 patch 9.0.1296: calling an object method with arguments does not work
Problem:    Calling an object method with arguments does not work. (Ernie
            Rael)
Solution:   Take the argument count into account when looking up the object.
            (closes #11911)
2023-02-10 15:52:25 +00:00
Yegappan Lakshmanan
6c41bedeed patch 9.0.1295: the option initialization function is too long
Problem:    The option initialization function is too long.
Solution:   Move code to separate functions. (Yegappan Lakshmanan,
            closes #11966)
2023-02-10 14:50:31 +00:00
Yegappan Lakshmanan
80b817b749 patch 9.0.1294: the set_bool_option() function is too long
Problem:    The set_bool_option() function is too long.
Solution:   Move code to separate functions. (Yegappan Lakshmanan,
            closes #11964)
2023-02-09 22:08:52 +00:00
Yegappan Lakshmanan
0caaf1e465 patch 9.0.1293: the set_num_option() is too long
Problem:    The set_num_option() is too long.
Solution:   Move code to separate functions. (Yegappan Lakshmanan,
            closes #11954)
2023-02-09 12:23:17 +00:00
Bram Moolenaar
313e4724c3 patch 9.0.1292: :defer may call the wrong method for an object
Problem:    :defer may call the wrong method for an object. (Ernie Rael)
Solution:   When en object is from a class that extends or implements, figure
            out the method to call at runtime. (closes #11910)
2023-02-08 20:55:27 +00:00
Amaan Qureshi
6642982bea patch 9.0.1291: Move language files are not recognized
Problem:    Move language files are not recognized.
Solution:   Recognize Move language files. (Amaan Qureshi, closes #11947)
2023-02-07 19:37:32 +00:00
zeertzjq
af9e28a5b8 patch 9.0.1290: CTRL-N and -P on cmdline don't trigger CmdlineChanged
Problem:    CTRL-N and -P on cmdline don't trigger CmdlineChanged.
Solution:   Jump to cmdline_changed instead of cmdline_not_changed.
            (closes #11956)
2023-02-06 20:58:09 +00:00
Philip H
43e234e8b4 patch 9.0.1289: a newer version of clang can be used for CI
Problem:    A newer version of clang can be used for CI.
Solution:   Switch from clang-15 to clang-16. (closes #11577)
2023-02-06 20:22:48 +00:00
Amaan Qureshi
91deac4539 patch 9.0.1288: FunC files are not recognized
Problem:    FunC files are not recognized.
Solution:   Recognize FunC files. (Amaan Qureshi, closes #11949)
2023-02-06 19:32:07 +00:00
Bram Moolenaar
0261e3978e patch 9.0.1287: with the Kitty key protocl Esc with NumLock cannot be mapped
Problem:    With the Kitty key protocl Esc with NumLock cannot be mapped.
Solution:   Also use K_ESC when there is a modifier. (closes #11811)
2023-02-06 17:46:37 +00:00
Bram Moolenaar
546933f497 patch 9.0.1286: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Bail out whan "varp" is NULL.
2023-02-06 16:40:49 +00:00
Bram Moolenaar
a9a6b0323e patch 9.0.1285: various small problems
Problem:    Various small problems.
Solution:   Adjust white space and comments.
2023-02-05 18:00:42 +00:00
Bram Moolenaar
40b4872966 patch 9.0.1284: compiler warnings for uninitialized variables
Problem:    Compiler warnings for uninitialized variables. (Tony Mechelynck)
Solution:   Add variable initializations.
2023-02-05 17:04:50 +00:00
Yegappan Lakshmanan
c72078b631 patch 9.0.1283: the code for setting options is too complicated
Problem:    The code for setting options is too complicated.
Solution:   Refactor the do_set() function. (Yegappan Lakshmanan, Lewis
            Russell, closes #11945)
2023-02-05 16:02:35 +00:00
Amaan Qureshi
c8ef30bc2e patch 9.0.1282: Ron files are not recognized
Problem:    Ron files are not recognized.
Solution:   Recognize Ron files. (Amaan Qureshi, closes #11948)
2023-02-05 14:47:46 +00:00
Janez Podhostnik
cb626a4692 patch 9.0.1281: Cadence files are not recognized
Problem:    Cadence files are not recognized.
Solution:   Recognize Cadence files. (Janez Podhostnik, closes #11951)
2023-02-05 13:01:40 +00:00
Bram Moolenaar
7a1bdaecf2 patch 9.0.1280: inssufficient testing for what 9.0.1265 fixes
Problem:    Inssufficient testing for what 9.0.1265 fixes.
Solution:   Add a couple of test cases. (issue #11885)
2023-02-04 15:45:27 +00:00
Bram Moolenaar
61fdbfa1e3 patch 9.0.1279: display shows lines scrolled down erroneously
Problem:    Display shows lines scrolled down erroneously. (Yishai Lerner)
Solution:   Do not change "wl_lnum" at index zero. (closes #11938)
2023-02-04 13:57:55 +00:00
Amaan Qureshi
4ad8ae8465 patch 9.0.1278: go.work.sum files are not recognized
Problem:    go.work.sum files are not recognized.
Solution:   Recognize go.work.sum files as the gosum filetype. (Amaan Qureshi,
            closes #11940)
2023-02-04 12:12:36 +00:00
zeertzjq
49f0524fb5 patch 9.0.1277: cursor may move with autocmd in Visual mode
Problem:    Cursor may move with autocmd in Visual mode.
Solution:   Restore "VIsual_active" before calling check_cursor().
            (closes #11939)
2023-02-04 10:58:34 +00:00
Bram Moolenaar
4be18e77ff patch 9.0.1276: some mappings with Meta and Shift do not work
Problem:    Some mappings with Meta and Shift do not work.
Solution:   Apply the Shift modifier to the key. (issue #11913)
2023-02-03 12:28:07 +00:00
Yegappan Lakshmanan
78012f55fa patch 9.0.1275: the code for setting options is too complicated
Problem:    The code for setting options is too complicated.
Solution:   Refactor the do_set() function. (Yegappan Lakshmanan, Lewis
            Russell, closes #11932)
2023-02-02 16:34:11 +00:00
Bram Moolenaar
be4e01637e Update runtime files. 2023-02-02 13:59:48 +00:00
Amaan Qureshi
685bf83b73 patch 9.0.1274: FIRRTL files are not recognized
Problem:    FIRRTL files are not recognized.
Solution:   Add a pattern for FIRRTL files. (Amaan Qureshi, closes #11931)
2023-02-02 13:30:13 +00:00
Bram Moolenaar
8f531662e2 patch 9.0.1273: "1v" may select block with wrong size
Problem:    "1v" may select block with wrong size. (Evgeni Chasnovski)
Solution:   Compute "curswant" in the right line. (closes #11925)
2023-02-01 17:33:18 +00:00
zeertzjq
e8d4ae0d11 patch 9.0.1272: typo in pattern for filetype detection
Problem:    Typo in pattern for filetype detection.
Solution:   Fix the typo. (closes #11924)
2023-02-01 15:31:23 +00:00
zeertzjq
1b438a8228 patch 9.0.1271: using sizeof() and subtract array size is tricky
Problem:    Using sizeof() and subtract array size is tricky.
Solution:   Use offsetof() instead. (closes #11926)
2023-02-01 13:11:15 +00:00
zeertzjq
a7d36b7320 patch 9.0.1270: crash when using search stat in narrow screen
Problem:    Crash when using search stat in narrow screen.
Solution:   Check length of message. (closes #11921)
2023-01-31 21:13:38 +00:00
Bram Moolenaar
b40c1de384 patch 9.0.1269: channel test often fails on Mac OS
Problem:    Channel test often fails on Mac OS.
Solution:   Increase the wait time from one to 15 milliseconds. (D. Ben
            Knoble, closes #11894)
2023-01-31 21:01:08 +00:00
Mark Skelton
9c51798a1f patch 9.0.1268: .clangd and .stylelintrc files don't get a filetype
Problem:    .clangd and .stylelintrc files don't get a filetype.
Solution:   Use yaml for .clangd and json for .stylelintrc files. (Mark
            Skelton, closes #11916)
2023-01-31 18:57:17 +00:00
Yegappan Lakshmanan
d6e4c75af2 patch 9.0.1267: the did_set_string_option function is too long
Problem:    The did_set_string_option function is too long.
Solution:   Further cleanup of handling string options.  (Yegappan Lakshmanan,
            Lewis Russell, closes #11920)
2023-01-31 13:25:58 +00:00
Bram Moolenaar
ce93d162da patch 9.0.1266: error for space before ": type" is inconsistent
Problem:    Error for space before ": type" is inconsistent.
Solution:   Give E1059 in more places. (closes #11868)
2023-01-30 21:12:34 +00:00
Bram Moolenaar
b8bebd0cd7 patch 9.0.1265: using an interface method may give a compilation error
Problem:    Using an interface method may give a compilation error.
Solution:   Do not try to compile the body of a method of an interface.
            (closes #11885)
2023-01-30 20:24:23 +00:00
Bram Moolenaar
eb45ad25ab patch 9.0.1264: Motif: compiler warning for unused argument
Problem:    Motif: compiler warning for unused argument.
Solution:   Add "UNUSED".
2023-01-30 19:26:24 +00:00
Amaan Qureshi
907349a743 patch 9.0.1263: KDL files are not recognized
Problem:    KDL files are not recognized.
Solution:   Add a pattern for KDL files. (Amaan Qureshi, closes #11898)
2023-01-30 15:19:57 +00:00
Yegappan Lakshmanan
f2e30d0c44 patch 9.0.1262: the did_set_string_option function is too long
Problem:    The did_set_string_option function is too long.
Solution:   Split off functionality to individual functions.  (Yegappan
            Lakshmanan, Lewis Russell, closes #11904)
2023-01-30 13:04:42 +00:00
Amaan Qureshi
2a99fe6c41 patch 9.0.1261: Elsa files are not recognized
Problem:    Elsa files are not recognized.
Solution:   Add a pattern for Elsa files. (Amaan Qureshi, closes #11908)
2023-01-29 17:50:14 +00:00
Bram Moolenaar
836137d89a patch 9.0.1260: Coverity warns for possible NULL pointer usage
Problem:    Coverity warns for possible NULL pointer usage.
Solution:   Change the condition.
2023-01-29 14:11:24 +00:00
Bram Moolenaar
492324e588 patch 9.0.1259: diffmode test fails
Problem:    Diffmode test fails.
Solution:   Adjust expected result for adjusted indenting.
2023-01-28 20:57:59 +00:00
Bram Moolenaar
755bf2b3d2 patch 9.0.1258: code style test fails
Problem:    Code style test fails.
Solution:   Adjust test files.
2023-01-28 19:38:49 +00:00
Bram Moolenaar
94722c5107 patch 9.0.1257: code style is not check in test scripts
Problem:    Code style is not check in test scripts.
Solution:   Add basic code style check for test files.
2023-01-28 19:19:03 +00:00
ObserverOfTime
04e4f1d985 patch 9.0.1256: NetworkManager connection files are not recognized
Problem:    NetworkManager connection files are not recognized.
Solution:   Add a pattern for NetworkManager connection files. (closes #11893)
2023-01-28 18:05:40 +00:00
Bram Moolenaar
8fe5b9c8c1 patch 9.0.1255: changing 'virtualedit' does not have immediate effect
Problem:    Changing 'virtualedit' does not have immediate effect.
Solution:   Correct how is checked for a changed value. (closes #11878)
2023-01-28 16:37:37 +00:00
Bram Moolenaar
d0200c8631 patch 9.0.1254: calling a method on an interface does not work
Problem:    Calling a method on an interface does not work.
Solution:   At runtime figure out what method to call. (closes #11901)
2023-01-28 15:19:40 +00:00
Philip H
192e24d974 patch 9.0.1253: CI adds repository unnecessarily
Problem:    CI adds repository unnecessarily.
Solution:   Remove the line from the workflow. (closes #11900)
2023-01-28 10:43:50 +00:00
Christopher Plewright
f75a2cb3c7 patch 9.0.1252: MS-Windows: scrollback cropped off on Vim exit
Problem:    MS-Windows: scrollback cropped off on Vim exit.
Solution:   Don't call SetConsoleScreenBufferInfoEx when using the alternate
            screen buffer. (Christopher Plewright, closes #11882)
2023-01-28 10:28:09 +00:00
Yegappan Lakshmanan
fadc02a2a5 patch 9.0.1251: checking returned value of ga_grow() is inconsistent
Problem:    Checking returned value of ga_grow() is inconsistent.
Solution:   Check for FAIL instaed of "not OK". (Yegappan Lakshmanan,
            closes #11897)
2023-01-27 21:03:12 +00:00
Bram Moolenaar
8dbab1d8ce patch 9.0.1250: cannot use an object method with :defer
Problem:    Cannot use an object method with :defer. (Ernie Rael)
Solution:   Find the object method and generate code to call it.
            (closes #11886)
2023-01-27 20:14:02 +00:00
Bram Moolenaar
657aea7fc4 patch 9.0.1249: cannot export an abstract class
Problem:    Cannot export an abstract class. (Ernie Rael)
Solution:   Add the EX_EXPORT flag to :abstract. (closes #11884)
2023-01-27 13:16:19 +00:00
Bram Moolenaar
53f54e49b7 patch 9.0.1248: cannot export an interface
Problem:    Cannot export an interface. (Ernie Rael)
Solution:   Add the EX_EXPORT flag to :interface. (closes #11884)
2023-01-26 20:36:56 +00:00
Bram Moolenaar
870219c58c patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Problem:    Divide by zero with 'smoothscroll' set and a narrow window.
Solution:   Bail out when the window is too narrow.
2023-01-26 14:14:43 +00:00
Yegappan Lakshmanan
142ed77898 patch 9.0.1246: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11887)
2023-01-26 12:00:00 +00:00
Yegappan Lakshmanan
032713f829 patch 9.0.1245: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11879)
2023-01-25 21:05:38 +00:00
Bram Moolenaar
0f843ef091 patch 9.0.1244: cursor displayed in wrong position when leaving Insert mode
Problem:    Cursor briefly displayed in a wrong position when pressing Esc in
            Insert mode after autoindent was used.
Solution:   Do not adjust the cursor position for assumed deleted white space
            if text is following.  (closes #11877)
2023-01-25 17:34:41 +00:00
zeertzjq
01d4efe2e8 patch 9.0.1243: :setglobal cannot use script-local function for "expr" option
Problem:    :setglobal cannot use script-local function for "expr" option.
Solution:   Use the pointer to the option value properly. (closes #11883)
2023-01-25 15:31:28 +00:00
zeertzjq
b0d45ec67f patch 9.0.1242: code for :runtime completion is not consistent
Problem:    Code for :runtime completion is not consistent.
Solution:   Make code for cmdline expansion more consistent. (closes #11875)
2023-01-25 15:04:22 +00:00
Bram Moolenaar
b582010350 patch 9.0.1241: Coverity warns for not checking function return value
Problem:    Coverity warns for not checking function return value.
Solution:   Explicitly ignore the return value.
2023-01-25 12:27:13 +00:00
Bram Moolenaar
62a6923470 patch 9.0.1240: cannot access a private object member in a lambda
Problem:    Cannot access a private object member in a lambda defined inside
            the class.
Solution:   Go up the context stack to find the class. (closes #11866)
2023-01-24 15:07:04 +00:00
Bram Moolenaar
b149d22796 patch 9.0.1239: cannot have a line break before an object member access
Problem:    Cannot have a line break before an object member access.
Solution:   Check for "." in next line. (closes #11864)
2023-01-24 13:03:37 +00:00
zeertzjq
5c8771bc5a patch 9.0.1238: :runtime completion can be further improved
Problem:    :runtime completion can be further improved.
Solution:   Also complete the {where} argument values and adjust the
            completion for that. (closes #11874)
2023-01-24 12:34:03 +00:00
Yegappan Lakshmanan
6ec6666047 patch 9.0.1237: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11858)
2023-01-23 20:46:21 +00:00
zeertzjq
9cbf791995 patch 9.0.1236: code in same_leader() can be simplified
Problem:    Code in same_leader() can be simplified.
Solution:   Simplify code that is executed only once. (closes #11867)
2023-01-23 16:57:08 +00:00
Christopher Plewright
dc7179f9a4 patch 9.0.1235: MS-Windows console: not flushing termguicolors
Problem:    MS-Windows console: not flushing termguicolors.
Solution:   Flush termguicolors. (Christopher Plewright, closes #11871)
2023-01-23 12:33:23 +00:00
Bram Moolenaar
ebfec1c531 patch 9.0.1234: the code style has to be checked manually
Problem:    The code style has to be checked manually.
Solution:   Add basic code style checks in a test.  Fix or avoid uncovered
            problems.
2023-01-22 21:14:53 +00:00
Bram Moolenaar
3d79f0a430 patch 9.0.1233: search() loops forever if "skip" is TRUE for all matches
Problem:    search() loops forever if "skip" is TRUE for all matches.
Solution:   Keep the position of the first match.
2023-01-22 20:14:26 +00:00
Christopher Plewright
d343c60df4 patch 9.0.1232: ColorTable saving and restoring does not work properly
Problem:    ColorTable saving and restoring does not work properly.
Solution:   Restore ColorTable[16] usage. (Christopher Plewright,
            closes #11836)
2023-01-22 18:58:30 +00:00
zeertzjq
3770f4c9cd patch 9.0.1231: completion of :runtime does not handle {where} argument
Problem:    Completion of :runtime does not handle {where} argument.
Solution:   Parse the {where} argument. (closes #11863)
2023-01-22 18:38:51 +00:00
Amaan Qureshi
f3da4c8427 patch 9.0.1230: Apache thrift files are not recognized
Problem:    Apache thrift files are not recognized.
Solution:   Add a pattern for thrift files. (Amaan Qureshi, closes #11859)
2023-01-22 18:16:44 +00:00
Amaan Qureshi
040e795e8d patch 9.0.1229: Cap'n Proto files are not recognized
Problem:    Cap'n Proto files are not recognized.
Solution:   Add a pattern and the "capnp" filetype. (Amaan Qureshi,
            closes #11862)
2023-01-22 13:10:39 +00:00
zeertzjq
145a6afe3a patch 9.0.1228: fuzzy menu completion is only tested in the GUI
Problem:    Fuzzy menu completion is only tested in the GUI.
Solution:   Make fuzzy menu completion test work without GUI.
            (closes #11861)
2023-01-22 12:41:55 +00:00
root
a6759381a5 patch 9.0.1227: no cmdline completion for :runtime
Problem:    No cmdline completion for :runtime.
Solution:   Add completion for :runtime. (closes #11853, closes #11447)
            Improve the resulting matches.
2023-01-21 21:56:06 +00:00
Bram Moolenaar
51b2fc2ef5 patch 9.0.1226: spurious empty line when using text properties
Problem:    Spurious empty line when using text propertie and virtual text.
Solution:   Do not set "text_prop_follows" when the other text property is not
            virtual text. (closes #11846)
2023-01-21 15:54:59 +00:00
Bram Moolenaar
11977f9175 patch 9.0.1225: reading past the end of a line when formatting text
Problem:    Reading past the end of a line when formatting text.
Solution:   Check for not going over the end of the line.
2023-01-21 13:09:19 +00:00
Bram Moolenaar
47bba53bdb patch 9.0.1224: cannot call a :def function with a number for float argument
Problem:    Cannot call a :def function with a number for a float argument.
Solution:   Accept a number as well, convert it to a float.
2023-01-20 18:49:46 +00:00
K.Takata
7193323b77 patch 9.0.1223: cannot use setcellwidths() below 0x100
Problem:    Cannot use setcellwidths() below 0x100.
Solution:   Also accept characters between 0x80 and 0x100. (Ken Takata,
            closes #11834)
2023-01-20 16:00:55 +00:00
Yegappan Lakshmanan
e446a017ff patch 9.0.1222: terminal tests are flaky on MacOS
Problem:    Terminal tests are flaky on MacOS.
Solution:   Add TermWait() calls. (Yegappan Lakshmanan, closes #11852)
2023-01-19 17:49:58 +00:00
Yegappan Lakshmanan
f97a295cca patch 9.0.1221: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11833)
2023-01-18 18:17:48 +00:00
Bram Moolenaar
4aecaa168e patch 9.0.1220: termcap/terminfo entries do not indicate possible modifiers
Problem:    Termcap/terminfo entries do not indicate where modifiers might
            appear.
Solution:   Add ";*" for function keys where modifiers are likely to be used.
2023-01-18 17:20:25 +00:00
Zdenek Dohnal
4219698603 patch 9.0.1219: handling of FORTIFY_SOURCE flags doesn't match Fedora usage
Problem:    Handling of FORTIFY_SOURCE flags doesn't match Fedora usage.
Solution:   Adjust the "sed" patterns. (Zdenek Dohnal, closes #11847)
2023-01-18 16:09:51 +00:00
Kota Kato
90c2353365 patch 9.0.1218: completion includes functions that don't work
Problem:    Completion includes functions that don't work.
Solution:   Skip functions that are not implemented. (Kota Kato,
            closes #11845)
2023-01-18 15:27:38 +00:00
Bram Moolenaar
486fc25a29 patch 9.0.1217: using an object member in a closure doesn't work
Problem:    Using an object member in a closure doesn't work.
Solution:   Initialize lv_loop_depth. (closes #11840)
2023-01-18 14:51:07 +00:00
Bram Moolenaar
64f1c4152e patch 9.0.1216: Coverity warns for ignoring return value
Problem:    Coverity warns for ignoring return value.
Solution:   Break out of loop if function fails.
2023-01-18 12:45:30 +00:00
zeertzjq
0ef9a5c094 patch 9.0.1215: using isalpha() adds dependency on current locale
Problem:    Using isalpha() adds dependency on current locale.
Solution:   Do not use isalpha() for recognizing a URL or the end of an Ex
            command. (closes #11835)
2023-01-17 21:38:25 +00:00
Dominique Pelle
541c87c808 patch 9.0.1214: file left behind after running tests
Problem:    File left behind after running tests.
Solution:   Delete the file. (Dominique Pellé, closes #11839)
2023-01-17 21:20:44 +00:00
Brandon Simmons
da3dd7d857 patch 9.0.1213: adding a line below the last one does not expand fold
Problem:    Adding a line below the last one does not expand fold.
Solution:   Do not skip mark_adjust() when adding lines below the last one.
            (Brandon Simmons, closes #11832, closes #10698)
2023-01-17 19:48:07 +00:00
Kota Kato
66bb9ae70f patch 9.0.1212: cannot read back what setcellwidths() has done
Problem:    Cannot read back what setcellwidths() has done.
Solution:   Add getcellwidths(). (Kota Kato, closes #11837)
2023-01-17 18:31:56 +00:00
Bram Moolenaar
f7d1c6e188 patch 9.0.1211: storing value in interface member does not always work
Problem:    Storing value in interface member does not always work.
Solution:   Convert the index on the interface to the index on the object.
2023-01-16 20:47:57 +00:00
Bram Moolenaar
b391e1f805 patch 9.0.1210: compiler complains about declaration after label
Problem:    Compiler complains about declaration after label.
Solution:   Move declaration to beginning of block (John Marriott)
2023-01-16 19:51:03 +00:00
Bram Moolenaar
29ac5df37b patch 9.0.1209: getting interface member does not always work
Problem:    Getting interface member does not always work.
Solution:   Convert the index on the interface to the index on the object.
            (closes #11825)
2023-01-16 19:43:47 +00:00
Yegappan Lakshmanan
a41e221935 patch 9.0.1208: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11819)
2023-01-16 18:19:05 +00:00
Bram Moolenaar
450c7a97d1 patch 9.0.1207: error when object type is expected but getting "any"
Problem:    Error when object type is expected but getting "any".
Solution:   When actual type is "any" use a runtime type check.
            (closes #11826)
2023-01-16 16:39:37 +00:00
Christopher Plewright
5a57a5e209 patch 9.0.1206: testing with Python on AppVeyor does not work properly
Problem:    Testing with Python on AppVeyor does not work properly.
Solution:   Fix typo.  Move most lines to the .bat file. (Christopher
            Plewright, closes #11828)
2023-01-16 13:01:28 +00:00
Bram Moolenaar
ae3205aa55 patch 9.0.1205: crash when handling class that extends another class
Problem:    Crash when handling class that extends another class with more
            than one object members.
Solution:   Correct pointer computations. (closes #11824)
2023-01-15 20:49:00 +00:00
Bram Moolenaar
912bfee710 patch 9.0.1204: expression compiled the wrong way after using an object
Problem:    Expression compiled the wrong way after using an object.
Solution:   Generate constants before getting the type.
2023-01-15 20:18:55 +00:00
Bram Moolenaar
32517c4c14 patch 9.0.1203: return type of values() is always list<any>
Problem:    Return type of values() is always list<any>.
Solution:   Use the member type if possible. (issue #11822)
2023-01-15 18:17:12 +00:00
Bram Moolenaar
f450804e14 patch 9.0.1202: crash when iterating over list of objects
Problem:    Crash when iterating over list of objects.
Solution:   Do not make a copy of tt_member for object or class.
            (closes #11823)
2023-01-15 16:54:57 +00:00
Bram Moolenaar
4cae845ce3 patch 9.0.1201: assignment with operator doesn't work in object method
Problem:    Assignment with operator doesn't work in object method.
Solution:   Handle loading the object member. (closes #11820)  Add a few more
            tests.
2023-01-15 15:51:48 +00:00
Christopher Plewright
474f226582 patch 9.0.1200: AppVeyor builds with an old Python version
Problem:    AppVeyor builds with an old Python version.
Solution:   Switch from Python 3.8 to 3.11. (Christopher Plewright,
            closes #11814)
2023-01-15 13:23:20 +00:00
Bram Moolenaar
584b853ee0 patch 9.0.1199: crash when using kitty and using a mapping with <Esc>
Problem:    Crash when using kitty and using a mapping with <Esc>.
Solution:   Do not try setting did_simplify when it is NULL. (closes #11817)
2023-01-14 21:07:07 +00:00
Bram Moolenaar
24a8d06d7f patch 9.0.1198: abstract class not supported yet
Problem:    Abstract class not supported yet.
Solution:   Implement abstract class and add tests.
2023-01-14 13:12:06 +00:00
zeertzjq
034c350207 patch 9.0.1197: dump file missing from patch
Problem:    Dump file missing from patch.
Solution:   Add missing dump file.
2023-01-14 12:41:17 +00:00
Yegappan Lakshmanan
e857598896 patch 9.0.1196: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11813)
2023-01-14 12:32:28 +00:00
zeertzjq
378e6c03f9 patch 9.0.1195: restoring KeyTyped when building statusline not tested
Problem:    Restoring KeyTyped when building statusline not tested.
Solution:   Add a test.  Clean up and fix other tests. (closes #11815)
2023-01-14 11:46:49 +00:00
Bram Moolenaar
b40a2fb3b3 patch 9.0.1194: compiler warning for comparing pointer with int
Problem:    Compiler warning for comparing pointer with int.
Solution:   Change NULL to zero.
2023-01-13 19:18:38 +00:00
Bram Moolenaar
32030a9f3b patch 9.0.1193: cannot map <Esc> when using the Kitty key protocol
Problem:    Cannot map <Esc> when using the Kitty key protocol.
Solution:   Add a non-simplified mapping for K_ESC. (closes #11811)
2023-01-13 18:46:57 +00:00
Bram Moolenaar
d40f00cb43 patch 9.0.1192: no error when class function argument shadows a member
Problem:    No error when class function argument shadows a member.
Solution:   Check for shadowing.
2023-01-13 17:36:49 +00:00
Keith Smiley
3213952966 patch 9.0.1191: some Bazel files are not recognized
Problem:    Some Bazel files are not recognized.
Solution:   Add an extra Bazel pattern. (Keith Smily, closes #11807)
2023-01-13 15:35:17 +00:00
Christopher Plewright
60908c4922 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Problem:    AppVeyor runs much slower with MSVC 2022.
Solution:   Go back to MSVC 2015. (Christopher Plewright, closes #11810)
2023-01-13 15:28:14 +00:00
Bram Moolenaar
232bdaaca9 patch 9.0.1189: invalid memory access with folding and using "L"
Problem:    Invalid memory access with folding and using "L".
Solution:   Prevent the cursor from moving to line zero.
2023-01-13 14:17:58 +00:00
Bram Moolenaar
c0c2c26265 patch 9.0.1188: return value of type() for class and object unclear
Problem:    Return value of type() for class and object unclear.
Solution:   Add v:t_object and v:t_class.
2023-01-12 21:08:53 +00:00
Bram Moolenaar
3ce33b120c patch 9.0.1187: test for using imported class fails
Problem:    Test for using imported class fails.
Solution:   Skip over rest of type.
2023-01-12 20:39:09 +00:00
Bram Moolenaar
4059400993 patch 9.0.1186: imported class does not work when used twice in a line
Problem:    Imported class does not work when used twice in a line.
Solution:   Fix the type parsing.
2023-01-12 20:04:51 +00:00
Bram Moolenaar
a86655af84 patch 9.0.1185: using class from imported script not tested
Problem:    Using class from imported script not tested.
Solution:   Add tests.  Implement what is missing.
2023-01-12 17:06:27 +00:00
Bram Moolenaar
a94bd9d939 patch 9.0.1184: interface of an object is not recognized when checking type
Problem:    Interface of an object is not recognized when checking type.
Solution:   Use the interface implemented by an object.
2023-01-12 15:01:32 +00:00
Yegappan Lakshmanan
0233bdfa2b patch 9.0.1183: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11805)
2023-01-12 12:33:30 +00:00
Amaan Q
043d7b2c84 patch 9.0.1182: go checksum files are not recognized
Problem:    go checksum files are not recognized.
Solution:   Add the name of go checksum files. (Amaan Qureshi, closes #11803)
2023-01-11 21:24:26 +00:00
Bram Moolenaar
6481accd40 patch 9.0.1181: class inheritance and typing insufficiently tested
Problem:    Class inheritance and typing insufficiently tested.
Solution:   Add more tests.  Implement missing behavior.
2023-01-11 21:14:17 +00:00
Bram Moolenaar
bcbfaf32e0 patch 9.0.1180: compiler warnings without the +job feature
Problem:    Compiler warnings without the +job feature.
Solution:   Adjust #ifdefs. (John Marriott)
2023-01-11 19:11:15 +00:00
Bram Moolenaar
6aa0937fb8 patch 9.0.1179: not all errors around inheritance are tested
Problem:    Not all errors around inheritance are tested.
Solution:   Add more tests.  Fix uncovered problems.
2023-01-11 17:59:38 +00:00
Bram Moolenaar
58b40092e6 patch 9.0.1178: a child class cannot override functions from a base class
Problem:    A child class cannot override functions from a base class.
Solution:   Allow overriding and implement "super".
2023-01-11 15:59:05 +00:00
Christopher Plewright
ad15a39fdb patch 9.0.1177: AppVeyor uses some older tools
Problem:    AppVeyor uses some older tools.
Solution:   Switch to Visual Studio 2022 and Python 3.11. (Christopher
            Plewright, closes #11793)
2023-01-11 12:49:22 +00:00
Chris Kipp
f68cddabff patch 9.0.1176: smithy files are not recognized
Problem:    smithy files are not recognized.
Solution:   Add a pattern for Smithy files. (Chris Kipp, closes #11804)
2023-01-11 12:20:10 +00:00
Yegappan Lakshmanan
ea125393af patch 9.0.1175: the set_ref_in_item() function is too long
Problem:    The set_ref_in_item() function is too long.
Solution:   Use a separate function for more complicated types. (Yegappan
            Lakshmanan, closes #11802)
2023-01-11 11:46:17 +00:00
Amaan Q
9a9432d3a2 patch 9.0.1174: smali files are not recognized
Problem:    Smali files are not recognized.
Solution:   Add a pattern for Smali files. (Amaan Qureshi, closes #11801)
2023-01-10 19:58:35 +00:00
Bram Moolenaar
a47c0fb4ad patch 9.0.1173: compiler warning for unused variable on non-Unix systems
Problem:    Compiler warning for unused variable on non-Unix systems.
Solution:   Move #ifdef. (John Marriott)
2023-01-10 19:17:11 +00:00
Bram Moolenaar
79c11e399b patch 9.0.1172: when 'selection' is "exclusive" then "1v" is one char short
Problem:    When 'selection' is "exclusive" then "1v" is one char short.
Solution:   Add one character when 'selection' is "exclusive. (closes #11791)
2023-01-10 17:29:29 +00:00
Yasuhiro Matsumoto
2bc849ff81 patch 9.0.1171: screen is not redrawn after using setcellwidths()
Problem:    Screen is not redrawn after using setcellwidths().
Solution:   Redraw the screen when the cell widths have changed. (Yasuhiro
            Matsumoto, closes #11800)
2023-01-10 16:03:08 +00:00
mert
523f22d577 patch 9.0.1170: LGTM badge no longer works
Problem:    LGTM badge no longer works.
Solution:   Remove the LGTM badge. (closes #11799)
2023-01-10 14:06:06 +00:00
Christopher Plewright
566f76e656 patch 9.0.1169: some key+modifier tests fail on some AppVeyor images
Problem:    Some key+modifier tests fail on some AppVeyor images.
Solution:   Adjust the tests for key movements and fix the revealed bugs.
            (Christopher Plewright, closes #11798)
2023-01-10 13:43:04 +00:00
Bram Moolenaar
06cd14d0bf patch 9.0.1168: code to enable/disable mouse is not from terminfo/termcap
Problem:    Code to enable/disable mouse is not from terminfo/termcap.
Solution:   Request the "XM" entry and use it to set 'ttymouse' if possible.
2023-01-10 12:37:38 +00:00
Bram Moolenaar
1b5f03ec9c Update runtime files 2023-01-09 20:12:45 +00:00
Gregory Anders
d41262ed06 patch 9.0.1167: EditorConfig files do not have their own filetype
Problem:    EditorConfig files do not have their own filetype.
Solution:   Add the "editorconfig" filetype. (Gregory Anders, closes #11779)
2023-01-09 20:08:00 +00:00
Yegappan Lakshmanan
1cfb14aa97 patch 9.0.1166: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11792)
2023-01-09 19:04:23 +00:00
James McCoy
765d82a657 patch 9.0.1165: tests using IPv6 sometimes fail
Problem:    Tests using IPv6 sometimes fail.
Solution:   Use getaddrinfo() and use try/catch. (James McCoy,
            closes #11783)
2023-01-09 16:25:59 +00:00
h-east
01c5f2addf patch 9.0.1164: evaluating string expression advances function line
Problem:    Evaluating string expression advances function line.
Solution:   Disable function lines while parsing a string expression.
            (Hirohito Higashi, closes #11796)
2023-01-09 15:10:40 +00:00
Mike Williams
dda3053121 patch 9.0.1163: compiler warning for implicit size_t/int conversion
Problem:    Compiler warning for implicit size_t/int conversion.
Solution:   Add a type cast. (Mike Williams, closes #11795)
2023-01-09 14:18:13 +00:00
Zdenek Dohnal
870cd76283 patch 9.0.1162: configure does not handle all FORTIFY_SOURCE variants
Problem:    Configure does not handle all FORTIFY_SOURCE variants.
Solution:   Also handle Fedora's default FORTIFY_SOURCE flags. (Zdenek Dohnal,
            closes #11794)
2023-01-09 13:18:08 +00:00
Bram Moolenaar
c8ab30a349 patch 9.0.1161: Coverity warns for using strcpy()
Problem:    Coverity warns for using strcpy().
Solution:   Call a function to set the function name.
2023-01-09 11:35:47 +00:00
Bram Moolenaar
e01e5215f9 patch 9.0.1160: ASAN error for ufunc_T allocated with wrong size
Problem:    ASAN error for ufunc_T allocated with wrong size.
Solution:   Make sure the size can always fit the struct.
2023-01-08 20:31:18 +00:00
Bram Moolenaar
8367716a6e patch 9.0.1159: extends argument for class not implemented yet
Problem:    Extends argument for class not implemented yet.
Solution:   Basic implementation of "extends".
2023-01-08 19:54:10 +00:00
Yegappan Lakshmanan
7f8b2559a3 patch 9.0.1158: code is indented more than necessary
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes #11787)
2023-01-08 13:44:24 +00:00
Bram Moolenaar
df8f947359 patch 9.0.1157: "implements" only handles one interface name
Problem:    "implements" only handles one interface name.
Solution:   Handle a comma separated list of names.  Check for duplicate
            names.
2023-01-07 14:51:03 +00:00
Bram Moolenaar
0cb3ca9f7a patch 9.0.1156: tests fail because of a different error message
Problem:    Tests fail because of a different error message.
Solution:   Don't give an error if a type name can't be found.
2023-01-07 13:07:11 +00:00
Bram Moolenaar
eca2c5fff6 patch 9.0.1155: cannot use a class as a type
Problem:    Cannot use a class as a type.
Solution:   Accept a class and interface name as a type.
2023-01-07 12:08:41 +00:00
Bram Moolenaar
2c01131c2a patch 9.0.1154: Coverity warns for dead code
Problem:    Coverity warns for dead code.
Solution:   Remove condition that is always true.
2023-01-07 10:51:30 +00:00
Bram Moolenaar
7d4d87ba89 patch 9.0.1153: build error with some compilers
Problem:    Build error with some compilers.
Solution:   Clear pointer the right way.
2023-01-06 18:59:08 +00:00
Bram Moolenaar
94674f2223 patch 9.0.1152: class "implements" argument not implemented
Problem:    Class "implements" argument not implemented.
Solution:   Implement "implements" argument.  Add basic checks for when a
            class implements an interface.
2023-01-06 18:42:20 +00:00
Bram Moolenaar
5bcd29b84e patch 9.0.1151: build failure
Problem:    Build failure.
Solution:   Add missing part of :interface change.
2023-01-05 20:14:43 +00:00
Bram Moolenaar
554d031302 patch 9.0.1150: :interface is not implemented yet
Problem:    :interface is not implemented yet.
Solution:   Implement the basics of :interface.
2023-01-05 19:59:18 +00:00
Bram Moolenaar
cf760d50dc patch 9.0.1149: class members may be garbage collected
Problem:    Class members may be garbage collected.
Solution:   Mark class members as being in use.
2023-01-05 13:16:04 +00:00
Bram Moolenaar
2468add0b8 patch 9.0.1148: cmdline test fails in the GUI
Problem:    Cmdline test fails in the GUI.
Solution:   Skip the test when running in the GUI.
2023-01-04 18:59:57 +00:00
Bram Moolenaar
3259ff3b3b patch 9.0.1147: cannot access a class member in a compiled function
Problem:    Cannot access a class member in a compiled function.
Solution:   Implement looking up a class member.
2023-01-04 18:54:09 +00:00
Christopher Plewright
c8b204952f patch 9.0.1146: MS-Windows: various special keys/modifiers are not mappable
Problem:    MS-Windows: various special keys and modifiers are not mappable.
Solution:   Adjust the handling of keys with modifiers. (Christian Plewright,
            closes #11768)
2023-01-04 18:06:00 +00:00
Bram Moolenaar
3ac1d97a1d patch 9.0.1145: invalid memory access with recursive substitute expression
Problem:    Invalid memory access with recursive substitute expression.
Solution:   Check the return value of vim_regsub().
2023-01-04 17:17:54 +00:00
Bram Moolenaar
c32949b077 patch 9.0.1144: reading beyond text
Problem:    Reading beyond text.
Solution:   Add strlen_maxlen() and use it.
2023-01-04 15:56:51 +00:00
Bram Moolenaar
7b17eb4b06 patch 9.0.1143: invalid memory access with bad 'statusline' value
Problem:    Invalid memory access with bad 'statusline' value.
Solution:   Avoid going over the NUL at the end.
2023-01-04 14:31:49 +00:00
Bram Moolenaar
f057171d8b patch 9.0.1142: crash and/or memory leak when redefining function
Problem:    Crash and/or memory leak when redefining function after error.
Solution:   Clear pointer after making a copy.  Clear arrays on failure.
            (closes #11774)
2023-01-04 13:16:20 +00:00
Alexey Radkov
aaa16b0918 patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Problem:    'cursorcolumn' and 'colorcolumn' wrong after concealing and
            wrapping line.
Solution:   Reset "wlv.vcol_off" after each screen line. (Alexey Radkov,
            closes #11777)
2023-01-04 11:15:30 +00:00
Bram Moolenaar
574950dfb1 patch 9.0.1140: cannot call an object method in a compiled function
Problem:    Cannot call an object method in a compiled function.
Solution:   Compile the instructins to invoke an object method.
2023-01-03 19:08:50 +00:00
Bram Moolenaar
46ab925937 patch 9.0.1139: cannot create a new object in a compiled function
Problem:    Cannot create a new object in a compiled function.
Solution:   Compile the instructins to create a new object.
2023-01-03 14:01:21 +00:00
Bram Moolenaar
36818a9daa patch 9.0.1138: crash when expecting varargs but it is something else
Problem:    Crash when expecting varargs but it is something else.
Solution:   Only use the member when the type is a list. (closes #11774)
2023-01-03 12:33:26 +00:00
zeertzjq
ea720aea85 patch 9.0.1137: some conditions are always false
Problem:    Some conditions are always false.
Solution:   Remove the useless conditions. (closes #11776)
2023-01-03 10:54:09 +00:00
Bram Moolenaar
e83c133eb9 patch 9.0.1136: memory leak when getting class member type from expr
Problem:    Memory leak when getting class member type from expr.
Solution:   Clear the expression result.
2023-01-02 21:04:04 +00:00
Bram Moolenaar
03ff0c6681 patch 9.0.1135: missing function argument
Problem:    Missing function argument.
Solution:   Add ignore case flag.
2023-01-02 20:38:01 +00:00
Bram Moolenaar
bcf31ec36b patch 9.0.1134: comparing objects uses identity instead of equality
Problem:    Comparing objects uses identity instead of equality.
Solution:   Compare the object values.
2023-01-02 20:32:24 +00:00
Bram Moolenaar
a9fa8c58fb patch 9.0.1133: error message names do not match the items
Problem:    Error message names do not match the items.
Solution:   Add "_str" when the text contains "%s".
2023-01-02 18:10:04 +00:00
Yegappan Lakshmanan
dc4daa3a39 patch 9.0.1132: code is indented more than needed
Problem:    Code is indented more than needed.
Solution:   Use an early return to reduce indentation. (Yegappan Lakshmanan,
            closes #11769)
2023-01-02 16:54:53 +00:00
Bram Moolenaar
a2942c7468 patch 9.0.1131: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Move code inside #ifdef.
2023-01-02 13:41:49 +00:00
Bram Moolenaar
39c82ea656 patch 9.0.1130: unexpected output when autoloading a script
Problem:    Unexpected output when autoloading a script for an interactive
            operation.
Solution:   Reset "KeyTyped" while loading a script and when handling a nested
            function. (closes #11773)
2023-01-02 13:08:01 +00:00
Bram Moolenaar
7bdcba08bb patch 9.0.1129: sporadic Test_range() failure
Problem:    Sporadic Test_range() failure.
Solution:   Clear typeahead.  Move to a separate function. (issue #22771)
2023-01-02 11:59:26 +00:00
Bram Moolenaar
993dbc33a8 patch 9.0.1128: build failure
Problem:    Build failure.
Solution:   Add type cast.  Add missing error messages.
2023-01-01 20:31:30 +00:00
Bram Moolenaar
6acf757c6a patch 9.0.1127: no error if function argument shadows class member
Problem:    No error if function argument shadows class member.
Solution:   Give an error for shadowing a class member.
2023-01-01 19:53:30 +00:00
Bram Moolenaar
fc966c19f8 patch 9.0.1126: bracketed paste can be enabled when it is not recognized
Problem:    Bracketed paste can be enabled when pasted text is not recognized.
Solution:   Output t_BE only when t_PS and t_PE are set.
2023-01-01 18:04:33 +00:00
Bram Moolenaar
ec8b74f7ab patch 9.0.1125: memory leak when using class functions
Problem:    Memory leak when using class functions.
Solution:   Clear and free the array with class functions.
2023-01-01 14:11:27 +00:00
Bram Moolenaar
1aeb3eb092 patch 9.0.1124: virtual text at a column position is truncated
Problem:    Virtual text at a column position is truncated at the window edge.
            (Yegappan Lakshmanan)
Solution:   Do not truncated virtual text that is placed at a column.
2023-01-01 14:04:51 +00:00
Bram Moolenaar
6bafdd41cb patch 9.0.1123: class function not implemented yet
Problem:    Class function not implemented yet.
Solution:   Implement defining and calling a class function.
2023-01-01 12:58:33 +00:00
Bram Moolenaar
9f2d97efe2 patch 9.0.1122: class member access is not fully tested yet
Problem:    Class member access is not fully tested yet.
Solution:   Add more tests.
2022-12-31 19:01:02 +00:00
Bram Moolenaar
f1dcd14fc5 Update runtime files 2022-12-31 15:30:45 +00:00
Bram Moolenaar
db4d88c2ad patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Problem:    Cursor positioning and display problems with 'smoothscroll' and
            using "zt", "zb" or "zz".
Solution:   Adjust computations and conditions. (Yee Cheng Chin,
            closes #11764)
2022-12-31 15:13:22 +00:00
smjonas
c55e8f2c6f patch 9.0.1120: tex filetype detection not sufficiently tested
Problem:    Tex filetype detection not sufficiently tested.
Solution:   Add more test cases for "tex" detection. (Jonas Strittmatter,
            closes #11765)
2022-12-31 14:46:53 +00:00
Bram Moolenaar
0d89d8ae89 patch 9.0.1119: type of arguments not checked when calling a partial
Problem:    Type of arguments not checked when calling a partial.
Solution:   Give an error for a wrong argument type. (closes #11753)
2022-12-31 14:01:24 +00:00
James McCoy
dbe6ef1036 patch 9.0.1118: sporadic test failures when using a terminal window
Problem:    Sporadic test failures when using a terminal window.
Solution:   Adjust waiting times. (James McCoy, closes #11763)
2022-12-31 11:44:57 +00:00
Bram Moolenaar
7b8db111e8 patch 9.0.1117: terminfo entries for bracketed paste are not used
Problem:    Terminfo entries for bracketed paste are not used.
Solution:   Use the newly added terminfo entries for bracketed paste.
            Correct mixup of output strings and key codes.
2022-12-30 21:10:25 +00:00
Bram Moolenaar
770713794a patch 9.0.1116: compiler may complain about an unused function
Problem:    Compiler may complain about an unused function.
Solution:   Add #ifdef. (John Marriott)
2022-12-30 19:54:53 +00:00
Yegappan Lakshmanan
ed0c1d5d4b patch 9.0.1115: code is indented more than needed
Problem:    Code is indented more than needed.
Solution:   Use an early return to reduce indenting. (Yegappan Lakshmanan,
            closes #11758)
2022-12-30 18:07:46 +00:00
Philip H
ef91ae4557 patch 9.0.1114: CI does not use the latest Python version
Problem:    CI does not use the latest Python version.
Solution:   Switch from Python 3.10 to 3.11. (closes #11761)
2022-12-30 17:41:17 +00:00
Christian Brabandt
0a657124a5 patch 9.0.1113: users cannot easily try out a PR
Problem:    Users cannot easily try out a PR.
Solution:   Add an "artifacts" section to the AppVeyor CI config. (Christian
            Brabandt, closes #11762)
2022-12-30 17:28:12 +00:00
Christopher Plewright
7b0afc1d76 patch 9.0.1112: test_mswin_event() can hang
Problem:    test_mswin_event() can hang.
Solution:   Add the "execute" argument to process events right away.
            (Christopher Plewright, closes #11760)
2022-12-30 16:54:58 +00:00
Bram Moolenaar
96dd34e534 patch 9.0.1111: termcap entries for RGB colors are not set automatically
Problem:    Termcap entries for RGB colors are not set automatically.
Solution:   Always set the termcap entries when +termguicolors is enabled.
2022-12-30 11:16:00 +00:00
Evan Miller
254480736f patch 9.0.1110: build fails on Mac OS X 10.4/10.5
Problem:    Build fails on Mac OS X 10.4/10.5 .
Solution:   Check if the dispatch/dispatch.h header exists. (Evan Miller,
            closes #11746)
2022-12-30 10:42:23 +00:00
Bram Moolenaar
c4b3f6477c patch 9.0.1109: leaking allocated type
Problem:    Leaking allocated type.
Solution:   Reset the "static" flag in the allocated type copy.
2022-12-30 10:36:34 +00:00
Bram Moolenaar
c6951a76a5 patch 9.0.1108: type error when using "any" type and adding to float
Problem:    Type error when using "any" type and adding a number to a float.
Solution:   Accept both a number and a float. (closes #11753)
2022-12-29 20:56:24 +00:00
Bram Moolenaar
73ade49c4b patch 9.0.1107: float constant not recognized as float
Problem:    Float constant not recognized as float.
Solution:   Check the vartype instead of comparing with t_float.
            (closes #11754)
2022-12-27 20:54:41 +00:00
KodeToad
09ce0b8e11 patch 9.0.1106: not all postfix files are recognized
Problem:    Not all postfix files are recognized.
Solution:   Recognize main.cf.proto files. (closes #11732)
2022-12-27 20:17:19 +00:00
Yegappan Lakshmanan
87c1cbbe98 patch 9.0.1105: code is indented too much
Problem:    Code is indented too much.
Solution:   Use an early return. (Yegappan Lakshmanan, closes #11756)
2022-12-27 19:54:52 +00:00
Bram Moolenaar
56310d38d8 patch 9.0.1104: invalid memory access when checking function argument types
Problem:    Invalid memory access when checking function argument types.
Solution:   Do not check beyond the number of arguments. (closes #11755)
2022-12-27 17:25:05 +00:00
David McDonald
b9a1edfc54 patch 9.0.1103: jq files are not recognized
Problem:    jq files are not recognized.
Solution:   Add detection of Jq files. (David McDonald, closes #11743)
2022-12-26 15:35:18 +00:00
K.Takata
a7fbaa43b7 patch 9.0.1102: complicated use of #ifdef
Problem:    Complicated use of #ifdef.
Solution:   Simplify #ifdef use. (Ken Takata, closes #11745)
2022-12-26 14:46:51 +00:00
Bram Moolenaar
b536540ab3 patch 9.0.1101: unused global variable
Problem:    Unused global variable.
Solution:   Remove the variable. (closes #11752)
2022-12-26 14:37:44 +00:00
Bram Moolenaar
d0883faac6 patch 9.0.1100: a hashtab with many removed items is not cleaned up
Problem:    A hashtab with many removed items is not cleaned up.
Solution:   Re-hash a hashtab even when the size didn't change if too many
            items were removed.
2022-12-26 13:51:26 +00:00
Bram Moolenaar
81b7ecc5cb patch 9.0.1099: trying to resize a hashtab may cause a problem
Problem:    Trying to resize a hashtab may cause a problem.
Solution:   Do not try to resize a hashtab before adding an item.
2022-12-26 13:08:06 +00:00
Yegappan Lakshmanan
465de3a57b patch 9.0.1098: code uses too much indent
Problem:    Code uses too much indent.
Solution:   Use an early return. (Yegappan Lakshmanan, closes #11747)
2022-12-26 12:50:04 +00:00
Bram Moolenaar
b3d614369f patch 9.0.1097: tests are failing
Problem:    Tests are failing.
Solution:   Do clean up a hashtab when at the initial size.
2022-12-25 21:32:09 +00:00
Bram Moolenaar
71d53e7c57 patch 9.0.1096: reallocating hashtab when the size didn't change
Problem:    Reallocating hashtab when the size didn't change.
Solution:   Bail out when the hashtab is already the desired size.
2022-12-25 20:46:13 +00:00
Bram Moolenaar
6ef5471afa patch 9.0.1095: using freed memory when declaration fails
Problem:    Using freed memory when declaration fails. (Yegappan Lakshmanan)
Solution:   After unreferencing an object set the reference to NULL.
2022-12-25 19:31:36 +00:00
Bram Moolenaar
9b99411b93 patch 9.0.1094: compiler warning when HAS_MESSAGE_WINDOW is not defined
Problem:    Compiler warning when HAS_MESSAGE_WINDOW is not defined.
Solution:   Add UNUSED.
2022-12-25 15:59:25 +00:00
Bram Moolenaar
590162cae0 patch 9.0.1093: using freed memory of object member
Problem:    Using freed memory of object member. (Yegappan Lakshmanan)
Solution:   Make a copy of the object member when getting it.
2022-12-24 21:24:06 +00:00
Rob Pilling
e86190e7c1 patch 9.0.1092: search error message doesn't show used pattern
Problem:    Search error message doesn't show used pattern.
Solution:   Pass the actually used pattern to where the error message is
            given. (Rob Pilling, closes #11742)
2022-12-23 19:06:04 +00:00
Bram Moolenaar
f54cedd676 patch 9.0.1091: assignment to non-existing member causes a crash
Problem:    Assignment to non-existing member causes a crash. (Yegappan
            Lakshmanan)
Solution:   Give an error message and bail out when a member cannot be found.
2022-12-23 17:56:27 +00:00
mgramigna
c9207d5d79 patch 9.0.1090: FHIR Shorthand files are not recognized
Problem:    FHIR Shorthand files are not recognized.
Solution:   Add a pattern to detect FSH files. (Matthew Gramigna,
            closes #11738)
2022-12-23 13:18:44 +00:00
Luuk van Baal
c53e7904b9 patch 9.0.1089: unnessary assignment
Problem:    unnessary assignment
Solution:   Remove the assignment. (Luuk van Baal, closes #1136)
2022-12-23 12:17:33 +00:00
Bram Moolenaar
9fca133eb7 patch 9.0.1088: clang warns for unused variable
Problem:    Clang warns for unused variable.
Solution:   Adjust #ifdef. (John Marriott)
2022-12-22 21:06:41 +00:00
James McCoy
ff3d537704 patch 9.0.1087: autocommand test sometimes fails
Problem:    Autocommand test sometimes fails.
Solution:   Add a short delay. (James McCoy, closes #11737)
2022-12-22 18:30:24 +00:00
Christopher Plewright
c8b126d70d patch 9.0.1086: display wrong in Windows terminal after exiting Vim
Problem:    Display wrong in Windows terminal after exiting Vim.
Solution:   Apply screen restore fix for Windows 11 also to Windows 10 builds.
            (Christopher Plewright, closes #11713, closes #11706)
2022-12-22 13:45:23 +00:00
Bram Moolenaar
9b8a365d01 patch 9.0.1085: compiler warns for uninitialized variable
Problem:    Compiler warns for uninitialized variable.
Solution:   Initialize the variable.  Remove unused function. (John Marriott)
2022-12-20 20:47:28 +00:00
Christopher Plewright
20b795e0eb patch 9.0.1084: code handling low level MS-Windows events cannot be tested
Problem:    Code handling low level MS-Windows events cannot be tested.
Solution:   Add test_mswin_event() and tests using it. (Christopher Plewright,
            closes #11622)
2022-12-20 20:01:58 +00:00
Bram Moolenaar
418b547881 patch 9.0.1083: empty and comment lines in a class cause an error
Problem:    Empty and comment lines in a class cause an error.
Solution:   Skip empty and comment lines. (closes #11734)
2022-12-20 13:38:22 +00:00
kylo252
104b2ff4d0 patch 9.0.1082: some jsonc files are not recognized
Problem:    Some jsonc files are not recognized.
Solution:   Add patterns for jsonc and move some from json to jsonc.
            (closes #11711)
2022-12-19 20:42:49 +00:00
Bram Moolenaar
34820944ed patch 9.0.1081: using "->" with split lines does not always work
Problem:    Using "->" with split lines does not always work.
Solution:   Avoid trying to get another line. (closes #11723)
2022-12-19 20:28:38 +00:00
Bram Moolenaar
afa3f1cc72 patch 9.0.1080: the "kitty" terminfo entry is not widespread
Problem:    The "kitty" terminfo entry is not widespread, resulting in the
            kitty terminal not working properly.
Solution:   Go back to using "xterm-kitty" and avoid the problems it causes in
            another way.
2022-12-19 18:56:48 +00:00
zeertzjq
33e543038b patch 9.0.1079: leaking memory when defining a user command fails
Problem:    Leaking memory when defining a user command fails.
Solution:   Free "compl_arg" when needed. (closes #11726)
2022-12-19 16:49:27 +00:00
zeertzjq
07146ad1d3 patch 9.0.1078: with the +vartabs feature indent folding may use wrong 'ts'
Problem:    With the +vartabs feature indent folding may use wrong 'tabstop'.
Solution:   Use the "buf" argument instead of "curbuf".
2022-12-19 15:51:44 +00:00
Bram Moolenaar
4ce1f99a2d patch 9.0.1077: can add text property with negative ID before virtual text
Problem:    Can add text property with negative ID before virtual text
            property.
Solution:   Remember that a text property with a negative ID was used and give
            an appropriate error message. (closes #11725)
            Fix index computation.
2022-12-19 13:31:06 +00:00
Bram Moolenaar
8efdcee02e patch 9.0.1076: ASAN complains about NULL argument
Problem:    ASAN complains about NULL argument.
Solution:   Skip memmove() when there is nothing to move.
2022-12-19 12:18:09 +00:00
Bram Moolenaar
c336ae3ce6 patch 9.0.1075: build fails if compiler doesn't allow declaration after case
Problem:    build fails if the compiler doesn't allow for a declaration right
            after "case".
Solution:   Add a block.
2022-12-18 22:01:42 +00:00
Bram Moolenaar
d505d17885 patch 9.0.1074: class members are not supported yet
Problem:    Class members are not supported yet.
Solution:   Add initial support for class members.
2022-12-18 21:42:55 +00:00
Bram Moolenaar
731d00770d patch 9.0.1073: using "xterm-kitty" for 'term' causes problems
Problem:    Using "xterm-kitty" for 'term' causes problems.
Solution:   Remove the "xterm-" part when 'term' is set from $TERM.  Detect a
            few kitty-specific properties based on the version response
            instead of the terminal name.
2022-12-18 17:47:18 +00:00
zeertzjq
ba2d191932 patch 9.0.1072: screenpos() column result in fold may be too small
Problem:    screenpos() column result in fold may be too small.
Solution:   Add space of 'number', sign column, etc. (closes #11715)
2022-12-18 12:28:59 +00:00
dundargoc
b5328b46a7 patch 9.0.1071: Codecov action version is too specific
Problem:    Codecov action version is too specific.
Solution:   Only use "v3" to automatically use the latest stable version.
            (closes #11720)
2022-12-17 15:47:45 +00:00
Bram Moolenaar
b26461715b patch 9.0.1070: reading beyond array size
Problem:    Reading beyond array size.
Solution:   Only use name[0] and name[1], do not use "name" as a string.
2022-12-17 15:35:43 +00:00
Bram Moolenaar
417e88bb75 patch 9.0.1069: diff mode highlight fails for special characters
Problem:    Diff mode highlight fails for special characters.
Solution:   Adjust condition for setting "diff_hlf".
2022-12-17 15:03:02 +00:00
Bram Moolenaar
8d754fada8 patch 9.0.1068: no information about whether request term codes has an effect
Problem:    No information about whether requesting term codes has an effect.
Solution:   Add ch_log() calls to report the effect of term code responses.
            Avoid deleting an entry and then adding back the same one.
2022-12-17 13:49:16 +00:00
Bram Moolenaar
d097af7779 patch 9.0.1067: in diff mode virtual text is highlighted incorrectly
Problem:    In diff mode virtual text is highlighted incorrectly. (Rick Howe)
Solution:   Do not use diff attributes for virtual text. (closes #11714)
2022-12-17 11:33:00 +00:00
zeertzjq
67f3094397 patch 9.0.1066: test function name is wrong
Problem:    Test function name is wrong.
Solution:   Rename to what is actually being tested. (closes #11712)
2022-12-17 10:40:15 +00:00
Bram Moolenaar
9d1184cd1d patch 9.0.1065: a shell command switching screens may still have a problem
Problem:    A shell command switching screens may still have a problem with
            the kitty keyboard protocol.
Solution:   Disable the kitty keyboard protocol both in the current and the
            alternate screen, if there are indications it might be needed.
            (issue #11705)  Also fix naming.
2022-12-16 18:33:20 +00:00
Christian Brabandt
9aee8ec400 patch 9.0.1064: code for making 'shortmess' temporarily empty is repeated
Problem:    Code for making 'shortmess' temporarily empty is repeated.
Solution:   Add functions for making 'shortmess' empty and restoring it.
            (Christian Brabandt, closes #11709)
2022-12-16 16:41:23 +00:00
Bram Moolenaar
4ab1f4a32f patch 9.0.1063: when using Kitty a shell command may mess up the key state
Problem:    When using Kitty a shell command may mess up the key protocol
            state.
Solution:   Output t_te before t_TE.  If t_te switches between the main and
            the alternate screen then deactivating the key protocol by t_TE
            should happen after switching screen. (issue #11705)
2022-12-16 13:08:36 +00:00
zeertzjq
4cd45f1408 patch 9.0.1062: some test function names do not match what they are doing
Problem:    Some test function names do not match what they are doing.
Solution:   Leave out user data for the test that is called "NoUserData".
            (closes #11703)
2022-12-15 13:48:30 +00:00
Luuk van Baal
ba936f6f4e patch 9.0.1061: cannot display 'showcmd' somewhere else
Problem:    Cannot display 'showcmd' somewhere else.
Solution:   Add the 'showcmdloc' option. (Luuk van Baal, closes #11684)
2022-12-15 13:15:39 +00:00
Bram Moolenaar
3d473ee1a6 patch 9.0.1060: private and public object members are not implemented yet
problem:    Private and public object members are not implemented yet.
Solution:   Implement private and public object members.
2022-12-14 20:59:32 +00:00
Bram Moolenaar
f94178db8d patch 9.0.1059: build failure with some compilers
Problem:    Build failure with some compilers that can't handle a
            declaration directly after a "case" statement.
Solution:   Add a block to put the declarations in.
2022-12-14 17:50:00 +00:00
Bram Moolenaar
91c9d6d772 patch 9.0.1058: string value of class and object do not have information
Problem:    String value of class and object do not have useful information.
Solution:   Add the class name and for the object the member values.
2022-12-14 17:30:37 +00:00
Chris Kipp
70ef3f546b patch 9.0.1057: conflict between supercollider and scala filetype detection
Problem:    Conflict between supercollider and scala filetype detection.
Solution:   Do not check for "Class : Method", it can appear in both
            filetypes. (Chris Kipp, closes #11699)
2022-12-14 16:42:15 +00:00
Bram Moolenaar
eb53350c02 patch 9.0.1056: leaking memory when disassembling an object method
Problem:    Leaking memory when disassembling an object method.
Solution:   Free the typval of the class.
2022-12-14 15:06:11 +00:00
Bram Moolenaar
f593fc891c patch 9.0.1055: Coverity warns for using uninitialized memory
Problem:    Coverity warns for using uninitialized memory.
Solution:   Clear the "lhs" field earlier.
2022-12-14 13:50:02 +00:00
Bram Moolenaar
74e1274edf patch 9.0.1054: object member can't get type from initializer
Problem:    Object member can't get type from initializer.
Solution:   If there is no type specified try to use the type of the
            initializer.  Check for a valid type.
2022-12-13 21:14:28 +00:00
Bram Moolenaar
65b0d16768 patch 9.0.1053: default constructor arguments are not optional
Problem:    Default constructor arguments are not optional.
Solution:   Use "= v:none" to make constructor arguments optional.
2022-12-13 18:43:22 +00:00
Bram Moolenaar
692fe0889c patch 9.0.1052: using freed memory on exit when EXITFREE is defined
Problem:    Using freed memory on exit when EXITFREE is defined.
Solution:   Make a deep copy of the type.  Make sure TTFLAG_STATIC is not set
            in the copy.
2022-12-13 13:42:37 +00:00
Rob Pilling
cb94c91070 patch 9.0.1051: after a failed CTRL-W ] next command splits window
Problem:    After a failed CTRL-W ] next command splits window.
Solution:   Reset postponed_split. (Rob Pilling, closes #11698)
2022-12-13 12:26:09 +00:00
Bram Moolenaar
6342e2c5a6 patch 9.0.1050: using freed memory when assigning to variable twice
Problem:    Using freed memory when assigning to variable twice.
Solution:   Make copy of the list type. (closes #11691)
2022-12-12 18:56:32 +00:00
Bram Moolenaar
67578e5bcf patch 9.0.1049: crash when opening a very small terminal window
Problem:    Crash when opening a very small terminal window.
Solution:   Instead of crashing fix the cursor position. (closes #11697)
2022-12-12 13:47:44 +00:00
zeertzjq
b7acea1806 patch 9.0.1048: with "screenline" in 'culopt' cursorline highlight is wrong
Problem:    With "screenline" in 'culopt' cursorline highlight is wrong.
Solution:   Apply the priority logic also when "screenline is in 'culopt'.
            (closes #11696)
2022-12-12 13:20:43 +00:00
Bram Moolenaar
7db29e4b5c Update runtime files 2022-12-11 15:53:04 +00:00
Bram Moolenaar
79336e19cb patch 9.0.1047: matchparen is slow
Problem:    Matchparen is slow.
Solution:   Actually use the position where the match started, not the
            position where the search started. (closes #11644)
2022-12-11 14:18:31 +00:00
Bram Moolenaar
3ea8a1b129 patch 9.0.1046: class method disassemble test fails on MS-Windows
Problem:    Class method disassemble test fails on MS-Windows.
Solution:   Do not match with a specific size.
2022-12-10 19:03:51 +00:00
Bram Moolenaar
7ce7daf6cd patch 9.0.1045: in a class object members cannot be initialized
Problem:    In a class object members cannot be initialized.
Solution:   Support initializing object members. Make "dissassemble" work on
            an object method.
2022-12-10 18:42:12 +00:00
Bram Moolenaar
6c87bbb4e4 patch 9.0.1044: setting window height using Python may cause errors
Problem:    Setting window height using Python may cause errors.
Solution:   When setting "curwin" also set "curbuf". (closes #11687)
2022-12-10 11:17:11 +00:00
zeertzjq
c51a376265 patch 9.0.1043: macro has confusing name and is duplicated
Problem:    Macro has confusing name and is duplicated.
Solution:   Use one macro with an understandable name. (closes #11686)
2022-12-10 10:22:29 +00:00
Bram Moolenaar
4ae0057308 patch 9.0.1042: ASAN gives false alarm about array access.
Problem:    ASAN gives false alarm about array access.
Solution:   Use an intermediate pointer.
2022-12-09 22:49:23 +00:00
Bram Moolenaar
ffdaca9e6f patch 9.0.1041: cannot define a method in a class
Problem:    Cannot define a method in a class.
Solution:   Implement defining an object method.  Make calling an object
            method work.
2022-12-09 21:41:48 +00:00
Bram Moolenaar
148bcd3610 patch 9.0.1040: test for <Cmd> mapping with CmdlineChanged fails
Problem:    Test for <Cmd> mapping with CmdlineChanged fails.
Solution:   Put back the check for the cmdline length not changing.
2022-12-09 12:41:32 +00:00
Bram Moolenaar
bb393d8259 patch 9.0.1039: using a <Cmd> mapping CmdlineChanged may be triggered twice
Problem:    Using a <Cmd> mapping CmdlineChanged may be triggered twice.
Solution:   Count the number of times CmdlineChanged is triggered and avoid
            doing it twice. (closes #116820
2022-12-09 12:21:50 +00:00
zeertzjq
ffa4e9b43a patch 9.0.1038: function name does not match what it is used for
Problem:    Function name does not match what it is used for.
Solution:   Include the modifier in the name. (closes #11679)
2022-12-09 11:36:36 +00:00
Bram Moolenaar
98aeb2100c patch 9.0.1037: lalloc(0) error for a class without members
Problem:    lalloc(0) error for a class without members.
Solution:   Don't allocate room for members if there aren't any.
            Don't create the class if there was an error.
2022-12-08 22:09:14 +00:00
Bram Moolenaar
3f8f827723 patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Problem:    Undo misbehaves when writing from an insert mode mapping.
Solution:   Sync undo when writing. (closes #11674)
2022-12-08 21:49:35 +00:00
Bram Moolenaar
d28d7b94f5 patch 9.0.1035: object members are not being marked as used
Problem:    Object members are not being marked as used, garbage collection
            may free them.
Solution:   Mark object members as used.  Fix reference counting.
2022-12-08 20:42:00 +00:00
Bram Moolenaar
e5eae82bb7 patch 9.0.1034: reporting swap file when windows are split
Problem:    Reporting swap file when windows are split.
Solution:   Close extra windows after running a test.
2022-12-08 16:30:16 +00:00
Bram Moolenaar
83c43ab319 patch 9.0.1033: tiny build fails because of conflicting typedef
Problem:    Tiny build fails because of conflicting typedef.
Solution:   Remove one typedef.
2022-12-08 16:10:01 +00:00
Bram Moolenaar
b9603f6498 patch 9.0.1032: test fails when terminal feature is missing
Problem:    Test fails when terminal feature is missing.
Solution:   Use CheckRunVimInTerminal.
2022-12-08 15:44:22 +00:00
Bram Moolenaar
00b28d6c23 patch 9.0.1031: Vim9 class is not implemented yet
Problem:    Vim9 class is not implemented yet.
Solution:   Add very basic class support.
2022-12-08 15:32:33 +00:00
Bram Moolenaar
038e6d20e6 patch 9.0.1030: using freed memory with the cmdline popup menu
Problem:    Using freed memory with the cmdline popup menu.
Solution:   Clear the popup menu when clearing the matches. (closes #11677)
2022-12-08 12:00:50 +00:00
Bram Moolenaar
84dbf855fb patch 9.0.1029: autoload directory missing from distribution
Problem:    Autoload directory missing from distribution.
Solution:   Add the autoload/zig directory to the list of distributed files.
2022-12-08 10:03:48 +00:00
Yee Cheng Chin
1881abfc34 patch 9.0.1028: mouse shape test is flaky, especially on Mac OS
Problem:    Mouse shape test is flaky, especially on Mac OS.
Solution:   Instead of starting all timers at the same time, start the next
            one in the callback of the previous one. (Yee Cheng Chin,
            closes #11673)  Also use "bwipe!" instead of "close!" to avoid
            swap files remaining.
2022-12-08 09:41:24 +00:00
Philip H
647b8dfa7f patch 9.0.1027: LGTM is soon shutting down
Problem:    LGTM is soon shutting down.
Solution:   Remove LGTM from CI. (closes #11671)
2022-12-07 23:00:26 +00:00
Bram Moolenaar
2e613453ee patch 9.0.1026: type of w_last_topfill is wrong
Problem:    type of w_last_topfill is wrong.
Solution:   Use "int" instead of "linenr_T". (closes #11670)
2022-12-07 22:30:18 +00:00
zeertzjq
3fc84dc2c7 patch 9.0.1025: WinScrolled is not triggered when filler lines change
Problem:    WinScrolled is not triggered when filler lines change.
Solution:   Add "topfill" to the values that WinScrolled triggers on.
            (closes #11668)
2022-12-07 09:17:59 +00:00
Bram Moolenaar
86b4816766 Update runtime files 2022-12-06 18:20:10 +00:00
Philip H
5e0c004f0c patch 9.0.1024: CI doesn't use the latest FreeBSD version
Problem:    CI doesn't use the latest FreeBSD version.
Solution:   Go from 12.3 to 12.4. (closes #11423)
2022-12-06 16:56:44 +00:00
K.Takata
a8cdb4eef8 patch 9.0.1023: MS-Windows: dynamic loading of libsodium doesn't work
Problem:    MS-Windows: dynamic loading of libsodium doesn't work.
Solution:   Add "randombytes_random". (Ken Takata, closes #11667)
2022-12-06 16:17:01 +00:00
Bram Moolenaar
af34543b92 patch 9.0.1022: suspend test fails on Mac OS when suspending Vim
Problem:    Suspend test fails on Mac OS when suspending Vim.
Solution:   Make 'keyprotocol' empty.
2022-12-06 16:09:52 +00:00
Bram Moolenaar
d6e74f5479 patch 9.0.1021: test trips over g:name
Problem:    Test trips over g:name.
Solution:   Delete g:name after using it.
2022-12-06 15:07:56 +00:00
Bram Moolenaar
6572a90287 patch 9.0.1020: tests call GetSwapFileList() before it is defined
Problem:    Tests call GetSwapFileList() before it is defined.
Solution:   Move the call to after defining the function. (Christopher
            Plewright)
2022-12-06 14:21:09 +00:00
Bram Moolenaar
56a40fea9c patch 9.0.1019: 'smoothscroll' and virtual text above don't work together
Problem:    'smoothscroll' and virtual text above don't work together.
            (Yee Cheng Chin)
Solution:   Skip virtual text above when w_skipcol is non-zero.
            (closes #11665)
2022-12-06 14:17:57 +00:00
Bram Moolenaar
7155fb6614 patch 9.0.1018: suspend test still fails on Mac OS
Problem:    Suspend test still fails on Mac OS.
Solution:   Make 'keyprotocol' empty.
2022-12-06 09:11:39 +00:00
Bram Moolenaar
9dacdb1d56 patch 9.0.1017: test for srand() fails on MS-Windows
Problem:    Test for srand() fails on MS-Windows.
Solution:   Do not expect the same result a second time.
2022-12-06 09:05:25 +00:00
Bram Moolenaar
1cb16c3a20 patch 9.0.1016: screenpos() does not count filler lines for diff mode
Problem:    screenpos() does not count filler lines for diff mode.
Solution:   Add filler lines. (closes 11658)
2022-12-05 22:26:44 +00:00
Yasuhiro Matsumoto
f0a9c00482 patch 9.0.1015: without /dev/urandom srand() seed is too predictable
Problem:    Without /dev/urandom srand() seed is too predictable.
Solution:   Use micro seconds and XOR with process ID. (Yasuhiro Matsumoto,
            closes #11656)
2022-12-05 21:55:55 +00:00
Bram Moolenaar
25201016d5 patch 9.0.1014: zir files are not recognized
Problem:    Zir files are not recognized.
Solution:   Add a pattern for Zir files. (closes #11664)
2022-12-05 21:40:39 +00:00
Bram Moolenaar
0a2f891adf patch 9.0.1013: suspend test often fails on Mac OS
Problem:    Suspend test often fails on Mac OS.
Solution:   Make t_RP empty.
2022-12-05 21:21:46 +00:00
Bram Moolenaar
fa2533c8bb patch 9.0.1012: tests may get stuck in buffer with swap file
Problem:    Tests may get stuck in buffer with swap file.
Solution:   Bail out when bwipe! doesn't get another buffer.
2022-12-05 20:58:04 +00:00
Bram Moolenaar
99d19438ca patch 9.0.1011: ml_get error when using screenpos()
Problem:    ml_get error when using screenpos().
Solution:   Give an error for the line number. (closes #11661)
2022-12-05 16:23:24 +00:00
Bram Moolenaar
23526d2539 patch 9.0.1010: stray warnings for existing swap files
Problem:    Stray warnings for existing swap files.
Solution:   Wipe out the buffer until it has no name and no swap file.
2022-12-05 15:50:41 +00:00
Bram Moolenaar
72b5b0d51a patch 9.0.1009: test for catch after interrupt is flaky on MS-Windows
Problem:    Test for catch after interrupt is flaky on MS-Windows.
Solution:   Mark the test as flaky.
2022-12-05 15:24:20 +00:00
Bram Moolenaar
6cf3151f0e patch 9.0.1008: test for swapfilelist() fails on MS-Windows
Problem:    Test for swapfilelist() fails on MS-Windows.
Solution:   Only check the tail of the path.  Mark a test as flaky.
2022-12-05 15:01:05 +00:00
Bram Moolenaar
c216a7a21a patch 9.0.1007: there is no way to get a list of swap file names
Problem:    There is no way to get a list of swap file names.
Solution:   Add the swapfilelist() function.  Use it in the test script to
            clean up.  Remove deleting individual swap files.
2022-12-05 13:50:55 +00:00
Bram Moolenaar
65214053f6 patch 9.0.1006: suspend test still sometimes fails on MacOS
Problem:    Suspend test still sometimes fails on MacOS.
Solution:   Wait a little while for terminal responses.
2022-12-04 23:30:19 +00:00
Bram Moolenaar
d0f8d39d20 patch 9.0.1005: a failed test may leave a swap file behind
Problem:    A failed test may leave a swap file behind.
Solution:   Delete the swap file to avoid another test to fail.  Use another
            file name.
2022-12-04 23:00:41 +00:00
Bram Moolenaar
a0a6f3a22a patch 9.0.1004: suspend test sometimes fails on MacOS
Problem:    Suspend test sometimes fails on MacOS.
Solution:   Wait a short while for terminal responses.
2022-12-04 22:26:40 +00:00
Bram Moolenaar
3d3e2aa826 patch 9.0.1003: tiny build fails
Problem:    Tiny build fails.
Solution:   Remove #ifdef from error message.
2022-12-04 21:40:51 +00:00
Bram Moolenaar
9163efb5b8 patch 9.0.1002: command list test fails
Problem:    Command list test fails.
Solution:   Add commands added to the list.
2022-12-04 21:09:48 +00:00
Bram Moolenaar
c1c365c1ca patch 9.0.1001: classes are not documented or implemented yet
Problem:    Classes are not documented or implemented yet.
Solution:   Make the first steps at documenting Vim9 objects, classes and
            interfaces.  Make initial choices for the syntax.  Add a skeleton
            implementation.  Add "public" and "this" in the command table.
2022-12-04 20:13:24 +00:00
Bram Moolenaar
b21b8e9ed0 patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Problem:    With 'smoothscroll' skipcol may be reset unnecessarily.
Solution:   Check the line does actually fit in the window.
2022-12-03 18:35:07 +00:00
Bram Moolenaar
c0370529c0 patch 9.0.0999: memory may leak
Problem:    Memory may leak.
Solution:   Free the sound callback function name if it was allocated.
2022-12-03 13:52:24 +00:00
Bram Moolenaar
1b73edd9ee patch 9.0.0998: "gk" may reset skipcol when not needed
Problem:    "gk" may reset skipcol when not needed.
Solution:   Only reset skipcol if the cursor column is less.
2022-12-03 11:51:54 +00:00
Bram Moolenaar
8ffb7e051d patch 9.0.0997: Coverity warns for dead code
Problem:    Coverity warns for dead code.
Solution:   Don't use ASCII_ISUPPER() for a negative value.
2022-12-03 10:13:30 +00:00
Bram Moolenaar
af19ec0bfa patch 9.0.0996: if 'keyprotocol' is empty "xterm" still uses modifyOtherKeys
Problem:    If 'keyprotocol' is empty "xterm" still uses modifyOtherKeys.
Solution:   Remove t_TI, t_RK and t_TE from the "xterm" builtin termcap and
            let the default value of 'keyprotocol' add those.
2022-12-03 00:00:38 +00:00
Bram Moolenaar
37f088eead patch 9.0.0995: padding before virtual text is highlighted
Problem:    Padding before virtual text below is highlighted when 'number' and
            'nowrap' are set.
Solution:   Save and restore n_attr_skip. (closes #11643)
2022-12-02 21:50:14 +00:00
Bram Moolenaar
267db7c3e3 patch 9.0.0994: tests for empty prop type name fail
Problem:    Tests for empty prop type name fail.
Solution:   Correct the error number.
2022-12-02 21:37:45 +00:00
Bram Moolenaar
89469d157a patch 9.0.0993: display errors when adding or removing text property type
Problem:    Display errors when adding or removing text property type.
Solution:   Perform a full redraw.  Only use text properties for which the
            type is defined. (closes #11655)
2022-12-02 20:46:26 +00:00
mityu
500c444283 patch 9.0.0992: Vim9 script: get E1096 when comment follows return
Problem:    Vim9 script: get E1096 when comment follows return.
Solution:   Adjust condition for return without expression. (closes #11654)
2022-12-02 18:12:05 +00:00
Bram Moolenaar
c67c89c758 patch 9.0.0991: crash when reading help index with various options set
Problem:    Crash when reading help index with various options set. (Marius
            Gedminas)
Solution:   Do not set wlv.c_extra to NUL when wlv.p_extra is NULL.
            (closes #11651)
2022-12-02 16:39:44 +00:00
Bram Moolenaar
c96b7f5d2a patch 9.0.0990: callback name argument is changed by setqflist()
Problem:    Callback name argument is changed by setqflist().
Solution:   Use the expanded function name for the callback, do not store it
            in the argument. (closes #11653)
2022-12-02 15:58:38 +00:00
Bram Moolenaar
9c8d12c811 patch 9.0.0989: popupwin test is more flaky on MacOS
Problem:    Popupwin test is more flaky on MacOS.
Solution:   Use a longer wait time.
2022-12-02 15:06:07 +00:00
Bram Moolenaar
b55ae8ce42 patch 9.0.0988: using feedkeys() does not show up in a channel log
Problem:    Using feedkeys() does not show up in a channel log.
Solution:   Add ch_log() calls and clean up the code.
2022-12-02 13:37:36 +00:00
Bram Moolenaar
cf650b7c9b patch 9.0.0987: file missing from list of distributed files
Problem:    File missing from list of distributed files.
Solution:   Add logfile.pro to list of distributed files.
2022-12-02 13:20:19 +00:00
Bram Moolenaar
5390c05a3c patch 9.0.0986: build failure with tiny version
Problem:    Build failure with tiny version.
Solution:   Add #ifdef.
2022-12-02 13:10:03 +00:00
Bram Moolenaar
1a173409ae patch 9.0.0985: when using kitty keyboard protocol function keys may not work
Problem:    When using kitty keyboard protocol function keys may not work.
            (Kovid Goyal)
Solution:   Recognize CSI ending in [ABCDEFHPQRS] also when the termcap
            entries are not specified. (closes #11648)
2022-12-02 12:28:47 +00:00
Bram Moolenaar
023930d62e patch 9.0.0984: GUI: remote_foreground() does not always work
Problem:    GUI: remote_foreground() does not always work. (Ron Aaron)
Solution:   For GTK use gtk_window_set_keep_above(). (issue #11641)
2022-12-01 19:40:55 +00:00
Bram Moolenaar
184a622ada patch 9.0.0983: stray characters displayed when starting the GUI
Problem:    Stray characters displayed when starting the GUI.
Solution:   Add t_RK to the list of terminal options.
2022-12-01 19:25:04 +00:00
Bram Moolenaar
45e4eead2a patch 9.0.0982: 'cursorline' not drawn before virtual text below
Problem:    'cursorline' not drawn before virtual text below.
Solution:   Add the 'cursorline' attribute to the empty space. (closes #11647)
2022-12-01 18:38:02 +00:00
Bram Moolenaar
c3f1881aed patch 9.0.0981: build error in tiny version
Problem:    Build error in tiny version.
Solution:   Add #ifdef.
2022-12-01 12:29:43 +00:00
Bram Moolenaar
733a69b29f patch 9.0.0980: the keyboard state response may end up in a shell command
Problem:    The keyboard state response may end up in a shell command.
Solution:   Only request the keyboard protocol state when the typeahead is
            empty, no more commands are following and not exiting.  Add the
            t_RK termcap entry for this.
2022-12-01 12:03:47 +00:00
Bram Moolenaar
4f501171f7 patch 9.0.0979: ch_log() text can be hard to find in the log file
Problem:    ch_log() text can be hard to find in the log file.
Solution:   Prepend "ch_log()" to the text.
2022-12-01 11:02:23 +00:00
Bram Moolenaar
3b8c7083b2 patch 9.0.0978: build errors without the +channel feature
Problem:    Build errors without the +channel feature. (John Marriott)
Solution:   Adjust #ifdefs.
2022-11-30 20:20:56 +00:00
Bram Moolenaar
4c5678ff0c patch 9.0.0977: it is not easy to see what client-server commands are doing
Problem:    It is not easy to see what client-server commands are doing.
Solution:   Add channel log messages if ch_log() is available.  Move the
            channel logging and make it available with the +eval feature.
2022-11-30 18:12:19 +00:00
Bram Moolenaar
a87749e3ea patch 9.0.0976: enabling the kitty keyboard protocol uses push/pop
Problem:    Enabling the kitty keyboard protocol uses push/pop.
Solution:   Use the start/stop codes to avoid unpredictable behavior.
2022-11-30 10:23:17 +00:00
Bram Moolenaar
7c02ad9f89 patch 9.0.0975: virtual text below empty line misplaced when 'number' set
Problem:    Virtual text below an empty line is misplaced when 'number' is
            set.
Solution:   Adjust the computations. (closes #11629)
2022-11-29 21:37:13 +00:00
Bram Moolenaar
dffa6ea85c patch 9.0.0974: even when Esc is encoded a timeout is used
Problem:    Even when Esc is encoded a timeout is used.
Solution:   Use K_ESC when an encoded Esc is found.
2022-11-29 20:33:20 +00:00
Bram Moolenaar
064fd67e6a patch 9.0.0973: Kitty keyboard protocol key with NumLock not decoded
Problem:    Kitty keyboard protocol key not decoded when it has an unsupported
            modifier, such as NumLock.
Solution:   Accept a key with any modifier. (closes #11638)
2022-11-29 18:32:32 +00:00
Bram Moolenaar
4e6072b8d3 patch 9.0.0972: build failure on some systems
Problem:    Build failure on some systems.
Solution:   Adjust #ifdefs related to the termresponse feature.
2022-11-29 16:09:18 +00:00
Bram Moolenaar
6f2a227565 patch 9.0.0971: escape sequences not recognized without termresponse feature
Problem:    Escape sequences not recognized without the termresponse feature.
Solution:   Recognize escape sequences to avoid display mess up.
2022-11-29 13:59:13 +00:00
Bram Moolenaar
3719989431 patch 9.0.0970: Coverity warns for uninitialized variable
Problem:    Coverity warns for uninitialized variable.
Solution:   Initialize "ren_ret".
2022-11-29 13:46:48 +00:00
Bram Moolenaar
28a896f54d patch 9.0.0969: matchparen highlight is not updated when switching buffers
Problem:    Matchparen highlight is not updated when switching buffers.
Solution:   Listen to the BufLeave and the BufWinEnter autocmd events.
            (closes #11626)
2022-11-28 22:21:12 +00:00
Bram Moolenaar
c13e998d4a patch 9.0.0968: GUI mouse event test is a bit flaky
Problem:    GUI mouse event test is a bit flaky.
Solution:   Mark the test case as flaky.  Move test function failure checks to
            a separate test function.
2022-11-28 21:20:48 +00:00
Bram Moolenaar
84497cd06f patch 9.0.0967: leaking memory from autocmd windows
Problem:    Leaking memory from autocmd windows.
Solution:   Free window when auc_win is not NULL.
2022-11-28 20:34:52 +00:00
Bram Moolenaar
f86490ed4f patch 9.0.0966: some compilers don't allow a declaration after a label
Problem:    Some compilers don't allow a declaration after a label.
Solution:   Move the declaration to the start of the block. (John Marriott)
2022-11-28 19:11:02 +00:00
Bram Moolenaar
e76062c078 patch 9.0.0965: using one window for executing autocommands is insufficient
Problem:    Using one window for executing autocommands is insufficient.
Solution:   Use up to five windows for executing autocommands.
2022-11-28 18:51:43 +00:00
Luuk van Baal
74a694dbe2 patch 9.0.0964: status line not redrawn when 'splitkeep' is "screen"
Problem:    Status line of other window not redrawn when dragging it when
            'splitkeep' is set to "screen".
Solution:   Set w_redr_status earlier. (Luuk van Baal, closes #11635,
            closes #11632)
2022-11-28 16:49:36 +00:00
zeertzjq
269aa2b29a patch 9.0.0963: function name does not match autocmd event name
Problem:    Function name does not match autocmd event name.
Solution:   Rename "optionsset" to "optionset". (closes #11630)
2022-11-28 11:36:50 +00:00
porygonisaduck
38854b565a patch 9.0.0962: virtual text below cannot be placed below empty lines
Problem:    Virtual text below cannot be placed below empty lines.
Solution:   Add one character. (James Alvarado, closes #11606, closes #11520)
2022-11-27 20:55:05 +00:00
Bram Moolenaar
3da8597fc0 patch 9.0.0961: using deletebufline() may jump to another window
Problem:    Using deletebufline() may jump to another window.
Solution:   Do not use a window where the buffer was only in the past.
            (closes #11594)
2022-11-27 19:45:49 +00:00
Bram Moolenaar
502e91756e patch 9.0.0960: error when using the "Spelling / Find More Languages" menu
Problem:    Error when using the "Tools / Spelling / Find More Languages"
            menu.
Solution:   Remove "<SID>".  Reset "g:menutrans_set_lang_to" when 'encoding'
            changes. (closes #11625)
2022-11-27 16:18:33 +00:00
Bram Moolenaar
8b336a6614 patch 9.0.0959: error when using the "File Settings / Text Width" menu
Problem:    Error when using the "File Settings / Text Width" menu.
Solution:   Use str2nr(). (closes #11624)
2022-11-27 15:51:46 +00:00
Bram Moolenaar
19cf525c20 patch 9.0.0958: messages test is flaky
Problem:    Messages test is flaky.
Solution:   Add a short delay.
2022-11-27 14:39:31 +00:00
Bram Moolenaar
64fabf3802 patch 9.0.0957: tests fail without the terminal feature
Problem:    Tests fail without the terminal feature.
Solution:   Move functions to another utility script.
2022-11-27 13:51:22 +00:00
Bram Moolenaar
9f14557d6a patch 9.0.0956: terminal tests fail when using key with modifier
Problem:    Terminal tests fail when using key with modifier.
Solution:   Use the modifyOtherKeys encoding when using RunVimInTerminal().
2022-11-27 12:45:41 +00:00
Bram Moolenaar
cc0907165d patch 9.0.0955: libvterm does not support the XTQMODKEYS request
Problem:    Libvterm does not support the XTQMODKEYS request.
Solution:   Implement the XTQMODKEYS request and response.  Update the keycode
            check results.
2022-11-27 11:31:23 +00:00
Bram Moolenaar
c255b78965 patch 9.0.0954: cannot detect whether modifyOtherKeys is enabled
Problem:    Cannot detect whether modifyOtherKeys is enabled.
Solution:   Use XTQMODKEYS introduced by xterm version 377 to request the
            modifyOtherKeys level.  Update the keycode check results.
2022-11-26 19:16:48 +00:00
Bram Moolenaar
837ca8f43b patch 9.0.0953: part of making search more efficient is missing
Problem:    Part of making search more efficient is missing.
Solution:   Add the change in searchit().
2022-11-26 18:59:19 +00:00
ObserverOfTime
f3f198b634 patch 9.0.0952: Eclipse preference files are not recognized
Problem:    Eclipse preference files are not recognized.
Solution:   Add a pattern to use "jproperties" for Eclipse preference files.
            (closes #11618)
2022-11-26 13:03:20 +00:00
Bram Moolenaar
01105b37a1 patch 9.0.0951: trying every character position for a match is inefficient
Problem:    Trying every character position for a match is inefficient.
Solution:   Use the start position of the match ignoring "\zs".
2022-11-26 11:47:10 +00:00
Bram Moolenaar
c96311b5be patch 9.0.0950: the pattern "\_s\zs" matches at EOL
Problem:    The pattern "\_s\zs" matches at EOL.
Solution:   Make the pattern "\_s\zs" match at the start of the next line.
            (closes #11617)
2022-11-25 21:13:47 +00:00
Bram Moolenaar
ef2c325f5e patch 9.0.0949: crash when unletting a variable while listing variables
Problem:    Crash when unletting a variable while listing variables.
Solution:   Disallow changing a hashtable while going over the entries.
            (closes #11435)
2022-11-25 16:31:51 +00:00
Bram Moolenaar
c1cf4c9107 patch 9.0.0948: 'ttyfast' is set for arbitrary terminals
Problem:    'ttyfast' is set for arbitrary terminals.
Solution:   Always set 'ttyfast'. (closes #11549)
2022-11-25 15:09:35 +00:00
Bram Moolenaar
cc762a48d4 patch 9.0.0947: invalid memory access in substitute with function
Problem:    Invalid memory access in substitute with function that goes to
            another file.
Solution:   Check for text locked in CTRL-W gf.
2022-11-25 13:03:31 +00:00
K.Takata
ad85af5b38 patch 9.0.0946: CI: Error in Coverity flow is not reported
Problem:    CI: Error in Coverity flow is not reported.
Solution:   Use another way to avoid errors in a forked repository. (Ken
            Takata, closes #11609)
2022-11-25 00:57:05 +00:00
Bram Moolenaar
637862fc3c patch 9.0.0945: failures in the cursorline test
Problem:    Failures in the cursorline test.
Solution:   Reset extra_attr only after a text property.
2022-11-24 23:04:02 +00:00
Bram Moolenaar
6ac16f0c0f patch 9.0.0944: 'cursorline' causes virtual text highlight to continue
Problem:    'cursorline' causes virtual text highlight to continue.
Solution:   Save and restore line_attr. (closes #11588)
2022-11-24 22:42:29 +00:00
Bram Moolenaar
d330e8422d patch 9.0.0943: pretending to go out of Insert mode when Esc is received
Problem:    Pretending to go out of Insert mode when Esc is received has side
            effects.
Solution:   When the kitty keyboard protocol is enabled expect Esc to always
            be the start of an escape sequence.
2022-11-24 20:23:24 +00:00
Matt Dunford
f60bdc3417 patch 9.0.0942: Workflow Description Language files are not recognized
Problem:    Workflow Description Language files are not recognized.
Solution:   Add a pattern for the "wdl" filetype. (Matt Dunford,
            closes #11611)
2022-11-24 20:01:18 +00:00
Philip H
1273dfb015 patch 9.0.0941: CI failures in sound dummy
Problem:    CI failures in sound dummy.
Solution:   Temporarily disable building sound dummy. (closes #11610)
2022-11-24 15:15:08 +00:00
Bram Moolenaar
ebed1b0bea patch 9.0.0940: crash when typing a letter in a terminal window
Problem:    Crash when typing a letter in a terminal window. (Shane-XB-Qian)
Solution:   Use the "vterm" variable instead of getting the terminal pointer
            from the current buffer.  (closes #11608)
2022-11-24 14:05:19 +00:00
Bram Moolenaar
47f1fdc28c patch 9.0.0939: still using simplified mappings when using kitty protocol
Problem:    Still using simplified mappings when using the kitty keyboard
            protocol.
Solution:   Use the kitty_protocol_state value to decide whether to use
            simplified mappings.  Improve how seenModifyOtherKeys is set and
            reset.
2022-11-24 13:27:36 +00:00
Christopher Plewright
0b228cddc7 patch 9.0.0938: MS-Windows: debug executable not found when running test
Problem:    MS-Windows: debug executable not found when running test.
Solution:   Look for vimd.exe. (Christopher Plewright, closes #11602)
2022-11-24 12:19:50 +00:00
shane.xb.qian
e2da59851a patch 9.0.0937: forked repositories send out useless email
Problem:    Forked repositories send out useless email.
Solution:   When Coverity fails to run just ignore it. (Shane-XB-Qian,
            closes #11604)
2022-11-24 12:01:45 +00:00
Bram Moolenaar
82946e1439 patch 9.0.0936: wrong type for "isunnamed" returned by getreginfo()
Problem:    Wrong type for "isunnamed" returned by getreginfo().
Solution:   Use VAR_BOOL instead of VAR_SPECIAL. (closes #11598)
2022-11-24 11:31:29 +00:00
Eisuke Kawashima
24482fbfd5 patch 9.0.0935: when using dash it may not be recognize as filetype "sh"
Problem:    When using dash it may not be recognize as filetype "sh".
Solution:   Add checks for "dash". (Eisuke Kawashima,closes #11600)
2022-11-24 10:58:10 +00:00
Bram Moolenaar
24fe33a83a patch 9.0.0934: various code formatting issues
Problem:    Various code formatting issues.
Solution:   Improve code formatting.
2022-11-24 00:09:02 +00:00
Bram Moolenaar
b59ae59a58 Update runtime files 2022-11-23 23:46:31 +00:00
Bram Moolenaar
43300f6034 patch 9.0.0933: Kitty shows "already at oldest change" on startup
Problem:    Kitty shows "already at oldest change" on startup.
Solution:   When receiving the keyboard protocol state return the ignore key.
            (closes #11601)
2022-11-23 23:30:58 +00:00
Bram Moolenaar
ecfd511e8d patch 9.0.0932: Oblivion files are not recognized
Problem:    Oblivion files are not recognized.
Solution:   Recognize Oblivion files and alike as "obse". (closes #11540)
2022-11-23 22:34:23 +00:00
Christopher Plewright
36446bbb62 patch 9.0.0931: MS-Windows: mouse column limited to 223
Problem:    MS-Windows: mouse column limited to 223.
Solution:   Use two bytes for each mouse coordinate.  Add the mouse position
            to scroll events. (Christopher Plewright, closes #11597)
2022-11-23 22:28:08 +00:00
Bram Moolenaar
63a2e360cc patch 9.0.0930: cannot debug the Kitty keyboard protocol with TermDebug
Problem:    Cannot debug the Kitty keyboard protocol with TermDebug.
Solution:   Add Kitty keyboard protocol support to the libvterm fork.
            Recognize the escape sequences that the protocol generates.  Add
            the 'keyprotocol' option to allow the user to specify for which
            terminal what protocol is to be used, instead of hard-coding this.
            Add recognizing the kitty keyboard protocol status.
2022-11-23 20:20:18 +00:00
Bram Moolenaar
0b6d6a186e patch 9.0.0929: build failure with tiny version
Problem:    Build failure with tiny version. (Tony Mechelynck)
Solution:   Add #ifdef.
2022-11-23 14:33:01 +00:00
Zdenek Dohnal
1d822afaf6 patch 9.0.0928: using Ruby LDFLAGS may cause build problems
Problem:    Using Ruby LDFLAGS may cause build problems.
Solution:   Do not add Ruby LDFLAGS to Vim's LDFLAGS. (Zdenek Dohnal,
            closes #11592)
2022-11-23 12:06:08 +00:00
Bram Moolenaar
96cbbe29de patch 9.0.0927: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Check for memory allocaion failure.
2022-11-23 11:36:22 +00:00
Bram Moolenaar
bc222152d8 patch 9.0.0926: Coverity warns for not using return value of dict_add()
Problem:    Coverity warns for not using return value of dict_add().
Solution:   When dict_add() fails then don't call hash_remove().
2022-11-23 11:34:01 +00:00
zeertzjq
df3c0eb41e patch 9.0.0925: two conditions are always false
Problem:    Two conditions are always false.
Solution:   Remove the conditions.  Update return value types to make clear
            what could be returned. (closes #11593)
2022-11-23 11:23:17 +00:00
Bram Moolenaar
c3e06e4bfa patch 9.0.0924: the first termcap entry of a builtin termcap is not used
Problem:    The first termcap entry of a builtin termcap is not used.
Solution:   Remove increment that was previously skipping the KS_NAME entry.
2022-11-22 22:03:39 +00:00
Bram Moolenaar
a787c24e00 patch 9.0.0923: second SIGWINCH signal may be ignored
Problem:    Second SIGWINCH signal may be ignored.
Solution:   When set_shellsize() is busy when called then run the inner code
            again when it's done.  (issue #424)
2022-11-22 20:41:05 +00:00
Bram Moolenaar
364438d1e8 patch 9.0.0922: Mermaid files are not recognized
Problem:    Mermaid files are not recognized.
Solution:   Add patterns for Mermaid. (Crag MacEachern)
2022-11-22 19:16:29 +00:00
Bram Moolenaar
9af2ea80a8 patch 9.0.0921: missing defined(PROTO) in #ifdef
Problem:    Missing defined(PROTO) in #ifdef.
Solution:   Adjust #ifdef so that proto works with different features.
            Clean up some preprocessor indenting.
2022-11-22 18:18:38 +00:00
Bram Moolenaar
b775e72439 patch 9.0.0920: cannot find an import prefixed with "s:"
Problem:    Cannot find an import prefixed with "s:". (Doug Kearns)
Solution:   Skip over the "s:". (closes #11585)
2022-11-22 18:12:44 +00:00
Bram Moolenaar
9c5b7cb4cf patch 9.0.0919: build failure with tiny features
Problem:    Build failure with tiny features.
Solution:   Adjust #ifdef's.
2022-11-22 13:29:20 +00:00
Christopher Plewright
0319306f20 patch 9.0.0918: MS-Windows: modifier keys do not work with mouse scroll event
Problem:    MS-Windows: modifier keys do not work with mouse scroll events.
Solution:   Use K_SPECIAL instead of CSI for the modifier keys. (Christopher
            Plewright, closes #11587)
2022-11-22 12:58:27 +00:00
Bram Moolenaar
35fc61cb5b patch 9.0.0917: the WinScrolled autocommand event is not enough
Problem:    The WinScrolled autocommand event is not enough.
Solution:   Add WinResized and provide information about what changed.
            (closes #11576)
2022-11-22 12:40:50 +00:00
Bram Moolenaar
ce30ccc06a patch 9.0.0916: getbufline() is inefficient for getting a single line
Problem:    getbufline() is inefficient for getting a single line.
Solution:   Add getbufoneline().
2022-11-21 19:57:04 +00:00
Bram Moolenaar
2996773276 patch 9.0.0915: WinScrolled may trigger immediately when defined
Problem:    WinScrolled may trigger immediately when defined.
Solution:   Initialize the fields in all windows. (closes #11582)
2022-11-20 12:11:45 +00:00
zeertzjq
228e422855 patch 9.0.0914: deletebufline() may move marks in the wrong window
Problem:    deletebufline() may move marks in the wrong window.
Solution:   Find a window for the buffer being changed. (closes #11583)
2022-11-20 11:13:17 +00:00
Bram Moolenaar
0a60f79fd0 patch 9.0.0913: only change in current window triggers the WinScrolled event
Problem:    Only a change in the current window triggers the WinScrolled
            event.
Solution:   Trigger WinScrolled if any window scrolled or changed size.
            (issue #11576)
2022-11-19 21:18:11 +00:00
Bram Moolenaar
c896adbcde patch 9.0.0912: libvterm with modifyOtherKeys level 2 does not match xterm
Problem:    libvterm with modifyOtherKeys level 2 does not match xterm.
Solution:   Adjust key code escape sequences to be the same as what xterm
            sends in modifyOtherKeys level 2 mode.  Check the value of
            no_reduce_keys before using it.
2022-11-19 19:02:40 +00:00
Yee Cheng Chin
e6392b1021 patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Problem:    With 'smoothscroll' set mouse click position may be wrong.
Solution:   Adjust computations for w_skipcol. (Yee Cheng Chin, closes #11514)
2022-11-19 14:31:08 +00:00
Bram Moolenaar
c934bfa1b7 patch 9.0.0910: setting lines in another buffer may not work well
Problem:    Setting lines in another buffer may not work well.
Solution:   Make sure the buffer being changed has a window. (issue #11558)
2022-11-19 13:59:43 +00:00
Bram Moolenaar
9fda81515b patch 9.0.0909: error message for layout change does not match action
Problem:    Error message for layout change does not match action.
Solution:   Pass the command to where the error is given. (closes #11573)
2022-11-19 13:14:10 +00:00
Yee Cheng Chin
361895d2a1 patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Problem:    With 'smoothscroll' cursor may end up in wrong position.
Solution:   Correct the computation of screen lines. (Yee Cheng Chin,
            closes #11502)
2022-11-19 12:25:16 +00:00
Bram Moolenaar
d63a85592c patch 9.0.0907: restoring window after WinScrolled may fail
Problem:    Restoring window after WinScrolled may fail.
Solution:   Lock the window layout when triggering WinScrolled.
2022-11-19 11:41:30 +00:00
Christopher Plewright
ff95ce0930 patch 9.0.0906: mouse scroll code is not optimal
Problem:    Mouse scroll code is not optimal.
Solution:   Properly organise Normal mode, Insert mode and common code.
            (Christopher Plewright, closes #11572)
2022-11-19 10:47:49 +00:00
Bram Moolenaar
02edfaa610 patch 9.0.0905: virtual text after the line wraps when 'wrap' is off
Problem:    Virtual text after the line wraps when 'wrap' is off.
Solution:   Only set text_prop_follows when wrapping. (closes #11463)
2022-11-18 23:13:47 +00:00
Bram Moolenaar
88456cd3c4 patch 9.0.0904: various comment and indent flaws
Problem:    Various comment and indent flaws.
Solution:   Improve comments and indenting.
2022-11-18 22:14:09 +00:00
Bram Moolenaar
d13166e788 Update runtime files 2022-11-18 21:49:57 +00:00
Bram Moolenaar
236dffab43 patch 9.0.0903: key code checker doesn't check modifyOtherKeys resource
Problem:    Key code checker doesn't check modifyOtherKeys resource.
Solution:   Request the modifyOtherKeys resource value.  Drop resource DCS
            responses.
2022-11-18 21:20:25 +00:00
Christopher Plewright
696d0a8625 patch 9.0.0902: some mouse scroll code is not in a good place
Problem:    Some mouse scroll code is not in a good place.
Solution:   Refactor the code. (Christopher Plewright, closes #11561)
2022-11-18 17:53:34 +00:00
Bram Moolenaar
0c34d56264 patch 9.0.0901: setting w_leftcol and handling side effects is confusing
Problem:    Setting w_leftcol and handling side effects is confusing.
Solution:   Use a function to set w_leftcol() and handle side effects.
2022-11-18 14:07:20 +00:00
Yee Cheng Chin
81ba26e9de patch 9.0.0900: cursor moves too far with 'smoothscroll'
Problem:    Cursor moves too far with 'smoothscroll'.
Solution:   Only move as far as really needed. (Yee Cheng Chin, closes #11504)
2022-11-18 12:52:50 +00:00
Bram Moolenaar
4654d63dec patch 9.0.0899: the builtin terminals are in one long list
Problem:    The builtin terminals are in one long list.
Solution:   Refactor into multiple lists and an index of the lists.
2022-11-17 22:05:12 +00:00
Bram Moolenaar
75ac25b496 patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Problem:    With 'smoothscroll' cursor is one screen line too far down. (Ernie
            Rael)
Solution:   Add a test that currently has the wrong result so that a fix can
            be made. (issue #11436)
2022-11-17 19:00:14 +00:00
mgramigna
12babe45a3 patch 9.0.0897: Clinical Quality Language files are not recognized
Problem:    Clinical Quality Language files are not recognized.
Solution:   Add the "*.cql" pattern. (Matthew Gramigna, closes #11452)
2022-11-17 18:30:16 +00:00
Bram Moolenaar
1d8765daba patch 9.0.0896: test for home key fails when 'term' is "tmux"
Problem:    Test for home key fails when 'term' is "tmux".
Solution:   Only save termcap entries that exist.  Adjust code for xHome to
            what xterm uses. (closes #11566)
2022-11-17 16:43:35 +00:00
zeertzjq
780154bf7a patch 9.0.0895: file renamed twice in test, missing feature check
Problem:    File renamed twice in test; missing feature check.
Solution:   Remove a rename() call.  Add check for cryptv feature.
            (closes #11564)
2022-11-17 15:23:52 +00:00
Bram Moolenaar
ee28c707e4 patch 9.0.0894: virtual text property highlight ignores window background
Problem:    Virtual text property highlight ignores window background.
Solution:   Combine text prop attribute with win_attr into extra_attr.
            (closes #11462)
2022-11-17 14:56:00 +00:00
Yee Cheng Chin
01ee52bab6 patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Problem:    'smoothscroll' cursor calculations wrong when 'number' is set.
Solution:   Correct the code that computes the width. (closes #11492)
2022-11-17 12:41:42 +00:00
Bram Moolenaar
f32fb93e43 patch 9.0.0892: may redraw when not needed
Problem:    May redraw when not needed, causing slow scrolling.
Solution:   Do not redraw when w_skipcol doesn't change.  When w_skipcol
            changes only redraw from the top. (issue #11559)
2022-11-17 11:34:38 +00:00
Bram Moolenaar
fc1b2d0961 patch 9.0.0891: virtual text below after match has wrong highlight
Problem:    Virtual text below after match has wrong highlight.
Solution:   Restore search_attr only after the virtual text.
            (closes #11446)
2022-11-16 22:12:57 +00:00
Bram Moolenaar
1573e73f1c patch 9.0.0890: no test for what patch 9.0.0827 fixes
Problem:    No test for what patch 9.0.0827 fixes.
Solution:   Add a test (still doesn't fail when fix is reverted).
2022-11-16 20:33:21 +00:00
Bram Moolenaar
8303035d67 patch 9.0.0889: keycode check script has a few flaws
Problem:    Keycode check script has a few flaws.
Solution:   Sort on terminal name.  Ignore XTGETTCAP responses.  Check for
            version and status response.  Update entries.
2022-11-16 16:08:30 +00:00
Aedin Louis Xavier
f10952e8c0 patch 9.0.0888: MS-Windows GUI: CTRL-] does not work on Swiss keyboard
Problem:    MS-Windows GUI: CTRL-] does not work on Swiss keyboard.
Solution:   Check the key code and don't consider it as a dead key. (Aedin
            Louis Xavier, closes #11556)
2022-11-16 12:02:28 +00:00
Bram Moolenaar
a44c7811ff patch 9.0.0887: cannot easily try out what codes various keys produce
Problem:    Cannot easily try out what codes various keys produce.
Solution:   Add a script to gather key code information, with an initial list
            of codes to compare with.
2022-11-15 22:59:07 +00:00
Christopher Plewright
44c2209352 patch 9.0.0886: horizontal mouse scroll only works in the GUI
Problem:    Horizontal mouse scroll only works in the GUI.
Solution:   Make horizontal mouse scroll also work in a terminal.
            (Christopher Plewright, closes #11448)
2022-11-15 17:43:36 +00:00
Bram Moolenaar
b53a190e9f patch 9.0.0885: informational message has an error message number
Problem:    Informational message has an error message number.
Solution:   Use a message without an error number. (closes #11530)
2022-11-15 13:57:38 +00:00
zeertzjq
cdeb65729d patch 9.0.0884: mouse shape remains in op-pending mode after failed change
Problem:    Mouse shape remains in op-pending mode after failed change.
Solution:   Reset finish_op and restore it. (closes #11545)
2022-11-15 13:46:12 +00:00
Bram Moolenaar
698a00f55d patch 9.0.0883: a silent mapping may cause dots on the command line
Problem:    A silent mapping may cause dots on the command line.
Solution:   Don't show dots for completion if they are not going to be removed
            again. (closes #11501)
2022-11-14 22:07:45 +00:00
Bram Moolenaar
c3d27ada14 patch 9.0.0882: using freed memory after SpellFileMissing autocmd uses bwipe
Problem:    Using freed memory after SpellFileMissing autocmd uses bwipe.
Solution:   Bail out if the window no longer exists.
2022-11-14 20:52:14 +00:00
Bram Moolenaar
24dc19cdb2 patch 9.0.0881: cannot get the currently showing mouse shape
Problem:    Cannot get the currently showing mouse shape.
Solution:   Add getmouseshape().
2022-11-14 19:49:15 +00:00
K.Takata
161b6ac04f patch 9.0.0880: preprocessor indenting is off
Problem:    Preprocessor indenting is off.
Solution:   Adjust preprocessor indentation. (Ken Takata, closes #11546)
2022-11-14 15:31:07 +00:00
K.Takata
dcbdd82d05 patch 9.0.0879: unnecessary nesting in makefile
Problem:    Unnecessary nesting in makefile.
Solution:   Join "else" and "ifeq". (Ken Takata, closes #11547)
2022-11-14 14:50:15 +00:00
Bram Moolenaar
b298fe6cba patch 9.0.0878: Coverity warns for dead code
Problem:    Coverity warns for dead code.
Solution:   Remove the dead code.
2022-11-14 14:36:41 +00:00
Bram Moolenaar
cf2594fbf3 patch 9.0.0877: using freed memory with :comclear while listing commands
Problem:    Using freed memory with :comclear while listing commands.
Solution:   Bail out when the command list has changed. (closes #11440)
2022-11-13 23:30:06 +00:00
Yegappan Lakshmanan
68353e5270 patch 9.0.0876: code is indented more than needed
Problem:    Code is indented more than needed.
Solution:   Split ExpandEscape() in two. (Yegappan Lakshmanan, closes #11539)
2022-11-13 22:38:10 +00:00
Bram Moolenaar
398a26f7fc patch 9.0.0875: using freed memory when executing delfunc at more prompt
Problem:    Using freed memory when executing delfunc at the more prompt.
Solution:   Check function list not changed in another place. (closes #11437)
2022-11-13 22:13:33 +00:00
Bram Moolenaar
920d311480 patch 9.0.0874: using freed memory when executing unmenu at more prompt
Problem:    Using freed memory when executing unmenu at the more prompt.
Solution:   Do not clear menus while listing them. (closes #11439)
2022-11-13 21:10:02 +00:00
Bram Moolenaar
bf533e4e88 patch 9.0.0873: using freed memory when executing mapclear at more prompt
Problem:    Using freed memory when executing mapclear at the more prompt.
Solution:   Do not clear mappings while listing them. (closes #11438)
2022-11-13 20:43:19 +00:00
Yegappan Lakshmanan
623e94e138 patch 9.0.0872: code is indented more than needed
Problem:    Code is indented more than needed.
Solution:   Return early. (Yegappan Lakshmanan, closes #11538)
2022-11-13 18:11:17 +00:00
Bram Moolenaar
3b014befa0 patch 9.0.0871: using freed memory when clearing augroup at more prompt
Problem:    Using freed memory when clearing augroup at more prompt.
Solution:   Delay clearing augroup until it's safe. (closes #11441)
2022-11-13 17:53:46 +00:00
Bram Moolenaar
2f7bfe66a1 patch 9.0.0870: get E967 when using text property in quickfix window
Problem:    Get E967 when using text property in quickfix window. (Sergey
            Vlasov)
Solution:   Do not add an extra NUL and compute the text length correctly.
            (closes #11513)
2022-11-13 12:54:50 +00:00
Bram Moolenaar
28c56d5013 patch 9.0.0869: bogus error when string used after :elseif
Problem:    Bogus error when string used after :elseif.
Solution:   Do not consider a double quote the start of a comment.
            (closes #11534)
2022-11-12 23:12:55 +00:00
Christopher Plewright
1140b51e83 patch 9.0.0868: MS-Windows: after Vim exits console resizing problem
Problem:    MS-Windows: after Vim exits console resizing does not work
            properly.
Solution:   Restore screen behavior checks for various WT and VTP
            combinations. (Christopher Plewright, closes #11526,
            closes #11507)
2022-11-12 18:46:05 +00:00
Bram Moolenaar
d6e91385f0 patch 9.0.0867: wildmenu redrawing code is spread out
Problem:    Wildmenu redrawing code is spread out.
Solution:   Refactor to move code together. (closes #11528)
2022-11-12 17:44:13 +00:00
zeertzjq
f7570f2107 patch 9.0.0866: no test for what patch 8.2.2207 fixes
Problem:    No test for what patch 8.2.2207 fixes.
Solution:   Add a test case. (closes #11531)
2022-11-12 17:30:25 +00:00
Nir Lichtman
b3052aa1b5 patch 9.0.0865: duplicate arguments are not always detected
Problem:    Duplicate arguments are not always detected.
Solution:   Expand to full path before comparing arguments. (Nir Lichtman,
            closes #11505, closes #9402)
2022-11-12 17:00:31 +00:00
Bram Moolenaar
6600447c7b patch 9.0.0864: crash when using "!!" without a previous shell command
Problem:    Crash when using "!!" without a previous shell command.
Solution:   Check "prevcmd" is not NULL. (closes #11487)
2022-11-12 16:36:35 +00:00
Yegappan Lakshmanan
4c8d2f02b3 patch 9.0.0863: col() and charcol() only work for the current window
Problem:    col() and charcol() only work for the current window.
Solution:   Add an optional winid argument. (Yegappan Lakshmanan,
            closes #11466, closes #11461)
2022-11-12 16:07:47 +00:00
Bram Moolenaar
0aad88f073 patch 9.0.0862: default value of 'endoffile' is wrong
Problem:    Default value of 'endoffile' is wrong.
Solution:   The default must be 'noendoffile'.
2022-11-12 11:54:26 +00:00
Bram Moolenaar
9954dc39ea patch 9.0.0861: solution for "!!sort" in closed fold is not optimal
Problem:    Solution for "!!sort" in closed fold is not optimal.
Solution:   Use a different range instead of the subtle difference in handling
            a range with an offset. (issue #11487)
2022-11-11 22:58:36 +00:00
Bram Moolenaar
a20be06f97 patch 9.0.0860: MS-Windows: windres fails with clang 15.0.4
Problem:    MS-Windows: windres fails with clang 15.0.4.
Solution:   Use llvm-windres. (John Marriott)
2022-11-11 21:24:18 +00:00
Bram Moolenaar
fd3084b6e2 patch 9.0.0859: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Add #ifdef.
2022-11-11 01:40:48 +00:00
Bram Moolenaar
f00112d558 patch 9.0.0858: "!!sort" in a closed fold sorts too many lines
Problem:    "!!sort" in a closed fold sorts too many lines.
Solution:   Round to end of fold after adding the line count. (closes #11487)
2022-11-11 01:20:35 +00:00
K.Takata
37f1030fd6 patch 9.0.0857: selecting MSVC 2017 does not set $PLATFORM
Problem:    Selecting MSVC 2017 does not set $PLATFORM.
Solution:   Use $VSCMD_ARG_TGT_ARCH. (Ken Takata, closes #11485)
2022-11-10 23:17:19 +00:00
Christopher Plewright
d55bfcaa9b patch 9.0.0856: MS-Windows: executable not found when running test
Problem:    MS-Windows: executable not found when running individual test.
Solution:   Also look for vimd.exe. (Christopher Plewright, closes #11525)
2022-11-10 18:21:30 +00:00
zeertzjq
09a93e3e66 patch 9.0.0855: comment not located above the code it refers to
Problem:    Comment not located above the code it refers to.
Solution:   Move the comment. (closes #11527)
2022-11-10 17:05:28 +00:00
zeertzjq
7265851b2b patch 9.0.0854: no proper test for what 9.0.0846 fixes
Problem:    No proper test for what 9.0.0846 fixes.
Solution:   Run test in a terminal so that the hit-enter prompt can show up.
            (closes #11523)
2022-11-10 13:21:34 +00:00
Bram Moolenaar
98aebcc2c6 patch 9.0.0853: terminal mouse test is still flaky on MacOS M1
Problem:    Terminal mouse test is still flaky on MacOS M1.
Solution:   Also wait for the file to have some contents.
2022-11-10 12:38:16 +00:00
Bram Moolenaar
90e66ec1e1 patch 9.0.0852: crypt test is skipped if xxd is not found
Problem:    Crypt test is skipped if xxd is not found.
Solution:   Find xxd where it was supposed to be build.
2022-11-10 00:25:05 +00:00
Bram Moolenaar
1d139a012e patch 9.0.0851: terminal mouse test is still flaky
Problem:    Terminal mouse test is still flaky.
Solution:   Also use WaitForAssert().
2022-11-10 00:09:22 +00:00
Christopher Plewright
38804d6457 patch 9.0.0850: MS-Windows Terminal has unstable color control
Problem:    MS-Windows Terminal has unstable color control.
Solution:   Do not try to read the old command prompt colortable, use modern
            VT sequences. (Christopher Plewright, closes #11450,
            closes #11373)
2022-11-09 23:55:52 +00:00
James McCoy
157241e879 patch 9.0.0849: terminal mouse test is a bit flaky
Problem:    Terminal mouse test is a bit flaky.
Solution:   Add WaitFor() calls. (James McCoy closes #11519)  Tune wait times
            to reduce flakiness.
2022-11-09 23:29:14 +00:00
Bram Moolenaar
76db9e0763 Update runtime files 2022-11-09 21:21:04 +00:00
K.Takata
0fd7be7f95 patch 9.0.0848: help item for --log argument is not aligned nicely
Problem:    Help item for --log argument is not aligned nicely.
Solution:   Add a Tab. (Ken Takata, closes #11521)
2022-11-09 16:29:24 +00:00
K.Takata
80613d64e6 patch 9.0.0847: CI: not totally clear what MS-Windows version is used
Problem:    CI: not totally clear what MS-Windows version is used.
Solution:   Show the Windows version. (Ken Takata, closes #11524)
2022-11-09 16:12:47 +00:00
Bram Moolenaar
f220643c26 patch 9.0.0846: using assert_fails() may cause hit-enter prompt
Problem:    Using assert_fails() may cause hit-enter prompt.
Solution:   Set no_wait_return. (closes #11522)
2022-11-09 00:44:30 +00:00
shane.xb.qian
4e7590ec00 patch 9.0.0845: shell command with just space gives strange error
Problem:    Shell command with just space gives strange error.
Solution:   Skip white space at start of the argument. (Christian Brabandt,
            Shane-XB-Qian, closes #11515, closes #11495)
2022-11-08 21:40:04 +00:00
Luuk van Baal
7b224fdf4a patch 9.0.0844: handling 'statusline' errors is spread out
Problem:    Handling 'statusline' errors is spread out.
Solution:   Pass the option name to the lower levels so the option can be
            reset there when an error is encountered. (Luuk van Baal,
            closes #11467)
2022-11-07 12:16:51 +00:00
Carlos A Becker
1756f4b218 patch 9.0.0843: VHS tape files are not recognized
Problem:    VHS tape files are not recognized.
Solution:   Add a filetype pattern. (Carlos Alexandro Becker, closes #11452)
2022-11-07 11:17:29 +00:00
Yee Cheng Chin
0e364c9fca patch 9.0.0842: Unicode range for Apple SF symbols is outdated
Problem:    Unicode range for Apple SF symbols is outdated.
Solution:   Update to SF Symbols 4. (Yee Cheng Chin, closes #11474)
2022-11-07 11:05:52 +00:00
zeertzjq
7af3ee2b83 patch 9.0.0841: deletebufline() does not always return 1 on failure
Problem:    deletebufline() does not always return 1 on failure.
Solution:   Refactor the code to make it work more predictable. (closes #11511)
2022-11-06 22:26:05 +00:00
Bram Moolenaar
adbc08fd69 patch 9.0.0840: cannot change a slice of a const list
Problem:    Cannot change a slice of a const list. (Takumi KAGIYAMA)
Solution:   Remove the const flag from the slice type. (closes #11490)
2022-11-06 18:27:17 +00:00
Yee Cheng Chin
69a8bb8dc1 patch 9.0.0839: test may fail depending on sequence of events
Problem:    Test may fail depending on sequence of events.
Solution:   Accept error codes in either order. (Yee Cheng Chin,
            closes #11510)
2022-11-06 12:25:47 +00:00
Bram Moolenaar
a25f718431 patch 9.0.0838: compiler warnings for unused variables
Problem:    Compiler warnings for unused variables.
Solution:   Addjust #ifdef and remove unused variables. (John Marriott)
2022-11-06 11:27:46 +00:00
Bram Moolenaar
cd9c8d400c patch 9.0.0837: append() reports failure when not appending anything
Problem:    append() reports failure when not appending anything.
Solution:   Only report failure when appending something. (closes #11498)
2022-11-05 23:46:43 +00:00
zeertzjq
91c75d18d9 patch 9.0.0836: wrong error when using extend() with funcref
Problem:    Wrong error when using extend() with funcref.
Solution:   Better check the variable type. (closes #11468, closes #11455)
2022-11-05 20:21:58 +00:00
K.Takata
845bbb72ed patch 9.0.0835: the window title is not redrawn when 'endoffile' changes
Problem:    The window title is not redrawn when 'endoffile' changes.
Solution:   redraw the window title when 'endoffile' is changed. (Ken Takata,
            closes #11488)
2022-11-05 18:31:19 +00:00
Sam James
f8ea10677d patch 9.0.0834: warning for missing return type
Problem:    Warning for missing return type.
Solution:   Add "int". (San James, closes #11496)
2022-11-05 15:13:50 +00:00
Yee Cheng Chin
25b8420c2b patch 9.0.0833: Mac: no +sound feature in huge build
Problem:    Mac: no +sound feature in huge build.
Solution:   Enable +sound in Mac huge build. (closes #11497)
2022-11-05 14:23:14 +00:00
Philip H
5a5f17f9b3 patch 9.0.0832: deprecation warning causes build failure
Problem:    Deprecation warning causes build failure.
Solution:   Suppress deprecation warning. (closes #11503)
2022-11-05 14:05:31 +00:00
ichizok
6c3d3e6904 patch 9.0.0831: compiler warning for redefining HAVE_DUP
Problem:    Compiler warning for redefining HAVE_DUP.
Solution:   Undefine HAVE_DUP if needed. (Ozaki Kiichi, closes #11484)
2022-11-04 22:38:11 +00:00
Philip H
5375205761 patch 9.0.0830: compiling with Perl on Mac 12 fails
Problem:    Compiling with Perl on Mac 12 fails.
Solution:   Suppress infinite warnings. (closes #11499)
2022-11-04 22:32:21 +00:00
zeertzjq
3d19c81a11 patch 9.0.0829: wrong counts in macro comment
Problem:    Wrong counts in macro comment.
Solution:   Update the value counts. (closes #11480)
2022-11-04 21:58:36 +00:00
dundargoc
c57b5bcd22 patch 9.0.0828: various typos
Problem:    Various typos.
Solution:   Correct typos. (closes #11432)
2022-11-02 13:30:51 +00:00
Bram Moolenaar
1410d1841b patch 9.0.0827: <Home> key in tmux doesn't work when 'term' set to "xterm"
Problem:    The <Home> key in tmux doesn't work when 'term' is set to "xterm".
            (Dominique Pellé)
Solution:   Only use '@' in a termcap key entry for "1" when ";" follows.
            (closes #11429)
2022-11-01 22:04:40 +00:00
K.Takata
3af982196b patch 9.0.0826: if 'endofline' is set CTRL-Z may be written in a wrong place
Problem:    If 'endofline' is set the CTRL-Z may be written in the wrong
            place.
Solution:   Write CTRL-Z at the end of the file.  Update the help to explain
            the possibilities better. (Ken Takata, closes #11486)
2022-11-01 20:36:19 +00:00
zeertzjq
8e0ccb6bc2 patch 9.0.0825: cannot drag an entry in the tabpage line
Problem:    Cannot drag an entry in the tabpage line.
Solution:   Clear dragwin instead of got_click. (closes #11483,
            closes #11482)
2022-11-01 18:35:27 +00:00
zeertzjq
873f41a018 patch 9.0.0824: crash when using win_move_separator() in other tab page
Problem:    Crash when using win_move_separator() in other tab page.
Solution:   Check for valid window in current tab page.
            (closes #11479, closes #11427)
2022-11-01 11:44:43 +00:00
Bram Moolenaar
7a7db047dc patch 9.0.0823: mouse drag test fails
Problem:    Mouse drag test fails.
Solution:   Only reset the mouse click flag when actually switching to another
            tab page.  Disable test that keeps failing.
2022-10-31 23:07:11 +00:00
Bram Moolenaar
8ab9ca93ee patch 9.0.0822: crash when dragging the statusline with a mapping
Problem:    Crash when dragging the statusline with a mapping.
Solution:   Check for valid window pointer. (issue #11427)
2022-10-31 13:06:26 +00:00
Bram Moolenaar
86e6717ace patch 9.0.0820: memory leak with empty shell command
Problem:    Memory leak with empty shell command.
Solution:   Free the empty string.
2022-10-31 12:24:12 +00:00
Bram Moolenaar
03d6e6f42b patch 9.0.0820: memory leak with empty shell command
Problem:    Memory leak with empty shell command.
Solution:   Free the empty string.
2022-10-29 21:53:08 +01:00
Bram Moolenaar
1577537f10 patch 9.0.0819 2022-10-29 20:01:52 +01:00
Bram Moolenaar
6ebe4f970b Update runtime files 2022-10-28 20:47:54 +01:00
Bram Moolenaar
3f68a4136e Add missing entry for the 'endoffile' option. 2022-10-28 17:04:21 +01:00
Bram Moolenaar
72c8e3c070 Fix wrong struct access for member. 2022-10-28 16:51:46 +01:00
Bram Moolenaar
f0b567e32a Revert unintended Makefile change 2022-10-28 16:47:14 +01:00
Bram Moolenaar
ad353244f2 patch 9.0.0818 2022-10-22 12:23:12 +01:00
Bram Moolenaar
fb0cf2357e patch 9.0.0817 2022-10-22 11:25:19 +01:00
Martin Tournoij
9c50eeb401 patch 9.0.0815 2022-10-22 09:02:56 +01:00
Justin M. Keyes
436e5d395f patch 9.0.0814: aws config files are not recognized
Problem:    Aws config files are not recognized.
Solution:   Use "confini" for aws config files. (Justin M. Keyes,
            closes #11416)
2022-10-21 14:34:25 +01:00
Bram Moolenaar
4bc85f23ed patch 9.0.0813: Kitty terminal is not recognized
Problem:    Kitty terminal is not recognized.
Solution:   Recognize Kitty by the termresponse and then do not set
            seenModifyOtherKeys, since Kitty doesn't support that.
            (issue #11413)
2022-10-21 14:17:24 +01:00
Christopher Plewright
7fa02bcb3b patch 9.0.0812: GUI mouse scrollwheel mappings don't work
Problem:    GUI mouse scrollwheel mappings don't work.
Solution:   Add check for "gui.in_use". (Christopher Plewright, closes #11418)
2022-10-21 13:03:33 +01:00
Bram Moolenaar
2435adf8eb patch 9.0.0811: error if :echowin is preceded by a command modifier
Problem:    Error if :echowin is preceded by a command modifier.
Solution:   Do not give an error for range when there is a modifier.
            (closes #11414)
2022-10-21 12:05:46 +01:00
Bram Moolenaar
5b2a3d77d3 patch 9.0.0810: readblob() returns empty when trying to read too much
Problem:    readblob() returns empty when trying to read too much.
Solution:   Return what is available.
2022-10-21 11:25:30 +01:00
Bram Moolenaar
63c84731c1 patch 9.0.0809: test for job writing to buffer fails
Problem:    Test for job writing to buffer fails.
Solution:   Correct w_topline when deleting a buffer line.
2022-10-20 21:14:19 +01:00
Maxime Brunet
6c8bc37a10 patch 9.0.0808: jsonnet filetype detection has a typo
Problem:    jsonnet filetype detection has a typo.
Solution:   Change "libjsonnet" to "libsonnet". (Maxime Brunet, closes #11412)
2022-10-20 20:52:44 +01:00
Bram Moolenaar
d5337efece patch 9.0.0807: with 'smoothscroll' typing "0" may not go to the first column
Problem:    With 'smoothscroll' typing "0" may not go to the first column.
Solution:   Recompute w_cline_height when needed.  Do not scroll up when it
            would move the cursor.
2022-10-20 20:15:47 +01:00
zeertzjq
49660f5139 patch 9.0.0806: 'langmap' works differently when there are modifiers
Problem:    'langmap' works differently when there are modifiers.
Solution:   Only apply 'langmap' to a character where modifiers have no
            effect. (closes #11395, closes #11404)
2022-10-20 17:59:38 +01:00
Bram Moolenaar
d0fab10ed2 patch 9.0.0805: filetype autocmd may cause freed memory access
Problem:    Filetype autocmd may cause freed memory access.
Solution:   Set the quickfix-busy flag while filling the buffer.
2022-10-20 16:03:33 +01:00
Bram Moolenaar
cdef1cefa2 patch 9.0.0804: crash when trying to divide a number by -1
Problem:    Crash when trying to divice the largest negative number by -1.
Solution:   Handle this case specifically.
2022-10-20 14:17:18 +01:00
K.Takata
43625762a9 patch 9.0.0803: readblob() cannot read from character device
Problem:    readblob() cannot read from character device.
Solution:   Use S_ISCHR() to not check the size. (Ken Takata, closes #11407)
2022-10-20 13:28:51 +01:00
Christopher Plewright
4c36678ffd patch 9.0.0802: MS-Windows: cannot map console mouse scroll events
Problem:    MS-Windows: cannot map console mouse scroll events.
Solution:   Change CSI to K_SPECIAL when checking for a mapping. (Christopher
            Plewright, closes #11410)
2022-10-20 13:11:15 +01:00
Bram Moolenaar
7609c88eed patch 9.0.0801: the modifyOtherKeys flag is set when it should not
Problem:    The modifyOtherKeys flag is set when it should not.
Solution:   Do not handle special key codes with a modifer value above 16 as a
            modifyOtherKeys value. (issue #11403)
2022-10-19 20:07:09 +01:00
Bram Moolenaar
d505c8220d patch 9.0.0800: compiler complains about repeated typedef
Problem:    Compiler complains about repeated typedef.
Solution:   Remove one typedef.
2022-10-19 19:24:48 +01:00
Bram Moolenaar
d0fbb41eaa patch 9.0.0799: in compiled function ->() on next line not recognized
Problem:    In compiled function ->() on next line not recognized.
Solution:   Also check for "(". (closes #11405)
2022-10-19 18:04:49 +01:00
Marwin Glaser
3c708c4390 patch 9.0.0798: clang format configuration files are not recognized
Problem:    Clang format configuration files are not recognized.
Solution:   Use yaml for Clang format configuration files. (Marwin Glaser,
            closes #11398)
2022-10-19 15:39:49 +01:00
zeertzjq
df63f05c3a patch 9.0.0797: order of assert function arguments is reverted
Problem:    Order of assert function arguments is reverted.
Solution:   Swap the arguments. (closes #11399)
2022-10-19 15:12:54 +01:00
Bram Moolenaar
060b838488 patch 9.0.0796: mapping test fails in some situations
Problem:    Mapping test fails in some situations.
Solution:   Find the line with the verbose information.
2022-10-19 14:48:14 +01:00
K.Takata
11df3aeee5 patch 9.0.0795: readblob() always reads the whole file
Problem:    readblob() always reads the whole file.
Solution:   Add arguments to read part of the file. (Ken Takata,
            closes #11402)
2022-10-19 14:02:40 +01:00
Bram Moolenaar
9f62ea01a0 patch 9.0.0794: there is no way to find out if modifyOtherKeys has been seen
Problem:    There is no way to find out if an escape sequence with
            modifyOtherKeys has been seen.
Solution:   Add a notice with ":verbose map".
2022-10-19 13:07:03 +01:00
Christopher Plewright
605d02a9b7 patch 9.0.0793: MS-Windows: mouse scroll events only work with the dll
Problem:    MS-Windows: mouse scroll events only work with the dll.
Solution:   Accept CSI codes for MS-Windows without the GUI. (Christopher
            Plewright, closes #11401)
2022-10-19 11:54:46 +01:00
Bram Moolenaar
bf72e0c67f patch 9.0.0792: MS-Windows: compiler complains about unused function
Problem:    MS-Windows: compiler complains about unused function.
Solution:   Add #ifdef. (John Marriott)
2022-10-18 21:48:14 +01:00
Trygve Aaberge
a353282c13 patch 9.0.0791: at the hit-Enter prompt the End and Home keys may not work
Problem:    At the hit-Enter prompt the End and Home keys may not work.
Solution:   Use the special "@" code for End and Home, like it was done for
            the cursor keys in patch 8.2.2246. (Trygve Aaberge, closes #11396)
2022-10-18 19:22:25 +01:00
Bram Moolenaar
53c5c9f50c patch 9.0.0790: test for dummy buffer does not always produce the E86 error
Problem:    Test for dummy buffer does not always produce the E86 error.
Solution:   Do not check if the error is produced.
2022-10-18 17:25:03 +01:00
Bram Moolenaar
8f3c3c6cd0 patch 9.0.0789: dummy buffer ends up in a window
Problem:    Dummy buffer ends up in a window.
Solution:   Disallow navigating to a dummy buffer.
2022-10-18 17:05:54 +01:00
Bram Moolenaar
61c4b04799 patch 9.0.0788: ModeChanged autocmd not executed when Visual ends with CTRL-C
Problem:    ModeChanged autocmd not executed when Visual mode is ended with
            CTRL-C.
Solution:   Do not trigger the autocmd when got_int is set. (closes #11394)
2022-10-18 15:10:11 +01:00
Christopher Plewright
9298a996fc patch 9.0.0787: mouse scrolling in terminal misbehaves without dll
Problem:    MS-Windows: mouse scrolling in terminal misbehaves without dll.
Solution:   Add #ifdef as a temporary solution. (Christopher Plewright,
            closes #11392)
2022-10-18 13:33:26 +01:00
zeertzjq
208567e9d7 patch 9.0.0786: user command does not get number from :tab modifier
Problem:    User command does not get number from :tab modifier.
Solution:   Include the number. (closes #11393, closes #6801)
2022-10-18 13:11:21 +01:00
Bram Moolenaar
9652249a2d patch 9.0.0785: memory leak with empty shell command
Problem:    Memory leak with empty shell command.
Solution:   Free the allocated memory when bailing out.
2022-10-17 20:00:26 +01:00
Bram Moolenaar
b99e6e6c5f patch 9.0.0784: text prop "above" not right with 'number' and "n" in 'cpo'
Problem:    Text prop "above" not displayed correctly with 'number' and "n" in
            'cpo'.
Solution:   Draw the line number column until the line text is reached.
2022-10-17 18:55:03 +01:00
Bram Moolenaar
8107a2a8af patch 9.0.0783: ":!" doesn't do anything but does update the previous command
Problem:    ":!" doesn't do anything but does update the previous command.
Solution:   Do not have ":!" change the previous command. (Martin Tournoij,
            closes #11372)
2022-10-17 18:00:23 +01:00
ObserverOfTime
4bf67ec52e patch 9.0.0782: OpenVPN files are not recognized
Problem:    OpenVPN files are not recognized.
Solution:   Add patterns for OpenVPN files. (closes #11391)
2022-10-17 15:28:47 +01:00
Bram Moolenaar
e6a16e9950 patch 9.0.0781: workaround to rename "small" to "smallfont" is clumsy
Problem:    Workaround to rename "small" to "smallfont" is clumsy.
Solution:   Undefine "small" after including windows.h. (Ken Takata)
2022-10-17 14:51:36 +01:00
Luuk van Baal
a1a46da87d patch 9.0.0780: 'scroll' value computed in unexpected location
Problem:    'scroll' value computed in unexpected location.
Solution:   Compute 'scroll' when the window height is changed. (Luuk van
            Baal, closes #11387)
2022-10-17 14:22:03 +01:00
Doug Kearns
4ac8e7948c patch 9.0.0779: lsl and lm3 file extensions are not recognized
Problem:    lsl and lm3 file extensions are not recognized.
Solution:   Add *.lsl and *.lm3 patterns. (Doug Kearns, closes #11384)
2022-10-17 13:32:17 +01:00
Bram Moolenaar
4913d420e8 patch 9.0.0778: indexing of unknown const type fails during compilation
Problem:    Indexing of unknown const type fails during compilation.
Solution:   Check for "any" properly. (closes #11389)
2022-10-17 13:13:32 +01:00
Yegappan Lakshmanan
3f0092c141 patch 9.0.0777: code is indented too much
Problem:    Code is indented too much.
Solution:   Use an early return. (Yegappan Lakshmanan, closes #11386)
2022-10-16 21:43:07 +01:00
Bram Moolenaar
9d8620b519 patch 9.0.0776: MSVC can't have field name "small"
Problem:    MSVC can't have field name "small".
Solution:   Rename small to smallfont.
2022-10-16 20:24:16 +01:00
Christopher Plewright
2a46f81ec7 patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Problem:    MS-Windows: mouse scrolling not supported in the console.
Solution:   Add event handling for mouse scroll events. (Christopher
            Plewright, closes #11374)
2022-10-16 19:47:45 +01:00
Bram Moolenaar
6a12d26f34 patch 9.0.0774: the libvterm code is outdated
Problem:    The libvterm code is outdated.
Solution:   Include libvterm changes from revision 802 to 817.  Revert some
            changes made for C89.
2022-10-16 19:26:52 +01:00
Philip H
d094e580b0 patch 9.0.0773: huge build on macos uses dynamic Perl
Problem:    Huge build on macos uses dynamic Perl.
Solution:   Use built-in Perl, uninstall the brew one. (closes #11382)
2022-10-16 14:53:34 +01:00
Bram Moolenaar
501e77766c patch 9.0.0772: the libvterm code is outdated
Problem:    The libvterm code is outdated.
Solution:   Include libvterm changes from revision 790 to 801.
2022-10-16 14:35:46 +01:00
Bram Moolenaar
3c053a1a5a Update runtime files 2022-10-16 13:11:12 +01:00
Martin Tournoij
bd053f894b patch 9.0.0771: cannot always tell the difference beween tex and rexx files
Problem:    Cannot always tell the difference beween tex and rexx files.
Solution:   Recognize tex by a leading backslash. (Martin Tournoij,
            closes #11380)
2022-10-16 12:49:12 +01:00
Yegappan Lakshmanan
d8cd6f7427 patch 9.0.0770: quickfix commands may keep memory allocated
Problem:    Quickfix commands may keep memory allocated.
Solution:   Free memory when it's a bit much. (Yegappan Lakshmanan,
            closes #11379)
2022-10-16 11:30:48 +01:00
Bram Moolenaar
db4c94788a patch 9.0.0769: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-10-15 22:06:06 +01:00
Bram Moolenaar
5b148ef262 patch 9.0.0768: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-10-15 21:35:56 +01:00
Bram Moolenaar
c4860bdd28 patch 9.0.0767: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-10-15 20:52:26 +01:00
Bram Moolenaar
0e9bdad545 patch 9.0.0766: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-10-15 20:06:33 +01:00
Bram Moolenaar
36343ae0fb patch 9.0.0765: with a Visual block a put command column may go negative
Problem:    With a Visual block a put command column may go negative.
Solution:   Check that the column does not become negative.
2022-10-15 19:04:05 +01:00
Bram Moolenaar
c8b6735573 patch 9.0.0764: indent and option tests fail
Problem:    Indent and option tests fail.
Solution:   Change OP_INDENT.  Add entry to options test table.
2022-10-15 16:41:53 +01:00
Bram Moolenaar
a2e4e0fc3b patch 9.0.0763: MS-Windows: warning for using int for size_t
Problem:    MS-Windows: warning for using int for size_t.
Solution:   Declare variable as size_t.
2022-10-15 16:29:03 +01:00
Bram Moolenaar
4b082c4bd0 patch 9.0.0762: build failure
Problem:    Build failure.
Solution:   Add missing change.
2022-10-15 16:25:27 +01:00
Bram Moolenaar
49846fb1a3 patch 9.0.0761: cannot use 'indentexpr' for Lisp indenting
Problem:    Cannot use 'indentexpr' for Lisp indenting.
Solution:   Add the 'lispoptions' option.
2022-10-15 16:05:33 +01:00
Bram Moolenaar
297164cb79 patch 9.0.0760: display test for 'listchars' "precedes" fails
Problem:    Display test for 'listchars' "precedes" fails.
Solution:   Correct the expected result.
2022-10-15 14:24:29 +01:00
Philip H
fa7bb1d937 patch 9.0.0759: huge build on macos does not use Perl
Problem:    Huge build on macos does not use Perl.
Solution:   Re-enable the Perl interface using "dynamic". (closes #11375)
2022-10-15 14:17:37 +01:00
Bram Moolenaar
13cdde3952 patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Problem:    "precedes" from 'listchars' overwritten by <<< for 'smoothscroll'.
Solution:   Keep the "precedes" character.
2022-10-15 14:07:48 +01:00
Bram Moolenaar
eb4de62931 patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Problem:    Line number not visisble with 'smoothscroll', 'nu' and 'rnu'.
Solution:   Put the ">>>" after the line number instead of on top.
2022-10-15 13:42:17 +01:00
Shougo Matsushita
4ccaedfcd7 patch 9.0.0756: no autocmd event for changing text in a terminal window
Problem:    No autocmd event for changing text in a terminal window.
Solution:   Add TextChangedT. (Shougo Matsushita, closes #11366)
2022-10-15 11:48:00 +01:00
Bram Moolenaar
d988ef3a55 patch 9.0.0755: huge build on macos always fails on CI
Problem:    Huge build on macos always fails on CI.
Solution:   Temporarily disable the perl interface.
2022-10-15 10:54:27 +01:00
Bram Moolenaar
a79b35b578 patch 9.0.0754: 'indentexpr' overrules lisp indenting in one situation
Problem:    'indentexpr' overrules lisp indenting in one situation.
Solution:   Add "else" to keep the lisp indent. (issue #11327)
2022-10-15 10:49:36 +01:00
Yee Cheng Chin
b77bdce120 patch 9.0.0753: some Ex commands are not in the help index
Problem:    Some Ex commands are not in the help index.
Solution:   Add the missing commands.  Add a script to check all Ex commands
            are in the help index. (Yee Cheng Chin, closes #11371)
2022-10-15 10:22:19 +01:00
ObserverOfTime
7e120ffccb patch 9.0.0752: Rprofile files are not recognized
Problem:    Rprofile files are not recognized.
Solution:   Recognize Rprofile files as "r". (closes #11369)
2022-10-14 20:24:24 +01:00
Bram Moolenaar
c9121f798f patch 9.0.0751: 'scrolloff' does not work well with 'smoothscroll'
Problem:    'scrolloff' does not work well with 'smoothscroll'.
Solution:   Make positioning the cursor a bit better.  Rename functions.
2022-10-14 20:09:04 +01:00
Bram Moolenaar
0abd6cf62d patch 9.0.0750: crash when popup closed in callback
Problem:    Crash when popup closed in callback. (Maxim Kim)
Solution:   In syntax_end_parsing() check that syn_block is valid.
2022-10-14 17:04:09 +01:00
Yegappan Lakshmanan
975a665d48 patch 9.0.0749: alloc/free of buffer for each quickfix entry is inefficient
Problem:    Alloc/free of buffer for each quickfix entry is inefficient.
Solution:   Use a shared grow array. (Yegappan Lakshmanan, closes #11365)
2022-10-14 13:11:13 +01:00
Trygve Aaberge
b9c09c118e patch 9.0.0748: Kitty may send key without modifiers with CSI u code
Problem:    Kitty may send key without modifiers with CSI u code.
Solution:   Handle CSI u code without modifiers. (Trygve Aaberge,
            closes #11364)
2022-10-14 12:08:24 +01:00
Martin Tournoij
ba43e76fcd patch 9.0.0747: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Gradudate the +cmdline_info feature. (Martin Tournoij,
            closes #11330)
2022-10-13 22:12:15 +01:00
Bram Moolenaar
856c5d2bc7 patch 9.0.0746: breakindent test cases are commented out
Problem:    Breakindent test cases are commented out.
Solution:   Adjust expected result to slightly different behavior.  Correct
            computations for cursor position.
2022-10-13 21:54:28 +01:00
Bram Moolenaar
4b6172e108 patch 9.0.0745: wrong cursor position when using "gj" and "gk" in a long line
Problem:    Wrong cursor position when using "gj" and "gk" in a long line.
Solution:   Adjust computations for the cursor position and skipcol. Re-enable
            tests that pass now, disable failing breakindent test.
2022-10-13 20:23:28 +01:00
Bram Moolenaar
6c4d4a6444 patch 9.0.0744: in script in autoload dir exported variable is not found
Problem:    In script in autoload dir exported variable is not found. (Doug
            Kearns)
Solution:   Find the variable with the "script#" prefix. (closes #11361)
2022-10-13 17:47:42 +01:00
Bram Moolenaar
66b8d2a89e patch 9.0.0743: starting cscope on Unix does not quote the arguments right
Problem:    Starting cscope on Unix does not quote the arguments correctly.
            (Gary Johnson)
Solution:   Move the final quote after the arguments.
2022-10-13 16:34:30 +01:00
Bram Moolenaar
3558afe9e9 patch 9.0.0742: reading past end of the line when compiling a function
Problem:    Reading past end of the line when compiling a function with
            errors.
Solution:   Do not return an invalid pointer.  Fix skipping redirection.
2022-10-13 16:12:57 +01:00
Bram Moolenaar
d93009eb35 patch 9.0.0741: cannot specify an ID for each item with prop_add_list()
Problem:    Cannot specify an ID for each item with prop_add_list(). (Sergey
            Vlasov)
Solution:   Add an optional fifth number to the item. (closes #11360)
2022-10-13 14:35:24 +01:00
Bram Moolenaar
4997f2a605 patch 9.0.0740: prop_add_list() gives multiple errors for invalid argument
Problem:    prop_add_list() gives multiple errors for invalid argument.
Solution:   Only give one error message.
2022-10-13 14:00:45 +01:00
Yee Cheng Chin
17822c507c patch 9.0.0739: mouse column not correctly used for popup_setpos
Problem:    Mouse column not correctly used for popup_setpos.
Solution:   Adjust off-by-one error and handle Visual line selection properly.
            (Yee Cheng Chin, closes #11356)
2022-10-13 13:17:40 +01:00
=?UTF-8?q?Bj=C3=B6rn=20Linse?=
91ccbad5de patch 9.0.0738: cannot suppress completion "scanning" messages
Problem:    Cannot suppress completion "scanning" messages.
Solution:   Add the "C" flag in 'shortmess'. (Bjorn Linse, closes #11354)
2022-10-13 12:51:13 +01:00
Bram Moolenaar
d26c5805bc patch 9.0.0737: Lisp word only recognized when a space follows
Problem:    Lisp word only recognized when a space follows.
Solution:   Also match a word at the end of a line.  Rename the test.  Use a
            compiled function to avoid backslashes.
2022-10-13 12:30:08 +01:00
Yegappan Lakshmanan
f8412c9d7c patch 9.0.0736: quickfix listing does not handle very long messages
Problem:    Quickfix listing does not handle very long messages.
Solution:   Use a growarray instead of a fixed size buffer. (Yegappan
            Lakshmanan, closes #11357)
2022-10-13 11:59:22 +01:00
Bram Moolenaar
e42033e735 patch 9.0.0735: breakindent and scrolloff tests fail
Problem:    Breakindent and scrolloff tests fail.
Solution:   Temporarily skip the assertions.
2022-10-12 21:32:42 +01:00
Bram Moolenaar
2fbabd238a patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Problem:    Cursor position invalid when scrolling with 'smoothscroll' set.
            (Ernie Rael)
Solution:   Add w_valid_skipcol and clear flags when it changes.  Adjust
            w_skipcol after moving the cursor.
2022-10-12 19:53:38 +01:00
Dominique Pelle
84d14ccdb5 patch 9.0.0733: use of strftime() is not safe
Problem:    Use of strftime() is not safe.
Solution:   Check the return value of strftime().  Use a larger buffer and
            correctly pass the available space. (Dominique Pellé, closes
            #11348)
2022-10-12 13:30:25 +01:00
Bram Moolenaar
d987642626 patch 9.0.0732: no check for white space before and after "=<<"
Problem:    No check for white space before and after "=<<". (Doug Kearns)
Solution:   Check for white space in Vim9 script. (closes #11351)
2022-10-12 12:58:54 +01:00
dundargoc
af40f9af33 patch 9.0.0731: clang-tidy configuration files are not recognized
Problem:    clang-tidy configuration files are not recognized.
Solution:   Recognize clang-tidy files as yaml. (closes #11350)
2022-10-12 12:09:40 +01:00
Bram Moolenaar
9ce7915d06 patch 9.0.0730: startup test fails with right-left feature
Problem:    Startup test fails with right-left feature.
Solution:   Do not delete test file too early.
2022-10-12 11:54:34 +01:00
Bram Moolenaar
ae906c8b1b patch 9.0.0729: the rightleft and arabic features are disabled
Problem:    The rightleft and arabic features are disabled.
Solution:   Re-enable the features, some users want to use the functionality.
2022-10-12 11:12:49 +01:00
Bram Moolenaar
a4962cd7ba patch 9.0.0728: extend() test fails
Problem:    extend() test fails.
Solution:   Item is final, not const.
2022-10-11 23:12:59 +01:00
Bram Moolenaar
7c6cd44375 patch 9.0.0727: help in the repository differs from patched version too much
Problem:    Help in the repository differs from patched version too much.
Solution:   Make a patch for a few help files.
2022-10-11 21:54:04 +01:00
Bram Moolenaar
159b2d5bfc patch 9.0.0726: looping over list of lists works in script, not in function
Problem:    Looping over list of lists and changing the list contents works in
            Vim9 script, not in a compiled function.
Solution:   Mark the loop variable final instead of const. (closes #11347)
2022-10-11 21:41:25 +01:00
Bram Moolenaar
7e017461e2 patch 9.0.0725: virtual text "after" wraps to next line when 'wrap' is off
Problem:    Virtual text "after" wraps to next line even when 'wrap' is off
            and 'list' is set.
Solution:   Do not use the minimum width when 'wrap' is off. (issue #11336)
2022-10-11 21:02:09 +01:00
Bram Moolenaar
a275f2cdcc patch 9.0.0724: closure in compiled function gets same variable in block
Problem:    Closure in compiled function gets same variable in block.
Solution:   At the end of a block to not always reset the variable count.
            (issue #11094)
2022-10-11 20:04:09 +01:00
Bram Moolenaar
a9a364872e patch 9.0.0723: extra empty line below virtual text when 'list' is set
Problem:    Extra empty line below virtual text when 'list' is set.
Solution:   Do not reset lcs_eol_one but set text_prop_follows. (closes #11339)
2022-10-11 16:47:22 +01:00
Bram Moolenaar
877151b3d8 patch 9.0.0722: virtual text "after" does not show with 'list' set
Problem:    Virtual text "after" does not show with 'list' set.
Solution:   Do not break out of the loop when another text prop follows.
            (closes #11337)
2022-10-11 15:29:50 +01:00
Bram Moolenaar
9466fb8001 patch 9.0.0721: virtual text "above" with padding not displayed correctly
Problem:    Virtual text "above" with padding not displayed correctly.
Solution:   Take padding into account when truncating. (closes #11340)
2022-10-11 14:54:42 +01:00
Bram Moolenaar
0c502d2e70 patch 9.0.0720: MS-Windows GUI may have pixel dust from antialiasing
Problem:    MS-Windows GUI may have pixel dust from antialiasing.
Solution:   When a character changes also redraw the next one. (issue #8532)
2022-10-11 12:48:44 +01:00
Bram Moolenaar
56564964e6 patch 9.0.0719: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-10-10 22:39:42 +01:00
Bram Moolenaar
ccf2837a05 patch 9.0.0718: extra empty line between two virtual text "below"
Problem:    Extra empty line between two virtual text "below" when 'wrap' and
            'number' are set.
Solution:   Reset "before" when there is no text in the screen line.
            (closes #11334)
2022-10-10 21:10:03 +01:00
Bram Moolenaar
d3283fba25 patch 9.0.0717: compiler warning for unused variable in tiny build
Problem:    Compiler warning for unused variable in tiny build.
Solution:   Add #ifdefs.
2022-10-10 20:33:25 +01:00
Bram Moolenaar
cd105417a5 patch 9.0.0716: with 'nowrap' virtual text "after" does not scroll left
Problem:    With 'nowrap' virtual text "after" does not scroll left.
Solution:   Skip part of the virtual text that is left of the window.
            (closes #11320)  Fix going beyond the last column of the window.
2022-10-10 19:50:42 +01:00
Bram Moolenaar
801cd35e7e patch 9.0.0715: wrong argument for append() gives two error messages
Problem:    Wrong argument for append() gives two error messages.
Solution:   When getting an error for a number argument don't try using it as
            a string. (closes #11335)
2022-10-10 16:08:16 +01:00
Bram Moolenaar
1206c163db patch 9.0.0714: with 'nowrap' two virtual text below not displayed correctly
Problem:    With 'nowrap' two virtual text below not displayed correctly.
Solution:   Set text_prop_follows before continuing.  Correct for number
            column. (closes #11333)
2022-10-10 15:40:04 +01:00
zeertzjq
c601d988b6 patch 9.0.0713: <amatch> of MenuPopup event is expanded like a file name
Problem:    <amatch> of MenuPopup event is expanded like a file name.
Solution:   Do not expand <amatch> for MenuPopup. (closes #11328)
2022-10-10 13:46:15 +01:00
Bram Moolenaar
79f234499b patch 9.0.0712: wrong column when calling setcursorcharpos() with zero lnum
Problem:    Wrong column when calling setcursorcharpos() with zero lnum.
Solution:   Set the line number before calling buf_charidx_to_byteidx().
            (closes #11329)
2022-10-10 12:42:57 +01:00
ObserverOfTime
084f2620ec patch 9.0.0711: SubStation Alpha files are not recognized
Problem:    SubStation Alpha files are not recognized.
Solution:   Add patterns for SubStation Alpha files. (closes #11332)
2022-10-10 12:08:59 +01:00
Yee Cheng Chin
4282633ba6 patch 9.0.0710: quitting/unloading/hiding a terminal does not work properly
Problem:    Quitting/unloading/hiding a terminal buffer does not always work
            properly.
Solution:   Avoid that ":q!" leaves an empty buffer behind.  ":bunload!" also
            kills the job and unloads the buffer.  ":hide" does not unload the
            buffer. (Yee Cheng Chin, closes #11323)
2022-10-10 11:46:16 +01:00
Bram Moolenaar
f167c7b424 patch 9.0.0709: virtual text "after" not correct with 'nowrap'
Problem:    Virtual text "after" not correct with 'nowrap'.
Solution:   Do not display "after" text prop on the next line when 'wrap' is
            off.
2022-10-09 21:53:58 +01:00
Yee Cheng Chin
15b314ffbb patch 9.0.0708: :confirm does not work properly for a terminal buffer
Problem:    :confirm does not work properly for a terminal buffer.
Solution:   Handle :confirm for a terminal buffer differently.  (Yee Cheng
            Chin, closes #11312)
2022-10-09 18:53:32 +01:00
Bram Moolenaar
118c235112 patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Problem:    With 'smoothscroll' and 'scrolloff' non-zero the cursor position
            is not properly adjusted in a long line.
Solution:   Move the cursor further up or down in the line.
2022-10-09 17:19:27 +01:00
Bram Moolenaar
28f7e701b7 patch 9.0.0706: :help in a narrow window always opens at the top
Problem:    :help in a narrow window always opens at the top.
Solution:   Respect 'splitbelow'. (closes #11319)
2022-10-09 15:54:53 +01:00
Bram Moolenaar
13845c48d8 patch 9.0.0705: virtual text truncation does not take padding into account
Problem:    Virtual text truncation does not take padding into account.
Solution:   Subtract the padding from the available space. (closes #11318)
2022-10-09 15:26:03 +01:00
Naruhiko Nishino
b7af5a0445 patch 9.0.0704: CI runs "tiny" and "small" builds, which are the same
Problem:    CI runs "tiny" and "small" builds, which are the same.
Solution:   Remove the "small" build. (Naruhiko Nishino, closes #11315)
2022-10-09 13:28:36 +01:00
Bram Moolenaar
330d64d32c patch 9.0.0703: failing check for argument type for const any
Problem:    Failing check for argument type for const any.
Solution:   Check for any type properly. (closes #11316)
2022-10-09 12:55:33 +01:00
zeertzjq
30c0c467d6 patch 9.0.0702: incomplete testing cursor position with 'linebreak' set
Problem:    Incomplete testing cursor position after change with 'linebreak'
            set.
Solution:   Add a test and move test cases together. (closes #11313)
2022-10-09 11:44:28 +01:00
Bram Moolenaar
8cf3459878 patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Problem:    With 'smoothscroll' the cursor position s not adjusted in a long
            line.
Solution:   Move the cursor further up or down in the line.
2022-10-08 21:13:40 +01:00
Martin Tournoij
25f3a146a0 patch 9.0.0700: there is no real need for a "big" build
Problem:    There is no real need for a "big" build.
Solution:   Move common features to "normal" build, less often used features
            to the "huge" build. (Martin Tournoij, closes #11283)
2022-10-08 19:26:41 +01:00
Bram Moolenaar
bf499c0e6f patch 9.0.0699: tiny build fails
Problem:    Tiny build fails.
Solution:   Add #ifdef.
2022-10-08 17:55:32 +01:00
Martin Tournoij
251c1e2ed8 patch 9.0.0698: VisVim is outdated, does not work with current Visual Studio
Problem:    VisVim is outdated, does not work with current Visual Studio.
Solution:   Remove VisVim. (Martin Tournoij)
2022-10-08 17:15:28 +01:00
Bram Moolenaar
16dab41537 patch 9.0.0697: cursor in wrong position with Visual substitute
Problem:    Cursor in wrong position with Visual substitute.
Solution:   When restoring 'linebreak' mark the virtual column as invalid.
            (closes #11309, closes #11311)
2022-10-08 16:41:32 +01:00
Bram Moolenaar
fbdce18500 patch 9.0.0696: it is unclear if the +rightleft and +arabic features are used
Problem:    It is unclear if the +rightleft and +arabic features are actively
            being used.
Solution:   Disable the features, await feedback.
2022-10-08 15:30:55 +01:00
Bram Moolenaar
0089ce293f patch 9.0.0695: failing check for dictionary type for const any
Problem:    Failing check for dictionary type for const any.
Solution:   Check for any type properly. (closes #11310)
2022-10-08 14:39:36 +01:00
Yee Cheng Chin
4314e4f7da patch 9.0.0694: no native sound support on Mac OS
Problem:    No native sound support on Mac OS.
Solution:   Add sound support for Mac OS. (Yee Cheng Chin, closes #11274)
2022-10-08 13:50:05 +01:00
Bram Moolenaar
5a049846e4 patch 9.0.0693: browse() first argument cannot be a bool
Problem:    browse() first argument cannot be a bool.
Solution:   Use tv_get_bool_chk() instead of tv_get_number_chk().
            (closes #11308)
2022-10-08 12:52:09 +01:00
ObserverOfTime
b7f52f5659 patch 9.0.0692: PoE filter files are not recognized
Problem:    PoE filter files are not recognized.
Solution:   Add a pattern to detect PoE filter files. (closes #11305)
2022-10-08 12:20:28 +01:00
Bram Moolenaar
2b7b4f7670 patch 9.0.0691: lalloc(0) error in listchars test
Problem:    lalloc(0) error in listchars test.
Solution:   Skip generating text for tab if tab_len is zero.
2022-10-08 11:46:02 +01:00
Bram Moolenaar
a0789478f6 patch 9.0.0690: buffer size for expanding tab not correctly computed
Problem:    Buffer size for expanding tab not correctly computed.
Solution:   Correctly use size of end character.
2022-10-08 11:16:40 +01:00
Bram Moolenaar
fcb86b0a99 patch 9.0.0689: compiler warning for unused function
Problem:    Compiler warning for unused function.
Solution:   Add #ifdef. (John Marriott)
2022-10-07 22:46:24 +01:00
Bram Moolenaar
33b55b562b patch 9.0.0688: debugger does not display the whole command
Problem:    Debugger does not display the whole command.
Solution:   Set ea.cmd before checking for a breakpoint.
2022-10-07 18:51:23 +01:00
Bram Moolenaar
5ab300195b patch 9.0.0687: "export def" does not work in a nested block
Problem:    "export def" does not work in a nested block.
Solution:   Do not handle "export" with a separate function but in the same
            command stack. (closes #11304)
2022-10-07 17:26:22 +01:00
Anton Sharonov
8d8b9758ce patch 9.0.0686: the right ALT key does not work on some MS-Windows keyboards
Problem:    The right ALT key does not work on some MS-Windows keyboards.
Solution:   Adjust the modifiers based on GetKeyState(). (Anoton Sharonov,
            closes #11300)
2022-10-07 16:28:48 +01:00
Yee Cheng Chin
07eaa1ede4 patch 9.0.0685: FORTIFY_SOURCE causes a crash in Vim9 script
Problem:    FORTIFY_SOURCE causes a crash in Vim9 script.
Solution:   Use a pointer to the first char. (Yee Cheng Chin, closes #11302)
2022-10-07 16:00:04 +01:00
Bram Moolenaar
2eae3d24d7 patch 9.0.0684: skipped :exe command fails compilation on MS-Windows
Problem:    Skipped :exe command fails compilation on MS-Windows.
Solution:   Adjust return value when skipping.
2022-10-07 15:09:27 +01:00
Bram Moolenaar
bdc09a18fc patch 9.0.0683: cannot specify a time for :echowindow
Problem:    Cannot specify a time for :echowindow.
Solution:   A count can be used to specify the display time. Add
            popup_findecho().
2022-10-07 14:31:45 +01:00
Bram Moolenaar
cf3d0eaf47 patch 9.0.0682: crash when popup with deleted timer is closed
Problem:    Crash when popup with deleted timer is closed. (Igbanam
            Ogbuluijah)
Solution:   Check the timer still exists. (closes #11301)
2022-10-07 11:20:29 +01:00
Bram Moolenaar
0937b9fb24 patch 9.0.0681: "<<<" shows for 'smoothscroll' even when 'showbreak is set
Problem:    "<<<" shows for 'smoothscroll' even when 'showbreak is set.
Solution:   When 'showbreak' is set do not display "<<<".
2022-10-06 21:24:34 +01:00
Bram Moolenaar
3725116f6e patch 9.0.0680: tests failing with 'breakindent', 'number' and "n" in 'cpo'
Problem:    Tests failing with 'breakindent', 'number' and "n" in 'cpo'.
Solution:   Do count the number column in topline if 'breakindent' is set.
2022-10-06 20:48:00 +01:00
Bram Moolenaar
35b251d2c2 patch 9.0.0679: tests failing with 'smoothscroll', 'number' and "n" in 'cpo'
Problem:    Tests failing with 'smoothscroll', 'number' and "n" in 'cpo'.
Solution:   Do not count number column in topline if columns are skipped.
2022-10-06 20:18:16 +01:00
Bram Moolenaar
97f0eb169b patch 9.0.0678: using exclamation marks on :function
Problem:    Using exclamation marks on :function.
Solution:   Use :func and :endfunc as usual.
2022-10-06 19:49:13 +01:00
Bram Moolenaar
06618f94f1 patch 9.0.0677: breakindent test accepts wrong result
Problem:    Breakindent test accepts wrong result.
Solution:   Fix the number column and adjust the expected text.
2022-10-06 19:21:20 +01:00
ichizok
d459020c62 patch 9.0.0676: CI on Mac M1 with gcc actually uses clang
Problem:    CI on Mac M1 with gcc actually uses clang.
Solution:   Remove the gcc task. (Ozaki Kiichi, closes #11297)
2022-10-06 16:56:44 +01:00
Bram Moolenaar
851907a7ab patch 9.0.0675: search test screendump is outdated
Problem:    Search test screendump is outdated.
Solution:   Update the screendump for improved display.
2022-10-06 16:33:15 +01:00
Bram Moolenaar
4d31b48a11 patch 9.0.0674: build error with tiny version
Problem:    Build error with tiny version.
Solution:   Use PLINES_NOFILL macro.
2022-10-06 16:03:09 +01:00
Bram Moolenaar
46b54747c5 patch 9.0.0673: first line wong with 'smoothscroll' and 'scrolloff' zero
Problem:    First line not scrolled properly with 'smoothscroll' and
            'scrolloff' zero and using "k".
Solution:   Make sure the cursor position is visible.
2022-10-06 15:46:49 +01:00
Bram Moolenaar
9bab7a0243 patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Problem:    Cursor line only partly shows with 'smoothscroll' and 'scrolloff'
            zero.
Solution:   Do not use 'smoothscroll' when adjusting the bottom of the window.
            (closes #11269)
2022-10-06 14:57:53 +01:00
Bram Moolenaar
1a58e1d97c patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Problem:    Negative topline using CTRL-Y with 'smoothscroll' and 'diff'.
            (Ernie Rael)
Solution:   Only use 'smoothscroll' when 'wrap' is set.
2022-10-06 13:09:17 +01:00
Bram Moolenaar
c9f5f73206 patch 9.0.0670: no space for command line when there is a tabline
Problem:    No space for command line when there is a tabline.
Solution:   Correct computation of where the command line should be.
            (closes #11295)
2022-10-06 11:39:06 +01:00
Bram Moolenaar
db77cb3c08 patch 9.0.0669: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-10-05 21:45:30 +01:00
Philip H
3ff71cda98 patch 9.0.0668: CI on Mac M1 only uses clang
Problem:    CI on Mac M1 only uses clang
Solution:   Also run with gcc. (closes #11263)
2022-10-05 20:41:01 +01:00
Luuk van Baal
346823d3e5 patch 9.0.0667: ml_get error when 'splitkeep' is "screen"
Problem:    ml_get error when 'splitkeep' is "screen". (Marius Gedminas)
Solution:   Check the botline is not too large. (Luuk van Baal,
            closes #11293, closes #11292)
2022-10-05 18:26:42 +01:00
Bram Moolenaar
7beaf6a720 patch 9.0.0666: spacing-combining characters handled as composing
Problem:    Spacing-combining characters handled as composing, causing text to
            take more space than expected.
Solution:   Handle characters marked with "Mc" not as composing.
            (closes #11282
2022-10-05 18:03:00 +01:00
Bram Moolenaar
0816f473ab patch 9.0.0665: setting 'cmdheight' has no effect if last window was resized
Problem:    Setting 'cmdheight' has no effect if last window was resized.
Solution:   Do apply 'cmdheight' when told to.  Use the frame height instead
            of the cmdline_row.  (closes #11286)
2022-10-05 15:42:32 +01:00
Bram Moolenaar
f3ef026c98 patch 9.0.0664: bad redrawing with spell checking, using "C" and "$" in 'cpo'
Problem:    Bad redrawing with spell checking, using "C" and "$" in 'cpo'.
Solution:   Do not redraw the next line when "$" is in 'cpo'. (closes #11285)
2022-10-05 13:29:15 +01:00
zeertzjq
d195598714 patch 9.0.0663: tests check for +cmdwin feature which is always present
Problem:    Tests check for +cmdwin feature which is always present.
Solution:   Remove the checks. (closes #11287)
2022-10-05 11:24:46 +01:00
Bram Moolenaar
7500866182 patch 9.0.0662: concealed characters do not work correctly
Problem:    Concealed characters do not work correctly.
Solution:   Subtract boguscols instead of adding them. (closes #11273)
2022-10-04 22:40:56 +01:00
zeertzjq
18b3500b8c patch 9.0.0661: multi-byte "lastline" in 'fillchars' does not work properly
Problem:    Multi-byte "lastline" item in 'fillchars' does not work properly
            when the window is two columns wide.
Solution:   Compute the text length correctly. (closes #11280)
2022-10-04 20:35:37 +01:00
zeertzjq
2cd0f27b75 patch 9.0.0660: mapping with CTRL keys does not work in the GUI
Problem:    Mapping with CTRL keys does not work in the GUI.
Solution:   Recognize CSI next to K_SPECIAL. (closes #11275, closes #11270)
2022-10-04 20:14:28 +01:00
Bram Moolenaar
caf05f504e patch 9.0.0659: wrong type of comment in SetSyn() function
Problem:    Wrong type of comment in SetSyn() function.
Solution:   Use Vim9 comment. (closes #11278)
2022-10-04 18:42:10 +01:00
Bram Moolenaar
351523f893 patch 9.0.0658: tiny build fails on Mac OS
Problem:    Tiny build fails on Mac OS.
Solution:   Define FEAT_CLIPBOARD only for normal build.
2022-10-04 16:50:21 +01:00
Martin Tournoij
7904fa420e patch 9.0.0657: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate the +cmdwin feature.  Now the tiny and small builds are
            equal, drop the small build.  (Martin Tournoij, closes #11268)
2022-10-04 16:28:45 +01:00
Bram Moolenaar
4ba5f1dab6 patch 9.0.0656: cannot specify another character to use instead of '@'
Problem:    Cannot specify another character to use instead of '@' at the end
            of the window.
Solution:   Add "lastline" to 'fillchars'. (Martin Tournoij, closes #11264,
            closes #10963)
2022-10-04 14:36:29 +01:00
Bram Moolenaar
2f7e1b8b40 patch 9.0.0655: passing modifier codes to a shell running in the GUI
Problem:    passing modifier codes to a shell running in the GUI. (Gary
            Johnson)
Solution:   Include modifier codes into the key and drop the modifiers.
2022-10-04 13:17:31 +01:00
Bram Moolenaar
ec32c781a2 patch 9.0.0654: breakindent test fails
Problem:    Breakindent test fails.
Solution:   Temporarily accept wrong result.
2022-10-03 22:10:37 +01:00
Bram Moolenaar
01c34e7d10 patch 9.0.0653: BS and DEL do not work properly in an interacive shell
Problem:    BS and DEL do not work properly in an interacive shell. (Gary
            Johnson)
Solution:   Adjust the length for replaced codes.
2022-10-03 20:24:39 +01:00
Bram Moolenaar
b6aab8f44b patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Problem:    'smoothscroll' not tested with 'number' and "n" in 'cpo'.
Solution:   Add tests, fix uncovered problem.
2022-10-03 20:01:16 +01:00
Bram Moolenaar
f269eabc6c Update runtime files 2022-10-03 18:04:35 +01:00
Bram Moolenaar
eb47d6d20a patch 9.0.0651: build fails without the +conceal feature
Problem:    Build fails without the +conceal feature.
Solution:   Rename called function.
2022-10-03 17:45:55 +01:00
Bram Moolenaar
0466d398a5 patch 9.0.0650: some tests are failing
Problem:    Some tests are failing.
Solution:   Adjust for "<<<" showing up.
2022-10-03 17:07:34 +01:00
Bram Moolenaar
406b5d89e1 patch 9.0.0649: no indication the first line is broken for 'smoothscroll'
Problem:    No indication when the first line is broken for 'smoothscroll'.
Solution:   Show "<<<" in the first line.
2022-10-03 16:44:12 +01:00
Yegappan Lakshmanan
0a016671b9 patch 9.0.0648: when using powershell input redirection does not work
Problem:    When using powershell input redirection does not work.
Solution:   Use a different shell command for powershell. (Yegappan
            Lakshmanan, closes #11257)
2022-10-03 16:05:28 +01:00
Luuk van Baal
13ece2ae1d patch 9.0.0647: the 'splitscroll' option is not a good name
Problem:    The 'splitscroll' option is not a good name.
Solution:   Rename 'splitscroll' to 'splitkeep' and make it a string option,
            also supporting "topline". (Luuk van Baal, closes #11258)
2022-10-03 15:28:08 +01:00
Bram Moolenaar
6b2d4ff714 patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Problem:    with 'smoothscroll' set CTRL-E does not work properly when
            'foldmethod' is set to "indent". (Yee Cheng Chin)
Solution:   Merge the code for scroling with folds and 'smoothscroll'.
            (closes #11262)
2022-10-03 14:06:02 +01:00
Bram Moolenaar
8df9748edb patch 9.0.0645: CTRL-Y does not stop at line 1
Problem:    CTRL-Y does not stop at line 1. (John Marriott)
Solution:   Stop at line 1 when 'smoothscroll' is not set. (closes #11261)
2022-10-03 12:11:13 +01:00
Bram Moolenaar
b1fd26d208 patch 9.0.0644: 'smoothscroll' is not copied to a new window on :split
Problem:    'smoothscroll' is not copied to a new window on :split.
Solution:   Copy the option value.  Add a test.
2022-10-03 11:23:02 +01:00
Bram Moolenaar
b34c4b7863 patch 9.0.0643: smoothscroll test fails
Problem:    Smoothscroll test fails.
Solution:   Check if skipcol changed.
2022-10-02 22:32:08 +01:00
Bram Moolenaar
693729ae58 patch 9.0.0642: breakindent test fails
Problem:    Breakindent test fails.
Solution:   Correct logic for resetting need_showbreak.
2022-10-02 22:10:25 +01:00
Bram Moolenaar
bbbda8fd81 patch 9.0.0641: missing part of the new option code
Problem:    Missing part of the new option code.
Solution:   Add missing WV_SMS.
2022-10-02 21:46:58 +01:00
Bram Moolenaar
f6196f4244 patch 9.0.0640: cannot scroll by screen line if a line wraps
Problem:    Cannot scroll by screen line if a line wraps.
Solution:   Add the 'smoothscroll' option.  Only works for CTRL-E and CTRL-Y
            so far.
2022-10-02 21:29:55 +01:00
Bram Moolenaar
ff85d4a107 patch 9.0.0639: checking for popup in screen_char() is too late
Problem:    Checking for popup in screen_char() is too late, the attribute has
            already been changed.
Solution:   Move check for popup to where screen_char() is called.
2022-10-02 15:21:04 +01:00
Bram Moolenaar
393f8d61f5 patch 9.0.0638: popup menu highlight wrong on top of preview popup
Problem:    Popup menu highlight wrong on top of preview popup. (Yegappan
            Lakshmanan)
Solution:   Also check for the popup menu in screen_line().
2022-10-02 14:28:30 +01:00
Bram Moolenaar
eda29c971c patch 9.0.0637: syntax of commands in Vim9 script depends on +eval feature
Problem:    Syntax of commands in Vim9 script depends on +eval feature.
Solution:   Use same syntax with and without the +eval feature.
2022-10-02 12:59:00 +01:00
Bram Moolenaar
b393275ae9 patch 9.0.0636: underline color may not work in some terminals
Problem:    Underline color does not work in terminals that don't send a
            termresponse.
Solution:   Do output t_8u if it was set explicitly. (closes #11253)
2022-10-01 21:22:17 +01:00
Bram Moolenaar
3292a22940 patch 9.0.0635: build error and compiler warnings
Problem:    Build error and compiler warnings.
Solution:   Add missing change.  Add type casts.
2022-10-01 20:17:17 +01:00
Bram Moolenaar
a4e0b9785e patch 9.0.0634: evaluating "expr" options has more overhead than needed
Problem:    Evaluating "expr" options has more overhead than needed.
Solution:   Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr',
            "expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr',
            'formatexpr', 'indentexpr' and 'charconvert'.
2022-10-01 19:43:52 +01:00
rbtnn
b850c39676 patch 9.0.0633: FEAT_TITLE was removed but is still used
Problem:    FEAT_TITLE was removed but is still used.
Solution:   Remove FEAT_TITLE. (Naruhiko Nishino, closes #11256)
2022-10-01 15:47:04 +01:00
Bram Moolenaar
87b4e5c5db patch 9.0.0632: calling a function from an "expr" option has overhead
Problem:    Calling a function from an "expr" option has too much overhead.
Solution:   Add call_simple_func() and use it for 'foldexpr'
2022-10-01 15:32:46 +01:00
Bram Moolenaar
145d1fd910 patch 9.0.0631: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-09-30 21:57:11 +01:00
Bram Moolenaar
cfb4d4f312 patch 9.0.0630: in Vim9 script a numbered function cannot be called
Problem:    In Vim9 script a numbered function cannot be called.
Solution:   Do not require "g:" before a numbered function name.
            (closes #11254)
2022-09-30 19:19:04 +01:00
Bram Moolenaar
a5d1a67bee patch 9.0.0629: get an error for using const only when executing
Problem:    Get an error for using const only when executing.
Solution:   Check for const at compile time for filter(), map(), remove(),
            reverse(), sort() and uniq().
2022-09-30 17:57:47 +01:00
Bram Moolenaar
d0121c63cf patch 9.0.0628: Coverity warns for not checking return value
Problem:    Coverity warns for not checking return value.
Solution:   Check the return value and simplify the code.
2022-09-30 12:00:06 +01:00
Bram Moolenaar
6586a01514 patch 9.0.0627: "const" and "final" both make the type a constant
Problem:    "const" and "final" both make the type a constant. (Daniel
            Steinberg)
Solution:   Only have "const" make the type a constant.
2022-09-30 11:04:50 +01:00
Bram Moolenaar
b152b6a40f patch 9.0.0626: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-09-29 21:37:33 +01:00
Bram Moolenaar
7dd5a78b88 patch 9.0.0625: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-09-29 21:01:57 +01:00
Bram Moolenaar
ac38ec7c7f patch 9.0.0624: leaking argument type array
Problem:    Leaking argument type array.
Solution:   Add allocated memory to type_gap.
2022-09-29 20:23:35 +01:00
Bram Moolenaar
fa1039760e patch 9.0.0623: error for modifying a const is not detected at compile time
Problem:    Error for modifying a const is not detected at compile time.
Solution:   Add TTFLAG_CONST and check for it in add() and extend().
2022-09-29 19:14:42 +01:00
Bram Moolenaar
9f573a8df0 patch 9.0.0622: matchaddpos() can get slow when adding many matches
Problem:    matchaddpos() can get slow when adding many matches.
Solution:   Update the next available match ID when manually picking an ID and
            remove check if the available ID can be used. (idea by Rick Howe)
2022-09-29 13:50:08 +01:00
Dominique Pelle
fc06cda837 patch 9.0.0621: filetype test leaves file behind
Problem:    Filetype test leaves file behind.
Solution:   Add deferred delete flag to writefile(). (Dominique Pellé,
            closes #11249)
2022-09-29 13:07:18 +01:00
Bram Moolenaar
50faf02f43 patch 9.0.0620: matchaddpos() can only add up to 8 matches
Problem:    matchaddpos() can only add up to 8 matches.
Solution:   Allocate the array of positions. (closes #11248)
2022-09-29 12:50:17 +01:00
Bram Moolenaar
572a4433c8 patch 9.0.0619: too many delete() calls in tests
Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
2022-09-28 21:07:03 +01:00
Bram Moolenaar
82418263fa patch 9.0.0618: calling function for reduce() has too much overhead
Problem:    Calling function for reduce() has too much overhead.
Solution:   Do not create a funccall_T every time.
2022-09-28 16:16:15 +01:00
Bram Moolenaar
1936c76536 patch 9.0.0617: calling function for reduce() has too much overhead
Problem:    Calling function for reduce() has too much overhead.
Solution:   Only call clear_tv() when needed.
2022-09-28 15:19:10 +01:00
Bram Moolenaar
371951d0c3 patch 9.0.0616: spell test fails because error message changed
Problem:    Spell test fails because error message changed.
Solution:   Adjust expected error message.
2022-09-28 14:08:23 +01:00
Bram Moolenaar
52df40eb04 patch 9.0.0615: using reduce() on a list from range() is a bit slow
Problem:    Using reduce() on a list from range() is a bit slow.
Solution:   Avoid materializing the list.
2022-09-28 13:22:59 +01:00
Bram Moolenaar
ef976323e7 patch 9.0.0614: SpellFileMissing autocmd may delete buffer
Problem:    SpellFileMissing autocmd may delete buffer.
Solution:   Disallow deleting the current buffer to avoid using freed memory.
2022-09-28 11:48:30 +01:00
Dominique Pelle
caa1d19da1 patch 9.0.0613: running source tests leaves file behind
Problem:    Running source tests leaves file behind.
Solution:   Add the "D" flag to writefile(). (Dominique Pellé, closes #11243)
            Also do this for other writefile() calls and drop delete().
2022-09-28 10:45:15 +01:00
Bram Moolenaar
47da934844 patch 9.0.0612: blockedit test passes with wrong result
Problem:    Blockedit test passes with wrong result.
Solution:   Add a "vim9script" line to make indenting work.
2022-09-27 22:18:13 +01:00
Bram Moolenaar
70e672580b patch 9.0.0611: tests delete files with a separate delete() call
Problem:    Tests delete files with a separate delete() call.
Solution:   Use deferred delete.
2022-09-27 19:34:35 +01:00
Bram Moolenaar
859ea4bc76 patch 9.0.0610: global interrupt test fails when run under valgrind
Problem:    Global interrupt test fails when run under valgrind.
Solution:   Use TermWait().
2022-09-27 18:05:38 +01:00
Bram Moolenaar
66000ff9af patch 9.0.0609: blockedit test fails because of wrong indent
Problem:    Blockedit test fails because of wrong indent.
Solution:   Adjust the expected text temporarily
2022-09-27 17:47:12 +01:00
Bram Moolenaar
9fbdbb814f Update runtime files 2022-09-27 17:30:34 +01:00
Bram Moolenaar
26f09ea54b patch 9.0.0608: with spelling, deleting a full stop does not update next line
Problem:    With spell checking, deleting a full stop at the end of a line
            does not update SpellCap at the start of the next line.
Solution:   Update the next line when characters have been deleted.  Also when
            using undo.
2022-09-27 16:29:38 +01:00
Bram Moolenaar
f802767df7 patch 9.0.0607: verbose echo message test fails on Mac OS
Problem:    Verbose echo message test fails on Mac OS.
Solution:   Skip the test on Mac OS.
2022-09-27 15:55:43 +01:00
Bram Moolenaar
524c853e5e patch 9.0.0606: system() opens a terminal window when "!" is in 'guioptions'
Problem:    system() opens a terminal window when using the GUI and "!" is in
            'guioptions'.
Solution:   Do not use a terminal window when the SHELL_SILENT flag is used.
            (closes #11202)
2022-09-27 15:48:20 +01:00
Luuk van Baal
439a2ba174 patch 9.0.0605: dump file missing
Problem:    Dump file missing.
Solution:   Add the missing dump file. (issue #11234)
2022-09-27 15:06:46 +01:00
ObserverOfTime
49c311c9b1 patch 9.0.0604: luacheckrc file is not recognized
Problem:    Luacheckrc file is not recognized.
Solution:   Use lua filetype for luacheckrc. (closes #11236)
2022-09-27 13:07:05 +01:00
Luuk van Baal
7c1cbb6cd4 patch 9.0.0603: with 'nosplitscroll' folds are not handled correctly
Problem:    With 'nosplitscroll' folds are not handled correctly.
Solution:   Take care of closed folds when moving the cursor. (Luuk van Baal,
            closes #11234)
2022-09-27 12:31:15 +01:00
rhysd
7fc6c0e4da patch 9.0.0602: new TypeScript extensions are not recognized
Problem:    New TypeScript extensions are not recognized.
Solution:   Recognize .mts and .cts files. (closes #11237)
2022-09-27 11:57:13 +01:00
Yegappan Lakshmanan
368aa69088 patch 9.0.0601: too much indent
Problem:    Too much indent.
Solution:   Return out early from a funtion. (Yegappan Lakshmanan,
            close #11238)
2022-09-27 11:46:48 +01:00
ObserverOfTime
d324742292 patch 9.0.0600: GYP files are not recognized
Problem:    GYP files are not recognized.
Solution:   Recognize GYP files. (closes #11242)
2022-09-27 11:35:09 +01:00
ObserverOfTime
cde0319385 patch 9.0.0599: latexmkrc files are not recognized
Problem:    Latexmkrc files are not recognized.
Solution:   Use Perl filetype for latexmkrc files. (closes #11241)
2022-09-27 11:27:23 +01:00
Bram Moolenaar
8279af514c patch 9.0.0598: using negative array index with negative width window
Problem:    Using negative array index with negative width window.
Solution:   Make sure the window width does not become negative.
2022-09-26 23:08:22 +01:00
regomne
3bdef10dc1 patch 9.0.0597: cannot close a tab page with the middle mouse button
Problem:    Cannot close a tab page with the middle mouse button.
Solution:   Support closing a tab page with the middle mouse button, like many
            other programs. (closes #10746)
2022-09-26 20:48:32 +01:00
Philip H
7381c0ce3f patch 9.0.0596: CI on Mac M1 has the channel feature disabled
Problem:    CI on Mac M1 has the channel feature disabled.
Solution:   Include the channel feature.
2022-09-26 20:17:26 +01:00
Bram Moolenaar
1190139ed0 patch 9.0.0595: extra newline in messages after a verbose shell message
Problem:    Extra newline in messages after a verbose shell message.
Solution:   Output the newline with msg_putchar_attr(). (closes #11233)
            Make it possible to filter a screendump before comparing it.
2022-09-26 19:50:44 +01:00
dundargoc
2cb4a89797 patch 9.0.0594: Makefile error message causes a shell error
Problem:    Makefile error message causes a shell error.
Solution:   Put the message in single quotes. (closes #11232)
2022-09-26 16:02:48 +01:00
Alex
311df6bb0f patch 9.0.0593: CI actions have too many permissions
Problem:    CI actions have too many permissions.
Solution:   Restrict permissions to what is required. (closes #11223)
2022-09-26 15:52:46 +01:00
Bram Moolenaar
838b746cce patch 9.0.0592: display not cleared when scrolling back in messages
Problem:    Display not cleared when scrolling back in messages, a background
            color is set and t_ut is empty.
Solution:   Clear to the end of the display if needed. (closes #8973)
2022-09-26 15:19:56 +01:00
Bram Moolenaar
4569020538 patch 9.0.0591: message window popup shows on only one tab page
Problem:    Message window popup shows on only one tab page. (Naruhiko
            Nishino)
Solution:   Show the message window popup on all tab pages. (closes #11231)
2022-09-26 12:57:11 +01:00
Bram Moolenaar
ee09fcc9b6 patch 9.0.0590: after exiting Insert mode spelling not checked in next line
Problem:    After exiting Insert mode spelling is not checked in the next
            line.
Solution:   When spelling is enabled redraw the next line after exiting Insert
            mode in case the spell highlight needs updating.
2022-09-25 20:58:30 +01:00
=?UTF-8?q?Ola=20S=C3=B6der?=
b7e07dc103 patch 9.0.0589: on AmigaOS4 the pid is available but the task address is used
Problem:    On AmigaOS4 the pid is available but the task address is used.
Solution:   Use getpid().  (Ola Söder, closes #11224)
2022-09-25 20:12:21 +01:00
=?UTF-8?q?Ola=20S=C3=B6der?=
4d2073b261 patch 9.0.0588: MorphOS build is broken
Problem:    MorphOS build is broken.
Solution:   Add "-lm" to LDFLAGS and "-noixemul" to CFLAGS. (Ola Söder,
            closes #11222)
2022-09-25 19:36:38 +01:00
Christian Brabandt
9882e9ddc9 patch 9.0.0587: Unicode tables are outdated
Problem:    Unicode tables are outdated.
Solution:   Update to Unicode release 15. (Christian Brabandt, closes #11220)
2022-09-25 19:25:51 +01:00
Bram Moolenaar
124af71a28 patch 9.0.0586: missing change in test
Problem:    Missing change in test.
Solution:   Add the test change.
2022-09-25 18:44:03 +01:00
Bram Moolenaar
6a879878f4 patch 9.0.0585: when long message test fails the error message is not visible
Problem:    When long message test fails the error message is not visible.
Solution:   Dump more lines.
2022-09-25 18:41:14 +01:00
Bram Moolenaar
dc21552c9a patch 9.0.0584: cscope test with wrong executable name fails
Problem:    Cscope test with wrong executable name fails.
Solution:   Use /bin/sh to execute the command. (Yegappan Lakshmanan)
2022-09-25 17:03:26 +01:00
Bram Moolenaar
b9725bc7f6 patch 9.0.0583: only recognizing .m3u8 files is inconsistent
Problem:    Only recognizing .m3u8 files is inconsistent.
Solution:   Also matc .m3u files. (issue #11204)
2022-09-25 12:35:49 +01:00
Bram Moolenaar
ec1238b406 patch 9.0.0582: channel cwd test fails on Cirrus CI
Problem:    Channel cwd test fails on Cirrus CI.
Solution:   Also remove /private from the expected directory.
2022-09-25 11:21:04 +01:00
Bram Moolenaar
d4566c14e7 patch 9.0.0581: adding a character for incsearch fails at end of line
Problem:    Adding a character for incsearch fails at end of line.
Solution:   Only check cursor line number.
2022-09-24 21:06:39 +01:00
Philip H
1d61408af3 patch 9.0.0580: no CI running for MacOS on M1
Problem:    No CI running for MacOS on M1.
Solution:   Add a cirrus CI task. (closes #11203)
2022-09-24 19:32:11 +01:00
Bram Moolenaar
0ff01835a4 patch 9.0.0579: using freed memory when 'tagfunc' wipes out buffer
Problem:    Using freed memory when 'tagfunc' wipes out buffer that holds
            'complete'.
Solution:   Make a copy of the option.  Make sure cursor position is valid.
2022-09-24 19:20:30 +01:00
Bram Moolenaar
865bf2ed30 patch 9.0.0578: one timer test fails on Mac M1
Problem:    One timer test fails on Mac M1.
Solution:   Skip the test on Mac M1.
2022-09-24 17:44:22 +01:00
Bram Moolenaar
96b9bf8f74 patch 9.0.0577: buffer underflow with unexpected :finally
Problem:    Buffer underflow with unexpected :finally.
Solution:   Check CSF_TRY can be found.
2022-09-24 17:24:12 +01:00
dundargoc
b2209f213e patch 9.0.0576: unused loop variables
Problem:    Unused loop variables.
Solution:   Use a while loop instead. (closes #11214)
2022-09-24 15:55:27 +01:00
Bram Moolenaar
78aed95c8d patch 9.0.0575: the getchar() function behaves strangely with bracketed paste
Problem:    The getchar() function behaves strangely with bracketed paste.
Solution:   Do not handle paste-start in getchar(). (issue #11172)
2022-09-24 15:36:35 +01:00
Bram Moolenaar
140f6d0eda patch 9.0.0574: timer garbage collect test hangs on Mac M1
Problem:    Timer garbage collect test hangs on Mac M1.
Solution:   Properly check for Mac M1 and skip the test.
2022-09-24 14:49:07 +01:00
Philip H
81fd3b2b44 patch 9.0.0573: outdated dependencies go unnoticed
Problem:    Outdated dependencies go unnoticed.
Solution:   Use github Dependabot. (closes #11213)
2022-09-24 14:35:21 +01:00
zeertzjq
75f4bafabd patch 9.0.0572: insert complete tests leave a mapping behind
Problem:    Insert complete tests leave a mapping behind.
Solution:   Use a buffer-local mapping. (closes #11211)
2022-09-24 14:08:23 +01:00
Bram Moolenaar
f7e7302acb patch 9.0.0571: MS-Windows: CTRL-C can make Vim exit
Problem:    MS-Windows: CTRL-C can make Vim exit.
Solution:   Check the not-a-term argument.
2022-09-24 13:10:04 +01:00
Philip H
d3eafdd709 patch 9.0.0570: CI for Windows is still using codecov action 3.1.0
Problem:    CI for Windows is still using codecov action 3.1.0.
Solution:   Use action 3.1.1. (closes #11212)
2022-09-24 13:00:53 +01:00
Bram Moolenaar
5939c35743 patch 9.0.0569: cannot easily get out when using "vim file | grep word"
Problem:    Cannot easily get out when using "vim file | grep word".
Solution:   Without changes let CTRL-C exit Vim.  Otherwise give a message on
            stderr. (closes #11209)
2022-09-24 12:50:45 +01:00
Yegappan Lakshmanan
e9dcf13a30 patch 9.0.0568: autocmd code is indented more than needed
Problem:    Autocmd code is indented more than needed.
Solution:   Break out sooner. (Yegappan Lakshmanan, closes #11208)
            Also in user function code.
2022-09-24 11:30:41 +01:00
bfredl
87af60c915 patch 9.0.0567: 'completeopt' "longest" is not used for complete()
Problem:    'completeopt' "longest" is not used for complete().
Solution:   Also use "longest" for complete(). (Bjorn Linse, closes #11206)
2022-09-24 11:17:51 +01:00
Nbiba Bedis
9fd1583c83 patch 9.0.0566: Nim files are not recognized
Problem:    Nim files are not recognized.
Solution:   Add patterns for Nim files. (Nbiba Bedis, closes #11205)
2022-09-24 11:04:38 +01:00
Bram Moolenaar
dfa8be4944 patch 9.0.0565: cscope test causes problems with test timeout timer
Problem:    Cscope test causes problems when code for test timeout timer is
            included (even when commented out).
Solution:   Disable part of the cscope test for now.
2022-09-23 23:19:18 +01:00
Bram Moolenaar
0056ca7137 patch 9.0.0564: a few tests keep failing on MacOS M1
Problem:    A few tests keep failing on MacOS M1.
Solution:   Add a test check CheckNotMacM1.  Fix timer tests.
2022-09-23 21:26:39 +01:00
Bram Moolenaar
a9b0f8f7f3 patch 9.0.0563: timer_info() test fails
Problem:    Timer_info() test fails.
Solution:   Ignore test timeout timer.  Don't use test_null_job() when not
            available.
2022-09-23 21:01:54 +01:00
=?UTF-8?q?Beno=C3=AEt=20Ryder?=
35fdd9a67d patch 9.0.0562: HSL playlist files are not recognized
Problem:    HSL playlist files are not recognized.
Solution:   Add a pattern to recognize HSL palylist files. (Benoît Ryder,
            closes #11204)
2022-09-23 20:33:39 +01:00
Bram Moolenaar
3bcd0ddc2d patch 9.0.0561: when a test gets stuck it just hangs forever
Problem:    When a test gets stuck it just hangs forever.
Solution:   Set a timeout of 30 seconds.
2022-09-23 20:25:55 +01:00
Bram Moolenaar
b9093d5009 patch 9.0.0560: elapsed time since testing started is not visible
Problem:    Elapsed time since testing started is not visible.
Solution:   Show the elapsed time while running tests.
2022-09-23 19:42:31 +01:00
Bram Moolenaar
4ecf16bbf9 patch 9.0.0559: timer test may get stuck at hit-enter prompt
Problem:    Timer test may get stuck at hit-enter prompt.
Solution:   Feed some more characters.
2022-09-23 18:22:21 +01:00
Bram Moolenaar
7f9a5a68fe patch 9.0.0558: Coverity warns for possibly using NULL pointer
Problem:    Coverity warns for possibly using NULL pointer.
Solution:   Only use "evalarg" when not NULL.
2022-09-23 16:37:18 +01:00
Bram Moolenaar
259a741044 patch 9.0.0557: valgrind reports possibly leaked memory
Problem:    Valgrind reports possibly leaked memory.
Solution:   Move the problematic test function to the "fails" test file to
            avoid obscuring real memory leaks.
2022-09-23 16:11:37 +01:00
Bram Moolenaar
86fb3f8b99 patch 9.0.0556: leaking memory with nested functions
Problem:    Leaking memory with nested functions.
Solution:   Free saved pointer.
2022-09-23 13:27:57 +01:00
Luuk van Baal
20e58561ab patch 9.0.0555: scrolling with 'nosplitscroll' in callback changing curwin
Problem:    Scrolling with 'nosplitscroll' in callback changing curwin.
Solution:   Invalidate w_cline_row in the right place. (Luuk van Baal,
            closes #11185)
2022-09-23 12:57:09 +01:00
Bram Moolenaar
f8addf1ca1 patch 9.0.0554: using freed memory when command follows lambda
Problem:    Using freed memory when command follows lambda.
Solution:   Don't free what is still in use. (closes #11201)
2022-09-23 12:44:25 +01:00
Bram Moolenaar
f5f4e85f01 patch 9.0.0553: no error for "|" after "{" in lamda
Problem:    No error for "|" after "{" in lamda.
Solution:   Check for invalid "|". (closes #11199)
2022-09-22 22:03:14 +01:00
Bram Moolenaar
69082916c8 patch 9.0.0552: crash when using NUL in buffer that uses :source
Problem:    Crash when using NUL in buffer that uses :source.
Solution:   Don't get a next line when skipping over NL.
2022-09-22 21:35:19 +01:00
Bram Moolenaar
f87eeb43fb patch 9.0.0551: mode message is delayed when :echowin was used
Problem:    Mode message is delayed when :echowin was used. (Maxim Kim)
Solution:   Save and restore msg_didout in :echowin. (closes #11193)
2022-09-22 19:02:38 +01:00
zeertzjq
62de54b48d patch 9.0.0550: crash when closing a tabpage and buffer is NULL
Problem:    Crash when closing a tabpage and buffer is NULL.
Solution:   Adjust how autocommands are triggered when closing a window.
            (closes #11198, closes #11197)
2022-09-22 18:08:37 +01:00
Bram Moolenaar
5800c79838 patch 9.0.0549: duplicated code in calling a :def function
Problem:    Duplicated code in calling a :def function.
Solution:   Simplify the code.
2022-09-22 17:34:01 +01:00
Bram Moolenaar
f1c60d4bf1 patch 9.0.0548: reduce() with a compiled lambda could be faster
Problem:    reduce() with a compiled lambda could be faster.
Solution:   Call eval_expr_typval() instead of call_func() directly.
2022-09-22 17:07:00 +01:00
Bram Moolenaar
6d313bec53 patch 9.0.0547: looping over empty out_loop[] entries
Problem:    Looping over empty out_loop[] entries.
Solution:   Store the array size.
2022-09-22 16:36:25 +01:00
K.Takata
236ccbf6f8 patch 9.0.0546: supporting Ruby 1.8 makes code complicated
Problem:    Supporting Ruby 1.8 makes code complicated.
Solution:   Drop Ruby 1.8 support, it is ancient. (Ken Takata, closes #11195)
2022-09-22 16:12:06 +01:00
Bram Moolenaar
daaa3d9965 patch 9.0.0545: when a test is slow and CI times out there is no time info
Problem:    When a test is slow and CI times out there is no time info.
Solution:   Add the elapsed time to the "Executing" message.
2022-09-22 15:13:00 +01:00
zeertzjq
fcba86c031 patch 9.0.0544: minor issues with setting a string option
Problem:    Minor issues with setting a string option.
Solution:   Adjust the code, add a test. (closes #11192)
2022-09-22 13:57:32 +01:00
Yegappan Lakshmanan
e24b5e0b0f patch 9.0.0543: insufficient testing for assert and test functions
Problem:    Insufficient testing for assert and test functions.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #11190)
2022-09-22 13:44:00 +01:00
Bram Moolenaar
f1d2ddcb9b patch 9.0.0542: MSVC build still has support for 2012 edition
Problem:    MSVC build still has support for 2012 edition.
Solution:   Drop MSVC 2012 support. (Ken Takata, closes #11191)
2022-09-22 13:17:30 +01:00
Bram Moolenaar
ee7c8d999b patch 9.0.0541: terminal pwd test fails with a very long path name
Problem:    Terminal pwd test fails with a very long path name.
Solution:   Join two lines.
2022-09-22 12:57:06 +01:00
Bram Moolenaar
6f98114e4a patch 9.0.0540: assigning stack variable to argument confuses Coverity
Problem:    Assigning stack variable to argument confuses Coverity.
Solution:   Use a local pointer, also makes the code simpler.
2022-09-22 12:48:58 +01:00
Bram Moolenaar
21d393a12b patch 9.0.0539: long message test can be flaky
Problem:    Long message test can be flaky.
Solution:   Wait for more prompt instead of ruler.
2022-09-22 12:01:34 +01:00
Bram Moolenaar
5c645a25bb patch 9.0.0538: manually deleting test temp files
Problem:    Manually deleting test temp files.
Solution:   Add the 'D' flag to writefile().
2022-09-21 22:00:03 +01:00
Bram Moolenaar
4740394f23 patch 9.0.0537: the do_set() function is much too long
Problem:    The do_set() function is much too long.
Solution:   Move setting of a string option to a separate function.
2022-09-21 21:12:53 +01:00
Philip H
6a434e93a9 patch 9.0.0536: CI: codecov action update available
Problem:    CI: codecov action update available.
Solution:   Update Codecov 3.1.0 to 3.3.1. (closes #11188)
2022-09-21 19:41:54 +01:00
Bram Moolenaar
e8e369a796 patch 9.0.0535: closure gets wrong value in for loop with two loop variables
Problem:    Closure gets wrong value in for loop with two loop variables.
Solution:   Correctly compute the number of loop variables to clear.
2022-09-21 18:59:14 +01:00
Bram Moolenaar
ec5e1483eb patch 9.0.0534: line number is displayed at virtual text "above"
Problem:    Line number is displayed at virtual text "above".
Solution:   Show the line number at the text line.
2022-09-21 16:38:13 +01:00
Bram Moolenaar
e49f9acecc patch 9.0.0533: the win_line() function is much too long
Problem:    The win_line() function is much too long.
Solution:   Move code to separate functions.
2022-09-21 15:41:28 +01:00
Bram Moolenaar
14f91765c0 patch 9.0.0532: edit test is flaky when run under valgrind
Problem:    Edit test is flaky when run under valgrind.
Solution:   Send some text to the terminal to trigger a redraw.
2022-09-21 15:13:52 +01:00
Bram Moolenaar
c20a41972c patch 9.0.0531: the win_line() function is much too long
Problem:    The win_line() function is much too long.
Solution:   Move code to separate functions.
2022-09-21 14:34:28 +01:00
Bram Moolenaar
8ecfa2c56b patch 9.0.0530: using freed memory when autocmd changes mark
Problem:    Using freed memory when autocmd changes mark.
Solution:   Copy the mark before editing another buffer.
2022-09-21 13:07:22 +01:00
K.Takata
8eaee1fa5c patch 9.0.0529: appveyor setup contains outdated lines
Problem:    Appveyor setup contains outdated lines.
Solution:   Remove outdated lines. (Ken Takata, closes #11182)
2022-09-21 12:19:44 +01:00
K.Takata
c3430cb583 patch 9.0.0528: MS-Windows: no batch files for more recent MSVC versions
Problem:    MS-Windows: no batch files for more recent MSVC versions.
Solution:   Add batch files for 2017, 2019 and 2022. (Ken Takata,
            closes #11184)
2022-09-21 11:56:41 +01:00
Bram Moolenaar
2b1ddf19f8 patch 9.0.0527: long sign text may overflow buffer
Problem:    Long sign text may overflow buffer.
Solution:   Use a larger buffer.  Prevent for overflow.
2022-09-21 11:21:57 +01:00
K.Takata
f7c7aa3594 patch 9.0.0526: MS-Windows: still some support for XP and old compilers
Problem:    MS-Windows: still some support for XP and old compilers.
Solution:   Remove XP support and mention of old compilers. (Ken Takata,
            closes #11183)
2022-09-21 10:51:13 +01:00
Bram Moolenaar
5917341f65 patch 9.0.0525: manually deleting temp test files
Problem:    Manually deleting temp test files.
Solution:   Add the 'D' flag to writefile().
2022-09-20 22:01:33 +01:00
Bram Moolenaar
4cbdcbda2d patch 9.0.0524: build instructions for MS-Windows are outdated
Problem:    Build instructions for MS-Windows are outdated.
Solution:   Remove instructions for old MSVC versions.
2022-09-20 21:23:12 +01:00
Bram Moolenaar
2d2e25b3e3 patch 9.0.0523: more compiler warnings for arguments in small version
Problem:    more compiler warnings for arguments in small version
Solution:   Adjust #ifdefs.
2022-09-20 21:09:42 +01:00
Bram Moolenaar
f64b75b1d9 patch 9.0.0522: build fails on Appveyor
Problem:    Build fails on Appveyor.
Solution:   Select Visual Studio 2015 for the build tools.
2022-09-20 20:52:33 +01:00
Bram Moolenaar
31724238c8 patch 9.0.0521: compiler warns for unused argument in small version
Problem:    Compiler warns for unused argument in small version.
Solution:   Add UNUSED.
2022-09-20 20:25:36 +01:00
Bram Moolenaar
848db57e52 patch 9.0.0520: declaring a loop variable at the start of a block is clumsy
Problem:    Declaring a loop variable at the start of a block is clumsy.
Solution:   Declare the variable inside the loop in a few places to see if
            this works.
2022-09-20 19:04:32 +01:00
Bram Moolenaar
d7657e95b2 patch 9.0.0519: the win_line() function is much too long
Problem:    The win_line() function is much too long.
Solution:   Move the code to draw the line number to a separate function.
2022-09-20 18:59:30 +01:00
Bram Moolenaar
b84d565c62 patch 9.0.0518: virtual text highlight starts too early with 'nowrap'
Problem:    Virtual text highlight starts too early with 'nowrap' and 'number'
            set.
Solution:   Add the offset to the attribute skip count. (issue #11138)
2022-09-20 17:57:53 +01:00
zeertzjq
320d910064 patch 9.0.0517: when at the command line :redrawstatus does not work well
Problem:    When at the command line :redrawstatus does not work well.
Solution:   Only update the statuslines instead of the screen. (closes #11180)
2022-09-20 17:12:13 +01:00
Bram Moolenaar
ccfaa07591 patch 9.0.0516: virtual text "above" highlights gap after it
Problem:    Virtual text "above" highlights gap after it.
Solution:   Do not highlight the gap. (closes #11138)
2022-09-20 16:15:30 +01:00
Bram Moolenaar
2fdc9b5419 patch 9.0.0515: virtual text highlight starts too early when 'number' is set
Problem:    Virtual text highlight starts too early when 'number' is set.
Solution:   Set column offset when wrapping. (issue #11138)
2022-09-20 15:59:22 +01:00
Bram Moolenaar
a22c56a59a patch 9.0.0514: terminal test sometimes hangs
Problem:    Terminal test sometimes hangs.
Solution:   Add a bit more information to the test output. (issue #11179)
2022-09-20 15:10:31 +01:00
Bram Moolenaar
9781d9c005 patch 9.0.0513: may not be able to use a pattern ad the debug prompt
Problem:    May not be able to use a pattern ad the debug prompt.
Solution:   Temporarily disable the timeout. (closes #11164)
2022-09-20 13:51:25 +01:00
zeertzjq
c14bfc31d9 patch 9.0.0512: cannot redraw the status lines when editing a command
Problem:    Cannot redraw the status lines when editing a command.
Solution:   Only postpone the redraw when messages have scrolled.
            (closes #11170)
2022-09-20 13:17:57 +01:00
zeertzjq
bdedd2bcce patch 9.0.0511: unnecessary scrolling for message of only one line
Problem:    Unnecessary scrolling for message of only one line.
Solution:   Only set msg_scroll when needed. (closes #11178)
2022-09-20 12:45:15 +01:00
ObserverOfTime
7c046ae99b patch 9.0.0510: Chatito files are not recognized
Problem:    Chatito files are not recognized.
Solution:   Add a pattern for Chatito files. (closes #11174)
2022-09-20 12:02:28 +01:00
Bram Moolenaar
500a1f9972 patch 9.0.0509: confusing error for "saveas" command with "nofile" buffer
Problem:    Confusing error for "saveas" command with "nofile" buffer.
Solution:   Give a clearer error message. (closes #11171)
2022-09-20 11:49:10 +01:00
K.Takata
cd9fa256b5 patch 9.0.0508: when the channel test fails there is no clue why
Problem:    When the channel test fails there is no clue why.
Solution:   Add info about the job status. (Ken Takata, closes #11175)
2022-09-20 11:04:47 +01:00
Bram Moolenaar
bcd6924245 patch 9.0.0507: cmdline cleared when using :redrawstatus in CmdlineChanged
Problem:    Command line cleared when using :redrawstatus in CmdlineChanged
            autocommand event.
Solution:   Postpone the redraw. (closes #11162)
2022-09-19 21:16:12 +01:00
Bram Moolenaar
a2b91036d1 patch 9.0.0506: line number argument for :badd does not work
Problem:    Line number argument for :badd does not work.
Solution:   Set the last cursor position in the new buffer. (closes #11161)
2022-09-19 18:20:08 +01:00
Luuk van Baal
faf1d412f5 patch 9.0.0505: various problems with 'nosplitscroll'
Problem:    Various problems with 'nosplitscroll'.
Solution:   Fix 'nosplitscroll' problems. (Luuk van Baal, closes #11166)
2022-09-19 16:45:29 +01:00
Bram Moolenaar
c9e4a6f191 patch 9.0.0504: still a build failure
Problem:    still a Build failure.
Solution:   Add another missing changes.  Avoid compiler warning.
2022-09-19 16:08:04 +01:00
Bram Moolenaar
65449bd1ee patch 9.0.0503: build failure
Problem:    Build failure.
Solution:   Add missing changes.
2022-09-19 16:02:43 +01:00
Bram Moolenaar
cc34181f99 patch 9.0.0502: a closure in a nested loop in a :def function does not work
Problem:    A closure in a nested loop in a :def function does not work.
Solution:   Use an array of loopvars, one per loop level.
2022-09-19 15:54:34 +01:00
Bram Moolenaar
18ee0feb5d patch 9.0.0501: warning for using uninitialized value in mouse test
Problem:    Warning for using uninitialized value in mouse test.
Solution:   Clear ScreenCols when allocating it. (Dominique Pellé)
2022-09-19 11:44:11 +01:00
Bram Moolenaar
b2f0ca820e patch 9.0.0500: when quitting cmdline window with CTRL-C it remains visible
Problem:    When quitting the cmdline window with CTRL-C it remains visible.
Solution:   Redraw to avoid confusion. Adjust the error message.
            (closes #11152)  Adjust the cursor position after CTRL-C.
2022-09-18 15:08:19 +01:00
Bram Moolenaar
566badc76b patch 9.0.0499: in :def function list created after const is locked
Problem:    In :def function list created after const is locked.
Solution:   Reset v_lock. (closes #11154)
2022-09-18 13:46:08 +01:00
Bram Moolenaar
747f110420 patch 9.0.0498: various small issues
Problem:    Various small issues.
Solution:   Various small fixes.
2022-09-18 13:06:41 +01:00
Bram Moolenaar
9712ff1288 Update runtime files 2022-09-18 13:04:22 +01:00
ObserverOfTime
65ee49decf patch 9.0.0497: LyRiCs files are not recognized
Problem:    LyRiCs files are not recognized.
Solution:   Add a pattern to detect LyRiCs files. (closes #11155)
2022-09-18 12:46:22 +01:00
K.Takata
27b53be3a6 patch 9.0.0496: no good reason to keep supporting Windows-XP
Problem:    No good reason to keep supporting Windows-XP.
Solution:   Drop Windows-XP support. (Ken Takata, closes #11089)
2022-09-18 12:25:49 +01:00
Bram Moolenaar
dbbb02bc77 patch 9.0.0495: closure doesn't work properly in nested loop
Problem:    Closure doesn't work properly in nested loop.
Solution:   Save variables up to the outer loop.
2022-09-18 12:00:21 +01:00
Bram Moolenaar
96caa557f9 patch 9.0.0494: small build misses float function declaraitons
Problem:    Small build misses float function declaraitons.
Solution:   Adjust #ifdefs.
2022-09-17 21:57:43 +01:00
Bram Moolenaar
1e8009e34a patch 9.0.0493: Perl test fails
Problem:    Perl test fails.
Solution:   Remove remaining FEAT_EVAL.
2022-09-17 21:24:49 +01:00
Bram Moolenaar
312af65d1a patch 9.0.0492: cmdwin test fails on MS-Windows
Problem:    Cmdwin test fails on MS-Windows.
Solution:   Skip test on MS-Windows.
2022-09-17 21:20:42 +01:00
Bram Moolenaar
73e28dcc61 patch 9.0.0491: no good reason to build without the float feature
Problem:    No good reason to build without the float feature.
Solution:   Remove configure check for float and "#ifdef FEAT_FLOAT".
2022-09-17 21:08:33 +01:00
Bram Moolenaar
1c3dd8ddcb patch 9.0.0490: using freed memory with cmdwin and BufEnter autocmd
Problem:    Using freed memory with cmdwin and BufEnter autocmd.
Solution:   Make sure pointer to b_p_iminsert is still valid.
2022-09-17 19:43:23 +01:00
Bram Moolenaar
fb593c5350 patch 9.0.0489: using "end_lnum" with virtual text causes problems
Problem:    Using "end_lnum" with virtual text causes problems.
Solution:   Disallow using "end_lnum" with virtual text. (closes #11151)
            Also disallow "end_col" and "length".
2022-09-17 18:57:36 +01:00
Bram Moolenaar
4c7fd4d68f patch 9.0.0488: cursor wrong with virtual text "above" and 'showbreak'
Problem:    Cursor in wrong position with virtual text "above" and
            'showbreak'.
Solution:   Take the first character column into account. (closes #11149)
2022-09-17 17:15:33 +01:00
Bram Moolenaar
acd6b9976b patch 9.0.0487: using freed memory with combination of closures
Problem:    Using freed memory with combination of closures.
Solution:   Do not use a partial after it has been freed through the
            funcstack.
2022-09-17 16:27:39 +01:00
Luuk van Baal
d5bc762dea patch 9.0.0486: text scrolled with 'nosplitscroll', autocmd win and help
Problem:    Text scrolled with 'nosplitscroll', autocmd win opened and help
            window closed.
Solution:   Skip win_fix_scroll() in more situations. (Luuk van Baal,
            closes #11150)
2022-09-17 16:16:35 +01:00
Bram Moolenaar
0cdfb7ce46 patch 9.0.0485: in :def function all closures in loop get the same variables
Problem:    In a :def function all closures in a loop get the same variables.
Solution:   Make a copy of loop variables used in a closure.
2022-09-17 15:44:52 +01:00
Bram Moolenaar
8abb584ab8 patch 9.0.0484: in :def function all closures in loop get the same variables
Problem:    In a :def function all closures in a loop get the same variables.
Solution:   Add ENDLOOP at break, continue and return if needed.
2022-09-17 12:39:58 +01:00
Bram Moolenaar
c249913edc patch 9.0.0483: illegal memory access when replacing in virtualedit mode
Problem:    Illegal memory access when replacing in virtualedit mode.
Solution:   Check for replacing NUL after Tab.
2022-09-16 22:16:59 +01:00
Bram Moolenaar
e24b4aba1f patch 9.0.0482: "g0" moves to wrong location with virtual text "above"
Problem:    "g0" moves to wrong location with virtual text "above".
Solution:   Compensate for the extra columns. (closes #11141)  Also fix "g$"
2022-09-16 20:51:14 +01:00
Bram Moolenaar
8fa745e7be patch 9.0.0481: in :def function all closures in loop get the same variables
Problem:    In a :def function all closures in a loop get the same variables.
Solution:   Use a separate list of variables for LOADOUTER and STOREOUTER.
            Not copied at end of loop yet.
2022-09-16 19:04:24 +01:00
zeertzjq
abd58d8aee patch 9.0.0480: cannot use a :def varargs function with substitute()
Problem:    Cannot use a :def varargs function with substitute().
Solution:   Use has_varargs(). (closes #11146)
2022-09-16 16:06:32 +01:00
Bram Moolenaar
1aea184a0d patch 9.0.0479: in :def function all closures in loop get the same variables
Problem:    In a :def function all closures in a loop get the same variables.
Solution:   Use a separate list of variables for LOADOUTER and SAVEOUTER.
2022-09-16 15:47:09 +01:00
Luuk van Baal
594f9e09cd patch 9.0.0478: test for 'splitscroll' takes too much time
Problem:    Test for 'splitscroll' takes too much time.
Solution:   Only test some of the combinations. (Luuk van Baal, closes #11139)
2022-09-16 12:52:58 +01:00
Bram Moolenaar
3e8b7a6056 patch 9.0.0477: missing dependency may cause crashes on incomplete build
Problem:    Missing dependency may cause crashes on incomplete build.
Solution:   Add dependency.
2022-09-16 12:28:34 +01:00
zeertzjq
48db5dafec patch 9.0.0476: varargs does not work for replacement function of substitute()
Problem:    Varargs does not work for replacement function of substitute().
Solution:   Check the varargs flag of the function. (closes #11142)
2022-09-16 12:10:03 +01:00
Bram Moolenaar
dd674774bb patch 9.0.0475: not using deferred delete in tests
Problem:    Not using deferred delete in tests.
Solution:   Use deferred delete more often.
2022-09-15 22:26:18 +01:00
Bram Moolenaar
dd44b58f64 patch 9.0.0474: fullcommand() test failure
Problem:    fullcommand() test failure.
Solution:   Update function table.
2022-09-15 22:03:57 +01:00
Bram Moolenaar
aa5341477c patch 9.0.0473: fullcommand() only works for the current script version
Problem:    fullcommand() only works for the current script version.
Solution:   Add an optional argument for the script version.
2022-09-15 21:46:02 +01:00
Bram Moolenaar
a4abe514ec patch 9.0.0472: virtual text "below" doesn't show in list mode
Problem:    Virtual text "below" doesn't show in list mode.
Solution:   Reset lcs_eol_one when displaying text property.
2022-09-15 19:44:09 +01:00
mityu
12167d8b84 patch 9.0.0471: no test for what patch 9.0.0469 fixes
Problem:    No test for what patch 9.0.0469 fixes.
Solution:   Add a test. (closes #11140)
2022-09-15 17:44:07 +01:00
Bram Moolenaar
b46c083a5e patch 9.0.0470: in :def function all closures in loop get the same variables
Problem:    In a :def function all closures in a loop get the same variables.
Solution:   When in a loop and a closure refers to a variable declared in the
            loop, prepare for making a copy of variables for each closure.
2022-09-15 17:19:37 +01:00
Luuk van Baal
3735f11050 patch 9.0.0469: cursor moves if cmdwin is closed when 'splitscroll' is off
Problem:    Cursor moves if cmdwin is closed when 'splitscroll' is off.
Solution:   Skip win_fix_cursor if called when cmdwin is open or closing.
            (Luuk van Baal, closes #11134)
2022-09-15 12:43:26 +01:00
Bram Moolenaar
aeef1f7f6d patch 9.0.0468: exectution stack underflow without the +eval feature
Problem:    Exectution stack underflow without the +eval feature. (Dominique
            Pellé)
Solution:   Add to execution stack without FEAT_EVAL. (closes #11135)
2022-09-15 12:20:18 +01:00
Bram Moolenaar
d3922afbd6 patch 9.0.0467: build failure
Problem:    Build failure.
Solution:   Add missing change.
2022-09-14 22:30:59 +01:00
Bram Moolenaar
ebd0e8bb85 patch 9.0.0466: virtual text wrong after adding line break after line
Problem:    Virtual text wrong after adding line break after line.
Solution:   Pass an "eol" flag to where text properties are adjusted.
            (closes #11131)
2022-09-14 22:13:59 +01:00
mityu
e697d48890 patch 9.0.0465: cursor moves when cmdwin is closed when 'splitscroll' is off
Problem:    Cursor moves when cmdwin is closed when 'splitscroll' is off.
Solution:   Temporarily set 'splitscroll' when jumping back to the original
            window. (closes #11128)
2022-09-14 17:27:36 +01:00
Bram Moolenaar
702bd6c7c6 patch 9.0.0464: with virtual text "above" indenting doesn't work well
Problem:    With virtual text "above" indenting doesn't work well.
Solution:   Ignore text properties while adjusting indent. (issue #11084)
2022-09-14 16:09:57 +01:00
Dominique Pelle
febe13892e patch 9.0.0463: command line test leaves directory behind
Problem:    Command line test leaves directory behind.
Solution:   Use the "R" flag on the first mkdir(). (Dominique Pellé,
            closes #11127)
2022-09-14 12:51:49 +01:00
Bram Moolenaar
98b373075e patch 9.0.0462: ASAN warning for integer overflow
Problem:    ASAN warning for integer overflow.
Solution:   Check for tp_col to be MAXCOL.
2022-09-14 12:06:53 +01:00
Luuk van Baal
470a14140b patch 9.0.0461: 'scroll' is not always updated
Problem:    'scroll' is not always updated.
Solution:   Call win_init_size() at the right place.
2022-09-14 01:27:23 +01:00
Bram Moolenaar
766ae5b252 patch 9.0.0460: loop variable can't be found
Problem:    Loop variable can't be found.
Solution:   Adjust block_id of the loop variable each round.
2022-09-14 00:30:51 +01:00
Bram Moolenaar
353b68a991 patch 9.0.0459: Vim9: block in for loop doesn't behave like a code block
Problem:    Vim9: block in for loop doesn't behave like a code block.
Solution:   Use a new block ID for each loop at the script level.
2022-09-13 21:10:45 +01:00
Bram Moolenaar
3b93cf218f patch 9.0.0458: splitting a line with a text prop "above" moves it down
Problem:    Splitting a line with a text prop "above" moves it to a new line
            below.
Solution:   Keep an "above" text prop above the first line.
2022-09-13 18:34:18 +01:00
Bram Moolenaar
a04f457a6c patch 9.0.0457: substitute prompt does not highlight an empty match
Problem:    Substitute prompt does not highlight an empty match.
Solution:   Highlight at least one character.
2022-09-13 13:45:26 +01:00
Bram Moolenaar
b1842de5ca patch 9.0.0456: function called at debug prompt is also debugged
Problem:    Function called at debug prompt is also debugged.
Solution:   Reset the debug level while entering the debug command.
            (closes #11118)
2022-09-13 12:36:57 +01:00
Luuk van Baal
5ed391708a patch 9.0.0455: a few problems with 'splitscroll'
Problem:    A few problems with 'splitscroll'.
Solution:   Fix 'splitscroll' problems. (Luuk van Baal, closes #11117)
2022-09-13 11:55:10 +01:00
Your Name
810cb5a3bf patch 9.0.0454: incorrect color for modeless selection with GTK
Problem:    Incorrect color for modeless selection with GTK.
Solution:   Use simple inversion instead of XOR. (closes #11111)
2022-09-13 11:25:54 +01:00
Bram Moolenaar
83a19c5fda patch 9.0.0453: on an AZERTY keyboard digit keys get the shift modifier
Problem:    On an AZERTY keyboard digit keys get the shift modifier.
Solution:   Remove the shift modifier from digit keys. (closes #11109)
2022-09-12 20:35:28 +01:00
Bram Moolenaar
6eda17d881 patch 9.0.0452: Visual highlighting extends into virtual text prop
Problem:    Visual highlighting extends into virtual text prop.
Solution:   Do not highlight what isn't actually selected.  Fix ordering of
            stored text props.
2022-09-12 19:25:11 +01:00
Bram Moolenaar
c9dc03fff5 patch 9.0.0451: virtual text "above" does not work with 'nowrap'
Problem:    Virtual text "above" does not work with 'nowrap'.
Solution:   Do wrap the line after. (closes #11084)
2022-09-12 17:51:07 +01:00
Bram Moolenaar
7b2d87220c Add missing part of patch 2022-09-12 15:16:29 +01:00
zeertzjq
cd2d5c181a patch 9.0.0450: return value of argument check functions is inconsistent
Problem:    Return value of argument check functions is inconsistent.
Solution:   Return OK/FAIL instead of TRUE/FALSE. (closes #11112)
2022-09-12 14:09:30 +01:00
zeertzjq
cdc839353f patch 9.0.0449: there is no easy way to translate a key code into a string
Problem:    There is no easy way to translate a string with a key code into a
            readable string.
Solution:   Add the keytrans() function. (closes #11114)
2022-09-12 13:38:41 +01:00
ObserverOfTime
5a4eb55122 patch 9.0.0448: SubRip files are not recognized
Problem:    SubRip files are not recognized.
Solution:   Add a pattern for SubRip. (closes #11113)
2022-09-12 12:43:23 +01:00
Bram Moolenaar
cf0995d7d7 patch 9.0.0447: using :echowin while at the hit-enter prompt causes problems
Problem:    Using :echowin while at the hit-enter prompt causes problems.
Solution:   Do not prompt for :echowin.  Postpone showing the message window.
            Start the timer when the window is displayed.
2022-09-11 21:36:17 +01:00
Bram Moolenaar
87e74d0e03 patch 9.0.0446: message window may be positioned too low
Problem:    Message window may be positioned too low.
Solution:   Compute cmdline_row before computing the position.
2022-09-11 20:12:15 +01:00
Luuk van Baal
29ab524358 patch 9.0.0445: when opening/closing window text moves up/down
Problem:    When opening/closing window text moves up/down.
Solution:   Add the 'splitscroll' option.  When off text will keep its
            position as much as possible.
2022-09-11 16:59:53 +01:00
Bram Moolenaar
9510d22463 patch 9.0.0444: trying to declare g:variable gives confusing error
Problem:    Trying to declare g:variable gives confusing error.
Solution:   Give a better error message. (closes #11108)
2022-09-11 15:14:05 +01:00
Gabriele Musco
cce82a55b8 patch 9.0.0443: blueprint files are not recognized
Problem:    Blueprint files are not recognized.
Solution:   Add a pattern for blueprint files. (Gabriele Musco, closes #11107)
2022-09-11 13:37:37 +01:00
Bram Moolenaar
79f8b8494c patch 9.0.0442: virtual text "above" doesn't handel line numbers
Problem:    Virtual text "above" doesn't handel line numbers.
Solution:   Take the left column offset into account. (issue #11084)
            Also make padding work.
2022-09-11 13:31:01 +01:00
Bram Moolenaar
c069edeab2 patch 9.0.0441: closure in for loop test fails on some systems
Problem:    Closure in for loop test fails on some systems.
Solution:   Do not wait for the ruler to show up. (issue #11106)
2022-09-11 12:01:04 +01:00
Bram Moolenaar
f5fec05c7f patch 9.0.0440: crash when using mkdir() with "R" flag in compiled function
Problem:    Crash when using mkdir() with "R" flag in compiled function.
Solution:   Reserve a variable for deferred function calls.  Handle more than
            one argument.
2022-09-11 11:49:22 +01:00
Bram Moolenaar
88b79cb7d4 patch 9.0.0439: cursor wrong if inserting before line with virtual text above
Problem:    Cursor wrong if inserting before line with virtual text above.
Solution:   Add the width of the "above" virtual text to the cursor position.
            (issue #11084)
2022-09-10 22:32:14 +01:00
Bram Moolenaar
04e0ed1ddf patch 9.0.0438: cannot put virtual text above a line
Problem:    Cannot put virtual text above a line.
Solution:   Add the "above" value for "text_align".
2022-09-10 20:00:56 +01:00
Bram Moolenaar
55e9366e32 patch 9.0.0437: no error when custom completion function returns wrong type
Problem:    No error when a custom completion function returns something else
            than the expected list.
Solution:   Give an error. (closes #11100)
2022-09-10 13:52:26 +01:00
Bram Moolenaar
71b6d33976 Update runtime files 2022-09-10 13:13:14 +01:00
K.Takata
2da11a4124 patch 9.0.0436: CI: running tests in parallel causes flakiness
Problem:    CI: running tests in parallel causes flakiness.
Solution:   Reorganize the MS-Windows runs. (Ken Takata, closes #11101)
2022-09-10 13:03:12 +01:00
Bram Moolenaar
f21d546d8f patch 9.0.0435: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it.
2022-09-10 12:36:00 +01:00
ObserverOfTime
9ba2786f15 patch 9.0.0434: gitignore files are not recognized
Problem:    gitignore files are not recognized.
Solution:   Add patterns for the gitignore filetype. (closes #11102)
2022-09-10 11:04:24 +01:00
Bram Moolenaar
12553ada3b patch 9.0.0433: Coverity warns for not checking allocation failure
Problem:    Coverity warns for not checking allocation failure.
Solution:   Check that allocating a list or blob succeeded.
2022-09-10 10:42:20 +01:00
Bram Moolenaar
6de2296e5e patch 9.0.0432: crash when using for loop variable in closure
Problem:    Crash when using for loop variable in closure.
Solution:   Check that the variable wasn't deleted. (issue #11094)
2022-09-09 21:35:36 +01:00
Bram Moolenaar
7cf5839287 patch 9.0.0431: current mode shows in message window
Problem:    Current mode shows in message window.
Solution:   Reset in_echowindow before redrawing. (issue #11094)
2022-09-09 20:19:40 +01:00
Bakudankun
375141e1f8 patch 9.0.0430: cannot use repeat() with a blob
Problem:    Cannot use repeat() with a blob.
Solution:   Implement blob repeat. (closes #11090)
2022-09-09 18:46:47 +01:00
Yegappan Lakshmanan
0adae2da17 patch 9.0.0429: not all keys are tested for the MS-Windows GUI
Problem:    Not all keys are tested for the MS-Windows GUI.
Solution:   Add more key codes to the list. (Yegappan Lakshmanan,
            closes #11097)
2022-09-09 17:39:02 +01:00
Bram Moolenaar
be9fc5b60c patch 9.0.0428: autocmd test uses common file name
Problem:    Autocmd test uses common file name.
Solution:   Use unique name to reduce flakiness.
2022-09-09 17:09:35 +01:00
Rodrigo Aguilera
8995c4cd4e patch 9.0.0427: Drupal theme files are not recognized
Problem:    Drupal theme files are not recognized.
Solution:   Use php filetype for Drupl theme files.  Remove trailing spaces.
            (Rodrigo Aguilera, closes #11096)
2022-09-09 16:10:26 +01:00
Bram Moolenaar
65258d36dd patch 9.0.0426: failed flaky tests reports only start time
Problem:    Failed flaky tests reports only start time.
Solution:   Also report the end time.
2022-09-09 15:09:59 +01:00
Bram Moolenaar
ae04a6049b patch 9.0.0425: autocmd test is a bit flaky on MS-Windows
Problem:    Autocmd test is a bit flaky on MS-Windows.
Solution:   Add a bit more sleeping. (Ken Takata, closes #11095)
2022-09-09 15:08:10 +01:00
ObserverOfTime
7d56cfc861 patch 9.0.0424: gitattributes files are not recognized
Problem:    gitattributes files are not recognized.
Solution:   Add patterns to match gitattributes files. (closes #11085)
2022-09-09 14:11:41 +01:00
Bram Moolenaar
9132426334 patch 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy
Problem:    "for" and "while" not recognized after :vim9cmd and :legacy.
            (Emanuele Torre)
Solution:   Recognize all the command modifiers. (closes #11087)
            Add a test to check the list of modifiers.
2022-09-09 13:27:59 +01:00
Yegappan Lakshmanan
0dc2fd307f patch 9.0.0422: not enough testing of the :all command
Problem:    Not enough testing of the :all command.
Solution:   Add more testing. (Yegappan Lakshmanan, closes #11091)
2022-09-09 11:27:59 +01:00
K.Takata
5bc13453b2 patch 9.0.0421: MS-Windows makefiles are inconsistently named
Problem:    MS-Windows makefiles are inconsistently named.
Solution:   Use consistent names. (Ken Takata, closes #11088)
2022-09-09 10:52:47 +01:00
Bram Moolenaar
c572ad508f patch 9.0.0420: function went missing
Problem:    Function went missing.
Solution:   Add the function back.
2022-09-08 20:49:22 +01:00
Bram Moolenaar
169003289f patch 9.0.0419: the :defer command does not check the function arguments
Problem:    The :defer command does not check the function argument count and
            types.
Solution:   Check the function arguments when adding a deferred function.
2022-09-08 19:51:45 +01:00
Bram Moolenaar
45bbaef038 patch 9.0.0418: manually deleting temp test files
Problem:    Manually deleting temp test files.
Solution:   Use the 'D' flag of writefile() and mkdir().
2022-09-08 16:39:22 +01:00
=?UTF-8?q?Cezary=20Dro=C5=BCak?=
2a4c885d54 patch 9.0.0417: Jsonnet files are not recognized
Problem:    Jsonnet files are not recognized.
Solution:   Add a pattern for Jsonnet files. (Cezary Drożak, closes #11073,
            closes #11081)
2022-09-08 14:41:48 +01:00
Bram Moolenaar
58a3cae3eb patch 9.0.0416: ml_get error when appending lines in popup window
Problem:    ml_get error when appending lines in popup window.
Solution:   Only update w_topline when w_buffer matches curbuf.
            (closes #11074)
2022-09-08 13:43:10 +01:00
K.Takata
0500e87eba patch 9.0.0415: on MS-Windows some tests are flaky
Problem:    On MS-Windows some tests are flaky.
Solution:   Add sleeps, disable swapfile, mark test as flaky. (Ken Takata,
            closes #11082)
2022-09-08 12:28:02 +01:00
Bram Moolenaar
753aead960 patch 9.0.0414: matchstr() still does not match column offset
Problem:    matchstr() still does not match column offset when done after a
            text search.
Solution:   Only use the line number for a multi-line search.  Fix the test.
            (closes #10938)
2022-09-08 12:17:06 +01:00
K.Takata
b0d12e63e8 patch 9.0.0413: ASAN reports a memory leak
Problem:    ASAN reports a memory leak.
Solution:   Free the string received from the server. (Ken Takata,
            closes #11080)
2022-09-08 10:55:38 +01:00
Bram Moolenaar
e5a420fb33 patch 9.0.0412: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
2022-09-07 21:46:56 +01:00
Bram Moolenaar
6f14da15ac patch 9.0.0411: only created files can be cleaned up with one call
Problem:    Only created files can be cleaned up with one call.
Solution:   Add flags to mkdir() to delete with a deferred function.
            Expand the writefile() name to a full path to handle changing
            directory.
2022-09-07 21:30:44 +01:00
Bram Moolenaar
d7633114af patch 9.0.0410: struct member cts_lnum is unused
Problem:    Struct member cts_lnum is unused.
Solution:   Delete it.
2022-09-07 20:01:17 +01:00
ii14
7c7e1e9b98 patch 9.0.0409: #{g:x} was seen as a curly-braces expression
Problem:    #{g:x} was seen as a curly-braces expression.
Solution:   Do never see #{} as a curly-braces expression. (closes #11075)
2022-09-07 19:40:17 +01:00
K.Takata
fef38d86a1 patch 9.0.0408: GUI test sometimes fails on MS-Windows
Problem:    GUI test sometimes fails on MS-Windows.
Solution:   Make sure Vim is the foreground window. (Ken Takata, closes #11077)
2022-09-07 19:03:42 +01:00
Bram Moolenaar
75a115e8d6 patch 9.0.0407: matchstr() does match column offset
Problem:    matchstr() does match column offset. (Yasuhiro Matsumoto)
Solution:   Accept line number zero. (closes #10938)
2022-09-07 18:21:24 +01:00
Bram Moolenaar
9667b2c888 patch 9.0.0406: deferred functions not invoked when partial func exits
Problem:    Deferred functions not invoked when partial func exits.
Solution:   Create a funccall_T when calling a :def function.
2022-09-07 17:28:09 +01:00
Bram Moolenaar
c9c967da09 patch 9.0.0405: arguments in a partial not used by a :def function
Problem:    Arguments in a partial not used by a :def function.
Solution:   Put the partial arguments on the stack.
2022-09-07 16:48:46 +01:00
Bram Moolenaar
1540d334a0 patch 9.0.0404: crash when passing invalid arguments to assert_fails()
Problem:    Crash when passing invalid arguments to assert_fails().
Solution:   Check for NULL string.
2022-09-07 15:20:26 +01:00
Luuk van Baal
fd7e60a33d patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Problem:    'equalalways' may be off when 'laststatus' is zero.
Solution:   call last_status() before win_equal(). (Luuk van Baal,
            closes #11070)
2022-09-07 14:42:49 +01:00
Brett Holman
bb6c4073e7 patch 9.0.0402: javascript module files are not recoginzed
Problem:    Javascript module files are not recoginzed.
Solution:   Recognize "*.jsm" files as Javascript. (Brett Holman,
            closes #11069)
2022-09-07 14:13:31 +01:00
Philip H
bd01f476ea patch 9.0.0401: CI uses older clang version
Problem:    CI uses older clang version.
Solution:   Switch from clang 14 to 15. (closes #11066)
2022-09-07 13:30:19 +01:00
K.Takata
e68f1348f2 patch 9.0.0400: GUI test sometimes hangs on CI
Problem:    GUI test sometimes hangs on CI.
Solution:   Delete a test file explicitly. (Ken Takata, closes #11072)
2022-09-07 13:01:11 +01:00
Bram Moolenaar
98aff658d5 patch 9.0.0399: using :defer in expression funcref not tested
Problem:    Using :defer in expression funcref not tested.
Solution:   Add a test.  Fix uncovered problems.
2022-09-06 21:02:35 +01:00
Bram Moolenaar
ca16c60f33 patch 9.0.0398: members of funccall_T are inconsistently named
Problem:    Members of funccall_T are inconsistently named.
Solution:   Use the "fc_" prefix for all members.
2022-09-06 18:57:08 +01:00
Bram Moolenaar
58779858fb patch 9.0.0397: :defer not tested with exceptions and ":qa!"
Problem:    :defer not tested with exceptions and ":qa!".
Solution:   Test :defer works when exceptions are thrown and when ":qa!" is
            used.  Invoke the deferred calls on exit.
2022-09-06 18:31:14 +01:00
matveyt
2834ebdee4 patch 9.0.0396: :findrepl does not escape '&' and '~' properly
Problem:    :findrepl does not escape '&' and '~' properly.
Solution:   Escape depending on the value of 'magic'. (closes #11067)
2022-09-06 17:00:15 +01:00
Philip H
635bb49085 patch 9.0.0395: clang warnings for function prototypes
Problem:    Clang warnings for function prototypes.
Solution:   Remove incomplete function prototypes. (closes #11068)
2022-09-06 16:31:26 +01:00
K.Takata
5903aaf7eb patch 9.0.0394: Cygwin: multibyte characters may be broken in terminal window
Problem:    Cygwin: multibyte characters may be broken in terminal window.
Solution:   Adjust how to read and write on the channel. (Ken Takata,
            closes #11063)
2022-09-06 11:26:56 +01:00
K.Takata
a9480dbc8c patch 9.0.0393: signals test often fails on FreeBSD
Problem:    Signals test often fails on FreeBSD.
Solution:   Use separate files for Suspend and Resume. (Ken Takata,
            closes #11065)
2022-09-06 10:56:19 +01:00
K.Takata
e53a0d4409 patch 9.0.0392: inverted condition is a bit confusing
Problem:    Inverted condition is a bit confusing.
Solution:   Remove the "!" and swap the blocks. (Ken Takata)
2022-09-05 21:45:11 +01:00
Bram Moolenaar
3411265a36 patch 9.0.0391: using separate delete() call instead of writefile() 'D' flag
Problem:    Using separate delete() call instead of writefile() 'D' flag.
Solution:   Use the writefile 'D' flag.
2022-09-05 21:40:44 +01:00
Bram Moolenaar
86d87256c4 patch 9.0.0390: cannot use a partial with :defer
Problem:    Cannot use a partial with :defer.
Solution:   Add the partial arguments before the other arguments.  Disallow
            using a dictionary.
2022-09-05 21:21:25 +01:00
Bram Moolenaar
ccfde4d028 patch 9.0.0389: crash when 'tagfunc' closes the window
Problem:    Crash when 'tagfunc' closes the window.
Solution:   Bail out when the window was closed.
2022-09-05 19:51:13 +01:00
Yegappan Lakshmanan
8894761daf patch 9.0.0388: the do_arg_all() function is too long
Problem:    The do_arg_all() function is too long.
Solution:   Split the function in smaller parts. (Yegappan Lakshmanan,
            closes #11062)
2022-09-05 18:27:47 +01:00
Bram Moolenaar
ddf7dba96e patch 9.0.0387: repeat <ScriptCmd> mapping doesn't use right script context
Problem:    repeating a <ScriptCmd> mapping does not use the right script
            context.
Solution:   When using a mapping put <SID>{sid}; in the redo buffer.
            (closes #11049)
2022-09-05 16:53:21 +01:00
Yegappan Lakshmanan
b1f471ee20 patch 9.0.0386: some code blocks are nested too deep
Problem:    Some code blocks are nested too deep.
Solution:   Bail out earlier. (Yegappan Lakshmanan, closes #11058)
2022-09-05 14:33:47 +01:00
zeertzjq
c47b16a470 patch 9.0.0385: GUI: when CTRL-D is mapped in Insert mode it gets inserted
Problem:    GUI: when CTRL-D is mapped in Insert mode it gets inserted.
            (Yasuhiro Matsumoto)
Solution:   Also recognize modifier starting with CSI. (closes #11057)
2022-09-05 13:05:29 +01:00
Bram Moolenaar
c7d2ff2ca0 patch 9.0.0384: Covertity still complains about using return value of getc()
Problem:    Covertity still complains about using return value of getc().
Solution:   Check for EOF.
2022-09-05 11:04:14 +01:00
Bram Moolenaar
963ab26842 patch 9.0.0383: Coverity complains about unused value
Problem:    Coverity complains about unused value.
Solution:   Use the value.
2022-09-05 10:55:27 +01:00
Bram Moolenaar
31ea6bf530 patch 9.0.0382: freeing the wrong string on failure
Problem:    Freeing the wrong string on failure.
Solution:   Adjust the argument.  Reorder the code.
2022-09-05 10:47:13 +01:00
Dominique Pelle
b40ad4ff14 patch 9.0.0381: writefile test leaves files behind
Problem:    Writefile test leaves files behind.
Solution:   Fix the file names of files to be deleted. (Dominique Pellé,
            closes #11056)
2022-09-04 21:29:46 +01:00
Bram Moolenaar
e1f3ab73bc patch 9.0.0380: deleting files in tests is a hassle
Problem:    Deleting files in tests is a hassle.
Solution:   Use the new 'D' flag of writefile().
2022-09-04 21:29:08 +01:00
Bram Moolenaar
8f7116cadd Revert part of patch merged twice 2022-09-04 18:22:16 +01:00
Bram Moolenaar
fed6bdae6f patch 9.0.0380: deleting files in tests is a hassle
Problem:    Deleting files in tests is a hassle.
Solution:   Use the new 'D' flag of writefile().
2022-09-04 18:10:11 +01:00
Bram Moolenaar
0daafaa7d9 Update runtime files 2022-09-04 17:45:43 +01:00
Bram Moolenaar
806a273f3c patch 9.0.0379: cleaning up after writefile() is a hassle
Problem:    Cleaning up after writefile() is a hassle.
Solution:   Add the 'D' flag to defer deleting the written file.  Very useful
            in tests.
2022-09-04 15:40:36 +01:00
Bram Moolenaar
c1eb131c9e patch 9.0.0378: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize it.
2022-09-04 13:45:15 +01:00
Bram Moolenaar
eb5adf19d1 patch 9.0.0377: argument assignment does not work
Problem:    Argument assignment does not work.
Solution:   Skip over "=".
2022-09-04 13:41:37 +01:00
Yegappan Lakshmanan
6b085b9d73 patch 9.0.0376: clang warns for dead assignments
Problem:    Clang warns for dead assignments.
Solution:   Adjust the code. (Yegappan Lakshmanan, closes #11048)
2022-09-04 12:47:21 +01:00
Bram Moolenaar
c8ac3a072f patch 9.0.0375: the footer feature is unused
Problem:    The footer feature is unused.
Solution:   Remove FEAT_FOOTER and code.
2022-09-04 12:29:28 +01:00
Bram Moolenaar
3c7707680f patch 9.0.0374: Coverity still complains about dropping sign of character
Problem:    Coverity still complains about dropping sign of character.
Solution:   Add intermediate variable.
2022-09-04 11:55:19 +01:00
Bram Moolenaar
a5348f241b patch 9.0.0373: Coverity warns for NULL check and unused return value
Problem:    Coverity warns for NULL check and unused return value.
Solution:   Remove the NULL check, it was already checked earlier.  Add (void)
            to ignore the return value.
2022-09-04 11:42:22 +01:00
Bram Moolenaar
5fbbec180b patch 9.0.0372: MS-Windows: "%T" time format does not appear to work
Problem:    MS-Windows: "%T" time format does not appear to work.
Solution:   Use "%H:%M:%S" instead.
2022-09-03 22:08:11 +01:00
Bram Moolenaar
06fef1b2bd patch 9.0.0371: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize the variable. (John Marriott)
2022-09-03 21:53:28 +01:00
Bram Moolenaar
1d84f7608f patch 9.0.0370: cleaning up afterwards can make a function messy
Problem:    Cleaning up afterwards can make a function messy.
Solution:   Add the :defer command.
2022-09-03 21:35:53 +01:00
Bram Moolenaar
06d32a0c17 patch 9.0.0369: a failing flaky test doesn't mention the time
Problem:    A failing flaky test doesn't mention the time.
Solution:   Add the time for debugging.  Improve error message.
2022-09-03 13:58:47 +01:00
Bram Moolenaar
89083466fa patch 9.0.0368: old Coverity warning for using NULL pointer
Problem:    Old Coverity warning for using NULL pointer.
Solution:   Bail out if dictionary allocation fails.
2022-09-03 12:59:19 +01:00
Bram Moolenaar
0a6bb59f6b patch 9.0.0367: Coverity complains about dropping sign of character
Problem:    Coverity complains about dropping sign of character.
Solution:   Add explicit type cast.
2022-09-03 12:53:20 +01:00
Bram Moolenaar
6ac69ed9a2 patch 9.0.0366: cannot use import->Func() in lambda
Problem:    Cannot use import->Func() in lambda. (Israel Chauca Fuentes)
Solution:   Adjust how an expression in a lambda is parsed. (closes #11042)
2022-09-03 12:09:07 +01:00
Dominique Pelle
91a874eb88 patch 9.0.0365: file name used in test is unusual
Problem:    File name used in test is unusual.
Solution:   Rename it. (Dominique Pellé, closes #11044)
2022-09-03 10:59:32 +01:00
Yegappan Lakshmanan
c99e182e1f patch 9.0.0364: clang static analyzer gives warnings
Problem:    Clang static analyzer gives warnings.
Solution:   Avoid the warnings. (Yegappan Lakshmanan, closes #11043)
2022-09-03 10:52:24 +01:00
Bram Moolenaar
b18b496997 patch 9.0.0363: common names in test files causes tests to be flaky
Problem:    Common names in test files causes tests to be flaky.
Solution:   Use more specific names.
2022-09-02 21:55:50 +01:00
Bram Moolenaar
f5724376ab patch 9.0.0362: expanding ":e %" does not work for remote files
Problem:    Expanding ":e %" does not work for remote files.
Solution:   If the "%" or "#" file does not exist add the expansion anyway.
2022-09-02 19:45:15 +01:00
Yegappan Lakshmanan
956be4678f patch 9.0.0361: removing a listener may result in a memory leak
Problem:    Removing a listener may result in a memory leak and remove
            subsequent listerns.
Solution:   Init the "prev" pointer only once. (Yegappan Lakshmanan,
            closes #11039)
2022-09-02 17:12:07 +01:00
Bram Moolenaar
35d21c6830 patch 9.0.0360: crash when invalid line number on :for is ignored
Problem:    Crash when invalid line number on :for is ignored.
Solution:   Do not check breakpoint for non-existing line.
2022-09-02 16:47:16 +01:00
Yegappan Lakshmanan
8deb2b30c7 patch 9.0.0359: error message for wrong argument type is not specific
Problem:    Error message for wrong argument type is not specific.
Solution:   Include more information in the error. (Yegappan Lakshmanan,
            closes #11037)
2022-09-02 15:15:27 +01:00
Maxim Kim
119167265e patch 9.0.0358: 'breakindent' does not indent non-lists
Problem:    'breakindent' does not indent non-lists with
            "breakindentopt=list:-1".
Solution:   Adjust indent computation. (Maxim Kim, closes #11038)
2022-09-02 14:08:53 +01:00
Bram Moolenaar
cf2bb63397 patch 9.0.0357: 'linebreak' interferes with text property highlight
Problem:    'linebreak' interferes with text property highlight if there is
            syntax highlighting.
Solution:   Check the text prop attributes after combining with syntax
            attributes. (closes #11035)
2022-09-02 13:26:29 +01:00
Yasuhiro Matsumoto
a02a8a4d84 patch 9.0.0356: :echowindow sets the in_echowindow flag too early
Problem:    :echowindow sets the in_echowindow flag too early.
Solution:   Set in_echowindow only when outputting the text. (Yasuhiro
            Matsumoto, closes #11033)
2022-09-02 12:16:21 +01:00
thinca
6c667bdc94 patch 9.0.0355: check for uppercase char in autoload name is wrong
Problem:    Check for uppercase char in autoload name is wrong, it checks the
            name of the script.
Solution:   Remove the check. (closes #11031)
2022-09-02 11:25:37 +01:00
Bram Moolenaar
a906e8e1ab patch 9.0.0354: MS-Windows: starting a python server for test sometimes fails
Problem:    MS-Windows: starting a python server for test sometimes fails.
Solution:   Increase the waiting time for the port.
2022-09-01 18:42:32 +01:00
Bram Moolenaar
68a635a80a patch 9.0.0353: missing entry in switch
Problem:    Missing entry in switch.
Solution:   Add ISN_ECHOWINDOW.
2022-09-01 17:26:17 +01:00
Bram Moolenaar
3b474dcd30 patch 9.0.0352: using :echowindow in a timer clears part of message
Problem:    using :echowindow in a timer clears part of message
Solution:   Do not use msg_clr_eos().
2022-09-01 17:01:32 +01:00
Bram Moolenaar
b5b4f61cf1 patch 9.0.0351: message window may obscure the command line
Problem:    Message window may obscure the command line.
Solution:   Reduce the maximum height of the message window.
2022-09-01 16:43:17 +01:00
Bram Moolenaar
7d7ad7b2e8 patch 9.0.0350: :echowindow does not work in a compiled function
Problem:    :echowindow does not work in a compiled function.
Solution:   Handle the expression at compile time.
2022-09-01 16:00:53 +01:00
Bram Moolenaar
be807d5824 patch 9.0.0349: filetype of *.sil files not well detected
Problem:    Filetype of *.sil files not well detected.
Solution:   Inspect the file contents to guess the filetype.
2022-09-01 15:01:25 +01:00
Bram Moolenaar
36eb14fa3e patch 9.0.0348: MS-Windows: GUI mouse move event test is flaky
Problem:    MS-Windows: GUI mouse move event test is flaky.
Solution:   Wait for a little while for the first move event.
2022-09-01 14:38:01 +01:00
K.Takata
df5320c439 patch 9.0.0347: MS-Windows: cannot set cursor shape in Windows Terminal
Problem:    MS-Windows: cannot set cursor shape in Windows Terminal.
Solution:   Make cursor shape work with Windows Terminal. (Ken Takata,
            closes #11028, closes #6576)
2022-09-01 13:20:16 +01:00
zeertzjq
d3de178e53 patch 9.0.0346: :horizontal modifier not fully supported
Problem:    :horizontal modifier not fully supported.
Solution:   Also use :horizontal for completion and user commands.
            (closes #11025)
2022-09-01 12:58:52 +01:00
Bram Moolenaar
d83392a43a patch 9.0.0345: error message for list argument could be clearer
Problem:    Error message for list argument could be clearer.
Solution:   Include the argument number. (Yegappan Lakshmanan, closes #11027)
2022-09-01 12:22:46 +01:00
Yasuhiro Matsumoto
e42c8dae32 patch 9.0.0344: MS-Windows: background color wrong in Console
Problem:    MS-Windows: background color wrong in Console.
Solution:   Figure out the default console background color. (Yasuhiro
            Matsumoto, issue #10310)
2022-09-01 11:31:45 +01:00
Bram Moolenaar
5d09a401ec patch 9.0.0343: ColorScheme autocommand triggered when colorscheme not found
Problem:    ColorScheme autocommand triggered when colorscheme is not found.
            (Romain Lafourcade)
Solution:   Only trigger ColorScheme when loading the colorscheme succeeds.
            (closes #11024)
2022-08-31 21:17:10 +01:00
Bram Moolenaar
21c3a80a7f patch 9.0.0342: ":wincmd =" equalizes in two directions
Problem:    ":wincmd =" equalizes in two directions.
Solution:   Make ":vertical wincmd =" equalize vertically only and
            ":horizontal wincmd =" equalize horizontally only.
2022-08-31 17:49:14 +01:00
zeertzjq
92a3d20682 patch 9.0.0341: mapset() does not restore <Nop> mapping properly
Problem:    mapset() does not restore <Nop> mapping properly.
Solution:   Use an empty string for <Nop>. (closes #11022)
2022-08-31 16:40:17 +01:00
Bram Moolenaar
a2a8973e51 patch 9.0.0340: the 'cmdheight' zero support causes too much trouble
Problem:    The 'cmdheight' zero support causes too much trouble.
Solution:   Revert support for 'cmdheight' being zero.
2022-08-31 14:46:18 +01:00
Bram Moolenaar
a63ad78ed3 patch 9.0.0339: no check if the return value of XChangeGC() is NULL
Problem:    No check if the return value of XChangeGC() is NULL.
Solution:   Only use the return value when it is not NULL. (closes #11020)
2022-08-31 12:01:54 +01:00
Bram Moolenaar
9ba6194d4c patch 9.0.0338: return value of list_append_list() not always checked
Problem:    Return value of list_append_list() not always checked.
Solution:   Check return value and handle failure.
2022-08-31 11:25:06 +01:00
Bram Moolenaar
b22653a98e patch 9.0.0337: flicker when resetting cmdline_row after updating the screen
Problem:    Flicker when resetting cmdline_row after updating the screen.
Solution:   Do not update cmdline_row. (issue #11017)
2022-08-30 22:24:26 +01:00
Bram Moolenaar
61abe7d8f8 patch 9.0.0336: tests are flaky because of using a common file name
Problem:    Tests are flaky because of using a common file name.
Solution:   Rename files and directories to be more unique.
2022-08-30 21:46:08 +01:00
Bram Moolenaar
9b03d3e75b Update runtime files 2022-08-30 20:26:34 +01:00
Yegappan Lakshmanan
04c4c5746e patch 9.0.0335: checks for Dictionary argument often give a vague error
Problem:    Checks for Dictionary argument often give a vague error message.
Solution:   Give a useful error message. (Yegappan Lakshmanan, closes #11009)
2022-08-30 19:48:24 +01:00
Dominique Pelle
f240395fca patch 9.0.0334: test does not properly clean up
Problem:    Test does not properly clean up.
Solution:   Fix typo in argument of delete(). (Dominique Pellé, closes #11010)
2022-08-30 18:42:16 +01:00
Bram Moolenaar
171a1607f4 patch 9.0.0333: method test fails
Problem:    Method test fails.
Solution:   Adjust test for items() now working on string.
2022-08-30 18:26:19 +01:00
zeertzjq
9c8f94636b patch 9.0.0332: overwrite check may block BufWriteCmd
Problem:    Overwrite check may block BufWriteCmd.
Solution:   Do not use overwrite check when 'buftype' is "acwrite".
            (closes #11011)
2022-08-30 18:17:15 +01:00
Bram Moolenaar
3e518a8ec7 patch 9.0.0331: cannot use items() on a string
Problem:    Cannot use items() on a string.
Solution:   Make items() work on a string. (closes #11016)
2022-08-30 17:45:33 +01:00
Bram Moolenaar
f92cfb1acc patch 9.0.0330: method tests fail
Problem:    Method tests fail.
Solution:   Adjust for change of items().
2022-08-30 16:40:45 +01:00
Bram Moolenaar
24735f2a19 patch 9.0.0329: ":highlight" hangs when 'cmdheight' is zero
Problem:    ":highlight" hangs when 'cmdheight' is zero.
Solution:   Add to msg_col when using the message window. (closes #11014)
2022-08-30 15:44:22 +01:00
Bram Moolenaar
e27d6e6382 patch 9.0.0328: OLD_DIGRAPHS is unused
Problem:    OLD_DIGRAPHS is unused.
Solution:   Remove OLD_DIGRAPHS.  Also drop HPUX_DIGRAPHS.
2022-08-30 15:05:30 +01:00
Bram Moolenaar
976f859763 patch 9.0.0327: items() does not work on a list
Problem:    items() does not work on a list. (Sergey Vlasov)
Solution:   Make items() work on a list. (closes #11013)
2022-08-30 14:34:52 +01:00
Shougo Matsushita
0e412be00f patch 9.0.0326: some changes for cmdheight=0 are not needed
Problem:    Some changes for cmdheight=0 are not needed.
Solution:   Revert resize behavior if height is greater than the available
            space. (Shougo Matsushita, closes #11008)
2022-08-30 11:54:21 +01:00
Bram Moolenaar
816736bcc7 patch 9.0.0325: MS-Windows: completion test fails
Problem:    MS-Windows: completion test fails.
Solution:   Adjust directory prefix.
2022-08-29 23:01:45 +01:00
Bram Moolenaar
15cae5c9ca patch 9.0.0324: MS-Windows: resolve() test fails
Problem:    MS-Windows: resolve() test fails.
Solution:   Revert renaming the directory.
2022-08-29 22:51:38 +01:00
Bram Moolenaar
3b0d70f4ff patch 9.0.0323: using common name in tests leads to flaky tests
Problem:    Using common name in tests leads to flaky tests.
Solution:   Rename files and directories to be more specific.
2022-08-29 22:31:20 +01:00
Bram Moolenaar
4f1b083be4 patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Problem:    Crash when no errors and 'quickfixtextfunc' is set.
Solution:   Do not handle errors if there aren't any.
2022-08-29 20:45:16 +01:00
Bram Moolenaar
37fef16c22 patch 9.0.0321: cannot use the message popup window directly
Problem:    Cannot use the message popup window directly.
Solution:   Add ":echowindow".
2022-08-29 18:16:32 +01:00
zeertzjq
54acb90d9e patch 9.0.0320: command line type of CmdlineChange differs from getcmdtype()
Problem:    Command line type of CmdlineChange differs from getcmdtype().
Solution:   Use the same type. (closes #11005)
2022-08-29 16:21:25 +01:00
Maxim Kim
d5c8f11905 patch 9.0.0319: Godot shader files are not recognized
Problem:    Godot shader files are not recognized.
Solution:   Add patterns for "gdshader". (Maxim Kim, closes #11006)
2022-08-29 15:28:53 +01:00
Bram Moolenaar
13608d851a patch 9.0.0318: clearing screen causes flicker
Problem:    Clearing screen causes flicker.
Solution:   Do not clear but redraw in more cases.  Add () to "wait_return".
2022-08-29 15:06:50 +01:00
Bram Moolenaar
b13d3405ff patch 9.0.0317: when updating the whole screen a popup may not be redrawn
Problem:    When updating the whole screen a popup may not be redrawn.
Solution:   Mark the screen and windows for redraw also when not clearing.
            Also mark popup windows for redraw.
2022-08-29 13:44:28 +01:00
Bram Moolenaar
f73e5ba56f patch 9.0.0316: screen flickers when 'cmdheight' is zero
Problem:    Screen flickers when 'cmdheight' is zero.
Solution:   Redraw over existing text instead of clearing.
2022-08-29 12:41:06 +01:00
Bram Moolenaar
309c4e0ed7 patch 9.0.0315: shell command is displayed in message window
Problem:    Shell command is displayed in message window.
Solution:   Do not echo the shell command in the message window.
2022-08-29 12:23:39 +01:00
Alessandro Pezzoni
bf26941f40 patch 9.0.0314: VDM files are not recognized
Problem:    VDM files are not recognized.
Solution:   Add patterns for VDM files. (Alessandro Pezzoni, closes #11004)
2022-08-29 11:57:30 +01:00
Bram Moolenaar
e7cda97b6b patch 9.0.0313: using common name in tests leads to flaky tests
Problem:    Using common name in tests leads to flaky tests.
Solution:   Rename files and directories to be more specific.
2022-08-29 11:02:59 +01:00
Bram Moolenaar
98d1069a9c patch 9.0.0312: test for cmdheight zero fails
Problem:    Test for cmdheight zero fails.
Solution:   Do not close the messages window for CTRL-C.
2022-08-29 00:08:39 +01:00
Bram Moolenaar
926218b5da patch 9.0.0311: test for hit-Enter prompt fails
Problem:    Test for hit-Enter prompt fails.
Solution:   Only reset cmdline_row when 'cmdheight' is zero.
2022-08-28 23:36:52 +01:00
Bram Moolenaar
b849c82851 patch 9.0.0310: output of :messages dissappears when cmdheight is zero
Problem:    Output of :messages dissappears when cmdheight is zero.
Solution:   Do not use the messages window for :messages.  Make Esc close the
            messages window.
2022-08-28 22:46:21 +01:00
Bram Moolenaar
7a99da43d1 patch 9.0.0309: invalid memory access when cmdheight is zero
Problem:    Invalid memory access when cmdheight is zero.
Solution:   Check index in w_lines is smaller than Rows.
2022-08-28 22:21:01 +01:00
Bram Moolenaar
33a5dd8b23 patch 9.0.0308: when cmdheight is zero the attention prompt doesn't show
Problem:    When cmdheight is zero the attention prompt doesn't show.
Solution:   Do not use the message window for a prompt.
2022-08-28 22:17:50 +01:00
Bram Moolenaar
134b86553c patch 9.0.0307: :echomsg doesn't work properly with cmdheight=0
Problem:    :echomsg doesn't work properly with cmdheight=0.
Solution:   Improve scrolling and displaying.
2022-08-28 21:36:43 +01:00
Bram Moolenaar
f2fb54f641 patch 9.0.0306: buffer write message is two lines in message popup window
Problem:    Buffer write message is two lines in message popup window.
Solution:   Overwrite message if "msg_scroll" is off.
2022-08-28 20:58:51 +01:00
Philip H
533c306921 patch 9.0.0305: CI lists useless deprecation warnings
Problem:    CI lists useless deprecation warnings.
Solution:   Ignore deprecation warnings. (closes #11003)
2022-08-28 19:41:36 +01:00
zeertzjq
670ab0334b patch 9.0.0304: WinScrolled is not triggered when only skipcol changes
Problem:    WinScrolled is not triggered when only skipcol changes.
Solution:   Add w_last_skipcol and use it. (closes #10998)
2022-08-28 19:16:15 +01:00
Yegappan Lakshmanan
2f892d8663 patch 9.0.0303: it is not easy to get information about a script
Problem:    It is not easy to get information about a script.
Solution:   Make getscriptinf() return the version.  When selecting a specific
            script return functions and variables. (Yegappan Lakshmanan,
            closes #10991)
2022-08-28 18:52:10 +01:00
Philip H
75e9a6693e patch 9.0.0302: CI for Coverity is bothered by deprecation warnings
Problem:    CI for Coverity is bothered by deprecation warnings.
Solution:   Ignore deprecation warnings. (closes #11002)
2022-08-28 17:59:05 +01:00
Bram Moolenaar
878e1d25a0 patch 9.0.0301: the message window popup is delayed after an error message
Problem:    The message window popup is delayed after an error message.
Solution:   Do not set emsg_on_display when using the message window.
2022-08-28 17:53:23 +01:00
Bram Moolenaar
a85e4db978 patch 9.0.0300: 'cpoptions' tests are flaky
Problem:    'cpoptions' tests are flaky.
Solution:   Use a different file name for each test.
2022-08-28 17:44:20 +01:00
Yegappan Lakshmanan
25f1e55562 patch 9.0.0299: error messages for setcmdline() could be better
Problem:    Error messages for setcmdline() could be better.
Solution:   Use more specific error messages. (Yegappan Lakshmanan,
            closes #10995)
2022-08-28 17:25:04 +01:00
Wilhelm Payne
8934ec027d patch 9.0.0298: compiler warning for size_t to int conversion
Problem:    Compiler warning for size_t to int conversion.
Solution:   Add a type cast. (Wilhelm Payne, closes #11000)
2022-08-28 17:08:18 +01:00
Bram Moolenaar
c8bf59e9b2 patch 9.0.0297: cursor position wrong after right aligned virtual text
Problem:    Cursor position wrong after right aligned virtual text. (Iizuka
            Masashi)
Solution:   Take the width of the column offset into account. (closes #10997)
            Also fix virtual text positioning.
2022-08-28 16:39:22 +01:00
Bram Moolenaar
35a4fbc5d0 patch 9.0.0296: message in popup is shortened unnecessary
Problem:    Message in popup is shortened unnecessary.
Solution:   Do not use 'showcmd' and 'ruler' for a message in the popup.
            Set the timer when unhiding the message popup.
2022-08-28 14:39:53 +01:00
Bram Moolenaar
00d4ceecca patch 9.0.0295: GUI drop files test sometimes fails
Problem:    GUI drop files test sometimes fails.
Solution:   Mark the test as flaky.
2022-08-28 13:38:43 +01:00
Bram Moolenaar
43568648df patch 9.0.0294: crash when 'cmdheight' is 0 and popup_clear() used
Problem:    Crash when 'cmdheight' is 0 and popup_clear() used.
Solution:   Reset "message_win" when the message popup is cleared.  Close the
            popup when 'cmdheight' is non-zero.  Add a screendump test.
2022-08-28 13:02:45 +01:00
Bram Moolenaar
b0509c542e patch 9.0.0293: messages window not hidden when starting a command line
Problem:    Messages window not hidden when starting a command line.
Solution:   Hide the messages window. (closes #10996)
2022-08-28 12:06:21 +01:00
Bram Moolenaar
d1f8fd5907 patch 9.0.0292: test causes another test to fail
Problem:    Test causes another test to fail.
Solution:   Redraw to remove the popup window
2022-08-27 22:51:25 +01:00
Bram Moolenaar
efdfb0c5ee patch 9.0.0291: test failing
Problem:    Test failing.
Solution:   Run test with cmdheight=0 last.
2022-08-27 22:21:07 +01:00
Bram Moolenaar
d54af2e550 patch 9.0.0290: compiler warning for variable set but not used
Problem:    Compiler warning for variable set but not used.
Solution:   Add #ifdef.
2022-08-27 22:05:13 +01:00
Bram Moolenaar
beedd0a266 patch 9.0.0289: invalid memory write
Problem:    Invalid memory write.
Solution:   Do not put NUL in a static string.
2022-08-27 21:52:52 +01:00
Bram Moolenaar
9198de3ae2 patch 9.0.0288: when 'cmdheight' is zero some messages are not displayed
Problem:    When 'cmdheight' is zero some messages are not displayed.
Solution:   Use a popup notification window.
2022-08-27 21:30:03 +01:00
Yegappan Lakshmanan
aebc6ef7cd patch 9.0.0287: Irix systems no longer exist
Problem:    Irix systems no longer exist.
Solution:   Remove references to Irix. (Yegappan Lakshmanan, closes #10994)
2022-08-27 21:24:26 +01:00
Yegappan Lakshmanan
6d24a51b94 patch 9.0.0286: using freed memory when location list changed in autocmd
Problem:    Using freed memory when location list changed in autocmd.
Solution:   Return QF_ABORT and handle it. (Yegappan Lakshmanan,
            closes #10993)
2022-08-27 20:59:57 +01:00
Shougo Matsushita
07ea5f1509 patch 9.0.0285: it is not easy to change the command line from a plugin
Problem:    It is not easy to change the command line from a plugin.
Solution:   Add setcmdline(). (Shougo Matsushita, closes #10869)
2022-08-27 12:22:25 +01:00
Bram Moolenaar
5ff595d9db patch 9.0.0284: using static buffer for multiple completion functions
Problem:    Using static buffer for multiple completion functions.
Solution:   Use one buffer in expand_T.
2022-08-26 22:36:41 +01:00
bfredl
af9a6002e0 patch 9.0.0283: cannot complete "syn list @cluster"
Problem:    Cannot complete "syn list @cluster".
Solution:   Recognize and handle "list @". (Björn Linse, closes #10990)
2022-08-26 21:58:31 +01:00
Bram Moolenaar
0f61838636 patch 9.0.0282: a nested timout stops the previous timeout
Problem:    A nested timout stops the previous timeout.
Solution:   Ignore any nested timeout.
2022-08-26 21:33:04 +01:00
Bram Moolenaar
58dcbf1c65 patch 9.0.0281: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Add #ifdef.
2022-08-26 19:58:49 +01:00
Bram Moolenaar
7dd543246a Update runtime files 2022-08-26 18:01:12 +01:00
Bram Moolenaar
2ee347fbc0 patch 9.0.0280: the builtin termcap list depends on the version
Problem:    The builtin termcap list depends on the version.
Solution:   Always include all termcap entries.  Remove duplicate lines.
2022-08-26 17:53:44 +01:00
Bram Moolenaar
5416232707 patch 9.0.0279: the tiny version has the popup menu but not 'wildmenu'
Problem:    The tiny version has the popup menu but not 'wildmenu'.
Solution:   Graduate the wildmenu feature.
2022-08-26 16:58:51 +01:00
Bram Moolenaar
074fbd4131 patch 9.0.0278: the +wildignore feature is nearly always available
Problem:    The +wildignore feature is nearly always available.
Solution:   Graduate +wildignore for consistency.
2022-08-26 16:41:14 +01:00
Philip H
c361842f14 patch 9.0.0277: Coverity CI: update-alternatives not needed with Ubuntu 20.04
Problem:    Coverity CI: update-alternatives not needed with Ubuntu 20.04.
Solution:   Remove update-alternatives for Lua. (closes #10987)
2022-08-26 15:48:55 +01:00
zeertzjq
93f72cc119 patch 9.0.0276: 'buftype' values not sufficiently tested
Problem:    'buftype' values not sufficiently tested.
Solution:   Add and extend tests with 'buftype' values. (closes #10988)
2022-08-26 15:34:52 +01:00
Bram Moolenaar
a9b5b85068 patch 9.0.0275: BufEnter not triggered when using ":edit" in "nofile" buffer
Problem:    BufEnter not triggered when using ":edit" in "nofile" buffer.
Solution:   Let readfile() return NOTDONE. (closes #10986)
2022-08-26 13:16:20 +01:00
Bram Moolenaar
c312619f7c patch 9.0.0274: netrw plugin does not show remote files
Problem:    Netrw plugin does not show remote files.
Solution:   Do read a file when 'buftype' is "acwrite". (closes #10983)
2022-08-26 12:58:17 +01:00
Bram Moolenaar
d55f9ef8b2 patch 9.0.0273: Konsole termresponse not recognized
Problem:    Konsole termresponse not recognized.
Solution:   Handle Konsole like libvterm, set 'ttymouse' to "sgr".
            (closes #10990)
2022-08-26 12:26:07 +01:00
Bram Moolenaar
b1d2c8116c patch 9.0.0272: BufReadCmd not triggered when loading a "nofile" buffer
Problem:    BufReadCmd not triggered when loading a "nofile" buffer. (Maxim
            Kim)
Solution:   Call readfile() but bail out before reading a file.
            (closes #10983)
2022-08-26 11:55:01 +01:00
zeertzjq
9b7d2a9596 patch 9.0.0271: using INIT() in non-header files
Problem:    Using INIT() in non-header files.
Solution:   Remove INIT(). (closes #10981)
2022-08-26 10:33:54 +01:00
Bram Moolenaar
2bd9dbc19f patch 9.0.0270: some values of 'path' and 'tags' invalid in the tiny version
Problem:    Some values of 'path' and 'tags' do not work in the tiny version.
Solution:   Graduate the +path_extra feature.
2022-08-25 18:12:06 +01:00
Yegappan Lakshmanan
520f6ef60a patch 9.0.0269: getscriptinfo() does not include the version
Problem:    getscriptinfo() does not include the version.  Cannot select
            entries by script name.
Solution:   Add the "version" item and the "name" argument. (Yegappan
            Lakshmanan, closes #10962)
2022-08-25 17:40:40 +01:00
Bram Moolenaar
0166e398d1 patch 9.0.0268: build error without the +eval feature
Problem:    Build error without the +eval feature.
Solution:   Remove #ifdef.
2022-08-25 16:30:01 +01:00
Philip H
930830a68b patch 9.0.0267: Coverity workflow still uses Ubuntu 18.04
Problem:    Coverity workflow still uses Ubuntu 18.04.
Solution:   Use Ubuntu 20.04
2022-08-25 16:24:56 +01:00
Bram Moolenaar
340dafd155 patch 9.0.0266: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
2022-08-25 16:16:45 +01:00
Bram Moolenaar
f80f40a55c patch 9.0.0265: no good reason why the "gf" command isn't in the tiny version
Problem:    No good reason why the "gf" command is not in the tiny version.
Solution:   Graduate the file_in_path feature.
2022-08-25 16:02:23 +01:00
Philip H
b213703f35 patch 9.0.0264: CI still runs on Ubuntu 18.04
Problem:    CI still runs on Ubuntu 18.04.
Solution:   Run CI on Ubuntu 20.04. (closes #10582)
2022-08-25 15:21:24 +01:00
Bram Moolenaar
6d4b2f54df patch 9.0.0263: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Make some functions always available.
2022-08-25 15:11:15 +01:00
Bram Moolenaar
2e6dcbc445 patch 9.0.0262: build failure without the +quickfix feature
Problem:    Build failure without the +quickfix feature.
Solution:   Add #ifdef.
2022-08-25 13:54:16 +01:00
Bram Moolenaar
2eddbacd6d patch 9.0.0261: bufload() reads a file even if the name is not a file name
Problem:    bufload() reads a file even if the name is not a file name. (Cyker
            Way)
Solution:   Do not read the file when the buffer name is not a file name.
            (closes #10975)
2022-08-25 12:45:21 +01:00
Bram Moolenaar
d6c67629ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Problem:    Using freed memory when using 'quickfixtextfunc' recursively.
Solution:   Do not allow for recursion.
2022-08-24 20:07:22 +01:00
Bram Moolenaar
80525751c5 patch 9.0.0259: crash with mouse click when not initialized
Problem:    Crash with mouse click when not initialized.
Solution:   Check TabPageIdxs[] is not NULL.
2022-08-24 19:27:45 +01:00
Bram Moolenaar
fd999452ad Update runtime files 2022-08-24 18:30:14 +01:00
K.Takata
44b9abb150 patch 9.0.0258: MS-Windows installer skips syntax/shared
Problem:    MS-Windows installer skips syntax/shared.
Solution:   Use "File /r" in the installer script. (Ken Takata, closes #10972)
2022-08-24 18:08:00 +01:00
Bram Moolenaar
7ea9fcb48d patch 9.0.0257: "->" in ":scriptnames" output not tested yet
Problem:    "->" in ":scriptnames" output not tested yet.
Solution:   Add a check.
2022-08-24 17:46:12 +01:00
Bram Moolenaar
5214b29461 patch 9.0.0256: compiler warning for uninitialized variables
Problem:    Compiler warning for uninitialized variables.
Solution:   Initilize the variables.
2022-08-24 17:32:35 +01:00
Bram Moolenaar
0af2ecfe44 patch 9.0.0255: build failure without the eval feature
Problem:    Build failure without the eval feature.
Solution:   Add #ifdef.
2022-08-24 17:05:56 +01:00
zeertzjq
5fb3aabc2b patch 9.0.0254: typo in function name
Problem:    Typo in function name.
Solution:   Rename the function. (closes #10971)
2022-08-24 16:48:23 +01:00
Bram Moolenaar
753885b6c5 patch 9.0.0253: a symlink to an autoload script results in two entries
Problem:    A symlink to an autoload script results in two entries in the list
            of scripts, items expected in one are actually in the other.
Solution:   Have one script item refer to the actually sourced one.
            (closes #10960)
2022-08-24 16:30:36 +01:00
Bram Moolenaar
f5240b96f7 patch 9.0.0252: cursor in wrong place after virtual text
Problem:    Cursor in wrong place after virtual text.
Solution:   Do not change the length of a virtual text property.
            (closes #10964)
2022-08-24 12:24:37 +01:00
huang06
762df0477c patch 9.0.0251: test output shows up in git
Problem:    Test output shows up in git.
Solution:   Ignore the "failed" directory. (Yao-Ching Huang, closes #10969)
2022-08-24 11:26:16 +01:00
Bram Moolenaar
dde77a7c4d patch 9.0.0250: slightly inconsistent error messages
Problem:    Slightly inconsistent error messages.
Solution:   Make it "Using a Float". (closes #10959)
2022-08-23 21:41:15 +01:00
Bram Moolenaar
3a7ad904d2 patch 9.0.0249: no test for what 9.0.0234 fixes
Problem:    No test for what 9.0.0234 fixes.
Solution:   Add a test. (issue #10950)
2022-08-23 19:54:27 +01:00
zeertzjq
a247142ae4 patch 9.0.0248: duplicate code in finding a script in the execution stack
Problem:    Duplicate code in finding a script in the execution stack.
Solution:   Reduce duplicate code. (closes #10961)
2022-08-23 19:26:05 +01:00
Bram Moolenaar
f396ce83ee patch 9.0.0247: cannot add padding to virtual text without highlight
Problem:    Cannot add padding to virtual text without highlight.
Solution:   Add the "text_padding_left" argument. (issue #10906)
2022-08-23 18:39:37 +01:00
Bram Moolenaar
adce965162 patch 9.0.0246: using freed memory when 'tagfunc' deletes the buffer
Problem:    Using freed memory when 'tagfunc' deletes the buffer.
Solution:   Make a copy of the tag name.
2022-08-22 16:35:45 +01:00
Bram Moolenaar
471c0fa3ee patch 9.0.0245: mechanism to prevent recursive screen updating is incomplete
Problem:    Mechanism to prevent recursive screen updating is incomplete.
Solution:   Add "redraw_not_allowed" and set it in build_stl_str_hl().
            (issue #10952)
2022-08-22 15:19:16 +01:00
Yegappan Lakshmanan
f768c3d19c patch 9.0.0244: cannot easily get the list of sourced scripts
Problem:    Cannot easily get the list of sourced scripts.
Solution:   Add the getscriptinfo() function. (Yegappan Lakshmanan,
            closes #10957)
2022-08-22 13:15:13 +01:00
Bram Moolenaar
e89aeed43e patch 9.0.0243: text properties "below" sort differently on MS-Windows
Problem:    Text properties "below" sort differently on MS-Windows.
Solution:   Use the ID as a tie breaker. (closes #10958)
2022-08-22 13:00:16 +01:00
Bram Moolenaar
171c683237 patch 9.0.0242: "make install" still fails
Problem:    "make install" still fails. (Wilhelm Payne)
Solution:   Also add the directory to installrtbase. (Dominique Pellé)
2022-08-21 22:20:20 +01:00
Bram Moolenaar
448f72a78a patch 9.0.0241: "make install" does not install shared syntax file
Problem:    "make install" does not install shared syntax file. (James McCoy)
Solution:   Install and uninstall the shared syntax files. (closes #10956)
2022-08-21 21:05:08 +01:00
Bram Moolenaar
6669de1b23 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Problem:    Crash when using ":mkspell" with an empty .dic file.
Solution:   Check for an empty word tree.
2022-08-21 20:33:47 +01:00
Bram Moolenaar
8884916043 patch 9.0.0239: build failure without the +wildmenu feature
Problem:    Build failure without the +wildmenu feature.
Solution:   Move parenthesis.
2022-08-21 19:08:50 +01:00
Bram Moolenaar
300175fd7f patch 9.0.0238: Shift-Tab shows matches on cmdline when 'wildmenu' is off
Problem:    Shift-Tab shows matches on cmdline when 'wildmenu' is off.
Solution:   Only show matches when 'wildmode' contains "list". (closes #10951)
2022-08-21 18:38:21 +01:00
Evan Miller
e24a14118c patch 9.0.0237: Mac: cannot build if dispatch.h is not available
Problem:    Mac: cannot build if dispatch.h is not available.
Solution:   Add #ifdef. (Evan Miller, closes #10954)
2022-08-21 17:24:00 +01:00
zeertzjq
b82a2ab8ad patch 9.0.0236: popup menu not removed when 'wildmenu' reset while visible
Problem:    Popup menu not removed when 'wildmenu' reset while it is visible.
Solution:   Do not check p_wmnu, only pum_visible(). (closes #10953)
2022-08-21 14:33:57 +01:00
Bram Moolenaar
474ad390cc patch 9.0.0235: 'autoshelldir' does not work with chunked respose
Problem:    'autoshelldir' does not work with chunked respose.
Solution:   Collect chunks before parsing OSC 7. (closes #10949)
2022-08-21 11:37:17 +01:00
Bram Moolenaar
8d69637133 patch 9.0.0234: cannot make difference between :normal end and argument char
Problem:    Cannot make difference between the end of :normal and a character
            in its argument.
Solution:   Add the "typebuf_was_empty" flag. (closes #10950)
2022-08-21 10:40:07 +01:00
Ben Jackson
a7704226a2 patch 9.0.0233: removing multiple text properties takes many calls
Problem:    Removing multiple text properties takes many calls.
Solution:   Pass a list to prop_remove(). (Ben Jackson, closes #10945)
2022-08-20 20:54:51 +01:00
Bram Moolenaar
38ea5bda2b patch 9.0.0232: test with BufNewFile autocmd is flaky
Problem:    Test with BufNewFile autocmd is flaky.
Solution:   Use another file name.
2022-08-20 20:09:14 +01:00
Bram Moolenaar
57e95179ab patch 9.0.0231: expanding "**" may loop forever with directory links
Problem:    Expanding "**" may loop forever with directory links.
Solution:   Check for being interrupted. (closes #10946)
2022-08-20 19:26:14 +01:00
Bram Moolenaar
2984ed31d9 patch 9.0.0230: no error for comma missing in list in :def function
Problem:    No error for comma missing in list in :def function.
Solution:   Check for missing comma. (closes #10943)
2022-08-20 14:51:17 +01:00
Bram Moolenaar
62e0e2e54b patch 9.0.0229: Vim9: error message for missing type is not clear
Problem:    Vim9: error message for missing type is not clear.
Solution:   Mention the context. (issue #10944)
2022-08-20 12:07:58 +01:00
Bram Moolenaar
e80086446c Update runtime files 2022-08-19 17:15:35 +01:00
Bram Moolenaar
13ed494bb5 patch 9.0.0228: crash when pattern looks below the last line
Problem:    Crash when pattern looks below the last line.
Solution:   Consider invalid lines to be empty. (closes #10938)
2022-08-19 13:59:25 +01:00
Bram Moolenaar
213e70e284 patch 9.0.0227: cannot read error message when abort() is called
Problem:    Cannot read error message when abort() is called.
Solution:   Output a newline before calling abort().
2022-08-19 13:17:21 +01:00
Bram Moolenaar
9e043181ad patch 9.0.0226: job_start() test may fail under valgrind
Problem:    job_start() test may fail under valgrind.
Solution:   Wait until the job is running.
2022-08-18 15:22:09 +01:00
Bram Moolenaar
91c7cbfe31 patch 9.0.0225: using freed memory with multiple line breaks in expression
Problem:    Using freed memory with multiple line breaks in expression.
Solution:   Free eval_tofree later.
2022-08-18 13:28:31 +01:00
Bram Moolenaar
4875d6ab06 patch 9.0.0224: Using NULL pointer when skipping compiled code
Problem:    Using NULL pointer when skipping compiled code.
Solution:   Check for skipping.
2022-08-17 15:55:51 +01:00
zeertzjq
5fd6ab820b patch 9.0.0223: typo in diffmode test
Problem:    Typo in diffmode test.
Solution:   Fix the typo. (closes #10932)
2022-08-17 12:09:45 +01:00
Bram Moolenaar
887748742d patch 9.0.0222: no good reason why text objects are only in larger builds
Problem:    No good reason why text objects are only in larger builds.
Solution:   Graduate +textobjects.
2022-08-16 20:24:29 +01:00
Bram Moolenaar
1889f499a4 patch 9.0.0221: accessing freed memory if compiling nested function fails
Problem:    Accessing freed memory if compiling nested function fails.
Solution:   Mess up the variable name so that it won't be found.
2022-08-16 19:34:44 +01:00
Bram Moolenaar
f6d39c31d2 patch 9.0.0220: invalid memory access with for loop over NULL string
Problem:    Invalid memory access with for loop over NULL string.
Solution:   Make sure mb_ptr2len() consistently returns zero for NUL.
2022-08-16 17:50:38 +01:00
Kota Kato
948a3894d9 patch 9.0.0219: cannot make a funcref with "s:func" in a def function
Problem:    Cannot make a funcref with "s:func" in a def function in legacy
            script.
Solution:   Allow for using a lower case function name after "s:". (Kota Kato,
            closes #10926)
2022-08-16 16:09:59 +01:00
Bram Moolenaar
e98c88c44c patch 9.0.0218: reading before the start of the line
Problem:    Reading before the start of the line.
Solution:   When displaying "$" check the column is not negative.
2022-08-16 14:51:53 +01:00
Bram Moolenaar
e1f3fd1d02 Update runtime files 2022-08-15 18:51:32 +01:00
zeertzjq
5a4fff4d94 patch 9.0.0217: 'shellslash' works differently when sourcing a script again
Problem:    'shellslash' works differently when sourcing a script again.
Solution:   Use the name from the script item. (closes #10920)
2022-08-15 17:53:55 +01:00
Bram Moolenaar
cce293f87b patch 9.0.0216: undo earlier test sometimes fails on MS-Windows
Problem:    Undo earlier test sometimes fails on MS-Windows.
Solution:   Use another file name.
2022-08-15 17:28:27 +01:00
Bram Moolenaar
8a77d208ff patch 9.0.0215: not passing APC_INDENT flag
Problem:    Not passing APC_INDENT flag.
Solution:   Pass the flag where it's needed.
2022-08-15 16:29:37 +01:00
Bram Moolenaar
d8d4cfcb39 patch 9.0.0214: splitting a line may duplicate virtual text
Problem:    Splitting a line may duplicate virtual text. (Ben Jackson)
Solution:   Don't duplicate a text property with virtual text. Make
            auto-indenting work better. (closes #10919)
2022-08-15 15:55:10 +01:00
Bram Moolenaar
249e1b903a patch 9.0.0213: using freed memory with error in assert argument
Problem:    Using freed memory with error in assert argument.
Solution:   Make a copy of the error.
2022-08-14 22:23:02 +01:00
Bram Moolenaar
dbdd16b625 patch 9.0.0212: invalid memory access when compiling :unlet
Problem:    Invalid memory access when compiling :unlet.
Solution:   Don't read past the end of the line.
2022-08-14 21:46:07 +01:00
Bram Moolenaar
d1d8f6bacb patch 9.0.0211: invalid memory access when compiling :lockvar
Problem:    Invalid memory access when compiling :lockvar.
Solution:   Don't read past the end of the line.
2022-08-14 21:28:32 +01:00
Bram Moolenaar
c3a483fc3c patch 9.0.0210: 'list' mode does not work properly with virtual text
Problem:    'list' mode does not work properly with virtual text.
Solution:   Show the "$" at the right position. (closes #10913)
2022-08-14 19:37:36 +01:00
Bram Moolenaar
677a39fdf6 patch 9.0.0209: build error with small features
Problem:    Build error with small features.
Solution:   Add #ifdef.
2022-08-14 16:50:42 +01:00
Bram Moolenaar
9e7e28fc4c patch 9.0.0208: the override flag has no effect for virtual text
Problem:    The override flag has no effect for virtual text. (Ben Jackson)
Solution:   Make the override flag work. (closes #10915)
2022-08-14 16:36:38 +01:00
zeertzjq
28c162f6f1 patch 9.0.0207: stacktrace not shown when debugging
Problem:    Stacktrace not shown when debugging.
Solution:   Set msg_scroll in msg_source(). (closes #10917)
2022-08-14 14:49:50 +01:00
Bram Moolenaar
a4d158b3c8 patch 9.0.0206: redraw flags are not named specifically
Problem:    Redraw flags are not named specifically.
Solution:   Prefix "UPD_" to the flags, for UPDate_screen().
2022-08-14 14:17:45 +01:00
Bram Moolenaar
28c9f89571 patch 9.0.0205: cursor in wrong position when inserting after virtual text
Problem:    Cursor in wrong position when inserting after virtual text. (Ben
            Jackson)
Solution:   Put the cursor after the virtual text, where the text will be
            inserted. (closes #10914)
2022-08-14 13:28:55 +01:00
Yegappan Lakshmanan
63acae13f5 patch 9.0.0204: indexof() may leak memory
Problem:    indexof() may leak memory.
Solution:   Free allocated values. (Yegappan Lakshmanan, closes #10916)
2022-08-14 12:07:11 +01:00
Bram Moolenaar
c9b6570fab patch 9.0.0203: confusing variable name
Problem:    Confusing variable name.
Solution:   Use "prim_aep" instead of "spell_aep".
2022-08-13 21:37:29 +01:00
Yegappan Lakshmanan
3fbf6cd355 patch 9.0.0202: code and help for indexof() is not ideal
Problem:    Code and help for indexof() is not ideal.
Solution:   Refactor the code, improve the help. (Yegappan Lakshmanan,
            closes #10908)
2022-08-13 21:35:13 +01:00
Bram Moolenaar
9113c2cd19 patch 9.0.0201: CursorLine highlight overrules virtual text highlight
Problem:    CursorLine highlight overrules virtual text highlight.
Solution:   Let extra attribute overrule line attribute. (closes #10909)
2022-08-13 20:17:34 +01:00
Bram Moolenaar
8f369fb1ab patch 9.0.0200: cursor wrong if 'nowrap' and two right aligned text props
Problem:    cursor in a wrong positoin if 'wrap' is off and using two right
            aligned text props in one line.
Solution:   Count an extra line for a right aligned text property after a
            below or right aligned text property. (issue #10909)
2022-08-13 19:35:05 +01:00
Bram Moolenaar
f0ccfa474a patch 9.0.0199: cursor position wrong with two right-aligned virtual texts
Problem:    Cursor position wrong with two right-aligned virtual texts.
Solution:   Add the padding for right-alignment. (issue #10906)
2022-08-13 16:41:19 +01:00
Bram Moolenaar
cfeb8a584b patch 9.0.0198: ml_get error when switching buffer in Visual mode
Problem:    ml_get error when switching buffer in Visual mode.
Solution:   End Visual mode when switching buffer. (closes #10902)
2022-08-13 14:09:44 +01:00
Emilia Zapata
6a76e84f55 patch 9.0.0197: astro files are not detected
Problem:    Astro files are not detected.
Solution:   Add a pattern to match Astro files. (Emilia Zapata, closes #10904)
2022-08-13 13:21:31 +01:00
Yegappan Lakshmanan
b218655d5a patch 9.0.0196: finding value in list may require a for loop
Problem:    Finding value in list may require a for loop.
Solution:   Add indexof(). (Yegappan Lakshmanan, closes #10903)
2022-08-13 13:09:20 +01:00
Bram Moolenaar
9032b9ceb6 patch 9.0.0195: metafun files are not recogized
Problem:    Metafun files are not recogized.
Solution:   Add filetype detection patterns.
2022-08-12 21:57:13 +01:00
Bram Moolenaar
326c5d36e7 patch 9.0.0194: cursor displayed in wrong position after removing text prop
Problem:    Cursor displayed in wrong position after removing text prop. (Ben
            Jackson)
Solution:   Invalidate the cursor position. (closes #10898)
2022-08-12 13:05:49 +01:00
Bram Moolenaar
e38fc86180 patch 9.0.0193: search and match highlgith interfere with virtual text
Problem:    Search and match highlgith interfere with virtual text highlight.
            (Ben Jackson)
Solution:   Check for match highlight after text properties.  Reset and
            restore search highlight when showing virtual text.
            (closes #10892)
2022-08-11 17:24:50 +01:00
Bram Moolenaar
fdc5d17d58 patch 9.0.0192: possible invalid memory access when 'cmdheight' is zero
Problem:    Possible invalid memory access when 'cmdheight' is zero. (Martin
            Tournoij)
Solution:   Avoid going over the end of w_lines[] when w_height is Rows.
            (closes #10882)
2022-08-11 15:52:14 +01:00
Bram Moolenaar
d4cf9fc53e patch 9.0.0191: messages test fails; window size incorrect
Problem:    Messages test fails; window size incorrect when 'cmdheight' is
            made smaller.
Solution:   Properly cleanup after test with cmdheight zero.  Resize windows
            correctly when 'cmdheight' gets smaller.
2022-08-11 14:13:37 +01:00
Bram Moolenaar
f797e309ca patch 9.0.0190: the way 'cmdheight' can be made zero is inconsistent
Problem:    The way 'cmdheight' can be made zero is inconsistent.
Solution:   Only make 'cmdheight' zero when setting it explicitly, not when
            resizing windows. (closes #10890)
2022-08-11 13:17:30 +01:00
Bram Moolenaar
87f3a2ca3d patch 9.0.0189: invalid memory access for text prop without highlight
Problem:    Invalid memory access for text prop without highlight.
Solution:   Check for a valid highlight ID.
2022-08-10 20:50:23 +01:00
Bram Moolenaar
82b14c143a patch 9.0.0188: strange effects when using "text_align" with non-zero column
Problem:    Strange effects when using virtual text with "text_align" and
            non-zero column. (Martin Tournoij)
Solution:   Give an error. (closes #10888)
2022-08-10 19:50:47 +01:00
Bram Moolenaar
96bde99bf8 patch 9.0.0187: command line height changes when maximizing window height
Problem:    Command line height changes when maximizing window height.
Solution:   Do not change the command line height. (closes #10885)
2022-08-10 17:23:12 +01:00
Bram Moolenaar
3331dd0351 patch 9.0.0186: virtual text without highlighting does not show
Problem:    Virtual text without highlighting does not show. (Ben Jackson)
Solution:   Use a text property when it has highlighting or when it has text.
            (closes #10878)
2022-08-10 16:49:02 +01:00
Bram Moolenaar
952c9b02f8 patch 9.0.0185: virtual text does not show if text prop at same position
Problem:    Virtual text does not show if tehre is a text prop at same
            position. (Ben Jackson)
Solution:   Fix the sorting of properties. (closes #10879)
2022-08-10 16:00:33 +01:00
Bram Moolenaar
1d8844aa59 patch 9.0.0184: virtual text prop highlight continues after truncation
Problem:    Virtual text prop highlight continues after truncation.
Solution:   Recompute the length of attributes.
2022-08-10 13:39:35 +01:00
Bram Moolenaar
52de3a8d39 patch 9.0.0183: extra space after virtual text when 'linebreak' is set
Problem:    Extra space after virtual text when 'linebreak' is set.
Solution:   Do not count virtual text when getting linebreak value.
            (closes #10884)
2022-08-10 13:12:03 +01:00
smjonas
3a9687fb27 patch 9.0.0182: quarto files are not recognized
Problem:    Quarto files are not recognized.
Solution:   Recognize quarto files by the extension. (Jonas Strittmatter,
            closes #10880)
2022-08-10 11:48:10 +01:00
Bram Moolenaar
e5a0e8c1d7 patch 9.0.0181: textprop test with line2byte() fails on MS-Windows
Problem:    Textprop test with line2byte() fails on MS-Windows.
Solution:   Fix updating chuncks in ml_delete_int().
2022-08-09 21:37:55 +01:00
Bram Moolenaar
ef257e7bd1 patch 9.0.0180: stray logfile appears when running tests
Problem:    Stray logfile appears when running tests.
Solution:   Remove ch_logfile() calls.
2022-08-09 19:30:19 +01:00
Bram Moolenaar
49a90792d9 patch 9.0.0179: cursor pos wrong with wrapping virtual text in empty line
Problem:    Cursor position wrong with wrapping virtual text in empty line.
Solution:   Adjust handling of an empty line. (closes #10875)
2022-08-09 18:25:23 +01:00
Bram Moolenaar
e428fa04a7 patch 9.0.0178: cursor position wrong with virtual text before Tab
Problem:    Cursor position wrong with virtual text before Tab.
Solution:   Use the byte length, not the cell with, to compare the column.
            Correct tab size after text prop. (closes #10866)
2022-08-09 16:55:41 +01:00
Bram Moolenaar
8f49e690dc patch 9.0.0177: cursor position wrong with 'virtualedit' and mouse click
Problem:    Cursor position wrong with 'virtualedit' and mouse click after end
            of the line. (Hermann Mayer)
Solution:   Do not use ScreenCols[] when 'virtualedit' is active.
            (closes #10868)
2022-08-09 14:19:40 +01:00
zeertzjq
8ca29b6a35 patch 9.0.0176: checking character options is duplicated and incomplete
Problem:    Checking character options is duplicated and incomplete.
Solution:   Move checking to check_chars_options(). (closes #10863)
2022-08-09 12:53:14 +01:00
Christian Brabandt
afa23d1b99 patch 9.0.0175: spell checking for capital not working with trailing space
Problem:    Spell checking for capital not working with trailing space.
Solution:   Do not calculate cap_col at the end of the line. (Christian
            Brabandt, closes #10870, issue #10838)
2022-08-09 12:25:10 +01:00
Bram Moolenaar
ad6d9cc679 patch 9.0.0174: no error for using "#{ comment" in a compiled function
Problem:    No error for using "#{ comment" in a compiled function.
Solution:   Make error checking for "#{" consistent. (closes #10855)
2022-08-08 21:43:11 +01:00
Bram Moolenaar
e6a3d81e05 patch 9.0.0173: assert fails only on MS-Windows
Problem:    Assert fails only on MS-Windows.
Solution:   Disable the assert for now.
2022-08-08 18:12:30 +01:00
Bram Moolenaar
1024690c01 patch 9.0.0172: trying to allocate zero bytes
Problem:    Trying to allocate zero bytes.
Solution:   Do not allocate the proptype array when there are none.
            (closes #10867)
2022-08-08 17:08:05 +01:00
Bram Moolenaar
6e5c61119a patch 9.0.0171: quickfix line highlight is overruled by 'cursorline'
Problem:    Quickfix line highlight is overruled by 'cursorline'.
Solution:   Reverse the combination of attributes. (closes #10654)
2022-08-08 16:03:06 +01:00
Bram Moolenaar
113d9dec99 patch 9.0.0170: various minor code formatting issues
Problem:    Various minor code formatting issues.
Solution:   Improve code formatting.
2022-08-08 15:49:18 +01:00
Bram Moolenaar
48c3f4e0bf Update runtime files 2022-08-08 15:42:38 +01:00
Bram Moolenaar
cf85d97baf patch 9.0.0169: insufficient testing for line2byte() with text properties
Problem:    Insufficient testing for line2byte() with text properties.
Solution:   Add tests with a lot of text.
2022-08-08 14:59:47 +01:00
Bram Moolenaar
25463610df patch 9.0.0168: cursor positioned wrong with two virtual text properties
Problem:    Cursor positioned wrong with two virtual text properties close
            together. (Ben Jackson)
Solution:   Add the original size, not the computed one. (closes #10864)
2022-08-08 11:07:47 +01:00
Bram Moolenaar
38ea2733b4 patch 9.0.0167: checking for text properties could be a bit more efficient
Problem:    Checking for text properties could be a bit more efficient.
Solution:   Return early when there are no text properties.  Update TODO
            items.
2022-08-07 22:04:56 +01:00
Bram Moolenaar
50652b0c5c patch 9.0.0166: when using text properties line text length computed twice
Problem:    When using text properties the line text length is computed twice.
Solution:   If the text lenght was already computed don't do it again.
2022-08-07 21:48:37 +01:00
Bram Moolenaar
e44336b00a patch 9.0.0165: looking up a text property type by ID is slow
Problem:    Looking up a text property type by ID is slow.
Solution:   Keep an array of property types sorted on ID.
2022-08-07 18:20:08 +01:00
Bram Moolenaar
c390cc13e5 patch 9.0.0164: using freed memory with put command
Problem:    Using freed memory with put command.
Solution:   Get byte offset before replacing the line.
2022-08-07 18:09:10 +01:00
Bram Moolenaar
ecb00c7b61 patch 9.0.0163: text property not adjusted for text inserted with "p"
Problem:    Text property not adjusted for text inserted with "p".
Solution:   Adjust column and length of text properties.
2022-08-07 14:55:14 +01:00
Bram Moolenaar
73c3842fa5 patch 9.0.0162: text property "below" gets indent if 'breakindent' is set
Problem:    Text property "below" gets indent if 'breakindent' is set. (Tim
            Pope)
Solution:   Do not put indent before text property. (closes #10859)
2022-08-07 11:53:40 +01:00
Bram Moolenaar
bf9158408a patch 9.0.0161: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize line_attr_save.
2022-08-06 22:38:02 +01:00
Bram Moolenaar
83bf11a1ff patch 9.0.0160: some diff mode tests fail
Problem:    Some diff mode tests fail.
Solution:   Only advance "ptr" when a text property follows.
2022-08-06 22:23:40 +01:00
Bram Moolenaar
da70cf30ef patch 9.0.0159: cannot build with small features
Problem:    Cannot build with small features.
Solution:   Check for E1170 only with FEAT_EVAL.
2022-08-06 22:13:03 +01:00
Bram Moolenaar
48ca24d913 patch 9.0.0158: with 'nowrap' "below" property not displayed correctly
Problem:    With 'nowrap' "below" property not displayed correctly.
Solution:   Adjust virtual text with 'nowrap', do not truncate.
2022-08-06 22:03:20 +01:00
Bram Moolenaar
cba6952e34 patch 9.0.0157: 'showbreak' displayed below truncated "after" text prop
Problem:    'showbreak' displayed below truncated "after" text prop.
Solution:   Suppress 'showbreak' when "after" prop doesn't wrap.
2022-08-06 21:03:53 +01:00
Bram Moolenaar
3f74c0ab32 patch 9.0.0156: giving E1170 only in an expression is confusing
Problem:    Giving E1170 only in an expression is confusing.
Solution:   Give E1170 for any "#{ comment". (closes #10855)
2022-08-06 18:12:06 +01:00
Bram Moolenaar
db9b96d844 patch 9.0.0155
Problem:    No test for what patch 9.0.0155 fixes.
Solution:   Add a test. Fix typos.  (closes #10822)
2022-08-06 17:38:53 +01:00
Bram Moolenaar
7d0f7e9524 patch 9.0.0154: text properties wrong after splitting a line
Problem:    Text properties wrong after splitting a line.
Solution:   Check for text properties after the line. (closes #10857)
2022-08-06 17:10:57 +01:00
Bram Moolenaar
1306b36a7b patch 9.0.0153: no fold and sign column for virtual text with "below" align
Problem:    No fold and sign column for virtual text with "below" align and
            'nowrap'.
Solution:   Go back to draw state WL_START when moving to the next line.
            (closes #10851)
2022-08-06 15:59:06 +01:00
Bram Moolenaar
e2086350d3 patch 9.0.0152: warning for unused argument in small build
Problem:    Warning for unused argument in small build.
Solution:   Add "UNUSED".
2022-08-06 14:21:52 +01:00
Bram Moolenaar
4d91d347e6 patch 9.0.0151: a "below" aligned text property does not work with 'nowrap'
Problem:    A "below" aligned text property does not work with 'nowrap'.
Solution:   Start a new screen line to display the virtual text.
            (closes #10851)
2022-08-06 13:48:20 +01:00
Bram Moolenaar
25f40af9d2 patch 9.0.0150: error for using #{ in an expression is a bit confusing
Problem:    Error for using #{ in an expression is a bit confusing.
Solution:   Mention that this error is only given for an expression.
            Avoid giving the error more than once. (closes #10855)
2022-08-06 11:35:28 +01:00
Bram Moolenaar
5ac4b1a24e patch 9.0.0149: test for fuzzy completion fails sometimes
Problem:    Test for fuzzy completion fails sometimes.
Solution:   Use a more specific file name to minimize the chance of matching a
            random directory name. (closes #10854)
2022-08-06 10:28:19 +01:00
Bram Moolenaar
3ec3b8e92d patch 9.0.0148: a "below" aligned text property gets 'showbreak' displayed
Problem:    A "below" aligned text property gets 'showbreak' displayed.
Solution:   Do not use 'showbreak' before or in virtual text. (issue #10851)
2022-08-05 21:39:30 +01:00
Bram Moolenaar
50e75fe8d8 patch 9.0.0147: cursor positioned wrong after two "below" text properties
Problem:    Cursor positioned wrong after two text properties with virtual
            text and "below" alignment. (Tim Pope)
Solution:   Do not stop after a text property using MAXCOL. (closes #10849)
2022-08-05 20:25:50 +01:00
Bram Moolenaar
4d2031fdbe patch 9.0.0146: missing part of change for "override" flag
Problem:    Missing part of change for "override" flag.
Solution:   Add the missing change.
2022-08-05 20:03:55 +01:00
Bram Moolenaar
213bbaf15a patch 9.0.0145: substitute that joins lines drops text properties
Problem:    Substitute that joins lines drops text properties.
Solution:   Move text properties of the last line to the new line.
2022-08-05 19:46:48 +01:00
Bram Moolenaar
f4ba8bc47e patch 9.0.0144: text property cannot override 'cursorline' highlight
Problem:    Text property cannot override 'cursorline' highlight.
Solution:   Add the "override" flag to prop_type_add(). (closes #5533,
            closes #8225).
2022-08-05 17:05:04 +01:00
Bram Moolenaar
afd2aa79ed patch 9.0.0143: cursor positioned after virtual text in empty line
Problem:    Cursor positioned after virtual text in empty line.
Solution:   Keep cursor in the first column. (closes #10786)
2022-08-05 13:07:23 +01:00
Bram Moolenaar
2f83cc4cfa patch 9.0.0142: crash when adding and removing virtual text
Problem:    Crash when adding and removing virtual text. (Ben Jackson)
Solution:   Check that the text of the text property still exists.
2022-08-05 11:45:17 +01:00
zeertzjq
206fce307b patch 9.0.0141: "delmenu" does not remove autocmmands
Problem:    "delmenu" does not remove autocmmands. Running menu test function
            alone fails.
Solution:   Delete autocommands Make sure there is at least one menu.
            (closes #10848)
2022-08-05 10:52:30 +01:00
Kota Kato
3d3f6ac098 patch 9.0.0140: execute() does not use the "legacy" command modifier
Problem:    execute() does not use the "legacy" command modifier.
Solution:   pass the command modifier in sticky_cmdmod_flags. (Kota Kato,
            closes #10845)
2022-08-04 18:50:14 +01:00
Bram Moolenaar
398649ee44 patch 9.0.0139: truncating virtual text after a line not implemented
Problem:    Truncating virtual text after a line not implemented.
            Cursor positioning wrong with Newline in the text.
Solution:   Implement truncating.  Disallow control characters in the text.
            (closes #10842)
2022-08-04 15:03:48 +01:00
Bram Moolenaar
bc49c5f48f patch 9.0.0138: not enough characters accepted for 'spellfile'
Problem:    Not enough characters accepted for 'spellfile'.
Solution:   Add vim_is_fname_char() and use it for 'spellfile'.
2022-08-04 13:01:48 +01:00
James McCoy
db7a88db8b patch 9.0.0137: debugger test may fail when $CWD is very long
Problem:    Debugger test may fail when $CWD is very long.
Solution:   Skip the test if the directory name is too long. (James McCoy,
            closes #10837)
2022-08-03 16:13:27 +01:00
Bram Moolenaar
d6212b80d6 patch 9.0.0136: after CTRL-Left-mouse click a mouse scroll also has CTRL
Problem:    After CTRL-Left-mouse click a mouse scroll also has CTRL.
Solution:   Reset orig_mouse_code also for wheel events. (closes #10840)
2022-08-03 15:48:33 +01:00
zeertzjq
0b0ccbbfb0 patch 9.0.0135: comment about tabpage line above the wrong code
Problem:    Comment about tabpage line above the wrong code.
Solution:   Move the comment. (closes #10836)
2022-08-02 12:15:51 +01:00
Bram Moolenaar
f05a1e59a3 patch 9.0.0134: no test for text property with column zero
Problem:    No test for text property with column zero.
Solution:   Add a test.  Add message to assert for no open popups.
2022-08-02 11:48:53 +01:00
Bram Moolenaar
e175dc6911 patch 9.0.0133: virtual text after line moves to joined line
Problem:    Virtual text after line moves to joined line. (Yegappan
            Lakshmanan)
Solution:   When joining lines only keep virtual text after the last line.
2022-08-01 22:18:50 +01:00
Bram Moolenaar
09ff4b54fb patch 9.0.0132: multi-byte characters in virtual text not handled correctly
Problem:    Multi-byte characters in virtual text not handled correctly.
Solution:   Count screen cells instead of bytes.
2022-08-01 16:51:02 +01:00
Bram Moolenaar
783ef7214b patch 9.0.0131: virtual text with Tab is not displayed correctly
Problem:    Virtual text with Tab is not displayed correctly.
Solution:   Change any Tab to a space.
2022-08-01 16:11:06 +01:00
Bram Moolenaar
1f4ee19eef patch 9.0.0130: cursor position wrong when inserting around virtual text
Problem:    Cursor position wrong when inserting around virtual text.
Solution:   Update the cursor position properly.
2022-08-01 15:52:55 +01:00
Bram Moolenaar
05a8061eec Update runtime files 2022-08-01 15:09:53 +01:00
Mike Williams
ab146dac6b patch 9.0.0129: compiler warning for int/size_t usage
Problem:    Compiler warning for int/size_t usage.
Solution:   Add a type cast. (Mike Williams, closes #10830)
2022-08-01 14:00:31 +01:00
Bram Moolenaar
3f79b61288 patch 9.0.0128: Coverity complains about possible double free
Problem:    Coverity complains about possible double free.
Solution:   Clear the pointer to avoid warnings.
2022-08-01 12:06:40 +01:00
zeertzjq
e95f22f63a patch 9.0.0127: unused variable
Problem:    Unused variable.
Solution:   Remove the variable. (closes #10829)
2022-08-01 11:49:45 +01:00
John Drouhard
95fca12b0e patch 9.0.0126: expanding file names fails in dir with more than 255 entries
Problem:    Expanding file names fails in directory with more than 255
            entries.
Solution:   Use an int instead of char_u to count. (John Drouhard,
            closes #10818)
2022-08-01 11:38:17 +01:00
Bram Moolenaar
84b247fab7 patch 9.0.0125: cursor positioned wrong with virtual text after the line
Problem:    Cursor positioned wrong with virtual text after the line.
Solution:   Clear cts_with_trailing.
2022-08-01 11:17:40 +01:00
zeertzjq
101d57b34b patch 9.0.0124: code has more indent than needed
Problem:    Code has more indent than needed.
Solution:   Use continue and return statements. (closes #10824)
2022-07-31 18:34:32 +01:00
Bram Moolenaar
c146d974f1 patch 9.0.0123: cannot build with small features
Problem:    Cannot build with small features.
Solution:   Add #ifdef.
2022-07-31 18:03:57 +01:00
Bram Moolenaar
be33e5e4a9 patch 9.0.0122: breakindent test fails
Problem:    Breakindent test fails.
Solution:   Fix condition.
2022-07-31 18:00:10 +01:00
Bram Moolenaar
b7963df98f patch 9.0.0121: cannot put virtual text after or below a line
Problem:    Cannot put virtual text after or below a line.
Solution:   Add "text_align" and "text_wrap" arguments.
2022-07-31 17:12:43 +01:00
Anton Sharonov
6b568b1cc7 patch 9.0.0120: MS-Windows GUI: cannot use AltGr + Space
Problem:    MS-Windows GUI: cannot use AltGr + Space.
Solution:   Check for VK_MENU instead of VK_LMENU. (Anton Sharonov,
            closes #10820, closes #10753)
2022-07-31 12:26:05 +01:00
K.Takata
dbdcc79910 patch 9.0.0119: tiny chance that creating a backup file fails
Problem:    Tiny chance that creating a backup file fails.
Solution:   Check for EEXIST error. (Ken Takata, closes #10821)
2022-07-31 11:50:42 +01:00
zeertzjq
750209459c patch 9.0.0118: no test for what patch 9.0.0155 fixes
Problem:    No test for what patch 9.0.0155 fixes.
Solution:   Add a test. Fix typos.  (closes #10822)
2022-07-31 11:37:20 +01:00
Bram Moolenaar
3a4cd39d47 patch 9.0.0117: text of removed textprop with text is not freed
Problem:    Text of removed textprop with text is not freed.
Solution:   Free the text when the property is removed.  Reduce the array size
            to ignore NULLs at the end.
2022-07-30 22:17:18 +01:00
Bram Moolenaar
711483cd13 patch 9.0.0116: virtual text not displayed if 'signcolumn' is "yes"
Problem:    Virtual text not displayed if 'signcolumn' is "yes".
Solution:   Set c_extra and c_final to NUL.
2022-07-30 21:33:46 +01:00
Bram Moolenaar
6747cf1671 patch 9.0.0115: when 'cmdheight' is zero pressing ':' may scroll a window
Problem:    When 'cmdheight' is zero pressing ':' may scroll a window.
Solution:   Add the made_cmdheight_nonzero flag and set 'scrolloff' to zero.
2022-07-30 19:10:06 +01:00
Shougo Matsushita
f39cfb7262 patch 9.0.0114: the command line takes up space even when not used
Problem:    The command line takes up space even when not used.
Solution:   Allow for 'cmdheight' to be set to zero. (Shougo Matsushita,
            closes #10675, closes #940)
2022-07-30 16:54:05 +01:00
K.Takata
d90f91fe30 patch 9.0.0113: has() is not strict about parsing the patch version
Problem:    has() is not strict about parsing the patch version.
Solution:   Check the version more strictly. (Ken Takata, closes #10752)
2022-07-30 15:43:59 +01:00
Bram Moolenaar
0f823c3609 patch 9.0.0112: MS-Windows: test fails because file already exists
Problem:    MS-Windows: test fails because file already exists.
Solution:   Wait a little while until the file is gone.
2022-07-30 15:35:12 +01:00
Bram Moolenaar
de78632c41 patch 9.0.0111: "nocombine" is missing from synIDattr()
Problem:    "nocombine" is missing from synIDattr().
Solution:   Add "nocombine". (Muni Tanjim, closes #10816)
2022-07-30 14:56:17 +01:00
Carlo Teubner
ddab3ce345 patch 9.0.0110: help tag generation picks up words in code examples
Problem:    Help tag generation picks up words in code examples.
Solution:   Skip over examples. (Carlo Teubner, closes #10813)
2022-07-30 12:03:16 +01:00
Bram Moolenaar
1eead4cf1d patch 9.0.0109: writing over the end of a buffer on stack
Problem:    Writing over the end of a buffer on stack when making list of
            spell suggestions.
Solution:   Make sure suggested word is not too long. (closes #10812)
2022-07-30 11:39:57 +01:00
Bram Moolenaar
5f6cae8b8a patch 9.0.0108: configure check for timer_create may give wrong error
Problem:    Configure check for timer_create may give wrong error.
Solution:   Give a warning instead of an error.
2022-07-30 11:00:50 +01:00
Bram Moolenaar
2ecbe53f45 Update runtime files 2022-07-29 21:36:21 +01:00
Bram Moolenaar
72981ac94f patch 9.0.0107: condition always has the same value
Problem:    Condition always has the same value.
Solution:   Remove the condition.
2022-07-29 19:50:41 +01:00
Bram Moolenaar
cb36c2a3cd patch 9.0.0106: illegal byte regexp test doesn't fail when fix is reversed
Problem:    Illegal byte regexp test doesn't fail when fix is reversed.
Solution:   Make sure illegal bytes end up in sourced script file.
2022-07-29 18:32:20 +01:00
Bram Moolenaar
f50940531d patch 9.0.0105: illegal memory access when pattern starts with illegal byte
Problem:    Illegal memory access when pattern starts with illegal byte.
Solution:   Do not match a character with an illegal byte.
2022-07-29 16:22:25 +01:00
Bram Moolenaar
1e56bda904 patch 9.0.0104: going beyond allocated memory when evaluating string constant
Problem:    Going beyond allocated memory when evaluating string constant.
Solution:   Properly skip over <Key> form.
2022-07-29 15:28:27 +01:00
Bram Moolenaar
efffa5360e patch 9.0.0103: if running configure with cached results -lrt may be missing
Problem:    If running configure with cached results -lrt may be missing.
Solution:   Use two cache variables, one without and one with -lrt.
            (closes #10799)  Swap checks to avoid adding -lrt unnecessarily.
2022-07-28 22:39:54 +01:00
Bram Moolenaar
a6f9e30016 patch 9.0.0102: reading past end of line with insert mode completion
Problem:    Reading past end of line with insert mode completion.
Solution:   Check text length.
2022-07-28 21:51:37 +01:00
Bram Moolenaar
4e677b9c40 patch 9.0.0101: invalid memory access in diff mode with "dp" and undo
Problem:    Invalid memory access in diff mode with "dp" and undo.
Solution:   Make sure the line number does not go below one.
2022-07-28 18:44:27 +01:00
Bram Moolenaar
cb5ed4d625 patch 9.0.0100: get hit-enter prompt for system() when '!' is in 'guioptions'
Problem:    Get hit-enter prompt for system() when '!' is in 'guioptions'.
Solution:   Do not call wait_return() when not redrawing. (closes #3327)
2022-07-28 12:54:08 +01:00
zeertzjq
46af7bc08d patch 9.0.0099: scrollback can be wrong after redrawing the command line
Problem:    Scrollback can be wrong after redrawing the command line.
Solution:   Clear unfinished scrollback when redrawing. (closes #10807)
2022-07-28 12:34:09 +01:00
Bram Moolenaar
5748b7f2c8 patch 9.0.0098: missing include file in timer_create configure check
Problem:    missing include file in timer_create configure check.
Solution:   Inlucde stdlib.h.
2022-07-28 12:09:04 +01:00
Bram Moolenaar
5f30e26f69 patch 9.0.0097: long quickfix line is truncated for :clist
Problem:    Long quickfix line is truncated for :clist.
Solution:   Allocate a buffer if needed.
2022-07-28 11:56:01 +01:00
zeertzjq
f6782732ab patch 9.0.0096: flag "new_value_alloced" is always true
Problem:    Flag "new_value_alloced" is always true.
Solution:   Remove "new_value_alloced". (closes #10792)
2022-07-27 18:26:03 +01:00
zeertzjq
122dea7007 patch 9.0.0095: conditions are always true
Problem:    Conditions are always true.
Solution:   Remove useless conditions. (closes #10802)
2022-07-27 15:48:45 +01:00
Bram Moolenaar
3d6ee8bda0 patch 9.0.0094: cursor restored unexpected with nested autocommand
Problem:    Cursor restored unexpected with nested autocommand.
Solution:   Do not restore the cursor when it was moved intentionally.
            (closes #10780)
2022-07-27 15:23:35 +01:00
James Eapen
7abd1c6d8e patch 9.0.0093: sway config files are recognized as i3config
Problem:    Sway config files are recognized as i3config.
Solution:   Recognize swayconfig separately. (James Eapen, closes #10672)
2022-07-27 15:07:06 +01:00
Shougo Matsushita
61021aa318 patch 9.0.0092: plugins cannot change v:completed_item
Problem:    Plugins cannot change v:completed_item.
Solution:   Make v:completed_item writeable. (Shougo Matsushita,
            closes #10801)
2022-07-27 14:40:00 +01:00
Bram Moolenaar
34d1773bd4 patch 9.0.0091: duplicate error number
Problem:    Duplicate error number.
Solution:   Use unique error number.
2022-07-27 13:18:14 +01:00
Bram Moolenaar
28f84e17b0 patch 9.0.0090: no error when assigning bool to a string option
Problem:    No error when assigning bool to a string option with setwinvar().
Solution:   Give an error (closes #10766)
2022-07-27 12:30:13 +01:00
Yegappan Lakshmanan
7db3a8e329 patch 9.0.0089: fuzzy argument completion doesn't work for shell commands
Problem:    Fuzzy argument completion doesn't work for shell commands.
Solution:   Check for cmdidx not being CMD_bang. (Yegappan Lakshmanan,
            closes #10769)
2022-07-26 22:01:36 +01:00
Gregory Anders
30e212dac1 patch 9.0.0088: pattern for detecting bitbake files is not sufficient
Problem:    Pattern for detecting bitbake files is not sufficient.
Solution:   Adjust the pattern. (Gregory Anders, closes #10743)
2022-07-26 21:42:03 +01:00
Anton Sharonov
3f0266739d patch 9.0.0087: MS-Windows: CTRL-[ on Belgian keyboard does not work like Esc
Problem:    MS-Windows: CTRL-[ on Belgian keyboard does not work like Esc.
Solution:   Figure out what the key code means. (Anton Sharonov,
            closes #10687, closes #10454)
2022-07-26 21:26:18 +01:00
zeertzjq
6791adca53 patch 9.0.0086: tabline is not redrawn when entering command line
Problem:    Tabline is not redrawn when entering command line.
Solution:   Set "redraw_tabline". (closes #10771)
2022-07-26 20:42:25 +01:00
ii14
1f0dc5e84f patch 9.0.0085: ":write" fails after ":file name" and the ":edit"
Problem:    ":write" fails after ":file name" and the ":edit".
Solution:   Reset BF_NOTEDITED when using ":edit". (closes #10790)
2022-07-26 19:44:56 +01:00
Bram Moolenaar
15b87b6610 patch 9.0.0084: using "terraform" filetype for .tfvars file is bad
Problem:    Using "terraform" filetype for .tfvars file is bad.
Solution:   use "terraform-vars", so that different completion and other
            mechanisms can be used. (Radek Simko, closes #10755)
2022-07-26 19:18:28 +01:00
zeertzjq
c9e8fd6fc7 patch 9.0.0083: ModeChanged event not triggered when leaving cmdline window
Problem:    ModeChanged event not triggered when leaving the cmdline window.
Solution:   Call may_trigger_modechanged(). (closes #10791)
2022-07-26 18:12:38 +01:00
zeertzjq
3cfae39b08 patch 9.0.0082: cannot interrupt global command from command line
Problem:    Cannot interrupt global command from command line.
Solution:   Reset got_int in another place. (closes #10739)
2022-07-26 17:48:13 +01:00
Bram Moolenaar
c2842adfb2 patch 9.0.0081: command line completion of user command may have duplicates
Problem:    Command line completion of user command may have duplicates.
            (Dani Dickstein)
Solution:   Skip global user command if an identical buffer-local one is
            defined. (closes #10797)
2022-07-26 17:23:47 +01:00
Mike Williams
0494789ece patch 9.0.0080: compiler warning for size_t to int conversion
Problem:    Compiler warning for size_t to int conversion.
Solution:   Add type casts. (Mike Williams, closes #10795)
2022-07-26 16:03:42 +01:00
Bram Moolenaar
6809ff978a patch 9.0.0079: error in autoload script not reported for 'foldexpr'
Problem:    Error in autoload script not reported for 'foldexpr'.
Solution:   Reset "emsg_off" when auto-loading a script. (closes #10685)
2022-07-26 15:10:56 +01:00
Ernie Rael
559f230fd6 patch 9.0.0078: star register is unexpectedly changed when deleting
Problem:    Star register is changed when deleting and both "unnamed" and
            "unnamedplus" are in 'clipboard'.
Solution:   Make the use of the star register work as documented. (Ernie Rael,
            closes #10669)
2022-07-26 14:44:36 +01:00
Bram Moolenaar
b03950fafa patch 9.0.0077: wrong restored cursor position when switching window in autocmd
Problem:    When switching window in autocmd the restored cursor position may
            be wrong.
Solution:   Do not restore the cursor if it was not set. (closes #10775)
2022-07-26 13:47:13 +01:00
zeertzjq
92a1678d48 patch 9.0.0076: no test for what patch 8.1.1424 fixes
Problem:    No test for what patch 8.1.1424 fixes.
Solution:   Add a test. (closes #10789)
2022-07-26 12:24:41 +01:00
Bram Moolenaar
be3dbda871 patch 9.0.0075: some compilers warn for using an uninitialized variable
Problem:    Some compilers warn for using an uninitialized variable. (Tony
            Mechelynck)
Solution:   Initialize the variable.
2022-07-26 11:42:34 +01:00
Bram Moolenaar
34a1f77979 patch 9.0.0074: Coverity warns for double free
Problem:    Coverity warns for double free.
Solution:   Reset cts_text_prop_count when freeing cts_text_props.
2022-07-26 11:20:48 +01:00
Martin Tournoij
1b67f07f76 patch 9.0.0073: too many files recognized as bsdl
Problem:    Too many files recognized as bsdl.
Solution:   Use pattern "*.bsd" instead of "*bsd". (Martin Tournoij,
            closes #10783)
2022-07-25 21:40:06 +01:00
Bram Moolenaar
6d023f98df patch 9.0.0072: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it. (John Marriott)
2022-07-25 21:15:45 +01:00
zeertzjq
ecdc82e74e patch 9.0.0071: command overlaps with printed text in scrollback
Problem:    Command overlaps with printed text in scrollback.
Solution:   Clear until end-of-line and use correct message chunk.
            (closes #10765, closes #10764)
2022-07-25 19:50:57 +01:00
zeertzjq
4dc513a22c patch 9.0.0070: using utfc_ptr2char_len() when length is negative
Problem:    Using utfc_ptr2char_len() when length is negative.
Solution:   Check value of length. (closes #10760)
2022-07-25 19:42:02 +01:00
Bram Moolenaar
0c740e745a patch 9.0.0069: leaking memory when using text prop with inserted text
Problem:    Leaking memory when using text prop with inserted text.
Solution:   Clear the growarray with text.
2022-07-25 19:07:04 +01:00
Bram Moolenaar
fe3fb6e1e6 patch 9.0.0068: build fails with tiny features
Problem:    Build fails with tiny features.
Solution:   Add #ifdef.
2022-07-25 18:35:15 +01:00
Bram Moolenaar
7f9969c559 patch 9.0.0067: cannot show virtual text
Problem:    Cannot show virtual text.
Solution:   Initial changes for virtual text support, using text properties.
2022-07-25 18:13:54 +01:00
Bram Moolenaar
b529cfbd04 Update runtime files 2022-07-25 15:42:07 +01:00
zeertzjq
cd6ad6439d patch 9.0.0066: switching window uneccarily when getting buffer options
Problem:    Switching window uneccarily when getting buffer options.
Solution:   Do not switch window when getting buffer options. (closes #10767)
2022-07-25 12:28:09 +01:00
Richard Purdie
509695c1c3 patch 9.0.0065: cross-compiling doesn't work because of timer_create check
Problem:    Cross-compiling doesn't work because of timer_create check.
Solution:   Use AC_CACHE_CHECK(). (Richard Purdie, closes #10777)
2022-07-24 20:48:00 +01:00
Bram Moolenaar
c963ec31a0 patch 9.0.0064: confusing error when using "q:" in command line window
Problem:    Confusing error when using "q:" in command line window.
Solution:   Check for the situation and give a better error message.
            (closes #10756)
2022-07-24 20:08:01 +01:00
Bram Moolenaar
d61efa50f8 patch 9.0.0063: too many type casts for dict_get functions
Problem:    Too many type casts for dict_get functions.
Solution:   Change the key argument from "char_u *" to "char *".
2022-07-23 09:52:04 +01:00
Bram Moolenaar
5ac50de83f patch 9.0.0062: compiler warnings for signed/unsigned char
Problem:    Compiler warnings for signed/unsigned char.
Solution:   Add type casts. (John Marriott)
2022-07-23 09:22:47 +01:00
Bram Moolenaar
5fa9f23a63 patch 9.0.0061: ml_get error with nested autocommand
Problem:    ml_get error with nested autocommand.
Solution:   Also check line numbers for a nested autocommand. (closes #10761)
2022-07-23 09:06:48 +01:00
Bram Moolenaar
b9e717367c patch 9.0.0060: accessing uninitialized memory when completing long line
Problem:    Accessing uninitialized memory when completing long line.
Solution:   Terminate string with NUL.
2022-07-23 06:53:08 +01:00
zeertzjq
bb404f5ad5 patch 9.0.0059: test file has wrong name
Problem:    Test file has wrong name.
Solution:   Rename the file.  Various small fixes. (closes #10674)
2022-07-23 06:25:29 +01:00
Yegappan Lakshmanan
81a3ff97e2 patch 9.0.0058: Win32: cannot test low level events
Problem:    Win32: cannot test low level events.
Solution:   Add "sendevent" to test_gui_event(). (Yegappan Lakshmanan,
            closes #10679)
2022-07-23 05:04:16 +01:00
Bram Moolenaar
5154a88800 patch 9.0.0057: has('patch-xxx') returns true
Problem:    has('patch-xxx') returns true.
Solution:   Check for digit. (closes #10751)
2022-07-18 20:48:50 +01:00
Bram Moolenaar
bd683e3a79 patch 9.0.0056: wrong line number reported when :cexpr fails in :def function
Problem:    Wrong line number reported when :cexpr fails in :def function.
Solution:   Set line_number before executing :cexpr. (closes #10735)
2022-07-18 17:49:03 +01:00
Gregory Anders
fa49eb4827 patch 9.0.0055: bitbake files are not detected
Problem:    Bitbake files are not detected.
Solution:   Add bitbake filetype detection by file name and contents. (Gregory
            Anders, closes #10697)
2022-07-16 17:46:47 +01:00
Bram Moolenaar
c7bd2f08e5 patch 9.0.0054: compiler warning for size_t to int conversion
Problem:    Compiler warning for size_t to int conversion.
Solution:   Add type cast. (Mike Williams, closes #10741)
2022-07-15 20:45:20 +01:00
Dominique Pelle
3a393790a4 patch 9.0.0053: E1281 not tested with the old regexp engine
Problem:    E1281 not tested with the old regexp engine.
Solution:   Loop over the values of 'regexp'. (Dominique Pellé, closes #10695)
2022-07-14 17:40:49 +01:00
K.Takata
2ebcc35826 patch 9.0.0052: "zG" may throw an error if invalid character follows
Problem:    "zG" may throw an error if invalid character follows.
Solution:   Pass the word length to valid_spell_word(). (Ken Takata,
            closes #10737)
2022-07-14 17:25:14 +01:00
zeertzjq
f754fe6a3d patch 9.0.0051: using CTRL-C wih :append may hang Vim
Problem:    Using CTRL-C wih :append may hang Vim.
Solution:   Reset got_int. (closes #10729, closes #10728)
2022-07-14 17:06:12 +01:00
Bram Moolenaar
b26592a84c patch 9.0.0050: split else-of is confusing
Problem:    Split else-of is confusing.
Solution:   Join the lines. (closes #10696)
2022-07-12 17:34:31 +01:00
Leandro Lourenci
99af91e582 patch 9.0.0049: csv and tsv files are not recognized
Problem:    Csv and tsv files are not recognized.
Solution:   Add patterns fo csv and tsv files. (Leandro Lourenci,
            closes #10680)
2022-07-09 20:27:07 +01:00
Bram Moolenaar
b90818867c patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Problem:    Cursor in wrong column with mouse click after concealed text.
Solution:   Store the text column when drawing text.
2022-07-09 04:56:24 +01:00
Bram Moolenaar
fee0c4aa99 Runtime files update 2022-07-07 22:31:59 +01:00
Bram Moolenaar
32acf1f1a7 patch 9.0.0047: using freed memory with recursive substitute
Problem:    Using freed memory with recursive substitute.
Solution:   Always make a copy for reg_prev_sub.
2022-07-07 22:20:31 +01:00
Bram Moolenaar
baefde1455 patch 9.0.0046: reading past end of completion with duplicate match
Problem:    Reading past end of completion with duplicate match.
Solution:   Check string length
2022-07-07 19:59:49 +01:00
Bram Moolenaar
caea66442d patch 9.0.0045: reading past end of completion with a long line
Problem:    Reading past end of completion with a long line and 'infercase'
            set.
Solution:   Allocate the string if needed.
2022-07-07 19:42:04 +01:00
Bram Moolenaar
b8329db36a patch 9.0.0044: typos in comments, wrapping lines
Problem:    Typos in comments, wrapping lines.
Solution:   Adjust comments.  Wrap lines.
2022-07-06 13:31:28 +01:00
Bram Moolenaar
5ed11535e0 Update runtime files 2022-07-06 13:18:11 +01:00
zeertzjq
cf34434b5e patch 9.0.0043: insufficient testing for bracket commands
Problem:    Insufficient testing for bracket commands.
Solution:   Add a few more tests. (closes #10668)
2022-07-06 12:57:31 +01:00
Bram Moolenaar
3244780379 patch 9.0.0042: missing change for filetype detection
Problem:    Missing change for filetype detection.
Solution:   Include change to detect guile from shebang line.
2022-07-05 21:56:39 +01:00
smjonas
704988f0c3 patch 9.0.0041: a couple of filetype patterns do not have "*" before "/etc"
Problem:    A couple of filetype patterns do not have "*" before "/etc".
Solution:   Add the star. (Jonas Strittmatter, closes #10662)
2022-07-05 18:42:56 +01:00
Bram Moolenaar
b67f0c8e49 patch 9.0.0040: use of set_chars_option() is confusing
Problem:    Use of set_chars_option() is confusing.
Solution:   Add "apply" argument to store the result or not.  Merge similar
            code.
2022-07-04 21:03:36 +01:00
Bram Moolenaar
4c99e622dd patch 9.0.0039: not all systems have GDK_KEY_dead_circumflex
Problem:    Not all systems have GDK_KEY_dead_circumflex. (Hisashi T Fujinaka)
Solution:   Add an #ifdef.
2022-07-04 19:58:17 +01:00
Bram Moolenaar
5ed26faace patch 9.0.0038: 'listchars' test fails
Problem:    'listchars' test fails.
Solution:   Use window-local value after setting the global value
2022-07-04 18:05:51 +01:00
Bram Moolenaar
510f03738d patch 9.0.0037: build error
Problem:    Build error.
Solution:   Add missing change.
2022-07-04 17:46:22 +01:00
Bram Moolenaar
96ba25ac01 patch 9.0.0036: 'fillchars' cannot have window-local values
Problem:    'fillchars' cannot have window-local values.
Solution:   Make 'fillchars' global-local. (closes #5206)
2022-07-04 17:34:33 +01:00
Bram Moolenaar
54e5fed6d2 patch 9.0.0035: spell dump may go beyond end of an array
Problem:    Spell dump may go beyond end of an array.
Solution:   Limit the word length.
2022-07-04 13:37:07 +01:00
zeertzjq
288ed23e39 patch 9.0.0034: spell tests do not always clear the word list
Problem:    Spell tests do not always clear the word list.
Solution:   Clear the word list in TearDown(). (closes #10659)
2022-07-04 11:03:07 +01:00
Anton Sharonov
4dd9252d6f patch 9.0.0033: on a Belgian keyboard CTRL-[ does not work
Problem:    On a Belgian keyboard CTRL-[ does not work.
Solution:   Handle GDK_KEY_dead_circumflex. (Anton Sharonov, closes #10658)
2022-07-04 10:47:31 +01:00
Bram Moolenaar
7fe956d176 patch 9.0.0032: in the quickfix window 'cursorline' overrules QuickFixLine
Problem:    In the quickfix window 'cursorline' overrules QuickFixLine
            highlighting.
Solution:   Combine the attributes.  Add a test. (closes #10654)
2022-07-03 14:21:09 +01:00
zeertzjq
9359e8a6d9 patch 9.0.0031: <cmod> of user command does not have correct verbose value
Problem:    <cmod> of user command does not have correct verbose value.
Solution:   Use the value from the command modifier. (closes #10651)
2022-07-03 13:16:09 +01:00
Bram Moolenaar
22e7e867e2 patch 9.0.0030: matchfuzzy test depends on path of current directory
Problem:    Matchfuzzy test depends on path of current directory.
Solution:   Use fnamemodify() to remove the path. (Robin Becker,
            closes #10650)
2022-07-02 20:48:01 +01:00
Bram Moolenaar
daaca8a128 patch 9.0.0029: the bitmaps/vim.ico file is not in the distribution
Problem:    The bitmaps/vim.ico file is not in the distribution.
Solution:   Add it back to the distribution.  Adjust the build rules to have
            it end up in the right place.
2022-07-02 17:58:23 +01:00
Bram Moolenaar
022f9ef16c patch 9.0.0028: MS-Windows: tests fail if there is a "runtime" directory
Problem:    MS-Windows: tests fail if there is a stray "runtime" directory.
Solution:   Only use a "runtime" directory if it contains "defaults.vim".
2022-07-02 17:36:31 +01:00
Bram Moolenaar
2d29501982 patch 9.0.0027: the command line test is getting quite big
Problem:    The command line test is getting quite big.
Solution:   Move command line window tests to a separate file.
2022-07-02 16:29:34 +01:00
Bram Moolenaar
c5274dd122 patch 9.0.0026: accessing freed memory with diff put
Problem:    Accessing freed memory with diff put.
Solution:   Bail out when diff pointer is no longer valid.
2022-07-02 15:10:00 +01:00
Bram Moolenaar
c6fdb15d42 patch 9.0.0025: accessing beyond allocated memory with the cmdline window
Problem:    Accessing beyond allocated memory when using the cmdline window in
            Ex mode.
Solution:   Use "*" instead of "'<,'>" for Visual mode.
2022-07-02 13:43:21 +01:00
Bram Moolenaar
af043e12d9 patch 9.0.0024: may access part of typeahead buf that isn't filled
Problem:    May access part of typeahead buf that isn't filled.
Solution:   Check length of typeahead.
2022-07-02 12:08:16 +01:00
Bram Moolenaar
f2ce76a8c0 patch 9.0.0023: on Solaris timer_create() exists but does not work
Problem:    On Solaris timer_create() exists but does not work.
Solution:   Adjust the configure check to run the test program.
            (closes #10647)
2022-07-02 11:40:40 +01:00
Bram Moolenaar
95afae6d17 patch 9.0.0022: spell test fails
Problem:    Spell test fails.
Solution:   Expect new error is given.
2022-07-01 22:44:19 +01:00
Bram Moolenaar
5e59ea54c0 patch 9.0.0021: invalid memory access when adding word to spell word list
Problem:    Invalid memory access when adding word with a control character to
            the internal spell word list.
Solution:   Disallow adding a word with control characters or a trailing
            slash.
2022-07-01 22:26:20 +01:00
Bram Moolenaar
f12129f171 patch 9.0.0020: with some completion reading past end of string
Problem:    With some completion reading past end of string.
Solution:   Check the length of the string.
2022-07-01 19:58:30 +01:00
zeertzjq
eb273cd7b0 patch 9.0.0019: timers test not run where possible
Problem:    Timers test not run where possible.
Solution:   Adjust platform checks. (closes #10645)
2022-07-01 19:11:23 +01:00
Bram Moolenaar
0d878b95d8 Update runtime files 2022-07-01 18:45:04 +01:00
Bram Moolenaar
27efc62f5d patch 9.0.0018: going over the end of the typahead
Problem:    Going over the end of the typahead.
Solution:   Put a NUL after the typeahead.
2022-07-01 16:35:45 +01:00
Bram Moolenaar
3d51ce18ab patch 9.0.0017: accessing memory beyond the end of the line
Problem:    Accessing memory beyond the end of the line.
Solution:   Stop Visual mode when closing a window.
2022-07-01 15:26:15 +01:00
Bram Moolenaar
c2a79b87fc patch 9.0.0016: comparing line pointer for 'breakindent' is not reliable
Problem:    Comparing line pointer for 'breakindent' is not reliable.
Solution:   Make a copy of the line.
2022-07-01 13:15:35 +01:00
zeertzjq
79ae152697 patch 9.0.0015: with EXITFREE defined terminal menus are not cleared
Problem:    With EXITFREE defined terminal menus are not cleared.
Solution:   Also clear terminal menus. Remove condition that is always true.
            (closes #10641)
2022-07-01 12:13:15 +01:00
Bram Moolenaar
9610f94510 patch 9.0.0014: missing part of the test override change
Problem:    Missing part of the test override change.
Solution:   Add the missing part.
2022-06-30 22:28:08 +01:00
Bram Moolenaar
fa4873ccfc patch 9.0.0013: reproducing memory access errors can be difficult
Problem:    Reproducing memory access errors can be difficult.
Solution:   When testing, copy each line to allocated memory, so that valgrind
            can detect accessing memory before and/or after it.  Fix uncovered
            problems.
2022-06-30 22:13:59 +01:00
Bram Moolenaar
cdbfc6dbab patch 9.0.0012: signature files not detected properly
Problem:    Signature files not detected properly.
Solution:   Add a function to better detect signature files. (Doug Kearns)
2022-06-30 16:25:21 +01:00
Bram Moolenaar
d25f003342 patch 9.0.0011: reading beyond the end of the line with put command
Problem:    Reading beyond the end of the line with put command.
Solution:   Adjust the end mark position.
2022-06-30 12:30:19 +01:00
Bram Moolenaar
b0375d466e patch 9.0.0010: returning 0 for has('patch-9.0.0') is inconsistent
Problem:    Returning 0 for has('patch-9.0.0') is inconsistent.
Solution:   Make it return 1. (closes #10640)
2022-06-30 11:03:39 +01:00
Bram Moolenaar
083692d598 patch 9.0.0009: going past the end of a menu item with only modifier
Problem:    Going past the end of a menu item with only modifier.
Solution:   Check for NUL.
2022-06-29 21:16:58 +01:00
David Gow
83e11800cc patch 9.0.0008: cannot specify the variable name for "xxd -i"
Problem:    Cannot specify the variable name for "xxd -i".
Solution:   Add the "-name" argument. (David Gow, closes #10599)
2022-06-29 20:24:49 +01:00
Bram Moolenaar
84f5463630 patch 9.0.0007: no support for double, dotted and dashed underlines
Problem:    No support for double, dotted and dashed underlines.
Solution:   Add the termcap entries and highlight modes. (closes #9553)
2022-06-29 18:39:11 +01:00
Bram Moolenaar
8b5901e2f9 patch 9.0.0006: not all Visual Basic files are recognized
Problem:    Not all Visual Basic files are recognized.
Solution:   Change detection of *.cls files. (Doug Kearns)
2022-06-29 14:39:12 +01:00
Hugo Osvaldo Barrera
040674129f patch 9.0.0005: hare files are not recognized
Problem:    Hare files are not recognized.
Solution:   Add a filetype pattern. (Hugo Osvaldo Barrera, closes #10630)
2022-06-29 13:48:49 +01:00
Matvey Tarasov
d14bb1aef9 patch 9.0.0004: plural messages not translated properly
Problem:    Plural messages not translated properly.
Solution:   Use ngettext() in a few more places. (Matvey Tarasov,
            closes #10606)
2022-06-29 13:18:27 +01:00
Yegappan Lakshmanan
ee47eaceaa patch 9.0.0003: functions are global while they could be local
Problem:    Functions are global while they could be local.
Solution:   Add "static".  Add a few tests. (Yegappan Lakshmanan,
            closes #10612)
2022-06-29 12:55:36 +01:00
zeertzjq
c207fd2535 patch 9.0.0002: map functionality outside of map.c
Problem:    Map functionality outside of map.c.
Solution:   Move f_hasmapto() to map.c.  Rename a function. (closes #10611)
2022-06-29 10:37:40 +01:00
Bram Moolenaar
75417d960b patch 9.0.0001: Travis CI is no longer used
Problem:    Travis CI is no longer used.
Solution:   Delete the Travis CI configuration. (Hugo Osvaldo Barrera,
            closes #10636)
2022-06-28 20:07:42 +01:00
Bram Moolenaar
eb49041875 release version 9.0
Problem:    About time to release Vim 9.0.
Solution:   Update the version number everywhere.
2022-06-28 13:44:46 +01:00
Bram Moolenaar
c19f1a3488 patch 8.2.5172: "make menu" still uses legacy script
Problem:    "make menu" still uses legacy script.
Solution:   make menu generation script use Vim9 script, fix errors.
2022-06-27 23:13:04 +01:00
Bram Moolenaar
d21e5bde7c patch 8.2.5171: dependencies and proto files are outdated
Problem:    Dependencies and proto files are outdated.
Solution:   Update dependencies and proto files.  Avoid errors.
2022-06-27 22:52:43 +01:00
Bram Moolenaar
944cc9ceba patch 8.2.5170: tiny issues
Problem:    Tiny issues.
Solution:   Tiny improvements.
2022-06-27 22:17:37 +01:00
Bram Moolenaar
069a7d561b Update runtime files 2022-06-27 22:16:08 +01:00
Bram Moolenaar
79481367a4 patch 8.2.5169: nested :source may use NULL pointer
Problem:    Nested :source may use NULL pointer.
Solution:   Do not use the NULL pointer.
2022-06-27 20:15:10 +01:00
Zdenek Dohnal
fee511c1d3 patch 8.2.5168: cannot build with Python 3.11
Problem:    Cannot build with Python 3.11.
Solution:   Adjust define for _PyObject_TypeCheck. (Zdenek Dohnal,
            closes #10627)
2022-06-27 13:59:00 +01:00
Bram Moolenaar
1ae8c262df patch 8.2.5167: get(Fn, 'name') on funcref returns special byte code
Problem:    get(Fn, 'name') on funcref returns special byte code.
Solution:   Use the printable name.
2022-06-27 11:45:52 +01:00
Bram Moolenaar
f65cc665fa patch 8.2.5166: test for DiffUpdated fails
Problem:    Test for DiffUpdated fails.
Solution:   Also accept a count of two.
2022-06-26 18:17:50 +01:00
Bram Moolenaar
507618702e patch 8.2.5165: import test fails because 'diffexpr' isn't reset
Problem:    Import test fails because 'diffexpr' isn't reset.
Solution:   Reset 'diffexpr'.
2022-06-26 18:01:00 +01:00
Bram Moolenaar
c101abff4c patch 8.2.5164: invalid memory access after diff buffer manipulations
Problem:    Invalid memory access after diff buffer manipulations.
Solution:   Use zero offset when change removes all lines in a diff block.
2022-06-26 16:53:34 +01:00
Bram Moolenaar
cd38bb4d83 patch 8.2.5163: crash when deleting buffers in diff mode
Problem:    Crash when deleting buffers in diff mode.
Solution:   Recompute diffs later.  Skip window without a valid buffer.
2022-06-26 14:04:07 +01:00
Bram Moolenaar
0971c7a4e5 patch 8.2.5162: reading before the start of the line with BS in Replace mode
Problem:    Reading before the start of the line with BS in Replace mode.
Solution:   Check the cursor column is more than zero.
2022-06-26 12:59:02 +01:00
Bram Moolenaar
8a3b805c6c Update runtime files 2022-06-26 12:21:15 +01:00
Bram Moolenaar
0fbc9260a7 patch 8.2.5161: might still access invalid memory
Problem:    Might still access invalid memory.
Solution:   Add extra check for negative value.
2022-06-26 11:17:10 +01:00
Bram Moolenaar
e178af5a58 patch 8.2.5160: accessing invalid memory after changing terminal size
Problem:    Accessing invalid memory after changing terminal size.
Solution:   Adjust cmdline_row and msg_row to the value of Rows.
2022-06-25 19:54:09 +01:00
Bram Moolenaar
e1dc76fbf3 Update runtime files 2022-06-25 18:01:32 +01:00
Bram Moolenaar
7bb6d56cfc patch 8.2.5159: fix for CTRL-key combinations causes problems
Problem:    Fix for CTRL-key combinations causes more problems than it solves.
Solution:   Roll back the change.
2022-06-25 13:48:25 +01:00
Bram Moolenaar
61e3784819 patch 8.2.5158: TSTP and INT signal tests are not run with valgrind
Problem:    TSTP and INT signal tests are not run with valgrind.
Solution:   Sleep a bit longer. (closes #10614)
2022-06-25 12:13:28 +01:00
LemonBoy
4e0fc89566 patch 8.2.5157: MS-Windows GUI: CTRL-key combinations do not always work
Problem:    MS-Windows GUI: CTRL-key combinations do not always work.
Solution:   Handle special key combinations better. (closes #10613,
            closes #10602, closes #10579)
2022-06-24 20:18:09 +01:00
Bram Moolenaar
e9b74c0361 patch 8.2.5156: search timeout test often fails with FreeBSD
Problem:    Search timeout test often fails with FreeBSD.
Solution:   Double the maximum time.
2022-06-24 20:11:59 +01:00
Bram Moolenaar
a315ce1f32 patch 8.2.5155: in diff mode windows may get out of sync
Problem:    In diff mode windows may get out of sync. (Gary Johnson)
Solution:   Avoid that the other window scrolls for 'cursorbind'.
2022-06-24 12:38:57 +01:00
Bram Moolenaar
a57b553b43 Update runtime files 2022-06-24 11:48:03 +01:00
Bram Moolenaar
abd56da30b patch 8.2.5154: still mentioning version8, some cosmetic issues
Problem:    Still mentioning version8, some cosmetic issues.
Solution:   Prefer mentioning version9, cosmetic improvements.
2022-06-23 20:46:27 +01:00
towrang
1b096b0d4a patch 8.2.5153: "make uninstall" does not remove colors/lists
Problem:    "make uninstall" does not remove colors/lists.
Solution:   Add a line to the Makefile. (closes #10609)
2022-06-23 15:54:09 +01:00
Bram Moolenaar
8cc5b559f7 Update runtime files 2022-06-23 13:04:20 +01:00
zeertzjq
180246cfd1 patch 8.2.5152: search() gets stuck with "c" and skip evaluates to true
Problem:    search() gets stuck with "c" and skip evaluates to true.
Solution:   Reset the SEARCH_START option. (closes #10608)
2022-06-23 12:04:46 +01:00
Bram Moolenaar
8eba2bd291 patch 8.2.5151: reading beyond the end of the line with lisp indenting
Problem:    Reading beyond the end of the line with lisp indenting.
Solution:   Avoid going over the NUL at the end of the line.
2022-06-22 19:59:28 +01:00
Bram Moolenaar
f7c7c3fad6 patch 8.2.5150: read past the end of the first line with ":0;'{"
Problem:    Read past the end of the first line with ":0;'{".
Solution:   When on line zero check the column is valid for line one.
2022-06-22 19:08:38 +01:00
Bram Moolenaar
6689df024b patch 8.2.5149: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature. (Tony Mechelynck)
Solution:   Add #ifdefs.
2022-06-22 18:14:29 +01:00
Bram Moolenaar
6046aded8d patch 8.2.5148: invalid memory access when using expression on command line
Problem:    Invalid memory access when using an expression on the command line.
Solution:   Make sure the position does not go negative.
2022-06-22 13:51:54 +01:00
Bram Moolenaar
12a49408b3 patch 8.2.5147: flaky test always fails on retry
Problem:    Flaky test always fails on retry.
Solution:   Delete the created function.
2022-06-21 22:35:40 +01:00
Bram Moolenaar
44ddf19ec0 patch 8.2.5146: memory leak when substitute expression nests
Problem:    Memory leak when substitute expression nests.
Solution:   Use an array of expression results.
2022-06-21 22:15:25 +01:00
Bram Moolenaar
cf801d4b95 patch 8.2.5145: exit test causes spurious valgrind reports
Problem:    Exit test causes spurious valgrind reports.
Solution:   Skip test.  Add CheckNotValgrind.
2022-06-21 18:34:42 +01:00
Bram Moolenaar
c856ceb300 patch 8.2.5144: with 'lazyredraw' set completion menu may be wrong
Problem:    With 'lazyredraw' set completion menu may be displayed wrong.
Solution:   When the popup menu is visible do not insert a screen line.
            (closes #106010)
2022-06-21 18:10:39 +01:00
Bram Moolenaar
37bb3b111d patch 8.2.5143: some tests fail when using valgrind
Problem:    Some tests fail when using valgrind. Spurious leak reports.
Solution:   Use WaitForAssert().  Avoid failing fork/exec.  Skip tests where a
            job is killed when running valgrind.
2022-06-21 17:40:47 +01:00
Bram Moolenaar
fa04eae5a5 patch 8.2.5142: startup test fails if there is a status bar
Problem:    Startup test fails if there is a status bar at the top of the
            screen. (Ernie Rael)
Solution:   Use a larger vertical offset in the test.
2022-06-21 14:38:40 +01:00
Bram Moolenaar
155f2d1451 patch 8.2.5141: using "volatile int" in a signal handler might be wrong
Problem:    Using "volatile int" in a signal handler might be wrong.
Solution:   Use "volatile sig_atomic_t".
2022-06-20 13:38:33 +01:00
Bram Moolenaar
73171ba434 patch 8.2.5140: seachpair timeout test is flaky
Problem:    Seachpair timeout test is flaky.
Solution:   Mark the test as flaky so it is retried.
2022-06-20 12:39:39 +01:00
Bram Moolenaar
300d718819 patch 8.2.5139: TIME_WITH_SYS_TIME is no longer supported by autoconf
Problem:    TIME_WITH_SYS_TIME is no longer supported by autoconf.
Solution:   Always include time.h.
2022-06-20 12:01:10 +01:00
Bram Moolenaar
8088ae95bb patch 8.2.5138: various small issues
Problem:    Various small issues.
Solution:   Various small improvments.
2022-06-20 11:38:17 +01:00
Bram Moolenaar
509ce03831 patch 8.2.5137: cannot build without the +channel feature
Problem:    Cannot build without the +channel feature. (Dominique Pellé)
Solution:   Add #ifdef around ch_log() calls. (closes #10598)
2022-06-20 11:23:01 +01:00
Bram Moolenaar
d799daa660 Update runtime files 2022-06-20 11:17:32 +01:00
Bram Moolenaar
e366ed4f2c patch 8.2.5136: debugger test fails when run with valgrind
Problem:    Debugger test fails when run with valgrind.
Solution:   Wait longer when using valgrind.
2022-06-19 20:13:56 +01:00
Bram Moolenaar
0f0d3a7fb6 patch 8.2.5135: running configure gives warnings for main() return type
Problem:    Running configure gives warnings for main() return type.
Solution:   Specify "int" return type.  Avoid a few more warnings.
2022-06-19 18:02:05 +01:00
Bram Moolenaar
3efd65c557 patch 8.2.5134: function has confusing name
Problem:    Function has confusing name.
Solution:   Rename tgetent_error() to invoke_tgetent().
2022-06-19 17:45:28 +01:00
Bram Moolenaar
1f68d992cd patch 8.2.5133: MacOS: build fails
Problem:    MacOS: build fails.
Solution:   Remove "#if 0" from timer_delete().
2022-06-19 17:22:49 +01:00
James McCoy
c829faa821 patch 8.2.5132: :mkview test doesn't test much
Problem:    :mkview test doesn't test much.
Solution:   Save the view with the folds closed. (James McCoy, closes #10596)
2022-06-19 17:16:18 +01:00
Bram Moolenaar
e530395c2c patch 8.2.5131: timeout implementation is not optimal
Problem:    Timeout implementation is not optimal.
Solution:   Further improvements for timeouts.  Add a test for searchpair()
            timeout. (partly by Paul Ollis)
2022-06-19 17:05:47 +01:00
Bram Moolenaar
c5382b667a patch 8.2.5130: edit test for mode message fails when using valgrind
Problem:    Edit test for mode message fails when using valgrind.
Solution:   Use WaitForAssert().  Run beep test later.
2022-06-19 15:22:36 +01:00
Bram Moolenaar
1f30caff8b patch 8.2.5129: timeout handling is not optimal
Problem:    Timeout handling is not optimal.
Solution:   Avoid setting timeout_flag twice.  Adjust the pointer when
            stopping the regexp timeout.  Adjust variable name.
2022-06-19 14:36:35 +01:00
Bram Moolenaar
6f0cf62df9 patch 8.2.5128: syntax disabled when using synID() in searchpair() skip expr
Problem:    Syntax highlighting disabled when using synID() in searchpair()
            skip expression and it times out. (Jaehwang Jung)
Solution:   Add the redrawtime_limit_set flag. (closes #10562)
2022-06-19 12:27:45 +01:00
zeertzjq
cdc6a43559 patch 8.2.5127: using assert_true() does not show value on failure
Problem:    Using assert_true() does not show value on failure.
Solution:   Use assert_inrange(). (closes #10593)
2022-06-19 11:45:46 +01:00
Bram Moolenaar
d6211a52ab patch 8.2.5126: substitute may overrun destination buffer
Problem:    Substitute may overrun destination buffer.
Solution:   Disallow switching buffers in a substitute expression.
2022-06-18 19:48:14 +01:00
Yasuhiro Matsumoto
09f68a5e78 patch 8.2.5125: MS-Windows: warnings from MinGW compiler
Problem:    MS-Windows: warnings from MinGW compyler.
Solution:   Use "volatile". (Yasuhiro Matsumoto, closes #10589)  Initialize
            variable.
2022-06-18 16:48:36 +01:00
Bram Moolenaar
620aa8eb5b patch 8.2.5124: when syntax timeout test fails it does not show the time
Problem:    When syntax timeout test fails it does not show the time.
Solution:   Use assert_inrange().
2022-06-18 16:05:32 +01:00
Bram Moolenaar
156d391195 patch 8.2.5123: using invalid index when looking for spell suggestions
Problem:    Using invalid index when looking for spell suggestions.
Solution:   Do not decrement the index when it is zero.
2022-06-18 14:09:08 +01:00
Bram Moolenaar
0e8e938d49 patch 8.2.5122: lisp indenting my run over the end of the line
Problem:    Lisp indenting my run over the end of the line.
Solution:   Check for NUL earlier.
2022-06-18 12:51:11 +01:00
Bram Moolenaar
8d6420631c patch 8.2.5121: interrupt test sometimes fails
Problem:    Interrupt test sometimes fails.
Solution:   Use a different file name.
2022-06-18 11:54:47 +01:00
Bram Moolenaar
2f074f4685 patch 8.2.5120: searching for quotes may go over the end of the line
Problem:    Searching for quotes may go over the end of the line.
Solution:   Check for running into the NUL.
2022-06-18 11:22:40 +01:00
Philip H
2ff7e7e16d patch 8.2.5119: CI uses cache v2
Problem:    CI uses cache v2.
Solution:   Use cache v3. (closes #10588)
2022-06-17 21:27:38 +01:00
K.Takata
f9f2a330b9 patch 8.2.5118: MS-Windows: sending a message to another Vim may hang
Problem:    MS-Windows: sending a message to another Vim may hang if that Vim
            is halted.
Solution:   Add a timeout to serverSendToVim(). (Ken Takata, closes #10585)
2022-06-17 20:05:40 +01:00
Bram Moolenaar
7d149f899d patch 8.2.5117: crash when calling a Lua callback from a :def function
Problem:    Crash when calling a Lua callback from a :def function. (Bohdan
            Makohin)
Solution:   Handle FC_CFUNC in call_user_func_check(). (closes #10587)
2022-06-17 19:23:34 +01:00
Kazuyuki Miyagi
47f1a55849 patch 8.2.5116: "limit" option of matchfuzzy() not always respected
Problem:    "limit" option of matchfuzzy() not always respected.
Solution:   Remove "else". (Kazuyuki Miyagi, closes #10586)
2022-06-17 18:30:03 +01:00
Bram Moolenaar
d592deb336 Update runtime files 2022-06-17 15:42:40 +01:00
Bram Moolenaar
616592e081 patch 8.2.5115: search timeout is overrun with some patterns
Problem:    Search timeout is overrun with some patterns.
Solution:   Check for timeout in more places.  Make the flag volatile and
            atomic.  Use assert_inrange() to see what happened.
2022-06-17 15:17:10 +01:00
Bram Moolenaar
5ea38d1e7f patch 8.2.5114: time limit on searchpair() does not work properly
Problem:    Time limit on searchpair() does not work properly.
Solution:   Set the time limit once instead of for each regexp. (closes #10562)
2022-06-16 21:20:48 +01:00
Bram Moolenaar
c72e31dfcc patch 8.2.5113: timer becomes invalid after fork/exec, :gui gives errors
Problem:    Timer becomes invalid after fork/exec, :gui gives errors. (Gabriel
            Dupras)
Solution:   Delete the timer befor forking. (closes #10584)
2022-06-16 18:47:20 +01:00
Bram Moolenaar
a272624c76 patch 8.2.5112: gui test hangs on MS-Windows
Problem:    Gui test hangs on MS-Windows.
Solution:   Use "!start" to start Vim.
2022-06-16 16:36:43 +01:00
Bram Moolenaar
de8be2beae patch 8.2.5111: no test for --gui-dialog-file
Problem:    No test for --gui-dialog-file.
Solution:   Add a test.
2022-06-16 14:45:41 +01:00
Bram Moolenaar
bf6614643f patch 8.2.5110: icon filetype not recognized from the first line
Problem:    Icon filetype not recognized from the first line.
Solution:   Add a check for the first line. (Doug Kearns)
2022-06-16 13:27:18 +01:00
Bram Moolenaar
7a1d32809b patch 8.2.5109: mode not updated after CTRL-O CTRL-C in Insert mode
Problem:    Mode not updated after CTRL-O CTRL-C in Insert mode.
Solution:   Set redraw_mode and use it. (closes #10581)
2022-06-16 13:04:45 +01:00
Bram Moolenaar
308660bd26 patch 8.2.5108: retab test disabled because it hangs on MS-Windows
Problem:    Retab test disabled because it hangs on MS-Windows.
Solution:   Also set got_int at the other place a overlong text is detected.
2022-06-16 12:10:48 +01:00
Bram Moolenaar
93a1096fe4 patch 8.2.5107: some callers of rettv_list_alloc() check for not OK
Problem:    Some callers of rettv_list_alloc() check for not OK. (Christ van
            Willegen)
Solution:   Use "==" instead of "!=" when checking the return value.
2022-06-16 11:42:09 +01:00
zeertzjq
44068e97db patch 8.2.5106: default cmdwin mappings are re-mappable
Problem:    Default cmdwin mappings are re-mappable.
Solution:   Make the default mappings not re-mappable. (closes #10580)  Use
            symbols for the first do_map() argument.
2022-06-16 11:14:55 +01:00
Bram Moolenaar
83497f8758 patch 8.2.5105: test still hangs on MS-Windows
Problem:    Test still hangs on MS-Windows.
Solution:   Skip "nocatch" test the right way.
2022-06-15 22:11:45 +01:00
Bram Moolenaar
b31cb04771 patch 8.2.5104: test hangs on MS-Windows
Problem:    Test hangs on MS-Windows.
Solution:   Skip another test on MS-Windows.
2022-06-15 21:28:55 +01:00
Bram Moolenaar
34f99584c7 patch 8.2.5103: build fails with small features
Problem:    Build fails with small features.
Solution:   Add #ifdef.  Skip test on MS-Windows.
2022-06-15 21:08:09 +01:00
Bram Moolenaar
8bea171f15 patch 8.2.5102: interrupt not caught in test
Problem:    Interrupt not caught in test.
Solution:   Consider an exception thrown in the current try/catch when got_int
            is set.  Also catch early exit when not using try/catch.
2022-06-15 20:49:35 +01:00
Yegappan Lakshmanan
cf65d88ff8 patch 8.2.5101: MS-Windows with MinGW: $CC may be "cc" instead of "gcc"
Problem:    MS-Windows with MinGW: $CC may be "cc" instead of "gcc".
Solution:   Set $CC if it is not matching "clang". (Yegappan Lakshmanan,
            closes #10578)
2022-06-15 18:31:45 +01:00
Bram Moolenaar
dad5d2f87b patch 8.2.5100: memory usage tests are not retried
Problem:    Memory usage tests are not retried.
Solution:   Mark memory usage tests as flaky.
2022-06-15 18:08:42 +01:00
Bram Moolenaar
62eb239c1c patch 8.2.5099: some terminal tests are not retried
Problem:    Some terminal tests are not retried.
Solution:   Mark terminal tests as flaky.
2022-06-15 17:52:44 +01:00
Bram Moolenaar
fc9f0fd6d1 patch 8.2.5098: spelldump test sometimes hangs
Problem:    Spelldump test sometimes hangs.
Solution:   Catch the problem of the spell file not being found to avoid
            hanging in the download dialog.
2022-06-15 16:57:44 +01:00
Bram Moolenaar
74ac29cecd patch 8.2.5097: using uninitialized memory when using 'listchars'
Problem:    Using uninitialized memory when using 'listchars'.
Solution:   Use the length returned by mb_char2bytes(). (closes #10576)
2022-06-15 12:12:44 +01:00
Bram Moolenaar
377d92a912 patch 8.2.5096: terminal test still fails with some shell commands
Problem:    Terminal test still fails with some shell commands.
Solution:   Add missing "call".  (closes #10530)
2022-06-14 21:22:12 +01:00
Bram Moolenaar
99f4b6e082 patch 8.2.5095: terminal test still fails with some shell commands
Problem:    Terminal test still fails with some shell commands.
Solution:   Disable setting the window title in the Vim instance running in a
            terminal window. (closes #10530)
2022-06-14 19:52:16 +01:00
Bram Moolenaar
8c1b8cb2e0 Update runtime files 2022-06-14 17:41:28 +01:00
Bram Moolenaar
217ea51ee4 patch 8.2.5094: MS-Windows GUI: empty command may cause a dialog
Problem:    MS-Windows GUI: empty command may cause a dialog.
Solution:   Delete the dialog file.  Improve the message.
2022-06-14 17:13:59 +01:00
Bram Moolenaar
6ce1b59228 patch 8.2.5093: error message for unknown command may have the command twice
Problem:    Error message for unknown command may mention the command twice.
            (Malcolm Rowe)
Solution:   Add the did_append_cmd flag. (closes #10570)
2022-06-14 16:06:07 +01:00
Bram Moolenaar
48ce135e6d patch 8.2.5092: using "'<,'>" in Ex mode may compare unrelated pointers
Problem:    Using "'<,'>" in Ex mode may compare unrelated pointers.
Solution:   Set eap->cmd to "+" only later.
2022-06-14 15:43:18 +01:00
Bram Moolenaar
e564c7009d patch 8.2.5091: terminal test fails with some shell commands
Problem:    Terminal test fails with some shell commands.
Solution:   Disable setting the window title. (closes #10530)
2022-06-14 15:00:28 +01:00
K.Takata
831d6d4c02 patch 8.2.5090: MS-Windows: vim.def is no longer used
Problem:    MS-Windows: vim.def is no longer used.
Solution:   Delete vim.def. (Ken Takata, closes #10569)
2022-06-14 13:58:29 +01:00
Yegappan Lakshmanan
ca195cc84f patch 8.2.5089: some functions return a different value on failure
Problem:    Some functions return a different value on failure.
Solution:   Initialize the return value earlier. (Yegappan Lakshmanan,
            closes #10568)
2022-06-14 13:42:26 +01:00
zeertzjq
cd7496382e patch 8.2.5088: value of cmod_verbose is a bit complicated to use
Problem:    Value of cmod_verbose is a bit complicated to use.
Solution:   Use zero for not set, value + 1 when set. (closes #10564)
2022-06-14 13:30:35 +01:00
Yegappan Lakshmanan
1630bd980a patch 8.2.5087: cannot build with clang on MS-Windows
Problem:    Cannot build with clang on MS-Windows.
Solution:   Add support for building with clang. (Yegappan Lakshmanan,
            closes #10557)
2022-06-14 12:30:25 +01:00
Philip H
361f9d2da4 patch 8.2.5086: CI runs on Windows 2019
Problem:    CI runs on Windows 2019.
Solution:   Switch to Windows 2022.
2022-06-14 11:35:21 +01:00
Bram Moolenaar
819ab82f7e patch 8.2.5085: gcc gives warning for signed/unsigned difference
Problem:    Gcc gives warning for signed/unsigned difference.
Solution:   Use a different pointer type. (John Marriott)
2022-06-13 22:34:14 +01:00
Bram Moolenaar
2d12c25a1b patch 8.2.5084: when the GUI shows a dialog tests get stuck
Problem:    When the GUI shows a dialog tests get stuck.
Solution:   Add the --gui-dialog-file argument.
2022-06-13 21:42:45 +01:00
Bram Moolenaar
db77c49401 patch 8.2.5083: autocmd test still fails on MS-Windows
Problem:    Autocmd test still fails on MS-Windows.
Solution:   Change backward to forward slashes.
2022-06-12 23:26:50 +01:00
Bram Moolenaar
9397423985 patch 8.2.5082: retab test fails
Problem:    Retab test fails.
Solution:   Disable the test for now.
2022-06-12 23:05:07 +01:00
Bram Moolenaar
7c0d0c3c75 patch 8.2.5081: autocmd test fails on MS-Windows
Problem:    Autocmd test fails on MS-Windows.
Solution:   Set shellslash to get forward slashes.
2022-06-12 22:33:33 +01:00
Bram Moolenaar
6ba83ba9ee Update runtime files. 2022-06-12 22:15:57 +01:00
Bram Moolenaar
a7ac4c9c39 patch 8.2.5080: when indenting gets out of hand it is hard to stop
Problem:    When indenting gets out of hand it is hard to stop.
Solution:   When line gets too long set got_int.
2022-06-12 21:11:03 +01:00
Bram Moolenaar
d8c9d32c89 patch 8.2.5079: DirChanged autocommand may use freed memory
Problem:    DirChanged autocommand may use freed memory. (Shane-XB Qian)
Solution:   Free the memory later. (closes #10555)
2022-06-12 11:49:16 +01:00
zeertzjq
3269efdf01 patch 8.2.5078: substitute test has a one second delay
Problem:    Substitute test has a one second delay.
Solution:   Use ":silent!".  Add another test case. (closes #10558)
2022-06-12 11:13:05 +01:00
Yegappan Lakshmanan
a34b4460c2 patch 8.2.5077: various warnings from clang on MS-Windows
Problem:    Various warnings from clang on MS-Windows.
Solution:   Avoid the warnings. (Yegappan Lakshmanan, closes #10553)
2022-06-11 10:43:26 +01:00
zeertzjq
2e7cba347f patch 8.2.5076: unnecessary code
Problem:    Unnecessary code.
Solution:   Remove code and replace with function call. (closes #10552)
2022-06-10 15:30:32 +01:00
Bram Moolenaar
b74e046491 patch 8.2.5075: clang gives an out of bounds warning
Problem:    Clang gives an out of bounds warning.
Solution:   adjust conditional expression (John Marriott)
2022-06-10 14:52:35 +01:00
Bram Moolenaar
ad73cc2ff2 patch 8.2.5074: spell test fails on MS-Windows
Problem:    Spell test fails on MS-Windows.
Solution:   Do not change 'encoding'
2022-06-10 00:02:10 +01:00
Bram Moolenaar
35d7a2fb13 patch 8.2.5073: clang on MS-Windows produces warnings
Problem:    Clang on MS-Windows produces warnings.
Solution:   Avoid the warnings. (Yegappan Lakshmanan, closes #10546)
2022-06-09 20:53:54 +01:00
Bram Moolenaar
63f3260378 Update runtime files 2022-06-09 20:45:54 +01:00
Bram Moolenaar
2813f38e02 patch 8.2.5072: using uninitialized value and freed memory in spell command
Problem:    Using uninitialized value and freed memory in spell command.
Solution:   Initialize "attr".  Check for empty line early.
2022-06-09 19:54:24 +01:00
ichizok
f5465ff5c8 patch 8.2.5071: with some Mac OS version clockid_t is redefined
Problem:    With some Mac OS version clockid_t is redefined.
Solution:   Adjust #ifdefs. (Ozaki Kiichi, closes #10549)
2022-06-09 14:50:10 +01:00
zeertzjq
b5f0801b1f patch 8.2.5070: unnecessary code
Problem:    Unnecessary code.
Solution:   Remove code that isn't needed. (closes #10534)
2022-06-09 13:55:28 +01:00
Yegappan Lakshmanan
ebb01bdb27 patch 8.2.5069: various warnings from clang on MS-Windows
Problem:    Various warnings from clang on MS-Windows.
Solution:   Fix the code to avoid the warnings. (Yegappan Lakshmanan,
            closes #10538)
2022-06-08 15:14:09 +01:00
Bram Moolenaar
68093d36bf patch 8.2.5068: gcc 12.1 warning when building tee
Problem:    Gcc 12.1 warning when building tee.
Solution:   Change type to size_t. (John Marriott)
2022-06-08 13:11:45 +01:00
Bram Moolenaar
f78b52ba24 patch 8.2.5067: timer_create is not available on every Mac system
Problem:    Timer_create is not available on every Mac system. (Hisashi T
            Fujinaka)
Solution:   Adjust #ifdef.
2022-06-08 10:48:18 +01:00
Bram Moolenaar
aca12fd89b patch 8.2.5066: timer_create is not available on every Mac system
Problem:    Timer_create is not available on every Mac system. (Hisashi T
            Fujinaka)
Solution:   Adjust #ifdef.
2022-06-07 10:16:15 +01:00
Bram Moolenaar
739f7998ab patch 8.2.5065: wrong return type for main() in tee.c
Problem:    Wrong return type for main() in tee.c.
Solution:   Use "int" instead of "void".  Remove unused variable.
2022-06-06 22:16:09 +01:00
Bram Moolenaar
016188fd8a Update runtime files. 2022-06-06 20:52:59 +01:00
zeertzjq
3760bfddc4 patch 8.2.5064: no test for what 8.1.0052 fixes
Problem:    No test for what 8.1.0052 fixes.
Solution:   Add a test. (closes #10531)
2022-06-06 16:22:46 +01:00
Bram Moolenaar
44a3f3353e patch 8.2.5063: error for a command may go over the end of IObuff
Problem:    Error for a command may go over the end of IObuff.
Solution:   Truncate the message.
2022-06-06 15:38:21 +01:00
Bram Moolenaar
1f89abf69d patch 8.2.5062: Coverity warns for dead code
Problem:    Coverity warns for dead code.
Solution:   Remove the dead code.
2022-06-06 10:07:01 +01:00
Bram Moolenaar
99c48fe997 patch 8.2.5061: C89 requires signal handlers to return void
Problem:    C89 requires signal handlers to return void.
Solution:   Drop RETSIGTYPE and hard-code a void return value.
2022-06-05 22:05:19 +01:00
Bram Moolenaar
de1d734379 patch 8.2.5060: running configure fails
Problem:    Running configure fails.
Solution:   Remove line break.
2022-06-05 20:03:17 +01:00
Bram Moolenaar
1004b3d970 patch 8.2.5059: autoconf 2.71 produces many obsolete warnings
Problem:    Autoconf 2.71 produces many obsolete warnings.
Solution:   Replace obsolete macros with non-obsolete ones, where the
            functionality does not change. (issue #10528)
2022-06-05 19:51:55 +01:00
zeertzjq
e3a529bc87 patch 8.2.5058: input() does not handle composing characters properly
Problem:    input() does not handle composing characters properly.
Solution:   Use mb_cptr2char_adv() instead of mb_ptr2char_adv().
            (closes #10527)
2022-06-05 19:01:37 +01:00
Paul Ollis
6574577cac patch 8.2.5057: using gettimeofday() for timeout is very inefficient
Problem:    Using gettimeofday() for timeout is very inefficient.
Solution:   Set a platform dependent timer. (Paul Ollis, closes #10505)
2022-06-05 16:55:54 +01:00
Bram Moolenaar
1d97db3d98 patch 8.2.5056: the channel log only contains some of the raw terminal output
Problem:    The channel log only contains some of the raw terminal output.
Solution:   Add the "o" flag to log all terminal output.  Use it for "--log".
2022-06-04 22:15:54 +01:00
LemonBoy
327e6dd822 patch 8.2.5055: statusline is not updated when terminal title changes
Problem:    Statusline is not updated when terminal title changes.
Solution:   Redraw the status line when the title changes. (issue #10425)
2022-06-04 19:57:59 +01:00
Bram Moolenaar
cfa8f9a3f2 Update runtime files 2022-06-03 21:59:47 +01:00
Mudskipper875
635f48010d patch 8.2.5054: no good filetype for conf files similar to dosini
Problem:    No good filetype for conf files similar to dosini.
Solution:   Add the confini filetype. (closes #10510)
2022-06-03 18:40:53 +01:00
Bram Moolenaar
75ebd2aab0 patch 8.2.5053: cannot have a comment halfway an expression in a block
Problem:    Cannot have a comment halfway an expression in an autocmd command
            block.
Solution:   When skipping over the NL also skip over comments. (closes #10519)
2022-06-03 17:39:46 +01:00
Philip H
bfaa24f953 patch 8.2.5052: CI checkout step title is a bit cryptic
Problem:    CI checkout step title is a bit cryptic.
Solution:   Add a better title. (closes #10509)
2022-06-01 21:26:34 +01:00
Bram Moolenaar
882476ad7b patch 8.2.5051: check for autocmd_add() event argument is confusing
Problem:    Check for autocmd_add() event argument is confusing.
Solution:   Make the code more straightforward.
2022-06-01 16:02:38 +01:00
Bram Moolenaar
409510c588 patch 8.2.5050: using freed memory when searching for pattern in path
Problem:    Using freed memory when searching for pattern in path.
Solution:   Make a copy of the line.
2022-06-01 15:23:13 +01:00
Yegappan Lakshmanan
00e977cb83 patch 8.2.5049: insufficient tests for autocommands
Problem:    Insufficient tests for autocommands.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #10507)
2022-06-01 12:31:53 +01:00
Bram Moolenaar
b5912e0643 patch 8.2.5048: when using XIM the gui test may fail
Problem:    When using XIM the gui test may fail.
Solution:   Only use --not-a-term when not using XIM.
2022-05-31 17:03:14 +01:00
Bram Moolenaar
368137aa52 patch 8.2.5047: CurSearch highlight is often wrong
Problem:    CurSearch highlight is often wrong.
Solution:   Remember the last highlighted position and redraw when needed.
2022-05-31 13:43:12 +01:00
Bram Moolenaar
4aaf3e7f4d patch 8.2.5046: vim_regsub() can overwrite the destination
Problem:    vim_regsub() can overwrite the destination.
Solution:   Pass the destination length, give an error when it doesn't fit.
2022-05-30 20:58:55 +01:00
Bram Moolenaar
10db31f949 patch 8.2.5045: can escape a terminal popup window when the job is finished
Problem:    Can escape a terminal popup window when the job is finished.
Solution:   Only check for a finished job where it is relevant.
            (closes #10253)
2022-05-30 17:58:03 +01:00
Bram Moolenaar
be99042b03 patch 8.2.5044: command line test fails
Problem:    Command line test fails.
Solution:   Also beep when cmdline win can't be opened because of locks.
            Make the test not beep.  Make the test pass on MS-Windows.
2022-05-30 16:01:42 +01:00
Bram Moolenaar
71223e2db8 patch 8.2.5043: can open a cmdline window from a substitute expression
Problem:    Can open a cmdline window from a substitute expression.
Solution:   Disallow opening a command line window when text or buffer is
            locked.
2022-05-30 15:23:09 +01:00
Bram Moolenaar
89b25585cc patch 8.2.5042: scrollbar thumb in tall scrolled popup not visible
Problem:    Scrollbar thumb in tall scrolled popup not visible.
Solution:   Show at least one thumb character. (fixes 10492)
2022-05-30 13:20:56 +01:00
Bram Moolenaar
9e636b9d2e patch 8.2.5041: cannot close a terminal popup with "NONE" job
Problem:    Cannot close a terminal popup with "NONE" job.
Solution:   Adjust the conditions for whether a job is running.
            (closes #10498)
2022-05-29 22:37:05 +01:00
Bram Moolenaar
fc376e0b1a patch 8.2.5040: scrollbar thumb in scrolled popup not visible
Problem:    Scrollbar thumb in scrolled popup not visible.
Solution:   Show at least one thumb character. (fixes 10492)
2022-05-29 18:18:18 +01:00
Bram Moolenaar
83bd7a9740 patch 8.2.5039: confusing error if first argument of popup_create() is wrong
Problem:    Confusing error if first argument of popup_create() is wrong.
Solution:   Give a more informative error.
2022-05-29 17:13:24 +01:00
Bram Moolenaar
d28950f954 patch 8.2.5038: a finished terminal in a popup window does not show scrollbar
Problem:    A finished terminal in a popup window does not show a scrollbar.
Solution:   Show the scrollbar if the terminal job is finished. (closes
            #10497)
2022-05-29 14:13:04 +01:00
Bram Moolenaar
4d97a565ae patch 8.2.5037: cursor position may be invalid after "0;" range
Problem:    Cursor position may be invalid after "0;" range.
Solution:   Check the cursor position when it was set by ";" in the range.
2022-05-28 14:25:35 +01:00
Bram Moolenaar
305abc6123 patch 8.2.5036: using two counters for timeout check in NFA engine
Problem:    Using two counters for timeout check in NFA engine.
Solution:   Use only one counter.  Tune the counts based on guessing.
2022-05-28 11:08:40 +01:00
zeertzjq
e6f13b473c patch 8.2.5035: when splitting a window the changelist position moves
Problem:    When splitting a window the changelist position moves.
Solution:   Set the changelist index a bit later. (closes #10493)
2022-05-28 10:49:44 +01:00
Bram Moolenaar
5a6ec10cc8 patch 8.2.5034: there is no way to get the byte index from a virtual column
Problem:    There is no way to get the byte index from a virtual column.
Solution:   Add virtcol2col(). (Yegappan Lakshmanan, closes #10477,
            closes #10098)
2022-05-27 21:58:00 +01:00
Bram Moolenaar
968443efb5 patch 8.2.5033: build error with +eval but without +quickfix
Problem:    Build error with +eval but without +quickfix.  Warning for
            uninitialized variable.
Solution:   Adjust #ifdefs. (John Marriott)
2022-05-27 21:16:34 +01:00
Bram Moolenaar
ddf5312929 patch 8.2.5032: Python 3 test fails without the GUI
Problem:    Python 3 test fails without the GUI.
Solution:   Check the balloon_eval feature is available.
2022-05-27 20:23:20 +01:00
Bram Moolenaar
76381a5b4f patch 8.2.5031: cannot easily run the benchmarks
Problem:    Cannot easily run the benchmarks.
Solution:   Have "make benchmark" in the src directory work.
2022-05-27 20:13:28 +01:00
Yegappan Lakshmanan
e0ff3a7de6 patch 8.2.5030: autocmd_add() can only handle one event and pattern
Problem:    autocmd_add() can only handle one event and pattern.
Solution:   Support a list of events and patterns. (Yegappan Lakshmanan,
            closes #10483)
2022-05-27 18:05:33 +01:00
zeertzjq
cfe456543e patch 8.2.5029: "textlock" is always zero
Problem:    "textlock" is always zero.
Solution:   Remove "textlock" and rename "textwinlock" to "textlock".
            (closes #10489)
2022-05-27 17:26:55 +01:00
Bram Moolenaar
02e8d4e4ff patch 8.2.5028: syntax regexp matching can be slow
Problem:    Syntax regexp matching can be slow.
Solution:   Adjust the counters for checking the timeout to check about once
            per msec. (closes #10487, closes #2712)
2022-05-27 15:35:28 +01:00
Bram Moolenaar
bf79a4e48d patch 8.2.5027: error for missing :endif when an exception was thrown
Problem:    Error for missing :endif when an exception was thrown. (Dani
            Dickstein)
Solution:   Do not give an error when aborting. (closes #10490)
2022-05-27 13:52:08 +01:00
Bram Moolenaar
31d9948e3a patch 8.2.5026: Vim9: a few lines not covered by tests
Problem:    Vim9: a few lines not covered by tests.
Solution:   Delete dead code.  Add a few test cases. make "12->func()" work.
2022-05-26 22:24:43 +01:00
Bram Moolenaar
5cb53b7afe patch 8.2.5025: Vim9: a few lines not covered by tests
Problem:    Vim9: a few lines not covered by tests.
Solution:   Add a few tests.
2022-05-26 19:54:05 +01:00
Bram Moolenaar
e2fa213cf5 patch 8.2.5024: using freed memory with "]d"
Problem:    Using freed memory with "]d".
Solution:   Copy the pattern before searching.
2022-05-26 16:32:44 +01:00
Bram Moolenaar
338f1fc0ee patch 8.2.5023: substitute overwrites allocated buffer
Problem:    Substitute overwrites allocated buffer.
Solution:   Disallow undo when in a substitute command.
2022-05-26 15:56:23 +01:00
LemonBoy
9bcb9ca9c7 patch 8.2.5022: 'completefunc'/'omnifunc' error does not end completion
Problem:    'completefunc'/'omnifunc' error does not end completion.
Solution:   Check if there was an error or exception. (closes #10486,
            closes #4218)
2022-05-26 15:23:26 +01:00
Bram Moolenaar
30b9a41ad9 patch 8.2.5021: build fails with normal features and +terminal
Problem:    Build fails with normal features and +terminal. (Dominique Pellé)
Solution:   Add #ifdefs. (closes #10484)
2022-05-26 14:06:37 +01:00
Milly
c7e54efe4d patch 8.2.5020: using 'imstatusfunc' and 'imactivatefunc' breaks 'foldopen'
Problem:    Using 'imstatusfunc' and 'imactivatefunc' breaks 'foldopen'.
Solution:   Save and restore the KeyTyped flag. (closes #10479)
2022-05-26 13:16:25 +01:00
LemonBoy
0f7a3e1de6 patch 8.2.5019: cannot get the first screen column of a character
Problem:    Cannot get the first screen column of a character.
Solution:   Let virtcol() optionally return a list. (closes #10482,
            closes #7964)
2022-05-26 12:10:37 +01:00
Bram Moolenaar
c3caa7f788 patch 8.2.5018: Vim9: some code is not covered by tests
Problem:    Vim9: some code is not covered by tests.
Solution:   Delete dead code.
2022-05-25 19:15:10 +01:00
mityu
8be36eecdc patch 8.2.5017: gcc 12.1 warns for uninitialized variable
Problem:    Gcc 12.1 warns for uninitialized variable.
Solution:   Initialize the variable. (closes #10476)
2022-05-25 17:29:46 +01:00
Bram Moolenaar
2a585c8501 patch 8.2.5016: access before start of text with a put command
Problem:    Access before start of text with a put command.
Solution:   Check the length is more than zero.
2022-05-25 15:15:38 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
bf82df0dd4 patch 8.2.5015: Hoon and Moonscript files are not recognized
Problem:    Hoon and Moonscript files are not recognized.
Solution:   Add filetype patterns. (Goc Dundar, closes #10478)
2022-05-25 12:42:08 +01:00
Paul Ollis
4c3d21acaa patch 8.2.5014: byte offsets are wrong when using text properties
Problem:    Byte offsets are wrong when using text properties.
Solution:   Make sure text properties do not affect the byte counts.
            (Paul Ollis, closes #10474)
2022-05-24 21:26:37 +01:00
Bram Moolenaar
78d52883e1 patch 8.2.5013: after text formatting cursor may be in an invalid position
Problem:    After text formatting the cursor may be in an invalid position.
Solution:   Correct the cursor position after formatting.
2022-05-24 13:57:54 +01:00
LemonBoy
53737b5eee patch 8.2.5012: cannot select one character inside ()
Problem:    Cannot select one character inside ().
Solution:   Do not try to extend the area if it is empty. (closes #10472,
            closes #6616)
2022-05-24 11:49:31 +01:00
Yegappan Lakshmanan
971f6825ee patch 8.2.5011: Replacing an autocommand requires several lines
Problem:    Replacing an autocommand requires several lines.
Solution:   Add the "replace" flag to autocmd_add(). (Yegappan Lakshmanan,
            closes #10473)
2022-05-24 11:40:11 +01:00
Bram Moolenaar
c9a431c763 patch 8.2.5010: the terminal debugger uses various global variables
Problem:    The terminal debugger uses various global variables.
Solution:   Add a dictionary to hold the terminal debugger preferences.
2022-05-23 21:49:41 +01:00
Brandon Simmons
e8c4a64bff patch 8.2.5009: fold may not be closeable after appending
Problem:    Fold may not be closeable after appending.
Solution:   Set the fd_small flag to MAYBE. (Brandon Simmons, closes #10471)
2022-05-23 15:33:08 +01:00
Bram Moolenaar
7e66778815 patch 8.2.5008: when 'formatoptions' contains "/" wrongly wrapping comment
Problem:    When 'formatoptions' contains "/" wrongly wrapping a long trailing
            comment.
Solution:   Pass the OPENLINE_FORMAT flag.
2022-05-23 13:10:48 +01:00
Bram Moolenaar
6d24b4ff69 patch 8.2.5007: spell suggestion may use uninitialized memory
Problem:    Spell suggestion may use uninitialized memory. (Zdenek Dohnal)
Solution:   Avoid going over the end of the word.
2022-05-23 12:01:50 +01:00
Bram Moolenaar
68e64d2c17 patch 8.2.5006: asan warns for undefined behavior
Problem:    Asan warns for undefined behavior.
Solution:   Cast the shifted value to unsigned.
2022-05-22 22:07:52 +01:00
Bram Moolenaar
5b529230f1 patch 8.2.5005: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (John Marriott)
Solution:   Initialize the pointer to NULL.
2022-05-22 21:53:26 +01:00
Bram Moolenaar
338bf58eba patch 8.2.5004: right shift on negative number does not work as documented
Problem:    Right shift on negative number does not work as documented.
Solution:   Use a uvarnumber_T type cast.
2022-05-22 20:16:32 +01:00
Yegappan Lakshmanan
a061f34191 patch 8.2.5003: cannot do bitwise shifts
Problem:    Cannot do bitwise shifts.
Solution:   Add the >> and << operators. (Yegappan Lakshmanan, closes #8457)
2022-05-22 19:13:49 +01:00
LemonBoy
9b2edfd3bf patch 8.2.5002: deletebufline() may change Visual selection
Problem:    deletebufline() may change Visual selection.
Solution:   Disable Visual mode when using another buffer. (closes #10469)
2022-05-22 15:35:53 +01:00
Bram Moolenaar
8a3704723c patch 8.2.5001: checking translations affects the search pattern history
Problem:    Checking translations affects the search pattern history.
Solution:   Use "keeppatterns". (Doug Kearns)
2022-05-22 15:28:31 +01:00
Bram Moolenaar
835ee980ee patch 8.2.5000: no patch for documentation updates
Problem:    No patch for documentation updates.
Solution:   Update documentation files.
2022-05-22 14:50:16 +01:00
Bram Moolenaar
aa9729b652 patch 8.2.4999: filetype test table is not properly sorted
Problem:    Filetype test table is not properly sorted.
Solution:   Sort by filetype. (Doug Kearns)
2022-05-22 14:26:54 +01:00
Bram Moolenaar
bce69d65dd patch 8.2.4998: Vim9: crash when using multiple funcref()
Problem:    Vim9: crash when using multiple funcref().
Solution:   Check if varargs type is NULL. (closes #10467)
2022-05-22 13:45:52 +01:00
Bram Moolenaar
37233f6022 patch 8.2.4997: Python: changing hidden buffer can cause display mess up
Problem:    Python: changing hidden buffer can cause the display to be messed
            up.
Solution:   Do not mark changed lines when using another buffer. (Paul Ollis,
            closes #10437, closes #7972)
2022-05-22 12:23:48 +01:00
Bram Moolenaar
0ad00a7fd3 patch 8.2.4996: setbufline() may change Visual selection
Problem:    setbufline() may change Visual selection. (Qiming Zhao)
Solution:   Disable Visual mode when using another buffer. (closes #10466)
2022-05-22 11:59:25 +01:00
Bram Moolenaar
dafef51b1c patch 8.2.4995: still a compiler warning for possibly uninitialized variable
Problem:    Still a compiler warning for possibly uninitialized variable.
            (Tony Mechelynck)
Solution:   Initialize variables.
2022-05-21 21:55:55 +01:00
Bram Moolenaar
7e569d09d2 patch 8.2.4994: tests are using legacy functions
Problem:    Tests are using legacy functions.
Solution:   Convert a few tests to use :def functions.
2022-05-21 21:30:50 +01:00
Bram Moolenaar
8e145b8246 patch 8.2.4993: smart/C/lisp indenting is optional
Problem:    smart/C/lisp indenting is optional, which makes the code more
            complex, while it only reduces the executable size a bit.
Solution:   Graduate FEAT_CINDENT, FEAT_SMARTINDENT and FEAT_LISP.
2022-05-21 20:17:31 +01:00
Bram Moolenaar
5a01caa904 patch 8.2.4992: compiler warning for possibly uninitialized variable
Problem:    Compiler warning for possibly uninitialized variable. (Tony
            Mechelynck)
Solution:   Initialize variable in the caller instead of in the function.
2022-05-21 18:56:58 +01:00
zeertzjq
93c1573dd2 patch 8.2.4991: no test for hwat patch 8.1.0535 fixes
Problem:    No test for hwat patch 8.1.0535 fixes.
Solution:   Add a test. (closes #10462)
2022-05-21 16:34:38 +01:00
Bram Moolenaar
1a56ea8381 patch 8.2.4990: memory leak when :defcompile fails
Problem:    Memory leak when :defcompile fails.
Solution:   Free fname when returning early.
2022-05-21 16:28:42 +01:00
Bram Moolenaar
f79d9dd43f patch 8.2.4989: cannot specify a function name for :defcompile
Problem:    Cannot specify a function name for :defcompile.
Solution:   Implement a function name argument for :defcompile.
2022-05-21 15:39:02 +01:00
Bram Moolenaar
2d8ed0203a Update runtime files. 2022-05-21 13:08:16 +01:00
LemonBoy
0d534d9cf2 patch 8.2.4988: textprop in wrong position when replacing multi-byte chars
Problem:    Textprop in wrong position when replacing multi-byte chars.
Solution:   Adjust textprop position. (closes #10461)
2022-05-21 11:20:42 +01:00
Brandon Simmons
3fcccf94e8 patch 8.2.4987: after deletion a small fold may be closable
Problem:    After deletion a small fold may be closable.
Solution:   Check for a reverse range. (Brandon Simmons, closes #10457)
2022-05-20 18:25:21 +01:00
Philip H
8a83ffdc43 patch 8.2.4986: some github actions are outdated
Problem:    Some github actions are outdated.
Solution:   Update CodeQl to v2, update checkout to v3. (closes #10450)
2022-05-20 17:19:06 +01:00
Bram Moolenaar
875339b22a patch 8.2.4985: PVS warns for possible array underrun
Problem:    PVS warns for possible array underrun.
Solution:   Add a check for a positive value. (closes #10451)
2022-05-20 14:10:50 +01:00
zeertzjq
6dab00aa54 patch 8.2.4984: dragging statusline fails for window with winbar
Problem:    Dragging statusline fails for window with winbar.
Solution:   Fix off-by-one error. (closes #10448)
2022-05-20 13:45:59 +01:00
Bram Moolenaar
b0855f5324 patch 8.2.4983: colors test fails in the GUI
Problem:    Colors test fails in the GUI.
Solution:   Reset g:terminal_ansi_colors.
2022-05-20 10:39:18 +01:00
LemonBoy
b2b3acbf2b patch 8.2.4982: colors in terminal window are not 100% correct
Problem:    Colors in terminal window are not 100% correct.
Solution:   Use g:terminal_ansi_colors as documented. (closes #10429,
            closes #7227 closes #10347)
2022-05-20 10:10:34 +01:00
Yegappan Lakshmanan
1755a91851 patch 8.2.4981: it is not possible to manipulate autocommands
Problem:    It is not possible to manipulate autocommands.
Solution:   Add functions to add, get and set autocommands. (Yegappan
            Lakshmanan, closes #10291)
2022-05-19 10:31:47 +01:00
Bram Moolenaar
aaadb5b6f7 patch 8.2.4980: when 'shortmess' contains 'A' loading session may still warn
Problem:    When 'shortmess' contains 'A' loading a session may still warn for
            an existing swap file. (Melker Österberg)
Solution:   Keep the 'A' flag to 'shortmess' in the session file.
            (closes #10443)
2022-05-18 22:07:47 +01:00
Bram Moolenaar
28d032cc68 patch 8.2.4979: accessing freed memory when line is flushed
Problem:    Accessing freed memory when line is flushed.
Solution:   Make a copy of the pattern to search for.
2022-05-18 16:29:08 +01:00
Christian Brabandt
360da40b47 patch 8.2.4978: no error if engine selection atom is not at the start
Problem:    No error if engine selection atom is not at the start.
Solution:   Give an error. (Christian Brabandt, closes #10439)
2022-05-18 15:04:02 +01:00
Bram Moolenaar
e2bd8600b8 patch 8.2.4977: memory access error when substitute expression changes window
Problem:    Memory access error when substitute expression changes window.
Solution:   Disallow changing window in substitute expression.
2022-05-18 13:11:57 +01:00
Bram Moolenaar
b1040dc11f patch 8.2.4976: Coverity complains about not restoring a saved value
Problem:    Coverity complains about not restoring a saved value.
Solution:   Restore value before handling error.
2022-05-18 11:00:48 +01:00
Bram Moolenaar
51f0bfb88a patch 8.2.4975: recursive command line loop may cause a crash
Problem:    Recursive command line loop may cause a crash.
Solution:   Limit recursion of getcmdline().
2022-05-17 20:11:02 +01:00
Bram Moolenaar
4748c4bd64 patch 8.2.4974: ":so" command may read after end of buffer
Problem:    ":so" command may read after end of buffer.
Solution:   Compute length of text properly.
2022-05-17 17:47:07 +01:00
Bram Moolenaar
bd3a9d2c94 patch 8.2.4973: Vim9: type error for list unpack mentions argument
Problem:    Vim9: type error for list unpack mentions argument.
Solution:   Mention variable. (close #10435)
2022-05-17 16:12:39 +01:00
Bram Moolenaar
1ff9c44267 patch 8.2.4972: Vim9: compilation fails when using dict member when skipping
Problem:    Vim9: compilation fails when using dict member when skipping.
Solution:   Do not generate ISN_USEDICT when skipping. (closes #10433)
2022-05-17 15:03:33 +01:00
Bram Moolenaar
40c141d333 patch 8.2.4971: Vim9: interpolated string seen as range
Problem:    Vim9: interpolated string seen as range.
Solution:   Recognize an interpolated string at the start of a command line.
            (closes #10434)
2022-05-17 13:14:23 +01:00
Bram Moolenaar
0d03263fd7 patch 8.2.4970: "eval 123" gives an error, "eval 'abc'" does not
Problem:    "eval 123" gives an error, "eval 'abc'" does not.
Solution:   Also give an error when evaluating only a string. (closes #10434)
2022-05-17 12:45:15 +01:00
Bram Moolenaar
7ce5b2b590 patch 8.2.4969: changing text in Visual mode may cause invalid memory access
Problem:    Changing text in Visual mode may cause invalid memory access.
Solution:   Check the Visual position after making a change.
2022-05-16 19:40:59 +01:00
Bram Moolenaar
60ae0e7149 patch 8.2.4968: reading past end of the line when C-indenting
Problem:    Reading past end of the line when C-indenting.
Solution:   Check for NUL.
2022-05-16 18:06:15 +01:00
Bram Moolenaar
3c25a8617a patch 8.2.4967: MS-Windows GUI: mouse event test sometimes fails
Problem:    MS-Windows GUI: mouse event test sometimes fails.
Solution:   Ignore one move event only if there is an extra event.
2022-05-16 17:07:41 +01:00
Bram Moolenaar
e5162e76c0 patch 8.2.4966: MS-Windows GUI: mouse event test gets extra event
Problem:    MS-Windows GUI: mouse event test gets extra event.
Solution:   Ignore one move event.
2022-05-16 16:41:35 +01:00
Bram Moolenaar
7add8d3731 patch 8.2.4965: GUI: testing mouse move event depends on screen cell size
Problem:    GUI: testing mouse move event depends on screen cell size.
Solution:   Multiply the row and column with the screen cell size.
2022-05-16 15:27:46 +01:00
Bram Moolenaar
3b675c276c patch 8.2.4964: MS-Windows GUI: mouse event test is flaky
Problem:    MS-Windows GUI: mouse event test is flaky.
Solution:   Add a short delay after generating a mouse event.
2022-05-16 13:34:44 +01:00
Bram Moolenaar
386c24cd26 patch 8.2.4963: expanding path with "/**" may overrun end of buffer
Problem:    Expanding path with "/**" may overrun end of buffer.
Solution:   Use vim_snprintf().
2022-05-16 12:37:36 +01:00
shane.xb.qian
5a8fad32ea patch 8.2.4962: files show up in git status
Problem:    Files show up in git status.
Solution:   Adjust the list of ignored files.  Clean up more test files.
            (Shane xb Qian, closes #9929)
2022-05-16 11:14:09 +01:00
Bram Moolenaar
9f28eeb694 patch 8.2.4961: build error with a certain combination of features
Problem:    Build error with a certain combination of features.
Solution:   Adjust #if. (John Marriott)
2022-05-16 10:04:51 +01:00
Paul Ollis
1bdc60eb91 patch 8.2.4960: text properties that cross lines not updated for deleted line
Problem:    Text properties that cross line boundary are not correctly updated
            for a deleted line.
Solution:   Correct computing location of text property entry. (Paul Ollis,
            closes #10431, closes #10430)
2022-05-15 22:24:55 +01:00
Bram Moolenaar
b62dc5e782 patch 8.2.4959: using NULL regexp program
Problem:    Using NULL regexp program.
Solution:   Check for regexp program becoming NULL in more places.
2022-05-15 14:50:12 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
dd41037552 patch 8.2.4958: a couple conditions are always true
Problem:    A couple conditions are always true.
Solution:   Remove the conditions. (Goc Dundar, closes #10428)
2022-05-15 13:59:11 +01:00
LemonBoy
b559b302e0 patch 8.2.4957: text properties in a wrong position after a block change
Problem:    Text properties in a wrong position after a block change.
Solution:   Adjust the properties columns. (closes #10427)
2022-05-15 13:08:02 +01:00
Bram Moolenaar
395bd1f6d3 patch 8.2.4956: reading past end of line with "gf" in Visual block mode
Problem:    Reading past end of line with "gf" in Visual block mode.
Solution:   Do not include the NUL in the length.
2022-05-14 21:29:44 +01:00
LemonBoy
788c06a249 patch 8.2.4955: text property in wrong position after auto-indent
Problem:    Text property in wrong position after auto-indent.
Solution:   Adjust text property columns. (closes #10422, closes #7719)
2022-05-14 18:48:05 +01:00
LemonBoy
698cb4c8fa patch 8.2.4954: inserting line breaks text property spanning two lines
Problem:    Inserting line breaks text property spanning more then one line.
Solution:   Check TP_FLAG_CONT_PREV and TP_FLAG_CONT_NEXT. (closes #10423)
2022-05-14 18:10:15 +01:00
Bram Moolenaar
30ab04e16e Update runtime files, new color schemes 2022-05-14 13:33:50 +01:00
Bram Moolenaar
2e444bbef0 patch 8.2.4953: with 'si' inserting '}' after completion goes wrong
Problem:    With 'smartindent' inserting '}' after completion goes wrong.
Solution:   Check the cursor is in indent.  (closes #10420)
2022-05-14 12:54:23 +01:00
Bram Moolenaar
98feacedf9 patch 8.2.4952: GUI test will fail if color scheme changes
Problem:    GUI test will fail if color scheme changes.
Solution:   Reduce the test for now.
2022-05-14 12:34:43 +01:00
Bram Moolenaar
de5cf28781 patch 8.2.4951: smart indenting done when not enabled
Problem:    Smart indenting done when not enabled.
Solution:   Check option values before setting can_si. (closes #10420)
2022-05-14 11:52:23 +01:00
LemonBoy
4b93674159 patch 8.2.4950: text properties position wrong after shifting text
Problem:    Text properties position wrong after shifting text.
Solution:   Adjust the text properties when shifting a block of text.
            (closes #10418)
2022-05-13 21:56:28 +01:00
Bram Moolenaar
31ad32a325 patch 8.2.4949: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more test cases.  Fix double error message.
2022-05-13 16:23:37 +01:00
Bram Moolenaar
d881d15984 patch 8.2.4948: cannot use Perl heredoc in nested :def function
Problem:    Cannot use Perl heredoc in nested :def function. (Virginia
            Senioria)
Solution:   Only concatenate heredoc lines when not in a nested function.
            (closes #10415)
2022-05-13 13:50:36 +01:00
LemonBoy
b7a7012555 patch 8.2.4947: text properties not adjusted when accepting spell suggestion
Problem:    Text properties not adjusted when accepting spell suggestion.
Solution:   Adjust text properties when text changes. (closes #10414)
2022-05-13 12:41:50 +01:00
Bram Moolenaar
7f8a3b11bf patch 8.2.4946: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more test cases.  Remove dead code.
2022-05-12 22:03:01 +01:00
Bram Moolenaar
9f1983de4e patch 8.2.4945: inconsistent use of white space
Problem:    Inconsistent use of white space.
Solution:   Use Tabs and Spaces consistently.
2022-05-12 20:35:35 +01:00
Bram Moolenaar
3f32a5f160 Update runtime files and translations 2022-05-12 20:34:15 +01:00
LemonBoy
d0b1a09f44 patch 8.2.4944: text properties are wrong after "cc"
Problem:    Text properties are wrong after "cc". (Axel Forsman)
Solution:   Pass the deleted byte count to inserted_bytes(). (closes #10412,
            closes #7737, closes #5763)
2022-05-12 18:45:18 +01:00
Sean Dewar
39c46b4378 patch 8.2.4943: changing 'switchbuf' may have no effect
Problem:    Changing 'switchbuf' may have no effect.
Solution:   Handle 'switchbuf' in didset_string_options(). (Sean Dewar,
            closes #10406)
2022-05-12 17:44:29 +01:00
Bram Moolenaar
de216732d4 patch 8.2.4942: error when setting 'filetype' in help file again
Problem:    Error when setting 'filetype' in help file again.
Solution:   Deal with text property type already existing. (closes #10409)
2022-05-12 17:24:49 +01:00
LemonBoy
82444cefa3 patch 8.2.4941: '[ and '] marks may be wrong after undo
Problem:    '[ and '] marks may be wrong after undo.
Solution:   Adjust the '[ and '] marks if needed. (closes #10407, closes #1281)
2022-05-12 15:39:31 +01:00
Bram Moolenaar
d0132f4862 patch 8.2.4940: some code is never used
Problem:    Some code is never used.
Solution:   Remove dead code.  Add a few more test cases.
2022-05-12 11:05:40 +01:00
zeertzjq
9af2bc0751 patch 8.2.4939: matchfuzzypos() with "matchseq" does not have all positions
Problem:    matchfuzzypos() with "matchseq" does not have all positions.
Solution:   Also add a position for white space. (closes #10404)
2022-05-11 14:15:37 +01:00
Bram Moolenaar
a59f2dfd0c patch 8.2.4938: crash when matching buffer with invalid pattern
Problem:    Crash when matching buffer with invalid pattern.
Solution:   Check for NULL regprog.
2022-05-11 11:42:28 +01:00
Bram Moolenaar
ead241538c patch 8.2.4937: no test for what 8.2.4931 fixes
Problem:    No test for what 8.2.4931 fixes.
Solution:   Add a test that triggers a valgrind error.
2022-05-10 21:11:12 +01:00
LemonBoy
a773d84570 patch 8.2.4936: MS-Windows: mouse coordinates for scroll event are wrong
Problem:    MS-Windows: mouse coordinates for scroll event are wrong.
Solution:   Convert coordinates to the text area coordinates. (closes #10400)
2022-05-10 20:54:46 +01:00
Brandon Simmons
d98e75e236 patch 8.2.4935: with 'foldmethod' "indent" some lines not included in fold
Problem:    With 'foldmethod' "indent" some lines are not included in the
            fold. (Oleg Koshovetc)
Solution:   Fix it. (Brandon Simmons, closes #10399, closes #3214)
2022-05-10 19:13:23 +01:00
Bram Moolenaar
70c41241c2 patch 8.2.4934: string interpolation fails when not evaluating
Problem:    String interpolation fails when not evaluating.
Solution:   Skip the expression when not evaluating. (closes #10398)
2022-05-10 18:11:43 +01:00
Bram Moolenaar
df6e0e46c5 patch 8.2.4933: a few more capitalization mistakes in error messages
Problem:    A few more capitalization mistakes in error messages.
Solution:   Adjust capitalization. (Doug Kearns)
2022-05-10 17:51:55 +01:00
Ernie Rael
d8f5f76621 patch 8.2.4932: not easy to filter the output of maplist()
Problem:    Not easy to filter the output of maplist().
Solution:   Add mode_bits to the dictionary. (Ernie Rael, closes #10356)
2022-05-10 17:50:39 +01:00
Bram Moolenaar
0f267621c0 patch 8.2.4931: Crash with sequence of Perl commands
Problem:    Crash with sequence of Perl commands.
Solution:   Move PUTBACK to another line. (closes #10386)
2022-05-10 13:32:24 +01:00
Bram Moolenaar
0abc2871c1 patch 8.2.4930: interpolated string expression requires escaping
Problem:    Interpolated string expression requires escaping.
Solution:   Do not require escaping in the expression.
2022-05-10 13:24:30 +01:00
LemonBoy
57ff52677b patch 8.2.4929: off-by-one error in in statusline item
Problem:    Off-by-one error in in statusline item.
Solution:   Subtrace one less. (closes #10394, closes #5599)
2022-05-09 21:03:47 +01:00
Bram Moolenaar
6ed545e797 patch 8.2.4928: various white space and cosmetic mistakes
Problem:    Various white space and cosmetic mistakes.
Solution:   Change spaces to tabs, improve comments.
2022-05-09 20:09:23 +01:00
Bram Moolenaar
921bde8880 Update runtime files, translations 2022-05-09 19:50:35 +01:00
Bram Moolenaar
2ac037f54b patch 8.2.4927: return type of remove() incorrect when using three arguments
Problem:    Return type of remove() incorrect when using three arguments.
Solution:   Use first argument type when there are three arguments.
            (closes #10387)
2022-05-09 14:12:14 +01:00
zeertzjq
51f0bc31d3 patch 8.2.4926: #ifdef for crypt feature around too many lines
Problem:    #ifdef for crypt feature around too many lines.
Solution:   Move code outside of #ifdef. (closes #10388)
2022-05-09 13:33:39 +01:00
Bram Moolenaar
53a70289c2 patch 8.2.4925: trailing backslash may cause reading past end of line
Problem:    Trailing backslash may cause reading past end of line.
Solution:   Check for NUL after backslash.
2022-05-09 13:15:07 +01:00
zeertzjq
0519ce0039 patch 8.2.4924: maparg() may return a string that cannot be reused
Problem:    maparg() may return a string that cannot be reused.
Solution:   use msg_outtrans_special() instead of str2special().
            (closes #10384)
2022-05-09 12:16:19 +01:00
zeertzjq
194843028e patch 8.2.4923: test checks for terminal feature unnecessarily
Problem:    Test checks for terminal feature unnecessarily.
Solution:   Remove CheckRunVimInTerminal. (closes #10383)
2022-05-09 11:03:19 +01:00
Bram Moolenaar
b370771bff patch 8.2.4922: mouse test fails on MS-Windows
Problem:    Mouse test fails on MS-Windows.
Solution:   Set 'mousemodel' to "extend".
2022-05-08 22:49:43 +01:00
Bram Moolenaar
fe978c2b6b patch 8.2.4921: spell test fails because of new illegal byte check
Problem:    Spell test fails because of new illegal byte check.
Solution:   Remove the test.
2022-05-08 22:43:51 +01:00
Bram Moolenaar
728a05c4ab patch 8.2.4920: MS-Windows GUI: unused variables
Problem:    MS-Windows GUI: unused variables.
Solution:   Delete the variables. (John Marriott)
2022-05-08 22:37:45 +01:00
Bram Moolenaar
7c824682d2 patch 8.2.4919: can add invalid bytes with :spellgood
Problem:    Can add invalid bytes with :spellgood.
Solution:   Check for a valid word string.
2022-05-08 22:32:58 +01:00
LemonBoy
9830db6305 patch 8.2.4918: conceal character from matchadd() displayed too many times
Problem:    Conceal character from matchadd() displayed too many times.
Solution:   Check the syntax flag. (closes #10381, closes #7268)
2022-05-08 21:25:20 +01:00
Christian Brabandt
cb747899bd patch 8.2.4917: fuzzy expansion of option names is not right
Problem:    Fuzzy expansion of option names is not right.
Solution:   Pass the fuzzy flag down the call chain. (Christian Brabandt,
            closes #10380, closes #10318)
2022-05-08 21:10:56 +01:00
Bram Moolenaar
8e8dc9b323 patch 8.2.4916: mouse in Insert mode test fails
Problem:    Mouse in Insert mode test fails.
Solution:   Fix the text and check relevant positions.
2022-05-08 20:38:06 +01:00
Bram Moolenaar
a91cb98bb3 patch 8.2.4915: sometimes the cursor is in the wrong position
Problem:    Sometimes the cursor is in the wrong position.
Solution:   When the cursor moved to another line, recompute w_botline.
            (closes #9736)
2022-05-08 19:39:31 +01:00
Bram Moolenaar
933c2922b5 patch 8.2.4914: string interpolation in :def function may fail
Problem:    String interpolation in :def function may fail.
Solution:   Do not terminate the expression. (closes #10377)
2022-05-08 16:37:07 +01:00
Bram Moolenaar
27724251bc patch 8.2.4913: popup_hide() does not always have effect
Problem:    Popup_hide() does not always have effect.
Solution:   Add the POPF_HIDDEN_FORCE flag. (closes #10376)
2022-05-08 15:00:04 +01:00
Bram Moolenaar
d899e51120 Update runtime files 2022-05-07 21:54:03 +01:00
Bram Moolenaar
a7583c42cd patch 8.2.4912: using execute() to define a lambda doesn't work
Problem:    Using execute() to define a lambda doesn't work. (Ernie Rael)
Solution:   Put the getline function in evalarg. (closes #10375)
2022-05-07 21:14:05 +01:00
Bram Moolenaar
249591057b patch 8.2.4911: the mode #defines are not clearly named
Problem:    The mode #defines are not clearly named.
Solution:   Prepend MODE_.  Renumber them to put the mapped modes first.
2022-05-07 20:01:16 +01:00
Bram Moolenaar
9ff7d717aa patch 8.2.4910: imperfect coding
Problem:    Imperfect coding.
Solution:   Make code nicer.
2022-05-07 17:45:16 +01:00
Bram Moolenaar
ac4174e166 patch 8.2.4909: MODE_ enum entries names are too generic
Problem:    MODE_ enum entries names are too generic.
Solution:   use CH_MODE_.
2022-05-07 16:38:24 +01:00
Bram Moolenaar
48a8a83303 patch 8.2.4908: no text formatting for // comment after a statement
Problem:    No text formatting for // comment after a statement.
Solution:   format a comment when the 'c' flag is in 'formatoptions'.
2022-05-07 15:43:52 +01:00
Bram Moolenaar
2bf875f881 patch 8.2.4907: some users do not want a line comment always inserted
Problem:    Some users do not want a line comment always inserted.
Solution:   Add the '/' flag to 'formatoptions' to not repeat the comment
            leader after a statement when using "o".
2022-05-07 14:54:11 +01:00
Yasuhiro Matsumoto
aa04e1b0be patch 8.2.4906: MS-Windows: cannot use transparent background
Problem:    MS-Windows: cannot use transparent background.
Solution:   Make transparent background work with 'termguicolors' and NONE
            background color. (Yasuhiro Matsumoto, closes #10310, closes #7162)
2022-05-07 14:09:19 +01:00
Bram Moolenaar
3f1cfcb864 patch 8.2.4905: codecov includes MS-Windows install header file
Problem:    codecov includes MS-Windows install header file.
Solution:   Ignore dosinst.h.
2022-05-07 13:25:37 +01:00
Bram Moolenaar
4649c12123 patch 8.2.4904: codecov includes MS-Windows install files
Problem:    codecov includes MS-Windows install files.
Solution:   Ignore dosinst.c and uninstall.c.
2022-05-07 13:00:42 +01:00
Shougo Matsushita
79d599b877 patch 8.2.4903: cannot get the current cmdline completion type and position
Problem:    Cannot get the current cmdline completion type and position.
Solution:   Add getcmdcompltype() and getcmdscreenpos(). (Shougo Matsushita,
            closes #10344)
2022-05-07 12:48:29 +01:00
LemonBoy
c27747e6dd patch 8.2.4902: mouse wheel scrolling is inconsistent
Problem:    Mouse wheel scrolling is inconsistent.
Solution:   Use the MS-Winows system setting. (closes #10368)
2022-05-07 12:25:40 +01:00
Bram Moolenaar
8e4b76da1d patch 8.2.4901: NULL pointer access when using invalid pattern
Problem:    NULL pointer access when using invalid pattern.
Solution:   Check for failed regexp program.
2022-05-07 11:28:06 +01:00
Dominique Pelle
801c3c1dbe patch 8.2.4900: Vim9 expression test fails without the job feature
Problem:    Vim9 expression test fails without the job feature.
Solution:   Add a check for the job feature. (Dominique Pellé, closes #10373)
2022-05-07 11:00:08 +01:00
Bram Moolenaar
ef02f16609 patch 8.2.4899: with latin1 encoding CTRL-W might go before the cmdline
Problem:    With latin1 encoding CTRL-W might go before the start of the
            command line.
Solution:   Check already being at the start of the command line.
2022-05-07 10:49:10 +01:00
Bram Moolenaar
70d87690a3 patch 8.2.4898: Coverity complains about pointer usage
Problem:    Coverity complains about pointer usage.
Solution:   Move code for increment/decerment.
2022-05-07 10:03:27 +01:00
Bram Moolenaar
39be4981cd patch 8.2.4897: comment inside an expression in lambda ignores the rest
Problem:    Comment inside an expression in lambda ignores the rest of the
            expression.
Solution:   Truncate the line at the comment. (closes #10367)
2022-05-06 21:51:50 +01:00
Bram Moolenaar
a13e7acba9 patch 8.2.4896: expression in command block does not look after NL
Problem:    Expression in command block does not look after NL when command is
            typed.
Solution:   Skip over NL also when not in a script. (closes #10358)
2022-05-06 21:24:31 +01:00
Bram Moolenaar
d88934406c patch 8.2.4895: buffer overflow with invalid command with composing chars
Problem:    Buffer overflow with invalid command with composing chars.
Solution:   Check that the whole character fits in the buffer.
2022-05-06 20:38:47 +01:00
LemonBoy
5a7b6dc23c patch 8.2.4894: MS-Windows: not using italics
Problem:    MS-Windows: not using italics.
Solution:   Use italics.  Simplify the code. (closes #10359)
2022-05-06 18:38:41 +01:00
Bram Moolenaar
44433da534 patch 8.2.4893: distributed import files are not installed
Problem:    Distributed import files are not installed.
Solution:   Add rules to Makefile and NSIS.
2022-05-06 18:08:52 +01:00
Bram Moolenaar
ec89223478 patch 8.2.4892: test failures because of changed error messages
Problem:    Test failures because of changed error messages.
Solution:   Adjust the exptected error messages.
2022-05-06 17:53:06 +01:00
Bram Moolenaar
b3c9077a5b patch 8.2.4891: Vim help presentation could be better
Problem:    Vim help presentation could be better.
Solution:   Add an imported file for extra Vim help support.  Show highlight
            names in the color they have.
2022-05-06 16:32:46 +01:00
Bram Moolenaar
cf030578b2 patch 8.2.4890: inconsistent capitalization in error messages
Problem:    Inconsistent capitalization in error messages.
Solution:   Make capitalization consistent. (Doug Kearns)
2022-05-06 16:18:41 +01:00
Philip H
009e79c7b7 patch 8.2.4889: CI only tests with FreeBSD 12
Problem:    CI only tests with FreeBSD 12.
Solution:   Also test with FreeBSD 13. (closes #10366)
2022-05-06 16:10:50 +01:00
Bram Moolenaar
521bf32bb4 patch 8.2.4888: line number of lambda ignores line continuation
Problem:    Line number of lambda ignores line continuation.
Solution:   Use the line number of where the arguments are. Avoid outputting
            "..." twice. (closes #10364)
2022-05-06 15:47:07 +01:00
Bram Moolenaar
9b334d5912 patch 8.2.4887: channel log does not show invoking a timer callback
Problem:    Channel log does not show invoking a timer callback.
Solution:   Add a ch_log() call.
2022-05-06 14:59:04 +01:00
Bram Moolenaar
bc6f2bf78a patch 8.2.4886: Vim9: redir in skipped block seen as assignment
Problem:    Vim9: redir in skipped block seen as assignment.
Solution:   Check for valid assignment.
2022-05-06 14:29:09 +01:00
Bram Moolenaar
f1d63b9cba patch 8.2.4885: test fails with the job/channel feature
Problem:    Test fails with the job/channel feature.
Solution:   Move check for job/channel separately.
2022-05-06 13:37:42 +01:00
Bram Moolenaar
175913fb03 patch 8.2.4884: test fails without the job/channel feature
Problem:    Test fails without the job/channel feature. (Dominique Pellé)
Solution:   Add condition.
2022-05-06 13:27:08 +01:00
LemonBoy
2eaef106e4 patch 8.2.4883: string interpolation only works in heredoc
Problem:    String interpolation only works in heredoc.
Solution:   Support interpolated strings.  Use syntax for heredoc consistent
            with strings, similar to C#. (closes #10327)
2022-05-06 13:14:50 +01:00
Christian Brabandt
e7d6dbc572 patch 8.2.4882: cannot make 'breakindent' use a specific column
Problem:    Cannot make 'breakindent' use a specific column.
Solution:   Add the "column" entry in 'breakindentopt'. (Christian Brabandt,
            closes #10362, closes #10325)
2022-05-06 12:21:04 +01:00
Shougo Matsushita
509142ab7a patch 8.2.4881: "P" in Visual mode still changes some registers
Problem:    "P" in Visual mode still changes some registers.
Solution:   Make "P" in Visual mode not change any register. (Shougo
            Matsushita, closes #10349)
2022-05-06 11:45:09 +01:00
Bram Moolenaar
434725cc4c patch 8.2.4880: Vim9: misplaced elseif causes invalid memory access
Problem:    Vim9: misplaced elseif causes invalid memory access.
Solution:   Check cs_idx not to be negative.
2022-05-06 11:27:52 +01:00
Bram Moolenaar
3e79427803 patch 8.2.4879: screendump test may fail when using valgrind
Problem:    Screendump test may fail when using valgrind.
Solution:   Wait longer for the first screendump.
2022-05-06 11:21:19 +01:00
Bram Moolenaar
dd7eff0a75 patch 8.2.4878: valgrind warning for using uninitialized variable
Problem:    Valgrind warning for using uninitialized variable.
Solution:   Initialize the type of newtv.
2022-05-06 11:02:05 +01:00
Christian Brabandt
d560014e03 patch 8.2.4877: MS-Windows: Wrongly using Normal colors for termguicolors
Problem:    MS-Windows: Using Normal colors for termguicolors causes problems.
Solution:   Do not use Normal colors to set sg_gui_fg and sg_gui_bg.
            (Christian Brabandt, closes #10317, closes #10241)
2022-05-05 21:09:54 +01:00
Christian Brabandt
dfbdadce44 patch 8.2.4876: MS-Windows: Shift-BS results in strange char in powershell
Problem:    MS-Windows: Shift-BS results in strange character in powershell.
Solution:   Add K_S_BS. (Christian Brabandt, closes #10283, closes #10279)
2022-05-05 20:46:47 +01:00
LemonBoy
40fd7e6652 patch 8.2.4875: MS-Windows: some .exe files are not recognized
Problem:    MS-Windows: some .exe files are not recognized.
Solution:   Parse APPEXECLINK junctions. (closes #10302)
2022-05-05 20:18:16 +01:00
LemonBoy
365d8f76b5 patch 8.2.4874: Win32 GUI: horizontal scroll wheel not handled properly
Problem:    Win32 GUI: horizontal scroll wheel not handled properly.
Solution:   Also handle WM_MOUSEHWHEEL. (closes #10309)
2022-05-05 19:23:07 +01:00
Bram Moolenaar
505ed0c38f patch 8.2.4873: Vim9: using "else" differs from using "endif/if !cond"
Problem:    Vim9: using "else" differs from using "endif/if !cond".
Solution:   Leave the block and enter another one. (closes #10320)
2022-05-05 17:02:46 +01:00
Bram Moolenaar
ea72038d60 patch 8.2.4872: Vim9: no error for using an expression only
Problem:    Vim9: no error for using an expression only at the script level
            when followed by an empty line.
Solution:   Do not check the line number but whether something follows.
            (closes #10357)
2022-05-05 16:08:55 +01:00
Bram Moolenaar
09d9421b67 patch 8.2.4871: Vim9: in :def function no error for misplaced range
Problem:    Vim9: in :def function no error for using a range with a command
            that does not accept one.
Solution:   Check for the command to accept a range. (closes #10330)
2022-05-05 15:20:03 +01:00
LemonBoy
f3b4895f27 patch 8.2.4870: Vim9: expression in :substitute is not compiled
Problem:    Vim9: expression in :substitute is not compiled.
Solution:   Use an INSTR instruction if possible. (closes #10334)
2022-05-05 13:53:03 +01:00
Bram Moolenaar
e442d59f6d patch 8.2.4869: expression in command block does not look after NL
Problem:    Expression in command block does not look after NL.
Solution:   Skip over NL to check what follows. (closes #10358)
2022-05-05 12:20:28 +01:00
LemonBoy
2a2707d033 patch 8.2.4868: when closing help window autocmds triggered for wrong window
Problem:    When closing help window autocmds triggered for the wrong window.
Solution:   Figure out the new current window earlier. (closes #10348)
2022-05-04 22:13:47 +01:00
zeertzjq
ac402f4d64 patch 8.2.4867: listing of mapping with K_SPECIAL is wrong
Problem:    Listing of mapping with K_SPECIAL is wrong.
Solution:   Adjust escaping of special characters. (closes #10351)
2022-05-04 18:51:43 +01:00
LemonBoy
47d4e317f8 patch 8.2.4866: duplicate code in "get" functions
Problem:    Duplicate code in "get" functions.
Solution:   Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar()
            and getbufvar(). (closes #10335)
2022-05-04 18:12:55 +01:00
zeertzjq
cd5dbad184 patch 8.2.4865: :startinsert right after :stopinsert may not work
Problem:    :startinsert right after :stopinsert does not work when popup menu
            is still visible.
Solution:   Use ins_compl_active() instead of pum_visible(). (closes #10352)
2022-05-04 17:51:50 +01:00
Bram Moolenaar
0395f88b84 patch 8.2.4864: Vim9: script test fails
Problem:    Vim9: script test fails.
Solution:   Remove "if" around declaration.
2022-05-04 17:29:15 +01:00
Bram Moolenaar
c9af617ac6 patch 8.2.4863: accessing freed memory in test without the +channel feature
Problem:    Accessing freed memory in test without the +channel feature.
            (Dominique Pellé)
Solution:   Do not generted PUSHCHANNEL or PUSHJOB if they are not
            implemented. (closes #10350)
2022-05-04 16:46:54 +01:00
Bram Moolenaar
23d44493f1 patch 8.2.4862: Vim9: test may fail when run with valgrind
Problem:    Vim9: test may fail when run with valgrind.
Solution:   Wait longer for callback if needed.
2022-05-04 16:24:57 +01:00
Ernie Rael
51d04d16f2 patch 8.2.4861: it is not easy to restore saved mappings
Problem:    It is not easy to restore saved mappings.
Solution:   Make mapset() accept a dict argument. (Ernie Rael, closes #10295)
2022-05-04 15:40:22 +01:00
Yasuhiro Matsumoto
05cf63e9bd patch 8.2.4860: MS-Windows: always uses current directory for executables
Problem:    MS-Windows: always uses current directory for executables.
Solution:   Check the NoDefaultCurrentDirectoryInExePath environment variable.
            (Yasuhiro Matsumoto, closes #10341)
2022-05-03 11:02:28 +01:00
Bram Moolenaar
3a974a8933 patch 8.2.4859: wget2 files are not recognized
Problem:    wget2 files are not recognized.
Solution:   Add patterns to recognize wget2. (Doug Kearns)
2022-05-02 23:51:13 +01:00
zeertzjq
db08887f24 patch 8.2.4858: K_SPECIAL may be escaped twice
Problem:    K_SPECIAL may be escaped twice.
Solution:   Avoid double escaping. (closes #10340)
2022-05-02 22:53:45 +01:00
asmka
f4f579b46b patch 8.2.4857: Yaml indent for multiline is wrong
Problem:    Yaml indent for multiline is wrong.
Solution:   Adjust patterns. (closes #10328, closes #8740)
2022-05-02 10:46:49 +01:00
Christian Brabandt
2890c0b9d2 patch 8.2.4856: MinGW compiler complains about unknown escape sequence
Problem:    MinGW compiler complains about unknown escape sequence.
Solution:   Avoid using a backslash in path. (Christian Brabandt,
            closes #10337)
2022-05-02 10:34:15 +01:00
Zoe Roux
2096a5f128 patch 8.2.4855: robot files are not recognized
Problem:    Robot files are not recognized.
Solution:   Add patterns for robot files. (Zoe Roux, closes #10339)
2022-05-02 10:29:31 +01:00
Christian Brabandt
2f7e00a8ae patch 8.2.4854: array size does not match usage
Problem:    Array size does not match usage.
Solution:   Make array size 3 instead of 4. (Christian Brabandt, closes #10336)
2022-05-02 00:06:51 +01:00
Philip H
056a1c2bdd patch 8.2.4853: CI with FreeBSD is a bit outdated
Problem:    CI with FreeBSD is a bit outdated.
Solution:   Use 12.3 instead of 12.1. (closes #10333)
2022-05-01 20:43:50 +01:00
LemonBoy
d2a4662430 patch 8.2.4852: ANSI color index to RGB value not correct
Problem:    ANSI color index to RGB value not correct.
Solution:   Convert the cterm index to ANSI index. (closes #10321,
            closes #9836))
2022-05-01 17:43:33 +01:00
Bram Moolenaar
b4011afe53 patch 8.2.4851: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Use another variable to decide to restore option values.
2022-05-01 00:42:24 +01:00
LemonBoy
d7c9564d8d patch 8.2.4850: mksession mixes up "tabpages" and "curdir" arguments
Problem:    Mksession mixes up "tabpages" and "curdir" arguments.
Solution:   Correct logic for storing tabpage in session. (closes #10312)
2022-04-30 16:10:27 +01:00
Mathias Jean Johansen
917c32c4f7 patch 8.2.4849: Gleam filetype not detected
Problem:    Gleam filetype not detected.
Solution:   Add a pattern for Gleam files. (Mathias Jean Johansen,
            closes #10326)
2022-04-30 15:10:07 +01:00
zeertzjq
ee44603069 patch 8.2.4848: local completion with mappings and simplification not working
Problem:    Local completion with mappings and simplification not working.
Solution:   Fix local completion <C-N>/<C-P> mappings not ignored if keys are
            not simplified. (closes #10323)
2022-04-30 15:02:22 +01:00
LemonBoy
a5d3590505 patch 8.2.4847: crash when using uninitialized function pointer
Problem:    Crash when using uninitialized function pointer.
Solution:   Check for NULL pointer. (closes #10319, closes #10319)
2022-04-29 21:15:02 +01:00
zeertzjq
bad8a013c2 patch 8.2.4846: termcodes test fails
Problem:    Termcodes test fails.
Solution:   use CTRL-SHIFT-V to insert an unsimplified key. (closes #10316)
2022-04-29 16:44:00 +01:00
zeertzjq
590f365f91 patch 8.2.4845: duplicate code
Problem:    Duplicate code.
Solution:   Move code below if/else. (closes #10314)
2022-04-29 11:29:54 +01:00
zeertzjq
758a8d1999 patch 8.2.4844: <C-S-I> is simplified to <S-Tab>
Problem:    <C-S-I> is simplified to <S-Tab>.
Solution:   Do not simplify CTRL if there is also SHIFT. (closes #10313)
2022-04-29 11:06:34 +01:00
LemonBoy
202b4bd3a4 patch 8.2.4843: treating CTRL + ALT as AltGr is not backwards compatible
Problem:    Win32 GUI: Treating CTRL + ALT as AltGr is not backwards
            compatible. (Axel Bender)
Solution:   Make a difference between left and right menu keys.
            (closes #10308)
2022-04-28 19:50:54 +01:00
Bram Moolenaar
211a5bb235 patch 8.2.4842: expand("%:p") is not empty when there is no buffer name
Problem:    expand("%:p") is not empty when there is no buffer name.
Solution:   When ignoring errors still return NULL. (closes #10311)
2022-04-28 19:09:03 +01:00
Bram Moolenaar
a96edb736d patch 8.2.4841: empty string considered an error for expand()
Problem:    Empty string considered an error for expand() when 'verbose' is
            set. (Christian Brabandt)
Solution:   Do not give an error for an empty result. (closes #10307)
2022-04-28 17:52:24 +01:00
Bram Moolenaar
05c7f5d3d0 patch 8.2.4840: heredoc expression evaluated even when skipping
Problem:    Heredoc expression evaluated even when skipping.
Solution:   Don't evaluate when "skip" is set. (closes #10306)
2022-04-28 16:51:41 +01:00
Bram Moolenaar
0a748d9184 patch 8.2.4839: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add "UNUSED".
2022-04-28 15:39:08 +01:00
LemonBoy
dca1d40cd0 patch 8.2.4838: checking for absolute path is not trivial
Problem:    Checking for absolute path is not trivial.
Solution:   Add isabsolutepath(). (closes #10303)
2022-04-28 15:26:33 +01:00
zeertzjq
68a573ce2b patch 8.2.4837: modifiers not simplified when timed out
Problem:    Modifiers not simplified when timed out or using feedkeys() with
            'n" flag.
Solution:   Adjust how mapped flag and timeout are used. (closes #10305)
2022-04-28 14:10:01 +01:00
Bram Moolenaar
f6ced9863f patch 8.2.4836: Vim9: some lines not covered by tests
Problem:    Vim9: some lines not covered by tests.
Solution:   Remove dead code.  Add disassemble tests.
2022-04-28 12:00:49 +01:00
Bram Moolenaar
95e4dd813a patch 8.2.4835: Vim9: some lines not covered by tests
Problem:    Vim9: some lines not covered by tests.
Solution:   Add a few more tests.  Fix disassemble output.
2022-04-27 22:15:40 +01:00
Bram Moolenaar
06651630ee patch 8.2.4834: Vim9: some lines not covered by tests
Problem:    Vim9: some lines not covered by tests.
Solution:   Add a few more tests.  Remove dead code.
2022-04-27 17:54:25 +01:00
Bram Moolenaar
ce001a337e Update runtime files 2022-04-27 15:25:03 +01:00
zeertzjq
12e21e387b patch 8.2.4833: failure of mapping not checked for
Problem:    Failure of mapping not checked for.
Solution:   Check return value of ins_typebuf(). (closes #10299)
2022-04-27 11:58:01 +01:00
zeertzjq
fc78a0369e patch 8.2.4832: passing zero instead of NULL to a pointer argument
Problem:    Passing zero instead of NULL to a pointer argument.
Solution:   Use NULL. (closes #10296)
2022-04-26 22:11:38 +01:00
zeertzjq
2c8a7ebdad patch 8.2.4831: crash when using maparg() and unmapping simplified keys
Problem:    Crash when using maparg() and unmapping simplified keys.
Solution:   Do not keep a mapblock pointer. (closes #10294)
2022-04-26 21:36:21 +01:00
Bram Moolenaar
23f106efeb patch 8.2.4830: possible endless loop if there is unused typahead
Problem:    Possible endless loop if there is unused typahead.
Solution:   Only loop when the typeahead changed.
2022-04-26 18:52:22 +01:00
zeertzjq
17c95d9608 patch 8.2.4829: a key may be simplified to NUL
Problem:    A key may be simplified to NUL.
Solution:   Use K_ZERO instead.  Use macros instead of hard coded values.
            (closes #10290)
2022-04-26 12:51:07 +01:00
zeertzjq
abeb09b2c5 patch 8.2.4828: fix for unmapping simplified key not fully tested
Problem:    Fix for unmapping simplified key not fully tested.
Solution:   Add a test case. (closes #10292)
2022-04-26 12:29:43 +01:00
Bram Moolenaar
87f74106f9 patch 8.2.4827: typo in variable name
Problem:    Typo in variable name. (Gabriel Dupras)
Solution:   Rename the variable.
2022-04-25 18:59:25 +01:00
jvoisin
1f435dafff patch 8.2.4826: .cshtml files are not recognized
Problem:    .cshtml files are not recognized.
Solution:   Use html filetype for .cshtml files. (Julien Voisin, closes #10212)
2022-04-25 17:40:56 +01:00
Ernie Rael
09661203ec patch 8.2.4825: can only get a list of mappings
Problem:    Can only get a list of mappings.
Solution:   Add the optional {abbr} argument. (Ernie Rael, closes #10277)
            Rename to maplist().  Rename test file.
2022-04-25 14:40:44 +01:00
zeertzjq
23d5770ef5 patch 8.2.4824: expression is evaluated multiple times
Problem:    Expression is evaluated multiple times.
Solution:   Evaluate expression once and store the result. (closes #10278)
2022-04-25 13:28:00 +01:00
LemonBoy
372bcceeee patch 8.2.4823: concat more than 2 strings in :def function is inefficient
Problem:    Concatenating more than 2 strings in a :def function is
            inefficient.
Solution:   Add a count to the CONCAT instruction. (closes #10276)
2022-04-25 12:43:20 +01:00
LemonBoy
af59e34f1b patch 8.2.4822: setting ufunc to NULL twice
Problem:    Setting ufunc to NULL twice.
Solution:   Set ufunc to NULL in find_exported(). (closes #19275)
2022-04-24 21:55:00 +01:00
Bram Moolenaar
aac12daa61 patch 8.2.4821: crash when imported autoload script was deleted
Problem:    Crash when imported autoload script was deleted.
Solution:   Initialize local variable. (closes #10274)  Give a more meaningful
            error message.
2022-04-24 21:33:20 +01:00
Ernie Rael
659c240cf7 patch 8.2.4820: not simple programmatic way to find a specific mapping
Problem:    Not simple programmatic way to find a specific mapping.
Solution:   Add getmappings(). (Ernie Rael, closes #10273)
2022-04-24 18:40:28 +01:00
zeertzjq
a4e3332650 patch 8.2.4819: unmapping simplified keys also deletes other mapping
Problem:    Unmapping simplified keys also deletes other mapping.
Solution:   Only unmap a mapping with m_simplified set. (closes #10270)
2022-04-24 17:07:53 +01:00
zeertzjq
ac92ab7719 patch 8.2.4818: no test for what 8.2.4806 fixes
Problem:    No test for what 8.2.4806 fixes.
Solution:   Add a test. (closes #10727)
2022-04-24 15:58:30 +01:00
LemonBoy
45684c6ec4 patch 8.2.4817: Win32 GUI: modifiers are not always used
Problem:    Win32 GUI: modifiers are not always used.
Solution:   Handle more modifiers. (closes #10269)
2022-04-24 15:46:42 +01:00
Philip H
490ac3fe98 patch 8.2.4816: still using older codecov app in some places of CI
Problem:    Still using older codecov app in some places of CI.
Solution:   Use v3.1.0. (closes #10209)
2022-04-24 12:44:32 +01:00
Ernie Rael
d42b83942e patch 8.2.4815: cannot build with older GTK version
Problem:    Cannot build with older GTK version.
Solution:   Use gtk_window_get_size() instead of gdk_window_get_width() and
            gdk_window_get_height(). (Ernie Rael, closes #10257)
2022-04-23 19:52:23 +01:00
LemonBoy
4a392d2440 patch 8.2.4814: possible to leave a popup window with win_gotoid()
Problem:    Possible to leave a popup window with win_gotoid().
Solution:   Give an error when trying to leave a popup window with
            win_gotoid(). (closes #10253)
2022-04-23 14:07:56 +01:00
Brandon Simmons
2c40707baa patch 8.2.4813: pasting text while indent folding may mess up folds
Problem:    Pasting text while indent folding may mess up folds.
Solution:   Adjust the way folds are split. (Brandon Simmons, closes #10254)
2022-04-23 13:50:17 +01:00
zeertzjq
8279cfe499 patch 8.2.4812: unused struct item
Problem:    Unused struct item.
Solution:   Remove "lines" match_T.  Simplify the code. (closes #10256)
2022-04-23 12:05:51 +01:00
LemonBoy
0de7369fd4 patch 8.2.4811: Win32 GUI: caps lock doesn't work
Problem:    Win32 GUI: caps lock doesn't work.
Solution:   Handle VK_CAPITAL. (closes #10260, closes #10258)
2022-04-23 11:08:11 +01:00
Bram Moolenaar
56dba60216 patch 8.2.4810: missing changes in one file
Problem:    Missing changes in one file.
Solution:   Also change the struct initializers.
2022-04-23 11:03:58 +01:00
Yegappan Lakshmanan
885de449c0 patch 8.2.4809: various things no6 properly tested
Problem:    Various things no6 properly tested.
Solution:   Add various test cases. (Yegappan Lakshmanan, closes #10259)
2022-04-23 10:51:14 +01:00
Bram Moolenaar
33d3ce640c patch 8.2.4808: unused item in engine struct
Problem:    Unused item in engine struct.
Solution:   Remove "expr".  Add comment with tags.
2022-04-23 10:41:35 +01:00
LemonBoy
77fc0b02e5 patch 8.2.4807: processing key eveints in Win32 GUI is not ideal
Problem:    Processing key eveints in Win32 GUI is not ideal.
Solution:   Improve processing of key events. (closes #10155)
2022-04-22 22:45:52 +01:00
Bram Moolenaar
53ef573148 patch 8.2.4806: a mapping using <LeftDrag> does not start Select mode
Problem:    A mapping using <LeftDrag> does not start Select mode.
Solution:   When checking for starting select mode with the mouse also do this
            when there is typeahead. (closes #10249)
2022-04-22 21:20:26 +01:00
Bram Moolenaar
9b36750640 patch 8.2.4805: CurSearch used for all matches in current line
Problem:    CurSearch used for all matches in current line.
Solution:   Don't use the non-zero line count. (closes #10247)
2022-04-22 20:07:21 +01:00
Yegappan Lakshmanan
1fc6ea9bf3 patch 8.2.4804: expression in heredoc doesn't work for compiled function
Problem:    Expression in heredoc doesn't work for compiled function.
Solution:   Implement compiling the heredoc expressions. (Yegappan Lakshmanan,
            closes #10232)
2022-04-21 23:30:15 +01:00
LemonBoy
66e13aedc7 patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Problem:    WinScrolled not always triggered when scrolling with the mouse.
Solution:   Add calls to may_trigger_winscrolled(). (closes #10246)
2022-04-21 22:52:11 +01:00
zeertzjq
7851c69a12 patch 8.2.4802: test is not cleaned up
Problem:    Test is not cleaned up.
Solution:   Make test clean up after itself.  Avoid NUL. (closes #10233)
2022-04-21 11:14:01 +01:00
Christian Brabandt
3fd7480cd2 patch 8.2.4801: fix for cursorbind fix not fully tested
Problem:    Fix for cursorbind fix not fully tested.
Solution:   Add another test case. (Christian Brabandt, closes #10240)
2022-04-20 22:07:41 +01:00
Bram Moolenaar
d0eaf675aa patch 8.2.4800: missing test update for adjusted t_8u behavior
Problem:    Missing test update for adjusted t_8u behavior.
Solution:   Update and extend the test.
2022-04-20 19:55:37 +01:00
LemonBoy
0044e5100a patch 8.2.4799: popup does not use correct topline
Problem:    Popup does not use correct topline.
Solution:   Also add one when firstline is negative. (closes #10229)
2022-04-20 19:47:37 +01:00
Bram Moolenaar
dbec26d789 patch 8.2.4798: t_8u option was reset even when set by the user
Problem:    t_8u option was reset even when set by the user.
Solution:   Only reset t_8u when using the default value. (closes #10239)
2022-04-20 19:08:50 +01:00
LemonBoy
8530b41fd3 patch 8.2.4797: getwininfo() may get oudated values
Problem:    getwininfo() may get oudated values.
Solution:   Make sure w_botline is up-to-date. (closes #10226)
2022-04-20 19:00:36 +01:00
Bram Moolenaar
da1050cd6f patch 8.2.4796: file left behind after running cursorline tests
Problem:    File left behind after running cursorline tests.
Solution:   Uncomment the line that deletes the file.
2022-04-20 18:41:49 +01:00
Christian Brabandt
2c645e8b00 patch 8.2.4795: 'cursorbind' scrolling depends on whether 'cursorline' is set
Problem:    'cursorbind' scrolling depends on whether 'cursorline' is set.
Solution:   Always call validate_cursor(). (Christian Brabandt, closes #10230,
            closes #10014)
2022-04-20 14:52:01 +01:00
Bram Moolenaar
4c84dd33ad patch 8.2.4794: compiler warning for not initialized variable
Problem:    Compiler warning for not initialized variable.
Solution:   Initialize the variable. (John Marriott)
2022-04-20 10:22:54 +01:00
Bram Moolenaar
928a131356 patch 8.2.4793: recognizing Maxima filetype even though it might be another
Problem:    Recognizing Maxima filetype even though it might be another.
Solution:   Remove *.mc and *.dem patterns from Maxima files
2022-04-19 19:38:38 +01:00
Bram Moolenaar
e468698994 patch 8.2.4792: indent operator creates an undo entry for every line
Problem:    Indent operator creates an undo entry for every line.
Solution:   Create one undo entry for all lines. (closes #10227)
2022-04-19 18:28:45 +01:00
Charlie Groves
fef4485ef5 patch 8.2.4791: events triggered in different order when reusing buffer
Problem:    Autocmd events triggered in different order when reusing an empty
            buffer.
Solution:   Call buff_freeall() earlier. (Charlie Groves, closes #10198)
2022-04-19 16:24:12 +01:00
Bram Moolenaar
c448e9c950 patch 8.2.4790: lilypond filetype not recognized
Problem:    Lilypond filetype not recognized.
Solution:   Add patterns for lilypond. (Doug Kearns)
2022-04-19 15:29:57 +01:00
Bram Moolenaar
a653e53b1f patch 8.2.4789: cursor pos wrong when using :redraw while editing the cmdline
Problem:    The cursor may be in the in wrong place when using :redraw while
            editing the cmdline.
Solution:   When editing the command line let :redraw update the command line
            too. (closes #10210)
2022-04-19 11:38:24 +01:00
Yegappan Lakshmanan
bac9a9e5c2 patch 8.2.4788: large payload for LSP message not tested
Problem:    Large payload for LSP message not tested.
Solution:   Add a test with a large LSP payload. (Yegappan Lakshmanan,
            closes #10223)
2022-04-19 10:25:13 +01:00
LemonBoy
9bd3ce22e3 patch 8.2.4787: prop_find() does not find the right property
Problem:    prop_find() does not find the right property.
Solution:   Fix the scan order. (closes #10220)
2022-04-18 21:54:02 +01:00
Bram Moolenaar
861fcee8de patch 8.2.4786: test for win_gotoid() in Visual mode fails on Mac
Problem:    Test for win_gotoid() in Visual mode fails on Mac.
Solution:   Skip the test on MacOS.
2022-04-18 19:16:55 +01:00
Bram Moolenaar
3aca0916f0 patch 8.2.4785: Visual mode not stopped if win_gotoid() goes to other buffer
Problem:    Visual mode not stopped early enough if win_gotoid() goes to
            another buffer. (Sergey Vlasov)
Solution:   Stop Visual mode before jumping to another buffer. (closes #10217)
2022-04-18 18:32:19 +01:00
Bram Moolenaar
1693712f02 patch 8.2.4784: lamba test with timer is flaky
Problem:    Lamba test with timer is flaky.
Solution:   Adjust sleep time on retry.
2022-04-18 16:14:10 +01:00
Bram Moolenaar
42ccb8d747 patch 8.2.4783: Coverity warns for leaking memory
Problem:    Coverity warns for leaking memory.
Solution:   Use another strategy freeing "theline".
2022-04-18 15:45:23 +01:00
Bram Moolenaar
75ab590f85 Update runtime files 2022-04-18 15:36:40 +01:00
Bram Moolenaar
a929c922b1 patch 8.2.4782: accessing freed memory
Problem:    Accessing freed memory.
Solution:   Clear evalarg after checking for trailing characters.
            (issue #10218)
2022-04-18 15:21:17 +01:00
Doron Behar
d0a20c9d11 patch 8.2.4781: Maxima files are not recognized
Problem:    Maxima files are not recognized.
Solution:   Add patterns to detect Maxima files. (Doron Behar, closes #10211)
2022-04-18 14:32:42 +01:00
Yegappan Lakshmanan
03cca297df patch 8.2.4780: parsing an LSP message fails when it is split
Problem:    Parsing an LSP message fails when it is split.
Solution:   Collapse the received data before parsing. (Yegappan Lakshmanan,
            closes #10215)
2022-04-18 14:07:46 +01:00
Christian Brabandt
53e8f3ffdf patch 8.2.4779: lsan suppression is too version specific
Problem:    lsan suppression is too version specific.
Solution:   Leave out the version number. (Christian Brabandt, closes #10214)
2022-04-17 21:36:37 +01:00
Chaoren Lin
35cff32dd8 patch 8.2.4778: pacman files use dosini filetype
Problem:    Pacman files use dosini filetype.
Solution:   Use conf instead. (Chaoren Lin, closes #10213)
2022-04-17 21:15:48 +01:00
Bram Moolenaar
366f0bdd08 patch 8.2.4777: screendump tests fail because of a redraw
Problem:    Screendump tests fail because of a redraw.
Solution:   Do not output t_8u before receiving termresponse.  Redraw only
            when t_8u is not reset and termresponse is received.
2022-04-17 19:20:33 +01:00
Ernie Rael
9f53e7bd7f patch 8.2.4776: GTK: 'lines' and 'columns' may change during startup
Problem:    GTK: 'lines' and 'columns' may change during startup.
Solution:   Ignore stale GTK resize events. (Ernie Rael, closes #10179)
2022-04-17 18:27:49 +01:00
Bram Moolenaar
280aebfd35 patch 8.2.4775: SpellBad highlighting does not work in Konsole
Problem:    SpellBad highlighting does not work in Konsole.
Solution:   Do not keep t_8u defined for Konsole.  Redraw when t_8u is reset.
            (closes #10177)
2022-04-17 17:34:42 +01:00
Bram Moolenaar
8b91e71441 patch 8.2.4774: crash when using a number for lambda name
Problem:    Crash when using a number for lambda name.
Solution:   Check the type of the lambda reference.
2022-04-17 15:06:35 +01:00
Bram Moolenaar
a9549c9e8f patch 8.2.4773: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Use other error message.  Avoid warnings.
2022-04-17 14:18:11 +01:00
Bram Moolenaar
3df8f6e353 patch 8.2.4772: old Coverity warning for not checking ftell() return value
Problem:    Old Coverity warning for not checking ftell() return value.
Solution:   Check return value of fseek() and ftell().
2022-04-17 14:01:51 +01:00
Bram Moolenaar
066e0d9869 patch 8.2.4771: Coverity warns for not checking return value
Problem:    Coverity warns for not checking return value.
Solution:   Check return value of rettv_dict_alloc().
2022-04-17 13:17:40 +01:00
Yegappan Lakshmanan
efbfa867a1 patch 8.2.4770: cannot easily mix expression and heredoc
Problem:    Cannot easily mix expression and heredoc.
Solution:   Support  in heredoc. (Yegappan Lakshmanan, closes #10138)
2022-04-17 12:47:40 +01:00
Bram Moolenaar
68aaff4697 patch 8.2.4769: build warning with UCRT
Problem:    Build warning with UCRT.
Solution:   Adjust #ifdef for _wenviron. (John Marriott)
2022-04-17 10:57:44 +01:00
Philip H
34ffa10280 patch 8.2.4768: CI: codecov upload sometimes does not work
Problem:    CI: codecov upload sometimes does not work.
Solution:   Use action v3 instead of v2. (closes #10209)
2022-04-16 21:46:38 +01:00
salkin-mada
c360b2566c patch 8.2.4767: openscad files are not recognized
Problem:    Openscad files are not recognized.
Solution:   Add a filetype pattern. (Niklas Adam, closes #10199)
2022-04-16 21:33:54 +01:00
KnoP-01
93c7a45e86 patch 8.2.4766: KRL files using "deffct" not recognized
Problem:    KRL files using "deffct" not recognized.
Solution:   Adjust the pattern used for matching. (Patrick Meiser-Knosowski,
            closes #10200)
2022-04-16 21:14:04 +01:00
Yegappan Lakshmanan
047a7019b2 patch 8.2.4765: function matchfuzzy() sorts too many items
Problem:    Function matchfuzzy() sorts too many items.
Solution:   Only put matches in the array. (Yegappan Lakshmanan,
            closes #10208)
2022-04-16 20:42:40 +01:00
Philip H
d2edee5cf3 patch 8.2.4764: CI uses an older gcc version
Problem:    CI uses an older gcc version.
Solution:   Use GCC 11. (closes #10185)
2022-04-16 20:04:30 +01:00
Bram Moolenaar
f50808ed13 patch 8.2.4763: using invalid pointer with "V:" in Ex mode
Problem:    Using invalid pointer with "V:" in Ex mode.
Solution:   Correctly handle the command being changed to "+".
2022-04-16 18:52:17 +01:00
zeertzjq
ca7e86c237 patch 8.2.4762: using freed memory using synstack() and synID() in WinEnter
Problem:    Using freed memory when using synstack() and synID() in WinEnter.
Solution:   Check using the syntax window. (closes #10204)
2022-04-16 16:49:24 +01:00
Yegappan Lakshmanan
e0805b849c patch 8.2.4761: documentation for using LSP messages is incomplete
Problem:    Documentation for using LSP messages is incomplete.
Solution:   Update the documentation. (Yegappan Lakshmanan, closes #10206)
2022-04-16 15:18:23 +01:00
Yasuhiro Matsumoto
9029a6e993 patch 8.2.4760: using matchfuzzy() on a long list can take a while
Problem:    Using matchfuzzy() on a long list can take a while.
Solution:   Add a limit to the number of matches. (Yasuhiro Matsumoto,
            closes #10189)
2022-04-16 12:35:35 +01:00
Bram Moolenaar
693ccd1160 patch 8.2.4759: CurSearch highlight does not work for multi-line match
Problem:    CurSearch highlight does not work for multi-line match.
Solution:   Check cursor position before adjusting columns. (closes #10133)
2022-04-16 12:04:37 +01:00
Yegappan Lakshmanan
3b470ae88f patch 8.2.4758: when using an LSP channel want to get the message ID
Problem:    When using an LSP channel want to get the message ID.
Solution:   Have ch_sendexpr() return the ID. (Yegappan Lakshmanan,
            closes #10202)
2022-04-16 10:41:27 +01:00
Philip H
b9e99e58bb patch 8.2.4757: list of libraries to suppress lsan errors is outdated
Problem:    List of libraries to suppress lsan errors is outdated.
Solution:   Add another library. (closes #10201)
2022-04-16 10:08:52 +01:00
Bram Moolenaar
092e09cba7 patch 8.2.4756: build error without the +eval feature
Problem:    Build error without the +eval feature.
Solution:   Adjust #ifdefs.
2022-04-15 23:29:23 +01:00
Bram Moolenaar
12eb2eb4d7 patch 8.2.4755: cannot use <SID>FuncRef in completion spec
Problem:    Cannot use <SID>FuncRef in completion spec.
Solution:   Dereference a function name in another way. (closes #10197)
2022-04-15 22:57:09 +01:00
LemonBoy
7714231bb5 patch 8.2.4754: using cached values after unsetting some environment variables
Problem:    Still using cached values after unsetting some known environment
            variables.
Solution:   Take care of the side effects. (closes #10194)
2022-04-15 20:50:46 +01:00
Bram Moolenaar
31e5c60a68 patch 8.2.4753: error from setting an option is silently ignored
Problem:    Error from setting an option is silently ignored.
Solution:   Handle option value errors better.  Fix uses of N_().
2022-04-15 13:53:33 +01:00
zeertzjq
5dc294a7b6 patch 8.2.4752: wrong 'statusline' value can cause illegal memory access
Problem:    Wrong 'statusline' value can cause illegal memory access.
Solution:   Properly check the value. (closes #10192)
2022-04-15 13:17:57 +01:00
Bram Moolenaar
648dd88af6 patch 8.2.4751: mapping <SID>name.Func does not work for autoload script
Problem:    Mapping <SID>name.Func does not work for script in autoload
            directory.
Solution:   Use the # form for a script in the autoload directory.
            (closes #10186)
2022-04-14 21:36:15 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
b836658a04 patch 8.2.4750: small pieces of dead code
Problem:    Small pieces of dead code.
Solution:   Remove the dead code. (Goc Dundar, closes #10190) Rename the
            qftf_cb struct member to avoid confusion.
2022-04-14 20:43:56 +01:00
LemonBoy
eca7c60d68 patch 8.2.4749: <script> is not expanded in autocmd context
Problem:    <script> is not expanded in autocmd context.
Solution:   Add the context to the pattern struct. (closes #10144)
            Rename AutoPatCmd to AutoPatCmd_T.
2022-04-14 15:39:43 +01:00
Bram Moolenaar
8944551534 patch 8.2.4748: cannot use an imported function in a mapping
Problem:    Cannot use an imported function in a mapping.
Solution:   Recognize <SID>name.Func.
2022-04-14 12:58:23 +01:00
KnoP-01
f420ff2440 patch 8.2.4747: no filetype override for .sys files
Problem:    No filetype override for .sys files.
Solution:   Add g:filetype_sys. (Patrick Meiser-Knosowski, closes #10181)
2022-04-13 20:46:21 +01:00
ranjithshegde
8cac20ed42 patch 8.2.4746: supercollider filetype not recognized
Problem:    Supercollider filetype not recognized.
Solution:   Match file extentions and check file contents to detect
            supercollider. (closes #10142)
2022-04-13 15:29:21 +01:00
Bram Moolenaar
aae9762b2c patch 8.2.4745: using wrong flag for using bell in the terminal
Problem:    Using wrong flag for using bell in the terminal.
Solution:   Change to use BO_TERM.
2022-04-13 14:28:07 +01:00
LemonBoy
77771d33f4 patch 8.2.4744: a terminal window can't use the bell
Problem:    A terminal window can't use the bell.
Solution:   Add bell support for the terminal window. (closes #10178)
2022-04-13 11:47:25 +01:00
Philip H
9bbe5c6b8c patch 8.2.4743: clang 14 is available on CI
Problem:    Clang 14 is available on CI.
Solution:   Switch from clang 13 to 14. (closes #10157)
2022-04-12 15:40:12 +01:00
Bram Moolenaar
c9a9a0ac1e patch 8.2.4742: there is no way to start logging very early in startup
Problem:    There is no way to start logging very early in startup.
Solution:   Add the --log argument.  Include the date in the start message in
            the log file.  Avoid a duplicate message when forking.  Log an
            executed shell command.
2022-04-12 15:09:23 +01:00
Bram Moolenaar
60895f3e36 patch 8.2.4741: startup test fails
Problem:    Startup test fails.
Solution:   Avoid an error for verbose expansion.  Fix that the "0verbose"
            command modifier doesn't work.
2022-04-12 14:23:19 +01:00
Bram Moolenaar
575445200b patch 8.2.4740: when expand() fails there is no error message
Problem:    When expand() fails there is no error message.
Solution:   When 'verbose' is set give an error message.
2022-04-12 12:54:11 +01:00
zeertzjq
d58862d18f patch 8.2.4739: accessing freed memory after WinScrolled autocmd event
Problem:    Accessing freed memory after WinScrolled autocmd event.
Solution:   Check the window pointer is still valid. (closes #10156)
            Remove the argument from may_trigger_winscrolled().
2022-04-12 11:32:48 +01:00
Bram Moolenaar
11a57dfd16 patch 8.2.4738: Esc on commandline executes command instead of abandoning it
Problem:    Esc on commandline executes command instead of abandoning it.
Solution:   Save and restore KeyTyped when removing the popup menu.
            (closes #10154)
2022-04-11 19:38:56 +01:00
Bram Moolenaar
1655619717 patch 8.2.4737: // in JavaScript string recognized as comment
Problem:    // in JavaScript string recognized as comment.
Solution:   Only check for linecomment if 'cindent' is set. (closes #10151)
2022-04-11 17:36:37 +01:00
Bram Moolenaar
825b55e695 patch 8.2.4736: build problem for Cygwin with Motif
Problem:    Build problem for Cygwin with Motif.
Solution:   Undefine ControlMask. (Kelvin Lee, closes #10152)
2022-04-11 15:28:50 +01:00
Yegappan Lakshmanan
4a7724a440 patch 8.2.4735: quickfix tests can be a bit hard to read
Problem:    Quickfix tests can be a bit hard to read.
Solution:   Use heredoc instead of strings and line continuation. (Yegappan
            Lakshmanan, closes #10145)
2022-04-11 15:11:39 +01:00
Bram Moolenaar
3caf1cce2b patch 8.2.4734: getcharpos() may change a mark position
Problem:    getcharpos() may change a mark position.
Solution:   Copy the mark position. (closes #10148)
2022-04-11 13:05:16 +01:00
Aaron Tinio
4232dff815 patch 8.2.4733: HEEx and Surface do need a separate filetype
Problem:    HEEx and Surface do need a separate filetype.
Solution:   Revert 8.2.4729. (closes #10147)
2022-04-11 11:37:13 +01:00
Bram Moolenaar
c6e0a5e98c patch 8.2.4732: duplicate code to free fuzzy matches
Problem:    Duplicate code to free fuzzy matches.
Solution:   Bring back fuzmatch_str_free().
2022-04-10 18:09:06 +01:00
LemonBoy
db0ea7f2b0 patch 8.2.4731: the changelist index is not remembered per buffer
Problem:    The changelist index is not remembered per buffer.
Solution:   Keep the changelist index per window and buffer. (closes #10135,
            closes #2173)
2022-04-10 17:59:26 +01:00
Yasuhiro Matsumoto
e08fde0073 patch 8.2.4730: MS-Windows GUI: cannot use CTRL-/
Problem:    MS-Windows GUI: cannot use CTRL-/.
Solution:   Handle the WM_KEYUP event. (Yasuhiro Matsumoto, closes #10141)
2022-04-10 12:37:48 +01:00
Aaron Tinio
fa76a24109 patch 8.2.4729: HEEx and Surface templates do not need a separate filetype
Problem:    HEEx and Surface templates do not need a separate filetype.
Solution:   Use Eelixir for the similar filetypes. (Aaron Tinio, closes #10124)
2022-04-10 12:13:56 +01:00
zeertzjq
021996ffaa patch 8.2.4728: no test that v:event cannot be modified
Problem:    No test that v:event cannot be modified.
Solution:   Add a test. (closes #10139)
2022-04-10 11:44:04 +01:00
Dominique Pelle
7765f5cf96 patch 8.2.4727: unused code
Problem:    Unused code.
Solution:   Remove code and add #ifdefs. (Dominique Pellé, closes #10136)
2022-04-10 11:26:53 +01:00
LemonBoy
6013d0045d patch 8.2.4726: cannot use expand() to get the script name
Problem:    Cannot use expand() to get the script name.
Solution:   Support expand('<script>'). (closes #10121)
2022-04-09 21:42:10 +01:00
Bram Moolenaar
2ce97ae6aa patch 8.2.4725: unused variable in tiny build
Problem:    Unused variable in tiny build.
Solution:   Add #ifdef.
2022-04-09 21:13:51 +01:00
LemonBoy
a43993897a patch 8.2.4724: current instance of last search pattern not easily spotted
Problem:    Current instance of last search pattern not easily spotted.
Solution:   Add CurSearch highlighting. (closes #10133)
2022-04-09 21:04:08 +01:00
LemonBoy
2bf52dd065 patch 8.2.4723: the ModeChanged autocmd event is inefficient
Problem:    The ModeChanged autocmd event is inefficient.
Solution:   Avoid allocating memory. (closes #10134)  Rename
            trigger_modechanged() to may_trigger_modechanged().
2022-04-09 18:17:34 +01:00
zeertzjq
81b46a6ccd patch 8.2.4722: ending recording with mapping records too much
Problem:    When a recording is ended with a mapped key that key is also
            recorded.
Solution:   Remember the previous last_recorded_len. (closes #10122)
2022-04-09 17:58:49 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
36951ed1da patch 8.2.4721: cooklang files are not recognized
Problem:    Cooklang files are not recognized.
Solution:   recognize *.cook files. (Goc Dundar, closes #10120)
2022-04-09 16:08:08 +01:00
KnoP-01
b09c320039 patch 8.2.4720: ABB Rapid files are not recognized properly
Problem:    ABB Rapid files are not recognized properly.
Solution:   Add checks for ABB Rapid files. (Patrick Meiser-Knosowski,
            closes #10104)
2022-04-09 15:20:28 +01:00
Bram Moolenaar
0bbf09ca41 patch 8.2.0003: Build file dependencies are incomplete
Problem:    Build file dependencies are incomplete.
Solution:   Fix the dependencies. (Ken Takata, closes #5356)
2022-04-09 15:16:53 +01:00
Christian Brabandt
a0f659c76e patch 8.2.4719: ">" marker sometimes not displayed in the jumplist
Problem:    ">" marker sometimes not displayed in the jumplist.
Solution:   If the buffer no longer exists show "-invalid-". (Christian
            Brabandt, closes #10131, closes #10100)
2022-04-09 13:35:00 +01:00
Bram Moolenaar
cee9c844f2 patch 8.2.4718: @@@ in the last line sometimes drawn in the wrong place
Problem:    @@@ in the last line sometimes drawn in the wrong place.
Solution:   Make sure the column is valid. (closes #10130)
2022-04-09 12:40:13 +01:00
Bram Moolenaar
a016eeba7a patch 8.2.4717: for TextYankPost v:event does not contain all information
Problem:    For TextYankPost v:event does not contain information about the
            operation being inclusive or not.
Solution:   Add "inclusive" to v:event. (Justn M. Keyes, Yegappan Lakshmanan,
            closes #10125)
2022-04-09 11:37:38 +01:00
Yegappan Lakshmanan
7c7e19cf50 patch 8.2.4716: memory allocation failure not tested when defining a function
Problem:    Memory allocation failure not tested when defining a function.
Solution:   Add a test. (Yegappan Lakshmanan, closes #10127)
2022-04-09 11:09:07 +01:00
Julien Voisin
5e1792270a patch 8.2.4715: Vagrantfile not recognized
Problem:    Vagrantfile not recognized.
Solution:   Recognize Vagrantfile as ruby. (Julien Voisin, closes #10119)
2022-04-08 19:55:39 +01:00
Bram Moolenaar
cbaff5e06e Update runtime files 2022-04-08 17:45:08 +01:00
Bram Moolenaar
a8034a4886 patch 8.2.4714: using g:filetype_dat and g:filetype_src not tested
Problem:    Using g:filetype_dat and g:filetype_src not tested.
Solution:   Add a test. (Patrick Meiser-Knosowski, closes #10117)
2022-04-08 17:26:26 +01:00
LemonBoy
0937182d49 patch 8.2.4713: plugins cannot track text scrolling
Problem:    Plugins cannot track text scrolling.
Solution:   Add the WinScrolled event. (closes #10102)
2022-04-08 15:18:45 +01:00
Yegappan Lakshmanan
18ee0f603e patch 8.2.4712: only get profiling information after exiting
Problem:    Only get profiling information after exiting.
Solution:   Add "profile dump" and "profile stop". (Marco Hinz, Yegappan
            Lakshmanan, closes #10107)
2022-04-08 13:23:19 +01:00
zeertzjq
3a56b6d405 patch 8.2.4711: when 'insermode' is set :edit from <Cmd> mapping misbehaves
Problem:    When 'insermode' is set :edit from <Cmd> mapping misbehaves.
Solution:   Don't set "need_start_insertmode" when already in Insert mode.
            (closes #10116)
2022-04-08 11:56:14 +01:00
Christian Brabandt
ac72c21da6 patch 8.2.4710: smart indenting does not work after completion
Problem:    Smart indenting does not work after completion.
Solution:   Set "can_si". (Christian Brabandt, closes #10113, closes #558)
2022-04-07 21:00:53 +01:00
Bram Moolenaar
5017c66bd4 patch 8.2.4709: after :redraw the statusline highlight might be used
Problem:    After :redraw the statusline highlight might be used.
Solution:   Clear the screen attribute after redrawing the screen.
            (closes #10108)
2022-04-07 18:06:08 +01:00
Julien Voisin
177847e67a patch 8.2.4708: PHP test files are not recognized
Problem:    PHP test files are not recognized.
Solution:   Add the *.phpt pattern. (Julien Voisin, closes #10112)
2022-04-07 16:01:13 +01:00
zeertzjq
8c97960850 patch 8.2.4707: redrawing could be a bit more efficient
Problem:    Redrawing could be a bit more efficient.
Solution:   Optimize redrawing. (closes #10105)
2022-04-07 15:08:01 +01:00
zeertzjq
6a06940f8a patch 8.2.4706: buffer remains active with WinClosed and tabpages
Problem:    Buffer remains active if a WinClosed event throws an exception
            when there are multiple tabpages.
Solution:   Ignore aborting() when closing the buffer. (closes #10101)
2022-04-07 14:08:29 +01:00
zeertzjq
6d4e725a34 patch 8.2.4705: jump list marker disappears
Problem:    Jump list marker disappears.
Solution:   Reset reg_executing later. (closes #10111, closes #10100)
2022-04-07 13:58:04 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
f26c16144d patch 8.2.4704: using "else" after return or break increases indent
Problem:    Using "else" after return or break increases indent.
Solution:   Remove "else" and reduce indent. (Goc Dundar, closes #10099)
2022-04-07 13:26:34 +01:00
Bram Moolenaar
cb49a1d934 patch 8.2.4703: memory leak in handling 'cinscopedecls'
Problem:    Memory leak in handling 'cinscopedecls'.
Solution:   Free the memory before returning.
2022-04-07 13:08:00 +01:00
Tom Praschan
3506cf34c1 patch 8.2.4702: C++ scope labels are hard-coded
Problem:    C++ scope labels are hard-coded.
Solution:   Add 'cinscopedecls' to define the labels. (Rom Praschan,
            closes #10109)
2022-04-07 12:39:08 +01:00
Bram Moolenaar
3ad2090316 patch 8.2.4701: Kuka Robot Language files not recognized
Problem:    Kuka Robot Language files not recognized.
Solution:   Recognize *.src and *.dat files. (Patrick Meiser-Knosowski,
            closes #10096)
2022-04-06 18:57:39 +01:00
Bram Moolenaar
c947b9ae41 patch 8.2.4700: buffer remains active if WinClosed event throws an exception
Problem:    Buffer remains active if a WinClosed event throws an exception.
Solution:   Ignore aborting() when closing the buffer. (closes #10097)
2022-04-06 17:59:21 +01:00
LemonBoy
75a0f3c011 patch 8.2.4699: hard to reproduce hang when reading from a channel
Problem:    Hard to reproduce hang when reading from a channel.
Solution:   Check for readahead before starting to wait. (closes #10093,
            closes #7781, closes #6364)
2022-04-05 22:03:30 +01:00
Bram Moolenaar
aa7d0c2335 patch 8.2.4698: Vim9: script variable has no flag that it was set
Problem:    Vim9: script variable has no flag that it was set.
Solution:   Add a flag that it was set, to avoid giving it a value when used.
            (closes #10088)
2022-04-05 21:40:38 +01:00
Bram Moolenaar
0d1f55c044 patch 8.2.4697: Vim9: crash when adding a duplicate key to a dictionary
Problem:    Vim9: crash when adding a duplicate key to a dictionary.
Solution:   Clear the stack item when it has been moved into the dictionary.
            (closes #10087)
2022-04-05 17:30:29 +01:00
zeertzjq
478700336d patch 8.2.4696: delete() with "rf" argument does not report a failure
Problem:    delete() with "rf" argument does not report a failure.
Solution:   Return -1 if the directory could not be removed. (closes #10078)
2022-04-05 15:31:01 +01:00
LemonBoy
beb0ef1ab2 patch 8.2.4695: JSON encoding could be faster
Problem:    JSON encoding could be faster.
Solution:   Optimize encoding JSON strings. (closes #10086)
2022-04-05 15:07:32 +01:00
ichizok
02560424bf patch 8.2.4694: avoidance of #elif causes more preproc nesting
Problem:    Avoidance of #elif causes more preproc nesting.
Solution:   Use #elif where it is useful. (Ozaki Kiichi, closes #10081)
2022-04-05 14:18:44 +01:00
Bram Moolenaar
72bb10df1f patch 8.2.4693: new regexp does not accept pattern "\%>0v"
Problem:    new regexp does not accept pattern "\%>0v".
Solution:   Do accept digit zero.
2022-04-05 14:00:32 +01:00
zeertzjq
0f68e6c07a patch 8.2.4692: no test for what 8.2.4691 fixes
Problem:    No test for what 8.2.4691 fixes.
Solution:   Add a test.  Use a more generic sotlution. (closes #10090)
2022-04-05 13:17:01 +01:00
Bram Moolenaar
ca9d8d2cb9 patch 8.2.4691: solution for <Cmd> in a mapping causes trouble
Problem:    Solution for <Cmd> in a mapping causes trouble.
Solution:   Use another solution: put back CTRL-O after reading the <Cmd>
            sequence.
2022-04-04 22:09:30 +01:00
LemonBoy
1b76a8dfe2 patch 8.2.4690: channel tests fail on MS-Windows
Problem:    Channel tests fail on MS-Windows.
Solution:   Check if the AF_UNIX attribute exists. (closes #10083)
2022-04-04 21:13:35 +01:00
Bram Moolenaar
d0fb2d8041 patch 8.2.4689: using <Cmd> in a mapping does not work for mouse keys
Problem:    Using <Cmd> in a mapping does not work for mouse keys in Insert
            mode. (Sergey Vlasov)
Solution:   When reading the <Cmd> argument do not use the stuff buffer.
            (closes #10080)
2022-04-04 21:03:52 +01:00
Bram Moolenaar
91ff3d4f52 patch 8.2.4688: new regexp engine does not give an error for "\%v"
Problem:    New regexp engine does not give an error for "\%v".
Solution:   Check for a value argument. (issue #10079)
2022-04-04 18:32:32 +01:00
Bram Moolenaar
e8a4c0d91f patch 8.2.4687: "vimgrep /\%v/ *" may cause a crash
Problem:    "vimgrep /\%v/ *" may cause a crash.
Solution:   When compiling the pattern with the old engine fails, restore the
            regprog of the new engine instead of leaving it NULL.
            (closes #10079)
2022-04-04 18:14:34 +01:00
Kelvin Lee
b471690fad patch 8.2.4686: configure doesn't find the Motif library with Cygwin
Problem:    Configure doesn't find the Motif library with Cygwin.
Solution:   Check for libXm.dll.a. (Kelvin Lee, closes #10077)
2022-04-04 17:20:01 +01:00
Bram Moolenaar
188639d75c patch 8.2.4685: when a swap file is found for a popup there is no dialog
Problem:    When a swap file is found for a popup there is no dialog and the
            buffer is loaded anyway.
Solution:   Silently load the buffer read-only. (closes #10073)
2022-04-04 16:57:21 +01:00
LemonBoy
cc766a85f4 patch 8.2.4684: cannot open a channel on a Unix domain socket
Problem:    Cannot open a channel on a Unix domain socket.
Solution:   Add Unix domain socket support. (closes #10062)
2022-04-04 15:46:58 +01:00
Yegappan Lakshmanan
4829c1c9e9 patch 8.2.4683: verbose check with dict_find() to see if a key is present
Problem:    Verbose check with dict_find() to see if a key is present.
Solution:   Add dict_has_key(). (Yegappan Lakshmanan, closes #10074)
2022-04-04 15:16:54 +01:00
Bram Moolenaar
7a411a306f patch 8.2.4682: Vim9: can use :unlockvar for const variable
Problem:    Vim9: can use :unlockvar for const variable. (Ernie Rael)
Solution:   Check whether the variable is a const.
2022-04-04 14:58:06 +01:00
Bram Moolenaar
15f74fab65 patch 8.2.4681: build fails with a combination of features
Problem:    Build fails with a combination of features.
Solution:   Remove #ifdef for alloc_clear_id(). (John Marriott)
2022-04-03 21:57:26 +01:00
Bram Moolenaar
242c152c08 patch 8.2.4680: build failure without +postscript
Problem:    Build failure without +postscript.
Solution:   Use another error message.
2022-04-03 21:52:51 +01:00
Yegappan Lakshmanan
2b74b6805b patch 8.2.4679: cannot have expandcmd() give an error message for mistakes
Problem:    Cannot have expandcmd() give an error message for mistakes.
Solution:   Add an optional argument to give errors. Fix memory leak when
            expanding files fails. (Yegappan Lakshmanan, closes #10071)
2022-04-03 21:30:32 +01:00
Bram Moolenaar
1061195057 patch 8.2.4678: Vim9: not all code is tested
Problem:    Vim9: not all code is tested.
Solution:   Add a few more tests.
2022-04-03 21:11:34 +01:00
Bram Moolenaar
0b962e5685 patch 8.2.4677: the Athena GUI support is outdated
Problem:    The Athena GUI support is outdated.
Solution:   Remove the Athena GUI code.
2022-04-03 18:02:37 +01:00
Bram Moolenaar
292e1b9f68 patch 8.2.4676: test fails with different error
Problem:    Test fails with different error.
Solution:   Add argument for :elseif.
2022-04-03 16:59:02 +01:00
Bram Moolenaar
fa010cdfb1 patch 8.2.4675: no error for missing expression after :elseif
Problem:    No error for missing expression after :elseif. (Ernie Rael)
Solution:   Check for missing expression. (closes #10068)
2022-04-03 16:13:07 +01:00
Ernie Rael
c4cb544cd5 patch 8.2.4674: cannot force getting MouseMove events
Problem:    Cannot force getting MouseMove events.
Solution:   Add the 'mousemoveevent' option with implementaiton for the GUI.
            (Ernie Rael, closes #10044)
2022-04-03 15:47:28 +01:00
Bram Moolenaar
8ef6997e2d patch 8.2.4673: redrawing a split window is slow when using CTRL-F and CTRL-B
Problem:    Redrawing a vertically split window is slow when using CTRL-F and
            CTRL-B.
Solution:   When deciding on USE_REDRAW bail out if scrolling more than three
            lines. (issue #8002)
2022-04-03 13:23:22 +01:00
Bram Moolenaar
ce416b453a patch 8.2.4672: using :normal with Ex mode may make :substitute hang
Problem:    Using :normal with Ex mode may make :substitute hang.
Solution:   When getting an empty line behave like 'q' was typed.
            (closes #10070)
2022-04-03 12:59:34 +01:00
LemonBoy
a3157a476b patch 8.2.4671: 'wildignorecase' is sometimes not used for glob()
Problem:    'wildignorecase' is sometimes not used for glob().
Solution:   Also use 'wildignorecase' when there are no wildcards.
            (closes #10066, closes #8350)
2022-04-03 11:58:31 +01:00
Yegappan Lakshmanan
72bb47e38f patch 8.2.4670: memory allocation failures for new tab page not tested
Problem:    Memory allocation failures for new tab page not tested.
Solution:   Add tests with failing memory allocation. (Yegappan Lakshmanan,
            closes #10067)
2022-04-03 11:22:38 +01:00
LemonBoy
58f331a05f patch 8.2.4669: in compiled code len('string') is not inlined
Problem:    In compiled code len('string') is not inlined.
Solution:   Compute the length at compile time if possible. (closes #10065)
2022-04-02 21:59:06 +01:00
Yegappan Lakshmanan
0dac1ab579 patch 8.2.4668: buffer allocation failures insufficiently tested
Problem:    Buffer allocation failures insufficiently tested.
Solution:   Add tests for memory allocation failures. (Yegappan Lakshmanan,
            closes #10064)
2022-04-02 21:46:19 +01:00
Yegappan Lakshmanan
5018a836c0 patch 8.2.4667: expandcmd() fails on an error
Problem:    expandcmd() fails on an error.
Solution:   On failure return the command unmodified. (yegappan Lakshmanan,
            closes #10063)
2022-04-02 21:12:21 +01:00
Bram Moolenaar
97f8c1081e patch 8.2.4666: Vim9: assignment not recognized in skipped block
Problem:    Vim9: assignment not recognized in skipped block.
Solution:   When skipping assume identifier exists. (closes #10059)
2022-04-02 19:43:57 +01:00
Bram Moolenaar
eabddc425e patch 8.2.4665: popup with "minwidth" and scrollbar not updated properly
Problem:    Popup with "minwidth" and scrollbar not updated properly.
Solution:   Adjust the computation if the window width. (closes #10061)
2022-04-02 15:32:16 +01:00
Bruno Roque
c1658a196b patch 8.2.4664: Elvish files are not recognized
Problem:    Elvish files are not recognized.
Solution:   Recognize .elv files. (Bruno Roque, closes #10058)
2022-04-02 10:48:24 +01:00
Bram Moolenaar
17fa233f6f patch 8.2.4663: occasional crash when running the GUI tests
Problem:    Occasional crash when running the GUI tests.
Solution:   Check that the line index is not too high. (closes #8681)
2022-04-01 19:44:47 +01:00
Bram Moolenaar
22ebd172e4 patch 8.2.4662: no error for using out of range list index
Problem:    No error for using out of range list index.
Solution:   Check list index at script level like in compiled function.
            (closes #10051)
2022-04-01 15:26:58 +01:00
Bram Moolenaar
ffe6e646dc patch 8.2.4661: Coverity warning for using uninitialized variable
Problem:    Coverity warning for using uninitialized variable.
Solution:   Initialize variable to NULL.
2022-04-01 13:23:47 +01:00
Bram Moolenaar
782c6744b4 patch 8.2.4660: cursorcolumn is sometimes not correct
Problem:    Cursorcolumn is sometimes not correct.
Solution:   Recompute the cursor column when entering Insert mode and the
            cursor is on a character wider than a screen cell.
2022-04-01 12:06:31 +01:00
Bram Moolenaar
96e08e028c patch 8.2.4659: invalid memory access when using printable function name
Problem:    Invalid memory access when using printable function name.
Solution:   Adjust copied name length.
2022-03-31 21:40:33 +01:00
ranjithshegde
3a6f952cc8 patch 8.2.4658: org-mode files are not recognized
Problem:    Org-mode files are not recognized.
Solution:   Add patterns to recognize "org" files. (closes #10046)
2022-03-31 20:24:35 +01:00
Bram Moolenaar
a6c18d38ca patch 8.2.4657: errors for functions are sometimes hard to read
Problem:    Errors for functions are sometimes hard to read.
Solution:   Use printable_func_name() in more places.
2022-03-31 20:02:56 +01:00
Bram Moolenaar
ccbfd4883f patch 8.2.4656: Vim9: can't use item from "import autoload" with autoload dir
Problem:    Vim9: can't use items from "import autoload" with autoload
            directory name.
Solution:   Let sn_autoload_prefix overrule sn_import_autoload.
            (closes #10054)
2022-03-31 16:18:23 +01:00
Yegappan Lakshmanan
1104a6d0c2 patch 8.2.4655: cmdline completion popup menu positioned wrong
Problem:    Command line completion popup menu positioned wrong when using a
            terminal window.
Solution:   Position the popup menu differently when editing the command line.
            (Yegappan Lakshmanan, closes #10050, closes #10035)
2022-03-31 12:34:15 +01:00
Bram Moolenaar
49d008d96b patch 8.2.4654: missing changes for import check
Problem:    Missing changes for import check.
Solution:   Add missing changes.
2022-03-31 11:51:21 +01:00
Bram Moolenaar
4dea2d92e4 patch 8.2.4653: "import autoload" does not check the file name
Problem:    "import autoload" does not check the file name.
Solution:   Give an error if the file is not readable. (closes #10049)
2022-03-31 11:37:57 +01:00
Bram Moolenaar
d1d2684c80 patch 8.2.4652: leaking memory if assignment fails
Problem:    Leaking memory if assignment fails.
Solution:   Clear assigned value on failure.
2022-03-31 10:13:47 +01:00
Bram Moolenaar
1712518f48 patch 8.2.4651: test fails because path differs
Problem:    Test fails because path differs.
Solution:   Only compare the tail of the path.
2022-03-30 21:57:50 +01:00
Bram Moolenaar
c0ceeeb839 patch 8.2.4650: "import autoload" only works with using 'runtimepath'
Problem:    "import autoload" only works with using 'runtimepath'.
Solution:   Also support a relative and absolute file name.
2022-03-30 21:12:27 +01:00
Bram Moolenaar
b4ad3b0dea patch 8.2.4649: various formatting problems
Problem:    Various formatting problems.
Solution:   Improve the code formatting.
2022-03-30 10:57:45 +01:00
Bram Moolenaar
46eea444d9 Update runtime files 2022-03-30 10:51:39 +01:00
Yegappan Lakshmanan
9247a221ce patch 8.2.4648: handling LSP messages is a bit slow
Problem:    Handling LSP messages is a bit slow.
Solution:   Included support for LSP messages. (Yegappan Lakshmanan,
            closes #10025)
2022-03-30 10:16:05 +01:00
Bram Moolenaar
2bdad61267 patch 8.2.4647: "source" can read past end of copied line
Problem:    "source" can read past end of copied line.
Solution:   Add a terminating NUL.
2022-03-29 19:52:12 +01:00
Bram Moolenaar
b55986c52d patch 8.2.4646: using buffer line after it has been freed
Problem:    Using buffer line after it has been freed in old regexp engine.
Solution:   After getting mark get the line again.
2022-03-29 13:24:58 +01:00
James Cherti
fd01280d01 patch 8.2.4645: 'shortmess' changed when session does not store options
Problem:    'shortmess' changed when session does not store options.
Solution:   Save and restore 'shortmess' if needed. (James Charti,
            closes #10037)
2022-03-29 12:02:57 +01:00
Lewis Russell
1624639ec8 patch 8.2.4644: redrawing too often when 'relativenumber' is set
Problem:    Redrawing too often when 'relativenumber' is set.
Solution:   Only redraw when the cursor line changed. (Lewis Russell,
            closes #10040)
2022-03-29 11:38:17 +01:00
Bram Moolenaar
24565cf27b patch 8.2.4643: Vim9: variable may be locked unintentionally
Problem:    Vim9: variable may be locked unintentionally.
Solution:   Clear "v_lock". (closes #10036)
2022-03-28 18:16:52 +01:00
Bram Moolenaar
859cc21c6b patch 8.2.4642: Vim9: in :def function script var cannot be null
Problem:    Vim9: in :def function script var cannot be null.
Solution:   Only initialize a script variable when not set to a null value.
            (closes #10034)
2022-03-28 15:22:35 +01:00
Bram Moolenaar
471b3aed3e patch 8.2.4641: may mark the wrong window for redrawing
Problem:    May mark the wrong window for redrawing.
Solution:   Use redraw_win_later(). (closes #10032)
2022-03-28 12:41:19 +01:00
James McCoy
8be423b7ac patch 8.2.4640: some boolean options use "long" instead of "int"
Problem:    Some boolean options use "long" instead of "int".
Solution:   Adjust the type. (James McCoy, closes #10033)
2022-03-28 11:55:12 +01:00
kylo252
9dac9b1751 patch 8.2.4639: not sufficient parenthesis in preprocessor macros
Problem:    Not sufficient parenthesis in preprocessor macros.
Solution:   Add more parenthesis. (closes #10031)
2022-03-27 20:05:17 +01:00
zeertzjq
3e559cd884 patch 8.2.4638: superfluous check if a redraw is needed for 'cursorline'
Problem:    Superfluous check if a redraw is needed for 'cursorline'.
Solution:   Remove check_redraw_cursorline(). (closes #10030, closes #10029)
2022-03-27 19:26:55 +01:00
Bram Moolenaar
565d1278cb patch 8.2.4637: warning for using uninitialized variable
Problem:    Warning for using uninitialized variable. (Tony Mechelynck)
Solution:   Initialize it.
2022-03-27 18:11:05 +01:00
Bram Moolenaar
1501b63f8d patch 8.2.4636: not using Visual range
Problem:    Not using Visual range.
Solution:   Put the command pointer back to the range.
2022-03-27 16:56:21 +01:00
Bram Moolenaar
501f978288 patch 8.2.4635: tests using null list or dict fail
Problem:    Tests using null list or dict fail.
Solution:   Only use the new rules for Vim9 script.
2022-03-27 16:51:04 +01:00
Bram Moolenaar
ec15b1cfdc patch 8.2.4634: Vim9: cannot initialize a variable to null_list
Problem:    Vim9: cannot initialize a variable to null_list.
Solution:   Give negative count to NEWLIST. (closes #10027)
            Also fix inconsistencies in comparing with null values.
2022-03-27 16:29:53 +01:00
Bram Moolenaar
c75bca3ee9 patch 8.2.4633: Visual range does not work before command modifiers
Problem:    Visual range does not work before command modifiers.
Solution:   Move Visual range to after command modifiers.
2022-03-27 13:36:50 +01:00
Bram Moolenaar
f3980dc5d0 patch 8.2.4632: using freed memory in flatten()
Problem:    Using freed memory in flatten().
Solution:   Clear typval after recursing into list.
2022-03-26 16:42:23 +00:00
Bram Moolenaar
347538fad0 patch 8.2.4631: crash when switching window in BufWipeout autocommand
Problem:    Crash when switching window in BufWipeout autocommand.
Solution:   Put any buffer in the window to avoid it being NULL.
            (closes #10024)
2022-03-26 16:28:06 +00:00
Bram Moolenaar
bf269ed0b0 patch 8.2.4630: 'cursorline' not always updated with 'culopt' is "screenline"
Problem:    'cursorline' not always updated with 'cursorlineopt' is
            "screenline".
Solution:   Call check_redraw_cursorline() more often. (closes #10013)
2022-03-26 13:28:14 +00:00
Bram Moolenaar
c6c1ec4da5 patch 8.2.4629: flattennew() makes a deep copy unnecessarily
Problem:    flattennew() makes a deep copy unnecessarily.
Solution:   Use a shallow copy. (issue #10012)
2022-03-26 10:50:11 +00:00
Yegappan Lakshmanan
5e877baf87 patch 8.2.4628: not enough testing for 2/3 letter substitute commands
Problem:    Not enough testing for 2/3 letter substitute commands.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #10019)
2022-03-25 21:19:26 +00:00
Bram Moolenaar
acf7d73a7f patch 8.2.4627: flatten() does not use maxdepth correctly
Problem:    flatten() does not use maxdepth correctly.
Solution:   Use a recursive implementation. (closes #10020)
2022-03-25 19:50:57 +00:00
Bram Moolenaar
abb6fbd14d patch 8.2.4626: Visual area not updated when removing sign in Visual mode
Problem:    Visual area not fully updated when removing sign in Visual mode
            while scrolling.
Solution:   Adjust check for topline. (closes #10017)
2022-03-25 15:42:27 +00:00
Bram Moolenaar
90da27b927 patch 8.2.4625: old Coverity warning for resource leak
Problem:    Old Coverity warning for resource leak.
Solution:   Call FreeWild() if expanding matches did not fail.
2022-03-25 14:54:18 +00:00
Bram Moolenaar
5d46dcfeed patch 8.2.4624: old Coverity warning for resource leak
Problem:    Old Coverity warning for resource leak.
Solution:   Close the file if memory allocation fails.
2022-03-25 14:46:47 +00:00
Bram Moolenaar
03a297c63f patch 8.2.4623: Coverity warns for using uninitialized field
Problem:    Coverity warns for using uninitialized field.
Solution:   Initialize he field to zero.
2022-03-25 14:39:51 +00:00
Bram Moolenaar
43216611a5 patch 8.2.4622: Vim9: crash with :execute and :finish
Problem:    Vim9: Crash with :execute and :finish. (Sergey Vlasov)
Solution:   Check for NULL. (closes #10011)
2022-03-25 11:16:28 +00:00
Bram Moolenaar
9dd42a6311 patch 8.2.4621: crash when using the tabline right-click menu
Problem:    Crash when using the tabline right-click menu.
Solution:   Use XtPointer for XmNuserData. (closes #10009)
2022-03-24 18:04:49 +00:00
Bram Moolenaar
1e2c4175dc patch 8.2.4620: two letter substitute commands don't work
Problem:    Two letter substitute commands don't work. (Yegappan Lakshmanan)
Solution:   Invert condition.
2022-03-24 15:24:45 +00:00
Bram Moolenaar
f8e43f6107 patch 8.2.4619: mapping is cancelled when mouse moves and popup is visible
Problem:    Mapping is cancelled when mouse moves and popup is visible.
Solution:   Only generate mouse moved events when a popup may use them.
            (closes #10004)
2022-03-24 15:15:15 +00:00
Bram Moolenaar
f4f0525c34 patch 8.2.4618: cmdline completion does not recognize single letter commands
Problem:    Command line completion does not recognize single letter commands.
Solution:   Use the condition from find_ex_command().
2022-03-24 13:08:36 +00:00
Yegappan Lakshmanan
454ce6737c patch 8.2.4617: no completion for :scriptnames
Problem:    No completion for :scriptnames.
Solution:   Implement :scriptnames completion. (Yegappan Lakshmanan,
            closes #10005)
2022-03-24 11:22:13 +00:00
Bram Moolenaar
98b7fe725e patch 8.2.4616: Vim9: Declarations in a {} block of a user command remain
Problem:    Vim9: Declarations in a {} block of a user command do not use Vim9
            rules if defined in a legacy script. (Yegappan Lakshmanan)
Solution:   Pretend the script is Vim9 script.
2022-03-23 21:36:27 +00:00
Bram Moolenaar
ac48506ac6 patch 8.2.4615: mapping with escaped bar does not work in :def function
Problem:    Mapping with escaped bar does not work in :def function. (Sergey
            Vlasov)
Solution:   Do not remove the backslash. (closes #10002)
2022-03-23 19:45:01 +00:00
zeertzjq
c20e46a4e3 patch 8.2.4614: redrawing too much when 'cursorline' is set
Problem:    Redrawing too much when 'cursorline' is set and jumping around.
Solution:   Rely on win_update() to redraw the current and previous cursor
            line, do not mark lines as modified. (closes #9996)
2022-03-23 14:55:23 +00:00
zeertzjq
3c5999e53d patch 8.2.4613: return type of swapfile_unchanged() is wrong
Problem:    Return type of swapfile_unchanged() is wrong.
Solution:   Use "int". (closes #10000  Yeah!)
2022-03-23 13:54:51 +00:00
Bram Moolenaar
a915fa0103 patch 8.2.4612: Vim9: cannot use a recursive call in a nested function
Problem:    Vim9: cannot use a recursive call in a nested function. (Sergey
            Vlasov)
Solution:   Define the funcref before compiling the function. (closes #9989)
2022-03-23 11:29:15 +00:00
Dominique Pelle
81b573d7e5 patch 8.2.4611: typos in tests; one lua line not covered by test
Problem:    Typos in tests; one lua line not covered by test.
Solution:   Fix typos. Add test case. (Dominique Pellé, closes #9994)
2022-03-22 21:14:55 +00:00
Bram Moolenaar
fe154990c1 patch 8.2.4610: some conditions are always true
Problem:    Some conditions are always true.
Solution:   Remove the useless conditions. (closes #9993)
2022-03-22 20:42:12 +00:00
Bram Moolenaar
6f2465d336 patch 8.2.4609: :unhide does not check for failing to close a window
Problem:    :unhide does not check for failing to close a window.
Solution:   When closing a window fails continue with the next one.  Do not
            try closing the autocmd window. (closes #9984)
2022-03-22 18:13:01 +00:00
Yegappan Lakshmanan
e7dd0fa2c6 patch 8.2.4608: getcompletion() does not work when 'wildoptions' has "fuzzy"
Problem:    getcompletion() does not work properly when 'wildoptions
            contains "fuzzy".
Solution:   Do not use addstar(). (Yegappan Lakshmanan, closes #9992,
            closes #9986)
2022-03-22 16:06:31 +00:00
Yegappan Lakshmanan
35dc17634d patch 8.2.4607: sourcing buffer lines may lead to errors for conflicts
Problem:    Sourcing buffer lines may lead to errors for conflicts.
Solution:   Add the ++clear argument. (Yegappan Lakshmanan, closes #9991)
2022-03-22 12:13:54 +00:00
Bram Moolenaar
e18acb02bb patch 8.2.4606: test fails because of changed error message
Problem:    Test fails because of changed error message.
Solution:   Update the expected error message
2022-03-21 20:40:35 +00:00
Bram Moolenaar
6d877fe018 patch 8.2.4604: error for redefining a script item may be confusing
Problem:    Error for redefining a script item may be confusing.
Solution:   Put quotes around the name.
2022-03-21 19:47:31 +00:00
Yegappan Lakshmanan
85b43c6cb7 patch 8.2.4603: sourcing buffer lines is too complicated
Problem:    Sourcing buffer lines is too complicated.
Solution:   Simplify the code. Make it possible to source Vim9 script lines.
            (Yegappan Lakshmanan, closes #9974)
2022-03-21 19:45:17 +00:00
Bram Moolenaar
397a87ac1c patch 8.2.4602: Vim9: not enough test coverage for executing :def function
Problem:    Vim9: not enough test coverage for executing :def function.
Solution:   Add a few more tests.  Fix uncovered problem.  Remove dead code.
2022-03-20 21:14:15 +00:00
Bram Moolenaar
efd73ae5d2 patch 8.2.4601: Vim9: not enough test coverage for executing :def function
Problem:    Vim9: not enough test coverage for executing :def function.
Solution:   Add a few more tests.
2022-03-20 18:51:00 +00:00
Bram Moolenaar
6b8c7ba062 patch 8.2.4600: Vim9: not enough test coverage for executing :def function
Problem:    Vim9: not enough test coverage for executing :def function.
Solution:   Add a few more tests.  Fix inconsistencies.
2022-03-20 17:46:06 +00:00
Bram Moolenaar
a4df834a92 patch 8.2.4599: GTK: get assertion errors when scrolling a split window
Problem:    GTK: get assertion errors when scrolling a split window.
Solution:   Use GDK_IS_DRAWABLE() on the scrollbar window. (closes #9982)
2022-03-20 15:43:01 +00:00
Bram Moolenaar
7e0be3ea21 patch 8.2.4598: profile completion test sometimes fails
Problem:    Profile completion test sometimes fails.
Solution:   Delete the .res file before running tests.
2022-03-20 13:40:41 +00:00
Dominique Pelle
b6643d10d3 patch 8.2.4597: LuaV_debug() not covered by tests
Problem:    LuaV_debug() not covered by tests.
Solution:   Add a test. (Dominique Pellé, closes #9980)
2022-03-20 11:46:01 +00:00
Sergei Trofimovich
c670ebddcd patch 8.2.4596: installing tutor binary may fail
Problem:    Installing tutor binary may fail.
Solution:   Fix the dependency. (Sergei Trofimovich, closes #9978)
2022-03-20 11:26:36 +00:00
jsecchiero
6f95363677 patch 8.2.4595: X11: using --remote-wait may keep the CPU busy
Problem:    X11: using --remote-wait may keep the CPU busy.
Solution:   Set the timeout for select() on every call. (Jacopo Secchiero,
            closes #9973)
2022-03-20 11:07:17 +00:00
Bram Moolenaar
47c532e2bc Update runtime files 2022-03-19 15:18:53 +00:00
Yegappan Lakshmanan
36a5b6867b patch 8.2.4594: need to write script to a file to be able to source them
Problem:    Need to write script to a file to be able to source them.
Solution:   Make ":source" use lines from the current buffer. (Yegappan
            Lakshmanan et al., closes #9967)
2022-03-19 12:56:51 +00:00
zeertzjq
95d2e7634c patch 8.2.4593: unnecessary call to redraw_later()
Problem:    Unnecessary call to redraw_later().
Solution:   Remove the call to redraw_later() in op_yank(). (closes #9971)
2022-03-19 11:42:16 +00:00
Bram Moolenaar
b10ff5c1b3 patch 8.2.4592: search continues after giving E1204
Problem:    Search continues after giving E1204.
Solution:   Return failure after giving E1204. (closes #9972)
2022-03-19 11:31:38 +00:00
Bram Moolenaar
e7a74d5375 patch 8.2.4591: cursor line not updated when a callback moves the cursor
Problem:    Cursor line not updated when a callback moves the cursor.
Solution:   Check if the cursor moved. (closes #9970)
2022-03-19 11:10:15 +00:00
Bram Moolenaar
2995e5cf4e patch 8.2.4590: Vim9: range type check has wrong offset
Problem:    Vim9: range type check has wrong offset.
Solution:   Adjust offset for CHECKTYPE.  Remove other type check.
2022-03-18 21:41:47 +00:00
Bram Moolenaar
2e17fef225 patch 8.2.4589: cannot index the g: dictionary
Problem:    Cannot index the g: dictionary.
Solution:   Recognize using "g:[key]". (closes #9969)
2022-03-18 19:44:48 +00:00
Bram Moolenaar
f35fd8e5d4 patch 8.2.4588: mapping with key after other matching mapping does not work
Problem:    Mapping with key code after other matching mapping does not work.
Solution:   Change ">" to ">=". (closes #9903)
2022-03-18 15:41:17 +00:00
Bram Moolenaar
61efa16932 patch 8.2.4587: Vim9: double free after unpacking a list
Problem:    Vim9: double free after unpacking a list.
Solution:   Make a copy of the value instead of moving it. (closes #9968)
2022-03-18 13:10:48 +00:00
Bram Moolenaar
1d9cef769d patch 8.2.4586: Vim9: no error for using lower case name for "func" argument
Problem:    Vim9: no error for using lower case name for "func" argument.
            (Ernie Rael)
Solution:   Check the name as soon as the type is known.
2022-03-17 16:30:03 +00:00
Yegappan Lakshmanan
155b088208 patch 8.2.4585: cannot use keypad page-up/down for completion menu
Problem:    Cannot use keypad page-up/down for completion menu.
Solution:   Recognize the keypad keys. (Yegappan Lakshmanan, closes #9963)
2022-03-17 13:03:09 +00:00
Bram Moolenaar
da6d42c35a patch 8.2.4584: error for using autoload function in custom completion
Problem:    Error for using autoload function in custom completion.
Solution:   Do not check for errors when using an autoload function.
            (closes #9962)
2022-03-17 11:46:55 +00:00
Bram Moolenaar
4f6e772c9c patch 8.2.4583: screendump test fails
Problem:    Screendump test fails.
Solution:   Check that making a screendump is possible.
2022-03-16 20:26:02 +00:00
Bram Moolenaar
4c8b546da2 patch 8.2.4582: useless code handling a type declaration
Problem:    Useless code handling a type declaration.
Solution:   Remove the code and give an error.
2022-03-16 20:01:39 +00:00
Bram Moolenaar
d597ab00d7 patch 8.2.4581: null types not fully tested
Problem:    Null types not fully tested.
Solution:   Add some more tests using null types.
2022-03-16 17:56:33 +00:00
Bram Moolenaar
21dc8f1527 patch 8.2.4580: Vim9: incorrect error for shadowing variable
Problem:    Vim9: incorrect error for shadowing variable.
Solution:   Do not pass the context when compiling a referenced function.
2022-03-16 17:54:17 +00:00
Yegappan Lakshmanan
5cffa8df7e patch 8.2.4579: cannot use page-up and page-down in the cmdline popup menu
Problem:    Cannot use page-up and page-down in the command line completion
            popup menu.
Solution:   Check for to page-up and page-down keys. (Yegappan Lakshmanan,
            closes #9960)
2022-03-16 13:33:53 +00:00
Bram Moolenaar
fe8e9f6740 patch 8.2.4578: no warning when autoload script for completion has an error
Problem:    No warning when an autoload script for completion function has an
            error.
Solution:   Do not ignore errors when a function name is given with a dot or
            '#' character. (closes #9958)
2022-03-16 13:09:15 +00:00
Bram Moolenaar
9323ca51c2 patch 8.2.4577: message test is flaky
Problem:    Message test is flaky. (Elimar Riesebieter)
Solution:   Trigger the autocommand event only after startup is finished.
2022-03-16 11:14:57 +00:00
Bram Moolenaar
056678184f patch 8.2.4576: Vim9: error for comparing with null can be annoying
Problem:    Vim9: error for comparing with null can be annoying.
Solution:   Allow comparing anything with null. (closes #9948)
2022-03-15 20:21:33 +00:00
Bram Moolenaar
139575de66 patch 8.2.4575: Vim9: test for profiling still fails
Problem:    Vim9: test for profiling still fails.
Solution:   Update flags for profiling and breakpoints when obtaining the
            compile type.  Do not set the FC_CLOSURE flag for a toplevel
            function.
2022-03-15 19:29:30 +00:00
Bram Moolenaar
48f69cdfa4 patch 8.2.4574: Vim9: test for profiling fails
Problem:    Vim9: test for profiling fails.
Solution:   Mark function for profiling earlier to avoid E1271.
2022-03-15 16:16:47 +00:00
Bram Moolenaar
96923b7a14 patch 8.2.4573: a nested function is compiled for debugging without context
Problem:    A nested function (closure) is compiled for debugging without
            context.
Solution:   Check if a nested function is marked for debugging before
            compiling it.  Give an error when trying to compile a closure
            without its context. (closes #9951)
2022-03-15 15:57:04 +00:00
Bram Moolenaar
1a572e9b3b patch 8.2.4572: Vim9: return type "any" is changed to first returned type
Problem:    Vim9: return type "any" is sometimes changed to first returned
            type.  (Virginia Senioria)
Solution:   Do not change the return type if declared as "any". (closes #9949)
2022-03-15 12:28:10 +00:00
Jade Lovelace
8d5e514d77 patch 8.2.4571: not all gdb files are recognized
Problem:    Not all gdb files are recognized.
Solution:   Add a few more patterns for gdb. (Jade Lovelace, closes #9956)
2022-03-15 12:00:23 +00:00
Yegappan Lakshmanan
1fdf84e033 patch 8.2.4570: no command line completion for :profile and :profdel
Problem:    No command line completion for :profile and :profdel.
Solution:   Implement completion. (Yegappan Lakshmanan, closes #9955)
2022-03-15 10:53:09 +00:00
Bram Moolenaar
977525fea6 patch 8.2.4569: Coverity warning for not using a return value
Problem:    Coverity warning for not using a return value.
Solution:   Add "(void)".
2022-03-15 10:22:39 +00:00
Sean Dewar
10792feebd patch 8.2.4568: getmousepos() does not compute the column below the last line
Problem:    getmousepos() does not compute the column below the last line.
Solution:   Also compute the column when the mouse is below the last line.
            (Sean Dewar, closes #9946)
2022-03-15 09:46:54 +00:00
zeertzjq
7a73252063 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Problem:    Bracketed paste doesn't work well in Visual linewise mode.
Solution:   Handle linewise Visual mode differently. (closes #9947)
2022-03-14 20:46:41 +00:00
James Cherti
7d42840033 patch 8.2.4566: check for existing buffer in session file may not work
Problem:    Check for existing buffer in session file does not work for files
            in the home directory.
Solution:   Use fnamemodify(). (James Cherti, closes #9945)  Add a test.
2022-03-14 20:24:51 +00:00
Bram Moolenaar
6e2e2cc95b patch 8.2.4565: no command line completion for :breakadd and :breakdel
Problem:    No command line completion for :breakadd and :breakdel.
Solution:   Add completion for :breakadd and :breakdel. (Yegappan Lakshmanan,
            closes #9950)
2022-03-14 19:24:46 +00:00
Bram Moolenaar
129e33e44b patch 8.2.4564: running test leaves file behind
Problem:    Running test leaves file behind.  (Dominique Pellé)
Solution:   Run the profiling in a separate Vim instance. (closes #9952)
2022-03-14 10:50:23 +00:00
Bram Moolenaar
5c68617d39 patch 8.2.4563: "z=" in Visual mode may go beyond the end of the line
Problem:    "z=" in Visual mode may go beyond the end of the line.
Solution:   Adjust "badlen".
2022-03-13 20:12:25 +00:00
Yegappan Lakshmanan
b29b96806f patch 8.2.4562: linear tag search is not optimal
Problem:    Linear tag search is not optimal.
Solution:   Improve linear tag search performance. (Yegappan Lakshmanan,
            closes #9944)
2022-03-13 19:23:48 +00:00
Bram Moolenaar
424da7aa48 patch 8.2.4561: build failure with some combination of features
Problem:    Build failure with some combination of features. (John Marriott)
Solution:   Adjust #ifdef.
2022-03-13 19:08:48 +00:00
ichizok
5f823d1e73 patch 8.2.4560: suspending with CTRL-Z does not work on DragonFlyBSD
Problem:    Suspending with CTRL-Z does not work on DragonFlyBSD.
Solution:   Adjust #ifdef. (Ozaki Kiichi, closes #9943)
2022-03-13 17:27:38 +00:00
Bram Moolenaar
533870a985 patch 8.2.4559: getmousepos() returns the screen column
Problem:    getmousepos() returns the screen column. (Ernie Rael)
Solution:   Return the text column, as documented.
2022-03-13 15:52:44 +00:00
Bram Moolenaar
e850439a56 patch 8.2.4558: Motif: using default colors does not work as expected
Problem:    Motif: using default colors does not work as expected.
Solution:   Do not try to store the default colors, use the resources.
            (closes #9933)
2022-03-13 14:45:03 +00:00
zeertzjq
754d2b4036 patch 8.2.4557: confusing comment about 'cursorlineopt'
Problem:    Confusing comment about 'cursorlineopt'.
Solution:   Adjust comment.  (closes #9939)  Add parenthesis around logical
            OR.
2022-03-13 13:40:45 +00:00
Bram Moolenaar
4f3321f704 patch 8.2.4556: test fails without the +job or +channel feature
Problem:    Test fails without the +job or +channel feature. (Dominique Pellé)
Solution:   Adjust #ifdefs.  Pass on skip flag. (closes #9942)
2022-03-13 13:12:27 +00:00
Bram Moolenaar
986b0fd0c5 patch 8.2.4555: getmousepos() returns the wrong column
Problem:    getmousepos() returns the wrong column. (Ernie Rael)
Solution:   Limit to the text size, not the number of bytes.
2022-03-13 12:06:07 +00:00
Bram Moolenaar
badf04f5c2 patch 8.2.4554: Vim9: using null values not sufficiently tested
Problem:    Vim9: using null values not sufficiently tested.
Solution:   Add more tests.  Fix uncovered problem.
2022-03-12 21:28:22 +00:00
Yegappan Lakshmanan
8b530b3158 patch 8.2.4553: linear tag search is a bit slow
Problem:    Linear tag search is a bit slow.
Solution:   Remove a vim_ftell() call. (Yegappan Lakshmanan, closes #9937)
2022-03-12 17:38:29 +00:00
Bram Moolenaar
d0b7bfa957 patch 8.2.4552: in a :def function "put = expr" does not work
Problem:    In a :def function "put = expr" does not work.
Solution:   Skip over white space. (closes #9936)
2022-03-12 14:51:16 +00:00
Bram Moolenaar
bbf84e2737 patch 8.2.4551: when mapping <Esc> terminal codes are not recognized
Problem:    When mapping <Esc> terminal codes are not recognized.
Solution:   Specifically recognize a mapping with just <Esc> and check for
            terminal codes even though there is no partial mapping.
            (closes #9903)
2022-03-12 13:48:39 +00:00
Bram Moolenaar
5b4f8a0e84 patch 8.2.4550: Motif: cannot set the color of the scrollbar thumb
Problem:    Motif: cannot set the color of the scrollbar thumb.
Solution:   Remove #ifdef.
2022-03-12 12:21:28 +00:00
Bram Moolenaar
e2adcf3974 patch 8.2.4549: cannot build with Motif and editres
Problem:    Cannot build with Motif and editres. (Tony Mechelynck)
Solution:   Fix configure mistake.
2022-03-12 11:57:25 +00:00
Bram Moolenaar
fb43cfc2c6 patch 8.2.4548: script-local function is deleted when used in a funcref
Problem:    Script-local function is deleted when used in a funcref.
Solution:   Do not consider a function starting with "<SNR>" reference
            counted. (closes #9916, closes #9820)
2022-03-11 18:54:17 +00:00
Bram Moolenaar
f52fac2ed9 patch 8.2.4547: the neXTaw GUI is old and does not work well
Problem:    The neXTaw GUI is old and does not work well.
Solution:   Remove the neXTaw GUI from configure to find out who still wants
            support for this GUI.
2022-03-11 16:01:26 +00:00
zeertzjq
0a4e098f32 patch 8.2.4546: duplicate #undef
Problem:    Duplicate #undef.
Solution:   Remove one #undef. (closes #9932)
2022-03-11 15:33:53 +00:00
Christian Brabandt
176711f069 patch 8.2.4545: MS-Windows: the installed icon is low resolution
Problem:    MS-Windows: the installed icon is low resolution.
Solution:   Use a better icon.  Install vim.ico. (Christian Brabandt,
            closes #9931, closes #9930)
2022-03-11 15:24:11 +00:00
Bram Moolenaar
dbf8094b17 patch 8.2.4544: Coverity warnings for not using returned value
Problem:    Coverity warnings for not using returned value.
Solution:   Assign to vim_ignored.
2022-03-11 14:54:03 +00:00
Yegappan Lakshmanan
20fb28b1dc patch 8.2.4543: Coverity warning for refactored tag search code
Problem:    Coverity warning for refactored tag search code.
Solution:   Avoid the warnings.  Update comments.  Add one more test case.
            (Yegappan Lakshmanan, closes #9928)
2022-03-11 12:05:18 +00:00
Bram Moolenaar
873f8243f6 patch 8.2.4542: Vim9: "break" inside try/catch not handled correctly
Problem:    Vim9: "break" inside try/catch not handled correctly.
Solution:   First jump to :endtry. (closes #9927)
2022-03-10 21:53:44 +00:00
Bram Moolenaar
e406ff87c8 patch 8.2.4541: Crash in debugger when a variable is not available
Problem:    Crash in debugger when a variable is not available in the current
            block.
Solution:   Check for a NULL name. (closes #9926)
2022-03-10 20:47:43 +00:00
Bram Moolenaar
1b1df95f1a patch 8.2.4540: line number for error is off by one
Problem:    Line number for error is off by one.
Solution:   Remember the line number of the comparison. (closes #9923)
2022-03-10 20:01:50 +00:00
Bram Moolenaar
53ba6ca5b2 patch 8.2.4539: when comparing special v:none and v:null are handled the same
Problem:    When comparing special v:none and v:null are handled the same when
            compiling.
Solution:   Pass more information so that v:none can be handled differently at
            compile time.  (issue #9923)
2022-03-10 19:23:28 +00:00
Yegappan Lakshmanan
bf40e90dfe patch 8.2.4538: the find_tags_in_file() function is too long
Problem:    The find_tags_in_file() function is too long.
Solution:   Refactor into smaller functions. (Yegappan Lakshmanan,
            closes #9920)
2022-03-10 18:36:54 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
48f83c31d1 patch 8.2.4537: output from linter and language server shows up in git
Problem:    Output from linter and language server shows up in git.
Solution:   Add patterns to .gitignore. (Goc Dundar, closes #9925)
2022-03-10 15:51:24 +00:00
Bram Moolenaar
cf6662082f patch 8.2.4536: debugger test fails when breaking on expression
Problem:    Debugger test fails when breaking on expression.
Solution:   Compare strings with "==" instead of "is".
2022-03-10 13:29:20 +00:00
Christian Brabandt
81da16b53f patch 8.2.4535: filename modifer ":8" removes the filename
Problem:    Filename modifer ":8" removes the filename.
Solution:   Use strncpy() instead of vim_strncpy(). (Christian Brabandt,
            closes #9918, closes #8600)
2022-03-10 12:24:02 +00:00
Bram Moolenaar
f8691004b0 patch 8.2.4534: Vim9: "is" operator with empty string and null returns true
Problem:    Vim9: "is" operator with empty string and null returns true.
Solution:   Consider empty string and null to be different for "is".
2022-03-10 12:20:53 +00:00
Bram Moolenaar
56b84b1728 patch 8.2.4533: Vim9: no test that after assigning null type is still checked
Problem:    Vim9: no test that after assigning null the type is still checked.
Solution:   Add a test.
2022-03-09 19:46:48 +00:00
Stuart Henderson
f2832ad965 patch 8.2.4532: suspending with CTRL-Z does not work on OpenBSD
Problem:    Suspending with CTRL-Z does not work on OpenBSD.
Solution:   Adjust #ifdef for SIGTSTP. (Stuart Henderson, closes #9912)
2022-03-09 14:33:02 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
f01a653ac5 patch 8.2.4531: LGTM warnings for condition and buffer size
Problem:    LGTM warnings for condition always true and buffer size too small.
Solution:   Remove the useless condition.  Make the buffer larger. (Goc
            Dundar, closes #9914)
2022-03-09 13:00:54 +00:00
Bram Moolenaar
f3507a517c patch 8.2.4530: making comparison with null work changes legacy behavior
Problem:    Making comparison with null work changes legacy behavior.
Solution:   Only use the better comparison in Vim9 script. (closes #9910)
2022-03-09 11:56:21 +00:00
Bram Moolenaar
1588bc8ebe Update runtime files 2022-03-08 21:35:07 +00:00
Bram Moolenaar
ed0c62e7b1 patch 8.2.4529: Vim9: comparing partial with function fails
Problem:    Vim9: comparing partial with function fails.
Solution:   Support this comparison.  Avoid a crash. (closes #9909)
            Add more test cases.
2022-03-08 19:43:55 +00:00
Bram Moolenaar
673bcb10eb patch 8.2.4528: crash when using null_function for a partial
Problem:    Crash when using null_function for a partial.
Solution:   Don't call fname_trans_sid() with NULL. (closes #9908)
2022-03-08 16:52:24 +00:00
Bram Moolenaar
0b40d086b3 patch 8.2.4527: the Athena GUI is old and does not work well
Problem:    The Athena GUI is old and does not work well.
Solution:   Remove the Athena GUI from configure to find out who still wants
            support for this GUI.
2022-03-08 13:32:37 +00:00
Bram Moolenaar
8acb9cc620 patch 8.2.4526: Vim9: cannot set variables to a null value
Problem:    Vim9: cannot set variables to a null value.
Solution:   Add null_list, null_job, etc.
2022-03-08 13:18:55 +00:00
Yegappan Lakshmanan
08238045e7 patch 8.2.4525: some GUI tests don't work on Athena
Problem:    Some GUI tests don't work on Athena.
Solution:   Skip tests that won't work. (Yegappan Lakshmanan, closes #9902)
2022-03-07 16:57:22 +00:00
K.Takata
d8f8629b1b patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Problem:    MS-Windows: cannot build with some sodium libraries.
Solution:   Make the DLL name configuragle.  Add build instructions.
            (Ken Takata, closes #9905)
2022-03-07 15:16:15 +00:00
K.Takata
6ca883dd8a patch 8.2.4523: when gvim is started maximized the 'window' option isn't set
Problem:    When gvim is started maximized the 'window' option isn't set
            properly. (Christian J. Robinson)
Solution:   Check if 'windows' was already set or not. (Ken Takata,
            closes #9904)
2022-03-07 13:31:15 +00:00
Bram Moolenaar
88dd6523fa patch 8.2.4522: GUI test fails with Motif
Problem:    GUI test fails with Motif. (Dominique Pellé)
Solution:   Remove using an invalid value for 'guifontset'.
2022-03-06 22:21:37 +00:00
Bram Moolenaar
936dc6014c patch 8.2.4521: build failure without the +diff feature
Problem:    Build failure without the +diff feature. (John Marriott)
Solution:   Define filler+lines if not declaring it.
2022-03-06 20:47:01 +00:00
Bram Moolenaar
127969cf98 patch 8.2.4520: using wrong highlight for cursor line number
Problem:    Using wrong highlight for cursor line number.
Solution:   Take filler lines into account when using CursorLineNr.
            (closes #9897)
2022-03-06 19:54:13 +00:00
Bram Moolenaar
d523c7be5c patch 8.2.4519: Vim9: Can still use ":fini" and ":finis" for ":finish"
Problem:    Vim9: Can still use ":fini" and ":finis" for ":finish".
Solution:   Require using ":finish".
2022-03-06 14:51:22 +00:00
Yegappan Lakshmanan
655b734ee8 patch 8.2.4518: the binary tag search feature is always enabled
Problem:    The binary tag search feature is always enabled.
Solution:   Remove the #ifdefs.  Add a few more tests. (Yegappan Lakshmanan,
            closes #9893)
2022-03-06 14:27:10 +00:00
K.Takata
9eccee0e85 patch 8.2.4517: MS-Windows: cannot specify location of sodium library
Problem:    MS-Windows: cannot specify location of sodium library.
Solution:   Allow for using a path for SODIUM. (Ken Takata, closes #9896)
2022-03-06 14:01:52 +00:00
Bram Moolenaar
525eba00ef patch 8.2.4516: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Move error message outside of #ifdef.
2022-03-05 22:07:32 +00:00
Bram Moolenaar
9fb7b42935 patch 8.2.4515: old subsitute syntax is still supported
Problem:    Old subsitute syntax is still supported.
Solution:   Disallow using backslash after ":s" in Vim9 script.
2022-03-05 21:13:26 +00:00
Bram Moolenaar
b2175220da patch 8.2.4514: Vim9: some flow commands can be shortened
Problem:    Vim9: some flow commands can be shortened.
Solution:   Also require using the full name for ":return", ":enddef",
            ":continue", ":export" and ":import".
2022-03-05 20:24:41 +00:00
zeertzjq
b29ae15977 patch 8.2.4513: window-local directory is not applied if 'acd' fails
Problem:    Window-local directory is not applied if 'acd' fails.
Solution:   Don't call do_autochdir(). (closes #9891)
2022-03-05 17:00:31 +00:00
Yegappan Lakshmanan
df1bbea436 patch 8.2.4512: the find_tags_in_file() function is much too long
Problem:    The find_tags_in_file() function is much too long.
Solution:   Refactor into multiple smaller functions. (Yegappan Lakshmanan,
            closes #9892)
2022-03-05 14:35:12 +00:00
Bram Moolenaar
c12dc47b8f patch 8.2.4511: filetype test fails
Problem:    Filetype test fails.
Solution:   Change "endw" to "endwhile".
2022-03-05 13:45:56 +00:00
Bram Moolenaar
204852ae2a patch 8.2.4510: Vim9: shortening commands leads to confusing script
Problem:    Vim9: shortening commands leads to confusing script.
Solution:   In Vim9 script require at least ":cont" for ":continue", "const"
            instead of "cons", "break" instead of "brea", "catch" instead of
            "cat", "else" instead of "el" "elseif" instead of "elsei" "endfor"
            instead of "endfo" "endif" instead of "en" "endtry" instead of
            "endt", "finally" instead of "fina", "throw" instead of "th",
            "while" instead of "wh".
2022-03-05 12:56:44 +00:00
Bram Moolenaar
e1d1211799 patch 8.2.4509: Vim9: can declare a variable with ":va"
Problem:    Vim9: can declare a variable with ":va".
Solution:   Disallow using ":va", require using ":var".
2022-03-05 11:37:48 +00:00
Bram Moolenaar
330a388e18 patch 8.2.4508: Vim9: cannot assign to a global variable on the command line
Problem:    Vim9: cannot assign to a global variable on the command line.
Solution:   Allow using :vim9cmd for assignment on the command line.
2022-03-05 11:05:57 +00:00
Bram Moolenaar
f78ee2b49f patch 8.2.4507: test fails because of new error message
Problem:    Test fails because of new error message.
Solution:   Avoid the test fails.
2022-03-04 23:22:27 +00:00
Bram Moolenaar
24d9c0557e patch 8.2.4506: "pattern not found" for :global is not an error message
Problem:    "pattern not found" for :global is not an error message.
Solution:   In Vim9 script make this an actual error, so that try/catch can be
            used as expected.
2022-03-04 21:34:31 +00:00
Bram Moolenaar
f07751457c patch 8.2.4505: Vim9: outdated "autocmd nested" still works
Problem:    Vim9: outdated "autocmd nested" still works.
Solution:   Do not accept the :autocmd argument "nested" without "++" in Vim9
            script.
2022-03-04 20:10:38 +00:00
Bram Moolenaar
196c3850db patch 8.2.4504: when there is a partially matching map full map may not work
Problem:    When there is a partially matching map and modifyOtherKeys is
            active a full map may not work.
Solution:   Only simplify modifiers when there is no matching mapping.
            (closes #8792)
2022-03-04 19:22:36 +00:00
Bram Moolenaar
6aca4d3c2b patch 8.2.4503: Vim9: there is no point in supporting :Print and :mode
Problem:    Vim9: there is no point in supporting :Print and :mode.
Solution:   Do not recognize :Print and :mode as commands. (closes #9870)
2022-03-04 17:10:19 +00:00
Bram Moolenaar
d979d64fa2 patch 8.2.4502: in the GUI a modifier is not recognized after CTRL-X
Problem:    In the GUI a modifier is not recognized for the key typed after
            CTRL-X, which may result in a mapping to be used. (Daniel
            Steinberg)
Solution:   Recognize a modifier starting with CSI. (closes #9889)
2022-03-04 14:51:06 +00:00
Bram Moolenaar
21efafe4c2 patch 8.2.4501: with 'showbreak' set cursor displayed in wrong position
Problem:    With 'showbreak' set and after the end of the line the cursor
            may be displayed in the wrong position.
Solution:   Do not apply 'showbreak' after the end of the line. (closes #9884)
2022-03-03 20:04:03 +00:00
Bram Moolenaar
0e1574c406 patch 8.2.4500: Vim9: can declare a global variable on the command line
Problem:    Vim9: can declare a global variable on the command line.
Solution:   Disallow declaring a variable on the command line. (closes #9881)
2022-03-03 17:05:35 +00:00
Bram Moolenaar
28bf649a57 patch 8.2.4499: Vim9: at the script level declarations leak to next block
Problem:    Vim9: at the script level declarations leak from try block to
            catch and finally block.
Solution:   End the block and start a new one. (closes #9883)
2022-03-03 15:11:20 +00:00
Bram Moolenaar
1fc34225ac patch 8.2.4498: using <Plug> with "noremap" does not work
Problem:    Using <Plug> with "noremap" does not work.
Solution:   Always remap <Plug>. (closes #9879, closes #9789)
2022-03-03 13:56:24 +00:00
Bram Moolenaar
35d8c2010e patch 8.2.4497: wrong color for half of wide character next to pum scrollbar
Problem:    Wrong color for half of wide character next to pum scrollbar.
Solution:   Redraw the screen cell with the right color. (closes #9874)
2022-03-03 11:46:00 +00:00
Bram Moolenaar
fe9112e630 patch 8.2.4496: Coverity gives warnings after tags code refactoring
Problem:    Coverity gives warnings after tags code refactoring.
Solution:   Avoid the warnings. (Yegappan Lakshmanan, closes #9882)
2022-03-03 10:44:17 +00:00
Bram Moolenaar
e4e1a1e1c8 patch 8.2.4495: help test fails in 24 line terminal
Problem:    Help test fails in 24 line terminal.
Solution:   Use up to 23 lines for text.
2022-03-02 20:49:50 +00:00
Yegappan Lakshmanan
2f87a99b6e patch 8.2.4494: the find_tags() function is much too long
Problem:    The find_tags() function is much too long.
Solution:   Refactor the function. (Yegappan Lakshmanan, closes #9869)
2022-03-02 20:29:35 +00:00
Bram Moolenaar
b9c5108593 patch 8.2.4493: options test fails in the GUI
Problem:    Options test fails in the GUI.
Solution:   Do not save and restore 'term'.
2022-03-02 20:12:03 +00:00
Bram Moolenaar
8ccbbeb620 patch 8.2.4492: no error if an option is given a value with ":let &opt = val"
Problem:    No error if an option is given an invalid value with
            ":let &opt = val".
Solution:   Give the error. (closes #9864)
2022-03-02 19:49:38 +00:00
K.Takata
7f687aaca9 patch 8.2.4491: MS-Windows makefile dependencies are outdated
Problem:    MS-Windows makefile dependencies are outdated.
Solution:   Update dependencies. (Ken Takata, closes #9876)
2022-03-02 17:34:56 +00:00
Bram Moolenaar
8d5daf267e patch 8.2.4490: terminal focus reporting only works for xterm-like terminals
Problem:    Terminal focus reporting only works for xterm-like terminals.
            (Jonathan Rascher)
Solution:   Remove the "focus_mode" flag. (closes #9859)
2022-03-02 17:16:39 +00:00
Bram Moolenaar
c6e9d7063d patch 8.2.4489: failing test for comparing v:null with number
Problem:    Failing test for comparing v:null with number.
Solution:   Allow comparing v:null with number in legacy script.
            (Ken Takata, closes #9873)  Also do this for float.
2022-03-02 13:13:30 +00:00
Bram Moolenaar
f6b0c79742 patch 8.2.4488: build error with +eval but without +channel or +job
Problem:    Build error with +eval but without +channel or +job.
Solution:   Add #ifdef. (John Marriott)
2022-03-01 19:52:48 +00:00
Bram Moolenaar
7a22224875 patch 8.2.4487: Vim9: cannot compare with v:null
Problem:    Vim9: cannot compare with v:null.
Solution:   Allow comparing anything with v:null. (closes #9866)
2022-03-01 19:23:24 +00:00
Bram Moolenaar
f01af9c4e6 patch 8.2.4486: MS-Windows GUI: slow scrolling with maximized window
Problem:    MS-Windows GUI: slow scrolling with maximized window.
Solution:   Use a better way to check the window is on screen. (Ken Takata,
            closes #9865)
2022-03-01 16:02:26 +00:00
Bram Moolenaar
3e7637bd26 patch 8.2.4485: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize the variable. (John Marriott)
2022-02-28 21:02:19 +00:00
Bram Moolenaar
1983f1aa31 patch 8.2.4484: Vim9: some error messages are not tested
Problem:    Vim9: some error messages are not tested.
Solution:   Add a few more test cases.  Delete dead code.
2022-02-28 20:55:02 +00:00
Yegappan Lakshmanan
5de4c4372d patch 8.2.4483: command completion makes two rounds to collect matches
Problem:    Command completion makes two rounds to collect matches.
Solution:   Use a growarray to collect matches. (Yegappan Lakshmanan,
            closes #9860)
2022-02-28 13:28:38 +00:00
Yegappan Lakshmanan
afd4ae35d6 patch 8.2.4482: no fuzzy cmdline completion for user defined completion
Problem:    No fuzzy cmdline completion for user defined completion.
Solution:   Add fuzzy completion for user defined completion. (Yegappan
            Lakshmanan, closes #9858)
2022-02-27 21:03:21 +00:00
Bram Moolenaar
5c52be40fb patch 8.2.4481: cmdline popup menu not removed when 'lazyredraw' is set
Problem:    Cmdline popup menu not removed when 'lazyredraw' is set.
Solution:   Temporarily reset 'lazyredraw' when removing the popup menu.
            (closes #9857)
2022-02-27 14:28:31 +00:00
xtkoba
cbef12e60b patch 8.2.4480: suspending with CTRL-Z does not work on Android
Problem:    Suspending with CTRL-Z does not work on Android.
Solution:   Do not handle SIGTSTP. (closes #9854)
2022-02-27 12:31:52 +00:00
Yegappan Lakshmanan
6caeda2fce patch 8.2.4479: no fuzzy completieon for maps and abbreviations
Problem:    No fuzzy completieon for maps and abbreviations.
Solution:   Fuzzy complete maps and abbreviations. (Yegappan Lakshmanan,
            closes #9856)
2022-02-27 12:07:30 +00:00
Yegappan Lakshmanan
00333cb3b3 patch 8.2.4478: crash when using fuzzy completion
Problem:    Crash when using fuzzy completion.
Solution:   Temporary fix: put back regexp. (closes #9852, closes #9851)
2022-02-26 16:05:08 +00:00
Bram Moolenaar
29ab6ce9f3 patch 8.2.4477: crash when using fuzzy completion
Problem:    Crash when using fuzzy completion.
Solution:   Temporary fix: put back regexp. (closes #9851)
2022-02-26 15:52:08 +00:00
Bram Moolenaar
c51cf03298 Update runtime files. 2022-02-26 12:25:45 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
e41c1dd889 patch 8.2.4476: operator name spelled wrong
Problem:    Operator name spelled wrong.
Solution:   Change trinary to ternary. (Goc Dundar, closes #9850)
2022-02-26 11:46:13 +00:00
Yegappan Lakshmanan
4df5b33f20 patch 8.2.4475: fuzzy cmdline completion does not work for lower case
Problem:    Fuzzy cmdline completion does not work for lower case.
Solution:   Also use fuzzy completion for lower case input. (Yegappan
            Lakshmanan, closes #9849)
2022-02-26 11:04:42 +00:00
Yegappan Lakshmanan
5a2d4a3ecb patch 8.2.4474: memory allocation failures not tested in quickfix code
Problem:    Memory allocation failures not tested in quickfix code.
Solution:   Add alloc IDs and tests. (Yegappan Lakshmanan, closes #9848)
2022-02-26 10:31:32 +00:00
Bram Moolenaar
416b5f4894 patch 8.2.4473: Coverity warnds for not checking return value of ftell()
Problem:    Coverity warnds for not checking return value of ftell().
Solution:   Bail out if ftell() returns a negative value.
2022-02-25 21:47:48 +00:00
Bram Moolenaar
9383a3afb6 patch 8.2.4472: Coverity warns for use of a freed function name
Problem:    Coverity warns for use of a freed function name.
Solution:   Only check an autoload name when is prefixed.
2022-02-25 21:35:17 +00:00
Bram Moolenaar
62628d97c4 patch 8.2.4471: Coverity warns for uninitialized variable
Problem:    Coverity warns for uninitialized variable.
Solution:   Set flags to zero.
2022-02-25 21:10:53 +00:00
Bram Moolenaar
ae49aa8434 patch 8.2.4470: Coverity warns for uninitialized variable
Problem:    Coverity warns for uninitialized variable.
Solution:   Set can_spell to zero.
2022-02-25 21:05:36 +00:00
Bram Moolenaar
05c1734c4f patch 8.2.4469: Coverity warns for uninitialized variable
Problem:    Coverity warns for uninitialized variable.
Solution:   Set the value to zero.
2022-02-25 20:57:11 +00:00
Bram Moolenaar
68afde4c9b patch 8.2.4468: Coverity warns for uninitialized struct member
Problem:    Coverity warns for uninitialized struct member.
Solution:   Set color.index to zero.
2022-02-25 20:48:26 +00:00
Bram Moolenaar
0e71b7d4ce patch 8.2.4467: running filetype test leaves file behind
Problem:    Running filetype test leaves file behind.
Solution:   Delete the file.
2022-02-25 17:45:04 +00:00
Cam Sinclair
5c6edf41f9 patch 8.2.4466: MS-Windows: illegal memory access in installer
Problem:    MS-Windows: illegal memory access in installer when using
            "create-directories" as the final argument.
Solution:   Check the argument count. (Cam Sinclair, closes #9844)
2022-02-25 17:42:23 +00:00
Yegappan Lakshmanan
5ec633b9b0 patch 8.2.4465: fuzzy completion does not order matches properly
Problem:    Fuzzy completion does not order matches properly.
Solution:   Do not use regular expression match. (Yegappan Lakshmanan,
            closes #9843)
2022-02-25 15:24:24 +00:00
=?UTF-8?q?Teubel=20Gy=C3=B6rgy?=
4d56b971cb patch 8.2.4464: Dtrace files are recognized as filetype D
Problem:    Dtrace files are recognized as filetype D.
Solution:   Add a pattern for Dtrace files. (Teubel György, closes #9841)
            Add some more testing.
2022-02-24 17:59:09 +00:00
Yegappan Lakshmanan
38b85cb4d7 patch 8.2.4463: completion only uses strict matching
Problem:    Completion only uses strict matching.
Solution:   Add the "fuzzy" item for 'wildoptions'. (Yegappan Lakshmanan,
            closes #9803)
2022-02-24 13:28:41 +00:00
Yegappan Lakshmanan
9c9be05b17 patch 8.2.4462: not enough testing for quickfix code
Problem:    Not enough testing for quickfix code.
Solution:   Add more tests. Fix uncovered problem. (Yegappan Lakshmanan,
            closes #9839)
2022-02-24 12:33:17 +00:00
Bram Moolenaar
3c620b0c03 patch 8.2.4461: MS-Windows: garbage characters on stdout with VIMDLL
Problem:    MS-Windows: garbage characters on stdout with VIMDLL.
Solution:   Don't call gui_focus_change() when about to quit. (Ken Takata,
            closes #9840)
2022-02-24 11:39:43 +00:00
Bram Moolenaar
dea5ab0fc5 patch 8.2.4460: Vim9: wrong error for defining dict function
Problem:    Vim9: wrong error for defining dict function.
Solution:   Explicitly check for trying to define a dict function.
            (closes 9827)
2022-02-23 22:12:02 +00:00
Bram Moolenaar
fa02616718 patch 8.2.4459: Vim9: compiling sort() call fails with unknown arguments
Problem:    Vim9: compiling sort() call fails with a funcref that has unknown
            arguments.
Solution:   Do not check the arguments if they are unknown at compile time.
            (closes #9835)
2022-02-23 21:03:32 +00:00
Bram Moolenaar
6e1a38745f patch 8.2.4458: Vim9: compiling filter() call fails with unknown arguments
Problem:    Vim9: compiling filter() call fails with funcref that has unknown
            arguments.
Solution:   Do not check the arguments if they are unknown at compile time.
            (closes #9835)
2022-02-23 19:11:49 +00:00
Bram Moolenaar
33fc4a6307 patch 8.2.4457: the GPM library can only be linked statically
Problem:    The GPM library can only be linked statically.
Solution:   Make it possible to load the GPM library dynamically. (Damien)
2022-02-23 18:07:38 +00:00
Zdenek Dohnal
dd2dfb3cb0 patch 8.2.4456: terminal test may fail on some machines
Problem:    Terminal test may fail on some machines.
Solution:   Increase wait time. (Zdenek Dohnal, closes #9834)
2022-02-23 14:25:17 +00:00
Bram Moolenaar
2007dd49f5 patch 8.2.4455: accepting one and zero for second sort() argument is strange
Problem:    Accepting one and zero for the second sort() argument is strange.
Solution:   Disallow using one and zero in Vim9 script.
2022-02-23 13:17:47 +00:00
zeertzjq
6a8b13614e patch 8.2.4454: resetting cmdwin_type only for one situation
Problem:    Resetting cmdwin_type only for one situation.
Solution:   Reset cmdwin_type before closing windows. (closes #9822)
2022-02-23 12:23:08 +00:00
Bram Moolenaar
4791fcd825 patch 8.2.4453: :helpgrep may free an option that was not allocated
Problem:    :helpgrep may free an option that was not allocated. (Yegappan
            Lakshmanan)
Solution:   Check if the value was allocated.
2022-02-23 12:06:00 +00:00
Bram Moolenaar
2dada73a4e patch 8.2.4452: test for what 8.2.4436 fixes does not check for regression
Problem:    Test for what 8.2.4436 fixes does not check for regression.
Solution:   Set several options. (Ken Takata, closes #9830)
2022-02-23 10:52:41 +00:00
Bram Moolenaar
9cd4c0fb98 patch 8.2.4451: sort() fails when ignoring case
Problem:    sort() fails when ignoring case.
Solution:   Accept a number one argument in sort().
2022-02-22 22:53:10 +00:00
Bram Moolenaar
2afeb40831 patch 8.2.4450: list sort test fails
Problem:    List sort test fails.
Solution:   Pass a valid "how" argument.
2022-02-22 22:17:00 +00:00
Bram Moolenaar
e843efcc35 patch 8.2.4449: vim9: function argument of sort() not checked at compile time
Problem:    vim9: function argument of sort() not checked at compile time.
Solution:   Add a compile time check.
2022-02-22 21:54:44 +00:00
Bram Moolenaar
b2c72359dc patch 8.2.4448: filetype detection is failing
Problem:    Filetype detection is failing.
Solution:   Do not use "s:" where it is no longer allowed.
2022-02-22 21:17:40 +00:00
Bram Moolenaar
afa048f0d4 patch 8.2.4447: Vim9: can still use s:var in a compiled function
Problem:    Vim9: can still use s:var in a compiled function.
Solution:   Disallow using s:var for Vim9 script. (closes #9824)
2022-02-22 20:43:36 +00:00
Bram Moolenaar
fe73255c92 patch 8.2.4446: Vim9: cannot refer to a global function like a local one
Problem:    Vim9: cannot refer to a global function like a local one.
Solution:   When g:name is not a variable but a function, use a function
            reference. (closes #9826)
2022-02-22 19:39:13 +00:00
Bram Moolenaar
29a9e69718 patch 8.2.4445: exit test fails on MS-Windows anyway
Problem:    Exit test fails on MS-Windows anyway.
Solution:   Skip the test on MS-Windows.
2022-02-22 18:48:11 +00:00
Bram Moolenaar
68eab67119 patch 8.2.4444: beep caused by test
Problem:    Beep caused by test.  ASAN reports leaks.
Solution:   Do not put a NL at the end of the script.  Make the text work on
            MS-Windows.  Do not run the test with ASAN.
2022-02-22 17:42:48 +00:00
Bram Moolenaar
2457b2bbc2 patch 8.2.4443: regexp pattern test fails on Mac
Problem:    Regexp pattern test fails on Mac.
Solution:   Do not use a swapfile for the buffer.
2022-02-22 16:19:37 +00:00
Bram Moolenaar
70b9e4f4c3 patch 8.2.4442: test for error reading input fails on MS-Windows
Problem:    Test for error reading input fails on MS-Windows.
Solution:   Don't run the test on MS-Windows.
2022-02-22 15:24:51 +00:00
Bram Moolenaar
16f6c8ac94 patch 8.2.4441: Vim9: function argument of filter() not checked like map()
Problem:    Vim9: function argument of filter() not checked like map().
Solution:   Also check the function argument of filter().
2022-02-22 15:12:14 +00:00
Bram Moolenaar
6456fae9ba patch 8.2.4440: crash with specific regexp pattern and string
Problem:    Crash with specific regexp pattern and string.
Solution:   Stop at the start of the string.
2022-02-22 13:37:31 +00:00
Bram Moolenaar
1349bd712c patch 8.2.4439: accepting "iso8859" 'encoding' as "iso-8859-"
Problem:    Accepting "iso8859" 'encoding' as "iso-8859-".
Solution:   use "iso8859" as "iso-8859-1".
2022-02-22 12:34:28 +00:00
Bram Moolenaar
ca0c1caa36 patch 8.2.4438: crash on exit when using cmdline window
Problem:    Crash on exit when using cmdline window.
Solution:   Reset "cmdwin_type" before exiting. (closes #9817)
2022-02-22 12:08:07 +00:00
K.Takata
0f113e4f7b patch 8.2.4437: vartabs test fails on MS-Windows
Problem:    Vartabs test fails on MS-Windows.
Solution:   Use iso8859-1 'encoding'. (Ken Takata, closes #9818)
2022-02-22 11:04:50 +00:00
Bram Moolenaar
4e889f98e9 patch 8.2.4436: crash with weird 'vartabstop' value
Problem:    Crash with weird 'vartabstop' value.
Solution:   Check for running into the end of the line.
2022-02-21 19:36:12 +00:00
Bram Moolenaar
7842761bba patch 8.2.4435: dead code in checking map() arguments
Problem:    Dead code in checking map() arguments. (Dominique Pellé)
Solution:   Remove the first return statement. (closes #9815)
2022-02-21 18:34:30 +00:00
Sean Dewar
16b51d26fe patch 8.2.4434: duplicate check for cmdline window
Problem:    Duplicate check for cmdline window.
Solution:   Remove the second check. (Sean Dewar, closes #9816)
2022-02-21 17:56:33 +00:00
K.Takata
83e36c8606 patch 8.2.4433: CI: cannot see interface versions for MS-Windows
Problem:    CI: cannot see interface versions for MS-Windows.
Solution:   List the interface versions. (Ken Takata, closes #9811)
2022-02-21 17:49:28 +00:00
Bram Moolenaar
592f625001 patch 8.2.4432: cannot use settabvar() while the cmdline window is open
Problem:    Cannot use settabvar() while the cmdline window is open.
Solution:   Only give an error when actually switching tabpage.
            (closes #9813)
2022-02-21 16:13:49 +00:00
Bram Moolenaar
993faa3405 patch 8.2.4431: unnecessary condition when assigning to a variable
Problem:    Unnecessary condition when assigning to a variable.
Solution:   Remove the condition.
2022-02-21 15:59:11 +00:00
Amon Sha
101979358f patch 8.2.4430: GTK: crash when using 'guiligatures' and reading from stdin
Problem:    GTK: crash when using 'guiligatures' and reading from stdin.
Solution:   Make a copy of the message. (Amon Sha, closes #9719, closes #9814)
2022-02-21 15:07:12 +00:00
Bram Moolenaar
c2f17f7e64 patch 8.2.4429: using script-local function from the wrong script
Problem:    Using script-local function from the wrong script when using a
            partial. (Yegappan Lakshmanan)
Solution:   Include the script ID in the partial name.
2022-02-21 13:13:50 +00:00
Bram Moolenaar
0f6e28f686 patch 8.2.4428: crash when switching tabpage while in the cmdline window
Problem:    Crash when switching tabpage while in the cmdline window.
Solution:   Disallow switching tabpage when in the cmdline window.
2022-02-20 20:49:35 +00:00
Bram Moolenaar
944697ae19 Update runtime files 2022-02-20 19:48:20 +00:00
zeertzjq
ad6c45f625 patch 8.2.4427: getchar() may return modifiers if no character is available
Problem:    getchar() may return modifiers if no character is available.
Solution:   Do not process modifiers when there is no character. (closes #9806)
2022-02-20 19:05:10 +00:00
Bram Moolenaar
c1e6c7bafe patch 8.2.4426: map() function on string and blob does not check types
Problem:    map() function on string and blob does not check argument types at
            compile time.
Solution:   Check string and blob argument types.  Support "0z1234->func()".
2022-02-20 18:26:46 +00:00
Bram Moolenaar
eddd4fc4f6 patch 8.2.4425: map() function does not check function arguments
Problem:    map() function does not check function arguments at compile time.
Solution:   Give an error if the arguments of a map() function are wrong.
2022-02-20 15:52:28 +00:00
NullVoxPopuli
cdf717283c patch 8.2.4424: ".gts" and ".gjs" files are not recognized
Problem:    ".gts" and ".gjs" files are not recognized.
Solution:   Recognize Glimmer flavored typescript and javascript.
            (closes #9799)
2022-02-19 16:35:58 +00:00
Bram Moolenaar
d56eb654f5 patch 8.2.4423: "make nvcmdidxs" fails
Problem:    "make nvcmdidxs" fails.
Solution:   Use "-S" instead of "-u" to source the script.
2022-02-19 16:00:16 +00:00
Bram Moolenaar
adbb383e0f patch 8.2.4422: autochdir test fails on MS-Windows
Problem:    Autochdir test fails on MS-Windows.
Solution:   Expecta nother error on MS-Windows.
2022-02-19 14:49:51 +00:00
Bram Moolenaar
20563e0f84 patch 8.2.4421: some installed files and directories have wrong permissions
Problem:    Some installed files and directories have wrong permissions.
Solution:   Adjust the Makefile and shell to set permissions. (closes #9793)
2022-02-19 13:25:18 +00:00
Ada
a42535340a patch 8.2.4420: menu translations are inconsistent
Problem:    Menu translations are inconsistent.
Solution:   Add a Makefile to convert between encodings. (Ada (Haowen) Yu,
            closes #9801)
2022-02-19 12:06:09 +00:00
Brandon Richardson
a493b6506b patch 8.2.4419: illegal memory access when using 20 highlights
Problem:    Illegal memory access when using exactly 20 highlights.
Solution:   Add one more item in the array. (Brandon Richardson,
            closes #9800)
2022-02-19 11:45:03 +00:00
Bram Moolenaar
5921aeb574 patch 8.2.4418: crash when using special multi-byte character
Problem:    Crash when using special multi-byte character.
Solution:   Don't use isalpha() for an arbitrary character.
2022-02-19 11:20:12 +00:00
Bram Moolenaar
e89bfd212b patch 8.2.4417: using NULL pointer
Problem:    Using NULL pointer.
Solution:   Set offset after checking for NULL pointer.
2022-02-18 18:34:45 +00:00
Bram Moolenaar
1fca5f3e86 patch 8.2.4416: Vim9: using a script-local function requires using "s:"
Problem:    Vim9: using a script-local function requires using "s:" when
            setting 'completefunc'.
Solution:   Do not require "s:" in Vim9 script. (closes #9796)
2022-02-18 17:50:47 +00:00
Bram Moolenaar
b8fb5bb68d patch 8.2.4415: function argument name conflicts with C++ keyword
Problem:    Function argument name conflicts with C++ keyword.
Solution:   Rename the argument.
2022-02-18 13:56:38 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
97b231541d patch 8.2.4414: solidity files are not recognized
Problem:    Solidity files are not recognized.
Solution:   Add the *.sol pattern. (Dundar Goc, closes #9792)
2022-02-18 13:45:55 +00:00
Bram Moolenaar
56acd1f8ed patch 8.2.4413: Vim9: Coverity warns for using NULL pointer
Problem:    Vim9: Coverity warns for using NULL pointer.
Solution:   Give an internal error when funcref function can't be found.
2022-02-18 13:24:52 +00:00
Bram Moolenaar
0257599036 patch 8.2.4412: translation cleanup script does not remove empty lines at end
Problem:    Translation cleanup script does not remove empty lines at end.
Solution:   Remove empty lines at the end. (Ken Takata, closes #9794)
2022-02-18 11:28:29 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
8e5ba693ad patch 8.2.4411: bicep files are not recognized
Problem:    Bicep files are not recognized.
Solution:   Match *.bicep files. (Dundar Goc, closes #9791)
2022-02-17 21:30:26 +00:00
Bram Moolenaar
0c7f2610de patch 8.2.4410: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more tests. Remove dead code.
2022-02-17 19:44:07 +00:00
Bram Moolenaar
6296d1e60e patch 8.2.4409: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more tests.  Fix reported line number.
2022-02-17 16:30:11 +00:00
Bram Moolenaar
ea5c898b5f patch 8.2.4408: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more tests.  Correct error message.  Allow unlet on dict
            with a number key.
2022-02-17 14:42:02 +00:00
Bram Moolenaar
e08be09a08 patch 8.2.4407: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add more tests.  Avoid giving two errors.  Remove dead code.
2022-02-17 13:08:26 +00:00
Yegappan Lakshmanan
2438430863 patch 8.2.4406: expand functions use confusing argument names
Problem:    Expand functions use confusing argument names.
Solution:   Rename "file" to "match".  Refactor some completion code.  Add a
            few more tests. (Yegappan Lakshmanan, closes #9790)
2022-02-17 11:26:42 +00:00
Bram Moolenaar
8329ab79b2 patch 8.2.4405: compiler warning for unused variable without +folding
Problem:    Compiler warning for unused variable without the +folding feature.
            (Tony Mechelynck)
Solution:   Add #ifdef.
2022-02-16 21:51:00 +00:00
Bram Moolenaar
cd1cda2f87 patch 8.2.4404: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add a few specific test cases.
2022-02-16 21:48:25 +00:00
Bram Moolenaar
9437737833 patch 8.2.4403: ml_get error with nested folds and deleting lines
Problem:    ml_get error with nested folds and deleting lines.
Solution:   Correct the last line number before calling hasFoldingWin().
2022-02-16 20:30:52 +00:00
kylo252
ae6f1d8b14 patch 8.2.4402: missing parenthesis may cause unexpected problems
Problem:    Missing parenthesis may cause unexpected problems.
Solution:   Add more parenthesis is macros. (closes #9788)
2022-02-16 19:24:07 +00:00
Bram Moolenaar
d288eaad84 patch 8.2.4401: map listing does not clear the rest of the command line
Problem:    Map listing does not clear the rest of the command line.
Solution:   Call msg_clear_eos(). (closes #5623, closes #5962)
2022-02-16 18:27:55 +00:00
zeertzjq
646bb7247a patch 8.2.4400: MS-Windows: cannot use the mouse in the console with VIMDLL
Problem:    MS-Windows: cannot use the mouse in the console with VIMDLL.
Solution:   use add_char2buf() instead of fix_input_buffer(). (closes #9784,
            closes #9769)
2022-02-16 17:51:47 +00:00
Bram Moolenaar
f9435e49ef patch 8.2.4399: crash after ml_get error
Problem:    Crash after ml_get error.
Solution:   When returning "???" flush the line and set ml_line_lnum.
2022-02-16 16:33:28 +00:00
Yegappan Lakshmanan
b31aec3b93 patch 8.2.4398: some command completion functions are too long
Problem:    Some command completion functions are too long.
Solution:   Refactor code into separate functions.  Add a few more tests.
            (Yegappan Lakshmanan, closes #9785)
2022-02-16 12:44:29 +00:00
Bram Moolenaar
34f8117dec patch 8.2.4397: crash when using many composing characters in error message
Problem:    Crash when using many composing characters in error message.
Solution:   Use mb_cptr2char_adv() instead of mb_ptr2char_adv().
2022-02-16 12:16:19 +00:00
Bram Moolenaar
f5288c5895 patch 8.2.4396: Python3 test fails
Problem:    Python3 test fails.
Solution:   Remove "let".
2022-02-15 21:33:29 +00:00
Bram Moolenaar
8b716f5f22 patch 8.2.4395: some code lines not covered by tests
Problem:    Some code lines not covered by tests.
Solution:   Add a few more test cases.  Fix getting more than one error for
            invalid assignment.
2022-02-15 21:17:56 +00:00
Bram Moolenaar
9fdde7992a patch 8.2.4394: UTF8 select mode test fails on MS-Windows
Problem:    UTF8 select mode test fails on MS-Windows.
Solution:   Revert the #ifdef change.
2022-02-15 19:52:56 +00:00
Bram Moolenaar
6b43471da4 patch 8.2.4393: possible number overflow with nested folds
Problem:    Possible number overflow with nested folds.
Solution:   Avoid a negative line number.
2022-02-15 19:15:22 +00:00
Bram Moolenaar
64d95cfc56 patch 8.2.4392: MS-Windows with VIMDLL: Escaping CSI is wrong
Problem:    MS-Windows with VIMDLL: Escaping CSI is wrong.
Solution:   Put back #ifdef. (Ken Takata, closes #9769)
2022-02-15 17:17:18 +00:00
Bram Moolenaar
0e1f36fc59 patch 8.2.4391: command line executed when typing Esc in the GUI
Problem:    Command line executed when typing Esc in the GUI.
Solution:   Move saving/restoring KeyTyped to build_stl_str_hl().
            (closes #9783)
2022-02-15 16:17:44 +00:00
Bram Moolenaar
e88c6b7a5d patch 8.2.4390: Vim9: list from declaration with inferred type not set
Problem:    Vim9: list from declaration with inferred type does not set the
            type on the value.
Solution:   When inferring the type in a variable declaration also set the
            type of the list or dictionary. (closes #9705)  Do not set the
            type when the member is "any".
2022-02-15 15:37:11 +00:00
Bram Moolenaar
4556a2e868 patch 8.2.4389: screenpos() does not handle a position in a closed fold
Problem:    screenpos() does not handle a position in a closed fold.
Solution:   Check if the position is inside a closed fold. (closes #9778)
2022-02-15 13:40:17 +00:00
zeertzjq
7745f14ef3 patch 8.2.4388: dead code in op_insert()
Problem:    Dead code in op_insert().
Solution:   Remove condition and else block. (closes #9782)
2022-02-15 11:48:22 +00:00
Yegappan Lakshmanan
e3846cf1eb patch 8.2.4387: command line completion doesn't always work properly
Problem:    Command line completion doesn't always work properly.
Solution:   Adjust triggering after a "|".  Add more tests. (Yegappan
            Lakshmanan, closes #9779)
2022-02-15 11:35:54 +00:00
Bram Moolenaar
8991be2ab4 patch 8.2.4386: still cannot build tiny version
Problem:    Still cannot build tiny version.
Solution:   Adjust #ifdefs.
2022-02-14 21:51:46 +00:00
Bram Moolenaar
b5d2039e00 patch 8.2.4385: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Adjust #ifdefs.
2022-02-14 21:42:15 +00:00
Bram Moolenaar
bc51006402 patch 8.2.4384: Vim9: error message not tested, some code not tested
Problem:    Vim9: error message not tested, some code not tested.
Solution:   Add a couple of test cases.  Give an error for a command modifier
            without a command.
2022-02-14 21:19:04 +00:00
Bram Moolenaar
7a3b802bab patch 8.2.4383: Vim9: unused code lines
Problem:    Vim9: unused code lines.
Solution:   Rely on either "cctx" or "cstack" to not be NULL.
2022-02-14 19:53:03 +00:00
Bram Moolenaar
e4835bf340 patch 8.2.4382: a custom 'tabline' may cause Esc to work like Enter
Problem:    A custom 'tabline' may cause Esc to work like Enter on the
            command line when the popup menu is displayed.
Solution:   Save and restore KeyTyped. (closes #9776)
2022-02-14 19:17:53 +00:00
Bram Moolenaar
0e76714e90 patch 8.2.4381: translation file listed twice
Problem:    Translation file listed twice.
Solution:   Remove one entry.
2022-02-14 15:59:05 +00:00
Ada
774e55702f patch 8.2.4380: small differences between Chinese translation files
Problem:    Small differences between Chinese translation files.
Solution:   Add rule for converting UTF-8 to gb2312. (closes #9773)
2022-02-14 15:04:55 +00:00
Bram Moolenaar
55737c2a31 patch 8.2.4379: an empty change is reported to a listener
Problem:    An empty change is reported to a listener.
Solution:   Do not report an empty change. (closes #9768)  Remove unused
            return value.
2022-02-14 14:51:22 +00:00
Christian Brabandt
6dd7424c7e patch 8.2.4378: incsearch HL broken when calling searchcount in 'tabLine'
Problem:    Incsearch highlight broken when calling searchcount() in 'tabLine'
            function. (Mirko Palmer)
Solution:   Save and restore the incsearch state. (Christian Brabandt,
            closes #9763, closes #9633)
2022-02-14 12:44:32 +00:00
ichizok
0cd3e94e2c patch 8.2.4377: CI steps for Windows are a bit unorganized
Problem:    CI steps for Windows are a bit unorganized.
Solution:   Organize CI test steps on Windows. (Ozaki Kiichi, closes #9764)
2022-02-14 11:36:57 +00:00
Yegappan Lakshmanan
9773db6f9b patch 8.2.4376: not enough tests for command line completion
Problem:    Not enough tests for command line completion.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #9771)
2022-02-14 11:10:59 +00:00
Bram Moolenaar
4b1d963972 patch 8.2.4375: ctx_imports is not used
Problem:    ctx_imports is not used.
Solution:   Delete ctx_imports.  Add missing dependency.
2022-02-13 21:51:08 +00:00
Bram Moolenaar
0631bb4ed7 patch 8.2.4374: unreachable code
Problem:    Unreachable code.
Solution:   Remove outdated code lines.
2022-02-13 21:20:21 +00:00
Bram Moolenaar
c87aa34dfd patch 8.2.4373: expression test fails
Problem:    Expression test fails.
Solution:   Make the test work with latest Vim9 syntax.
2022-02-13 20:46:18 +00:00
Bram Moolenaar
299d8e5eec patch 8.2.4372: filetype detection from file contents is in legacy script
Problem:    Filetype detection from file contents is in legacy script.
Solution:   Use a compiled function for filetype detection.
2022-02-13 20:32:02 +00:00
Bram Moolenaar
75e27d78f5 patch 8.2.4371: Vim9: can create a script variable from a legacy function
Problem:    Vim9: can create a script variable from a legacy function.
Solution:   Disallow creating a script variable from a function.
2022-02-13 13:56:29 +00:00
Christian Brabandt
cf6ad8ea8c patch 8.2.4370: MS-Windows: libsodium.dll not included with the installer
Problem:    MS-Windows: libsodium.dll not included with the installer.
Solution:   Add the file to the installer if it exists. (Christian Brabandt,
            closes #9762)
2022-02-13 13:11:32 +00:00
ola.soder@axis.com
f7fbeed0ac patch 8.2.4369: redundant #ifdef argument
Problem:    Redundant #ifdef argument.
Solution:   Remove unused MSWIN. (Ola Söder, closes #9758)
2022-02-13 12:24:21 +00:00
ola.soder@axis.com
e131496ebf patch 8.2.4368: Amiga: a few compiler warnings
Problem:    Amiga: a few compiler warnings.
Solution:   Adjust #ifdefs. Add "UNUSED". (Ola Söder, closes #9756,
            closes #9757)
2022-02-13 12:13:38 +00:00
Bram Moolenaar
4525a57afb patch 8.2.4367: calling in_vim9script() multiple times
Problem:    Calling in_vim9script() multiple times.
Solution:   Call it once and keep the result.
2022-02-13 11:57:33 +00:00
Yegappan Lakshmanan
4d03d87000 patch 8.2.4366: not enough tests for command line completion
Problem:    Not enough tests for command line completion.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #9760)
2022-02-13 11:45:09 +00:00
Bram Moolenaar
cdf0485969 patch 8.2.4365: sticky command modifiers are too sticky
Problem:    sticky command modifiers are too sticky.
Solution:   Do not apply command modifiers to a called function. (closes #9751)
2022-02-12 22:13:06 +00:00
Bram Moolenaar
4549166078 patch 8.2.4364: MS-Windows: still running out of memory for a very long line
Problem:    MS-Windows: still running out of memory for a very long line.
Solution:   Check for negative length.
2022-02-12 21:59:51 +00:00
Bram Moolenaar
8e38555ece patch 8.2.4363: MS-Windows: running out of memory for a very long line
Problem:    MS-Windows: running out of memory for a very long line.
Solution:   Use a 32 bit value for MAXCOL also when ints are 64 bits.
2022-02-12 21:16:21 +00:00
Bram Moolenaar
33f3c59854 patch 8.2.4362: :retab may allocate too much memory
Problem:    :retab may allocate too much memory.
Solution:   Bail out when allocating more than MAXCOL bytes.
2022-02-12 20:46:15 +00:00
Bram Moolenaar
62b191c387 patch 8.2.4361: Vim9: some tests fail
Problem:    Vim9: some tests fail.
Solution:   Fix the tests, mostly by removing "s:".
2022-02-12 20:34:50 +00:00
Bram Moolenaar
a749a42ed2 patch 8.2.4360: Vim9: allowing use of "s:" leads to inconsistencies
Problem:    Vim9: allowing use of "s:" leads to inconsistencies.
Solution:   Disallow using "s:" in Vim9 script at the script level.
2022-02-12 19:52:25 +00:00
Bram Moolenaar
6e28703a8e patch 8.2.4359: crash when repeatedly using :retab
Problem:    crash when repeatedly using :retab.
Solution:   Bail out when the line is getting too long.
2022-02-12 15:42:18 +00:00
Bram Moolenaar
90a57168a4 patch 8.2.4358: Vim9: line number of exception is not set
Problem:    Vim9: line number of exception is not set.
Solution:   Set the line number before throwing an exception. (closes #9755)
2022-02-12 14:23:17 +00:00
Bram Moolenaar
2a9b62dfa2 patch 8.2.4357: sticky command modifiers are too sticky
Problem:    sticky command modifiers are too sticky.
Solution:   Do not apply command modifiers to a sourced script. (closes #9751)
2022-02-12 13:30:17 +00:00
Yegappan Lakshmanan
620d8edba0 patch 8.2.4356: command line completion functions are very long
Problem:    Command line completion functions are very long.
Solution:   Refactor into multiple functions. (Yegappan Lakshmanan,
            closes #9753)
2022-02-12 12:03:07 +00:00
Sean Dewar
0f7ff851cb patch 8.2.4355: unnecessary call to check_colorcolumn()
Problem:    Unnecessary call to check_colorcolumn().
Solution:   Remove the call. (Sean Dewar, closes #9748)
2022-02-12 11:51:25 +00:00
K.Takata
d68b2fc034 patch 8.2.4354: dynamic loading of libsodium not handled properly
Problem:    Dynamic loading of libsodium not handled properly.
Solution:   Fix has() and :version. Show an error message when loading fails.
            Fix memory leaks. (Ken Takata, closes #9754)
2022-02-12 11:18:37 +00:00
Philip H
18f7593e57 patch 8.2.4353: CI does not use the latest Lua and Python
Problem:    CI does not use the latest Lua and Python.
Solution:   Use Lua 5.4.2 and Python 3.10. (closes #9744)
2022-02-12 10:53:07 +00:00
Ananda Umamil
0c3cc2fec3 patch 8.2.4352: ReScript files are not recognized
Problem:    ReScript files are not recognized.
Solution:   Add the *.res and *.resi patterns. (Ananda Umamil, closes #9752)
2022-02-12 10:33:56 +00:00
ichizok
41ee5b1913 patch 8.2.4351: no coverage is measured on MS-Windows CI
Problem:    No coverage is measured on MS-Windows CI.
Solution:   Enable coverage on MS-Windows. (Ozaki Kiichi, closes #9750)
2022-02-12 10:13:13 +00:00
ola.soder@axis.com
29c70f612f patch 8.2.4350: FEAT_GUI_ENABLED defined but never used
Problem:    FEAT_GUI_ENABLED defined but never used.
Solution:   Remove the #define. (Ola Söder, closes #9732)
2022-02-11 21:13:35 +00:00
Bram Moolenaar
c9e3187d05 patch 8.2.4349: FileChangedShell test fails on MS-Windows
Problem:    FileChangedShell test fails on MS-Windows.
Solution:   Skip the test on MS-Windows.
2022-02-11 20:55:16 +00:00
Bram Moolenaar
5b1d6e98c6 patch 8.2.4348: "legacy exe cmd" does not do what one would expect
Problem:    "legacy exe cmd" does not do what one would expect.
Solution:   Apply the "legacy" and "vim9script" command modifiers to the
            argument of ":execute".
2022-02-11 20:33:48 +00:00
ola.soder@axis.com
bd89d44063 patch 8.2.4347: in some build setups UNUSED is not defined
Problem:    In some build setups UNUSED is not defined.
Solution:   Change the logic of how UNUSED is defined. (Ola Söder,
            closes #9734)
2022-02-11 19:27:55 +00:00
Bram Moolenaar
481acb1141 patch 8.2.4346: a custom statusline may cause Esc to work like Enter
Problem:    A custom statusline may cause Esc to work like Enter on the
            command line when the popup menu is displayed.
Solution:   Save and restore KeyTyped. (closes #9749)
2022-02-11 18:51:45 +00:00
Bram Moolenaar
f6246f51e3 patch 8.2.4345: <amatch> is expanded like a file name for DirChangedPre
Problem:    <amatch> is expanded like a file name for DirChangedPre.
Solution:   Do not expand <amatch>. (closes #9742)  Also for the User event.
2022-02-11 16:30:12 +00:00
ola.soder@axis.com
14f23122bf patch 8.2.4344: Amiga: header file included twice
Problem:    Amiga: header file included twice.
Solution:   Remove #include. (Ola Söder, closes #9733)
2022-02-11 16:11:14 +00:00
Rob Pilling
8196e94a8b patch 8.2.4343: when reloading not all properties are detected
Problem:    When reloading not all properties are detected.
Solution:   Add the "edit" value to v:fcs_choice. (Rob Pilling, closes #9579)
2022-02-11 15:12:10 +00:00
Bram Moolenaar
92f645bef7 Update runtime files. (closes #9741) 2022-02-11 13:29:40 +00:00
ichizok
bece72785d patch 8.2.4342: CI will soon switch to other windows version
Problem:    CI will soon switch to other windows version.
Solution:   Use "windows-2019" instead of "windows-latest". (Ozaki Kiichi,
            closes #9740)
2022-02-11 11:09:40 +00:00
Bram Moolenaar
414acd342f patch 8.2.4341: command line not redrawn when finishing popup menu
Problem:    Command line not redrawn when finishing popup menu and the screen
            has scrolled up.
Solution:   Redraw the command line after updating the screen. (closes #9722)
2022-02-10 21:09:45 +00:00
ola.soder@axis.com
949b35d83b patch 8.2.4340: Amiga: mch_can_exe() is not implemented
Problem:    Amiga: mch_can_exe() is not implemented.
Solution:   Implement mch_can_exe() for Amiga OS 4. (Ola Söder, closes #9731)
2022-02-10 20:21:04 +00:00
Yegappan Lakshmanan
560dff49c0 patch 8.2.4339: CTRL-A does not work properly with the cmdline popup menu
Problem:    CTRL-A does not work properly with the cmdline popup menu.
Solution:   Fix issues with CTRL-A.  Add more tests for the cmdline popup
            menu.  Remove TermWait() before VeriryScreenDump().  Refactor the
            cmdline popup code. (Yegappan Lakshmanan, closes #9735)
2022-02-10 19:52:10 +00:00
Bram Moolenaar
74a0a5b26d patch 8.2.4338: an error from an expression mapping messes up the display
Problem:    An error from an expression mapping messes up the display.
Solution:   When the expression results in an empty string return K_IGNORE.
            In cmdline mode redraw the command line. (closes #9726)
2022-02-10 14:07:41 +00:00
Bram Moolenaar
9da17d7c57 Update runtime files 2022-02-09 21:50:44 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
78a8404f8b patch 8.2.4337: part of condition is always true
Problem:    Part of condition is always true.
Solution:   Remove that part of the condition. (closes #9729)
2022-02-09 15:20:39 +00:00
Bram Moolenaar
769f5895eb patch 8.2.4336: using :filter for :scriptnames does not work
Problem:    Using :filter for :scriptnames does not work. (Ben Jackson)
Solution:   Call message_filtered(). (closes #9720)
2022-02-09 14:31:05 +00:00
Bram Moolenaar
28e8f73ae2 patch 8.2.4335: no autocommand event triggered before changing directory
Problem:    No autocommand event triggered before changing directory. (Ronnie
            Magatti)
Solution:   Add DirChangedPre. (closes #9721)
2022-02-09 12:58:20 +00:00
rbtnn
68cc2b8a37 patch 8.2.4334: command line popup menu not positioned correctly
Problem:    Command line popup menu not positioned correctly.
Solution:   Also use vim_strsize() on the existing text. (Naruhiko Nishino,
            closes #9727)
2022-02-09 11:55:47 +00:00
Bram Moolenaar
b6a138eb33 patch 8.2.4333: cstack not always passed to where it is needed
Problem:    cstack not always passed to where it is needed.
Solution:   Pass ctack through functions.
2022-02-08 21:17:22 +00:00
Bram Moolenaar
dce2441a60 patch 8.2.4332: Vim9: incomplete test for existing script variable in block
Problem:    Vim9: incomplete test for existing script variable in block.
Solution:   Add a couple more tests.  Fix uncovered problem.
2022-02-08 20:35:30 +00:00
Bram Moolenaar
3a5988c025 patch 8.2.4331: Vim9: no test for existing script variable in block
Problem:    Vim9: no test for existing script variable in block.
Solution:   Add a test.
2022-02-08 19:23:35 +00:00
Bram Moolenaar
779aeff5c3 patch 8.2.4330: Vim9: no error if script imports itself
Problem:    Vim9: no error if script imports itself.
Solution:   Give an error when a script imports itself.
2022-02-08 19:12:19 +00:00
haya14busa
e023d49937 patch 8.2.4329: no support for end line number and column in 'errorformat'
Problem:    No support for end line number and column in 'errorformat'.
Solution:   Add %e and %k. (closes #9624)
2022-02-08 18:09:29 +00:00
Bram Moolenaar
73a16c22a4 patch 8.2.4328: command line complete matches cleard when typing character
Problem:    Command line complete matches cleard when typing character.
            (Dominique Pellé)
Solution:   Only remove a popup menu if there is one.
2022-02-08 17:40:36 +00:00
Bram Moolenaar
e3537aec2f patch 8.2.4327: may end up with no current buffer
Problem:    May end up with no current buffer.
Solution:   When deleting the current buffer to not pick a quickfix buffer as
            the new current buffer.
2022-02-08 15:05:20 +00:00
zeertzjq
51ab7c7d0d patch 8.2.4326: "o" and "O" copying comment not sufficiently tested
Problem:    "o" and "O" copying comment not sufficiently tested.
Solution:   Add a test case. (closes #9718)
2022-02-08 12:58:37 +00:00
Yegappan Lakshmanan
3908ef5017 patch 8.2.4325: 'wildmenu' only shows few matches
Problem:    'wildmenu' only shows few matches.
Solution:   Add the "pum" option: use a popup menu to show the matches.
            (Yegappan Lakshmanan et al., closes #9707)
2022-02-08 12:08:07 +00:00
Bram Moolenaar
3787f26c2e patch 8.2.4324: Vim9: script-local function name can start with "_"
Problem:    Vim9: script-local function name can start with "_".
Solution:   Check for leading capital after "s:".  Correct error message.
2022-02-07 21:54:01 +00:00
Bram Moolenaar
f681cfb90b patch 8.2.4323: Vim9: nested function name can start with "_"
Problem:    Vim9: nested function name can start with "_".
Solution:   Use same rule for function name for nested functions.
            (closes #9713)
2022-02-07 20:30:57 +00:00
Bram Moolenaar
7aca5ca676 patch 8.2.4322: Vim9: crash when using funcref with closure
Problem:    Vim9: crash when using funcref with closure.
Solution:   Keep a reference to the funcref that has the outer context.
            (closes #9716)
2022-02-07 19:56:43 +00:00
Bram Moolenaar
92368aad61 patch 8.2.4321: Vim9: crash when using a funcref to a closure
Problem:    Vim9: crash when using a funcref to a closure.
Solution:   Copy pt_outer to the new partial. (closes #9714)
2022-02-07 17:50:39 +00:00
qsmodo
28f1a51bde patch 8.2.4320: Athena and Motif: when maximized scrollbar position is wrong
Problem:    Athena and Motif: when maximized scrollbar position is wrong.
Solution:   Implement the scrollbar padding functions. (closes #9712)
2022-02-07 15:57:50 +00:00
Bram Moolenaar
4e713bafc0 patch 8.2.4319: :put does not work properly in compiled function
Problem:    :put does not work properly in compiled function. (John Beckett)
Solution:   Adjust the direction when using line zero.
2022-02-07 15:31:37 +00:00
Bram Moolenaar
54969f4ef5 patch 8.2.4318: various comment and indent mistakes, returning wrong zero
Problem:    Various comment and indent mistakes, returning wrong zero.
Solution:   Fix the mistakes.  Return NULL instead of FAIL.
2022-02-07 13:56:44 +00:00
Bram Moolenaar
63ff72aab9 patch 8.2.4317: MS-Windows: Vim exits when Python 3 initialisation fails
Problem:    MS-Windows: Vim exits when Python 3 initialisation fails.
Solution:   Hook into the exit() function to recover from the failure.
            (Ken Takata, closes #9710)
2022-02-07 13:54:01 +00:00
K.Takata
b247e0622e patch 8.2.4316: __CYGWIN32__ is not defined on 64 bit systems
Problem:    __CYGWIN32__ is not defined on 64 bit systems.
Solution:   Update #ifdefs. (Ken Takata, closes #9709)
2022-02-07 10:45:23 +00:00
zeertzjq
6bf821e8ab patch 8.2.4315: put in Visual mode not fully tested
Problem:    Put in Visual mode not fully tested.
Solution:   Add a few more test cases. (closes #9708)
2022-02-07 10:33:20 +00:00
Bram Moolenaar
8cbf249917 patch 8.2.4314: test fails where lines are skipped
Problem:    Test fails where lines are skipped.
Solution:   Only give an error when not skipping commands.
2022-02-06 20:28:13 +00:00
Bram Moolenaar
5f4ef5f5e5 patch 8.2.4313: Vim9: cannot change type of list after making a slice
Problem:    Vim9: cannot change type of list after making a slice.
Solution:   Adjust the declared member type. (closes #9696)
2022-02-06 18:36:53 +00:00
Bram Moolenaar
107f7325f6 patch 8.2.4312: no error for using :vim9script in a :def function
Problem:    No error for using :vim9script in a :def function.
Solution:   Give an error when compiling.
2022-02-06 17:30:41 +00:00
Bram Moolenaar
160afdb185 patch 8.2.4311: Vim9: changing script variable type not caught compile time
Problem:    Vim9: changing script variable type not caught at compile time.
Solution:   Set the declared type.
2022-02-06 17:17:02 +00:00
Bram Moolenaar
2626d6a71c patch 8.2.4310: Vim9: constant list and dict get a declaration type
Problem:    Vim9: constant list and dict get a declaration type other than
            "any".
Solution:   A constant list and dict have a declared member type "any".
            (closes #9701)
2022-02-06 15:49:35 +00:00
Bram Moolenaar
fe1bfc9b26 patch 8.2.4309: Vim9: crash when using a partial in the wrong context
Problem:    Vim9: crash when using a partial in the wrong context.
Solution:   Don't use an NULL outer pointer. (closes #9706)
2022-02-06 13:55:03 +00:00
Bram Moolenaar
8164f6ea3c patch 8.2.4308: Vim9: cannot list autoload function
Problem:    Vim9: cannot list autoload function.
Solution:   Don't give an error for using # when listing a function.
            (closes #9703)
2022-02-06 13:08:41 +00:00
Bram Moolenaar
0c1550d9e9 patch 8.2.4307: a few more messages should not be translated
Problem:    A few more messages should not be translated.
Solution:   Remove _().
2022-02-06 11:41:57 +00:00
Bram Moolenaar
500761b1cf patch 8.2.4306: no test for fixed perl filetype check
Problem:    No test for fixed perl filetype check.
Solution:   Add a test. Sort test functions.
2022-02-05 20:23:59 +00:00
Bram Moolenaar
e5b7897585 patch 8.2.4305: tex filetype detection fails
Problem:    Tex filetype detection fails.
Solution:   Check value to be positive. (closes #9704)
2022-02-05 19:50:34 +00:00
Bram Moolenaar
00eb99528e patch 8.2.4304: Vim9: slice() makes a copy but doesn't change the type
Problem:    Vim9: slice() makes a copy but doesn't change the type.
Solution:   Change the declared type like copy(). (closes #9696)
2022-02-05 19:23:18 +00:00
Dominique Pelle
cd53eed2c5 patch 8.2.4303: a few messages should not be translated
Problem:    A few messages should not be translated.
Solution:   Remove _(). (Dominique Pellé, closes #9702)
2022-02-05 18:53:06 +00:00
Bram Moolenaar
82e46e5d31 patch 8.2.4302: Vim9: return type of getline() is too strict
Problem:    Vim9: return type of getline() is too strict.
Solution:   Make the declared type list<any>.  Also do this for other
            functions returning a list of a specific type.
2022-02-05 18:12:34 +00:00
Bram Moolenaar
e0c2b2ceaa patch 8.2.4301: Vim9: type error for copy of dict
Problem:    Vim9: type error for copy of dict.
Solution:   Do not use dict<any> but no type. (closes #9696)
2022-02-05 14:05:51 +00:00
Bram Moolenaar
4fa1346bf4 patch 8.2.4300: cannot build tiny version
Problem:    Cannot build tiny version. (Tony Mechelynck)
Solution:   Add #ifdef.
2022-02-05 12:39:24 +00:00
Bram Moolenaar
46f3080e5c patch 8.2.4299: SafeState autocommand interferes with debugging
Problem:    SafeState autocommand interferes with debugging.
Solution:   Do not trigger SafeState while debugging. (closes #9697)
2022-02-05 12:10:52 +00:00
Bram Moolenaar
fc88df42f1 patch 8.2.4298: divide by zero with huge tabstop value
Problem:    Divide by zero with huge tabstop value.
Solution:   Reject tabstop value that overflows to zero.
2022-02-05 11:13:05 +00:00
Bram Moolenaar
21ebb0899e patch 8.2.4297: Vim9: not all code covered by tests
Problem:    Vim9: not all code covered by tests.
Solution:   Add a couple more tests.
2022-02-04 21:58:58 +00:00
Bram Moolenaar
83d0cec956 patch 8.2.4296: Vim9: not all code covered by tests
Problem:    Vim9: not all code covered by tests.
Solution:   Add a few more tests for corner cases.  Fix hang when single quote
            is missing.
2022-02-04 21:17:58 +00:00
Bram Moolenaar
3e79c97c18 Update runtime files; use compiled functions 2022-02-04 19:48:06 +00:00
Bram Moolenaar
a2baa73d1d Update runtime files. 2022-02-04 16:09:54 +00:00
Bram Moolenaar
46950b225f patch 8.2.4295: Vim9: concatenating two lists may result in wrong type
Problem:    Vim9: concatenating two lists may result in wrong type.
Solution:   Remove the type instead of using list<any>. (closes #9692)
2022-02-04 11:36:51 +00:00
K.Takata
972db23279 patch 8.2.4294: MS-Windows: #ifdefs for Cygwin are too complicated
Problem:    MS-Windows: #ifdefs for Cygwin are too complicated.
Solution:   Simplify the conditions. (Ken Takata, closes #9693)
2022-02-04 10:45:38 +00:00
Bram Moolenaar
7676c15879 patch 8.2.4293: Vim9: when copying a list it gets type list<any>
Problem:    Vim9: when copying a list it gets type list<any> even when the
            original list did not have a type.
Solution:   Only set the type when the original list has a type. (closes #9692)
2022-02-03 21:47:34 +00:00
Bram Moolenaar
02a977ea5e patch 8.2.4292: test fails
Problem:    Test fails.
Solution:   Adjust the expected error number.
2022-02-03 21:29:39 +00:00
Bram Moolenaar
5658ca343f patch 8.2.4291: error number used twice
Problem:    Error number used twice.
Solution:   Renumber of of the errors.
2022-02-03 20:09:19 +00:00
K.Takata
a8ec4916ca patch 8.2.4290: MS-Windows: using type casts for timer IDs
Problem:    MS-Windows: using type casts for timer IDs.
Solution:   Remove type casts and use the right type. (Ken Takata,
            closes #9690)  Remove old debug comments.  Rename variables and
            functions.
2022-02-03 14:32:33 +00:00
K.Takata
5411910c77 patch 8.2.4289: warnings reported by MSVC
Problem:    Warnings reported by MSVC.
Solution:   Rename variables and other fixes. (Ken Takata, closes #9689)
2022-02-03 13:33:03 +00:00
K.Takata
6e1d31e9e3 patch 8.2.4288: preprocessor indents are inconsistent
Problem:    Preprocessor indents are inconsistent.
Solution:   Fix preprocessor indents. (Ken Takata, closes #9691)
2022-02-03 13:05:32 +00:00
Bram Moolenaar
2d3ac2e030 patch 8.2.4287: cannot assign empty list with type to variable with list type
Problem:    Cannot assign empty list with any list type to variable with
            specific list type.
Solution:   Use unknown list type for empty list if the specified type is any.
2022-02-03 12:34:05 +00:00
Bram Moolenaar
381692b6f1 patch 8.2.4286: Vim9: strict type checking after copy() and deepcopy()
Problem:    Vim9: strict type checking after copy() and deepcopy().
Solution:   Allow type to change after making a copy. (closes #9644)
2022-02-02 20:01:27 +00:00
Bram Moolenaar
a1c5195180 patch 8.2.4285: Vim9: type of item in for loop not checked properly
Problem:    Vim9: type of item in for loop not checked properly.
Solution:   Adjust the type checking. (closes #9683)
2022-02-02 16:20:26 +00:00
ichizok
ab8f7c50cf patch 8.2.4284: old mac resources files are no longer used
Problem:    Old mac resources files are no longer used.
Solution:   Delete the unused files. (Ozaki Kiichi, closes #9688)
2022-02-02 15:19:38 +00:00
zeertzjq
73257149d7 patch 8.2.4283: using a variable for the return value is not needed
Problem:    Using a variable for the return value is not needed.
Solution:   Return the value directly. (closes #9687)
2022-02-02 13:16:37 +00:00
matveyt
adbb1bf21d patch 8.2.4282: restricted mode requires the -Z command line option
Problem:    Restricted mode requires the -Z command line option.
Solution:   Use restricted mode when $SHELL ends in "nologin" or "false".
            (closes #9681)
2022-02-01 17:26:12 +00:00
Bram Moolenaar
9b4a80a665 patch 8.2.4281: using freed memory with :lopen and :bwipe
Problem:    Using freed memory with :lopen and :bwipe.
Solution:   Do not use a wiped out buffer.
2022-02-01 13:54:17 +00:00
Bram Moolenaar
eb4a9ba293 patch 8.2.4280: list-dict test crashes
Problem:    list-dict test crashes.
Solution:   Check declared type for add().
2022-02-01 12:47:07 +00:00
Bram Moolenaar
8133018f50 patch 8.2.4279: Vim9: cannot change item type with map() after range()
Problem:    Vim9: cannot change item type with map() after range().
Solution:   Split the return type in current type and declared type.
            (closes #9665)
2022-02-01 12:11:58 +00:00
Bram Moolenaar
4e3b318230 patch 8.2.4278: build with Athena GUI fails
Problem:    Build with Athena GUI fails. (Elimar Riesebieter)
Solution:   Add #ifdef.
2022-02-01 10:16:00 +00:00
Bram Moolenaar
68854a82fd patch 8.2.4277: Vim9: an import does not shadow a command modifier
Problem:    Vim9: an import does not shadow a command modifier.
Solution:   Do not accept a command modifier followed by a dot.
2022-01-31 18:59:13 +00:00
Yegappan Lakshmanan
9e0208f51c patch 8.2.4276: separate test function for the GUI scrollbar
Problem:    Separate test function for the GUI scrollbar.
Solution:   Use test_gui_event(). (Yegappan Lakshmanan, closes #9674)
2022-01-31 17:40:55 +00:00
=?UTF-8?q?Bj=C3=B6rn=20Linse?=
223a950a85 patch 8.2.4275: cannot use an autoload function from a package under start
Problem:    Cannot use an autoload function from a package under start.
Solution:   Also look in the "start" package directory. (Bjorn Linse,
            closes #7193)
2022-01-31 17:26:05 +00:00
Doug Kearns
c570e9cf68 patch 8.2.4274: Basic and form filetype detection is incomplete
Problem:    Basic and form filetype detection is incomplete.
Solution:   Add a separate function for .frm files. (Doug Kearns, closes #9675)
2022-01-31 17:09:14 +00:00
Bram Moolenaar
c4573eb12d Update runtime files 2022-01-31 15:40:56 +00:00
Bram Moolenaar
424bcae1fb patch 8.2.4273: the EBCDIC support is outdated
Problem:    The EBCDIC support is outdated.
Solution:   Remove the EBCDIC support.
2022-01-31 14:59:41 +00:00
Bram Moolenaar
eb6c276595 patch 8.2.4272: Vim9 expr test fails without the channel feature
Problem:    Vim9 expr test fails without the channel feature. (Dominique
            Pellé)
Solution:   Remove "g:" before "CheckFeature". (closes #9671)
2022-01-31 13:36:36 +00:00
K.Takata
1f47a287ee patch 8.2.4271: MS-Windows: cannot build with Ruby 3.1.0
Problem:    MS-Windows: cannot build with Ruby 3.1.0.
Solution:   Adjust the DLL name and include directory. (Ken Takata,
            closes #9666)
2022-01-31 13:25:36 +00:00
ichizok
672776dbe8 patch 8.2.4270: generating nv_cmdidxs.h requires building Vim twice
Problem:    Generating nv_cmdidxs.h requires building Vim twice.
Solution:   Move the table into a separate file and use a separate executable
            to extract the command characters. (Ozaki Kiichi, closes #9669)
2022-01-31 12:27:18 +00:00
Bram Moolenaar
48a604845e patch 8.2.4269: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Check for "name" to not be NULL.
2022-01-31 11:44:48 +00:00
ichizok
44d1f89c24 patch 8.2.4268: CI log output is long
Problem:    CI log output is long.
Solution:   Group output in sections. (Ozaki Kiichi, closes #9670)
2022-01-31 11:38:53 +00:00
Bram Moolenaar
4c93aff20f patch 8.2.4267: unused entry in keymap enum
Problem:    Unused entry in keymap enum.
Solution:   Remove the entry.
2022-01-31 11:29:51 +00:00
Bram Moolenaar
5703310e64 patch 8.2.4266: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize saved_did_emsg.
2022-01-30 19:37:52 +00:00
Bram Moolenaar
6a05807092 patch 8.2.4265: autoload tests fails
Problem:    Autoload tests fails.
Solution:   Use export instead of name with #.
2022-01-30 18:56:35 +00:00
Bram Moolenaar
d8fe6d34bb patch 8.2.4264: Vim9: can use old style autoload function name
Problem:    Vim9: can use old style autoload function name.
Solution:   Give an error for old style autoload function name.
2022-01-30 18:40:44 +00:00
Yegappan Lakshmanan
ec3637cbaf patch 8.2.4263: no test for the GUI find/replace dialog
Problem:    No test for the GUI find/replace dialog.
Solution:   Add a test function and a test. (Yegappan Lakshmanan,
            closes #9662)
2022-01-30 18:01:24 +00:00
Bram Moolenaar
44a4d947bb patch 8.2.4262: some search tests fail
Problem:    Some search tests fail.
Solution:   Use a better way to reject searching for the Visual area.
2022-01-30 17:17:41 +00:00
Bram Moolenaar
679d66c2d2 patch 8.2.4261: accessing invalid memory in a regular expression
Problem:    Accessing invalid memory when a regular expression checks the
            Visual area while matching in a string.
Solution:   Do not try matching the Visual area in a string.
2022-01-30 16:42:56 +00:00
Bram Moolenaar
848faddb87 patch 8.2.4260: Vim9: can still use a global function without g:
Problem:    Vim9: can still use a global function without g: at the script
            level.
Solution:   Also check for g: at the script level. (issue #9637)
2022-01-30 15:28:30 +00:00
Yegappan Lakshmanan
06011e1a55 patch 8.2.4259: number of test functions for GUI events is growing
Problem:    Number of test functions for GUI events is growing.
Solution:   Use one function with a dictionary. (Yegappan Lakshmanan,
            closes #9660)
2022-01-30 12:37:29 +00:00
Bram Moolenaar
6970e1e36a patch 8.2.4258: Coverity warns for array overrun
Problem:    Coverity warns for array overrun.
Solution:   Restrict depth to MAXWLEN - 1.
2022-01-30 12:10:39 +00:00
Bram Moolenaar
f10911e5db Update runtime files 2022-01-29 22:20:48 +00:00
Bram Moolenaar
62aec93bfd patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Problem:    Vim9: finding global function without g: prefix but not finding
            global variable is inconsistent.
Solution:   Require using g: for a global function.  Change the vim9.vim
            script into a Vim9 script with exports.  Fix that import in legacy
            script does not work.
2022-01-29 21:45:34 +00:00
K.Takata
135e15251e patch 8.2.4256: MS-Windows: compiler warnings when compiled with /W4
Problem:    MS-Windows: compiler warnings when compiled with /W4.
Solution:   Small adjustments to the code. (Ken Takata, closes #9659)
2022-01-29 15:27:58 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
d5cec1f1f0 patch 8.2.4255: theoretical computation overflow
Problem:    Theoretical computation overflow.
Solution:   Perform multiplication in a wider type. (closes #9657)
2022-01-29 15:19:23 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
f12b7815f6 patch 8.2.4254: using short instead of int
Problem:    Using short instead of int.
Solution:   Use int. (closes #9658)
2022-01-29 15:12:39 +00:00
Bram Moolenaar
37f47958b8 patch 8.2.4253: using freed memory when substitute with function call
Problem:    Using freed memory when substitute uses a recursive function call.
Solution:   Make a copy of the substitute text.
2022-01-29 14:21:51 +00:00
Yegappan Lakshmanan
4dc0dd8699 patch 8.2.4252: generating the normal command table at runtime is inefficient
Problem:    Generating the normal command table at runtime is inefficient.
Solution:   Generate the table with a Vim script and put it in a header file.
            (Yegappan Lakshmanan, closes #9648)
2022-01-29 13:06:40 +00:00
Bram Moolenaar
97c554d514 patch 8.2.4251: vala files are not recognized
Problem:    Vala files are not recognized.
Solution:   Add the *.vala pattern. (closes #9654)
2022-01-29 12:45:47 +00:00
ichizok
24714a1916 patch 8.2.4250: channel out callback test is flaky on Mac
Problem:    Channel out callback test is flaky on Mac.
Solution:   Assign high priority to the test process. (Ozaki Kiichi,
            closes #9653)
2022-01-29 12:10:43 +00:00
Bram Moolenaar
585ee07cfe patch 8.2.4249: the timeout limit for spell suggestions is always 5000
Problem:    The timeout limit for spell suggestions is always 5000 milli
            seconds.
Solution:   Add the "timeout" entry to 'spellsuggest'.
2022-01-29 11:22:17 +00:00
zeertzjq
a0c4e2f2d7 patch 8.2.4248: no proper test for moving the window separator
Problem:    No proper test for moving the window separator.
Solution:   Add a test.  Add comment in code. (closes #9656)
2022-01-29 10:59:53 +00:00
Bram Moolenaar
06f15416bb patch 8.2.4247: stack corruption when looking for spell suggestions
Problem:    Stack corruption when looking for spell suggestions.
Solution:   Prevent the depth increased too much.  Add a five second time
            limit to finding suggestions.
2022-01-29 10:51:59 +00:00
Bram Moolenaar
e96eea7b6a patch 8.2.4246: one error message not in errors.h
Problem:    One error message not in errors.h. (Antonio Colombo)
Solution:   Move the message and rename.
2022-01-28 21:00:51 +00:00
Bram Moolenaar
652dee4486 patch 8.2.4245: ":retab 0" may cause illegal memory access
Problem:    ":retab 0" may cause illegal memory access.
Solution:   Limit the value of 'tabstop' to 10000.
2022-01-28 20:47:49 +00:00
K.Takata
14cbf77845 patch 8.2.4244: MS-Windows: warning from MSVC on debug build
Problem:    MS-Windows: warning from MSVC on debug build.
Solution:   Adjust "/opt"o options.  Remove unused variables.  Make variables
            uppercase for consistency. (Ken Takata, closes #9647)
2022-01-28 18:54:13 +00:00
=?UTF-8?q?Jakub=20Kul=C3=ADk?=
57ff2b7068 patch 8.2.4243: Lua tests fail with Lua 5.4.4
Problem:    Lua tests fail with Lua 5.4.4.
Solution:   Check messages like before Lua 5.4.3. (Jakub Kulík, closes #9652)
2022-01-28 17:20:03 +00:00
Shougo Matsushita
fb55207ed1 patch 8.2.4242: put in Visual mode cannot be repeated
Problem:    Put in Visual mode cannot be repeated.
Solution:   Use "P" to put without yanking the deleted text into the unnamed
            register. (Shougo Matsushita, closes #9591)
2022-01-28 16:01:13 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
420fabcd4f patch 8.2.4241: some type casts are redundant
Problem:    Some type casts are redundant.
Solution:   Remove the type casts. (closes #9643)
2022-01-28 15:28:04 +00:00
Bram Moolenaar
fb80862e49 patch 8.2.4240: error for using flatten() in Vim9 script is unclear
Problem:    Error for using flatten() in Vim9 script is unclear.
Solution:   Add a remark to use flattennew().
2022-01-28 15:01:47 +00:00
Bram Moolenaar
ddd815ba2a patch 8.2.4239: build fails with unusual configuration
Problem:    Build fails with unusual configuration.
Solution:   Adjust #ifdef. (closes #9651)
2022-01-28 14:39:58 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
bd8168c770 patch 8.2.4238: *.tf file could be fileytpe "tf" or "terraform"
Problem:    *.tf file could be fileytpe "tf" or "terraform".
Solution:   Detect the type from the file contents. (closes #9642)
2022-01-28 14:15:09 +00:00
zeertzjq
fbf4f1ca15 patch 8.2.4237: record buffer wrong if character in Select mode was not typed
Problem:    Record buffer wrong if character in Select mode was not typed.
Solution:   Only delete the tail from the record buffer if the character was
            typed. (closes #9650)
2022-01-28 12:50:43 +00:00
Bram Moolenaar
166788c657 patch 8.2.4236: accessing freed memory
Problem:    Accessing freed memory.
Solution:   Set the bh_curr pointer to NULL.
2022-01-27 21:56:40 +00:00
Bram Moolenaar
37cf413e3e patch 8.2.4235: invalid check for NULL pointer
Problem:    Invalid check for NULL pointer.
Solution:   Remove the check.
2022-01-27 20:47:03 +00:00
Bram Moolenaar
b3d83980d2 patch 8.2.4234: test_garbagecollect_now() does not check v:testing
Problem:    test_garbagecollect_now() does not check v:testing as documented.
Solution:   Give an error if v:testing is not set.
2022-01-27 19:59:47 +00:00
Bram Moolenaar
a4bc2dd7cc patch 8.2.4233: crash when recording and using Select mode
Problem:    Crash when recording and using Select mode.
Solution:   When deleting the last recorded character check there is something
            to delete.
2022-01-27 19:27:16 +00:00
Bram Moolenaar
98cd30383a patch 8.2.4232: some compilers don't like a goto label without statement
Problem:    Some compilers don't like a goto label without statement.
Solution:   Return instead of using a goto.
2022-01-27 17:37:41 +00:00
Bram Moolenaar
35c807df1f patch 8.2.4231: Vim9: map() gives type error when type was not declared
Problem:    Vim9: map() gives type error when type was not declared.
Solution:   Only check the type when it was declared, like extend() does.
            (closes #9635)
2022-01-27 16:36:29 +00:00
K.Takata
94373c48e7 patch 8.2.4230: MS-Windows: set_guifontwide() is included but won't work
Problem:    MS-Windows: set_guifontwide() is included but won't work.
Solution:   Include set_guifontwide() only for X11. (Ken Takata, closes #9640)
2022-01-27 15:04:22 +00:00
Bram Moolenaar
745b938a48 patch 8.2.4229: possible crash when invoking timer callback fails
Problem:    Possible crash when invoking timer callback fails.
Solution:   Initialize the typval.  Give an error for an empty callback.
            (closes #9636)
2022-01-27 13:55:35 +00:00
Yegappan Lakshmanan
b0ad2d92fd patch 8.2.4228: no tests for clicking in the GUI tabline
Problem:    No tests for clicking in the GUI tabline.
Solution:   Add test functions to generate the events.  Add tests using the
            functions. (Yegappan Lakshmanan, closes #9638)
2022-01-27 13:16:59 +00:00
Bram Moolenaar
e939f5ebba patch 8.2.4227: Vim9: using "lockvar!" in :def function does not work
Problem:    Vim9: using "lockvar!" in :def function does not work.
Solution:   Add "!" instead of "-1". (closes #9634)
2022-01-26 21:32:59 +00:00
Bram Moolenaar
fc4c44836a patch 8.2.4226: filter-map test fails
Problem:    Filter-map test fails.
Solution:   Only reject number argument in Vim9 script.
2022-01-26 21:17:04 +00:00
Bram Moolenaar
70c43d84be patch 8.2.4225: Vim9: depth argument of :lockvar not parsed in :def function
Problem:    Vim9: depth argument of :lockvar not parsed in :def function.
Solution:   Parse the optional depth argument. (closes #9629)
            Fix that locking doesn't work for a non-materialize list.
2022-01-26 21:01:15 +00:00
Bram Moolenaar
1080c48ec8 patch 8.2.4224: Vim9: no error when using a number for map() second argument
Problem:    Vim9: no error when using a number for map() second argument
Solution:   Disallow number to string conversion. (closes #9630)
2022-01-26 18:26:21 +00:00
K.Takata
1a804528ab patch 8.2.4223: long/int compiler warnings; function arguments swapped
Problem:    Long/int compiler warnings; function arguments swapped.
Solution:   Add type casts.  Swap arguments. (Ken Takata, closes #9632)
2022-01-26 16:45:20 +00:00
K.Takata
47d1666d60 patch 8.2.4222: MS-Windows: clumsy way to suppress progress on CI
Problem:    MS-Windows: clumsy way to suppress progress on CI.
Solution:   Check for "$CI" in the Makefile itself. (Ken Takata, closes #9631)
2022-01-26 16:20:21 +00:00
Yegappan Lakshmanan
a827bf3ea8 patch 8.2.4221: some functions in normal.c are very long
Problem:    Some functions in normal.c are very long.
Solution:   Move code to separate functions. (Yegappan Lakshmanan,
            closes #9628)
2022-01-26 12:14:15 +00:00
K.Takata
250155ae31 patch 8.2.4220: MS-Windows: some old compiler support remains
Problem:    MS-Windows: some old compiler support remains.
Solution:   Remove obsolete compiler support. (Ken Takata, closes #9627)
2022-01-26 11:16:52 +00:00
Bram Moolenaar
44db8213d3 patch 8.2.4219: reading before the start of the line
Problem:    Reading before the start of the line.
Solution:   Check boundary before trying to read the character.
2022-01-25 21:26:17 +00:00
Bram Moolenaar
806d037671 patch 8.2.4218: illegal memory access with bracketed paste in Ex mode
Problem:    Illegal memory access with bracketed paste in Ex mode.
Solution:   Reserve space for the trailing NUL.
2022-01-25 20:45:16 +00:00
Bram Moolenaar
8d02ce1ed7 patch 8.2.4217: illegal memory access when undo makes Visual area invalid
Problem:    Illegal memory access when undo makes Visual area invalid.
Solution:   Correct the Visual area after undo.
2022-01-25 18:24:00 +00:00
Bram Moolenaar
06b77229ca patch 8.2.4216: Vim9: cannot use a function from an autoload import directly
Problem:    Vim9: cannot use a function from an autoload import directly.
Solution:   Add the AUTOLOAD instruction to figure out at runtime.
            (closes #9620)
2022-01-25 15:51:56 +00:00
Bram Moolenaar
dc5490e2cb patch 8.2.4215: illegal memory access when copying lines in Visual mode
Problem:    Illegal memory access when copying lines in Visual mode.
Solution:   Adjust the Visual position after copying lines.
2022-01-25 13:52:53 +00:00
Bram Moolenaar
85b6747abc patch 8.2.4214: illegal memory access with large 'tabstop' in Ex mode
Problem:    Illegal memory access with large 'tabstop' in Ex mode.
Solution:   Allocate enough memory.
2022-01-25 11:55:02 +00:00
K.Takata
76687d2717 patch 8.2.4213: too much code for supporting old MSVC versions
Problem:    Too much code for supporting old MSVC versions.
Solution:   Remove MSVC 2003 support. (Ken Takata, closes #9623)
2022-01-25 10:31:37 +00:00
Bram Moolenaar
1450112eef patch 8.2.4212: window title test still fails in some configurations
Problem:    Window title test still fails in some configurations.
Solution:   Explicitly set the 'title' option.
2022-01-24 22:32:28 +00:00
Bram Moolenaar
3a8ad5918b patch 8.2.4211: window title test still fails in some configurations
Problem:    Window title test still fails in some configurations.
Solution:   Use WaitForAssert().
2022-01-24 22:18:24 +00:00
Bram Moolenaar
a6c09a7c20 patch 8.2.4210: window title test fails in some configurations
Problem:    Window title test fails in some configurations.
Solution:   Only run the test if the title can be obtained.
2022-01-24 22:02:15 +00:00
Bram Moolenaar
3e93a2b075 patch 8.2.4209: partial in 'opfunc' cannot use an imported function
Problem:    partial in 'opfunc' cannot use an imported function.
Solution:   Also expand the function name in a partial. (closes #9614)
2022-01-24 21:28:01 +00:00
Bram Moolenaar
dff97e65eb patch 8.2.4208: using setbufvar() may change the window title
Problem:    Using setbufvar() may change the window title.
Solution:   Do not redraw when creating the autocommand window. (closes #9613)
2022-01-24 20:00:55 +00:00
Bram Moolenaar
50e0525445 patch 8.2.4207: recursion test fails with MSVC
Problem:    Recursion test fails with MSVC.
Solution:   Use a smaller limit for MSVC.
2022-01-24 18:36:39 +00:00
Bram Moolenaar
fe6fb267e6 patch 8.2.4206: condition with many "(" causes a crash
Problem:    Condition with many "(" causes a crash.
Solution:   Limit recursion to 1000.
2022-01-24 18:16:12 +00:00
Yegappan Lakshmanan
4663435074 patch 8.2.4205: the normal_cmd() function is too long
Problem:    The normal_cmd() function is too long.
Solution:   Move parts to separate functions. (Yegappan Lakshmanan,
            closes #9608)
2022-01-24 16:30:30 +00:00
Bram Moolenaar
7924a17791 patch 8.2.4204: screenpos() has non-zero row for invisible text
Problem:    screenpos() has non-zero row for invisible text.
Solution:   Only add the window row when the text is visible. (closes #9618)
2022-01-24 16:15:15 +00:00
zeertzjq
502d8ae3e8 patch 8.2.4203: entering a character with CTRL-V may include modifiers
Problem:    Entering a character with CTRL-V may include modifiers.
Solution:   Reset "mod_mask" when entering a character with digits after
            CTRL-V. (closes #9610)
2022-01-24 15:27:50 +00:00
Bram Moolenaar
acc4b5648b patch 8.2.4202: Vim9: cannot export function that exists globally
Problem:    Vim9: cannot export function that exists globally.
Solution:   When checking if a function already exists only check for
            script-local functions. (closes #9615)
2022-01-24 13:54:45 +00:00
Bram Moolenaar
8e4af851fd patch 8.2.4201: when using the GUI CTRL-Z does not stop gvim
Problem:    When using the GUI CTRL-Z does not stop gvim.
Solution:   When using the GUI set SIGTSTP to SIG_DFL. (Andrew Maltsev,
            closes #9570)
2022-01-24 12:20:45 +00:00
Yegappan Lakshmanan
7e765a39b7 patch 8.2.4200: some tests do not clean up properly
Problem:    Some tests do not clean up properly.
Solution:   Delete created files. (Yegappan Lakshmanan, closes #9611)
2022-01-24 11:40:37 +00:00
K.Takata
c351dc1e0c patch 8.2.4199: MS-Windows: Support for MSVC 2003 is not useful
Problem:    MS-Windows: Support for MSVC 2003 is not useful.
Solution:   Remove the exceptions for MSVC 2003. (Ken Takata, closes #9616)
2022-01-24 11:24:08 +00:00
Bram Moolenaar
058ee7c569 patch 8.2.4198: Vim9: the switch for executing instructions is too long
Problem:    Vim9: the switch for executing instructions is too long.
Solution:   Move some code to separate functions.
2022-01-23 20:00:42 +00:00
Bram Moolenaar
2a7aa83458 patch 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
Problem:    Cannot use an import in the "expr" part of 'spellsuggest'.
Solution:   Set the script context when evaluating "expr" of 'spellsuggest'.
2022-01-23 17:59:06 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
428058ab32 patch 8.2.4196: various file types not recognized
Problem:    Various file types not recognized.
Solution:   Add patterns to recognize more file types (closes #9607)
2022-01-23 17:09:05 +00:00
dbivolaru
79a6e25b79 patch 8.2.4195: resizing terminal may cause to behave like CTRL-Z
Problem:    Resizing terminal may cause to behave like CTRL-Z.
Solution:   Set "got_tstp" only when in_mch_suspend is set. (Dorian Bivolaru,
            closes #9602, closes #9586)
2022-01-23 16:41:14 +00:00
K.Takata
abe628e1bd patch 8.2.4194: MS-Windows: code for calculating font size is duplicated
Problem:    MS-Windows: code for calculating font size is duplicated.
Solution:   Move the code to a function. (Ken Takata, closes #9603)
2022-01-23 16:25:17 +00:00
Bram Moolenaar
f4e88f2152 patch 8.2.4193: cannot use an import in 'charconvert'
Problem:    Cannot use an import in 'charconvert'.
Solution:   Set the script context when evaluating 'charconvert'.  Also expand
            script-local functions in 'charconvert'.
2022-01-23 14:17:28 +00:00
Bram Moolenaar
7ef4a2fe37 patch 8.2.4192: cannot use an import in 'printexpr'
Problem:    Cannot use an import in 'printexpr'.
Solution:   Set the script context when evaluating 'printexpr'.
2022-01-23 13:44:35 +00:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
e15ebeffb3 patch 8.2.4191: json5 files are not recognized
Problem:    json5 files are not recognized.
Solution:   Add a pattern for json5 files. (closes #9601)
2022-01-23 13:05:39 +00:00
zeertzjq
206919191f patch 8.2.4190: all conceal tests are skipped without the screendumps feature
Problem:    All conceal tests are skipped without the screendumps feature.
Solution:   Only skip the tests that use screendumps. (closes #9599)
2022-01-23 12:42:55 +00:00
K.Takata
d1c58999c8 patch 8.2.4189: MS-Windows: code for "old look" is obsolete
Problem:    MS-Windows: code for "old look" is obsolete.
Solution:   Delete obsolete code.  Use "MS Shell Dlg" font. (Ken Takata,
            closes #9596)
2022-01-23 12:31:57 +00:00
Bram Moolenaar
6f4754b9f7 Update runtime files 2022-01-23 12:07:04 +00:00
Tim Pope
bcfa11b7df patch 8.2.4188: not all gitconfig files are recognized
Problem:    Not all gitconfig files are recognized.
Solution:   Add a few more patterns. (Tim Pope, closes #9597)
2022-01-23 11:28:16 +00:00
nobodyatandnothing
ff5cbe8133 patch 8.2.4187: gnuplot file not recognized
Problem:    Gnuplot file not recognized.
Solution:   Recognize ".gnuplot". (closes #9588)
2022-01-23 11:19:37 +00:00
Bram Moolenaar
36c2add7f8 patch 8.2.4186: cannot use an import in 'patchexpr'
Problem:    Cannot use an import in 'patchexpr'.
Solution:   Set the script context when evaluating 'patchexpr'.  Do not
            require 'patchexpr' to return a bool, it was ignored anyway.
2022-01-22 20:55:30 +00:00
Bram Moolenaar
28e60cc088 patch 8.2.4185: cannot use an import in 'indentexpr'
Problem:    Cannot use an import in 'indentexpr'.
Solution:   Set the script context when evaluating 'indentexpr'
2022-01-22 20:32:00 +00:00
Bram Moolenaar
47bcc5f4c8 patch 8.2.4184: cannot use an import in 'includeexpr'
Problem:    Cannot use an import in 'includeexpr'.
Solution:   Set the script context when evaluating 'includeexpr'
2022-01-22 20:19:22 +00:00
Bram Moolenaar
3ba685eeef patch 8.2.4183: cannot use an import in 'formatexpr'
Problem:    Cannot use an import in 'formatexpr'.
Solution:   Set the script context when evaluating 'formatexpr'.
2022-01-22 19:17:31 +00:00
Bram Moolenaar
39b8944539 patch 8.2.4182: memory leak when evaluating 'diffexpr'
Problem:    Memory leak when evaluating 'diffexpr'.
Solution:   Use free_tv() instead of clear_tv().
2022-01-22 18:21:36 +00:00
Bram Moolenaar
7b29f6a394 patch 8.2.4181: Vim9: cannot use an import in 'diffexpr'
Problem:    Vim9: cannot use an import in 'diffexpr'.
Solution:   Set the script context when evaluating 'diffexpr'.  Do not require
            'diffexpr' to return a bool, it was ignored anyway.
2022-01-22 17:58:13 +00:00
Bram Moolenaar
5600a709f4 patch 8.2.4180: 'balloonexpr' is evaluated in the current script context
Problem:    'balloonexpr' is evaluated in the current script context.
Solution:   Use the script context where the option was set.
2022-01-22 15:09:36 +00:00
Bram Moolenaar
9530b580a7 patch 8.2.4179: 'foldtext' is evaluated in the current script context
Problem:    'foldtext' is evaluated in the current script context.
Solution:   Use the script context where the option was set.
2022-01-22 13:39:08 +00:00
Bram Moolenaar
0bfa84916d patch 8.2.4178: Vim9: invalid error for return type of lambda when debugging
Problem:    Vim9: invalid error for return type of lambda when debugging.
Solution:   Do not check the return type of a lambda. (closes #9589)
2022-01-22 12:27:04 +00:00
Bram Moolenaar
b697dc295d patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"
Problem:    Vim9: autoload script not loaded after "vim9script noclear".
Solution:   Check IMP_FLAGS_AUTOLOAD properly.
2022-01-22 11:27:29 +00:00
Bram Moolenaar
3d8e25a6d2 patch 8.2.4176: Vim9: cannot use imported function with call()
Problem:    Vim9: cannot use imported function with call().
Solution:   Translate the function name. (closes #9590)
2022-01-22 11:00:02 +00:00
Bram Moolenaar
0bd663a380 patch 8.2.4175: MS-Windows: runtime check for multi-line balloon is obsolete
Problem:    MS-Windows: runtime check for multi-line balloon is obsolete.
Solution:   Remove the obsolete code. (Ken Takata, closes #9592)
2022-01-22 10:24:47 +00:00
Bram Moolenaar
19e69a6330 patch 8.2.4174: Vim9: can use an autoload name in normal script
Problem:    Vim9: can use an autoload name in normal script.
Solution:   Disallow using an autoload name.
2022-01-21 20:37:05 +00:00
Bram Moolenaar
e70dd11ef4 patch 8.2.4173: cannot use an import in 'foldexpr'
Problem:    Cannot use an import in 'foldexpr'.
Solution:   Set the script context to where 'foldexpr' was set. (closes #9584)
            Fix that the script context was not set for all buffers.
2022-01-21 16:31:11 +00:00
Bram Moolenaar
6517f14165 patch 8.2.4172: filetype detection for BASIC is not optimal
Problem:    Filetype detection for BASIC is not optimal.
Solution:   Improve BASIC filetype detection. (Doug Kearns)
2022-01-21 14:55:13 +00:00
Bram Moolenaar
f0e7e6365e patch 8.2.4171: cannot invoke option function using autoload import
Problem:    Cannot invoke option function using autoload import.
Solution:   Expand the import to an autoload function name. (closes #9578)
2022-01-21 13:29:56 +00:00
K.Takata
b7057bdd09 patch 8.2.4170: MS-Windows: still using old message API calls
Problem:    MS-Windows: still using old message API calls.
Solution:   Call the "W" functions directly. (Ken Takata, closes #9582)
2022-01-21 11:37:07 +00:00
K.Takata
45f9cfbdc7 patch 8.2.4169: MS-Windows: unnessary casts and other minor things
Problem:    MS-Windows: unnessary casts and other minor things.
Solution:   Clean up the MS-Windows code. (Ken Takata, closes #9583)
2022-01-21 11:11:00 +00:00
Bram Moolenaar
e6a4200ff4 patch 8.2.4168: disallowing empty function name breaks existing plugins
Problem:    Disallowing empty function name breaks existing plugins.
Solution:   Allow empty function name in legacy script.
2022-01-21 10:32:58 +00:00
Bram Moolenaar
dd5893be34 patch 8.2.4167: Vim9: error message for old style import
Problem:    Vim9: error message for old style import.
Solution:   Use another error message.  Add a test.
2022-01-20 21:32:54 +00:00
Bram Moolenaar
e615db0604 patch 8.2.4166: undo synced when switching buffer in another window
Problem:    Undo synced when switching buffer in another window.
Solution:   Do not sync undo when not needed. (closes #9575)
2022-01-20 21:00:54 +00:00
Yegappan Lakshmanan
05386ca1d4 patch 8.2.4165: the nv_g_cmd() function is too long
Problem:    The nv_g_cmd() function is too long.
Solution:   Move code to separate functions. (Yegappan Lakshmanan,
            closes #9576)
2022-01-20 20:18:27 +00:00
Bram Moolenaar
6f0ddbf00d patch 8.2.4164: error in legacy code for function shadowing variable
Problem:    Error in legacy code for function shadowing variable.
Solution:   Only give the error in Vim9 script.
2022-01-20 19:56:49 +00:00
Bram Moolenaar
2017d6f3b1 patch 8.2.4163: no error for omitting function name after autoload prefix
Problem:    No error for omitting function name after autoload prefix.
Solution:   Check for missing function name. (issue #9577)
2022-01-20 19:38:46 +00:00
Bram Moolenaar
9c7cae66bc patch 8.2.4162: Vim9: no error for redefining function with export
Problem:    Vim9: no error for redefining function with export.
Solution:   Check for existing function with/without prefix. (closes #9577)
2022-01-20 19:10:25 +00:00
Bram Moolenaar
21f0d6cbca patch 8.2.4161: Vim9: warning for missing white space after imported variable
Problem:    Vim9: warning for missing white space after imported variable.
Solution:   Do not skip white space. (closes #9567)
2022-01-20 17:35:49 +00:00
Shougo Matsushita
4ede01f188 patch 8.2.4160: cannot change the register used for Select mode delete
Problem:    Cannot change the register used for Select mode delete.
Solution:   Make CTRL-R set the register to be used when deleting text for
            Select mode. (Shougo Matsushita, closes #9531)
2022-01-20 15:26:03 +00:00
K.Takata
92000e2e71 patch 8.2.4159: MS-Windows: _WndProc() is very long
Problem:    MS-Windows: _WndProc() is very long.
Solution:   Move code to separate functions. (Ken Takata, closes #9573)
2022-01-20 15:10:57 +00:00
K.Takata
14b8d6ac6b patch 8.2.4158: MS-Windows: memory leak in :browse
Problem:    MS-Windows: memory leak in :browse.
Solution:   Free stuff before returning. (Ken Takata, closes #9574)
2022-01-20 15:05:22 +00:00
ichizok
ae1bd87fe8 patch 8.2.4157: terminal test fails because Windows sets the title
Problem:    Terminal test fails because Windows sets the title.
Solution:   Add the "vterm_title" testing override and use it in the test.
            (Ozaki Kiichi, closes #9556)
2022-01-20 14:57:29 +00:00
Rob Pilling
726f7f91fd patch 8.2.4156: fileinfo message overwrites echo'ed message
Problem:    Fileinfo message overwrites echo'ed message.
Solution:   Reset need_fileinfo when displaying a message. (Rob Pilling,
            closes #9569)
2022-01-20 14:44:38 +00:00
Bram Moolenaar
7e93577a95 patch 8.2.4155: translating strftime() argument results in check error
Problem:    Translating strftime() argument results in check error.
Solution:   Add gettext comment.
2022-01-20 14:25:57 +00:00
Bram Moolenaar
05b2761548 patch 8.2.4154: ml_get error when exchanging windows in Visual mode
Problem:    ml_get error when exchanging windows in Visual mode.
Solution:   Correct end of Visual area when entering another buffer.
2022-01-20 13:32:50 +00:00
K.Takata
4ac893f321 patch 8.2.4153: MS-Windows: Global IME is no longer supported
Problem:    MS-Windows: Global IME is no longer supported.
Solution:   Remove the Global IME implementation. (Ken Takata, closes #9562)
2022-01-20 12:44:28 +00:00
Bram Moolenaar
fc6ccebea6 patch 8.2.4152: block insert with double wide character fails
Problem:    Block insert with double wide character fails.
Solution:   Adjust the expected output.
2022-01-20 12:22:35 +00:00
Bram Moolenaar
57df9e8a9f patch 8.2.4151: reading beyond the end of a line
Problem:    Reading beyond the end of a line.
Solution:   For block insert only use the offset for correcting the length.
2022-01-20 12:10:48 +00:00
Bram Moolenaar
8aa0e6c60d patch 8.2.4150: Coverity warns for using pointer after free
Problem:    Coverity warns for using pointer after free.
Solution:   Swap statements, even though using the pointer is no problem.
2022-01-20 11:27:58 +00:00
Bram Moolenaar
ca34db3bde patch 8.2.4149: test override not restored, autocommand left behind
Problem:    Test override not restored, autocommand left behind.
Solution:   Correct restoring test override.  Delete autocommand afterwards.
2022-01-20 11:17:18 +00:00
Bram Moolenaar
f61c89d2e6 patch 8.2.4148: deleting any mapping may cause <ScritpCmd> to fail
Problem:    Deleting any mapping may cause <ScritpCmd> to not set the script
            context.
Solution:   Only reset last_used_map if it is the deleted mapping.
            (closes #9568)
2022-01-19 22:51:48 +00:00
Bram Moolenaar
bed34f0a8a patch 8.2.4147: E464 does not always include the offending command
Problem:    E464 does not always include the offending command.
Solution:   Add another error message with "%s". (closes #9564)
2022-01-19 20:48:37 +00:00
Bram Moolenaar
f67c717e34 patch 8.2.4146: Vim9: shadowed function can be used in compiled function
Problem:    Vim9: shadowed function can be used in compiled function but not
            at script level.
Solution:   Also give an error in a compiled function. (closes #9563)
2022-01-19 17:23:05 +00:00
Bram Moolenaar
937610bc9f patch 8.2.4145: confusing error when using name of import for a function
Problem:    Confusing error when using name of import for a function.
Solution:   Pass a flag to trans_function_name().
2022-01-19 17:21:29 +00:00
K.Takata
1a8825d7a3 patch 8.2.4144: cannot load libsodium dynamically
Problem:    Cannot load libsodium dynamically.
Solution:   Support dynamic loading on MS-Windows. (Ken Takata, closes #9554)
2022-01-19 13:32:57 +00:00
K.Takata
b0b2b73dca patch 8.2.4143: MS-Windows: IME support for Win9x is obsolete
Problem:    MS-Windows: IME support for Win9x is obsolete.
Solution:   Remove the Win9x code. (Ken Takata, closes #9559)
2022-01-19 12:59:21 +00:00
Bram Moolenaar
b4868eddd9 patch 8.2.4142: build failure with normal features without persistent undo
Problem:    Build failure with normal features without persistent undo.
Solution:   Adjust #ifdef. (closes #9557)
2022-01-19 11:24:40 +00:00
Bram Moolenaar
17dd519633 patch 8.2.4141: Vim9 builtin functions test fails
Problem:    Vim9 builtin functions test fails.
Solution:   Add "scriptversion" item to maparg() result.
2022-01-18 21:42:37 +00:00
Bram Moolenaar
a9528b39a6 patch 8.2.4140: maparg() does not indicate the type of script
Problem:    maparg() does not indicate the type of script where it was defined.
Solution:   Add "scriptversion".
2022-01-18 20:51:35 +00:00
Bram Moolenaar
94075b2b0e patch 8.2.4139: using freed memory in expression abbreviation
Problem:    Using freed memory if an expression abbreviation deletes the
            abbreviation.
Solution:   Do not access the pointer after evaluating the expression.
2022-01-18 20:30:39 +00:00
Bram Moolenaar
ef7aadbe36 patch 8.2.4138: Vim9: no error for return with argument when invalid
Problem:    Vim9: no error for return with argument when the function does not
            return anything.
Solution:   Give an error for the invalid argument. (issue #9497)
2022-01-18 18:46:07 +00:00
Bram Moolenaar
d02dce2bb5 patch 8.2.4137: Vim9: calling import with and without method is inconsistent
Problem:    Vim9: calling import with and without method is inconsistent.
Solution:   Set a flag that a parenthsis follows to compile_load_scriptvar().
            Add some more tests.  Improve error message.
2022-01-18 17:43:04 +00:00
Bram Moolenaar
fd218c8a36 patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful
Problem:    Vim9: the "autoload" argument of ":vim9script" is not useful.
Solution:   Remove the argument. (closes #9555)
2022-01-18 16:26:24 +00:00
Bram Moolenaar
6079da7cfb patch 8.2.4135: Vim9: ":scriptnames" shows unloaded imported autoload script
Problem:    Vim9: ":scriptnames" shows unloaded imported autoload script.
Solution:   Mark the unloaded script with "A". (closes #9552)
2022-01-18 14:16:59 +00:00
Bram Moolenaar
113b8dc111 patch 8.2.4134: MS-Windows: test for import with absolute path fails
Problem:    MS-Windows: test for import with absolute path fails.
Solution:   Handle path starting with slash as an absolute path.
2022-01-18 13:43:58 +00:00
Bram Moolenaar
840f16202e patch 8.2.4133: output of ":scriptnames" goes into the message history
Problem:    output of ":scriptnames" goes into the message history, while this
            des not happen for other commands, such as ":ls".
Solution:   Use msg_outtrans() instead of smsg(). (closes #9551)
2022-01-18 13:34:05 +00:00
Bram Moolenaar
1836d61578 patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Problem:    Vim9: wrong error message when autoload script can't be found.
Solution:   Correct check for using autoload with wrong name.
2022-01-18 13:14:47 +00:00
Bram Moolenaar
cbbc48f64b patch 8.2.4131: Vim9: calling function in autoload import does not work
Problem:    Vim9: calling function in autoload import does not work in a :def
            function.
Solution:   When a variable is not found and a PCALL follows use a funcref.
            (closes #9550)
2022-01-18 12:58:28 +00:00
K.Takata
31dcc8de46 patch 8.2.4130: MS-Windows: MSVC build may have libraries duplicated
Problem:    MS-Windows: MSVC build may have libraries duplicated.
Solution:   Improve the MSVC Makefile. (Ken Takata, closes #9547)
2022-01-18 11:34:57 +00:00
Bram Moolenaar
1247126956 patch 8.2.4129: building with +sound but without +eval fails
Problem:    Building with +sound but without +eval fails. (Dominique Pellé)
Solution:   Disable canberra in tiny and small build. (closes #9548)
2022-01-18 11:11:25 +00:00
Bram Moolenaar
64283d5e1f patch 8.2.4128: crash when method cannot be found
Problem:    Crash when method cannot be found. (Christian J. Robinson)
Solution:   Don't mix up pointer names.
2022-01-18 10:37:29 +00:00
Bram Moolenaar
78f60322f7 patch 8.2.4127: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Add #ifdef.
2022-01-17 22:16:33 +00:00
Bram Moolenaar
afa76e1cf2 patch 8.2.4126: crash on exit when built with dynamic Tcl
Problem:    Crash on exit when built with dynamic Tcl and EXITFREE is defined.
            (Dominique Pellé)
Solution:   Only call Tcl_Finalize() when initialized. (closes #9546)
2022-01-17 21:34:38 +00:00
Bram Moolenaar
b3d9ceed2b patch 8.2.4125: completion tests fail
Problem:    Completion tests fail.
Solution:   Disable error messages while dereferencing the function name.
2022-01-17 21:13:28 +00:00
Bram Moolenaar
6389baa669 patch 8.2.4124: Vim9: method in compiled function may not see script item
Problem:    Vim9: method in compiled function may not see script item.
Solution:   Make sure not to skip to the next line. (closes #9496)
2022-01-17 20:50:40 +00:00
Bram Moolenaar
15d1635e50 patch 8.2.4123: complete function cannot be import.Name
Problem:    Complete function cannot be import.Name.
Solution:   Dereference the function name if needed.  Also: do not see
            "import.Name" as a builtin function. (closes #9541)
2022-01-17 20:09:08 +00:00
Bram Moolenaar
3f3597be3f patch 8.2.4122: ":command Cmd" does not show custom completion argument
Problem:    ":command Cmd" does not show custom completion argument.
Solution:   Show the completion argument when using ":verbose".
2022-01-17 19:06:56 +00:00
Bram Moolenaar
262898ae43 patch 8.2.4121: Visual test fails on MS-Windows
Problem:    Visual test fails on MS-Windows.
Solution:   Set 'isprint' so that the character used is not printable.
2022-01-17 17:52:22 +00:00
Bram Moolenaar
9f8c304c8a patch 8.2.4120: block insert goes over the end of the line
Problem:    Block insert goes over the end of the line.
Solution:   Handle invalid byte better.  Fix inserting the wrong text.
2022-01-17 17:30:21 +00:00
Dominique Pelle
e8741a73e2 patch 8.2.4119: build failure when disabling the channel feature
Problem:    Build failure when disabling the channel feature.
Solution:   Adjust #ifdef. (Dominique Pellé, closes #9545)
2022-01-17 11:23:45 +00:00
Bram Moolenaar
0023f82a76 patch 8.2.4118: using UNUSED for argument that is used
Problem:    Using UNUSED for argument that is used.
Solution:   Remove UNUSED.
2022-01-16 21:54:19 +00:00
Bram Moolenaar
47036b6bd7 patch 8.2.4117: Vim9: wrong white space error after using imported item
Problem:    Vim9: wrong white space error after using imported item.
Solution:   Don't skip over white space. (closes #9544)
2022-01-16 21:18:53 +00:00
Bram Moolenaar
c73499351a patch 8.2.4116: Vim9: cannot use a method with a complex expression in :def
Problem:    Vim9: cannot use a method with a complex expression in a :def
            function.
Solution:   Implement compiling the expression.
2022-01-16 20:59:39 +00:00
Bram Moolenaar
c665dabdf4 patch 8.2.4115: cannot use a method with a complex expression
Problem:    Cannot use a method with a complex expression.
Solution:   Evaluate the expression after "->" and use the result.
2022-01-16 19:38:07 +00:00
Bram Moolenaar
c84287d6d8 patch 8.2.4114: Vim9: type checking for a funcref does not work for method
Problem:    Vim9: type checking for a funcref does not work for when it is
            used in a method.
Solution:   Pass the base to where the type is checked.
2022-01-16 18:06:21 +00:00
Bram Moolenaar
dc98776f89 patch 8.2.4113: typo on DOCMD_RANGEOK results in not recognizing command
Problem:    Typo on DOCMD_RANGEOK results in not recognizing command.
Solution:   Correct the typo. (closes #9539)
2022-01-16 15:52:35 +00:00
Bram Moolenaar
d9b74a2a41 patch 8.2.4112: function not deleted at end of test
Problem:    Function not deleted at end of test.
Solution:   Delete the function.
2022-01-16 15:00:08 +00:00
Bram Moolenaar
d648c01f2f patch 8.2.4111: potential proglem when map is deleted while executing
Problem:    Potential proglem when map is deleted while executing.
Solution:   Reset last used map pointer when deleting a mapping.
2022-01-16 14:58:34 +00:00
Bram Moolenaar
8f9956994d patch 8.2.4110: Coverity warns for using NULL pointer
Problem:    Coverity warns for using NULL pointer.
Solution:   Check "evalarg" is not NULL.  Skip errors when "verbose" is false.
2022-01-16 14:51:30 +00:00
Bram Moolenaar
fd31be29b8 Update runtime files 2022-01-16 14:46:06 +00:00
K.Takata
c81e9bf4f0 patch 8.2.4109: MS-Windows: high dpi support is outdated
Problem:    MS-Windows: high dpi support is outdated.
Solution:   Improve High DPI support by using PerMonitorV2. (closes #9525,
            closes #3102)
2022-01-16 14:15:49 +00:00
Bram Moolenaar
f6ebc82004 patch 8.2.4108: going over the end of the w_lines array
Problem:    Going over the end of the w_lines array.
Solution:   Check not going over the end and limit to Rows. (issue #9540)
2022-01-16 13:58:33 +00:00
Bram Moolenaar
a9725221ac patch 8.2.4107: script context not restored after using <ScriptCmd>
Problem:    Script context not restored after using <ScriptCmd>.
Solution:   Also restore context when not in a script. (closes #9536)
            Add the 'c' flag to feedkeys() to be able to test this.
2022-01-16 13:30:33 +00:00
Bram Moolenaar
fa1a457059 patch 8.2.4106: going over the end of the w_lines array
Problem:    Going over the end of the w_lines array.
Solution:   Break out of the loop when "idx" is too big. (issue #9540)
2022-01-16 11:42:20 +00:00
K.Takata
b5988e3656 patch 8.2.4105: translation related comment in the wrong place
Problem:    Translation related comment in the wrong place.
Solution:   Move it back with the text. (Ken Takata, closes #9537)
2022-01-16 11:25:26 +00:00
Bram Moolenaar
bfac409d0b patch 8.2.4104: Vim9: lower casing the autoload prefix causes problems
Problem:    Vim9: lower casing the autoload prefix causes problems.
Solution:   Always store the prefix with case preserved.
2022-01-16 11:12:12 +00:00
Bram Moolenaar
38ecd97226 patch 8.2.4103: Vim9: variable declared in for loop not initialzed
Problem:    Vim9: variable declared in for loop not initialzed.
Solution:   Always initialze the variable. (closes #9535)
2022-01-15 21:44:44 +00:00
Bram Moolenaar
857c8bb1bb patch 8.2.4102: Vim9: import cannot be used after method
Problem:    Vim9: import cannot be used after method.
Solution:   Recognize an imported function name. (closes #9496)
2022-01-15 21:08:19 +00:00
Bram Moolenaar
d4e2f50901 patch 8.2.4101: warning for unused argument in tiny version
Problem:    Warning for unused argument in tiny version.
Solution:   Add "UNUSED".
2022-01-15 18:48:32 +00:00
Bram Moolenaar
04b871da80 patch 8.2.4100: early return when getting the 'formatlistpat' value
Problem:    Early return when getting the 'formatlistpat' value.
Solution:   Remove the first line. (Christian Brabandt)
2022-01-15 18:31:43 +00:00
Bram Moolenaar
e32c3c462c patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Problem:    Vim9: cannot use Vim9 syntax in mapping.
Solution:   Add <ScriptCmd> to use the script context for a command.
2022-01-15 18:26:04 +00:00
Bram Moolenaar
069613c9e8 patch 8.2.4098: typing "interrupt" at debug prompt may keep exception around
Problem:    Typing "interrupt" at debug prompt may keep exception around,
            causing function calls to fail.
Solution:   Discard any exception at the toplevel. (closes #9532)
2022-01-15 15:23:44 +00:00
Bram Moolenaar
f60a63485e patch 8.2.4097: wrong number in error message on 32 bit system
Problem:    Wrong number in error message on 32 bit system. (John Paul Adrian
            Glaubitz)
Solution:   Add type cast. (closes #9527)
2022-01-15 14:16:37 +00:00
ichizok
1050476ead patch 8.2.4096: Linux CI: unnecessarily installing packages
Problem:    Linux CI: unnecessarily installing packages
Solution:   Only install packages for huge build.  (Ozaki Kiichi,
            closes #9530)
2022-01-15 13:37:14 +00:00
Bram Moolenaar
e3ce17a3ca patch 8.2.4095: sed script not recognized by the first line
Problem:    Sed script not recognized by the first line.
Solution:   Recognize a sed script starting with "#n". (Doug Kearns)
2022-01-15 12:27:09 +00:00
zeertzjq
e1833bfd01 patch 8.2.4094: 'virtualedit' is window-local but using buffer-local enum
Problem:    'virtualedit' is window-local but using buffer-local enum.
Solution:   Use window-local enum. (closes #9529)
2022-01-15 10:52:16 +00:00
Christian Brabandt
c53b467473 patch 8.2.4093: cached breakindent values not initialized properly
Problem:    Cached breakindent values not initialized properly.
Solution:   Initialize and cache formatlistpat. (Christian Brabandt,
            closes #9526, closes #9512)
2022-01-15 10:01:05 +00:00
ichizok
ece07639f4 patch 8.2.4092: MacOS CI: unnecessarily doing "Install packages"
Problem:    MacOS CI: unnecessarily doing "Install packages".
Solution:   Only do "Install packages" for huge build.  (Ozaki Kiichi,
            closes #9521)
2022-01-14 21:28:59 +00:00
zeertzjq
0f112052ac patch 8.2.4091: virtcol is recomputed for statusline unnecessarily
Problem:    Virtcol is recomputed for statusline unnecessarily.
Solution:   Just use "w_virtcol". (closes #9523)
2022-01-14 20:11:38 +00:00
Evgeni Chasnovski
26ebf1f036 patch 8.2.4090: after restoring a session buffer order can be quite different
Problem:    After restoring a session buffer order can be quite different.
Solution:   Create buffers first. (Evgeni Chasnovski, closes #9520)
2022-01-14 13:19:43 +00:00
Bram Moolenaar
7bfa6d698e patch 8.2.4089: terminal test for current directory fails on FreeBSD
Problem:    Terminal test for current directory fails on FreeBSD.
Solution:   Skip the test.
2022-01-14 12:06:47 +00:00
Erik Auerswald
c0a1d370fa patch 8.2.4088: xxd cannot output everything in one line
Problem:    Xxd cannot output everything in one line.
Solution:   Make zero columns mean infinite columns. (Erik Auerswald,
            closes #9524)
2022-01-14 11:58:48 +00:00
Bram Moolenaar
3e4fa3d7d3 patch 8.2.4087: cannot test items from an autoload script easily
Problem:    Cannot test items from an autoload script easily.
Solution:   Add the "autoload" value for test_override().
2022-01-13 22:05:09 +00:00
Bram Moolenaar
d9d2fd0aa3 patch 8.2.4086: "cctx" argument of find_func_even_dead() is unused
Problem:    "cctx" argument of find_func_even_dead() is unused.
Solution:   Remove the argument.
2022-01-13 21:15:21 +00:00
Bram Moolenaar
c43e6235c7 patch 8.2.4085: Vim9: no test for using import in legacy script
Problem:    Vim9: no test for using import in legacy script.
Solution:   Add a test.
2022-01-13 20:51:56 +00:00
Bram Moolenaar
130f65d46b patch 8.2.4084: memory leak when looking for autoload prefixed variable
Problem:    Memory leak when looking for autoload prefixed variable.
Solution:   Free the concatenated string.
2022-01-13 20:39:41 +00:00
Bram Moolenaar
0e3e7ba05f patch 8.2.4083: Vim9: no test for "vim9script autoload' using script variable
Problem:    Vim9: no test for "vim9script autoload' and using script variable
            in the same script.
Solution:   Add a simple test.  Fix uncovered problem.
2022-01-13 20:18:56 +00:00
Bram Moolenaar
3049fcf0a1 patch 8.2.4082: check for autoload file name and prefix fails
Problem:    Check for autoload file name and prefix fails. (Christian J.
            Robinson)
Solution:   Only lower case the prefix on systems where the file name is not
            case sensitive.
2022-01-13 19:25:50 +00:00
ichizok
4050305bfd patch 8.2.4081: CodeQL reports problem in if_cscope causing it to fail
Problem:    CodeQL reports problem in if_cscope causing it to fail.
Solution:   Use execvp() instead of execl().  Merge the header file into the
            source file. (Ozaki Kiichi, closes #9519)
2022-01-13 18:09:11 +00:00
Erik Auerswald
a00e622a29 patch 8.2.4080: not sufficient test coverage for xxd
Problem:    Not sufficient test coverage for xxd.
Solution:   Add a few more test cases. (Erki Auerswald, closes #9515)
2022-01-13 17:42:28 +00:00
K.Takata
33b25d1317 patch 8.2.4079: MS-Windows: "gvim --version" didn't work with VIMDLL
Problem:    MS-Windows: "gvim --version" didn't work when build with VIMDLL.
Solution:   Adjust #ifdef. (Ken Takata, closes #9517)
2022-01-13 16:06:45 +00:00
Bram Moolenaar
ced2b38a56 patch 8.2.4078: terminal test for current directory not used on FreeBSD
Problem:    Terminal test for current directory not used on FreeBSD.
Solution:   Make it work on FreeBSD. (Ozaki Kiichi, closes #9516) Add
            TermWait() inside Run_shell_in_terminal() as a generic solution.
2022-01-13 15:25:32 +00:00
Bram Moolenaar
8d9e470aa9 patch 8.2.4077: not all Libsensors files are recognized
Problem:    Not all Libsensors files are recognized.
Solution:   Add "sensors.d/*" pattern. (Doug Kearns)
2022-01-13 14:49:10 +00:00
Bram Moolenaar
71930f174d patch 8.2.4076: memory leak in autoload import
Problem:    Memory leak in autoload import.
Solution:   Do not overwrite the autoload prefix.
2022-01-13 13:47:43 +00:00
Bram Moolenaar
78a70533c3 patch 8.2.4075: test failures
Problem:    Test failures.
Solution:   Change check for NULL pointer.
2022-01-13 13:24:34 +00:00
Bram Moolenaar
de05bb2573 patch 8.2.4074: going over the end of NameBuff
Problem:    Going over the end of NameBuff.
Solution:   Check length when appending a space.
2022-01-13 13:08:14 +00:00
Bram Moolenaar
54598066ca patch 8.2.4073: Coverity warns for using NULL pointer
Problem:    Coverity warns for using NULL pointer.
Solution:   Bail out when running out of memory. Check for running over end of
            a string.
2022-01-13 12:05:09 +00:00
Bram Moolenaar
d041f4208b patch 8.2.4072: Vim9: compiling function fails when autoload is not loaded
Problem:    Vim9: compiling function fails when autoload script is not loaded
            yet.
Solution:   Depend on runtime loading.
2022-01-12 19:54:00 +00:00
Bram Moolenaar
53c296112e patch 8.2.4071: Vim9: no detection of return in try/endtry
Problem:    Vim9: no detection of return in try/endtry. (Dominique Pellé)
Solution:   Check if any of the blocks inside try/endtry did not end in
            return.
2022-01-12 16:18:18 +00:00
Dominique Pelle
f5d639a8af patch 8.2.4070: using uninitialized memory when reading empty file
Problem:    Using uninitialized memory when reading empty file.
Solution:   Check for empty file before checking for NL. (Dominique Pellé,
            closes #9511)
2022-01-12 15:24:40 +00:00
Bram Moolenaar
5d9826973d patch 8.2.4069: Vim9: import test fails on MS-Windows
Problem:    Vim9: import test fails on MS-Windows.
Solution:   Ignore case.  Adjust test to avoid name that only differs in case.
2022-01-12 15:15:27 +00:00
Bram Moolenaar
f479cac084 patch 8.2.4068: Vim9: import test fails
Problem:    Vim9: import test fails.
Solution:   Add missing change.
2022-01-12 12:54:55 +00:00
Bram Moolenaar
f111cdfae6 patch 8.2.4067: Vim9: cannot call imported function with :call
Problem:    Vim9: cannot call imported function with :call. (Drew Vogel)
Solution:   Translate the function name. (closes #9510)
2022-01-12 12:48:17 +00:00
Bram Moolenaar
17d36cbcd3 patch 8.2.4066: Vim9: imported autoload script loaded again
Problem:    Vim9: imported autoload script loaded again.
Solution:   Do not create a new imported_T every time.
2022-01-12 11:46:40 +00:00
Bram Moolenaar
3cf21b3051 patch 8.2.4065: computation overflow with large cound for :yank
Problem:    Computation overflow with large cound for :yank.
Solution:   Avoid an overflow.
2022-01-11 19:34:16 +00:00
Elwardi
2284f6cca3 patch 8.2.4064: foam files are not detected
Problem:    Foam files are not detected.
Solution:   Detect the foam filetype by the path and file contents. (Mohammed
            Elwardi Fadeli, closes #9501)
2022-01-11 18:14:23 +00:00
Bram Moolenaar
b8822442d7 patch 8.2.4063: Vim9: exported function in autoload script not found
Problem:    Vim9: exported function in autoload script not found. (Yegappan
            Lakshmanan)
Solution:   Use the autoload prefix to search for the function.
2022-01-11 15:24:05 +00:00
Bram Moolenaar
0bbca540f7 patch 8.2.4062: match highlighting of tab too short
Problem:    Match highlighting of tab too short.
Solution:   Do not stop match highlighting if on a Tab. (Christian Brabandt,
            closes #9507, closes #9500)
2022-01-11 13:14:54 +00:00
ichizok
0d47ad4027 patch 8.2.4061: codecov bash script is deprecated
Problem:    Codecov bash script is deprecated.
Solution:   Use the codecov action. (Ozaki Kiichi, closes #9505)
2022-01-11 13:05:26 +00:00
Bram Moolenaar
d6f27c66cc patch 8.2.4060: win_execute() slow on systems where getcwd()/chdir() is slow
Problem:    win_execute() is slow on systems where getcwd() or chdir() is
            slow. (Rick Howe)
Solution:   Avoid using getcwd() and chdir() if no local directory is used and
            'acd' is not set. (closes #9504)
2022-01-11 12:37:20 +00:00
Bram Moolenaar
19db9e6ba7 patch 8.2.4059: Vim9: an expression of a map cannot access script-local items
Problem:    Vim9: an expression of a map cannot access script-local items.
            (Maxim Kim)
Solution:   Use the script ID of where the map was defined.
2022-01-11 11:58:19 +00:00
Bram Moolenaar
762838218f patch 8.2.4058: Vim9: import test failure in wrong line
Problem:    Vim9: import test failure in wrong line.
Solution:   Adjust line number.
2022-01-10 21:39:03 +00:00
Bram Moolenaar
160aa86a9d patch 8.2.4057: Vim9: not fully implementing the autoload mechanism
Problem:    Vim9: not fully implementing the autoload mechanism.
Solution:   Allow for exporting a legacy function.  Improve test coverage.
2022-01-10 21:29:57 +00:00
Bram Moolenaar
6990b78f25 patch 8.2.4056: Vim9: memory leak when exporting function in autoload script
Problem:    Vim9: memory leak when exporting function in autoload script.
Solution:   Fee the name if replacing it.
2022-01-10 19:21:06 +00:00
Bram Moolenaar
5e6b9882fe patch 8.2.4055: Vim9: line break in expression causes v:errmsg to be fillec
Problem:    Vim9: line break in expression causes v:errmsg to be filled.
            (Yegappan Lakshmanan)
Solution:   Do not give an error when skipping over an expression.
2022-01-10 18:50:52 +00:00
Bram Moolenaar
577bd85d55 patch 8.2.4054: Vim9 script test fails
Problem:    Vim9 script test fails.
Solution:   Add missing change.
2022-01-10 18:42:52 +00:00
Bram Moolenaar
fe2ef0b2cd patch 8.2.4053: Vim9: autoload mechanism doesn't fully work yet
Problem:    Vim9: autoload mechanism doesn't fully work yet.
Solution:   Define functions and variables with their autoload name, add the
            prefix when calling a function, find the variable in the table of
            script variables.
2022-01-10 18:08:00 +00:00
Daniel Steinberg
ee63031b57 patch 8.2.4052: not easy to resize a window from a plugin
Problem:    Not easy to resize a window from a plugin.
Solution:   Add win_move_separator() and win_move_statusline() functions.
            (Daniel Steinberg, closes #9486)
2022-01-10 13:36:34 +00:00
Bram Moolenaar
b06cfcf5a3 patch 8.2.4051: compiler complains about possibly uninitialized variable
Problem:    Compiler complains about possibly uninitialized variable.
Solution:   Add code to avoid a compiler warning. (John Marriott)
2022-01-10 11:26:33 +00:00
Bram Moolenaar
dc4451df61 patch 8.2.4050: Vim9: need to prefix every item in an autoload script
Problem:    Vim9: need to prefix every item in an autoload script.
Solution:   First step in supporting "vim9script autoload" and "import
            autoload".
2022-01-09 21:36:37 +00:00
Bram Moolenaar
5f25c38550 patch 8.2.4049: Vim9: reading before the start of the line with "$"
Problem:    Vim9: reading before the start of the line with "$" by itself.
Solution:   Do not subtract one when reporting the error.
2022-01-09 13:36:28 +00:00
Dominique Pelle
c14f667626 patch 8.2.4048: gcc complains about use of "%p" in printf
Problem:    gcc complains about use of "%p" in printf.
Solution:   Add (void *) typecast. (Dominique Pellé, closes #9494)
2022-01-09 12:57:48 +00:00
Dominique Pelle
f85a424c83 patch 8.2.4047: depending on the build features error messages are unused
Problem:    Depending on the build features error messages are unused.
Solution:   Add #ifdefs. (Dominique Pellé, closes #9493)
2022-01-09 12:49:31 +00:00
Bram Moolenaar
2f0936cb9a Update runtime files 2022-01-08 21:51:59 +00:00
Bram Moolenaar
b2810f123c patch 8.2.4046: some error messages not in the right place
Problem:    Some error messages not in the right place.
Solution:   Adjust the errors file.  Fix typo.
2022-01-08 21:38:52 +00:00
Yegappan Lakshmanan
782b43d894 patch 8.2.4045: some global functions are only used in one file
Problem:    Some global functions are only used in one file.
Solution:   Make the functions static. (Yegappan Lakshmanan, closes #9492)
2022-01-08 18:43:40 +00:00
Bram Moolenaar
7c24dfddc2 patch 8.2.4044: Vim9: no error when importing the same script twice
Problem:    Vim9: no error when importing the same script twice.
Solution:   Give an error, unless it is a reload.
2022-01-08 17:03:55 +00:00
Bram Moolenaar
04935fb17e patch 8.2.4043: using int for second argument of ga_init2()
Problem:    Using int for second argument of ga_init2().
Solution:   Remove unnessary type cast (int) when using sizeof().
2022-01-08 16:19:22 +00:00
Bram Moolenaar
1433672568 patch 8.2.4042: Vim9: build error
Problem:    Vim9: build error.
Solution:   Use grow array instead of character pointer.
2022-01-08 16:02:59 +00:00
Bram Moolenaar
aa9b3cacd5 patch 8.2.4041: using unitialized pointer
Problem:    Using unitialized pointer.
Solution:   Store "ht" when variable is in another script.
2022-01-08 15:44:22 +00:00
Bram Moolenaar
9f1a39a5d1 patch 8.2.4040: keeping track of allocated lines is too complicated
Problem:    Keeping track of allocated lines in user functions is too
            complicated.
Solution:   Instead of freeing individual lines keep them all until the end.
2022-01-08 15:39:39 +00:00
Bram Moolenaar
67ffb41786 patch 8.2.4039: the xdiff library is linked in even when not used
Problem:    The xdiff library is linked in even when not used.
Solution:   Use configure to decide whether xdiff object files are included.
2022-01-08 13:36:57 +00:00
Dominique Pelle
748b308eeb patch 8.2.4038: various code not used when features are disabled
Problem:    Various code not used when features are disabled.
Solution:   Add #ifdefs. (Dominique Pellé, closes #9491)
2022-01-08 12:41:16 +00:00
Yegappan Lakshmanan
370791465e patch 8.2.4037: Insert mode completion is insufficiently tested
Problem:    Insert mode completion is insufficiently tested.
Solution:   Add more tests.  Fix uncovered memory leak. (Yegappan Lakshmanan,
            closes #9489)
2022-01-08 10:38:48 +00:00
Bram Moolenaar
d844862bce patch 8.2.4036: Vim9: script test file is getting too long
Problem:    Vim9: script test file is getting too long.
Solution:   Split the import/export functionality to a separate file.
2022-01-07 21:39:52 +00:00
Bram Moolenaar
48d0ac775c patch 8.2.4035: timer triggered at the debug prompt may cause trouble
Problem:    Timer triggered at the debug prompt may cause trouble.
Solution:   Do not trigger any timer at the debug prompt. (closes #9481)
2022-01-07 20:40:08 +00:00
Bram Moolenaar
62a099cc6d patch 8.2.4034: Coverity warns for possibly using a NULL pointer
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Check v_partial is not NULL.
2022-01-07 20:18:16 +00:00
zeertzjq
a4c96252b1 patch 8.2.4033: running filetype tests leaves directory behind
Problem:    Running filetype tests leaves directory behind.
Solution:   Delete the top directory. (closes #9483)
2022-01-07 20:07:46 +00:00
ichizok
e12406526a patch 8.2.4032: ATTRIBUTE_NORETURN is not needed
Problem:    ATTRIBUTE_NORETURN is not needed.
Solution:   Use NORETURN(). (Ozaki Kiichi, closes #9487)
2022-01-07 20:01:07 +00:00
Bram Moolenaar
d1f34e64f0 patch 8.2.4031: crash in xterm with only two lines
Problem:    Crash in xterm with only two lines. (Dominique Pellé)
Solution:   Only perform xterm compatibility test if possible. (closes #9488)
2022-01-07 19:24:20 +00:00
Bram Moolenaar
71f21938bc patch 8.2.4030: a script local funcref is not found from a mapping
Problem:    A script local funcref is not found from a mapping.
Solution:   When looking for a function, also find a script-local funcref.
            (closes #9485)
2022-01-07 18:20:55 +00:00
Bram Moolenaar
b2d85e3784 patch 8.2.4029: debugging NFA regexp my crash, cached indent may be wrong
Problem:    Debugging NFA regexp my crash, cached indent may be wrong.
Solution:   Fix some debug warnings in the NFA regexp code.  Make sure log_fd
            is set when used.  Fix breakindent and indent caching. (Christian
            Brabandt, closes #9482)
2022-01-07 16:55:32 +00:00
Bram Moolenaar
cb1956d6f2 patch 8.2.4028: ml_get error with :doautoall and Visual area
Problem:    ml_get error with :doautoall and Visual area. (Sean Dewar)
Solution:   Disable Visual mode while executing autocommands.
2022-01-07 15:45:18 +00:00
Bram Moolenaar
2b04d5f1ef patch 8.2.4027: import test fails on MS-Windows
Problem:    Import test fails on MS-Windows.
Solution:   Use a different directory name.
2022-01-07 14:39:56 +00:00
Bram Moolenaar
e664a32701 patch 8.2.4026: ml_get error with specific win_execute() command
Problem:    ml_get error with specific win_execute() command. (Sean Dewar)
Solution:   Check cursor and Visual area are OK.
2022-01-07 14:08:03 +00:00
Bram Moolenaar
834d41853e patch 8.2.4025: error for import not ending in .vim does not work for .vimrc
Problem:    Error for import not ending in .vim does not work for .vimrc.
Solution:   Check that .vim is the end. (closes #9484)
2022-01-07 13:38:24 +00:00
Bram Moolenaar
32884ad753 patch 8.2.4024: confusing error message if imported name is used directly
Problem:    Confusing error message if imported name is used directly.
Solution:   Give a better error message.
2022-01-07 12:45:29 +00:00
Bram Moolenaar
a909c48bec patch 8.2.4023: using uninitialized variable
Problem:    Using uninitialized variable.
Solution:   Initialize "ufunc" also when an item is not exported.
2022-01-06 22:07:57 +00:00
Bram Moolenaar
11de43d2d4 patch 8.2.4022: two error messages in the wrong file
Problem:    Two error messages in the wrong file.
Solution:   Use the error message from errors.h.
2022-01-06 21:41:11 +00:00
Bram Moolenaar
2ef01d929d patch 8.2.4021: missing part of the :import changes
Problem:    Missing part of the :import changes.
Solution:   Add changes in vim9cmds.c.
2022-01-06 21:38:11 +00:00
Bram Moolenaar
84c62d59a3 patch 8.2.4020: debugger test fails
Problem:    Debugger test fails.
Solution:   Fix import statement.
2022-01-06 21:31:19 +00:00
Bram Moolenaar
d5f400c607 patch 8.2.4019: Vim9: import mechanism is too complicated
Problem:    Vim9: import mechanism is too complicated.
Solution:   Do not use the Javascript mechanism but a much simpler one.
2022-01-06 21:10:28 +00:00
Bram Moolenaar
18f4740f04 patch 8.2.4018: ml_get error when win_execute redraws with Visual selection
Problem:    ml_get error when win_execute redraws with Visual selection.
Solution:   Disable Visual area temporarily. (closes #9479)
2022-01-06 13:24:51 +00:00
Dominique Pelle
a33737b6d8 patch 8.2.4017: gcc warns for misleading indent in Athena menu code
Problem:    Gcc warns for misleading indent in Athena menu code.
Solution:   Add curlies around the two statements. (Dominique Pellé,
            closes #9480)
2022-01-06 12:35:31 +00:00
Bram Moolenaar
58493cfae2 patch 8.2.4016: Vim9: incorrect error for argument that is shadowing var
Problem:    Vim9: incorrect error for argument that is shadowing var.
Solution:   Ignore variable that is not in block where the function was
            defined.
2022-01-06 12:23:30 +00:00
Bram Moolenaar
269dc63618 patch 8.2.4015: build failure with tiny features
Problem:    Build failure with tiny features. (Tony Mechelynck)
Solution:   Adjust #ifdefs.
2022-01-06 11:43:21 +00:00
Bram Moolenaar
c689f8c3d9 patch 8.2.4014: git and gitcommit file types not properly recognized
Problem:    Git and gitcommit file types not properly recognized.
Solution:   Adjust filetype detection. (Tim Pope, closes #9477)
2022-01-05 20:56:38 +00:00
Bram Moolenaar
e60b3c47d7 patch 8.2.4013: build failure without the spell feature
Problem:    Build failure without the spell feature.
Solution:   Adjust #ifdefs.
2022-01-05 20:40:34 +00:00
Bram Moolenaar
d82a47dd04 patch 8.2.4012: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move the last error messages to errors.h.
2022-01-05 20:24:39 +00:00
Bram Moolenaar
bb8cac56d9 patch 8.2.4011: test fails because of changed error number
Problem:    Test fails because of changed error number.
Solution:   Restore old duplicate error message.
2022-01-05 18:16:53 +00:00
Bram Moolenaar
9d00e4a814 patch 8.2.4010: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-05 17:49:15 +00:00
Bram Moolenaar
d3a117814d patch 8.2.4009: reading one byte beyond the end of the line
Problem:    Reading one byte beyond the end of the line.
Solution:   Check for NUL byte first.
2022-01-05 16:50:40 +00:00
Bram Moolenaar
677658ae49 patch 8.2.4008: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-05 16:09:06 +00:00
matveyt
8e7d9db32b patch 8.2.4007: session does not restore help buffer properly
Problem:    Session does not restore help buffer properly when "options' is
            missing from 'sessionoptions'.
Solution:   Use a ":help" command to create the help window. (closes #9475,
            closes #9458, closes #9472)
2022-01-05 14:01:30 +00:00
Bram Moolenaar
c653e4a2bd patch 8.2.4006: Vim9: crash when declaring variable on the command line
Problem:    Vim9: crash when declaring variable on the command line.
Solution:   Use a temporary type list. (closes #9474)
2022-01-05 10:16:30 +00:00
Bram Moolenaar
a6f7929e62 patch 8.2.4005: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-04 21:30:47 +00:00
Bram Moolenaar
548911ee14 patch 8.2.4004: old compiler complains about struct init with variable
Problem:    Old compiler complains about struct init with variable.
Solution:   Set the struct member later. (John Marriott)
2022-01-04 20:05:04 +00:00
Bram Moolenaar
d88be5be80 patch 8.2.4003: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-04 19:57:55 +00:00
zeertzjq
6cac77016b patch 8.2.4002: first char typed in Select mode can be wrong
Problem:    First char typed in Select mode can be wrong.
Solution:   Escape special bytes in the input buffer. (closes #9469)
2022-01-04 18:01:21 +00:00
Yegappan Lakshmanan
d94fbfc74a patch 8.2.4001: insert complete code uses global variables
Problem:    Insert complete code uses global variables.
Solution:   Make variables local to the file and use accessor functions.
            (Yegappan Lakshmanan, closes #9470)
2022-01-04 17:01:44 +00:00
Bram Moolenaar
fcd1635a46 patch 8.2.4000: Coverity warns for checking for NULL pointer after using it
Problem:    Coverity warns for checking for NULL pointer after using it.
Solution:   Remove check for NULL.
2022-01-04 16:44:56 +00:00
zeertzjq
c024ed9233 patch 8.2.3999: redundant check for NUL byte
Problem:    Redundant check for NUL byte.
Solution:   Remove the check for a NUL byte. (closes #9471)
2022-01-04 16:22:52 +00:00
Bram Moolenaar
48824e952f patch 8.2.3998: asan error for adding zero to NULL
Problem:    Asan error for adding zero to NULL.
Solution:   Do not compute pointer if there are no entries.
2022-01-04 16:05:48 +00:00
Bram Moolenaar
10d6f18b2f patch 8.2.3997: Vim9: not enough testing for extend() and map()
Problem:    Vim9: not enough testing for extend() and map().
Solution:   Add more test cases.  Fix uncovered problems.  Remove unused type
            fields.
2022-01-04 15:54:38 +00:00
Bram Moolenaar
078a46161e patch 8.2.3996: Vim9: type checking lacks information about declared type
Problem:    Vim9: type checking for list and dict lacks information about
            declared type.
Solution:   Add dv_decl_type and lv_decl_type.  Refactor the type stack to
            store two types in each entry.
2022-01-04 15:17:03 +00:00
David Auer
9acf2d8be9 patch 8.2.3995: not all sshconfig files are detected as such
Problem:    Not all sshconfig files are detected as such.
Solution:   Adjust the patterns used for sshconfig detection. (David Auer,
            closes #9322)
2022-01-03 17:32:46 +00:00
Bram Moolenaar
ad8f248585 patch 8.2.3994: Vim9: extend() complains about type when it was not declared
Problem:    Vim9: extend() complains about the type even when it was not
            declared.
Solution:   Only check the list or dict type when it was declared.
2022-01-03 16:52:28 +00:00
Bram Moolenaar
c88e977862 patch 8.2.3993: when recording a change in Select mode char appears twice
Problem:    When recording a change in Select mode the first typed character
            appears twice.
Solution:   When putting the character back into typeahead remove it from
            recorded characters. (closes #9462)
2022-01-03 13:47:50 +00:00
h-east
0e2508d9e6 patch 8.2.3992: wrong local-additions in the help with language mix
Problem:    Wrong local-additions in the help with language mix.
Solution:   Adjust how the local additions list is generated. (Hirohito
            Higashi, closes #9464)
2022-01-03 12:53:24 +00:00
Bram Moolenaar
114dbda785 patch 8.2.3991: Vim9: error when extending dict<any>
Problem:    Vim9: error when extending dict<any> with another type that it was
            initialized with.
Solution:   Also set the type for dict<any> if the initializer has a more
            specific type. (closes #9461)
2022-01-03 12:28:03 +00:00
naohiro ono
5c75eed758 patch 8.2.3990: testing wrong operator
Problem:    Testing wrong operator.
Solution:   Test "g@" instead of "r_". (Naohiro Ono, closes #9463)
2022-01-03 11:15:47 +00:00
Yegappan Lakshmanan
e982586f8e patch 8.2.3989: some insert completion code is not tested
Problem:    Some insert completion code is not tested.
Solution:   Add a few tests.  Refactor thesaurus completion. (Yegappan
            Lakshmanan, closes #9460)
2022-01-03 11:03:48 +00:00
Bram Moolenaar
475d9521ba patch 8.2.3988: tiny build fails
Problem:    Tiny build fails.
Solution:   Fix misplaced #ifdef.
2022-01-02 21:46:29 +00:00
Bram Moolenaar
1d423ef75f patch 8.2.3987: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-02 21:26:16 +00:00
Bram Moolenaar
b09feaa86e patch 8.2.3986: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-02 20:20:45 +00:00
Bram Moolenaar
ac78dd4a35 patch 8.2.3985: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-02 19:25:26 +00:00
Bram Moolenaar
3d0da09bb2 patch 8.2.3984: debugger test fails
Problem:    Debugger test fails.
Solution:   Adjust the test for modified debugging of a for loop.
2022-01-02 17:28:57 +00:00
Bram Moolenaar
eaaac014a0 patch 8.2.3983: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-02 17:00:40 +00:00
Dominique Pelle
8bfa0eb863 patch 8.2.3982: some lines of code not covered by tests
Problem:    Some lines of code not covered by tests.
Solution:   Add a few more test cases. (Dominique Pellé, closes #9453)
2022-01-02 16:16:33 +00:00
Bram Moolenaar
2b4ecc2c31 patch 8.2.3981: Vim9: debugging a for loop doesn't stop before it starts
Problem:    Vim9: debugging a for loop doesn't stop before it starts.
Solution:   Keep the DEBUG instruction before the expression is evaluated.
            (closes #9456)
2022-01-02 14:08:18 +00:00
Bram Moolenaar
b3bd1d39e6 patch 8.2.3980: if 'operatorfunc' invokes an operator Visual mode is changed
Problem:    If 'operatorfunc' invokes an operator the remembered Visual mode
            may be changed. (Naohiro Ono)
Solution:   Save and restore the information for redoing the Visual area.
            (closes #9455)
2022-01-02 13:05:45 +00:00
Bram Moolenaar
a6feb163f0 patch 8.2.3979: Vim9: the feature is not mentioned in the right places
Problem:    Vim9: the feature is not mentioned in the right places.
Solution:   Add +vim9script to the help and :version output.
2022-01-02 12:06:33 +00:00
Bram Moolenaar
6b1a99dfe3 patch 8.2.3978: build error when using dynamycally loaded Python 3
Problem:    Build error when using dynamycally loaded Python 3.
Solution:   Adjust #ifdef.
2022-01-02 01:04:09 +00:00
Bram Moolenaar
9a846fbaa5 patch 8.2.3977: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-01 21:59:18 +00:00
Bram Moolenaar
b34689010a patch 8.2.3976: FEARG_LAST is never used
Problem:    FEARG_LAST is never used. (Dominique Pellé)
Solution:   Remove FEARG_LAST and the related code.
2022-01-01 19:42:16 +00:00
Bram Moolenaar
cbadefe25a patch 8.2.3975: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2022-01-01 19:33:50 +00:00
Bram Moolenaar
1f4a3457a3 patch 8.2.3974: Vim9: LISTAPPEND instruction does not check for a locked list
Problem:    Vim9: LISTAPPEND instruction does not check for a locked list.
Solution:   Check whether the list is locked. (closes #9452)
2022-01-01 18:29:21 +00:00
Bram Moolenaar
0f7a5e758c patch 8.2.3973: tiny build fails
Problem:    Tiny build fails.
Solution:   Adjust #ifdefs
2022-01-01 16:31:48 +00:00
Bram Moolenaar
3a846e6bca patch 8.2.3972: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move the last errors from globals.h to errors.h.
2022-01-01 16:21:00 +00:00
Bram Moolenaar
0699b040e6 patch 8.2.3971: build fails
Problem:    Build fails.
Solution:   Use the right error message name.
2022-01-01 16:01:23 +00:00
Bram Moolenaar
74409f6279 patch 8.2.3970: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
2022-01-01 15:58:22 +00:00
naohiro ono
56200eed62 patch 8.2.3969: value of MAXCOL not available in Vim script
Problem:    Value of MAXCOL not available in Vim script.
Solution:   Add v:maxcol. (Naohiro Ono, closes #9451)
2022-01-01 14:59:44 +00:00
Bram Moolenaar
e70cec9760 patch 8.2.3968: build failure
Problem:    Build failure.
Solution:   Add missing changes.
2022-01-01 14:25:55 +00:00
Bram Moolenaar
460ae5dfca patch 8.2.3967: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
2022-01-01 14:19:49 +00:00
Bram Moolenaar
b37a65e4bf patch 8.2.3966: when using feedkeys() abbreviations may be blocked
Problem:    When using feedkeys() abbreviations may be blocked.
Solution:   Reset tb_no_abbr_cnt when running out of characters.
            (closes #9448)
2022-01-01 12:42:56 +00:00
Bram Moolenaar
b79ee0c299 patch 8.2.3965: Vim9: no easy way to check if Vim9 script is supported
Problem:    Vim9: no easy way to check if Vim9 script is supported.
Solution:   Add has('vim9script').
2022-01-01 12:17:00 +00:00
Alex Vear
654b729c4c patch 8.2.3964: some common lisp and scheme files not recognized
Problem:    Some common lisp and scheme files not recognized.
Solution:   Recognize *.asd as lisp and *.sld as scheme. (Alex Vear,
            closes #9447)
2022-01-01 11:38:42 +00:00
Bram Moolenaar
096ca73dac patch 8.2.3963: build failure with tiny and small features
Problem:    Build failure with tiny and small features. (Tony Mechelynck)
Solution:   Adjust #ifdefs.
2022-01-01 00:55:28 +00:00
Bram Moolenaar
d0819d11ec patch 8.2.3962: build fails for missing error message
Problem:    Build fails for missing error message.
Solution:   Add changes in missed file.
2021-12-31 23:15:53 +00:00
Bram Moolenaar
436b5adc97 patch 8.2.3961: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
2021-12-31 22:49:24 +00:00
Bram Moolenaar
f1474d801b patch 8.2.3960: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
2021-12-31 19:59:55 +00:00
Bram Moolenaar
6d0570117a patch 8.2.3959: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
2021-12-31 18:49:43 +00:00
Yegappan Lakshmanan
ef089f50f9 patch 8.2.3958: build failure compiling xxd with "-std=c2x"
Problem:    Build failure compiling xxd with "-std=c2x".
Solution:   define _XOPEN_SOURCE. (Yegappan Lakshmanan, closes #9444)
2021-12-31 17:33:47 +00:00
Bram Moolenaar
1a9922243a patch 8.2.3957: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
2021-12-31 17:25:48 +00:00
zeertzjq
4b1478093e patch 8.2.3956: duplicate assignment
Problem:    Duplicate assignment.
Solution:   Remove the second assignment. (closes #9442)
2021-12-31 15:21:53 +00:00
Bram Moolenaar
eb822a280c patch 8.2.3955: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
2021-12-31 15:09:27 +00:00
Bram Moolenaar
9a015111a5 patch 8.2.3954: Vim9: no error for shadowing if script var is declared later
Problem:    Vim9: no error for shadowing if script var is declared later.
Solution:   Check argument names when compiling a function.
2021-12-31 14:06:45 +00:00
Yegappan Lakshmanan
6ad84ab3e4 patch 8.2.3953: insert completion code is too complicated
Problem:    Insert completion code is too complicated.
Solution:   More refactoring.  Move function arguments into a struct.
            (Yegappan Lakshmanan, closes #9437)
2021-12-31 12:59:53 +00:00
zeertzjq
1fa3de1ce8 patch 8.2.3952: first line not redrawn when adding lines to an empty buffer
Problem:    First line not redrawn when adding lines to an empty buffer.
Solution:   Adjust the argument to appended_lines(). (closes #9439,
            closes #9438)
2021-12-31 12:19:22 +00:00
Bram Moolenaar
04fb916684 Update runtime files 2021-12-30 20:24:12 +00:00
Bram Moolenaar
d293981d2b patch 8.2.3951: Vim9: memory leak when text after a nested function
Problem:    Vim9: memory leak when text after a nested function.
Solution:   Free the function if text is found after "enddef".
2021-12-30 17:09:05 +00:00
Bram Moolenaar
94f3192b03 patch 8.2.3950: going beyond the end of the line with /\%V
Problem:    Going beyond the end of the line with /\%V.
Solution:   Check for valid column in getvcol().
2021-12-30 15:29:18 +00:00
Bram Moolenaar
4c13e5e676 patch 8.2.3949: using freed memory with /\%V
Problem:    Using freed memory with /\%V.
Solution:   Get the line again after getvvcol().
2021-12-30 14:49:43 +00:00
Bram Moolenaar
cfe3af284a patch 8.2.3948: Vim9: failure with partial with unknown argument count
Problem:    Vim9: failure with partial with unknown argument count.
Solution:   Do not copy argument types if there aren't any.
2021-12-30 13:59:20 +00:00
zeertzjq
f38aad85cf patch 8.2.3947: unnecessary check for NULL pointer
Problem:    Unnecessary check for NULL pointer.
Solution:   Remove the check. (closes #9434)
2021-12-30 13:45:57 +00:00
Bram Moolenaar
1c67f3a977 patch 8.2.3946: when an internal error makes Vim exit the error is not seen
Problem:    When an internal error makes Vim exit the error is not seen.
Solution:   Add the error to the test output.
2021-12-30 13:32:09 +00:00
Bram Moolenaar
13789bf103 patch 8.2.3945: Vim9: partial variable argument types are wrong
Problem:    Vim9: partial variable argument types are wrong, leading to a
            crash.
Solution:   When adjusting the argument count also adjust the argument types.
            (closes #9433)
2021-12-30 13:29:00 +00:00
Yegappan Lakshmanan
5d2e007ccb patch 8.2.3944: insert mode completion functions are too long
Problem:    Insert mode completion functions are too long.
Solution:   Split up into multiple functions. (Yegappan Lakshmanan,
            closes #9431)
2021-12-30 11:40:53 +00:00
Bram Moolenaar
491669701c patch 8.2.3943: compiler warning from gcc for uninitialized variable
Problem:    Compiler warning from gcc for uninitialized variable.
Solution:   Initialize variable. (closes #9429)
2021-12-30 10:51:45 +00:00
Bram Moolenaar
8e7cc6b920 patch 8.2.3942: Coverity reports a possible memory leak
Problem:    Coverity reports a possible memory leak.
Solution:   Free the array if allocation fails.
2021-12-30 10:32:25 +00:00
dbivolaru
ab16ad33ba patch 8.2.3941: SIGTSTP is not handled
Problem:    SIGTSTP is not handled.
Solution:   Handle SIGTSTP like pressing CTRL-Z. (closes #9422)
2021-12-29 19:41:47 +00:00
Bram Moolenaar
94fb8274ca patch 8.2.3940: match highlight disappears when doing incsearch for ":s/pat"
Problem:    Match highlight disappears when doing incsearch for ":s/pat".
Solution:   Only use line limit for incsearch highlighting. (closes #9425)
2021-12-29 19:22:44 +00:00
Yegappan Lakshmanan
5a664fe57f patch 8.2.3939: MS-Windows: fnamemodify('', ':p') does not work
Problem:    MS-Windows: fnamemodify('', ':p') does not work.
Solution:   Do not consider an empty string a full path. (Yegappan Lakshmanan,
            closes #9428, closes #9427)
2021-12-29 18:16:21 +00:00
Bram Moolenaar
ba26367fea patch 8.2.3938: line comment start is also found in a string
Problem:    Line comment start is also found in a string.
Solution:   Skip line comments in a string.
2021-12-29 18:09:13 +00:00
Yegappan Lakshmanan
edc6f10390 patch 8.2.3937: Insert mode completion function is too long
Problem:    Insert mode completion function is too long.
Solution:   Refactor into multiple functions. (Yegappan Lakshmanan,
            closes #9423)
2021-12-29 17:38:46 +00:00
Sean Dewar
ccc1644f95 patch 8.2.3936: no proper test for maintaining change mark in diff mode
Problem:    No proper test for maintaining change mark in diff mode.
Solution:   Run the test with internal and external diff. (Sean Dewar,
            closes #9424)
2021-12-29 16:44:48 +00:00
Bram Moolenaar
5d20fbf2e7 patch 8.2.3935: CTRL-U in Insert mode does not fix the indent
Problem:    CTRL-U in Insert mode does not fix the indent.
Solution:   Fix the indent when 'cindent' is set.
2021-12-29 16:05:31 +00:00
Bram Moolenaar
5ea5f37372 patch 8.2.3934: repeating line comment is undesired for "O" command
Problem:    Repeating line comment is undesired for "O" command.
Solution:   Do not copy line comment leader for "O". (closes #9426)
2021-12-29 15:15:47 +00:00
Richard Doty
3d0abad5bf patch 8.2.3933: after ":cd" fails ":cd -" is incorrect
Problem:    After ":cd" fails ":cd -" is incorrect.
Solution:   Set the previous directory only after successfully changing
            directory. (Richard Doty, closes #9419, closes #8983)
2021-12-29 14:39:08 +00:00
Bram Moolenaar
264d3ddac0 patch 8.2.3932: C line comment not formatted properly
Problem:    C line comment not formatted properly.
Solution:   If a line comment follows after "#if" the next line is not the end
            of a paragraph.
2021-12-29 14:09:32 +00:00
Bram Moolenaar
febb78fa17 patch 8.2.3931: Coverity reports a memory leak
Problem:    Coverity reports a memory leak.
Solution:   Free memory in case of failure.
2021-12-29 11:59:53 +00:00
Bram Moolenaar
c97f9a55bd patch 8.2.3930: getcmdline() argument has a misleading type
Problem:    getcmdline() argument has a misleading type.
Solution:   Use the correct type, even though the value is not used.
2021-12-28 20:59:56 +00:00
Bram Moolenaar
10c75c4a09 patch 8.2.3929: using unititialized variable
Problem:    Using unititialized variable.
Solution:   Set the option flags to zero for a terminal option.
2021-12-28 20:53:30 +00:00
Bram Moolenaar
11ceb7d949 patch 8.2.3928: heredoc test fails
Problem:    Heredoc test fails.
Solution:   Correct order of function arguments.
2021-12-28 20:49:56 +00:00
Bram Moolenaar
8c697e3698 patch 8.2.3927: Vim9: double free when using lambda
Problem:    Vim9: double free when using lambda.
Solution:   Don't free both cmdline and line_to_free.
2021-12-28 20:18:50 +00:00
Bram Moolenaar
92f246e4f9 patch 8.2.3926: build failure without the 'autochdir' option
Problem:    Build failure without the 'autochdir' option. (John Marriott)
Solution:   Add #ifdefs.
2021-12-28 20:03:43 +00:00
Bram Moolenaar
06f6095623 patch 8.2.3925: diff mode confused by NUL bytes
Problem:    Diff mode confused by NUL bytes.
Solution:   Handle NUL bytes differently. (Christian Brabandt, closes #9421,
            closes #9418)
2021-12-28 18:30:05 +00:00
Bram Moolenaar
7473a84cf9 patch 8.2.3924: Vim9: no error if something follows :enddef
Problem:    Vim9: no error if something follows :enddef in a nested function.
Solution:   Give an error.  Move common code to a function.
2021-12-28 17:55:26 +00:00
Bram Moolenaar
4bf1006cae patch 8.2.3923: Vim9: double free with split argument list in nested function
Problem:    Vim9: double free if a nested function has a line break in the
            argument list.
Solution:   Set cmdlinep when freeing the previous line.
2021-12-28 17:23:12 +00:00
ichizok
8bb3fe4d4d patch 8.2.3922: cannot build with dynamic Ruby 3.1
Problem:    Cannot build with dynamic Ruby 3.1.
Solution:   Add "_EXTRA" variables for CI.  Add missing functions. (Ozaki
            Kiichi, closes #9420)
2021-12-28 15:51:45 +00:00
Lewis Russell
d9da86e94e patch 8.2.3921: the way xdiff is used is inefficient
Problem:    The way xdiff is used is inefficient.
Solution:   Use hunk_func instead of the out_line callback. (Lewis Russell,
            closes #9344)
2021-12-28 13:54:41 +00:00
Bram Moolenaar
90c317f224 patch 8.2.3920: restoring directory after using another window is inefficient
Problem:    Restoring directory after using another window is inefficient.
Solution:   Only restore the directory for win_execute().  Apply 'autochdir'
            only when needed.
2021-12-28 13:15:05 +00:00
Bram Moolenaar
8b6256f6ec patch 8.2.3919: Vim9: wrong argument for append() results in two errors
Problem:    Vim9: wrong argument for append() results in two errors.
Solution:   Check did_emsg.  Also for setline().  Adjust the help for
            appendbufline().
2021-12-28 11:24:49 +00:00
Bram Moolenaar
be4e223ead patch 8.2.3918: function list test fails
Problem:    Function list test fails.
Solution:   Adjust the test for the new location of the function list.
2021-12-27 21:42:57 +00:00
Bram Moolenaar
a4d131d110 Update runtime files 2021-12-27 21:33:07 +00:00
Bram Moolenaar
1cae5a0a03 patch 8.2.3917: the eval.txt help file is way too big
Problem:    The eval.txt help file is way too big.
Solution:   Move the builtin function details to a separate file.
2021-12-27 21:28:34 +00:00
Bram Moolenaar
8dac2acd6a patch 8.2.3916: no error for passing an invalid line number to append()
Problem:    No error for passing an invalid line number to append().
Solution:   In Vim9 script check for a non-negative number. (closes #9417)
2021-12-27 20:57:06 +00:00
Bram Moolenaar
4b28ba3245 patch 8.2.3915: illegal memory access when completing with invalid bytes
Problem:    illegal memory access when completing with invalid bytes.
Solution:   Avoid going over the end of the completion text.
2021-12-27 19:28:37 +00:00
Dominique Pelle
af4a61a85d patch 8.2.3914: various spelling mistakes in comments
Problem:    Various spelling mistakes in comments.
Solution:   Fix the mistakes. (Dominique Pellé, closes #9416)
2021-12-27 17:21:41 +00:00
Bram Moolenaar
5da36052a4 patch 8.2.3913: help for expressions does not mention Vim9 syntax
Problem:    Help for expressions does not mention Vim9 syntax.
Solution:   Add the rules for Vim9 to the expression help.  Rename functions
            to match the help.
2021-12-27 15:39:57 +00:00
Bram Moolenaar
bf7ff61af4 patch 8.2.3912: the ins_complete() function is much too long
Problem:    The ins_complete() function is much too long.
Solution:   Split it up into multiple functions. (Yegappan Lakshmanan,
            closes #9414)
2021-12-27 12:52:07 +00:00
Bram Moolenaar
ef8f04b1d1 patch 8.2.3911: Vim9: type check for filter() does not accept unknown
Problem:    Vim9: type check for filter() does not accept unknown.
Solution:   Also accept unknown for the return type. (closes #9413)
2021-12-27 12:29:19 +00:00
Bram Moolenaar
23018f2d4b patch 8.2.3910: when compare function of sort() fails it does not abort
Problem:    When the compare function of sort() produces and error then sort()
            does not abort.
Solution:   Check if did_emsg was incremented.
2021-12-27 11:54:37 +00:00
Bram Moolenaar
bbdd3fb804 patch 8.2.3909: Containerfile using prefix name not recognized
Problem:    Containerfile using prefix name not recognized.
Solution:   Recognize Containerfile.*.
2021-12-27 10:35:52 +00:00
Yegappan Lakshmanan
27708e6c7b patch 8.2.3908: cannot use a script-local function for 'foldtext'
Problem:    Cannot use a script-local function for 'foldtext'.
Solution:   Expand "s:" and "<SID>". (Yegappan Lakshmanan, closes #9411)
2021-12-26 21:54:43 +00:00
Bram Moolenaar
c553a21e18 patch 8.2.3907: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move error messages to errors.h.  Avoid duplicates.
2021-12-26 20:20:34 +00:00
Bram Moolenaar
1f318c6eac patch 8.2.3906: Vim9 help still contains "under development" warnings
Problem:    Vim9 help still contains "under development" warnings.
Solution:   Remove the explicit warning.
2021-12-26 18:09:31 +00:00
Bram Moolenaar
c88ac94a0b patch 8.2.3905: Dockerfile using prefix name not recognized
Problem:    Dockerfile using prefix name not recognized.
Solution:   Recognize Dockerfile.*. (closes #9410)
2021-12-26 17:31:35 +00:00
Bram Moolenaar
7319981f21 patch 8.2.3904: Vim9: skip expression type is not checked at compile time
Problem:    Vim9: skip expression type is not checked at compile time.
Solution:   Add argument type checks.
2021-12-26 17:18:14 +00:00
Bram Moolenaar
71c41255f6 patch 8.2.3903: "gM" does not count tabs as expected
Problem:    "gM" does not count tabs as expected.
Solution:   Use linetabsize() instead of mb_string2cells(). (closes #9409)
2021-12-26 15:00:07 +00:00
Bram Moolenaar
9c23f9bb5f patch 8.2.3902: Vim9: double free with nested :def function
Problem:    Vim9: double free with nested :def function.
Solution:   Pass "line_to_free" from compile_def_function() and make sure
            cmdlinep is valid.
2021-12-26 14:23:22 +00:00
Bram Moolenaar
71eb3ad579 patch 8.2.3901: Vim9: Cannot set 'cpo' in main .vimrc if using Vim9 script
Problem:    Vim9: Cannot set 'cpo' in main .vimrc if using Vim9 script.
Solution:   Do not restore 'cpo' at the end of the main .vimrc.
2021-12-26 12:07:30 +00:00
Yegappan Lakshmanan
8bb65f230d patch 8.2.3900: it is not easy to use a script-local function for an option
Problem:    It is not easy to use a script-local function for an option.
Solution:   recognize s: and <SID> at the start of the expression. (Yegappan
            Lakshmanan, closes #9401)
2021-12-26 10:51:39 +00:00
Bram Moolenaar
ec86520f94 patch 8.2.3899: Vim9: test for map() on string fails
Problem:    Vim9: test for map() on string fails.
Solution:   Expect string return type.
2021-12-25 22:10:42 +00:00
Bram Moolenaar
fb9dcb080b patch 8.2.3898: Vim9: not sufficient testing for variable initialization
Problem:    Vim9: not sufficient testing for variable initialization.
Solution:   Add another test case.
2021-12-25 22:00:49 +00:00
Bram Moolenaar
1802405d71 patch 8.2.3897: Vim9: second argument of map() and filter() not checked
Problem:    Vim9: the second argument of map() and filter() is not checked at
            compile time.
Solution:   Add more specific type check for the second argument.
2021-12-25 21:43:28 +00:00
Bram Moolenaar
db8e5c21b9 patch 8.2.3896: Vim9: no test for nested function not available later
Problem:    Vim9: no test for nested function not available later.
Solution:   Add a test.
2021-12-25 19:58:22 +00:00
Bram Moolenaar
ae1068afde patch 8.2.3895: Vim9: confusing error when using function() with a number
Problem:    Vim9: confusing error when using function() with a number.
Solution:   Check for a function or string argument.
2021-12-25 19:43:44 +00:00
Bram Moolenaar
223d0a6bc8 patch 8.2.3894: Vim9: no proper type check for first argument of call()
Problem:    Vim9: no proper type check for first argument of call().
Solution:   Add specific type check.
2021-12-25 19:29:21 +00:00
Bram Moolenaar
5cd647935d patch 8.2.3893: Vim9: many local variables are initialized with an instruction
Problem:    Vim9: many local variables are initialized with an instruction.
Solution:   Initialize local variables to zero to avoid the instructions.
2021-12-25 18:23:24 +00:00
Bram Moolenaar
35cfd793aa patch 8.2.3892: when modifyOtherKeys is used CTRL-C is not recognized
Problem:    When modifyOtherKeys is used CTRL-C is not recognized.
Solution:   Check for uppercase C as well, fix minimum length.
2021-12-25 15:13:18 +00:00
Yegappan Lakshmanan
7f4a628efe patch 8.2.3891: github CI: workflows may overlap
Problem:    Github CI: workflows may overlap.
Solution:   Cancel previous workflows when starting a new one. (Yegappan
            Lakshmanan, closes #9400)
2021-12-25 11:20:30 +00:00
Bram Moolenaar
d787e40fdb patch 8.2.3890: Vim9: type check for using v: variables is basic
Problem:    Vim9: type check for using v: variables is basic.
Solution:   Specify a more precise type.
2021-12-24 21:36:12 +00:00
Yegappan Lakshmanan
e7f4abd38b patch 8.2.3889: duplicate code for translating script-local function name
Problem:    Duplicate code for translating script-local function name.
Solution:   Move the code to get_scriptlocal_funcname(). (Yegappan Lakshmanan,
            closes #9393)
2021-12-24 20:47:38 +00:00
Nir Lichtman
73a024209c patch 8.2.3888: the argument list may contain duplicates
Problem:    The argument list may contain duplicates.
Solution:   Add the :argdedeupe command. (Nir Lichtman, closes #6235)
2021-12-24 20:28:03 +00:00
Bram Moolenaar
806da5176e patch 8.2.3887: E1135 is used for two different errors
Problem:    E1135 is used for two different errors.
Solution:   Renumber one error.
2021-12-24 19:54:52 +00:00
Bram Moolenaar
b6db146762 patch 8.2.3886: can define autocmd for every event by using "au!"
Problem:    Can define autocmd for every event by using "au!".
Solution:   Check if a command is present also for "au!".
2021-12-24 19:24:47 +00:00
Bram Moolenaar
679140c56b patch 8.2.3885: arglist test fails
Problem:    Arglist test fails.
Solution:   Adjust for locking the arglist for ":all".
2021-12-24 18:58:46 +00:00
Bram Moolenaar
6f98371532 patch 8.2.3884: crash when clearing the argument list while using it
Problem:    Crash when clearing the argument list while using it.
Solution:   Lock the argument list for ":all".
2021-12-24 18:11:27 +00:00
Bram Moolenaar
5937c7505f patch 8.2.3883: crash when switching to other regexp engine fails
Problem:    Crash when switching to other regexp engine fails.
Solution:   Check for regprog being NULL.
2021-12-24 16:46:14 +00:00
Bram Moolenaar
fa3b72348d Update runtime files 2021-12-24 13:18:38 +00:00
zeertzjq
d3f00f54bf patch 8.2.3882: more duplicated code in f_getreginfo()
Problem:    More duplicated code in f_getreginfo().
Solution:   Also use getreg_get_regname(). (closes #9398)
2021-12-24 12:02:43 +00:00
h-east
6073f13f55 patch 8.2.3881: QNX: crash when compiled with GUI but using terminal
Problem:    QNX: crash when compiled with GUI but using terminal.
Solution:   Check the gui.in_use flag. (Hirohito Higashi, closes #9391)
2021-12-24 11:57:06 +00:00
Bram Moolenaar
70a120b72b patch 8.2.3880: Solution filter files are not recognized
Problem:    Solution filter files are not recognized.
Solution:   Add pattern *.slnf and use json. (Doug Kearns)
2021-12-24 11:33:56 +00:00
Bram Moolenaar
51e64b2789 patch 8.2.3879: getreg() and getregtype() contain dead code
Problem:    getreg() and getregtype() contain dead code.
Solution:   Remove the needless check. (closes #9392)  Also refactor to put
            common code in a shared function.
2021-12-24 10:48:30 +00:00
Bram Moolenaar
310091d20f patch 8.2.3878: Vim9: debugger tries to read more lines than there are
Problem:    Vim9: debugger tries to read more lines than there are.
Solution:   Check the number of lines. (closes #9394)
2021-12-23 21:14:37 +00:00
Bram Moolenaar
28fbbeac70 patch 8.2.3877: function does not abort after a type error in compare
Problem:    Function does not abort after a type error in compare
Solution:   Check getting number fails. (closes #9384)
2021-12-22 21:40:33 +00:00
zeertzjq
f2f0bddf30 patch 8.2.3876: 'cindent' does not recognize inline namespace
Problem:    'cindent' does not recognize inline namespace.
Solution:   Skip over "inline" to find "namespace". (closes #9383)
2021-12-22 20:55:30 +00:00
Bram Moolenaar
b4168fd917 patch 8.2.3875: gcc complains about buffer overrun
Problem:    gcc complains about buffer overrun.
Solution:   Use mch_memmove() instead of STRCPY(). (John Marriott)
2021-12-22 20:29:09 +00:00
James McCoy
a80aad7174 patch 8.2.3874: cannot highlight the number column for a sign
Problem:    Cannot highlight the number column for a sign.
Solution:   Add the "numhl" argument. (James McCoy, closes #9381)
2021-12-22 19:45:28 +00:00
Bram Moolenaar
82b3b4c6cf patch 8.2.3873: go.mod files are not recognized
Problem:    go.mod files are not recognized.
Solution:   Check for the file name. (closes #9380)
2021-12-22 19:19:08 +00:00
Bram Moolenaar
080182216e patch 8.2.3872: Vim9: finddir() and uniq() return types can be more specific
Problem:    Vim9: finddir() and uniq() return types can be more specific.
Solution:   Adjust the return type.
2021-12-22 18:45:37 +00:00
Yegappan Lakshmanan
f973eeb491 patch 8.2.3871: list.c contains code for dict and blob
Problem:    List.c contains code for dict and blob.
Solution:   Refactor to put code where it belongs. (Yegappan Lakshmanan,
            closes #9386)
2021-12-22 18:19:26 +00:00
Nir Lichtman
1aeccdb464 patch 8.2.3870: MS-Windows: wrong dir when using right-click context menu
Problem:    MS-Windows: wrong working directory when opening two files with
            right-click context menu. (Gabriel Dupras)
Solution:   Use the working directory and pass it on to the process creation.
            (Nir Lichtman, closes #9382, closes #8874)
2021-12-22 15:21:15 +00:00
Bram Moolenaar
fa46ead31a patch 8.2.3869: Vim9: type checking for "any" is inconsistent
Problem:    Vim9: type checking for "any" is inconsistent.
Solution:   Always use a runtime type check for using "any" for a more
            specific type.
2021-12-22 13:18:39 +00:00
Bram Moolenaar
1b5f7a6202 patch 8.2.3868: Vim9: function test fails
Problem:    Vim9: function test fails.
Solution:   Add missing changes.  Add test for earlier patch.
2021-12-21 13:30:42 +00:00
Yegappan Lakshmanan
d92813a598 patch 8.2.3867: implementation of some list functions too complicated
Problem:    Implementation of some list functions too complicated.
Solution:   Refactor do_sort_uniq(), f_count() and extend() (Yegappan
            Lakshmanan, closes #9378)
2021-12-21 13:19:42 +00:00
Bram Moolenaar
59618fed4c patch 8.2.3866: Vim9: type checking global variables is inconsistent
Problem:    Vim9: type checking global variables is inconsistent.
Solution:   Use the "unknown" type in more places.
2021-12-21 12:32:17 +00:00
Bram Moolenaar
0d807107b6 patch 8.2.3865: Vim9: compiler complains about using "try" as a struct member
Problem:    Vim9: compiler complains about using "try" as a struct member.
Solution:   Rename "try" to "tryref".
2021-12-21 09:42:09 +00:00
Bram Moolenaar
6f79e614b2 patch 8.2.3864: cannot disable requesting key codes from xterm
Problem:    Cannot disable requesting key codes from xterm.
Solution:   Add the 'xtermcodes' option, default on.
2021-12-21 09:12:23 +00:00
Bram Moolenaar
8d95d7091d patch 8.2.3863: various build flags accidentally enabled
Problem:    Various build flags accidentally enabled.
Solution:   Revert several lines in Makefile.
2021-12-20 22:12:53 +00:00
Bram Moolenaar
dab17a0689 patch 8.2.3862: crash on exit with EXITFREE and using win_execute()
Problem:    Crash on exit with EXITFREE and using win_execute().
Solution:   Also save and restore tp_topframe. (issue #9374)
2021-12-20 21:35:59 +00:00
Bram Moolenaar
39713d3acb patch 8.2.3861: list of distributed files is outdated
Problem:    List of distributed files is outdated.
Solution:   Add new files.
2021-12-20 15:53:13 +00:00
Bram Moolenaar
dc7c366f3a patch 8.2.3860: Vim9: codecov struggles with the file size
Problem:    Vim9: codecov struggles with the file size.
Solution:   Split vim9compile.c into four files.
2021-12-20 15:04:29 +00:00
Bram Moolenaar
a99fb23842 patch 8.2.3859: Vim9: some code lines not tested
Problem:    Vim9: some code lines not tested.
Solution:   Add a few specific tests.
2021-12-20 12:25:03 +00:00
Bram Moolenaar
003312b1d2 patch 8.2.3858: Vim9: not enough tests
Problem:    Vim9: not enough tests.
Solution:   Add tests for :try/:catch and :redir. Add missing type check.
2021-12-20 10:55:35 +00:00
Bram Moolenaar
2f9f4ccfc8 patch 8.2.3857: Vim9: inconsistent error for using function()
Problem:    Vim9: inconsistent error for using function().
Solution:   Use a runtime type check for the result of function().
            (closes #8492)
2021-12-20 09:36:27 +00:00
Bram Moolenaar
fea43e44c0 patch 8.2.3856: Vim9: not enough tests
Problem:    Vim9: not enough tests.
Solution:   Run more expression tests also with Vim9. Fix an uncovered
            problem.
2021-12-19 21:34:05 +00:00
Yegappan Lakshmanan
bc404bfb32 patch 8.2.3855: illegal memory access when displaying a blob
Problem:    Illegal memory access when displaying a blob.
Solution:   Append a NUL at the end. (Yegappan Lakshmanan, closes #9372)
2021-12-19 19:19:31 +00:00
Bram Moolenaar
86b3ab4fa0 patch 8.2.3854: Vim9: inconsistent arguments for test functions
Problem:    Vim9: inconsistent arguments for test functions.
Solution:   When :def function and script have different arguments use a list
            with two items instead of a separate function.
2021-12-19 18:33:23 +00:00
Bram Moolenaar
700e6b1662 patch 8.2.3853: Vim9: not enough tests
Problem:    Vim9: not enough tests.
Solution:   Run more existing tests for Vim9 script.
2021-12-19 17:27:06 +00:00
Bram Moolenaar
f47c5a8e2d patch 8.2.3852: Vim9: not enough tests
Problem:    Vim9: not enough tests.
Solution:   Also run existing tests for Vim9 script.  Make errors more
            consistent.
2021-12-19 15:17:21 +00:00
Bram Moolenaar
265f811f5a patch 8.2.3851: Vim9: overhead when comparing string, dict or function
Problem:    Vim9: overhead when comparing string, dict or function.
Solution:   Call the intented compare function directly.  Refactor to avoid
            duplicated code.
2021-12-19 12:33:05 +00:00
Bram Moolenaar
2de5371a75 patch 8.2.3850: illegal memory access when displaying a partial
Problem:    Illegal memory access when displaying a partial.
Solution:   Terminate the string with a NUL. (closes #9371)
2021-12-19 11:06:35 +00:00
Yegappan Lakshmanan
389b72196e patch 8.2.3849: functions implementing reduce and map are too long
Problem:    Functions implementing reduce and map are too long.
Solution:   Use a function for each type of value.  Add a few more test cases
            and add to the help. (Yegappan Lakshmanan, closes #9370)
2021-12-19 10:35:15 +00:00
rbtnn
0ccb5842f5 patch 8.2.3848: cannot use reduce() for a string
Problem:    Cannot use reduce() for a string.
Solution:   Make reduce() work with a string. (Naruhiko Nishino, closes #9366)
2021-12-18 18:33:46 +00:00
Bram Moolenaar
605ec91e5a patch 8.2.3847: illegal memory access when using a lambda with an error
Problem:    Illegal memory access when using a lambda with an error.
Solution:   Avoid skipping over the NUL after a string.
2021-12-18 16:54:31 +00:00
zeertzjq
60618c8f1a patch 8.2.3846: no error when using control character for 'lcs' or 'fcs'
Problem:    No error when using control character for 'lcs' or 'fcs'.
Solution:   Use char2cells() to check the width. (closes #9369)
2021-12-18 15:32:46 +00:00
Dominique Pelle
0dc4d8eaec patch 8.2.3845: Vim9: test fails when the channel feature is missing
Problem:    Vim9: test fails when the channel feature is missing.
Solution:   Check for the channel feature. (Dominique Pellé, closes #9368)
2021-12-18 12:40:52 +00:00
Bram Moolenaar
44a8977de4 patch 8.2.3844: Vim9: no type error if assigning func(number) to func(string)
Problem:    Vim9: no type error if assigning a value with type func(number) to
            a variable of type func(string).
Solution:   Use check_type_maybe(): return MAYBE if a runtime type check is
            useful.  (issue #8492)
2021-12-18 12:31:33 +00:00
James McCoy
647ab4cede patch 8.2.3843: dep3patch files are not recognized
Problem:    Dep3patch files are not recognized.
Solution:   Recognize dep3patch files by their location and content. (James
            McCoy, closes #9367)
2021-12-17 20:52:57 +00:00
Bram Moolenaar
422085f1c8 patch 8.2.3842: Vim9: can change locked list and list items
Problem:    Vim9: can change locked list and list items.
Solution:   Check that a list and list item isn't locked.
2021-12-17 20:36:15 +00:00
Bram Moolenaar
71b7685092 patch 8.2.3841: Vim9: outdated TODO items, disabled tests that work
Problem:    Vim9: outdated TODO items, disabled tests that work.
Solution:   Remove TODO items, run tests that work now.  Check that a dict
            item isn't locked.
2021-12-17 20:15:38 +00:00
rbtnn
ddc80aff57 patch 8.2.3840: useless test for negative index in check functions
Problem:    Useless test for negative index in check functions.
Solution:   Remove the test for negative index. (Naruhiko Nishino,
            closes #9364)
2021-12-17 18:01:31 +00:00
Dominique Pelle
354b23a9f8 patch 8.2.3839: using \z() with \z1 not tested for syntax highlighting
Problem:    Using \z() with \z1 not tested for syntax highlighting.
Solution:   Add a test. (Dominique Pellé, closes #9365)
2021-12-17 17:32:29 +00:00
Yegappan Lakshmanan
db1a410b61 patch 8.2.3838: cannot use script-local function for setting *func options
Problem:    Cannot use script-local function for setting *func options.
Solution:   Use the script context. (Yegappan Lakshmanan, closes #9362)
2021-12-17 16:21:20 +00:00
Bram Moolenaar
d2ff705af3 patch 8.2.3837: QNX: crash when compiled with GUI but using terminal
Problem:    QNX: crash when compiled with GUI but using terminal.
Solution:   Check gui.in_use is set. (Hirohito Higashi, closes #9363)
2021-12-17 16:00:04 +00:00
Bram Moolenaar
02929a372e patch 8.2.3836: Vim9: comment after expression not skipped to find NL
Problem:    Vim9: comment after expression not skipped to find NL.
Solution:   After evaluating an expression look for a newline after a #
            comment.
2021-12-17 14:46:12 +00:00
Bram Moolenaar
259f443a93 patch 8.2.3835: the inline-function example does not work
Problem:    The inline-function example does not work.
Solution:   Drop ":let".  Add EX_EXPR_ARG to CMD_var. (issue #9352)
2021-12-17 12:45:22 +00:00
Bram Moolenaar
deda6441e4 patch 8.2.3834: Test_out_cb often fails on Mac
Problem:    Test_out_cb often fails on Mac.
Solution:   Increase the timeout with every retry.
2021-12-17 11:44:33 +00:00
ichizok
c3f91c0648 patch 8.2.3833: error from term_start() not caught by try/catch
Problem:    Error from term_start() not caught by try/catch.
Solution:   save and restore did_emsg when applying autocommands. (Ozaki
            Kiichi, closes #9361)
2021-12-17 09:44:33 +00:00
Bram Moolenaar
994a0a298b patch 8.2.3832: test fails because of changed error message
Problem:    Test fails because of changed error message.
Solution:   Adjust the expected error message.
2021-12-16 21:11:26 +00:00
Bram Moolenaar
23e72369ff patch 8.2.3831: opfunc test fails when missing feature changes function name
Problem:    Opfunc test fails when missing feature changes function name.
            (Dominique Pellé)
Solution:   Check the relevant screen line instead of using a screendump.
            (closes #9360)
2021-12-16 21:07:35 +00:00
Bram Moolenaar
e124204c4f patch 8.2.3830: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
2021-12-16 20:56:57 +00:00
Bram Moolenaar
94c785d235 patch 8.2.3829: no error when setting a func option to script-local function
Problem:    No error when setting a func option to a script-local function.
Solution:   Give an error if the name starts with "s:". (closes #9358)
2021-12-16 19:45:47 +00:00
Bram Moolenaar
8103527da7 patch 8.2.3828: when opening a terminal from a timer first typed char is lost
Problem:    when opening a terminal from a timer the first typed character
            is lost. (Virginia Senioria)
Solution:   When opening a terminal while waiting for a character put K_IGNORE
            in the input buffer.
2021-12-16 18:02:07 +00:00
Bram Moolenaar
f79cbf6512 patch 8.2.3827: huntr badge does not really fit in the list
Problem:    Huntr badge does not really fit in the list.
Solution:   Move the link to Huntr to the issue template.
2021-12-16 16:14:11 +00:00
Bram Moolenaar
b15cf44c1d patch 8.2.3826: Vim9: using "g:Func" as funcref doesn't work in :def function
Problem:    Vim9: using "g:Func" as a funcref does not work in a :def
            function.
Solution:   Include "g:" in the function name. (closes #9336)
2021-12-16 15:49:43 +00:00
Bram Moolenaar
52797bae17 patch 8.2.3825: various comments could be improved
Problem:    Various comments could be improved.
Solution:   Improve the comments.
2021-12-16 14:45:13 +00:00
Bram Moolenaar
0e6adf8a29 Update runtime files 2021-12-16 14:41:10 +00:00
Yegappan Lakshmanan
6df0f2759d patch 8.2.3824: no ASAN support for MSVC
Problem:    No ASAN support for MSVC.
Solution:   Add ASAN support and fix a coupld of uncovered problems. (Yegappan
            Lakshmanan, closes #9357)
2021-12-16 13:06:10 +00:00
Bram Moolenaar
6ecf58b0d7 patch 8.2.3823: test for visual replace is in wrong function
Problem:    Test for visual replace is in wrong function.
Solution:   Move it to another function.
2021-12-16 10:05:41 +00:00
Bram Moolenaar
2d877599ee patch 8.2.3822: leaking memory in map() and filter(), no string in Vim9
Problem:    Leaking memory in map() and filter(), cannot use a string argument
            in Vim9 script.
Solution:   Fix the leak, adjust the argument check, also run the tests as
            Vim9 script. (Yegappan Lakshmanan, closes #9354)
2021-12-16 08:21:09 +00:00
Bram Moolenaar
19569ca6d8 patch 8.2.3821: ASAN test run fails
Problem:    ASAN test run fails.
Solution:   Use asan_symbolize-13 instead of asan_symbolize-11.
2021-12-15 21:29:19 +00:00
Bram Moolenaar
8ee6028de3 patch 8.2.3820: "vrc" does not replace composing characters
Problem:    "vrc" does not replace composing characters, while "rc" does.
Solution:   Check the byte length including composing characters.
            (closes #9351)
2021-12-15 21:08:50 +00:00
Bram Moolenaar
427f065a88 patch 8.2.3819: test fails because error message changed
Problem:    Test fails because error message changed.
Solution:   Update screendumps.
2021-12-15 19:46:59 +00:00
rbtnn
c479ce032f patch 8.2.3818: cannot filter or map characters in a string
Problem:    Cannot filter or map characters in a string.
Solution:   Make filter() and map() work on a string. (Naruhiko Nishino,
            closes #9327)
2021-12-15 19:14:54 +00:00
Bram Moolenaar
f87dac04c3 patch 8.2.3817: Vim9: Not using NL as command end does not work for :autocmd
Problem:    Vim9: Not using NL as command end does not work for :autocmd.
Solution:   Only ignore NL for commands with an expression argument.
2021-12-15 17:53:40 +00:00
Mike Williams
1821d1498c patch 8.2.3816: compiler warning for posible loss of data on MS-Windows
Problem:    Compiler warning for posible loss of data on MS-Windows.
Solution:   Add type cast. (Mike Williams, closes #9349)
2021-12-15 16:38:33 +00:00
Bram Moolenaar
ce7eada12e patch 8.2.3815: Vim9: cannot have a multi-line dict inside a block
Problem:    Vim9: cannot have a multi-line dict inside a block.
Solution:   Do not split the command at a line break, handle NL characters
            as white space.
2021-12-15 15:41:44 +00:00
Bram Moolenaar
cfabad9bcf patch 8.2.3814: .csx files and .sln files are not recognized
Problem:    .csx files and .sln files are not recognized.
Solution:   Add filetype patterns. (Doug Kearns)
2021-12-15 13:30:43 +00:00
Bram Moolenaar
a5d78d1f11 patch 8.2.3813: confusing error when using :cc without error list
Problem:    confusing error when using :cc without error list. (Gary Johnson)
Solution:   Give the "no errors" error.
2021-12-15 12:28:22 +00:00
Bram Moolenaar
57bc2333b1 patch 8.2.3812: Vim9: leaking memory in numbered function test
Problem:    Vim9: leaking memory in numbered function test.
Solution:   Skip "g:" when checking for numbered function.  Clean up after
            errors properly.
2021-12-15 12:06:43 +00:00
Bram Moolenaar
7c0fb80030 patch 8.2.3811: the opfunc error test fails on a slow machine
Problem:    The opfunc error test fails on a slow machine.
Solution:   Use WaitForAssert().
2021-12-14 20:26:53 +00:00
Bram Moolenaar
b334137acf patch 8.2.3810: Vim9: expr4 test fails on MS-Windows
Problem:    Vim9: expr4 test fails on MS-Windows.
Solution:   Do not give an error for a missing function name when skipping.
2021-12-14 18:57:45 +00:00
Bram Moolenaar
7509ad8b0f patch 8.2.3809: Vim9: crash when garbage collecting a nested partial
Problem:    Vim9: crash when garbage collecting a nested partial. (Virginia
            Senioria)
Solution:   Set references in all the funcstacks. (closes #9348)
2021-12-14 18:14:37 +00:00
Bram Moolenaar
919c12c19a patch 8.2.3808: Vim9: obsolete TODO items
Problem:    Vim9: obsolete TODO items
Solution:   Remove the comments.
2021-12-14 14:29:16 +00:00
Bram Moolenaar
f8a79fc346 patch 8.2.3807: Vim9: can call import with star directly
Problem:    Vim9: can call import with star directly.
Solution:   Check that the import used star.
2021-12-14 12:06:16 +00:00
Bram Moolenaar
c2958585f6 patch 8.2.3806: terminal focus test fails sometimes
Problem:    Terminal focus test fails sometimes.
Solution:   Run the test function before others.
2021-12-14 11:16:31 +00:00
Quentin Hibon
8176be1598 patch 8.2.3805: i3config files are not recognized
Problem:    i3config files are not recognized.
Solution:   Add patterns to match i3config files. (Quentin Hibon,
            closes #7969)
2021-12-14 09:34:41 +00:00
Bram Moolenaar
6206877c51 patch 8.2.3804: script context not set when copying 'swf' and 'ts'
Problem:    Script context not set when copying 'swf' and 'ts'.
Solution:   Use COPY_OPT_SCTX with the right argument. (closes #9347)
2021-12-14 09:01:38 +00:00
Bram Moolenaar
829c8e87e2 patch 8.2.3803: GUI: crash with 'writedelay' set using a terminal window
Problem:    Crash when 'writedelay' is set and using a terminal window to
            execute a shell command.
Solution:   Check that "tl_vterm" isn't NULL. (closes #9346)
2021-12-14 08:41:38 +00:00
Bram Moolenaar
0407d27034 patch 8.2.3802: terminal in two windows test fails on some systems
Problem:    Terminal in two windows test fails on some systems.
Solution:   Wait a bit between commands.
2021-12-13 22:17:44 +00:00
Bram Moolenaar
3194e5bf87 patch 8.2.3801: if a terminal shows in two windows, only one is redrawn
Problem:    If a terminal shows in two windows, only one is redrawn.
Solution:   Reset the dirty row range only after redrawing all windows.
            (closes #9341)
2021-12-13 21:59:09 +00:00
Bram Moolenaar
6840a0ffe8 patch 8.2.3800: when cross compiling the output of "uname" cannot be set
Problem:    When cross compiling the output of "uname" cannot be set. (Ben
            Reeves)
Solution:   Use cache variables. (closes #9338)
2021-12-13 20:37:59 +00:00
Bram Moolenaar
80d60910ff patch 8.2.3799: edit test hangs or fails
Problem:    Edit test hangs or fails.
Solution:   Do not rethrow an exception when inside try/catch.
2021-12-13 19:14:52 +00:00
Bram Moolenaar
3b309f11db patch 8.2.3798: a :def callback function postpones an error message
Problem:    A :def callback function postpones an error message.
Solution:   Display the error after calling the function. (closes #9340)
2021-12-13 18:19:55 +00:00
Bram Moolenaar
1e78deb077 patch 8.2.3797: no good reason to limit the message history in tiny version
Problem:    No good reason to limit the message history in the tiny version.
Solution:   Always use 200.
2021-12-13 14:40:53 +00:00
Bram Moolenaar
851f86b951 patch 8.2.3796: the funcexe_T struct members are not named consistently
Problem:    The funcexe_T struct members are not named consistently.
Solution:   Prefix "fe_" to all the members.
2021-12-13 14:26:44 +00:00
Bram Moolenaar
739f13a55b patch 8.2.3795: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate the jumplist feature.
2021-12-13 13:12:53 +00:00
Bram Moolenaar
33b968dc60 patch 8.2.3794: Vim9: cannot find script-local func using "s:"
Problem:    Vim9: cannot find script-local func using "s:". (Yegappan
            Lakshmanan)
Solution:   Skip the "s:".
2021-12-13 11:31:04 +00:00
Bram Moolenaar
ef082e12df patch 8.2.3793: using "g:Func" as a funcref does not work in script context
Problem:    Using "g:Func" as a funcref does not work in script context
            because "g:" is dropped.
Solution:   Keep "g:" in the name.  Also add parenthesis to avoid confusing
            operator prececence. (closes #9336)
2021-12-12 21:02:03 +00:00
Yegappan Lakshmanan
04ef1fb13d patch 8.2.3792: setting *func options insufficiently tested
Problem:    Setting *func options insufficiently tested.
Solution:   Impove tests. (Yegappan Lakshmanan, closes #9337)
2021-12-12 20:08:05 +00:00
Bram Moolenaar
d2439e0443 patch 8.2.3791: build error with +cindent but without +smartindent
Problem:    Build error with +cindent but without +smartindent.
Solution:   Move declaration of "do_cindent". (John Marriott)
2021-12-12 19:10:44 +00:00
Bram Moolenaar
3bb79dc191 patch 8.2.3790: test for term_gettitle() fails in some environments
Problem:    Test for term_gettitle() fails in some environments.
Solution:   Make the digits after "VIM" optional. (Kenta Sato, closes #9334)
2021-12-12 18:50:19 +00:00
ichizok
fa9a8e0fd1 patch 8.2.3789: Test_window_minimal_size can fail on a slow machine
Problem:    Test_window_minimal_size can fail on a slow machine.
Solution:   Do not rely on timers firing at the expected time. (Ozaki Kiichi,
            closes #9335)
2021-12-12 16:42:09 +00:00
Yegappan Lakshmanan
6ae8fae869 patch 8.2.3788: lambda for option that is a function may be freed
Problem:    Lambda for option that is a function may be garbage collected.
Solution:   Set a reference in the funcref. (Yegappan Lakshmanan,
            closes #9330)
2021-12-12 16:26:44 +00:00
Bram Moolenaar
6e371ecb27 patch 8.2.3787: no proper formatting of a C line comment after a statement
Problem:    No proper formatting of a C line comment after a statement.
Solution:   Find the start of the line comment, insert the comment leader and
            indent the comment properly.
2021-12-12 14:16:39 +00:00
Bram Moolenaar
9a4ec5a626 Use text area for environment in the bug template. 2021-12-12 11:44:11 +00:00
Bram Moolenaar
4e30b5c3bc Update issue template. 2021-12-12 11:34:22 +00:00
Bram Moolenaar
4f16e9de98 patch 8.2.3786: test fails because of using Vim9 syntax in legacy function
Problem:    Test fails because of using Vim9 syntax in legacy function.
Solution:   Add "call".
2021-12-11 18:46:29 +00:00
ichizok
48c0196378 patch 8.2.3785: running CI on MacOS with gcc is not useful
Problem:    Running CI on MacOS with gcc is not useful.
Solution:   Only use clang. (Ozaki Kiichi, closes #9326)  Also build with
            normal features.
2021-12-11 17:34:19 +00:00
Bram Moolenaar
7b1463bca3 patch 8.2.3784: the help for options is outdated
Problem:    The help for options is outdated.
Solution:   Include all the recent changes.
2021-12-11 17:24:39 +00:00
Bram Moolenaar
2ef9156b42 patch 8.2.3783: confusing error for using a variable as a function
Problem:    Confusing error for using a variable as a function.
Solution:   If a function is not found but there is a variable, give a more
            useful error. (issue #9310)
2021-12-11 16:14:07 +00:00
Bram Moolenaar
052ff291d7 patch 8.2.3782: Vim9: no error if a function shadows a script variable
Problem:    Vim9: no error if a function shadows a script variable.
Solution:   Check the function doesn't shadow a variable. (closes #9310)
2021-12-11 13:54:46 +00:00
Bram Moolenaar
a416861c64 patch 8.2.3781: the option window script is outdated
Problem:    The option window script is outdated.
Solution:   Add several changes.
2021-12-11 12:33:52 +00:00
Bakudankun
29f3a45915 patch 8.2.3780: ":cd" works differently on MS-Windows
Problem:    ":cd" works differently on MS-Windows.
Solution:   Add the 'cdhome' option. (closes #9324)
2021-12-11 12:28:08 +00:00
Bram Moolenaar
205f29c3e9 patch 8.2.3779: using freed memory when defining a user command recursively
Problem:    Using freed memory when defining a user command from a user
            command.
Solution:   Do not use the command pointer after executing the command.
            (closes #9318)
2021-12-10 21:46:09 +00:00
Bram Moolenaar
9537e37b11 patch 8.2.3778: lambda debug test fails in some configurations
Problem:    Lambda debug test fails in some configurations.
Solution:   Check feature in a legacy function.
2021-12-10 21:05:53 +00:00
=?UTF-8?q?Bj=C3=B6rn=20Linse?=
1daedc8381 patch 8.2.3777: spell file write error not checked
Problem:    Spell file write error not checked.
Solution:   Check writing the prefix conditions. (Bjorn Linse, closes #9323)
2021-12-10 20:39:17 +00:00
Bram Moolenaar
f8e9eb8e17 patch 8.2.3776: when a tags file line is long a tag may not be found
Problem:    When a tags file line is long a tag may not be found.
Solution:   When increasing the buffer size read the same line again.
2021-12-10 20:15:15 +00:00
Bram Moolenaar
9fffef9f35 patch 8.2.3775: Vim9: lambda compiled without outer context when debugging
Problem:    Vim9: lambda compiled without outer context when debugging.
Solution:   When compiling a lambda for debugging also compile it without.
            (closes #9302)
2021-12-10 16:55:58 +00:00
Bram Moolenaar
b711814cb6 patch 8.2.3774: test for command line height fails
Problem:    Test for command line height fails.
Solution:   Use another way to handle window size change.
2021-12-10 13:40:08 +00:00
Bram Moolenaar
8a7374f8c4 patch 8.2.3773: wrong window size when a modeline changes 'columns'
Problem:    Wrong window size when a modeline changes 'columns' and there is
            more than one tabpage. (Michael Soyka)
Solution:   Adjust the frames of all tabpages. (closes #9315)
2021-12-10 12:11:09 +00:00
Bram Moolenaar
ff39a650b2 patch 8.2.3772: timer info test fails on slow machine
Problem:    Timer info test fails on slow machine.
Solution:   Use WaitForAssert().
2021-12-10 10:57:08 +00:00
Bram Moolenaar
dd297bc11d patch 8.2.3771: Vim9: accessing freed memory when checking type
Problem:    Vim9: accessing freed memory when checking type.
Solution:   Make a copy of a function type.
2021-12-10 10:37:38 +00:00
ichizok
dee78e1ce8 patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Problem:    New compiler warnings from clang-12 and clang-13.
Solution:   Adjust CI and suppress some warnings. (Ozaki Kiichi, closes #9314)
2021-12-09 21:08:01 +00:00
Gregory Anders
4c8c634365 patch 8.2.3769: zig files are not recognized
Problem:    Zig files are not recognized.
Solution:   Add *.zig. (Gregory Anders, closes #9313)
2021-12-09 20:54:21 +00:00
Bram Moolenaar
95b2dd0c00 patch 8.2.3768: timer_info() has the wrong repeat value in a timer callback
Problem:    timer_info() has the wrong repeat value in a timer callback.
Solution:   Do not add one to the repeat value when in the callback.
            (closes #9294)
2021-12-09 18:42:57 +00:00
Bram Moolenaar
e8a92b6166 patch 8.2.3767: crash when using NULL partial
Problem:    Crash when using NULL partial.
Solution:   Check for NULL.
2021-12-09 17:44:01 +00:00
Bram Moolenaar
c4ec338fb8 patch 8.2.3766: converting a funcref to a string leaves out "g:"
Problem:    Converting a funcref to a string leaves out "g:", causing the
            meaning of the name depending on the context.
Solution:   Prepend "g:" for a global function.
2021-12-09 16:40:18 +00:00
Bram Moolenaar
dcb53be441 patch 8.2.3765: Vim9: cannot use a lambda for 'opfunc' and others
Problem:    Vim9: cannot use a lambda for 'opfunc' and others.
Solution:   Convert the lambda to a string.
2021-12-09 14:23:43 +00:00
Bram Moolenaar
d0fb907253 patch 8.2.3764: cannot see any text when window was made zero lines
Problem:    Cannot see any text when window was made zero lines or zero
            columns.
Solution:   Ensure there is at least one line and column. (fixes #9307)
2021-12-09 11:57:22 +00:00
Bram Moolenaar
e50507126f patch 8.2.3763: when editing the cmdline a callback may cause a scroll up
Problem:    When editing the command line a FocusLost callback may cause the
            screen to scroll up.
Solution:   Do not redraw at the last line but at the same place where the
            command line was before. (closes #9295)
2021-12-09 10:51:05 +00:00
Yegappan Lakshmanan
56150da687 patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it
Problem:    If the quickfix buffer is wiped out getqflist() still returns its
            number.
Solution:   Use zero if the buffer is no longer present. (Yegappan Lakshmanan,
            closes #9306)
2021-12-09 09:27:06 +00:00
Bram Moolenaar
a48d4e44a2 patch 8.2.3761: focus change is not passed on to a terminal window
Problem:    Focus change is not passed on to a terminal window.
Solution:   If the current window is a terminal and focus events are enabled
            send a focus event escape sequence to the terminal.
2021-12-08 22:13:38 +00:00
Bram Moolenaar
48873aebc0 patch 8.2.3760: not automatically handling gnome terminal mouse like xterm
Problem:    Not automatically handling gnome terminal mouse like xterm.
Solution:   Default 'ttymouse' to "xterm" and recognize Focus events.
            (issue #9296)
2021-12-08 21:00:24 +00:00
Yegappan Lakshmanan
78a61068cf patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Problem:    Quickfix buffer becomes hidden while still in a window.
Solution:   Check if the closed window is the last window showing the quickfix
            buffer. (Yegappan Lakshmanan, closes #9303, closes #9300)
2021-12-08 20:03:31 +00:00
Yegappan Lakshmanan
2172bff364 patch 8.2.3758: options that take a function insufficiently tested
Problem:    Options that take a function insufficiently tested.
Solution:   Add additional tests and enhance existing tests. (Yegappan
            Lakshmanan, closes #9298)
2021-12-08 10:46:21 +00:00
erw7
f7f7aaf8aa patch 8.2.3757: an overlong highlight group name is silently truncated
Problem:    An overlong highlight group name is silently truncated.
Solution:   Give an error if the name is too long. (closes #9289)
2021-12-07 21:29:20 +00:00
Yegappan Lakshmanan
4dc24eb5ad patch 8.2.3756: might crash when callback is not valid
Problem:    might crash when callback is not valid.
Solution:   Check for valid callback. (Yegappan Lakshmanan, closes #9293)
2021-12-07 12:23:57 +00:00
Bram Moolenaar
92c33eb273 patch 8.2.3755: Coverity warns for using a buffer in another scope
Problem:    Coverity warns for using a buffer in another scope.
Solution:   Declare the buffer in a common scope.
2021-12-07 11:03:39 +00:00
Bram Moolenaar
ecabb51107 patch 8.2.3754: undesired changing of the indent of the first formatted line
Problem:    Undesired changing of the indent of the first formatted line.
Solution:   Do not indent the first formatted line.
2021-12-06 19:51:01 +00:00
Bram Moolenaar
3e55a973b5 Add Huntr badge. 2021-12-06 15:13:31 +00:00
Bram Moolenaar
2336c376d5 patch 8.2.3753: Vim9: function unreferenced while called is never deleted
Problem:    Vim9: function unreferenced while called is never deleted.
Solution:   Delete a function when no longer referenced.
2021-12-06 15:06:54 +00:00
h-east
8603be338a patch 8.2.3752: build error when using Photon GUI
Problem:    Build error when using Photon GUI.
Solution:   Adjust #ifdef. (closes #9288)
2021-12-06 11:24:09 +00:00
Yegappan Lakshmanan
6409553b6e patch 8.2.3751: cannot assign a lambda to an option that takes a function
Problem:    Cannot assign a lambda to an option that takes a function.
Solution:   Automatically convert the lambda to a string. (Yegappan
            Lakshmanan, closes #9286)
2021-12-06 11:03:55 +00:00
Bram Moolenaar
40bcec1bac patch 8.2.3750: error messages are everywhere
Problem:    Error messages are everywhere.
Solution:   Move more error messages to errors.h and adjust the names.
2021-12-05 22:19:27 +00:00
Bram Moolenaar
4700398e38 Update runtime files 2021-12-05 21:54:04 +00:00
Bram Moolenaar
12f3c1b77f patch 8.2.3749: error messages are everywhere
Problem:    Error messages are everywhere.
Solution:   Move more error messages to errors.h and adjust the names.
2021-12-05 21:46:34 +00:00
Bram Moolenaar
e5710a02cb patch 8.2.3748: giving an error for an empty sign argument breaks a plugin
Problem:    Giving an error for an empty sign argument breaks a plugin.
Solution:   Do not give an error.
2021-12-05 19:10:04 +00:00
Bram Moolenaar
0bac5fc5e1 patch 8.2.3747: cannot remove highlight from an existing sign
Problem:    Cannot remove highlight from an existing sign. (James McCoy)
Solution:   Only reject empty argument for a new sign.
2021-12-05 17:45:49 +00:00
Bram Moolenaar
c7d5fc8622 patch 8.2.3746: cannot disassemble function starting with "debug" or "profile"
Problem:    Cannot disassemble function starting with "debug" or "profile".
Solution:   Check for white space following. (closes #9273)
2021-12-05 17:20:24 +00:00
Dominique Pelle
f661cee847 patch 8.2.3745: autochdir test fails without the +channel feature
Problem:    Autochdir test fails without the +channel feature.
Solution:   Remove the ch_logfile() call. (Dominique Pellé, closes #9281)
2021-12-05 13:40:01 +00:00
Dominique Pelle
f645ee47c8 patch 8.2.3744: E854 is not tested; some spelling suggestions are not tested
Problem:    E854 is not tested; some spelling suggestions are not tested.
Solution:   Add a couple of tests. (Dominique Pellé, closes #9279)
2021-12-05 13:21:18 +00:00
Bram Moolenaar
5e18ccc60b patch 8.2.3743: ":sign" can add a highlight group without a name
Problem:    ":sign" can add a highlight group without a name.
Solution:   Give an error if the group name is missing. (closes #9280)
2021-12-05 13:02:50 +00:00
Dominique Pelle
f589fd3e10 patch 8.2.3742: dec mouse test fails without gnome terminfo entry
Problem:    Dec mouse test fails without gnome terminfo entry.
Solution:   Check if there is a gnome entry. Also fix 'acd' test on
            MS-Windows. (Dominique Pellé, closes #9282)
2021-12-05 12:39:21 +00:00
Bram Moolenaar
e031fe90cf patch 8.2.3741: using freed memory in open command
Problem:    Using freed memory in open command.
Solution:   Make a copy of the current line.
2021-12-05 12:06:24 +00:00
Bram Moolenaar
c7269f8627 patch 8.2.3740: memory left allocated on exit when using Tcl
Problem:    Memory left allocated on exit when using Tcl.
Solution:   Call Tcl_Finalize().
2021-12-05 11:36:23 +00:00
Bram Moolenaar
dea4a61637 patch 8.2.3739: in wrong directory when using win_execute() with 'acd' set
Problem:    In wrong directory when using win_execute() with 'acd' set.
Solution:   Restore the directory when returning to the window. (closes #9276)
2021-12-04 22:03:34 +00:00
Bram Moolenaar
23bdef2571 patch 8.2.3738: screen is cleared when a FocusLost autocommand triggers
Problem:    Screen is cleared when a FocusLost autocommand triggers.
Solution:   Do not redraw when at the hit-enter or more prompt. (closes #9274)
2021-12-04 17:20:27 +00:00
Dominique Pelle
8dea145e39 patch 8.2.3737: test fails without the 'autochdir' option
Problem:    Test fails without the 'autochdir' option.
Solution:   Check that the option is available. (Dominique Pellé, closes #9272)
2021-12-04 15:12:40 +00:00
Bram Moolenaar
853a7692d1 patch 8.2.3736: test fails without the channel feature
Problem:    Test fails without the channel feature. (Dominique Pellé)
Solution:   Source the check.vim script. (closes #9277)
2021-12-04 15:00:23 +00:00
Yegappan Lakshmanan
7645da568c patch 8.2.3735: cannot use a lambda for 'imactivatefunc'
Problem:    Cannot use a lambda for 'imactivatefunc'.
Solution:   Add lambda support for 'imactivatefunc' and 'imstatusfunc'.
            (Yegappan Lakshmanan, closes #9275)
2021-12-04 14:02:30 +00:00
Bram Moolenaar
01a4dcbcee patch 8.2.3734: Vim9: crash when no pattern match found
Problem:    Vim9: crash when no pattern match found.
Solution:   Check for error.
2021-12-04 13:15:10 +00:00
Bram Moolenaar
b579f6ebbf patch 8.2.3733: Vim9: using "legacy" before range does not work
Problem:    Vim9: using "legacy" before range does not work.
Solution:   Skip over range before parsing command. (closes #9270)
2021-12-04 11:57:00 +00:00
Bram Moolenaar
cd2f8f0e00 patch 8.2.3732: "set! termcap" test fails
Problem:    "set! termcap" test fails.
Solution:   Account for keys without a t_xx entry.
2021-12-03 21:18:14 +00:00
Bram Moolenaar
15a24f0898 patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Problem:    "set! termcap" shows codes in one column, but not keys.
Solution:   Also use one column for keys. (closes #9258)
2021-12-03 20:43:24 +00:00
Bram Moolenaar
800b01b0c8 patch 8.2.3730: "/etc/Muttrc.d/README" gets filetype muttrc
Problem:    "/etc/Muttrc.d/README" gets filetype muttrc.
Solution:   Move the Muttrc.d pattern down, add exception for *.rc files.
2021-12-03 19:24:41 +00:00
Matt Dunford
6f42cb6e51 patch 8.2.3729: no support for squirrels
Problem:    No support for squirrels. (closes #9259)
Solution:   Recognize nuts.
2021-12-03 17:44:26 +00:00
kuuote
04b7b4bf7f patch 8.2.3728: internal error when passing range() to list2blob()
Problem:    Internal error when passing range() to list2blob().
Solution:   Materialize the list first. (closes #9262)
2021-12-03 13:57:00 +00:00
Bram Moolenaar
c14b57c079 patch 8.2.3727: in a gnome terminal keys are recognized as mouse events
Problem:    In a gnome terminal keys are recognized as mouse events.
Solution:   Only recognize DEC mouse events when four numbers are following.
            (closes #9256)
2021-12-03 13:20:29 +00:00
Bram Moolenaar
c903695be5 patch 8.2.3726: README file in a config directory gets wrong filetype
Problem:    README file in a config directory gets wrong filetype.
Solution:   Match README before patterns that match everything in a directory.
2021-12-03 11:44:03 +00:00
Yegappan Lakshmanan
8658c759f0 patch 8.2.3725: cannot use a lambda for 'completefunc' and 'omnifunc'
Problem:    Cannot use a lambda for 'completefunc' and 'omnifunc'.
Solution:   Implement lambda support. (Yegappan Lakshmanan, closes #9257)
2021-12-03 11:09:29 +00:00
Bram Moolenaar
021ef351c2 patch 8.2.3724: build error for missing error message in small build
Problem:    Build error for missing error message in small build.
Solution:   Correct #ifdef.
2021-12-02 20:44:42 +00:00
Bram Moolenaar
acdc911e4e patch 8.2.3723: when using 'linebreak' a text property starts too early
Problem:    When using 'linebreak' a text property starts too early.
Solution:   Decrement "bcol" when looking for property start. (closes #9242)
2021-12-02 19:46:57 +00:00
Bram Moolenaar
5e86964bf4 patch 8.2.3722: Amiga: superfluous messages for freeing lots of yanked text
Problem:    Amiga: superfluous messages for freeing lots of yanked text.
Solution:   Assume that the machine isn't that slow these days.
2021-12-02 18:55:16 +00:00
Bram Moolenaar
9ac38129b6 patch 8.2.3721: using memory freed by losing the clipboard selection
Problem:    Using memory freed by losing the clipboard selection. (Dominique
            Pellé)
Solution:   Check y_array is still valid after calling changed_lines().
            (closes #9253)
2021-12-02 18:42:33 +00:00
Bram Moolenaar
69c76171f1 patch 8.2.3720: Vim9: Internal error when invoking closure in legacy context
Problem:    Vim9: Internal error when invoking closure in legacy context.
Solution:   Give a more appropriate error message. (closes #9251)
2021-12-02 16:38:52 +00:00
Bram Moolenaar
f8bc0ce267 patch 8.2.3719: MS-Windows: test sometimes runs into existing swap file
Problem:    MS-Windows: test sometimes runs into existing swap file.
Solution:   Use a different file name.
2021-12-02 12:30:22 +00:00
Bram Moolenaar
3569c0de67 patch 8.2.3718: compiler warns for unused variable without +textprop
Problem:    Compiler warns for unused variable without the +textprop feature.
            (John Marriott)
Solution:   Adjust #ifdefs.
2021-12-02 11:34:21 +00:00
Bram Moolenaar
db9ff9ab5d patch 8.2.3717: Vim9: error for constant list size is only given at runtime
Problem:    Vim9: error for constant list size is only given at runtime.
Solution:   Give the error at compile time if possible.
2021-12-01 17:38:01 +00:00
Bram Moolenaar
e4eed8c6db patch 8.2.3716: Vim9: range without a command is not compiled
Problem:    Vim9: range without a command is not compiled.
Solution:   Add the ISN_EXECRANGE byte code.
2021-12-01 15:22:56 +00:00
Bram Moolenaar
f0e496a85a patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Problem:    Vim9: valgrind reports spurious problems for a test.
Solution:   Move the test to the set that is known to fail.
2021-12-01 12:41:31 +00:00
DungSaga
7e5503c17a patch 8.2.3714: some unused assignments and ugly code in xxd
Problem:    Some unused assignments and ugly code in xxd.
Solution:   Leave out assignments.  Use marcro for fprintf(). (closes #9246)
2021-12-01 11:24:52 +00:00
Christian Brabandt
0b226f60be patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Problem:    MS-Windows: No error message if vimgrep pattern is not matching.
Solution:   Give an error message. (Christian Brabandt, closes #9245,
            closes #8762)
2021-12-01 10:54:24 +00:00
Yegappan Lakshmanan
05e59e3a9f patch 8.2.3712: cannot use Vim9 lambda for 'tagfunc'
Problem:    Cannot use Vim9 lambda for 'tagfunc'.
Solution:   Make it work, add more tests. (Yegappan Lakshmanan, closes #9250)
2021-12-01 10:30:07 +00:00
Bram Moolenaar
56a8ffdb6e patch 8.2.3711: Vim9: memory leak when compiling :elseif fails
Problem:    Vim9: memory leak when compiling :elseif fails.
Solution:   Cleanup ppconst.
2021-12-01 10:10:22 +00:00
Bram Moolenaar
3d2e031d4f patch 8.2.3710: Vim9: backtick expression expanded for :global
Problem:    Vim9: backtick expression expanded for :global.
Solution:   Check the following command.
2021-12-01 09:27:20 +00:00
Bram Moolenaar
fad2742d53 patch 8.2.3709: Vim9: backtick expression expanded when not desired
Problem:    Vim9: backtick expression expanded when not desired.
Solution:   Only expand a backtick expression for commands that expand their
            argument.  Remove a few outdated TODO comments.
2021-11-30 21:58:19 +00:00
Bram Moolenaar
69535d8a0a patch 8.2.3708: Vim9: test fails with different error
Problem:    Vim9: test fails with different error.
Solution:   Correct the error number.
2021-11-30 21:39:39 +00:00
Bram Moolenaar
90770b746e patch 8.2.3707: Vim9: constant expression of elseif not recognized
Problem:    Vim9: constant expression of elseif not recognized.
Solution:   Set instruction count before generating the expression.
2021-11-30 20:57:38 +00:00
Bram Moolenaar
42eba04522 patch 8.2.3706: text property highlighting is used on Tab
Problem:    Text property highlighting is used on Tab.
Solution:   Only set in_linebreak when not on a Tab. (closes #9242)
2021-11-30 20:22:49 +00:00
Bram Moolenaar
eba3b7f664 patch 8.2.3705: cannot pass a lambda name to function() or funcref()
Problem:    Cannot pass a lambda name to function() or funcref(). (Yegappan
            Lakshmanan)
Solution:   Handle a lambda name differently.
2021-11-30 18:25:08 +00:00
Bram Moolenaar
ab36e6ae7b patch 8.2.3704: Vim9: cannot use a list declaration in a :def function
Problem:    Vim9: cannot use a list declaration in a :def function.
Solution:   Make it work.
2021-11-30 16:14:49 +00:00
Bram Moolenaar
53ba95e4f0 patch 8.2.3703: most people call F# "fsharp" and not "fs"
Problem:    Most people call F# "fsharp" and not "fs".
Solution:   Rename filetype "fs" to "fsharp".
2021-11-30 13:02:58 +00:00
Bram Moolenaar
98cb90ef86 patch 8.2.3702: first key in dict is seen as curly expression and fails
Problem:    First key in dict is seen as curly expression and fails.
Solution:   Ignore failure of curly expression. (closes #9247)
2021-11-30 11:56:22 +00:00
Bram Moolenaar
c750d91a07 patch 8.2.3701: Vim9: invalid LHS is not possible
Problem:    Vim9: invalid LHS is not possible.
Solution:   Remove unreachable error message.
2021-11-29 22:02:12 +00:00
Bram Moolenaar
6b839ac775 patch 8.2.3700: text property highlighting continues over breakindent
Problem:    Text property highlighting continues over breakindent.
Solution:   Stop before the end column. (closes #9242)
2021-11-29 21:12:35 +00:00
Bram Moolenaar
651fca85c7 patch 8.2.3699: the +title feature adds a lot of #ifdef but little code
Problem:    The +title feature adds a lot of #ifdef but little code.
Solution:   Graduate the +title feature.
2021-11-29 20:39:38 +00:00
Bram Moolenaar
0c359af5c0 patch 8.2.3698: match highlighting continues over breakindent
Problem:    Match highlighting continues over breakindent.
Solution:   Stop before the end column. (closes #9242)
2021-11-29 19:18:57 +00:00
Bram Moolenaar
0b74d00693 patch 8.2.3697: cannot drag a popup without a border
Problem:    Cannot drag a popup without a border.
Solution:   Add the "dragall" option. (closes #9218)
2021-11-29 17:38:02 +00:00
Bram Moolenaar
7f2c341664 patch 8.2.3696: Vim9: error for invalid assignment when skipping
Problem:    Vim9: error for invalid assignment when skipping.
Solution:   Do not check white space when skipping. (closes #9243)
2021-11-29 16:01:49 +00:00
Bram Moolenaar
5c1ec439f0 patch 8.2.3695: confusing error for missing key
Problem:    Confusing error for missing key.
Solution:   Use the actualy key for the error. (closes #9241)
2021-11-29 13:44:55 +00:00
Bram Moolenaar
af377e34b0 patch 8.2.3694: cannot use quotes in the count of an Ex command
Problem:    Cannot use quotes in the count of an Ex command.
Solution:   Add getdigits_quoted().  Give an error when misplacing a quote in
            a range. (closes #9240)
2021-11-29 12:12:43 +00:00
Bram Moolenaar
293eb9ba46 patch 8.2.3693: Coverity warns for possibly using a NULL pointer
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Check for NULL and give an error.
2021-11-29 10:36:19 +00:00
Bram Moolenaar
38453528c3 patch 8.2.3692: Vim9: cannot use :func inside a :def function
Problem:    Vim9: cannot use :func inside a :def function.
Solution:   Make it work.
2021-11-28 22:00:12 +00:00
Bram Moolenaar
f566666e88 patch 8.2.3691: build failure with small features
Problem:    Build failure with small features.
Solution:   Add #ifdef. (Dominique Pellé)
2021-11-28 21:33:36 +00:00
Bram Moolenaar
06bffe836c patch 8.2.3690: Vim9: "filter #pat# cmd" does not work
Problem:    Vim9: "filter #pat# cmd" does not work.
Solution:   Do not see #pat# as a comment.
2021-11-28 20:24:17 +00:00
Bram Moolenaar
3ccb579516 patch 8.2.3689: ex_let_one() is too long
Problem:    ex_let_one() is too long.
Solution:   Split into multiple functions.
2021-11-28 19:53:42 +00:00
Christian Brabandt
2e0f3ecb70 patch 8.2.3688: the window title is not updated when dragging the scrollbar
Problem:    The window title is not updated when dragging the scrollbar.
Solution:   Call maketitle(). (Christian Brabandt, closes #9238, closes #5383)
2021-11-28 18:41:05 +00:00
Bram Moolenaar
59f4f9505a patch 8.2.3687: blockwise insert does not handle autoindent properly
Problem:    Blockwise insert does not handle autoindent properly when tab is
            inserted.
Solution:   Adjust text column for indent before computing column.
            (closes #9229)
2021-11-27 22:47:43 +00:00
Bram Moolenaar
3d14c0f2b9 patch 8.2.3686: filetype detection often mixes up Forth and F#
Problem:    Filetype detection often mixes up Forth and F#.
Solution:   Add a function to inspect the file contents. (Doug Kearns)
2021-11-27 17:22:07 +00:00
Bram Moolenaar
c07f11e42f patch 8.2.3685: Visual studio project files are not recognized
Problem:    Visual studio project files are not recognized.
Solution:   Use the xml file type. (Doug Kearns)
2021-11-27 14:31:47 +00:00
Bram Moolenaar
e9b0b40b79 patch 8.2.3684: blockwise insert does not handle autoindent properly
Problem:    Blockwise insert does not handle autoindent properly.
Solution:   Adjust text column for indent. (closes #9229)
2021-11-27 13:28:24 +00:00
Bram Moolenaar
279d733dfb patch 8.2.3683: Vim9: cannot use in :...do commands
Problem:    Vim9: cannot use  in :...do commands.
Solution:   Add EX_EXPAND to the commands. (closes #9232)
2021-11-27 11:42:50 +00:00
Bram Moolenaar
6304be625c Update runtime files. 2021-11-27 10:57:26 +00:00
Bram Moolenaar
7824fc80f6 patch 8.2.3682: Vim9: assigning to a script variable drops the type
Problem:    Vim9: assigning to a script variable drops the required type.
Solution:   Lookup the type of the variable and use it. (closes #9219)
2021-11-26 17:36:51 +00:00
Bram Moolenaar
bfc5786a61 patch 8.2.3681: cannot drag popup window after click on a status line
Problem:    Cannot drag popup window after click on a status line. (Sergey
            Vlasov)
Solution:   Reset on_status_line. (closes #9221)
2021-11-26 15:57:40 +00:00
DungSaga
d1d8a595bd patch 8.2.3680: repeated code in xxd
Problem:    Repeated code in xxd.
Solution:   Change exit_on_ferror() to getc_or_die(). (closes #9226)
2021-11-26 13:59:27 +00:00
Doug Kearns
7329cfab36 patch 8.2.3679: objc file detected as Octave
Problem:    objc file detected as Octave. (Antony Lee)
Solution:   Detect objc by preprocessor lines. (Doug Kearns, closes #9223,
            closes #9220)
2021-11-26 13:01:41 +00:00
Bram Moolenaar
85be8563fe patch 8.2.3678: illegal memory access
Problem:    Illegal memory access.
Solution:   Ignore changed indent when computing byte offset.
2021-11-25 20:40:11 +00:00
Bram Moolenaar
4d07253a48 patch 8.2.3677: after a put the '] mark is on the last byte
Problem:    After a put the '] mark is on the last byte of a multi-byte
            character.
Solution:   Move it to the first byte. (closes #9047)
2021-11-25 19:31:15 +00:00
Bram Moolenaar
309ce25189 patch 8.2.3676: unused runtime file
Problem:    Unused runtime file.
Solution:   Remove rgb.txt.
2021-11-25 15:11:03 +00:00
Bram Moolenaar
ba8c92687d patch 8.2.3675: using freed memory when vim_strsave() fails
Problem:    Using freed memory when vim_strsave() fails.
Solution:   Clear "last_sourcing_name".  Check for msg_source() called
            recursively. (closes #8217)
2021-11-25 14:43:18 +00:00
Bram Moolenaar
96e7a5928e patch 8.2.3674: when ml_get_buf() fails it messes up IObuff
Problem:    When ml_get_buf() fails it messes up IObuff.
Solution:   Return a local pointer. (closes #9214)
2021-11-25 13:52:37 +00:00
Bram Moolenaar
0bd8d05638 patch 8.2.3673: crash when allocating signal stack fails
Problem:    Crash when allocating signal stack fails.
Solution:   Only using sourcing info when available. (closes #9215)
2021-11-25 13:39:28 +00:00
Bram Moolenaar
71b36206be patch 8.2.3672: build failure with unsigned char
Problem:    Build failure with unsigned char.
Solution:   Use int instead of char.
2021-11-25 13:26:19 +00:00
Bram Moolenaar
34c20ff85b patch 8.2.3671: restarting Insert mode in prompt buffer too often
Problem:    Restarting Insert mode in prompt buffer too often when a callback
            switches windows and comes back. (Sean Dewar)
Solution:   Do not set "restart_edit" when already in Insert mode.
2021-11-25 13:04:48 +00:00
Bram Moolenaar
8af87bd6b1 patch 8.2.3670: error checks repeated several times
Problem:    Error checks repeated several times.
Solution:   Move the checks to functions. (closes #9213)
2021-11-25 11:16:50 +00:00
Bram Moolenaar
bd228fd097 patch 8.2.3669: buffer overflow with long help argument
Problem:    Buffer overflow with long help argument.
Solution:   Use snprintf().
2021-11-25 10:50:12 +00:00
Yegappan Lakshmanan
bb277fd89f patch 8.2.3668: messages may be corrupted
Problem:    Messages may be corrupted.
Solution:   Use another buffer instead of IObuff. (Yegappan Lakshmanan,
            closes #9195)
2021-11-24 20:28:31 +00:00
Bram Moolenaar
510d8e6056 patch 8.2.3667: building libvterm fails with MSVC
Problem:    Building libvterm fails with MSVC.
Solution:   Don't use C99 construct.
2021-11-24 19:55:46 +00:00
Bram Moolenaar
7da341560e patch 8.2.3666: libvterm is outdated
Problem:    Libvterm is outdated.
Solution:   Include patches from revision 769 to revision 789.
2021-11-24 19:30:55 +00:00
Yegappan Lakshmanan
19916a8c89 patch 8.2.3665: cannot use a lambda for 'tagfunc'
Problem:    Cannot use a lambda for 'tagfunc'.
Solution:   Use 'tagfunc' like 'opfunc'. (Yegappan Lakshmanan, closes #9204)
2021-11-24 16:32:55 +00:00
Bram Moolenaar
e413ea04b7 patch 8.2.3664: cannot adjust sign highlighting for 'cursorline'
Problem:    Cannot adjust sign highlighting for 'cursorline'.
Solution:   Add CursorLineSign and CursorLineFold highlight groups.
            (Gregory Anders, closes #9201)
2021-11-24 16:20:13 +00:00
presuku
1f2453fec6 patch 8.2.3663: using %S in printf() does not work correctly
Problem:    Using %S in printf() does not work correctly.
Solution:   Fix the problem and add more tests. (closes #9208)
2021-11-24 15:32:57 +00:00
Bram Moolenaar
cf1e0239ce patch 8.2.3662: illegal memory access if malloc() fails
Problem:    Illegal memory access if malloc() fails.
Solution:   Check 'foldmethod' is not empty. (closes #9207)
2021-11-24 15:13:26 +00:00
Bram Moolenaar
8bc07e800c patch 8.2.3661: test for put with large count fails
Problem:    Test for put with large count fails.
Solution:   Adjust the counts in the test.
2021-11-24 14:59:17 +00:00
Bram Moolenaar
9b0e82f35e patch 8.2.3660: overflow check uses wrong number
Problem:    Overflow check uses wrong number.
Solution:   Divide by ten.
2021-11-24 13:40:29 +00:00
Bram Moolenaar
03725c5795 patch 8.2.3659: integer overflow with large line number
Problem:    Integer overflow with large line number.
Solution:   Check for overflow. (closes #9202)
2021-11-24 12:17:53 +00:00
DungSaga
48608b4a4b patch 8.2.3658: duplicate code in xxd
Problem:    Duplicate code in xxd.
Solution:   Merge duplicated code. Add more tests. (closes #9192)
2021-11-24 11:18:07 +00:00
Bram Moolenaar
112bed0cbe patch 8.2.3657: Vim9: debug text misses one line of return statement
Problem:    Vim9: debug text misses one line of return statement.
Solution:   Add a line when not at a debug instruction. (closes #9137)
2021-11-23 22:16:34 +00:00
Bram Moolenaar
65259b5c6a patch 8.2.3656: Vim9: no error for an evironment variable by itself
Problem:    Vim9: no error for an evironment variable by itself.
Solution:   Give a "without effect" error. (closes #9166)
2021-11-23 14:52:06 +00:00
Mike Williams
cc9d725bbb patch 8.2.3655: compiler warning for using size_t for int
Problem:    Compiler warning for using size_t for int.
Solution:   Add a type cast. (Mike Williams, closes #9199)
2021-11-23 12:35:57 +00:00
Chris Dalton
ee93e327ba patch 8.2.3654: GTK: a touch-drag does not update the selection
Problem:    GTK: a touch-drag does not update the selection.
Solution:   Add GDK_BUTTON1_MASK to the state. (Chris Dalton, close #9196,
            closes #9194)
2021-11-23 12:27:48 +00:00
Milly
b771b6b5fe patch 8.2.3653: terminal ANSI colors may be wrong
Problem:    Terminal ANSI colors may be wrong.
Solution:   Initialize the color type. (closes #9198, closes #9197)
2021-11-23 12:07:25 +00:00
Yegappan Lakshmanan
e021662f39 patch 8.2.3652: can only get text properties one line at a time
Problem:    Can only get text properties one line at a time.
Solution:   Add options to prop_list() to use a range of lines and filter by
            types. (Yegappan Lakshmanan, closes #9138)
2021-11-23 11:46:32 +00:00
Bram Moolenaar
04b568b38f patch 8.2.3651: Vim9: no error for :lock or :unlock with unknown variable
Problem:    Vim9: no error for :lock or :unlock with unknown variable.
Solution:   Give an error. (closes #9188)
2021-11-22 21:58:41 +00:00
Bram Moolenaar
3b3755fe19 patch 8.2.3650: Vim9: for loop variable can be a list member
Problem:    Vim9: for loop variable can be a list member.
Solution:   Check for valid variable name. (closes #9179)
2021-11-22 20:10:18 +00:00
Bram Moolenaar
7a53f29c03 patch 8.2.3649: Vim9: error for variable declared in while loop
Problem:    Vim9: error for variable declared in while loop.
Solution:   Do not keep the first variable. (closes #9191)
2021-11-22 18:31:02 +00:00
Bram Moolenaar
4671e88d7d patch 8.2.3648: "verbose pwd" is incorrect after dropping files on Vim
Problem:    "verbose pwd" is incorrect after dropping files on Vim.
Solution:   Set the chdir reason to "drop".
2021-11-22 17:21:48 +00:00
Dusan Popovic
ce59b9f292 patch 8.2.3647: GTK: when using ligatures the cursor is drawn wrong
Problem:    GTK: when using ligatures the cursor is drawn wrong.
Solution:   Clear more characters when ligatures are used. (Dusan Popovic,
            closes #9190)
2021-11-22 17:18:44 +00:00
Bram Moolenaar
c449271f4e patch 8.2.3646: using <sfile> in a function gives an unexpected result
Problem:    Using <sfile> in a function gives an unexpected result.
Solution:   Give an error in a Vim9 function. (issue #9189)
2021-11-22 15:37:15 +00:00
Bram Moolenaar
7d5b8becc3 patch 8.2.3645: Vim9: The "no effect" error is not given for all registers
Problem:    Vim9: The "no effect" error is not given for all registers.
Solution:   Include any character following '@'. (closes #8779)
2021-11-22 15:05:46 +00:00
Bram Moolenaar
2228cd72cf patch 8.2.3644: count for 'operatorfunc' in Visual mode is not redone
Problem:    Count for 'operatorfunc' in Visual mode is not redone.
Solution:   Add the count to the redo buffer. (closes #9174)
2021-11-22 14:16:08 +00:00
zeertzjq
a3f83feb63 patch 8.2.3643: header for source file is outdated
Problem:    Header for source file is outdated.
Solution:   Make the header more accurate. (closes #9186)
2021-11-22 12:47:39 +00:00
Bram Moolenaar
73448a27a8 patch 8.2.3642: list of distributed files is outdated
Problem:    List of distributed files is outdated.
Solution:   Rename term.h to termdefs.h.
2021-11-22 12:06:06 +00:00
DungSaga
581f41adb3 patch 8.2.3641: xxd code has duplicate expressions
Problem:    Xxd code has duplicate expressions.
Solution:   Refactor to avoid duplication. (closes #9185)
2021-11-22 11:57:31 +00:00
Bram Moolenaar
88a4205f1c Update runtime files 2021-11-21 21:13:36 +00:00
Bram Moolenaar
eea32afdb8 patch 8.2.3640: freeze when calling term_wait() in a close callback
Problem:    Freeze when calling term_wait() in a close callback.
Solution:   Set a "closing" flag to tell term_wait() to return. (closes #9152)
2021-11-21 14:51:13 +00:00
Volodymyr Kot
7f0c4b418e patch 8.2.3639: line commented out accidentally
Problem:    Line commented out accidentally.
Solution:   Uncomment. (Volodymyr Kot, closes #9172)
2021-11-21 12:27:13 +00:00
ii14
4785fe02bb patch 8.2.3638: getcompletion() always passes zero as position
Problem:    getcompletion() always passes zero as position to custom
            completion function.
Solution:   Pass the pattern length. (closes #9173)
2021-11-21 12:13:56 +00:00
Dominique Pelle
923dce2b07 patch 8.2.3637: typos in test files
Problem:    Typos in test files.
Solution:   Correct the typos. (Dominique Pellé, closes #9175)
2021-11-21 11:36:04 +00:00
Bram Moolenaar
2c23670300 patch 8.2.3636: Coverity warns for unreachable code
Problem:    Coverity warns for unreachable code.
Solution:   Remove unreachable else block.
2021-11-21 11:15:49 +00:00
Dusan Popovic
3c19b50500 patch 8.2.3635: GTK: composing underline does not show
Problem:    GTK: composing underline does not show.
Solution:   Include composing character in pango call. A few more
            optimizations for ligatures.  (Dusan Popovic, closes #9171,
            closes #9147)
2021-11-20 22:03:30 +00:00
Bram Moolenaar
d604d78e7b patch 8.2.3634: error for already defined function uses wrong line number
Problem:    Error for already defined function uses wrong line number.
Solution:   Set SOURCING_LNUM before giving the error message. (closes #9085)
2021-11-20 21:46:20 +00:00
Bram Moolenaar
a755fdbe80 patch 8.2.3633: Vim9: line number of lambda is off by one
Problem:    Vim9: line number of lambda is off by one.
Solution:   Add one to the line number. (closes #9083)
2021-11-20 21:35:41 +00:00
Yamagi
9cd9385db7 patch 8.2.3632: GTK3: undercurl does not get removed properly
Problem:    GTK3: undercurl does not get removed properly.
Solution:   Set the cairo cursor first. (closes #9170)
2021-11-20 20:42:29 +00:00
Bram Moolenaar
c8a9fe541d patch 8.2.3631: "syntax enable" does not work properly in Vim9 context
Problem:    "syntax enable" does not work properly in Vim9 context.
Solution:   Also handle Vim9 context. (closes #9161)
2021-11-20 19:50:59 +00:00
presuku
d85fccdfed patch 8.2.3630: printf() with %S does not handle multi-byte correctly
Problem:    Printf() with %S does not handle multi-byte correctly.
Solution:   Count cells instead of bytes. (closes #9169, closes #7486)
2021-11-20 19:38:31 +00:00
mityu
a119812437 patch 8.2.3629: command completion in cmdline window uses global commands
Problem:    Command completion in cmdline window uses global user commands,
            not local commands for the window where it was opened from.
Solution:   Use local commands. (closes #9168)
2021-11-20 19:13:39 +00:00
Bram Moolenaar
87fd0924e2 patch 8.2.3628: looking terminal colors is a bit slow
Problem:    Looking terminal colors is a bit slow.
Solution:   Cache the terminal colors. (closes #9130, closes #9058)
2021-11-20 13:47:45 +00:00
Bram Moolenaar
cdf5fdb294 patch 8.2.3627: difficult to know where the text starts in a window
Problem:    difficult to know where the text starts in a window. (Sergey
            Vlasov)
Solution:   Add the "textoff" entry in the result of getwininfo().
            (closes #9163)
2021-11-20 11:14:24 +00:00
Bram Moolenaar
b8e642f7ac patch 8.2.3626: "au! event" cannot be followed by another command
Problem:    "au!" and "au! event" cannot be followed by another command as
            documented.
Solution:   When a bar is found set nextcmd.
2021-11-20 10:38:25 +00:00
Bram Moolenaar
2de9b7c7c8 patch 8.2.3625: illegal memory access when C-indenting
Problem:    Illegal memory access when C-indenting.
Solution:   Also set the cursor column.
2021-11-19 19:41:13 +00:00
Bram Moolenaar
3ad695328f patch 8.2.3624: when renaming a terminal buffer status text is not updated
Problem:    When renaming a terminal buffer the status text is not updated.
Solution:   Clear the cached status text when renaming a terminal buffer.
            (closes #9162)
2021-11-19 17:01:08 +00:00
Christian Brabandt
8b8d829faf patch 8.2.3623: "$*" is expanded to "nonomatch"
Problem:    "$*" is expanded to "nonomatch".
Solution:   Only add "set nonomatch" when using a csh-like shell. (Christian
            Brabandt, closes #9159, closes #9153)
2021-11-19 12:37:36 +00:00
zeertzjq
64be6aa3a5 patch 8.2.3622: "verbose pwd" shows confusing info
Problem:    "verbose pwd" shows confusing info when :lcd does not change
            directory.
Solution:   Clear last_chdir_reason also when the directory does not change.
            (closes #9160)
2021-11-19 11:59:08 +00:00
Bram Moolenaar
1d69ef410a patch 8.2.3621: build failure
Problem:    Build failure.
Solution:   Add missing change.
2021-11-19 11:35:32 +00:00
Bram Moolenaar
b3a29558ee patch 8.2.3620: memory leak reported in libtlib
Problem:    Memory leak reported in libtlib.
Solution:   Call del_curterm() when cleaning up memory.  Rename term.h to
            termdefs.h to avoid a name clash.
2021-11-19 11:28:04 +00:00
Yegappan Lakshmanan
777175b0df patch 8.2.3619: cannot use a lambda for 'operatorfunc'
Problem:    Cannot use a lambda for 'operatorfunc'.
Solution:   Support using a lambda or partial. (Yegappan Lakshmanan,
            closes #8775)
2021-11-18 22:08:57 +00:00
Bram Moolenaar
851c7a699a patch 8.2.3618: getcwd() is unclear about how 'autochdir' is used
Problem:    getcwd() is unclear about how 'autochdir' is used.
Solution:   Update the help for getcwd().  Without any arguments always return
            the actual current directory. (closes #9142)
2021-11-18 20:47:31 +00:00
Bram Moolenaar
0526815c15 patch 8.2.3617: ":verbose pwd" does not mention 'autochdir' was applied
Problem:    ":verbose pwd" does not mention 'autochdir' was applied.
Solution:   Remember the last chdir was done by 'autochdir'.  (issue #9142)
2021-11-18 18:53:45 +00:00
Shougo Matsushita
3cad470385 patch 8.2.3616: arglist test does not clear the argument list consistently
Problem:    Arglist test does not clear the argument list consistently.
Solution:   Call Reset_arglist(). (Shougo Matsushita, closes #9154)
2021-11-18 15:37:29 +00:00
Christian Brabandt
818ff25cd1 patch 8.2.3615: wrong indent in first line if re-formatting with indent expr
Problem:    When re-formatting with an indent expression the first line of a
            paragraph may get the wrong indent. (Martin F. Krafft)
Solution:   Apply the correct indenting function for the first line.
            (Christian Brabandt, closes #9150, closes #9056)
2021-11-18 13:56:37 +00:00
Bakudankun
6555500bcf patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Problem:    zindex of popup windows not used when redrawing popup menu.
Solution:   Check the zindex when redrawing the popup menu.  (closes #9129,
            closes #9089)
2021-11-17 20:40:16 +00:00
Bram Moolenaar
e015d99abb patch 8.2.3613: :find test fails
Problem:    :find test fails.
Solution:   Put length check inside if block.
2021-11-17 19:01:53 +00:00
Bram Moolenaar
64066b9acd patch 8.2.3612: using freed memory with regexp using a mark
Problem:    Using freed memory with regexp using a mark.
Solution:   Get the line again after getting the mark position.
2021-11-17 18:22:56 +00:00
Bram Moolenaar
615ddd5342 patch 8.2.3611: crash when using CTRL-W f without finding a file name
Problem:    Crash when using CTRL-W f without finding a file name.
Solution:   Bail out when the file name length is zero.
2021-11-17 18:00:31 +00:00
Bram Moolenaar
a062006b9d patch 8.2.3610: crash when ModeChanged triggered too early
Problem:    Crash when ModeChanged triggered too early.
Solution:   Trigger ModeChanged after setting VIsual.
2021-11-17 16:52:40 +00:00
Bram Moolenaar
3075a45592 patch 8.2.3609: internal error when ModeChanged is triggered recursively
Problem:    Internal error when ModeChanged is triggered when v:event is
            already in use.
Solution:   Save and restore v:event if needed.
2021-11-17 15:51:52 +00:00
Egor Zvorykin
125ffd21f9 patch 8.2.3608: users who type "q:" instead of ":q" are confused
Problem:    Users who type "q:" instead of ":q" are confused.
Solution:   Add an autocmd to give a message that explains this is the
            command-line window. (Egor Zvorykin, closes #9146)
2021-11-17 14:01:14 +00:00
presuku
9459b8d461 patch 8.2.3607: GTK3 screen updating is slow
Problem:    GTK3 screen updating is slow.
Solution:   Remove some of the GTK3-specific code. (closes #9052)
2021-11-16 20:03:56 +00:00
Bram Moolenaar
d3682c5f28 patch 8.2.3606: file missing from list of distributed files
Problem:    File missing from list of distributed files.
Solution:   Add the file.
2021-11-16 19:20:56 +00:00
Bram Moolenaar
519cc559b0 Update runtime files 2021-11-16 19:18:26 +00:00
Bram Moolenaar
728104da6c Add missing change to version.c 2021-11-16 17:50:34 +00:00
Yegappan Lakshmanan
2a16dc6613 patch 8.2.3605: cannot clear and unlinke a highlight group with hlset()
Problem:    Cannot clear and unlinke a highlight group with hlset() in a
            single call.
Solution:   Add the "force" option. (Yegappan Lakshmanan, closes #9117)
2021-11-16 17:19:30 +00:00
Bram Moolenaar
c143fa0778 patch 8.2.3604: not all sudoers files are recognized
Problem:    Not all sudoers files are recognized.
Solution:   Add a file pattern. (Doug Kearns, closes #1192)
2021-11-16 16:38:42 +00:00
Bram Moolenaar
b1b163efd7 patch 8.2.3603: fish filetype not recognized
Problem:    Fish filetype not recognized.
Solution:   Add a file pattern and match script line. (Doug Kearns)
2021-11-16 15:28:10 +00:00
K.Takata
1be7e21583 patch 8.2.3602: Python3 test fails with Python 3.10 on MS-Windows
Problem:    Python3 test fails with Python 3.10 on MS-Windows.
Solution:   Adjust the expected error. (Ken Takata, closes #9118)
2021-11-16 13:08:56 +00:00
ichizok
fa53722367 patch 8.2.3601: check for overflow in put count does not work well
Problem:    Check for overflow in put count does not work well.
Solution:   Improve the overflow check. (Ozaki Kiichi, closes #9102)
2021-11-16 12:50:46 +00:00
Bram Moolenaar
314b773abb patch 8.2.3600: filetype test fails
Problem:    Filetype test fails.
Solution:   Add missint change.
2021-11-16 11:53:13 +00:00
Bram Moolenaar
782b4bbc16 patch 8.2.3599: not all gdbinit files are recognized
Problem:    Not all gdbinit files are recognized.
Solution:   Add "gdbinit". (Doug Kearns)
2021-11-16 11:10:11 +00:00
zainin
0818ab82e7 patch 8.2.3598: RouterOS filetype is not recognized
Problem:    RouterOS filetype is not recognized.
Solution:   Add file and script patterns. (closes #9097)
2021-11-15 21:44:11 +00:00
Bram Moolenaar
36968af155 patch 8.2.3597: Vim seems to hang when writing a long text to a terminal
Problem:    Vim seems to hang when writing a very long text to a terminal
            window.
Solution:   Limit the amount of text based on 'termwinscroll'. (issue #9080)
2021-11-15 17:13:11 +00:00
Yegappan Lakshmanan
733b124a90 patch 8.2.3596: crash when using :pedit in Vim9 script
Problem:    Crash when using :pedit in Vim9 script.
Solution:   Move check for arguments to after checking there are arguments.
            (Yegappan Lakshmanan, closes #9134, closes #9135)
2021-11-15 11:22:09 +00:00
Bram Moolenaar
0d5a12ea04 patch 8.2.3595: check for signed overflow might not work everywhere
Problem:    Check for signed overflow might not work everywhere.
Solution:   Limit to 32 bit int. (closes #9043, closes #9067)
2021-11-14 14:05:18 +00:00
Bram Moolenaar
786e05beb5 patch 8.2.3594: xxd code is a bit difficult to understand
Problem:    Xxd code is a bit difficult to understand.
Solution:   Move some lines to a separate function. (closes #9037)
2021-11-14 13:46:05 +00:00
Bram Moolenaar
7f13b24ab6 patch 8.2.3593: directory is wrong after executing "lcd" with win_execute()
Problem:    Directory is wrong after executing "lcd" with win_execute().
Solution:   Correct the directory when going back to the original window.
            (closes #9132)
2021-11-14 11:41:31 +00:00
Dominique Pelle
6a950a6007 patch 8.2.3592: Test_hlset fails when terminal has many columns
Problem:    Test_hlset fails when terminal has many columns.
Solution:   Set the number of columns to 80. (Dominique Pellé, closes #9101,
            closes #9100)
2021-11-13 18:44:37 +00:00
naohiro ono
23beefed73 patch 8.2.3591: no event is triggered when closing a window
Problem:    No event is triggered when closing a window.
Solution:   Add the WinClosed event. (Naohiro Ono, closes #9110)
2021-11-13 12:38:49 +00:00
Drew Vogel
a0fca17251 patch 8.2.3590: test for v:colornames sometimes fails
Problem:    Test for v:colornames sometimes fails. (Dominique Pellé)
Solution:   Check features.  Clear v:colornames between tests. (Drew Vogel,
            closes #9105, closes #9073)
2021-11-13 10:50:01 +00:00
Bram Moolenaar
5300be620c patch 8.2.3589: failure when "term_rows" of term_start() is an unusual value
Problem:    Failure when the "term_rows" argument of term_start() is an
            unusual value.
Solution:   Limit to range of zero to 1000. (closes #9116)
2021-11-13 10:27:40 +00:00
Bram Moolenaar
606efc7df4 patch 8.2.3588: break statement is never reached
Problem:    Break statement is never reached.
Solution:   Rely on return value of set_chars_option() not changing.
            (closes #9103)
2021-11-12 19:52:47 +00:00
Bram Moolenaar
0a15c7676b patch 8.2.3587: compiler test fails with backslash file separator
Problem:    Compiler test fails with backslash file separator.
Solution:   Accept slash and backslash.
2021-11-12 16:09:54 +00:00
Bram Moolenaar
326e7da609 patch 8.2.3586: command completion test fails
Problem:    Command completion test fails.
Solution:   Add new argument to expected output
2021-11-12 16:06:03 +00:00
Bram Moolenaar
8813739673 patch 8.2.3585: crash when passing float to "term_rows" of term_start()
Problem:    Crash when passing float to "term_rows" in the options argument of
            term_start(). (Virginia Senioria)
Solution:   Bail out if the argument is not a number. (closes #9116)
2021-11-12 16:01:15 +00:00
Bram Moolenaar
58ef8a31d7 patch 8.2.3584: "verbose set efm" reports location of the :compiler command
Problem:    "verbose set efm" reports the location of the :compiler command.
            (Gary Johnson)
Solution:   Add the "-keepscript" argument to :command and use it when
            defining CompilerSet.
2021-11-12 11:25:11 +00:00
Bram Moolenaar
0c71114aed patch 8.2.3583: the "gd" and "gD" commands do not update search stats
Problem:    The "gd" and "gD" commands do not update search stats. (Gary
            Johnson)
Solution:   Clear search stats.
2021-11-12 10:30:04 +00:00
Bram Moolenaar
113cb513f7 Update runtime files 2021-11-07 20:27:04 +00:00
Bram Moolenaar
15d9890eee patch 8.2.3582: reading uninitialized memory when giving spell suggestions
Problem:    Reading uninitialized memory when giving spell suggestions.
Solution:   Check that preword is not empty.
2021-11-04 15:46:05 +00:00
Bram Moolenaar
0b5b06cb47 patch 8.2.3581: reading character past end of line
Problem:    Reading character past end of line.
Solution:   Correct the cursor column.
2021-11-04 15:10:11 +00:00
Christian Brabandt
aaec1d4fb1 patch 8.2.3580: gj does not move properly with a wide character
Problem:    gj does not move properly with a wide character.
Solution:   Move one to the right. (Christian Brabandt, closes #8702)
2021-11-04 13:28:29 +00:00
Christian Brabandt
4b2c804767 patch 8.2.3579: CI sometimes fails for MinGW
Problem:    CI sometimes fails for MinGW.
Solution:   Use backslashes in HandleSwapExists(). (Christian Brabandt,
            closes #9078)
2021-11-03 22:31:44 +00:00
Bram Moolenaar
b32aa8a6a1 Add missing piece of patch 8.2.3578 2021-11-03 22:25:06 +00:00
Yegappan Lakshmanan
d1a8d658e1 patch 8.2.3578: manipulating highlighting is complicated
Problem:    Manipulating highlighting is complicated.
Solution:   Add the hlget() and hlset() functions. (Yegappan Lakshmanan,
            closes #9039)
2021-11-03 21:56:45 +00:00
Bram Moolenaar
0f0044125c patch 8.2.3577: overflow check fails with 32 ints
Problem:    Overflow check fails with 32 ints.
Solution:   Only test with 64 bit ints.
2021-11-03 13:43:16 +00:00
Sean Dewar
a63780b977 patch 8.2.3576: some functions are not documented for use with a method
Problem:    Some functions are not documented for use with a method.
Solution:   Add examples.  Fix that sign_unplacelist() only takes one
            argument. (Sean Dewar, closes #9081)
2021-11-03 13:15:47 +00:00
Bram Moolenaar
e551ccfb93 patch 8.2.3575: overflow check still fails when sizeof(int) == sizeof(long)
Problem:    Overflow check still fails when sizeof(int) == sizeof(long).
Solution:   Use a float to check the result.
2021-11-02 23:11:00 +00:00
Bram Moolenaar
8a1962d135 patch 8.2.3574: divide by zero
Problem:    Divide by zero.
Solution:   Don't check for overflow if multiplicand is zero.
2021-11-02 22:48:49 +00:00
Bram Moolenaar
69b3072d98 patch 8.2.3573: cannot decide whether to skip test that fails with 64 bit
Problem:    Cannot decide whether to skip test that fails with 64 bit ints.
            (closes #9072)
Solution:   Add v:sizeofint, v:sizeoflong and v:sizeofpointer.  Improve the
            check for multiply overflow.
2021-11-02 21:39:49 +00:00
zeertzjq
7a33ebfc5b patch 8.2.3572: memory leak when closing window and using "multispace"
Problem:    Memory leak when closing window and using "multispace" in
            'listchars'.
Solution:   Free the memory. (closes #9071)
2021-11-02 20:56:07 +00:00
Bram Moolenaar
e2f66064d1 patch 8.2.3571: some unicode control characters are considered printable
Problem:    Some unicode control characters are considered printable.
Solution:   Make 0x2060 - 0x2069 not printable.
2021-11-02 20:24:38 +00:00
Bram Moolenaar
ec6e63079d patch 8.2.3570: Test_very_large_count fails on 32bit systems
Problem:    Test_very_large_count fails on 32bit systems.
Solution:   Bail out when using 32 bit numbers. (closes #9072)
2021-11-01 22:58:43 +00:00
Christian Brabandt
fd916d654d patch 8.2.3569: error for :let when vimrc is Vim 9 script
Problem:    Error for :let when vimrc is Vim 9 script.
Solution:   Prepend :legacy in the code for converting arguments. (Christian
            Brabandt, closes #9068, closes #9077)
2021-11-01 22:44:33 +00:00
Dominique Pelle
8753c1dd2c patch 8.2.3568: ctrl-hat test fails with Athena and Motif
Problem:    Ctrl-hat test fails with Athena and Motif. (Elimar Riesebieter)
Solution:   Run the test only with GTK. (Dominique Pellé, closes #9069)
2021-10-31 20:19:17 +00:00
Dominique Pelle
9cd063e319 patch 8.2.3567: CTRL-I in Insert mode is not tested
Problem:    CTRL-I in Insert mode is not tested
Solution:   Add a test case. (Dominique Pellé, closes #8866)
2021-10-28 21:06:05 +01:00
Gary Johnson
44db603f69 patch 8.2.3566: build failure on old systems when using nano timestamp
Problem:    Build failure on old systems when using nano timestamp.
Solution:   Define _BSD_SOURCE, _SVID_SOURCE and _DEFAULT_SOURCE. (Gary
            Johnson, closes #9054)
2021-10-28 20:49:06 +01:00
Bram Moolenaar
2446ec9b56 patch 8.2.3565: Makefile dependencies are outdated
Problem:    Makefile dependencies are outdated. (Gary Johnson)
Solution:   Run "make depend" and add missing dependencies.
2021-10-26 12:00:01 +01:00
Bram Moolenaar
777e7c21b7 patch 8.2.3564: invalid memory access when scrolling without valid screen
Problem:    Invalid memory access when scrolling without a valid screen.
Solution:   Do not set VALID_BOTLINE in w_valid.
2021-10-25 17:07:04 +01:00
Bram Moolenaar
2a52196b78 patch 8.2.3563: build failure with +eval but without GUI or +termguicolors
Problem:    Build failure with +eval but without GUI or +termguicolors
Solution:   Adjust #ifdef. (John Marriott)
2021-10-25 10:30:14 +01:00
Drew Vogel
e30d10253f patch 8.2.3562: cannot add color names
Problem:    Cannot add color names.
Solution:   Add the v:colornames dictionary. (Drew Vogel, closes #8761)
2021-10-24 20:35:07 +01:00
James McCoy
3c5904d2a5 patch 8.2.3561: cscope has a complicated way of giving an error message
Problem:    Cscope has a complicated way of giving an error message.
Solution:   Use semsg(). (James McCoy, closes #9038)
2021-10-24 14:50:07 +01:00
Bram Moolenaar
844fb64a60 patch 8.2.3560: using freed memory with lambda
Problem:    Using freed memory with lambda.
Solution:   Do not free lines early, keep them until the expression is
            finished.
2021-10-23 13:32:30 +01:00
Bram Moolenaar
ee56f3f119 patch 8.2.3559: loop variable recreated every time
Problem:    Loop variable recreated every time.
Solution:   Keep the loop variable when looping.
2021-10-23 12:34:27 +01:00
Bram Moolenaar
079ba76ae7 Update runtime files 2021-10-23 12:08:41 +01:00
Bram Moolenaar
06ca48a40f patch 8.2.3558: Vim9: asserting the wrong variable
Problem:    Vim9: asserting the wrong variable.
Solution:   Don't use Foo, use Goo.
2021-10-23 10:25:21 +01:00
Bram Moolenaar
5fe07d2e08 patch 8.2.3557: Vim9: cannot call imported funcref at script level
Problem:    Vim9: cannot call imported funcref at script level.
Solution:   Check for an imported function. (closes #9007)
2021-10-22 22:17:53 +01:00
Bram Moolenaar
841c225b9e patch 8.2.3556: filler lines are incorrect for other window in diff mode
Problem:    Filler lines are incorrect for other window in diff mode after
            making a change.
Solution:   Copy filler lines from the current window. (closes #8809)
2021-10-22 20:56:55 +01:00
=?UTF-8?q?Magnus=20Gro=C3=9F?=
25def2c8b8 patch 8.2.3555: ModeChanged is not triggered on every mode change
Problem:    ModeChanged is not triggered on every mode change.
Solution:   Also trigger on minor mode changes. (Maguns Gross, closes #8999)
2021-10-22 18:56:39 +01:00
DungSaga
a2ffb43520 patch 8.2.3554: xxd has various way to exit
Problem:    Xxd has various way to exit.
Solution:   Add function to print error and exit. (closes #9035)
2021-10-22 15:55:31 +01:00
Bram Moolenaar
5a5c111e79 patch 8.2.3553: xxd test fails on MS-Windows
Problem:    Xxd test fails on MS-Windows.
Solution:   Split shell command in two.
2021-10-22 15:11:37 +01:00
DungSaga
47810464aa patch 8.2.3552: xxd revert does not handle end of line correctly
Problem:    Xxd revert does not handle end of line correctly.
Solution:   Check for newline first. (closes #9034)
2021-10-22 12:55:42 +01:00
itchyny
94e7d345c1 patch 8.2.3551: checking first character of url twice
Problem:    Checking first character of url twice.
Solution:   Only check once. (closes #9026)
2021-10-21 18:01:13 +01:00
Shougo Matsushita
ae38a9db77 patch 8.2.3550: completion() does not work properly
Problem:    completion() does not work properly.
Solution:   Set xp_line and add WILD_HOME_REPLACE. (Shougo Matsushita,
            closes #9016)
2021-10-21 11:39:53 +01:00
zeertzjq
b811de5d49 patch 8.2.3549: mistakes in test comments
Problem:    Mistakes in test comments.
Solution:   Fix the comments. (closes #9029)
2021-10-21 10:50:44 +01:00
Bram Moolenaar
d68a004485 patch 8.2.3548: GTK GUI crashen when reading from stdin
Problem:    GTK GUI crashen when reading from stdin.
Solution:   Do not overwrite the NUL after the string. (closes #9028)
2021-10-20 23:08:11 +01:00
Bram Moolenaar
1d30fde3c9 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Problem:    Opening the quickfix window triggers BufWinEnter twice. (Yorick
            Peterse)
Solution:   Only trigger BufWinEnter with "quickfix". (closes #9022)
2021-10-20 21:58:42 +01:00
zeertzjq
09f7723d5a patch 8.2.3546: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Add #ifdef. (closes #9025)
2021-10-20 17:21:24 +01:00
zeertzjq
94358a1e6e patch 8.2.3545: setcellwidths() may make 'listchars' or 'fillchars' invalid
Problem:    setcellwidths() may make 'listchars' or 'fillchars' invalid.
Solution:   Check the value and give an error. (closes #9024)
2021-10-20 11:01:15 +01:00
itchyny
051a40c8d9 patch 8.2.3544: Unix: may leak file descriptor using non-existing directory
Problem:    Unix: may leak file descriptor when using a non-existing
            directory.
Solution:   Always close the file. (closes #9023)
2021-10-20 10:00:05 +01:00
Bram Moolenaar
8b0e62c93b patch 8.2.3543: swapname has double slash when 'directory' ends in it
Problem:    Swapname has double slash when 'directory' ends in double slash.
            (Shane Smith)
Solution:   Remove the superfluous slash. (closes #8876)
2021-10-19 22:12:25 +01:00
Bram Moolenaar
c5935a859e patch 8.2.3542: too many comments are old style
Problem:    Too many comments are old style.
Solution:   Change comments to // style. (closes #9021)
2021-10-19 20:48:52 +01:00
Bram Moolenaar
731fba1081 patch 8.2.3541: compiler warning for unused variable in tiny version
Problem:    Compiler warning for unused variable in tiny version.
Solution:   Add #ifdef. (John Marriott)
2021-10-19 20:24:34 +01:00
Bram Moolenaar
f47ebf1e1a patch 8.2.3540: the mark '] is wrong after put with a count
Problem:    The mark '] is wrong after put with a count. (Naohiro Ono)
Solution:   Use the right line number. (closes #8956)
2021-10-19 20:08:45 +01:00
Bram Moolenaar
604e207e27 patch 8.2.3539: GTK3: with 'rightleft' set scrollbar may move unintentionally
Problem:    GTK3: with 'rightleft' set scrollbar may move unintentionally.
Solution:   Ignore events while moving the scrollbar thumb. (closes #8958)
2021-10-19 14:22:03 +01:00
Yegappan Lakshmanan
d43d8e28db patch 8.2.3538: else-if indenting is confusing
Problem:    Else-if indenting is confusing.
Solution:   Add curly brackets. (Yegappan Lakshmanan, closes #9017)
2021-10-19 13:44:52 +01:00
naohiro ono
75c30e96cf patch 8.2.3537: mode() does not return the right value in 'operatorfunc'
Problem:    mode() does not return the right value in 'operatorfunc'.
Solution:   Reset finish_op while calling 'operatorfunc'.
2021-10-19 11:15:41 +01:00
Yegappan Lakshmanan
ad6b90c33c patch 8.2.3536: the do_highlight() function is way too long
Problem:    The do_highlight() function is way too long.
Solution:   Split it into several functions. (Yegappan Lakshmanan,
            closes #9011)
2021-10-18 22:13:57 +01:00
Dominique Pelle
9b0b844d25 patch 8.2.3535: if-else indenting is confusing
Problem:    If-else indenting is confusing.
Solution:   Add curly brackets and indent. (Dominique Pellé, closes #9010)
2021-10-18 20:56:39 +01:00
Bram Moolenaar
944eeb44fb patch 8.2.3534: autoread test is a bit flaky
Problem:    Autoread test is a bit flaky.
Solution:   Wait a brief moment before overwriting the file.
2021-10-18 14:37:13 +01:00
DungSaga
375c35a63f patch 8.2.3533: inefficient code in xxd
Problem:    Inefficient code in xxd.
Solution:   Don't use "p" when "hextype" is non-zero. (closes #9013)
2021-10-18 13:16:03 +01:00
Bram Moolenaar
e08aee60ab patch 8.2.3532: the previous '' mark is restored after moving the cursor
Problem:    The previous '' mark is restored after moving the cursor to the
            original jump position. (Tony Chen)
Solution:   Forget the previous position after checking. (closes #8985)
2021-10-17 21:53:58 +01:00
Bram Moolenaar
39c47c3104 patch 8.2.3531: command line completion test fails on MS-Windows
Problem:    Command line completion test fails on MS-Windows.
Solution:   Do not test with "\{" on MS-Windows.
2021-10-17 18:05:26 +01:00
Bram Moolenaar
21c1a0c2f1 patch 8.2.3530: ":buf \{a}" fails while ":edit \{a}" works
Problem:    ":buf \{a}" fails while ":edit \{a}" works.
Solution:   Unescape "\{". (closes #8917)
2021-10-17 17:20:23 +01:00
Atsushi SUGAWARA
34a364877f patch 8.2.3529: xxd usage output is incomplete
Problem:    Xxd usage output is incomplete.
Solution:   Add "bytes" to "-g" flag. (Atsushi Sugawara, closes #8944)
2021-10-17 16:09:08 +01:00
Bram Moolenaar
f4d8b76d30 patch 8.2.3528: 'thesaurus' and 'thesaurusfunc' do not have the same scope
Problem:    'thesaurus' and 'thesaurusfunc' do not have the same scope.
Solution:   Make 'thesaurusfunc' global-local.
2021-10-17 14:13:09 +01:00
Bram Moolenaar
9d4b8caf9e patch 8.2.3527: gcc complains about uninitialized variable
Problem:    Gcc complains about uninitialized variable. (Tony Mechelynck)
Solution:   Initialize it.
2021-10-17 11:33:47 +01:00
Bram Moolenaar
40bd5a1540 patch 8.2.3526: tests have clumsy check for X11 based GUI
Problem:    Tests have clumsy check for X11 based GUI.
Solution:   Add CheckX11BasedGui.
2021-10-16 21:58:27 +01:00
Bram Moolenaar
d4c4bfa007 patch 8.2.3525: option variable name does not match option name
Problem:    Option variable name does not match option name. (Christ van
            Willigen)
Solution:   Rename the variable.
2021-10-16 21:14:11 +01:00
Dusan Popovic
4eeedc09fe patch 8.2.3524: GUI: ligatures are not used
Problem:    GUI: ligatures are not used.
Solution:   Add the 'guiligatures' option. (Dusan Popovic, closes #8933)
2021-10-16 20:52:05 +01:00
DungSaga
c89c91cafd patch 8.2.3523: duplicated code in xxd
Problem:    Duplicated code in xxd.
Solution:   Remove duplicated lines. (closes #8972)
2021-10-16 19:07:46 +01:00
Bram Moolenaar
93ff6720fe patch 8.2.3522: cannot use \x and \u when setting 'listchars'
Problem:    Cannot use \x and \u when setting 'listchars'.
Solution:   Support hex and unicode in hex form. (closes #9006)
2021-10-16 17:51:40 +01:00
Bram Moolenaar
abdcfd1c83 patch 8.2.3521: options completion test fails
Problem:    Options completion test fails.
Solution:   Add 'thesaurusfunc' to the results.
2021-10-16 16:48:27 +01:00
Yegappan Lakshmanan
160e994d76 patch 8.2.3520: cannot define a function for thesaurus completion
Problem:    Cannot define a function for thesaurus completion.
Solution:   Add 'thesaurusfunc'. (Yegappan Lakshmanan, closes #8987,
            closes 8950)
2021-10-16 15:41:29 +01:00
Bram Moolenaar
2286304cdb Update runtime files 2021-10-16 15:23:36 +01:00
Aman Verma
28b6a3bef6 patch 8.2.3519: TOML files are not recognized
Problem:    TOML files are not recognized.
Solution:   Add filetype patterns for TOML. (Aman Verma, closes #8984)
2021-10-16 13:44:04 +01:00
Bram Moolenaar
f08b0eb869 patch 8.2.3518: Test_xrestore sometimes fails
Problem:    Test_xrestore sometimes fails.
Solution:   Mark the test as flayky.  Move marking test as flaky to the test
            instead of listing them in runtest.
2021-10-16 13:00:14 +01:00
Christian Brabandt
db3b44640d patch 8.2.3517: TextChanged does not trigger after TextChangedI
Problem:    TextChanged does not trigger after TextChangedI.
Solution:   Store the tick separately for TextChangedI. (Christian Brabandt,
            closes #8968, closes #8932)
2021-10-16 11:58:55 +01:00
Milly
7b5f45be21 patch 8.2.3516: terminal window does not have transparent background
Problem:    Terminal window does not have transparent background when
            'termguicolors' is used.
Solution:   Fix the background color. (closes #2361, closes #9002)
2021-10-15 22:25:43 +01:00
ichizok
def69dffb3 patch 8.2.3515: nano time test fails on Mac and FreeBSD
Problem:    Nano time test fails on Mac and FreeBSD.
Solution:   Also check nano time when not on Linux. (Ozaki Kiichi,
            closes #9000)
2021-10-15 17:23:12 +01:00
Bram Moolenaar
eaa006dae3 patch 8.2.3514: autoread test with nano second time sometimes fails
Problem:    Autoread test with nano second time sometimes fails.
Solution:   Mark the test as being flaky.
2021-10-15 17:09:50 +01:00
Bram Moolenaar
a2cff1dbc9 patch 8.2.3513: using freed memory when using a timer and searching
Problem:    Using freed memory when using a timer and searching. (Dominique
            Pellé)
Solution:   Allocated mr_pattern.
2021-10-15 12:51:29 +01:00
Bram Moolenaar
accf4ed352 patch 8.2.3512: timestamp test fails on some systems
Problem:    Timestamp test fails on some systems.
Solution:   Sleep for a short while.
2021-10-15 00:38:02 +01:00
Bram Moolenaar
a06758dd38 patch 8.2.3511: Vim9: entry for loop variable is created every round
Problem:    Vim9: entry for loop variable is created every round.
Solution:   Only create the entry once. (closes #8996)
2021-10-15 00:18:37 +01:00
Leah Neukirchen
0a7984af56 patch 8.2.3510: changes are only detected with one second accuracy
Problem:    Changes are only detected with one second accuracy.
Solution:   Use the nanosecond time if possible.  (Leah Neukirchen,
            closes #8873, closes #8875)
2021-10-14 21:27:55 +01:00
Bram Moolenaar
340dd0fbe4 patch 8.2.3509: undo file is not synced
Problem:    Undo file is not synced. (Sami Farin)
Solution:   Sync the undo file if 'fsync' is set. (Christian Brabandt,
            closes #8879, closes #8920)
2021-10-14 17:52:23 +01:00
Bram Moolenaar
051a8a375f patch 8.2.3508: Vim9: bad separators for "g" and "s" insufficiently tested
Problem:    Vim9: bad separators for "g" and "s" insufficiently tested.
Solution:   Add a few more test cases.
2021-10-14 16:53:42 +01:00
Bram Moolenaar
75aa92a162 patch 8.2.3507: generating proto files may fail
Problem:    Generating proto files may fail.
Solution:   Define __attribute().
2021-10-14 16:27:19 +01:00
Bram Moolenaar
c0abac67d7 patch 8.2.3506: Vim9: special cases for "g" and "s" insufficiently tested
Problem:    Vim9: special cases for "g" and "s" insufficiently tested.
Solution:   Add a few more test cases.
2021-10-13 21:17:05 +01:00
Bram Moolenaar
3be69bf539 patch 8.2.3505: Vim9: build failure without the +eval feature
Problem:    Vim9: build failure without the +eval feature.
Solution:   Add #ifdef.
2021-10-13 15:37:15 +01:00
Bram Moolenaar
7f32092b91 patch 8.2.3504: Vim9: warning for signed vs unsigned
Problem:    Vim9: warning for signed vs unsigned.
Solution:   Add type cast.
2021-10-13 15:28:28 +01:00
Bram Moolenaar
7b82926892 patch 8.2.3503: Vim9: using g:pat:cmd is confusing
Problem:    Vim9: using g:pat:cmd is confusing.
Solution:   Do not recognize g: as the :global command.  Also for s:pat:repl.
            (closes #8982)
2021-10-13 15:04:34 +01:00
Bram Moolenaar
fff10d9a76 patch 8.2.3502: cannot enter password in shell command
Problem:    Cannot enter password in shell command.
Solution:   Revert patch 8.2.2919.
2021-10-13 10:05:30 +01:00
Eric Pruitt
e519eb41c1 patch 8.2.3501: tmux filetype dection is incomplete
Problem:    tmux filetype dection is incomplete
Solution:   Also use tmux for files having text after .conf. (Eric Pruitt,
            closes #8971)
2021-10-12 13:58:23 +01:00
Christian Brabandt
3a724290c5 patch 8.2.3500: Github CI fails to install clang
Problem:    Github CI fails to install clang.
Solution:   Install llvm-11 explicitly. (Christian Brabandt, closes #8993)
2021-10-12 12:02:49 +01:00
Bram Moolenaar
3d031a0ae7 patch 8.2.3499: GUI geometry startup test fails
Problem:    GUI geometry startup test fails.
Solution:   Check string values instead of numbers
2021-10-11 22:57:34 +01:00
James McCoy
37f341d723 patch 8.2.3498: recover test may fail on some systems
Problem:    Recover test may fail on some systems.
Solution:   Adjust the little endian and 64 bit detection. (James McCoy,
            closes #8941)
2021-10-11 21:04:37 +01:00
Dominique Pelle
a9173d06f7 patch 8.2.3497: put test fails when run by itself
Problem:    Put test fails when run by itself.
Solution:   Source check.vim. (Dominique Pellé, closes #8990)
2021-10-11 20:26:55 +01:00
James McCoy
a5d4f3b09d patch 8.2.3496: crypt test fails if xxd was not installed yet
Problem:    Crypt test fails on MS-Windows if xxd was not installed yet.
Solution:   Use the just built xxd executable if it exists. (James McCoy,
            closes #8929)
2021-10-11 16:27:03 +01:00
Bram Moolenaar
b376aa2da4 patch 8.2.3495: GUI geometry startup test fails on some systems
Problem:    GUI geometry startup test fails on some systems. (Drew Vogel)
Solution:   Add tolerance to the size check. (closes #8815)
2021-10-11 16:08:32 +01:00
Bram Moolenaar
b07626d4af patch 8.2.3494: illegal memory access in utf_head_off
Problem:    Illegal memory access in utf_head_off.
Solution:   Check cursor position when reselecting the Visual area.
            (closes #8963)
2021-10-11 15:40:43 +01:00
Bram Moolenaar
cddd5ac911 patch 8.2.3493: large count test fails on MS-Windows
Problem:    Large count test fails on MS-Windows.
Solution:   Skip the test on MS-Windows.
2021-10-10 13:54:01 +01:00
Bram Moolenaar
eeed1c7ae0 patch 8.2.3492: crash when pasting too many times
Problem:    Crash when pasting too many times.
Solution:   Limit the size to what fits in an int. (closes #8962)
2021-10-10 12:35:17 +01:00
Bram Moolenaar
6e77b88df6 patch 8.2.3491: xpm2 filetype dection is not so good
Problem:    xpm2 filetype dection is not so good.
Solution:   Adjust the check for xpm2. (closes #8914)
2021-10-09 16:29:43 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
3826c0513b patch 8.2.3490: superfluous return statements
Problem:    Superfluous return statements.
Solution:   Remove superfluous return statements from void functions.
            (closes #8977)
2021-10-09 15:39:25 +01:00
Bram Moolenaar
35a319b77f patch 8.2.3489: ml_get error after search with range
Problem:    ml_get error after search with range.
Solution:   Limit the line number to the buffer line count.
2021-10-09 13:58:55 +01:00
snxx
26190b2701 patch 8.2.3488: issue template is not easy to use
Problem:    Issue template is not easy to use.
Solution:   Use a yaml template. (closes #8928)
2021-10-09 12:50:20 +01:00
Bram Moolenaar
826bfe4bbd patch 8.2.3487: illegal memory access if buffer name is very long
Problem:    Illegal memory access if buffer name is very long.
Solution:   Make sure not to go over the end of the buffer.
2021-10-08 18:39:28 +01:00
Bram Moolenaar
cce81e9673 patch 8.2.3486: illegal memory access with invalid sequence of commands
Problem:    Illegal memory access with invalid sequence of commands.
Solution:   Do not call leave_block() when not in a try block. (closes #8966)
            Reset did_emsg so that exception is shown as an error.
2021-10-06 22:08:11 +01:00
Zdenek Dohnal
edd7a476fb patch 8.2.3485: Python 3 test fails with Python 3.10
Problem:    Python 3 test fails with Python 3.10.
Solution:   Adjust expected error message. (zdohnal Dohnal, closes #8969)
2021-10-06 19:39:16 +01:00
Bram Moolenaar
e275ba4fc9 patch 8.2.3484: crash when going through spell suggestions
Problem:    Crash when going through spell suggestions.
Solution:   Limit the text length for finding suggestions to the original
            length.  Do not update buffers when exiting. (closes #8965)
2021-10-06 13:41:07 +01:00
Bram Moolenaar
e2982d6911 patch 8.2.3483: #ifdef for using sysinfo() is incomplete
Problem:    #ifdef for using sysinfo() is incomplete.
Solution:   Also check for HAVE_SYSINFO. Make autoconf check use TRY_LINK.
            (closes #8952)
2021-10-06 11:27:21 +01:00
Bram Moolenaar
78e0fa4cf4 patch 8.2.3482: reading beyond end of line ending in quote and backslash
Problem:    Reading beyond end of line ending in quote and backslash.
Solution:   Check for non-NUL after backslash. (closes #8964)
2021-10-05 21:58:53 +01:00
James McCoy
2e258bd79f patch 8.2.3481: failures when char is unsigned
Problem:    Failures when char is unsigned.
Solution:   Use int8_T.  Make a CI run with unsigned char. (James McCoy,
            closes #8936)
2021-10-05 19:44:04 +01:00
Dominique Pelle
949de97da3 patch 8.2.3480: test does not fail without the fix for a crash
Problem:    Test does not fail without the fix for a crash.
Solution:   Write the bad code in a file and source it. (Dominique Pellé,
            closes #8961)
2021-10-05 19:28:01 +01:00
Bram Moolenaar
7c25a7c0a1 patch 8.2.3479: crash when calling job_start with an invalid argument
Problem:    Crash when calling job_start with an invalid argument. (Virginia
            Senioria)
Solution:   Clear the first item in argv. (closes #8957)
2021-10-05 19:19:35 +01:00
Bram Moolenaar
f67d3fb736 patch 8.2.3478: still crash with error in :catch and also in :finally
Problem:    Still crash with error in :catch and also in :finally.
Solution:   Only call finish_exception() once. (closes #8954)
2021-10-05 11:22:27 +01:00
Bram Moolenaar
6d19798774 patch 8.2.3477: startup test fails on MS-Windows
Problem:    Startup test fails on MS-Windows.
Solution:   Skip the test if not on Unix.
2021-10-05 01:19:53 +01:00
Bram Moolenaar
d3710cf01e patch 8.2.3476: renaming a buffer on startup may cause using freed memory
Problem:    Renaming a buffer on startup may cause using freed memory.
Solution:   Check if the buffer is used in a window. (closes #8955)
2021-10-04 23:13:13 +01:00
kuuote
08d7b1c828 patch 8.2.3475: expression register set by not executed put command
Problem:    Expression register set by not executed put command.
Solution:   Do not set the register if the command is skipped. (closes #8909)
2021-10-04 22:17:36 +01:00
h-east
965d2edbce patch 8.2.3474: some places use "Vimscript" instead of "Vim script"
Problem:    Some places use "Vimscript" instead of "Vim script".
Solution:   Consistently use "Vim script". (Hirohito Higashi, closes #8910)
2021-10-04 21:51:57 +01:00
Bram Moolenaar
6e64922492 Update runtime files 2021-10-04 21:32:54 +01:00
Bram Moolenaar
78aa5ffe31 patch 8.2.3473: some files with tcl syntax are not recognized
Problem:    Some files with tcl syntax are not recognized.
Solution:   Add a few file patterns. (Doug Kearns
2021-10-04 20:41:45 +01:00
Bram Moolenaar
9af9fd6ab6 patch 8.2.3472: other crashes with empty search pattern not tested
Problem:    Other crashes with empty search pattern not tested.
Solution:   Add a few more test lines. (Dominique Pellé)
2021-10-04 20:09:19 +01:00
Bram Moolenaar
d8d957de86 patch 8.2.3471: crash when using CTRL-T after an empty search pattern
Problem:    Crash when using CTRL-T after an empty search pattern.
Solution:   Bail out when there is no previous search pattern. (closes #8953)
2021-10-04 19:47:35 +01:00
Bram Moolenaar
a684a68409 patch 8.2.3470: crash with error in :catch and also in :finally
Problem:    Crash with error in :catch and also in :finally.
Solution:   Only discard an exception if there is one. (closes #8954)
2021-10-04 18:52:19 +01:00
Bram Moolenaar
50c5689342 patch 8.2.3469: some files with json syntax are not recognized
Problem:    Some files with json syntax are not recognized.
Solution:   Add a few file patterns. (Emiliano Ruiz Carletti, closes #8947)
2021-10-03 20:11:20 +01:00
Bram Moolenaar
c6376c7984 patch 8.2.3468: problem with :cd when editing file in non-existent directory
Problem:    Problem with :cd when editing file in non-existent directory. (Yee
            Cheng Chin)
Solution:   Prepend the current directory to get the full path. (closes #8903)
2021-10-03 19:29:48 +01:00
Bram Moolenaar
5a9357d0bf patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Problem:    CursorHoldI event interferes with "CTRL-G U". (Naohiro Ono)
Solution:   Restore the flag for "CTRL-G U" after triggering CursorHoldI.
            (closes #8937)
2021-10-03 16:22:05 +01:00
zeertzjq
cc8cd44533 patch 8.2.3466: completion submode not indicated for virtual replace
Problem:    Completion submode not indicated for virtual replace.
Solution:   Add submode to "Rv". (closes #8945)
2021-10-03 15:19:14 +01:00
zeertzjq
27fef59dd1 patch 8.2.3465: cannot detect insert scroll mode
Problem:    Cannot detect insert scroll mode.
Solution:   Add "scroll" to complete_info(). (closes #8943)
2021-10-03 12:01:27 +01:00
Chris Aumann
8b8c0ed657 patch 8.2.3464: nginx files are not recognized
Problem:    nginx files are not recognized.
Solution:   Add several file patterns. (Chris Aumann, closes #8922)
2021-10-03 11:46:09 +01:00
Bram Moolenaar
72d2fa69e5 patch 8.2.3463: pattern matching with ModeChanged not tested
Problem:    Pattern matching with ModeChanged not tested.
Solution:   Add a few more test lines. (issue #8856)
2021-10-02 21:48:15 +01:00
Bram Moolenaar
d85931e673 patch 8.2.3462: ModeChanged only uses one character for new_mode and old_mode
Problem:    The ModeChanged event only uses one character for the new_mode and
            old_mode values.
Solution:   Pass one as first argument to mode(). (issue #8856)
2021-10-02 16:55:39 +01:00
Bram Moolenaar
72406a4bd2 patch 8.2.3461: cannot distinguish Normal and Terminal-Normal mode
Problem:    Cannot distinguish Normal and Terminal-Normal mode.
Solution:   Make mode() return "nt" for Terminal-Normal mode. (issue #8856)
2021-10-02 16:34:55 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
dfa5e464d4 patch 8.2.3460: some type casts are not needed
Problem:    Some type casts are not needed.
Solution:   Remove unnecessary type casts. (closes #8934)
2021-10-02 11:26:51 +01:00
Yegappan Lakshmanan
51491adfa8 patch 8.2.3459: Vim9: need more tests for empty string arguments
Problem:    Vim9: need more tests for empty string arguments.
Solution:   Add more tests.  Also use empty argument with menu_info() to get
            the top-level menu names. (Yegappan Lakshmanan, closes #8925)
2021-09-30 19:00:00 +01:00
Bram Moolenaar
be01090efa patch 8.2.3458: not all dictdconf files are recognized
Problem:    Not all dictdconf files are recognized.
Solution:   Adjust the pattern. (Doug Kearns)
2021-09-26 22:11:52 +01:00
Bram Moolenaar
b16ff292ad patch 8.2.3457: MS-Windows Vim9: test executed and fails
Problem:    MS-Windows Vim9: test executed and fails.
Solution:   Add extra check for not being on MS-Windows.
2021-09-26 20:14:39 +01:00
Yegappan Lakshmanan
f8dbd58666 patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Problem:    Vim9: Not all functions are tested with an empty string argument.
Solution:   Add tests with empty strings. (Yegappan Lakshmanan, closes #8915)
2021-09-26 19:04:05 +01:00
Bram Moolenaar
56858e4ed4 patch 8.2.3455: using a count with "gp" leaves '] in wrong position
Problem:    Using a count with "gp" leaves '] in wrong position. (Naohiro Ono)
Solution:   Correct the mark position. (closes #8899)
2021-09-22 16:43:59 +02:00
Bram Moolenaar
23003e51e1 patch 8.2.3454: using a count with "gp" leave cursor in wrong position
Problem:    Using a count with "gp" leave cursor in wrong position. (Naohiro
            Ono)
Solution:   Count the inserted lines. (closes #8899)
2021-09-22 16:37:07 +02:00
Bram Moolenaar
40fa12aea3 patch 8.2.3453: autocmd not executed when editing a directory
Problem:    Autocmd not executed when editing a directory ending in a path
            separator inside try block.
Solution:   Return NOTDONE instead of FAIL. (closes #8885)
2021-09-22 14:18:13 +02:00
Bram Moolenaar
da0b497c6e Correct Spanish translations 2021-09-21 21:04:01 +02:00
Bram Moolenaar
34cc7d8c03 Update runtime files 2021-09-21 20:09:51 +02:00
Steven Penny
690c524ce6 patch 8.2.3452: MPD files are not recognized
Problem:    MPD files are not recognized.
Solution:   Recognize MPD files as XML. (Steven Penny, closes #8893)
2021-09-21 19:37:01 +02:00
Zdenek Dohnal
770ddbe159 patch 8.2.3451: not all apache files are recognized
Problem:    Not all apache files are recognized.
Solution:   Adjust the filetype pattern. (Zdenek Dohnal, closes #8882)
2021-09-20 20:57:31 +02:00
Bram Moolenaar
18fefddcb0 patch 8.2.3450: coveralls action fails
Problem:    Coveralls action fails.
Solution:   Disable it for now.
2021-09-19 17:55:16 +02:00
Yasuhiro Matsumoto
c04f62346b patch 8.2.3449: sort fails if the sort compare function returns 999
Problem:    Sort fails if the sort compare function returns 999.
Solution:   Adjust value to -1 / 0 / 1. (Yasuhiro Matsumoto, closes #8884)
2021-09-19 17:01:39 +02:00
Bram Moolenaar
1d34189ecb patch 8.2.3448: :endtry after function call that throws not found
Problem:    :endtry after function call that throws not found.
Solution:   Do check for following :endtry if an exception is being thrown.
            (closes #8889)
2021-09-18 15:25:52 +02:00
Yegappan Lakshmanan
d2b98ab4ec patch 8.2.3447: a couple of declarations are not ANSI C
Problem:    A couple of declarations are not ANSI C.
Solution:   Put argument type inside (). (Yegappan Lakshmanan, closes #8890)
2021-09-18 12:15:08 +02:00
Yegappan Lakshmanan
820d5525ca patch 8.2.3446: not enough tests for empty string arguments
Problem:    Not enough tests for empty string arguments.
Solution:   Add tests, fix type check. (Yegappan Lakshmanan, closes #8881)
2021-09-17 21:07:35 +02:00
Bram Moolenaar
542ffe16a1 patch 8.2.3445: on Solaris longVersion may be declared twice
Problem:    On Solaris longVersion may be declared twice. (Vladimir Marek)
Solution:   Always declare longVersion in version.c
2021-09-17 20:45:30 +02:00
Bram Moolenaar
644b49fa0f patch 8.2.3444: concealed text not revealed when leaving insert mode
Problem:    concealed text not revealed when leaving insert mode. (Michael
            Soyka)
Solution:   Check if concealing changed when leaving insert mode.
            (closes #8880)
2021-09-16 22:32:15 +02:00
Bram Moolenaar
3dfe2e0fb8 patch 8.2.3443: Vim9: memory leak when and/or fails
Problem:    Vim9: memory leak when and/or fails.
Solution:   Also clear the growarray when the length is zero.
2021-09-16 20:14:51 +02:00
Bram Moolenaar
1a7ee4dd11 patch 8.2.3442: Vim9: || and && are not handled at compile time
Problem:    Vim9: || and && are not handled at compile time when possible.
Solution:   When using constants generate fewer instructions.
2021-09-16 16:15:07 +02:00
Christian Brabandt
ee2cbcd99c patch 8.2.3441: MS-Windows: vimtutor can't handle path with spaces
Problem:    MS-Windows: vimtutor can't handle path with spaces.
Solution:   Add double quotes. (Christian Brabandt, closes #8871)
2021-09-15 12:53:40 +02:00
Bram Moolenaar
f2a8bafa4b patch 8.2.3440: recover test fails if there is an old swap file
Problem:    Recover test fails if there is an old swap file.
Solution:   Delete old swap files.
2021-09-14 22:58:23 +02:00
Christian Brabandt
78eb9cce91 patch 8.2.3439: deleted lines go to wrong yank register
Problem:    Deleted lines go to wrong yank register.
Solution:   Reset y_append when not calling get_yank_register(). (Christian
            Brabandt, closes #8872)
2021-09-14 18:55:51 +02:00
Yegappan Lakshmanan
5dfe467432 patch 8.2.3438: cannot manipulate blobs
Problem:    Cannot manipulate blobs.
Solution:   Add blob2list() and list2blob(). (Yegappan Lakshmanan,
            closes #8868)
2021-09-14 17:54:30 +02:00
Mike Williams
f5785cf059 patch 8.2.3437: compiler warnings for 32/64 bit usage
Problem:    Compiler warnings for 32/64 bit usage.
Solution:   Add type casts. (Mike Williams, closes #8870)
2021-09-13 22:17:38 +02:00
Bram Moolenaar
a29856fcdc patch 8.2.3436: check for optional bool type has confusing return type
Problem:    Check for optional bool type has confusing return type.
Solution:   Explicitly return OK.
2021-09-13 21:36:27 +02:00
Bram Moolenaar
b1b6f4de2b patch 8.2.3435: Vim9: dict is not passed to dict function
Problem:    Vim9: dict is not passed to dict function.
Solution:   Keep the dict used until a function call.
2021-09-13 18:25:54 +02:00
Bram Moolenaar
28e591dd50 patch 8.2.3434: function prototype for trigger_modechanged() is incomplete
Problem:    Function prototype for trigger_modechanged() is incomplete.
Solution:   Add "void".
2021-09-12 21:00:14 +02:00
Bram Moolenaar
bdcba24d85 patch 8.2.3433: :delcommand does not take a -buffer option
Problem:    :delcommand does not take a -buffer option.
Solution:   Add the -buffer option.
2021-09-12 20:58:02 +02:00
Bram Moolenaar
ca0627df69 patch 8.2.3432: octave/Matlab filetype detection does not work properly
Problem:    Octave/Matlab filetype detection does not work properly.
Solution:   Update the patterns used for matching. (Doug Kearns)
2021-09-12 17:03:08 +02:00
naohiro ono
dfe04dbff5 patch 8.2.3431: completion for :disas sorts local functions first
Problem:    Completion for :disas sorts local functions first.
Solution:   Sort local functions last, like with :delfunc. (Naohiro Ono,
            closes #8860)
2021-09-12 15:45:10 +02:00
=?UTF-8?q?Magnus=20Gro=C3=9F?=
f1e8876fa2 patch 8.2.3430: no generic way to trigger an autocommand on mode change
Problem:    No generic way to trigger an autocommand on mode change.
Solution:   Add the ModeChanged autocommand event. (Magnus Gross, closes #8856)
2021-09-12 13:39:55 +02:00
Bram Moolenaar
464393a696 patch 8.2.3429: leaking memory when assigning to list or dict
Problem:    Leaking memory when assigning to list or dict.
Solution:   Free the list or dict type before overwriting it.
2021-09-11 23:07:44 +02:00
Bram Moolenaar
35a9a00afc patch 8.2.3428: using freed memory when replacing
Problem:    Using freed memory when replacing. (Dhiraj Mishra)
Solution:   Get the line pointer after calling ins_copychar().
2021-09-11 21:14:20 +02:00
Bram Moolenaar
b3bf33a7b2 patch 8.2.3427: double free when list is copied
Problem:    Double free when list is copied.
Solution:   Allocate the type when making a copy. (closes #8862)
            Clear the type for flattennew().  Avoid a memory leak when
            flattennew() fails.
2021-09-11 20:20:38 +02:00
Bram Moolenaar
4b4b1b84ee patch 8.2.3426: crash when deleting a listener in a listener callback
Problem:    Crash when deleting a listener in a listener callback. (Naohiro
            Ono)
Solution:   Mark the listener and delete it later.
2021-09-11 15:06:44 +02:00
Bram Moolenaar
56e14698b4 patch 8.2.3425: warning for using uninitialized variable
Problem:    Warning for using uninitialized variable.
Solution:   Initialize it. (John Marriott)
2021-09-11 12:15:09 +02:00
zeertzjq
f14b8ba137 patch 8.2.3424: a sequence of spaces is hard to see in list mode
Problem:    A sequence of spaces is hard to see in list mode.
Solution:   Add the "multispace" option to 'listchars'. (closes #8834)
2021-09-10 16:58:30 +02:00
Bram Moolenaar
07802044b9 patch 8.2.3423: Vim9: list += list creates a new list in :def function
Problem:    Vim9: list += list creates a new list in :def function.
Solution:   Append to the existing list.
2021-09-09 23:01:14 +02:00
Bram Moolenaar
efc084e335 patch 8.2.3422: Vim9: no failure if return type differs from returned var
Problem:    Vim9: no failure if return type differs from returned variable.
Solution:   Copy type when copying a list. (closes #8847)
2021-09-09 22:30:52 +02:00
Bram Moolenaar
6c391a74fe Update runtime files 2021-09-09 21:55:11 +02:00
Dominique Pelle
d176ca3dde patch 8.2.3421: a bit of code is not covered by tests
Problem:    A bit of code is not covered by tests.
Solution:   Add a few more test cases. (Dominique Pellé, closes #8857)
2021-09-09 20:45:34 +02:00
Christian Brabandt
6b9efdde78 patch 8.2.3420: _REENTRANT defined more than once
Problem:    _REENTRANT defined more than once.
Solution:   Fix configure script. (Christian Brabandt, closes #8852)
2021-09-09 17:14:50 +02:00
Bram Moolenaar
0325d3967c patch 8.2.3419: a failing debug expression may make Vim unusable
Problem:    A failing debug expression may make Vim unusable.
Solution:   Suppress error messages. (closes #8848)
2021-09-09 12:34:19 +02:00
Christian Brabandt
070ac3433b patch 8.2.3418: garbage collection while evaluating may cause trouble
Problem:    Garbage collection while evaluating may cause trouble.
Solution:   Disable garbage collection while evaluating an expression.
            (Christian Brabandt, issue #8848)
2021-09-09 12:12:03 +02:00
Bram Moolenaar
072f1c6888 patch 8.2.3417: Vim9: a failing debug expression aborts script sourcing
Problem:    Vim9: a failing debug expression aborts script sourcing.
Solution:   Do not let expression failure abort script sourcing. (closes #8848)
2021-09-08 20:40:34 +02:00
Bram Moolenaar
36f691f5f1 patch 8.2.3416: second error is reported while exception is being thrown
Problem:    Second error is reported while exception is being thrown.
Solution:   Do not check for trailing characters when already aborting.
            (closes #8842)
2021-09-08 15:33:30 +02:00
Yegappan Lakshmanan
fc3b775055 patch 8.2.3415: Vim9: not all function argument types are properly checked
Problem:    Vim9: Not all function argument types are properly checked.
Solution:   Add and improve argument type checks. (Yegappan Lakshmanan,
            closes #8839)
2021-09-08 14:57:42 +02:00
Bram Moolenaar
80c88eac5a patch 8.2.3414: fullcommand() gives wrong name with buffer-local user command
Problem:    fullcommand() gives the wrong name if there is a buffer-local user
            command. (Naohiro Ono)
Solution:   Use a separate function to get the user command name.
            (closes #8840)
2021-09-08 14:29:46 +02:00
Bram Moolenaar
a9e3d56087 patch 8.2.3413: Vim9: too many characters are allowed in import name
Problem:    Vim9: too many characters are allowed in import name.
Solution:   Disallow ':' and '#', check for white space. (closes #8845)
2021-09-08 12:31:35 +02:00
Bram Moolenaar
af2d5d2ce2 patch 8.2.3412: Vim9: importing the wrong file
Problem:    Vim9: importing the wrong file.
Solution:   Correct the file name.  Delete the file afterwards.
2021-09-07 22:35:34 +02:00
Bram Moolenaar
6853c38b78 patch 8.2.3411: Vim9: crash when using base name of import
Problem:    Vim9: crash when using base name of import. (Naohiro Ono)
Solution:   Check the import flags. (closes #8843)
2021-09-07 22:12:19 +02:00
Bram Moolenaar
89a54b413a patch 8.2.3410: crash with linebreak, listchars and large tabstop
Problem:    Crash with linebreak, listchars and large tabstop.
Solution:   Account for different size listchars for a tab. (closes #8841)
2021-09-07 20:45:31 +02:00
Bram Moolenaar
65b6056659 patch 8.2.3409: reading beyond end of line with invalid utf-8 character
Problem:    Reading beyond end of line with invalid utf-8 character.
Solution:   Check for NUL when advancing.
2021-09-07 19:26:53 +02:00
Bram Moolenaar
ddfc05100a patch 8.2.3408: can delete a numbered function
Problem:    Can delete a numbered function. (Naohiro Ono)
Solution:   Disallow deleting a numbered function. (closes #8760)
2021-09-06 20:56:56 +02:00
Bram Moolenaar
3b31851356 patch 8.2.3407: using uninitialized memory with "let g:['bar'] = 2"
Problem:    Using uninitialized memory with "let g:['bar'] = 2".
Solution:   Initialize v_type of a new dict item.
2021-09-06 19:19:45 +02:00
Bram Moolenaar
3ae5fc9a6a patch 8.2.3406: on some systems tests fail without _REENTRANT
Problem:    On some systems tests fail without _REENTRANT. (Elimar
            Riesebieter)
Solution:   Add -D_REENTRANT in configure. (closes #7402)
2021-09-06 18:57:30 +02:00
Bram Moolenaar
ec1b0968aa patch 8.2.3405: cannot have a comment line in a {} block of a user command
Problem:    Cannot have a comment line in a {} block of a user command.
Solution:   Continue after the line break. (closes #8837)
2021-09-06 17:10:59 +02:00
Bram Moolenaar
01dd6c3732 patch 8.2.3404: Vim9: no error for white space before "("
Problem:    Vim9: no error for white space before "(".
Solution:   Give an error, like in a compiled function.
2021-09-05 16:36:23 +02:00
Bram Moolenaar
2ddb89f8a9 patch 8.2.3403: memory leak for :retab with invalid argument
Problem:    Memory leak for :retab with invalid argument.
Solution:   Free the memory.  Make error messages consistent.
2021-09-04 21:20:41 +02:00
Bram Moolenaar
b7081e135a patch 8.2.3402: invalid memory access when using :retab with large value
Problem:    Invalid memory access when using :retab with large value.
Solution:   Check the number is positive.
2021-09-04 18:47:28 +02:00
Bram Moolenaar
10c83dde55 patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Problem:    Vim9: cannot use a negative count with finddir() and findfile().
Solution:   Adjust the return type. (closes #8776)
2021-09-04 14:49:56 +02:00
Dominique Pelle
7f2dd1e90c patch 8.2.3400: ":z!" is not supported
Problem:    ":z!" is not supported.
Solution:   Make ":z!" work and add tests. (Dominique Pellé, closes #8836)
            Use display height instead of current window height.
2021-09-04 13:44:01 +02:00
Bram Moolenaar
deba5eb195 patch 8.2.3399: Octave files are not recognized
Problem:    Octave files are not recognized.
Solution:   Detect Octave files. (Doug Kearns)
2021-09-03 19:21:36 +02:00
Dominique Pelle
af631f61bc patch 8.2.3398: html text objects are not fully tested
Problem:    Html text objects are not fully tested.
Solution:   Add tests for dbcs encoding and different number of backslashes.
            (Dominique Pellé, closes #8831)
2021-09-03 16:50:16 +02:00
Yegappan Lakshmanan
03d257998b patch 8.2.3397: no test for what 8.2.3391 fixes
Problem:    No test for what 8.2.3391 fixes.
Solution:   Add a test. (Yegappan Lakshmanan, closes #8828)
2021-09-02 20:05:26 +02:00
Bram Moolenaar
87e1587b8a patch 8.2.3396: when libcall() fails invalid pointer may be used
Problem:    When libcall() fails invalid pointer may be used.
Solution:   Initialize the string to NULL. (Yasuhiro Matsumoto, closes #8829)
2021-09-02 19:53:07 +02:00
Bram Moolenaar
26a4484da2 patch 8.2.3395: Vim9: expression breakpoint not checked in :def function
Problem:    Vim9: expression breakpoint not checked in :def function.
Solution:   Always compile a function for debugging if there is an expression
            breakpoint. (closes #8803)
2021-09-02 18:49:06 +02:00
Bram Moolenaar
04626c243c patch 8.2.3394: filler lines are wrong when changing text in diff mode
Problem:    Filler lines are wrong when changing text in diff mode.
Solution:   Don't change the filler lines on every change.  Check
            scrollbinding when updating the filler lines. (closes #8809)
2021-09-01 16:02:07 +02:00
Bram Moolenaar
6631597452 patch 8.2.3393: escaping for fish shell is skipping some characters
Problem:    Escaping for fish shell is skipping some characters.
Solution:   Escape character after backslash if needed. (Jason Cox,
            closes #8827)
2021-09-01 14:31:51 +02:00
Bram Moolenaar
b4d82e2a8d patch 8.2.3392: augroup completion escapes regexp pattern characters
Problem:    augroup completion escapes regexp pattern characters.
Solution:   Do not escape the augroup name. (closes #8826)
2021-09-01 13:03:39 +02:00
Bram Moolenaar
20e0c3d27b patch 8.2.3391: crash with combination of 'linebreak' and other options
Problem:    Crash with combination of 'linebreak' and other options.
Solution:   Avoid n_extra to become negative. (Christian Brabandt,
            closes #8817)
2021-08-31 20:57:55 +02:00
Christian Brabandt
ba02e4720f patch 8.2.3390: included xdiff code is outdated
Problem:    Included xdiff code is outdated.
Solution:   Sync with xdiff in git 2.33. (Christian Brabandt, closes #8431)
2021-08-31 20:46:39 +02:00
zeertzjq
dca29d9cf4 patch 8.2.3389: cannot stop insert mode completion without side effects
Problem:    Cannot stop insert mode completion without side effects.
Solution:   Add CTRL-X CTRL-Z. (closes #8821)
2021-08-31 19:12:51 +02:00
Bram Moolenaar
4eaef9979f patch 8.2.3388: fnamemodify('path/..', ':p') differs from using 'path/../'
Problem:    fnamemodify('path/..', ':p') differs from using 'path/../'.
Solution:   Include the "/.." in the directory name. (closes #8808)
2021-08-30 21:26:16 +02:00
Dominique Pelle
de05ae7158 patch 8.2.3387: compiler warning for non-static function
Problem:    Compiler warning for non-static function.
Solution:   Make the function static. (Dominique Pellé, closes #8816)
2021-08-30 19:57:34 +02:00
Dominique Pelle
a918712626 patch 8.2.3386: using uninitialized memory
Problem:    Using uninitialized memory.
Solution:   Initialize the rm_ic field. (Dominique Pellé, closes #8800)
2021-08-29 22:12:56 +02:00
Bram Moolenaar
89a9c159f2 Update runtime files 2021-08-29 21:55:35 +02:00
Jason Cox
6e82351130 patch 8.2.3385: escaping for fish shell does not work properly
Problem:    Escaping for fish shell does not work properly.
Solution:   Insert a backslash before a backslash. (Jason Cox, closes #8810)
2021-08-29 12:36:49 +02:00
Hu Jialun
9dcd349ca8 patch 8.2.3384: cannot disable modeline for an individual file
Problem:    Cannot disable modeline for an individual file.
Solution:   Recognize "nomodeline" in a modeline. (Hu Jialun, closes #8798)
2021-08-28 20:42:50 +02:00
naohiro ono
9aecf79c45 patch 8.2.3383: Vim9: completion for :disassemble adds parenthesis
Problem:    Vim9: completion for :disassemble adds parenthesis.
Solution:   Don't add parenthesis. (Naohiro Ono, closes #8802)
2021-08-28 15:56:06 +02:00
Bram Moolenaar
c8103b4c25 patch 8.2.3382: crash when getting the type of a NULL partial
Problem:    Crash when getting the type of a NULL partial.
Solution:   Check for NULL. (closes #8260)
2021-08-28 14:58:44 +02:00
Bram Moolenaar
5c56da4de8 patch 8.2.3381: crash when using NULL list with sign functions
Problem:    Crash when using NULL list with sign functions.
Solution:   Handle a NULL list like an empty list. (issue #8260)
2021-08-28 14:42:25 +02:00
Bram Moolenaar
60b6e6f6cc patch 8.2.3380: crash when using NULL string for funcref()
Problem:    Crash when using NULL string for funcref().
Solution:   Check for NULL argument. (issue #8260)
2021-08-28 12:49:27 +02:00
Bram Moolenaar
271906bc06 patch 8.2.3379: crash when using NULL job
Problem:    Crash when using NULL job.
Solution:   Copy static string into buffer. (issue #8260)
2021-08-28 12:30:12 +02:00
Albert Liu
6024c0427c patch 8.2.3378: MS-Windows: completing environment variables with % is wrong
Problem:    MS-Windows: completing environment variables with % is wrong.
Solution:   Only complete environment variables with $. (Albert Liu,
            closes #8791)
2021-08-27 20:59:35 +02:00
Bram Moolenaar
47016f5772 patch 8.2.3377: Vim9: :disass completion does not understand "s:"
Problem:    Vim9: :disass completion does not understand "s:".
Solution:   Expand "s:" to a pattern. (closes #8780)
2021-08-26 16:39:58 +02:00
Bram Moolenaar
4799cef85c patch 8.2.3376: Vim9: no warning that "@r" does not do anything
Problem:    Vim9: no warning that "@r" does not do anything.
Solution:   Give a "no effect" error. (closes #8779)
2021-08-25 22:37:36 +02:00
Bram Moolenaar
df9070e300 patch 8.2.3375: using uninitialized memory
Problem:    Using uninitialized memory.
Solution:   Initialize textprop_save_len.
2021-08-25 17:31:37 +02:00
Bram Moolenaar
eb05d05f8a patch 8.2.3374: Pyret files are not recognized
Problem:    Pyret files are not recognized.
Solution:   Recognize .arr files as Pyret. (Doug Kearns)
2021-08-25 17:10:39 +02:00
Bram Moolenaar
49b93049c6 patch 8.2.3373: text property test fails on MS-Windows
Problem:    text property test fails on MS-Windows.
Solution:   Set fileformat to "unix"
2021-08-25 17:02:00 +02:00
Bram Moolenaar
cdd8a5e6fe patch 8.2.3372: line2byte() value wrong when adding a text property
Problem:    line2byte() value wrong when adding a text property. (Yuto Kimura)
Solution:   Adjust length for text property. (closes #8772)  Also fix it for
            deleting a line.
2021-08-25 16:40:03 +02:00
Bram Moolenaar
5ca5cc6412 patch 8.2.3371: Vim9: :$ENV cannot be followed by ->func() in next line
Problem:    Vim9: :$ENV cannot be followed by ->func() in next line.
Solution:   Use "$ENV" as the start of an expression. (closes #8790)
2021-08-24 21:56:03 +02:00
Bram Moolenaar
60faf8656e patch 8.2.3370: Vim9: no check for white space before type in declaration
Problem:    Vim9: no check for white space before type in declaration.
            (Naohiro Ono)
Solution:   Check for white space like in a compiled function. (closes #8785)
2021-08-23 22:22:45 +02:00
Bram Moolenaar
6b36d2a16d patch 8.2.3369: auto formatting after "cw" leaves cursor in wrong spot
Problem:    Auto formatting after "cw" leaves cursor in wrong spot.
Solution:   Do not auto-format after the delete. (closes #8789)
2021-08-23 21:19:01 +02:00
Bram Moolenaar
9cd91a1e88 patch 8.2.3368: not all Racket files are recognized
Problem:    Not all Racket files are recognized.
Solution:   Also recognize .rktl and .rktd files. (Doug Kearns)
2021-08-23 20:48:43 +02:00
Bram Moolenaar
73170917f1 patch 8.2.3367: Vim9: :@r executing a register is inconsistent
Problem:    Vim9: :@r executing a register is inconsistent.
Solution:   Use "@r" as the start of an expression. (issue #8779)
2021-08-22 22:44:11 +02:00
Bram Moolenaar
093165c899 patch 8.2.3366: Vim9: debugging elseif does not stop before condition
Problem:    Vim9: debugging elseif does not stop before condition.
Solution:   Move debug statement to after the jump. (closes #8781)
2021-08-22 13:35:31 +02:00
Bram Moolenaar
bf5f287833 patch 8.2.3365: Vim9: cannot use option for all operations
Problem:    Vim9: cannot use option for all operations.
Solution:   Recognize more operations. (closes #8779)
2021-08-21 20:50:35 +02:00
rbtnn
bebf06954e patch 8.2.3364: Vim9: crash when :for is skipped
Problem:    Vim9: crash when :for is skipped.
Solution:   Skip more code generation. (Naruhiko Nishino, closes #8777)
2021-08-21 17:26:50 +02:00
Bram Moolenaar
b8bd2e6eba patch 8.2.3363: when :edit reuses the current buffer the alternate file is set
Problem:    When :edit reuses the current buffer the alternate file is set to
            the same buffer.
Solution:   Only set the alternate file when not reusing the buffer.
            (closes #8783)
2021-08-21 17:13:14 +02:00
Gregory Anders
489d60996d patch 8.2.3362: buffer overflow when completing long tag name
Problem:    Buffer overflow when completing long tag name.
Solution:   Allocate the buffer dynamically. (Gregory Anders, closes #8769)
2021-08-21 16:21:19 +02:00
rbtnn
d895b1d918 patch 8.2.3361: Vim9: crash with nested :while
Problem:    Vim9: crash with nested :while.
Solution:   Handle skipping better. (Naruhiko Nishino, closes #8778)
2021-08-20 20:54:25 +02:00
naohiro ono
5aec755b67 patch 8.2.3360: user function completion fails with dict function
Problem:    User function completion fails with dict function.
Solution:   Do not stop sequencing through the list if user functions when
            encountering an empty name. (Naohiro Ono, closes #8765,
            closes #8774)
2021-08-19 21:20:41 +02:00
Bram Moolenaar
c66f645b80 patch 8.2.3359: Vim9: error for type when variable is not set
Problem:    Vim9: error for type when variable is not set.
Solution:   Give a specific error for a NULL function. (closes #8773)
2021-08-19 21:08:30 +02:00
Bastian Venthur
dea561111a patch 8.2.3358: structurizr files are not recognized
Problem:    Structurizr files are not recognized.
Solution:   Recognize the file by contents. (Bastian Venthur, closes #8764)
2021-08-17 23:44:54 +02:00
Bram Moolenaar
02f8694a6b patch 8.2.3357: crash when 'virtualedit' is set and window is narrow
Problem:    Crash when 'virtualedit' is set and window is narrow. ()
Solution:   Check that width is not zero. (closes #8767)
2021-08-17 22:14:29 +02:00
Yegappan Lakshmanan
ccfb7c6758 patch 8.2.3356: adding many text properties requires a lot of function calls
Problem:    Adding many text properties requires a lot of function calls.
Solution:   Add the prop_add_list() function. (Yegappan Lakshmanan,
            closes #8751)
2021-08-16 21:39:09 +02:00
Bram Moolenaar
434df7a401 patch 8.2.3355: MS-Windows: compiler warning for 64-32 bit conversion
Problem:    MS-Windows: compiler warning for 64-32 bit conversion.
Solution:   Add type casts.
2021-08-16 21:15:32 +02:00
Bram Moolenaar
92755bba30 patch 8.2.3354: build failure with +byte_offset but without +textprop
Problem:    Build failure with +byte_offset but without +textprop. (John
            Marriott)
Solution:   Adjust the #ifdef.
2021-08-15 22:18:04 +02:00
Bram Moolenaar
cd6b4f3001 patch 8.2.3353: Vim9: type of argument for negate not checked at compile time
Problem:    Vim9: type of argument for negate not checked at compile time.
Solution:   Add a compile time check.
2021-08-15 20:36:28 +02:00
Bram Moolenaar
4bba16d252 patch 8.2.3352: Vim9: error for nested :enddef has wrong line number
Problem:    Vim9: error for nested :enddef has wrong line number.
Solution:   Compute the line number.
2021-08-15 19:28:05 +02:00
Bram Moolenaar
b033ee2ddf patch 8.2.3351: Vim9: using a function by name may delete it
Problem:    Vim9: using a function by name may delete it. (Naohiro Ono)
Solution:   Increment the reference count when using a function by name.
            (closes #8760)
2021-08-15 16:08:36 +02:00
Bram Moolenaar
a401bba080 patch 8.2.3350: text properties test fails on MS-Windows
Problem:    Text properties test fails on MS-Windows.
Solution:   Set fileformat to unix.
2021-08-15 15:04:41 +02:00
Bram Moolenaar
5cebca27b8 patch 8.2.3349: eval test for scriptversion fails
Problem:    Eval test for scriptversion fails.
Solution:   Fix off-by-one error.
2021-08-15 14:39:13 +02:00
Bram Moolenaar
14c7530c4f patch 8.2.3348: line2byte() returns wrong value after adding textprop
Problem:    line2byte() returns wrong value after adding textprop. (Yuto
            Kimura)
Solution:   Reduce the length by the size of the text property. (closes #8759)
2021-08-15 14:28:40 +02:00
Bram Moolenaar
dd9de50f42 patch 8.2.3347: check for legacy script is incomplete
Problem:    Check for legacy script is incomplete. (Naohiro Ono)
Solution:   Also check the :legacy modifier.  Use for string concatenation
            with "." and others (issue #8756)
2021-08-15 13:49:42 +02:00
Bram Moolenaar
2596a4e763 patch 8.2.3346: Vim9: no error for using "." for concatenation after ":vim9cmd"
Problem:    Vim9: no error for using "." for concatenation after ":vim9cmd".
            (Naohiro Ono)
Solution:   Check for Vim9 script syntax. (closes #8756)
2021-08-14 21:35:40 +02:00
Bram Moolenaar
6aa57295cf Update runtime files 2021-08-14 21:25:52 +02:00
Dominique Pelle
bfb2bb16bc patch 8.2.3345: some code not covered by tests
Problem:    Some code not covered by tests.
Solution:   Add a few more tests. (Dominique Pellé, closes #8757)
2021-08-14 21:11:51 +02:00
Bram Moolenaar
d2e9ccee90 patch 8.2.3344: vimscript test fails
Problem:    Vimscript test fails.
Solution:   Have test verify first error instead of second
2021-08-14 15:16:00 +02:00
Bram Moolenaar
4830c211a4 patch 8.2.3343: Vim9: autoload test fails
Problem:    Vim9: autoload test fails.
Solution:   Adjust the way the second message is avoided
2021-08-14 14:59:27 +02:00
Bram Moolenaar
b521766c56 patch 8.2.3342: test for :let errors fails
Problem:    Test for :let errors fails.
Solution:   Adjust the test and how to avoid a second error message.
2021-08-14 14:27:30 +02:00
Bram Moolenaar
88c89c7722 patch 8.2.3341: Vim9: function call aborted despite try/catch
Problem:    Vim9: function call aborted despite try/catch. (Naohiro Ono)
Solution:   Ignore error caught by try/catch. (closes #8755)
2021-08-14 14:01:05 +02:00
Bram Moolenaar
78a9c2e670 patch 8.2.3340: accessing uninitialized pointer
Problem:    Accessing uninitialized pointer.
Solution:   Set pointer to NULL.
2021-08-13 20:12:13 +02:00
Bram Moolenaar
aacc966c5d patch 8.2.3339: Vim9: cannot lock a member in a local dict
Problem:    Vim9: cannot lock a member in a local dict.
Solution:   Get the local dict from the stack and pass it to get_lval().
2021-08-13 19:40:51 +02:00
Bram Moolenaar
89071cb6a1 patch 8.2.3338: Vim9: no type check when assigning a list range
Problem:    Vim9: no type check when assigning a list range. (Naohiro Ono)
Solution:   Check the member type. (closes #8750)
2021-08-13 18:20:09 +02:00
Bram Moolenaar
069f90852f patch 8.2.3337: completing "call g:" returns entries with just "g:"
Problem:    Completing "call g:" returns entries with just "g:". (Naohiro Ono)
Solution:   Skip empty strings returned by get_user_func_name(). (closes #8753)
2021-08-13 17:48:25 +02:00
Bram Moolenaar
92f05f21af patch 8.2.3336: behavior of negative index in list change changed
Problem:    Behavior of negative index in list change changed. (Naruhiko
            Nishino)
Solution:   Only change it for Vim9 script. (closes #8749)
2021-08-12 21:12:56 +02:00
Bram Moolenaar
ef98257593 patch 8.2.3335: Vim9: not enough tests run with Vim9
Problem:    Vim9: not enough tests run with Vim9.
Solution:   Run a few more tests in Vim9 script and :def function.  Fix that
            items(), keys() and values9) return zero for a NULL dict.
            Make join() return an empty string for a NULL list.  Make sort()
            return an empty list for a NULL list.
2021-08-12 19:27:57 +02:00
Bram Moolenaar
bd77aa9274 patch 8.2.3334: Vim9: not enough tests run with Vim9
Problem:    Vim9: not enough tests run with Vim9.
Solution:   Run a few more tests in Vim9 script and :def function. Fix
            islocked().  Fix error for locking local variable.
2021-08-12 17:06:05 +02:00
Bram Moolenaar
3e9c0b9608 patch 8.2.3333: Vim9: not enough tests run with Vim9
Problem:    Vim9: not enough tests run with Vim9.
Solution:   Run a few more tests in Vim9 script and :def function.
2021-08-12 10:39:10 +02:00
Bram Moolenaar
4f0884d6e2 patch 8.2.3332: Vim9: cannot assign to range in list
Problem:    Vim9: cannot assign to range in list.
Solution:   Implement overwriting a list range.
2021-08-11 21:49:23 +02:00
Bram Moolenaar
ed7cb2df35 patch 8.2.3331: Coverity warns for using value without boundary check
Problem:    Coverity warns for using value without boundary check.
Solution:   Add a boundary check.
2021-08-11 17:13:54 +02:00
Bram Moolenaar
7deb4115ef patch 8.2.3330: Coverity reports using uninitialized field
Problem:    Coverity reports using uninitialized field.
Solution:   Initialize the field early.
2021-08-11 17:01:45 +02:00
Bram Moolenaar
16e63e6d35 patch 8.2.3329: v_lock not set when getting value of environment variable
Problem:    v_lock not set when getting value of environment variable.
Solution:   Set v_lock to zero.
2021-08-11 16:47:26 +02:00
Bram Moolenaar
b85d3627d9 patch 8.2.3328: Coverity error for not checking return value
Problem:    Coverity error for not checking return value.
Solution:   Check value is not negative.
2021-08-11 15:54:59 +02:00
Zdenek Dohnal
ba9c23e776 patch 8.2.3327: no check for sysconf() failing
Problem:    No check for sysconf() failing.
Solution:   If sysconf() fails use SIGSTKSZ for the signal stack size.
            (Zdenek Dohnal, closes #8743)
2021-08-11 14:20:05 +02:00
Bram Moolenaar
6e48b84c5f patch 8.2.3326: Vim9: no error passing an empty list of the wrong type
Problem:    Vim9: no error passing an empty list of the wrong type.
Solution:   Use ISN_SETTYPE also for "list<any>". (closes #8732)
2021-08-10 22:52:02 +02:00
Bram Moolenaar
52eb372a04 patch 8.2.3325: digraph test fails when LC_ALL is set to "C"
Problem:    Digraph test fails when LC_ALL is set to "C".
Solution:   When restoring 'encoding' set it to "utf-8". (closes #8742)
2021-08-10 21:39:20 +02:00
Bram Moolenaar
917c46abe5 patch 8.2.3324: Vim9: Cannot use :silent with :endwhile
Problem:    Vim9: Cannot use :silent with :endwhile.
Solution:   Allow for using the :silent modifier. (closes #8737)
2021-08-10 19:53:01 +02:00
Bram Moolenaar
b6f55bb5b4 patch 8.2.3323: Vim9: Cannot use :silent with :endwhile
Problem:    Vim9: Cannot use :silent with :endwhile.
Solution:   Allow for using the :silent modifier. (closes #8737)
2021-08-10 10:23:27 +02:00
Bram Moolenaar
b56c4419d4 patch 8.2.3322: Vim9: checking type of dict does not check member type
Problem:    Vim9: checking type of dict does not check member type.
Solution:   When getting the type of a typval use dv_type and lv_type.
            (closes #8732)
2021-08-09 22:22:27 +02:00
Dominique Pelle
bd9e796125 patch 8.2.3321: some code is not tested
Problem:    Some code is not tested.
Solution:   Add some more tests. (Dominique Pellé, closes #8735)
2021-08-09 21:04:44 +02:00
Yegappan Lakshmanan
8ee52affe7 patch 8.2.3320: some local functions are not static
Problem:    Some local functions are not static.
Solution:   Add "static".  Move snprintf() related code to strings.c.
            (Yegappan Lakshmanan, closes #8734)
2021-08-09 19:59:06 +02:00
James McCoy
eed9616120 patch 8.2.3319: Coverity action on github does not work
Problem:    Coverity action on github does not work.
Solution:   Remove undefined $SRCDIR. (James McCoy, closes #8739)
2021-08-09 13:20:38 +02:00
Bram Moolenaar
ed8b099fd2 patch 8.2.3318: Vim9: cannot ignore quotes in number at the command line
Problem:    Vim9: cannot ignore quotes in number at the command line.
Solution:   Use in_vim9script() so that after ":vim9" quotes are ignored.
2021-08-08 19:56:28 +02:00
Bram Moolenaar
33ea9fd4d8 patch 8.2.3317: Vim9: No error for missing white space before return type
Problem:    Vim9: No error for missing white space before return type.
Solution:   Check for white space. (closes #8733)
2021-08-08 19:07:37 +02:00
Bram Moolenaar
80a070c361 patch 8.2.3316: float test fails
Problem:    Float test fails.
Solution:   Add missing change.
2021-08-08 15:51:10 +02:00
Bram Moolenaar
2950065e18 patch 8.2.3315: cannot use single quote in a float number for readability
Problem:    Cannot use single quote in a float number for readability.
Solution:   Support single quotes like in numbers. (closes #8713)
2021-08-08 15:43:34 +02:00
Bram Moolenaar
267359902c patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Problem:    Behavior of exists() in a :def function is unpredictable.
Solution:   Add exists_compiled().
2021-08-08 14:43:22 +02:00
gmntroll
9e2fa4bb9e patch 8.2.3313: unused code in win_exchange() and frame_remove()
Problem:    Unused code in win_exchange() and frame_remove().
Solution:   Remove the code. (closes #8728)
2021-08-07 22:35:52 +02:00
Bram Moolenaar
e525bdda3a patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Problem:    Vim9: after "if false" line breaks in expression not skipped.
Solution:   Do parse the expression. (closes #8723)
2021-08-07 18:12:40 +02:00
Bram Moolenaar
dae453f339 patch 8.2.3311: Vim9: check for DO_NOT_FREE_CNT is very slow
Problem:    Vim9: check for DO_NOT_FREE_CNT is very slow.
Solution:   Move to a separate function so it can be skipped by setting
            $TEST_SKIP_PAT.
2021-08-07 17:20:16 +02:00
Bram Moolenaar
4270d8b762 patch 8.2.3310: Vim9: unpack assignment does not mention source of type error
Problem:    Vim9: unpack assignment does not mention source of type error.
Solution:   Mention the argument number. (closes #8719)
2021-08-07 16:30:42 +02:00
Bram Moolenaar
fbeefb1b87 patch 8.2.3309: Vim9: divide by zero causes a crash
Problem:    Vim9: divide by zero causes a crash.
Solution:   Give an error message. (closes #8727)
2021-08-07 15:50:23 +02:00
Bram Moolenaar
6ce46b9963 patch 8.2.3308: Vim9: no runtime check for argument type with varargs only
Problem:    Vim9: no runtime check for argument type if a function only has
            varargs.
Solution:   Also check argument types if uf_va_type is set. (closes #8715)
2021-08-07 15:35:36 +02:00
Bram Moolenaar
7de6262373 patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Problem:    Vim9: :echoconsole cannot access local variables.
Solution:   Handle like other :echo commands. (closes #8708)
2021-08-07 15:05:47 +02:00
Bram Moolenaar
1b154ea121 patch 8.2.3306: unexpected "No matching autocommands"
Problem:    Unexpected "No matching autocommands".
Solution:   Do not give the message when aborting.  Mention the arguments in
            the message. (closes #8690)
2021-08-07 13:59:43 +02:00
rbtnn
8493499880 patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Problem:    Vim9: :finally in skipped block not handled correctly.
Solution:   Check whether :finally is in a skipped block. (Naruhiko Nishino,
            closes #8724)
2021-08-07 13:26:53 +02:00
rbtnn
c611941c60 patch 8.2.3304: popup window title with wide characters is truncated
Problem:    Popup window title with wide characters is truncated.
Solution:   Use vim_strsize() instead of MB_CHARLEN(). (Naruhiko Nishino,
            closes #8721)
2021-08-07 13:08:45 +02:00
Dominique Pelle
3276f5846f patch 8.2.3303: some structures could be smaller
Problem:    Some structures could be smaller.
Solution:   Rearrange members to reduce size. (Dominique Pellé, closes #8725)
2021-08-07 12:44:41 +02:00
Bram Moolenaar
d57a6bd98c patch 8.2.3302: Coverity is not run from github
Problem:    Coverity is not run from github.
Solution:   Add a coverity script. (James McCoy, closes #8714)
2021-08-07 12:32:20 +02:00
Yegappan Lakshmanan
cbae580283 patch 8.2.3301: memory allocation functions don't have their own place
Problem:    Memory allocation functions don't have their own place.
Solution:   Move memory allocation functions to alloc.c.  (Yegappan
            Lakshmanan, closes #8717)
2021-08-06 21:51:55 +02:00
Yegappan Lakshmanan
11328bc7df patch 8.2.3300: Lua: can only execute on Vim command at a time
Problem:    Lua: can only execute on Vim command at a time.  Not easy to get
            the Vim version.
Solution:   Make vim.command() accept multiple lines.  Add vim.version().
            (Yegappan Lakshmanan, closes #8716)
2021-08-06 21:34:38 +02:00
Bram Moolenaar
5671f3f076 patch 8.2.3299: Vim9: exists() does not handle much at compile time
Problem:    Vim9: exists() does not handle much at compile time.
Solution:   Handle variable names. (closes #8688)
2021-08-05 22:48:11 +02:00
Bram Moolenaar
6f6d58c380 patch 8.2.3298: build failure with small features
Problem:    Build failure with small features.
Solution:   Add #ifdef.
2021-08-05 21:17:32 +02:00
Bram Moolenaar
63b9173693 patch 8.2.3297: cannot use all commands inside a {} block
Problem:    Cannot use all commands inside a {} block after :command and
            :autocmd.
Solution:   Do consider \n to separate commands. (closes #8620)
2021-08-05 20:40:03 +02:00
Bram Moolenaar
af647e76ca patch 8.2.3296: Vim9: cannot add a number to a float
Problem:    Vim9: cannot add a number to a float.
Solution:   Accept a number if the destination is a float. (closes #8703)
2021-08-05 19:01:17 +02:00
zeertzjq
4f33bc20d7 patch 8.2.3295: 'cursorline' should not apply to 'breakindent'
Problem:    'cursorline' should not apply to 'breakindent'.
Solution:   Make 'cursorline' apply to 'breakindent' and 'showbreak'
            consistently. (closes #8684)
2021-08-05 17:57:02 +02:00
Bram Moolenaar
1b6acf02b7 patch 8.2.3294: Lua: memory leak when adding dict item fails
Problem:    Lua: memory leak when adding dict item fails.
Solution:   Free the typval and the dict item.
2021-08-05 16:47:08 +02:00
Andy Gozas
6a230c6b32 patch 8.2.3293: finding completions may cause an endless loop
Problem:    Finding completions may cause an endless loop.
Solution:   Use a better way to check coming back where the search started.
            (Andy Gozas, closes #8672, closes #8671)
2021-08-05 16:23:27 +02:00
Christian Brabandt
bc67e5a0a4 patch 8.2.3292: underscore in very magic pattern causes a hang
Problem:    Underscore in very magic pattern causes a hang.  Pattern with \V
            are case sensitive. (Yutao Yuan)
Solution:   Adjust condition for magicness and advance pointer. (Christian
            Brabandt, closes #8707, closes #8704, closes #8705)
2021-08-05 15:24:59 +02:00
Bram Moolenaar
4a01159da2 patch 8.2.3291: Coverity warns for not checking return value
Problem:    Coverity warns for not checking return value.
Solution:   If dict_add() fails give an error message.
2021-08-05 15:11:08 +02:00
Zdenek Dohnal
9fe17d473a patch 8.2.3290: Vim9: compiling dict may use pointer after free
Problem:    Vim9: compiling dict may use pointer after free and leak memory on
            failure.
Solution:   Pass a pointer to generate_PUSHS().  (Zdenek Dohnal, closes #8699)
2021-08-04 22:30:52 +02:00
Bram Moolenaar
f18e8a969a patch 8.2.3289: compiler warning for unused variable with small features
Problem:    Compiler warning for unused variable with small features.
Solution:   Rearrange #ifdefs.
2021-08-04 21:16:50 +02:00
Yegappan Lakshmanan
9dc4bef897 patch 8.2.3288: cannot easily access namespace dictionaries from Lua
Problem:    Cannot easily access namespace dictionaries from Lua.
Solution:   Add vim.g, vim.b, etc. (Yegappan Lakshmanan, closes #8693,
            from NeoVim)
2021-08-04 21:12:52 +02:00
Bram Moolenaar
57942237c1 patch 8.2.3287: channel events not handled in BufEnter autocommand
Problem:    Channel events not handled in BufEnter autocommand.
Solution:   Decrement dont_parse_messages earlier. (Tim Pope, closes #8697)
2021-08-04 20:54:55 +02:00
Bram Moolenaar
d61f2f772a patch 8.2.3286: win_enter_ext() has too many boolean arguments
Problem:    win_enter_ext() has too many boolean arguments.
Solution:   use one flags argument with defined values.
2021-08-04 20:26:19 +02:00
Gregory Anders
dd097bdc13 patch 8.2.3285: scdoc filetype is not recognized
Problem:    Scdoc filetype is not recognized.
Solution:   Add filetype detection. (Gregory Anders, closes #8701)
2021-08-04 20:00:27 +02:00
Sean Dewar
80d7395dcf patch 8.2.3284: no error for insert() or remove() changing a locked blob
Problem:    No error for insert() or remove() changing a locked blob.
Solution:   Check a blob is not locked before changing it. (Sean Dewar,
            closes #8696)
2021-08-04 19:25:54 +02:00
Christian Clason
0eec851942 patch 8.2.3283: Julia filetype is not recognized
Problem:    Julia filetype is not recognized
Solution:   Add filetype detection. (Christian Clason, closes #8700)
2021-08-04 17:03:59 +02:00
Bram Moolenaar
41a3485dd6 patch 8.2.3282: Vim9: error about using -complete without -nargs is confusing
Problem:    Vim9: error about using -complete without -nargs is confusing.
Solution:   Change the wording.
2021-08-04 16:09:24 +02:00
Bram Moolenaar
23e2e11515 patch 8.2.3281: Vim9: TODO items in tests can be taken care of
Problem:    Vim9: TODO items in tests can be taken care of.
Solution:   Update test for now working functionality. (closes #8694)
2021-08-03 21:16:18 +02:00
Gary Johnson
51ad850f5f patch 8.2.3280: 'virtualedit' local to buffer is not the best solution
Problem:    'virtualedit' local to buffer is not the best solution.
Solution:   Make it window-local. (Gary Johnson, closes #8685)
2021-08-03 18:33:08 +02:00
Bram Moolenaar
2c70711e3f patch 8.2.3279: Vim9: cannot use block in cmdline window
Problem:    Vim9: cannot use block in cmdline window.
Solution:   Add EX_CMDWIN to the CMD_block flags. (closes #8689)
2021-08-02 22:26:56 +02:00
Bram Moolenaar
7bf9a07bd7 patch 8.2.3278: Vim9: error when adding 1 to float
Problem:    Vim9: error when adding 1 to float.
Solution:   Accept t_number_bool. (closes #8687)
2021-08-02 21:55:15 +02:00
Bram Moolenaar
c3160727b9 patch 8.2.3277: Vim9: compiled has() does not work properly
Problem:    Vim9: compiled has() does not work properly.
Solution:   Fix check for has() vs exists().
2021-08-02 21:12:05 +02:00
Bram Moolenaar
bb7ee7abe1 patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Problem:    Vim9: exists() can only be evaluated at runtime.
Solution:   Evaluate at compile time for option name literals. (closes #8437)
2021-08-02 20:06:50 +02:00
Bram Moolenaar
35578168be patch 8.2.3275: optimizer can use hints about ga_grow() normally succeeding
Problem:    Optimizer can use hints about ga_grow() normally succeeding.
Solution:   Use GA_GROW_FAILS() and GA_GROW_OK() in several places. (Dominique
            Pellé, issue #8635)
2021-08-02 19:10:38 +02:00
Bram Moolenaar
952d9d827e patch 8.2.3274: macro for printf format check can be simplified
Problem:    Macro for printf format check can be simplified.
Solution:   Add ATTRIBUTE_FORMAT_PRINTF(). (Dominique Pellé, issue #8635)
2021-08-02 18:07:18 +02:00
Bram Moolenaar
1321257317 patch 8.2.3273: autocmd test fails
Problem:    Autocmd test fails.
Solution:   Require white space before the "{" that starts a block.
2021-08-01 22:01:30 +02:00
Bram Moolenaar
e041dde7bb patch 8.2.3272: cannot use id zero with prop_find()
Problem:    Cannot use id zero with prop_find(). (Naohiro Ono)
Solution:   Also accept id zero.
2021-08-01 21:30:12 +02:00
Bram Moolenaar
e4db17fb6e patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Problem:    Vim9: cannot use :command or :au with a block in a :def function.
Solution:   Recognize the start of the block.
2021-08-01 21:19:43 +02:00
Bram Moolenaar
0d4d9ee9bb patch 8.2.3270: prop_find() finds property with ID -2
Problem:    prop_find() finds property with ID -2.
Solution:   Use a separate flag to indicate an ID was specified. (issue #8674)
2021-08-01 19:28:15 +02:00
Bram Moolenaar
f78da4f9d6 patch 8.2.3269: Vim9: wrong argument check for partial
Problem:    Vim9: wrong argument check for partial. (Naohiro Ono)
Solution:   Handle getting return type without arguments. Correct the minimal
            number of arguments for what is included in the partial.
            (closes #8667)
2021-08-01 15:40:31 +02:00
Bram Moolenaar
73b8b0ae3a patch 8.2.3268: cannot use a block with :autocmd like with :command
Problem:    Cannot use a block with :autocmd like with :command.
Solution:   Add support for a {} block after :autocmd. (closes #8620)
2021-08-01 14:52:32 +02:00
Bram Moolenaar
6db660bed9 patch 8.2.3267: Vim9: crash when disassembling using deleted script variable
Problem:    Vim9: crash when disassembling a function that uses a deleted
            script variable.
Solution:   Check the variable still exists. (closes #8683)
2021-08-01 14:08:54 +02:00
Bram Moolenaar
e97976baa7 patch 8.2.3266: Vim9: assignment with two indexes may check next line
Problem:    Vim9: assignment with two indexes may check next line.
Solution:   Limit the number of lines to avoid checking the next line when
            assiging to a LHS subscript. (closes #8660)
2021-08-01 13:17:17 +02:00
Christian Brabandt
78ba933d18 patch 8.2.3265: smartcase does not work correctly in very magic pattern
Problem:    Smartcase does not work correctly in very magic pattern.
Solution:   Take the magicness into account when skipping over regexp items.
            (Christian Brabandt, closes #8682, closes #7845)
2021-08-01 12:44:37 +02:00
Bram Moolenaar
f24f51d030 patch 8.2.3264: Vim9: assign test fails
Problem:    Vim9: assign test fails.
Solution:   Add missing change.
2021-08-01 12:01:49 +02:00
Bram Moolenaar
f5d52c90e0 patch 8.2.3263: Vim9: "..=" does not accept same types as the ".." operator
Problem:    Vim9: "..=" does not accept same types as the ".." operator.
Solution:   Convert value to string like ".." does. (issue #8664)
2021-07-31 22:51:10 +02:00
Bram Moolenaar
9e0ee59019 patch 8.2.3262: build failure when ABORT_ON_INTERNAL_ERROR is defined
Problem:    Build failure when ABORT_ON_INTERNAL_ERROR is defined.
Solution:   Adjust how estack_len_before is used.
2021-07-31 22:17:28 +02:00
Bram Moolenaar
1780f08ba4 patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Problem:    Vim9: when compiling repeat(123, N) return type is number.
Solution:   Make return type a string. (closes #8664)
2021-07-31 22:03:59 +02:00
Bram Moolenaar
335c8c7b20 patch 8.2.3260: build failure with small features
Problem:    Build failure with small features.
Solution:   Add #ifdef.
2021-07-31 21:44:35 +02:00
Bram Moolenaar
620c959c6c patch 8.2.3259: when 'indentexpr' causes an error did_throw may hang
Problem:    When 'indentexpr' causes an error the did_throw flag may remain
            set.
Solution:   Reset did_throw and show the error. (closes #8677)
2021-07-31 21:32:31 +02:00
Bram Moolenaar
78db17c6f3 patch 8.2.3258: error messages have the wrong text
Problem:    Error messages have the wrong text.
Solution:   Adjust the error message.
2021-07-31 19:12:58 +02:00
Bram Moolenaar
8e3fc135e8 patch 8.2.3257: calling prop_find() with -1 for ID gives errornous error
Problem:    Calling prop_find() with -1 for ID gives errornous error. (Naohiro
            Ono)
Solution:   When passing -1 use -2. (closes #8674)
2021-07-31 18:33:57 +02:00
Bram Moolenaar
bf634a0a8b patch 8.2.3256: executable test may fail on new Ubuntu system
Problem:    Executable test may fail on new Ubuntu system.
Solution:   Consider /usr/bin/cat and /bin/cat the same.
2021-07-31 17:20:04 +02:00
Connor Lane Smith
b9115da4be patch 8.2.3255: ci" finds following string but ci< and others don't
Problem:    ci" finds following string but ci< and others don't.
Solution:   When not inside an object find the start. (Connor Lane Smit,
            closes #8670)
2021-07-31 13:31:42 +02:00
Yegappan Lakshmanan
28d8421bfb patch 8.2.3254: win_gettype() does not recognize a quickfix window
Problem:    win_gettype() does not recognize a quickfix window.
Solution:   Add "quickfix" and "loclist". (Yegappan Lakshmanan, closes #8676)
2021-07-31 12:43:23 +02:00
Bram Moolenaar
890ee4e2be patch 8.2.3253: channel test fails randomly
Problem:    Channel test fails randomly.
Solution:   Add a sleep after sending the "echoerr" command. (Michael Soyka)
2021-07-30 21:56:10 +02:00
Yegappan Lakshmanan
4a15504e91 patch 8.2.3252: duplicated code for adding buffer lines
Problem:    Duplicated code for adding buffer lines.
Solution:   Move code to a common function.  Also move map functions to map.c.
            (Yegappan Lakshmanan, closes #8665)
2021-07-30 21:32:45 +02:00
Bram Moolenaar
0f5575d0a7 patch 8.2.3251: listing builtin_gui as an available terminal is confusing
Problem:    Listing builtin_gui as an available terminal is confusing.
Solution:   Do not list builtin_gui. (Christian Brabandt, closes #8669,
            closes #8661)
2021-07-30 21:18:03 +02:00
Christian Brabandt
1790be6cb6 patch 8.2.3250: MS-Windows: cannot build with libsodium
Problem:    MS-Windows: cannot build with libsodium.
Solution:   Change FEAT_SODIUM into HAVE_SODIUM. (Christian Brabandt,
            closes #8668, closes #8663)
2021-07-30 20:51:59 +02:00
Bram Moolenaar
60dc8274e9 patch 8.2.3249: Vim9: error for re-imported function with default argument
Problem:    Vim9: error for re-imported function with default argument.
Solution:   Do not check argument type if it is still unknown. (closes #8653)
2021-07-29 22:48:54 +02:00
Bram Moolenaar
921ba52926 patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Problem:    Vim9: error message for wrong input uses wrong line number.
Solution:   Use the line number of the start of the command. (issue #8653)
2021-07-29 22:25:05 +02:00
Bram Moolenaar
77ab4e28a2 patch 8.2.3247: using uninitialized memory when checking for crypt method
Problem:    Using uninitialized memory when checking for crypt method.
Solution:   Check the header length before using the salt and seed.
2021-07-29 21:23:50 +02:00
Bram Moolenaar
77111e2bfc patch 8.2.3246: memory use after free
Problem:    Memory use after free.
Solution:   When clearing a string option set the pointer to "empty_option".
2021-07-29 21:11:30 +02:00
Bram Moolenaar
131530a54d patch 8.2.3245: the crypt key may appear in a swap partition
Problem:    The crypt key may appear in a swap partition.
Solution:   When using xchaha20 use sodium_mlock(). (Christian Brabandt,
            closes #8657)
2021-07-29 20:37:49 +02:00
Yegappan Lakshmanan
41114a2a27 patch 8.2.3244: Lua 5.3 print() with a long string crashes
Problem:    Lua 5.3 print() with a long string crashes.
Solution:   Use a growarray instead of a Lua buffer. (Yegappan Lakshmanan,
            closes #8655)
2021-07-29 20:22:14 +02:00
msoyka-of-wharton
83cd0156e0 patch 8.2.3243: MS-Windows: "edit with multiple Vim" choice is less useful
Problem:    MS-Windows: the "edit with multiple Vim" choice is not that
            useful.
Solution:   Change it to "Edit with multiple tabs". (Michael Soyka,
            closes #8645)
2021-07-29 19:18:33 +02:00
Bram Moolenaar
0732932553 patch 8.2.3242: Vim9: valgrind reports leaks in builtin function test
Problem:    Vim9: valgrind reports leaks in builtin function test.
Solution:   Do not start a job.
2021-07-28 22:44:08 +02:00
Bram Moolenaar
6e850a6900 patch 8.2.3241: Vim9: memory leak when function reports an error
Problem:    Vim9: memory leak when function reports an error.
Solution:   Clear the return value.
2021-07-28 22:21:23 +02:00
Bram Moolenaar
2a4bd00cef patch 8.2.3240: Lua print() does not work properly
Problem:    Lua print() does not work properly.
Solution:   Put back lua_pop().
2021-07-28 21:48:59 +02:00
Bram Moolenaar
81530e3603 patch 8.2.3239: Vim9: no error using heredoc for a number variable
Problem:    Vim9: no error using heredoc for a number variable.
Solution:   Add a type check. (closes #8627)
2021-07-28 21:25:49 +02:00
Bram Moolenaar
d47c39775b patch 8.2.3238: Vim9: error message does not indicate the location
Problem:    Vim9: error message does not indicate the location.
Solution:   Add the relevant text. (issue #8634)
2021-07-28 20:52:13 +02:00
Bram Moolenaar
53f7fccc94 Update runtime files 2021-07-28 20:10:16 +02:00
Bram Moolenaar
327d3ee455 patch 8.2.3237: when a builtin function gives an error processing continues
Problem:    When a builtin function gives an error processing continues.
Solution:   In Vim9 script return FAIL in get_func_tv().
2021-07-28 19:34:14 +02:00
zeertzjq
eaf3f36168 patch 8.2.3236: mode() does not indicate using CTRL-O in Select mode
Problem:    mode() does not indicate using CTRL-O in Select mode.
Solution:   Use "vs" and similar. (closes #8640)
2021-07-28 16:51:53 +02:00
Bram Moolenaar
6868634abd patch 8.2.3235: cannot use lambda in {} block in user command
Problem:    Cannot use lambda in {} block in user command. (Martin Tournoij)
Solution:   Do not go over the end of the lambda.
2021-07-28 15:54:54 +02:00
Bram Moolenaar
78e006b9b0 patch 8.2.3234: crash when printing long string with Lua
Problem:    Crash when printing long string with Lua.
Solution:   Remove lua_pop(). (Martin Tournoij, closes #8648)
2021-07-28 15:07:01 +02:00
Martin Tournoij
e2390c7f32 patch 8.2.3233: prop_list() and prop_find() do not indicate the buffer
Problem:    prop_list() and prop_find() do not indicate the buffer for the
            used type.
Solution:   Add "type_bufnr" to the results. (closes #8647)
2021-07-28 13:30:16 +02:00
Yegappan Lakshmanan
7e6a2a64f0 patch 8.2.3232: system() does not work without a second argument
Problem:    system() does not work without a second argument.
Solution:   Do not require a second argument. (Yegappan Lakshmanan,
            closes #8651, closes #8650)
2021-07-28 11:51:48 +02:00
Bram Moolenaar
9088784972 patch 8.2.3231: build failure with small features
Problem:    Build failure with small features.
Solution:   Adjust #ifdef.
2021-07-27 22:35:42 +02:00
Bram Moolenaar
f723701de0 patch 8.2.3230: Vim9: type error when function return type is not known yet
Problem:    Vim9: type error when function return type is not known yet.
Solution:   When return type is unknown, use "any". (closes #8644)
2021-07-27 22:21:44 +02:00
Yegappan Lakshmanan
4490ec4e83 patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Problem:    Vim9: runtime and compile time type checks are not the same.
Solution:   Add more runtime type checks for builtin functions. (Yegappan
            Lakshmanan, closes #8646)
2021-07-27 22:00:44 +02:00
Bram Moolenaar
5d7c2df536 patch 8.2.3228: cannot use a simple block for the :command argument
Problem:    Cannot use a simple block for the :command argument. (Maarten
            Tournoij)
Solution:   Recognize a simple {} block. (issue #8623)
2021-07-27 21:17:32 +02:00
Gary Johnson
53ba05b090 patch 8.2.3227: 'virtualedit' can only be set globally
Problem:    'virtualedit' can only be set globally.
Solution:   Make 'virtualedit' global-local. (Gary Johnson, closes #8638)
2021-07-26 22:19:10 +02:00
h-east
29b857150c patch 8.2.3226: new digraph functions use old naming scheme
Problem:    New digraph functions use old naming scheme.
Solution:   Use the digraph_ prefix. (Hirohito Higashi, closes #8580)
2021-07-26 21:54:04 +02:00
Bram Moolenaar
ccb148ac63 patch 8.2.3225: incsearch highlighting is attempted halfway a mapping
Problem:    Incsearch highlighting is attempted halfway a mapping.
Solution:   Only do incsearch highlighting if keys were typed or there is no
            more typeahead.
2021-07-26 21:11:32 +02:00
Bram Moolenaar
678b207fb1 patch 8.2.3224: cannot call script-local function after :vim9cmd
Problem:    Cannot call script-local function after :vim9cmd. (Christian J.
            Robinson)
Solution:   Skip over "<SNR>123".
2021-07-26 21:10:11 +02:00
Bram Moolenaar
ff34bee3a2 patch 8.2.3223: Vim: using {} block in autoloade omnifunc fails
Problem:    Vim: using {} block in autoloade omnifunc fails.
Solution:   Allow using {} block when text is locked. (closes #8631)
2021-07-25 20:27:06 +02:00
Bram Moolenaar
3c77b6a1ce patch 8.2.3222: Vim9: cannot used loop variable later as lambda argument
Problem:    Vim9: cannot used loop variable later as lambda argument.
Solution:   When not in function context check the current block ID.
            (closes #8637)
2021-07-25 18:07:00 +02:00
Yegappan Lakshmanan
a764e73d4f patch 8.2.3221: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add several more type checks. (Yegappan Lakshmanan, closes #8632)
2021-07-25 15:57:32 +02:00
Dominique Pelle
2ec28aec9d patch 8.2.3220: Test_term_setansicolors() fails in some configurations
Problem:    Test_term_setansicolors() fails in some configurations.
Solution:   Check available features. (Dominique Pellé, closes #8636)
2021-07-25 15:41:44 +02:00
Christian Brabandt
7a4ca32175 patch 8.2.3219: :find searches non-existing directories
Problem:    :find searches non-existing directories.
Solution:   Check the path is not "..".  Update help. (Christian Brabandt,
            closes #8612, closes #8533)
2021-07-25 15:08:05 +02:00
Christian Brabandt
8a4c812ede patch 8.2.3218: when using xchaha20 crypt undo file is not removed
Problem:    When using xchaha20 crypt undo file is not removed.
Solution:   Reset 'undofile' and delete the file. (Christian Brabandt,
            closes #8630, closes #8467)
2021-07-25 14:36:05 +02:00
Bram Moolenaar
3ed0d93796 patch 8.2.3217: build failure
Problem:    Build failure.
Solution:   Add missing changes.
2021-07-25 14:21:11 +02:00
Bram Moolenaar
2eb6fc3b52 patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Problem:    Vim9: crash when using variable in a loop at script level.
Solution:   Do not clear the variable if a function was defined.
            Do not create a new entry in sn_var_vals every time.
            (closes #8628)
2021-07-25 14:13:53 +02:00
Yegappan Lakshmanan
5bca906b30 patch 8.2.3215: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add several more type checks. Sort the argument lists.
            (Yegappan Lakshmanan, closes #8626)
2021-07-24 21:33:26 +02:00
Christian Brabandt
7d60384a00 patch 8.2.3214: MS-Windows: passing /D does not set the install location
Problem:    MS-Windows: passing /D does not set the install location.
Solution:   Adjust how the installer uses $VIM. Update the documentation.
            (Christian Brabandt, closes #8605)
2021-07-24 21:19:42 +02:00
Dominique Pelle
9c9472ff49 patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Problem:    NOCOMPOUNDSUGS entry in spell file not tested.
Solution:   Add a test. (Dominique Pellé, closes #8624)
2021-07-24 20:51:13 +02:00
Dominique Pelle
5a9e5845e1 patch 8.2.3212: Vim9: execution speed can be improved
Problem:    Vim9: execution speed can be improved.
Solution:   Use __builtin_expect() to have the compiler produce better code.
            (Dominique Pellé, closes #8613)
2021-07-24 19:32:12 +02:00
Yegappan Lakshmanan
7973de35ba patch 8.2.3211: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add several more type checks. Fix type check for matchaddpos().
            (Yegappan Lakshmanan, closes #8619)
2021-07-24 16:16:15 +02:00
Bram Moolenaar
dd0b287c1e patch 8.2.3210: Vim9: searchpair() sixth argument is compiled
Problem:    Vim9: searchpair() sixth argument is compiled. (Yegappan
            Lakshmanan)
Solution:   Only compile the fifth argument.
2021-07-24 15:44:30 +02:00
Bram Moolenaar
88421d6dc8 patch 8.2.3209: Vim9: lambda doesn't find block-local variable
Problem:    Vim9: lambda doesn't find block-local variable.
Solution:   Adjust how a script-local variable is found. (closes #8614)
2021-07-24 14:14:52 +02:00
Martin Tournoij
1a3e5747b7 patch 8.2.3208: dynamic library load error does not mention why it failed
Problem:    Dynamic library load error does not mention why it failed.
Solution:   Add the error message. (Martin Tournoij, closes #8621)
2021-07-24 13:57:29 +02:00
Bram Moolenaar
5a234eb18e patch 8.2.3207: Vim9: crash when compiling string fails
Problem:    Vim9: crash when compiling string fails. (Yegappan Lakshmanan)
Solution:   Adjust the type stack length.
2021-07-24 13:18:48 +02:00
Yegappan Lakshmanan
0ad871dc4d patch 8.2.3206: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add several more type checks. (Yegappan Lakshmanan, closes #8611)
2021-07-23 20:37:56 +02:00
Bram Moolenaar
1b862c466b patch 8.2.3205: Coverity reports a null pointer dereference
Problem:    Coverity reports a null pointer dereference.
Solution:   Change the logic to avoid Coverity gets confused.
2021-07-23 19:30:19 +02:00
Bram Moolenaar
c9e7e344ed patch 8.2.3204: display garbled when 'cursorline' is set and lines wrap
Problem:    Display garbled when 'cursorline' is set and lines wrap. (Gabriel
            Dupras)
Solution:   Avoid inserting lines twice.
2021-07-22 21:33:03 +02:00
Bram Moolenaar
cd268017cf patch 8.2.3203: Vim9: compiled string expression causes type error
Problem:    Vim9: compiled string expression causes type error. (Yegappan
            Lakshmanan)
Solution:   Remove the string type from the stack.
2021-07-22 19:11:08 +02:00
Bram Moolenaar
5dd839ce20 patch 8.2.3202: Vim9: tests are only executed for legacy script
Problem:    Vim9: tests are only executed for legacy script.
Solution:   Run more tests also for Vim9 script.  Fix uncovered problems.
2021-07-22 18:48:53 +02:00
Bram Moolenaar
2b59df00d8 patch 8.2.3201: crash in test
Problem:    Crash in test.
Solution:   Initialize "where".
2021-07-22 15:14:25 +02:00
Bram Moolenaar
7a3fe3e180 patch 8.2.3200: Vim9: hard to guess where a type error is given
Problem:    Vim9: hard to guess where a type error is given.
Solution:   Add the function name where possible. (closes #8608)
2021-07-22 14:58:47 +02:00
Bram Moolenaar
a74901929e patch 8.2.3199: Vim9: execution speed can be improved
Problem:    Vim9: execution speed can be improved.
Solution:   Make the break counter static.
2021-07-22 12:26:14 +02:00
Maxim Kim
f674b358fc patch 8.2.3198: cannot use 'formatlistpat' for breakindent
Problem:    Cannot use 'formatlistpat' for breakindent.
Solution:   Use a negative list indent. (Maxim Kim, closes #8594)
2021-07-22 11:46:59 +02:00
Bram Moolenaar
d8e44476d8 patch 8.2.3197: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move a few more error messages to errors.h.
2021-07-21 22:20:33 +02:00
Bram Moolenaar
05bd9785fd patch 8.2.3196: Vim9: bool expression with numbers only fails at runtime
Problem:    Vim9: bool expression with numbers only fails at runtime.
Solution:   Check constant to be bool at compile time. (closes #8603)
2021-07-21 21:37:28 +02:00
Bram Moolenaar
c4c5642513 patch 8.2.3195: Vim9: unclear error when passing too many arguments to lambda
Problem:    Vim9: unclear error when passing too many arguments to lambda.
Solution:   Pass the expression itself instead of "[expression]".
            (closes #8604)
2021-07-21 20:38:46 +02:00
Yegappan Lakshmanan
cd9172077b patch 8.2.3194: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add several more type checks, simplify some. (Yegappan
            Lakshmanan, closes #8598)
2021-07-21 19:09:09 +02:00
Bram Moolenaar
189663bdac patch 8.2.3193: screenpos() is wrong when 'display' is "lastline"
Problem:    screenpos() is wrong when the last line is partially visible and
            'display' is "lastline".
Solution:   Also compute the position for a partially visible line.
            (closes #8599)
2021-07-21 18:04:56 +02:00
Bram Moolenaar
11d7e62f1d patch 8.2.3192: build failure with small version
Problem:    Build failure with small version (Tony Mechelynck).
Solution:   Remove stray #ifdef.
2021-07-20 22:29:19 +02:00
Bram Moolenaar
63cb6567f0 patch 8.2.3191: Vim9: not enough code is tested
Problem:    Vim9: not enough code is tested.
Solution:   Use CheckLegacyAndVim9Success() in more places.  Fix uncovered
            problems.
2021-07-20 22:21:59 +02:00
Bram Moolenaar
e29a27f6f8 patch 8.2.3190: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move error messages to errors.h and give them a clear name.
2021-07-20 21:07:36 +02:00
Bram Moolenaar
9fa5dabedc patch 8.2.3189: Vim9: error when using "try|"
Problem:    Vim9: error when using "try|".
Solution:   Allow for "|" right after a command.
2021-07-20 19:18:44 +02:00
Yegappan Lakshmanan
83494b4ac6 patch 8.2.3188: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add several more type checks, also at runtime. (Yegappan
            Lakshmanan, closes #8587)
2021-07-20 17:51:51 +02:00
Bram Moolenaar
9bb0dad0d8 patch 8.2.3187: Vim9: popup timer callback is not compiled
Problem:    Vim9: popup timer callback is not compiled.
Solution:   Compile the callback when creating the timer.
2021-07-19 22:19:29 +02:00
Bram Moolenaar
605793500b patch 8.2.3186: Vim9: not all failures for import tested
Problem:    Vim9: not all failures for import tested
Solution:   Test more import failures
2021-07-19 21:45:07 +02:00
Bram Moolenaar
ac2cd2b08f patch 8.2.3185: Vim9: start of inline function found in comment line
Problem:    Vim9: start of inline function found in comment line.
Solution:   Do not check for inline function in comment line. (closes #8589)
2021-07-19 21:04:23 +02:00
mityu
6106504e9e patch 8.2.3184: cannot add a digraph with a leading space
Problem:    Cannot add a digraph with a leading space.  It is not easy to list
            existing digraphs.
Solution:   Add setdigraph(), setdigraphlist(), getdigraph() and
            getdigraphlist(). (closes #8580)
2021-07-19 20:07:21 +02:00
Bram Moolenaar
98c2eaed27 patch 8.2.3183: duplicate error numbers
Problem:    Duplicate error numbers.
Solution:   Adjust the error numbers.
2021-07-19 10:38:49 +02:00
Bram Moolenaar
885971e2f5 patch 8.2.3182: Vim9: crash when using removing items from a constant list
Problem:    Vim9: crash when using removing items from a constant list.
            (Yegappan Lakshmanan)
Solution:   When a list was allocated with items copy them.
2021-07-18 22:25:29 +02:00
Dominique Pelle
9ff9c7b974 patch 8.2.3181: Vim9: builtin function test fails without channel feature
Problem:    Vim9: builtin function test fails without channel feature.
Solution:   Add feature checks. (Dominique Pellé, closes #8586)  Make feature
            checks more consistent.
2021-07-18 21:44:37 +02:00
Bram Moolenaar
f6488547e3 patch 8.2.3180: Vim9: memory leak when concatenating to an imported string
Problem:    Vim9: memory leak when concatenating to an imported string.
Solution:   Clear the destination.
2021-07-18 21:24:50 +02:00
Bram Moolenaar
24e9316560 patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Problem:    Vim9: cannot assign to an imported variable at script level.
Solution:   Lookup imported items when assigning.
2021-07-18 20:40:33 +02:00
Bram Moolenaar
4db572eeb2 patch 8.2.3178: Vim9: the file name of an :import cannot be an expression
Problem:    Vim9: the file name of an :import cannot be an expression.
Solution:   Accept an expression that results in a string.  Do not support
            :import in a function.
2021-07-18 18:21:38 +02:00
Bram Moolenaar
ad2d4969e1 patch 8.2.3177: Vim9: can not use "for _ in expr" at script level
Problem:    Vim9: can not use "for _ in expr" at script level.
Solution:   Skip assignment if the loop variable is "_".
2021-07-18 17:08:50 +02:00
Bram Moolenaar
0c35752d04 patch 8.2.3176: Vim9: no type error for comparing number with string
Problem:    Vim9: no type error for comparing number with string.
Solution:   Add a runtime type check. (closes #8571)
2021-07-18 14:43:43 +02:00
Bram Moolenaar
c6ba2f9dde patch 8.2.3175: Vim9: using illegal pointer with nested lambdas.
Problem:    Vim9: using illegal pointer with inline function inside a lambda.
Solution:   Clear eval_tofree_cmdline when advancing to the next line.
            (closes #8578)
2021-07-18 13:42:29 +02:00
Bram Moolenaar
47bc9c3337 patch 8.2.3174: Vim9: "legacy undo" finds "undo" variable
Problem:    Vim9: "legacy undo" finds "undo" variable.
Solution:   Do not pass lookup function to find_ex_command(). (closes #8563)
2021-07-17 21:24:56 +02:00
Yegappan Lakshmanan
a9a7c0c602 patch 8.2.3173: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add more type checks. (Yegappan Lakshmanan, closes #8581)
2021-07-17 19:11:07 +02:00
Bram Moolenaar
20c370d9f2 patch 8.2.3172: MzScheme test fails
Problem:    MzScheme test fails. (Christian Brabandt)
Solution:   Correct function name.
2021-07-16 10:39:28 +02:00
Bram Moolenaar
f5f1b59d3b patch 8.2.3171: another illegal memory access in test
Problem:    Another illegal memory access in test.
Solution:   Check pointer is after the start of the line.
2021-07-15 23:44:54 +02:00
Bram Moolenaar
d8cee76b49 patch 8.2.3170: Illegal memory access in test
Problem:    Illegal memory access in test.
Solution:   Check pointer is not before the start of the line.
2021-07-15 23:15:59 +02:00
Bram Moolenaar
5245beb37c patch 8.2.3169: Vim9: cannot handle nested inline function
Problem:    Vim9: cannot handle nested inline function.
Solution:   Check for nested inline function. (closes #8575)
2021-07-15 22:03:50 +02:00
Bram Moolenaar
378697ac58 patch 8.2.3168: Vim9: type error for constant of type any
Problem:    Vim9: type error for constant of type any.
Solution:   Do add a runtime type check if a constant has type any.
            (closes #8570)
2021-07-15 19:23:18 +02:00
Bram Moolenaar
547f94f330 patch 8.2.3167: get E12 in a job callback when searching for tags
Problem:    Get E12 in a job callback when searching for tags. (Andy Stewart)
Solution:   Use the sandbox only for executing a command, not for searching.
            (closes #8511)
2021-07-15 18:14:56 +02:00
Bram Moolenaar
b5841b99e6 patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Problem:    Vim9: nested autoload call error overruled by "Unknown error".
Solution:   Check need_rethrow before giving an "Unknown error".
            (closes #8568)
2021-07-15 18:09:53 +02:00
Bram Moolenaar
9e60e899ee patch 8.2.3165: Vim9: in a || expression the error line number may be wrong
Problem:    Vim9: in a || expression the error line number may be wrong.
Solution:   Save and restore the line number when checking the type.
            (closes #8569)
2021-07-15 15:40:58 +02:00
Bram Moolenaar
0894e0d808 patch 8.2.3164: MS-Windows: reported version lacks patchlevel
Problem:    MS-Windows: reported version lacks patchlevel, causing some update
            tools to update too often. (Klaus Frank)
Solution:   Add the patchlevel to the version. (Christian Brabandt)
2021-07-15 14:14:30 +02:00
Wei-Chung Wen
1557b16dad patch 8.2.3163: location list window may open a wrong file
Problem:    Location list window may open a wrong file.
Solution:   Also update the qf_ptr field. (Wei-Chung Wen, closes #8565,
            closes #8566)
2021-07-15 13:13:39 +02:00
Yegappan Lakshmanan
1a71d31bf3 patch 8.2.3162: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add more type checks. (Yegappan Lakshmanan, closes #8560)
2021-07-15 12:49:58 +02:00
Bram Moolenaar
c816a2c226 patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Problem:    Vim9: no error when reltime() has invalid arguments.
Solution:   Add an error. (closes #8562)
2021-07-14 21:00:41 +02:00
Christian Brabandt
4a0b85ad01 patch 8.2.3160: 'breakindent' does not work well for bulleted lists
Problem:    'breakindent' does not work well for bulleted and numbered lists.
Solution:   Add the "list" entry to 'breakindentopt'. (Christian Brabandt,
            closes #8564, closes #1661)
2021-07-14 20:00:27 +02:00
Bram Moolenaar
5bea41dea3 patch 8.2.3159: cursor displayed in wrong position after deleting line
Problem:    Cursor displayed in wrong position after deleting line.
Solution:   When deleting lines do not approximate botline. (fixes #8559)
2021-07-13 22:21:44 +02:00
Bram Moolenaar
1840a7b4e3 patch 8.2.3158: strange error message when using islocked() with a number
Problem:    Strange error message when using islocked() with a number.
            (Yegappan Lakshmanan)
Solution:   Check that the name is empty.
2021-07-13 20:32:29 +02:00
Christian Brabandt
16e26a3116 patch 8.2.3157: crypt test may fail on MS-Windows
Problem:    Crypt test may fail on MS-Windows.
Solution:   Ignore "[unix]" in the file message. (Christian Brabandt,
            closes #8561)
2021-07-13 19:09:12 +02:00
Dominique Pelle
ee41052ccb patch 8.2.3156: Vim9: term_getansicolors() test fails without +termguicolors
Problem:    Vim9: term_getansicolors() test fails without +termguicolors.
Solution:   Add a check for the feature. (Dominique Pellé, closes #8555)
2021-07-12 22:15:24 +02:00
Dominique Pelle
042414fa00 patch 8.2.3155: some option related code not covered by tests
Problem:    Some option related code not covered by tests.
Solution:   Add a few test cases. (Dominique Pellé, closes #8552)
2021-07-12 21:43:19 +02:00
Yegappan Lakshmanan
841e498c5d patch 8.2.3154: Vim9: some type checks for builtin functions fail
Problem:    Vim9: some type checks for builtin functions fail.
Solution:   Correct the type checks. (Yegappan Lakshmanan, closes #8551,
            closes #8550)
2021-07-11 22:04:25 +02:00
Tsuyoshi CHO
7b7a118e74 patch 8.2.3153: URLs with a dash in the scheme are not recognized
Problem:    URLs with a dash in the scheme are not recognized.
Solution:   Allow for a scheme with a dash, but not at the start or end.
            (Tsuyoshi CHO, closes #8299)
2021-07-11 21:51:17 +02:00
Bram Moolenaar
11005b078d patch 8.2.3152: Vim9: accessing "s:" results in an error
Problem:    Vim9: accessing "s:" results in an error.
Solution:   Do not try to lookup a script variable for "s:". (closes #8549)
2021-07-11 20:59:00 +02:00
Bram Moolenaar
ffcfddc759 patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Problem:    Vim9: profiling fails if nested function is also profiled.
Solution:   Use the compile type from the outer function. (closes #8543)
2021-07-11 20:22:30 +02:00
Yegappan Lakshmanan
c72bdd28ac patch 8.2.3150: Vim9: argument types are not checked at compile time
Problem:    Vim9: argument types are not checked at compile time.
Solution:   Add more type checks. (Yegappan Lakshmanan, closes #8545)
2021-07-11 19:44:18 +02:00
Bram Moolenaar
cc7eb2aa7a patch 8.2.3149: some plugins have a problem with the error check
Problem:    Some plugins have a problem with the error check for using
            :command with -complete but without -nargs.
Solution:   In legacy script only give a warning message.
2021-07-11 19:12:04 +02:00
Bram Moolenaar
5231224e11 patch 8.2.3148: Vim9: function arg type check does not handle base offset
Problem:    Vim9: function arg type check does not handle base offset.
Solution:   Take the base offset into account when checking builtin function
            argument types.
2021-07-11 18:23:19 +02:00
Bram Moolenaar
648594eaf7 patch 8.2.3147: Vim9: profiling does not work with a nested function
Problem:    Vim9: profiling does not work with a nested function.
Solution:   Also compile a nested function without profiling. (closes #8543)
            Handle that compiling may cause the table of compiled functions to
            change.
2021-07-11 17:55:01 +02:00
Bram Moolenaar
c03fe66ade patch 8.2.3146: Vim9: line number wrong for :execute argument
Problem:    Vim9: line number wrong for :execute argument.
Solution:   Use the line number of the :execute command itself. (closes #8537)
2021-07-11 16:52:45 +02:00
Bram Moolenaar
4ece152ad6 patch 8.2.3145: Vim9: profile test fails without profile feature
Problem:    Vim9: profile test fails without profile feature.
Solution:   Check the profile feature is present.
2021-07-11 16:31:51 +02:00
Bram Moolenaar
0f1227f7d5 patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Problem:    Vim9: no error when using an invalid value for a line number.
Solution:   Give an error if the string value is not recognized.
            (closes #8536)
2021-07-11 16:01:58 +02:00
Bram Moolenaar
d9162550aa patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Problem:    Vim9: A lambda may be compiled with the wrong context if it is
            called from a profiled function.
Solution:   Compile the lambda with and without profiling. (closes #8543)
2021-07-11 15:26:13 +02:00
Bram Moolenaar
1aeddeb8bd patch 8.2.3142: Vim9: type check for has_key() argument is too strict
Problem:    Vim9: type check for has_key() argument is too strict.
Solution:   Also allow for a number key argument. (closes #8542)
2021-07-11 14:55:49 +02:00
Martin Tournoij
de69a7353e patch 8.2.3141: no error when using :complete for :command without -nargs
Problem:    No error when using :complete for :command without -nargs.
Solution:   Give an error. (Martin Tournoij, closes #8544, closes #8541)
2021-07-11 14:28:25 +02:00
Bram Moolenaar
482d2f37a5 patch 8.2.3140: MS-Windows: ipv6 channel test is very flaky also without GUI
Problem:    MS-Windows: ipv6 channel test is very flaky also without the GUI.
Solution:   Skip the test also without the GUI.
2021-07-10 22:21:40 +02:00
Yegappan Lakshmanan
a2438132a6 patch 8.2.3139: functions for string manipulation are spread out
Problem:    Functions for string manipulation are spread out.
Solution:   Move string related functions to a new source file. (Yegappan
            Lakshmanan, closes #8470)
2021-07-10 21:29:18 +02:00
Bram Moolenaar
31e21766d6 patch 8.2.3138: debugger test fails
Problem:    Debugger test fails.
Solution:   Adjust eval command.
2021-07-10 20:43:59 +02:00
Bram Moolenaar
c323527d67 patch 8.2.3137: Vim9: no error when a line only has a variable name
Problem:    Vim9: no error when a line only has a variable name.
Solution:   Give an error when an expression is evaluated without an effect.
            (closes #8538)
2021-07-10 19:42:03 +02:00
Dominique Pelle
fe3418abe0 patch 8.2.3136: no test for E187 and "No swap file"
Problem:    No test for E187 and "No swap file".
Solution:   Add a test. (Dominique Pellé, closes #8540)
2021-07-10 17:59:48 +02:00
Yegappan Lakshmanan
5b73992d8f patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Problem:    Vim9: builtin function arguments not checked at compile time.
Solution:   Add more type checks. (Yegappan Lakshmanan, closes #8539)
2021-07-10 13:15:41 +02:00
Bram Moolenaar
9da32e4d57 patch 8.2.3134: crash when using typename() on a function reference
Problem:    Crash when using typename() on a function reference. (Naohiro Ono)
Solution:   Initialize pointer to NULL. (closes #8531)
2021-07-09 19:53:57 +02:00
Bram Moolenaar
90fba5627b patch 8.2.3133: Vim9: memory leak when add() fails
Problem:    Vim9: memory leak when add() fails.
Solution:   Allocate listitem_T after type check.
2021-07-09 19:17:55 +02:00
Bram Moolenaar
6bcb18253a patch 8.2.3132: compiler warns for size_t to colnr_T conversion.
Problem:    Compiler warns for size_t to colnr_T conversion. (Randall W.
            Morris)
Solution:   Add a type cast.
2021-07-09 15:54:00 +02:00
Bram Moolenaar
981217c11f patch 8.2.3131: MS-Windows: ipv6 channel test is very flaky in the GUI
Problem:    MS-Windows: ipv6 channel test is very flaky in the GUI.
Solution:   Skip the test.
2021-07-08 22:20:50 +02:00
Bram Moolenaar
b885a7c72c patch 8.2.3130: Vim9: import test fails
Problem:    Vim9: import test fails.
Solution:   Rename directory back to "import", use "p" to avoid an error when
            the directory already exists.
2021-07-08 22:02:11 +02:00
Bram Moolenaar
c967d57aa9 patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Problem:    Vim9: imported uninitialized list does not get type checked.
Solution:   Get type from imported variable.
2021-07-08 21:38:50 +02:00
Bram Moolenaar
f055d45023 patch 8.2.3128: Vim9: uninitialzed list does not get type checked
Problem:    Vim9: uninitialzed list does not get type checked.
Solution:   Set the type when initializing the variable. (closes #8529)
2021-07-08 20:57:24 +02:00
Bram Moolenaar
f32f099761 patch 8.2.3127: Vim9: no error when adding number to list of string
Problem:    Vim9: no error when adding number to list of string.
Solution:   Check the value type. (closes #8529)
2021-07-08 20:53:40 +02:00
Bram Moolenaar
d4ab807d62 patch 8.2.3126: Vim9: for loop error reports wrong line number
Problem:    Vim9: for loop error reports wrong line number.
Solution:   Save and restore the line number when evaluating the expression.
            (closes #8514)
2021-07-08 19:22:12 +02:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
09f688c33a patch 8.2.3125: variables are set but not used
Problem:    Variables are set but not used.
Solution:   Move the declarations to the block where they are used.
            (closes #8527)
2021-07-08 18:05:00 +02:00
Bram Moolenaar
deb108ba0a patch 8.2.3124: Vim9: no error for white space between option and "=9"
Problem:    Vim9: no error for white space between option and "=9".
Solution:   Check for extraneous white space. (issue #8408)
2021-07-08 17:35:36 +02:00
Bram Moolenaar
1594f31345 patch 8.2.3123: Vim9: confusing error when using white space after option
Problem:    Vim9: confusing error when using white space after option, before
            one of "!&<".
Solution:   Give a specific error. (issue #8408)
2021-07-08 16:40:13 +02:00
Bram Moolenaar
30441bb3d5 patch 8.2.3122: with 'nowrap' cursor position is unexected in narrow window
Problem:    With 'nowrap' cursor position is unexected in narrow window.
            (Leonid V.  Fedorenchik)
Solution:   Put cursor on the last non-empty line. (closes #8525)
2021-07-08 13:19:31 +02:00
Bram Moolenaar
41fb723ee9 patch 8.2.3121: 'listchars' "exceeds" character appears in foldcolumn
Problem:    'listchars' "exceeds" character appears in foldcolumn. Window
            separator is missing. (Leonid V.  Fedorenchik)
Solution:   Only draw the "exceeds" character in the text area.  Break the
            loop when not drawing the text. (closes #8524)
2021-07-08 12:40:05 +02:00
Bram Moolenaar
db86472770 patch 8.2.3120: crypt with sodium test fails on MS-Windows
Problem:    Crypt with sodium test fails on MS-Windows.
Solution:   Make the tests pass. (closes #8428)
2021-07-08 11:37:50 +02:00
Bram Moolenaar
6a9e5c69cf patch 8.2.3119: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
2021-07-07 22:13:08 +02:00
Bram Moolenaar
5ede5b231e patch 8.2.3118: Vim9: "any" type not handled correctly in for loop
Problem:    Vim9: "any" type not handled correctly in for loop.
Solution:   Change compile time check into runtime check. (closes #8516)
2021-07-07 21:55:25 +02:00
Bram Moolenaar
efc5db5215 patch 8.2.3117: Vim9: type not properly checked in for loop
Problem:    Vim9: type not properly checked in for loop.
Solution:   Have items() return a list of lists.  Add runtime type checks.
            (closes #8515)
2021-07-07 21:21:30 +02:00
Bram Moolenaar
90df4b9d42 Update runtime files 2021-07-07 20:26:08 +02:00
Bram Moolenaar
303215d60c patch 8.2.3116: Vim9: crash when debugging a function with line continuation
Problem:    Vim9: crash when debugging a function with line continuation.
Solution:   Check for a NULL pointer. (closes #8521)
2021-07-07 20:10:43 +02:00
Bram Moolenaar
b5098060f4 patch 8.2.3115: Coverity complains about free_wininfo() use
Problem:    Coverity complains about free_wininfo() use.
Solution:   Add a condition that "wip2" is not equal to "wip". (Neovim #14996)
2021-07-07 19:26:19 +02:00
=?UTF-8?q?Ola=20S=C3=B6der?=
599a6e5b36 patch 8.2.3114: Amiga-like systems: build error using stat()
Problem:    Amiga-like systems: build error using stat().
Solution:   Only build swapfile_process_running() on systems where it is
            actually used. (Ola Söder, closes #8519)
2021-07-06 20:15:46 +02:00
Bram Moolenaar
442b29c968 patch 8.2.3113: no error when for loop variable shadows script variable
Problem:    No error when for loop variable shadows script variable.
Solution:   Check for the error. (closes #8512)
2021-07-05 22:23:00 +02:00
Bram Moolenaar
5cb09620c1 patch 8.2.3112: in rare cases the cursor may be somewhere in a folded line
Problem:    With concealing enabled and indirectly closing a fold the cursor
            may be somewhere in a folded line when it is not on the first line
            of the fold.
Solution:   Check if he cursor is somewhere in the folded text.
2021-07-05 22:03:04 +02:00
Bram Moolenaar
404557e6a6 patch 8.2.3111: Vim9: confusing error with extra whitespace before colon
Problem:    Vim9: confusing error with extra whitespace before colon.
Solution:   Check for colon after white space. (closes #8513)
2021-07-05 21:41:48 +02:00
Bram Moolenaar
04db26b360 patch 8.2.3110: a pattern that matches the cursor position is complicated
Problem:    A pattern that matches the cursor position is bit complicated.
Solution:   Use a dot to indicate the cursor line and column. (Christian
            Brabandt, closes #8497, closes #8179)
2021-07-05 20:15:23 +02:00
Bram Moolenaar
f6d877975b patch 8.2.3109: check for $DISPLAY never fails
Problem:    Check for $DISPLAY never fails.
Solution:   Use eval().
2021-07-05 17:49:02 +02:00
Bram Moolenaar
d6fa7bd5b9 patch 8.2.3108: test for remote_foreground() fails
Problem:    Test for remote_foreground() fails. (Elimar Riesebieter)
Solution:   Check that $DISPLAY is set. (Christian Brabandt)
2021-07-05 14:10:04 +02:00
Bram Moolenaar
22f85d0459 patch 8.2.3107: Vim9: error for arguments while type didn't specify arguments
Problem:    Vim9: error for arguments while type didn't specify arguments.
Solution:   Do not update that type to check when no argument count is
            specified. (closes #8492)
2021-07-04 23:29:30 +02:00
Bram Moolenaar
6977dba04b patch 8.2.3106: Vim9: confusing line number reported for error
Problem:    Vim9: confusing line number reported for error.
Solution:   Use the start line number for the store instruction.
            (closes #8488)
2021-07-04 22:48:12 +02:00
Bram Moolenaar
97f227d9c9 patch 8.2.3105: Vim9: type of partial is wrong when it has arguments
Problem:    Vim9: type of partial is wrong when it has arguments.
Solution:   Subtract arguments from the count. (issue #8492)
2021-07-04 20:20:52 +02:00
Bram Moolenaar
b7480cd893 patch 8.2.3104: Vim9: unspecified function type causes type error
Problem:    Vim9: unspecified function type causes type error.
Solution:   Don't check type when min_argcount is negative. (issue #8492)
2021-07-04 18:28:15 +02:00
Bram Moolenaar
f33cae6050 patch 8.2.3103: swap test may fail on some systems
Problem:    Swap test may fail on some systems when jobs take longer to exit.
Solution:   Use different file names.
2021-07-04 17:36:54 +02:00
Bram Moolenaar
3777d6e32b patch 8.2.3102: test for crash fix does not fail without the fix
Problem:    Test for crash fix does not fail without the fix.
Solution:   Adjust the test sequence. (closes #8506)
2021-07-04 17:23:25 +02:00
Bram Moolenaar
26e88ec8e2 patch 8.2.3101: missing function prototype for vim_round()
Problem:    Missing function prototype for vim_round().
Solution:   Add the prototype
2021-07-04 17:21:04 +02:00
Bram Moolenaar
67b17a6fc6 patch 8.2.3101: missing function prototype for vim_round()
Problem:    Missing function prototype for vim_round().
Solution:   Add the prototype.
2021-07-04 16:50:55 +02:00
Bram Moolenaar
7a40ff00ed patch 8.2.3100: Vim9: no error when using type with unknown number of args
Problem:    Vim9: no error when using type with unknown number of arguments.
Solution:   Do not ignore argument count of -1. (closes #8492)
2021-07-04 15:54:08 +02:00
Bram Moolenaar
4197828dc6 patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Problem:    Vim9: missing catch/finally not reported at script level.
Solution:   Give an error. (closes #8487)
2021-07-04 14:47:30 +02:00
Bram Moolenaar
999db2346b patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Problem:    Popup window test is flaky on MS-Windows with GUI.
Solution:   Skip the check in this situation.
2021-07-04 14:00:55 +02:00
Bram Moolenaar
1d97efce0c patch 8.2.3097: crash when using "quit" at recovery prompt
Problem:    Crash when using "quit" at recovery prompt and autocommands are
            triggered.
Solution:   Block autocommands when creating an empty buffer to use as the
            current buffer. (closes #8506)
2021-07-04 13:27:11 +02:00
Dominique Pelle
6c72fd51a8 patch 8.2.3096: temp files remain after running tests
Problem:    Temp files remain after running tests.
Solution:   Delete the right files. (Dominique Pellé, closes #8509)
2021-07-04 12:30:06 +02:00
Bram Moolenaar
b17ab86e7b patch 8.2.3095: with 'virtualedit' set to "block" block selection is wrong
Problem:    With 'virtualedit' set to "block" block selection is wrong after
            using "$".  (Marco Trosi)
Solution:   Compute the longest selected line. (closes #8495)
2021-07-03 22:15:17 +02:00
Dominique Pelle
c60e959cba patch 8.2.3094: Test_popup_atcursor_pos() fails without the conceal feature
Problem:    Test_popup_atcursor_pos() fails without the conceal feature.
Solution:   Add a check for the conceal feature. (Dominique Pellé,
            closes #8505)
2021-07-03 21:41:38 +02:00
Bram Moolenaar
fb773a3e0a patch 8.2.3093: tablabel_tooltip test fails with Athena
Problem:    tablabel_tooltip test fails with Athena. (Dominique Pellé)
Solution:   Skip the test when using Athena. (closes #8508)
2021-07-03 21:37:59 +02:00
Dominique Pelle
74509239df patch 8.2.3092: Vim9: builtin function test fails without +channel feature
Problem:    Vim9: builtin function test fails without the +channel feature.
Solution:   Check the +channel feature is supported. (Dominique Pellé,
            closes #8507)
2021-07-03 19:27:37 +02:00
Bram Moolenaar
e28d9b3bd4 patch 8.2.3091: Vim9: default argument expr. cannot use previous argument
Problem:    Vim9: default argument expression cannot use previous argument
Solution:   Correct argument index. (closes #8496)
2021-07-03 18:56:53 +02:00
Bram Moolenaar
00aaa512d5 patch 8.2.3090: in rare cases the cursor may be somewhere in a folded line
Problem:    With concealing enabled and indirectly closing a fold the cursor
            may be somewhere in a folded line.
Solution:   Recompute the cursor position when the cursor line can be
            concealed. (closes #8480)
2021-07-03 18:04:11 +02:00
Bram Moolenaar
20cc528320 patch 8.2.3089: garbage collection has useless code
Problem:    Garbage collection has useless code.
Solution:   Bail out when aborting. (closes #8504)
2021-07-03 16:33:16 +02:00
Bram Moolenaar
9cee4a1c9c patch 8.2.3088: with 'virtualedit' set to "block" Visual highlight is wrong
Problem:    With 'virtualedit' set to "block" Visual highlight is wrong after
            using "$".  (Marco Trosi)
Solution:   Do not set w_old_cursor_lcol to MAXCOL. (closes #8495)
2021-07-03 15:08:37 +02:00
Bram Moolenaar
fcde67c99f patch 8.2.3087: Gemtext files are not recognized
Problem:    Gemtext files are not recognized.
Solution:   Recognize .gmi and .gemini files. (closes #8427)
2021-07-03 13:51:44 +02:00
Bram Moolenaar
6fc0161682 patch 8.2.3086: Vim9: breakpoint on "for" does not work
Problem:    Vim9: breakpoint on "for" does not work.
Solution:   Use the right line number in ISN_DEBUG. (closes #8486)
2021-07-03 13:36:31 +02:00
Izhak Jakov
acbb4b5720 patch 8.2.3085: JSONC files are not recognized
Problem:    JSONC files are not recognized.
Solution:   Recognize .jsonc files. (Izhak Jakov, closes #8500)
2021-07-03 13:09:37 +02:00
Yegappan Lakshmanan
a26f56f675 patch 8.2.3084: Vim9: builtin function argument types are not checked
Problem:    Vim9: builtin function argument types are not checked at compile
            time.
Solution:   Add argument types. (Yegappan Lakshmanan, closes #8503)
2021-07-03 11:58:12 +02:00
Christian Brabandt
72463f883c patch 8.2.3083: crash when passing null string to charclass()
Problem:    Crash when passing null string to charclass().
Solution:   Bail out when string pointer is NULL. (Christian Brabandt,
            closes #8498, closes #8260)
2021-07-02 20:19:31 +02:00
Bram Moolenaar
b836f631db patch 8.2.3082: a channel command "echoerr" does not show anything
Problem:    A channel command "echoerr" does not show anything.
Solution:   Do not use silent errors when using an "echoerr" command.
            (closes #8494)
2021-07-01 22:11:28 +02:00
Alisue
11a632d60b patch 8.2.3081: cannot catch errors in a channel command
Problem:    Cannot catch errors in a channel command.
Solution:   Instead of skipping the error make it silent. (closes #8477)
2021-06-30 22:01:02 +02:00
Yegappan Lakshmanan
576cb75ceb patch 8.2.3080: recover test fails on 32bit systems
Problem:    Recover test fails on 32bit systems. (Ondřej Súkup)
Solution:   Detect 32/64 bit systems. (Yegappan Lakshmanan, closes #8485,
            closes #8479)
2021-06-30 21:30:10 +02:00
Mike Williams
a3d1b29bd3 patch 8.2.3079: Powershell core not supported by default
Problem:    Powershell core not supported by default.
Solution:   Set option defaults for "pwsh". (Mike Williams, closes #8481)
2021-06-30 20:56:00 +02:00
Bram Moolenaar
834193afd7 patch 8.2.3078: Vim9: profile test fails
Problem:    Vim9: profile test fails.
Solution:   Make throw in :catch jump to :finally.
2021-06-30 20:39:15 +02:00
Bram Moolenaar
d3d8feeb89 patch 8.2.3077: Vim9: an error in a catch block is not reported
Problem:    Vim9: an error in a catch block is not reported.
Solution:   Put the "in catch" flag in the try stack. (closes #8478)
2021-06-30 19:54:43 +02:00
Bram Moolenaar
3f987b5917 patch 8.2.3076: Vim9: using try in catch block causes a hang
Problem:    Vim9: using try in catch block causes a hang.
Solution:   Save and restore the ec_in_catch flag. (closes #8478)
2021-06-30 12:02:24 +02:00
=?UTF-8?q?J=C3=BCrgen=20Weigert?=
80b2ba3e96 patch 8.2.3075: xxd always reports an old version string
Problem:    Xxd always reports an old version string. (Åsmund Ervik)
Solution:   Update the version string with the last known change date.
            (Jürgen Weigert, closes #8475)
2021-06-29 20:36:25 +02:00
Bram Moolenaar
ea042677ab patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Problem:    popup_atcursor() uses wrong position with concealing.
Solution:   Keep w_wcol in conceal_check_cursor_line(). (closes #8476)
2021-06-29 20:22:32 +02:00
Bram Moolenaar
4067bd3604 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Problem:    When cursor is move for block append wrong text is inserted.
Solution:   Calculate an offset. (Christian Brabandt, closes #8433,
            closes #8288)
2021-06-29 18:54:35 +02:00
Bram Moolenaar
7d7bcc6ba0 patch 8.2.3072: "zy" does not work well when "virtualedit' is "block"
Problem:    The "zy" command does not work well when 'virtualedit' is set to
            "block". (Johann Höchtl)
Solution:   Make endspaces zero. (Christian Brabandt, closes #8468,
            closes #8448)
2021-06-28 21:54:27 +02:00
Mike Williams
127950241e patch 8.2.3071: shell options are not set properly for PowerShell
Problem:    Shell options are not set properly for PowerShell.
Solution:   Use better option defaults. (Mike Willams, closes #8459)
2021-06-28 20:53:58 +02:00
Yegappan Lakshmanan
ffec6dd16a patch 8.2.3070: not enough testing for shell use
Problem:    Not enough testing for shell use.
Solution:   Add a bit more testing. (Yegappan Lakshmanan, closes #8469)
2021-06-27 22:09:59 +02:00
Bram Moolenaar
108010aa47 patch 8.2.3069: error messages are spread out
Problem:    Error messages are spread out.
Solution:   Move some error messages to errors.h.  Use clearer names.
2021-06-27 22:03:33 +02:00
Christian Brabandt
d887297ad0 patch 8.2.3068: Unicode tables are slightly outdated
Problem:    Unicode tables are slightly outdated.
Solution:   Update the tables for Unicode release 13. (Christian Brabandt
            closes #8430)
2021-06-27 21:30:14 +02:00
Bram Moolenaar
1d1ce613cd patch 8.2.3067: building fails with Athena
Problem:    Building fails with Athena. (Elimar Riesebieter)
Solution:   Adjust #ifdefs and add the 'drop_file' feature.
2021-06-27 19:02:52 +02:00
Bram Moolenaar
17d868b8b2 patch 8.2.3066: Vim9: debugging lambda does not work
Problem:    Vim9: debugging lambda does not work.
Solution:   Use the compile type of the function when compiling a lambda.
            (closes #8412)
2021-06-27 16:29:53 +02:00
Bram Moolenaar
577dc93da9 patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Problem:    Vim9: error when sourcing script twice and reusing a function
            name.
Solution:   Check if the function is dead. (closes #8463)
2021-06-27 15:35:40 +02:00
Bram Moolenaar
4d8f476176 Update runtime files 2021-06-27 15:18:56 +02:00
Bram Moolenaar
e65081d1b5 patch 8.2.3064: Vim9: in script cannot set item in uninitialized list
Problem:    Vim9: in script cannot set item in uninitialized list.
Solution:   When a list is NULL allocate an empty one. (closes #8461)
2021-06-27 15:04:05 +02:00
Bram Moolenaar
65aee0b714 patch 8.2.3063: crash when switching 'cryptmethod' to xchaha20 with undo file
Problem:    Crash when switching 'cryptmethod' to xchaha20 with an existing
            undo file. (Martin Tournoij)
Solution:   Disable reading undo file when decoding can't be done inplace.
            (issue #8467)
2021-06-27 14:08:24 +02:00
Bram Moolenaar
4cd5c52d64 patch 8.2.3062: internal error when adding several text properties
Problem:    Internal error when adding several text properties.
Solution:   Do not handle text properties when deleting a line for splitting a
            data block. (closes #8466)
2021-06-27 13:04:00 +02:00
Yegappan Lakshmanan
054794c20f patch 8.2.3061: testing the shell option is incomplete and spread out
Problem:    Testing the shell option is incomplete and spread out.
Solution:   Move shell tests to one file and increase coverage. (Yegappan
            Lakshmanan, closes #8464)
2021-06-27 12:07:49 +02:00
Bram Moolenaar
98f9a5f4cb patch 8.2.3060: Vim9: cannot use ternary operator in parenthesis
Problem:    Vim9: cannot use ternary operator in parenthesis.
Solution:   Do not use "=~" for a default argument value.  (closes #8462)
2021-06-26 22:22:38 +02:00
Bram Moolenaar
e3ffaa6b7c patch 8.2.3059: Vim9: memory leak when using lambda
Problem:    Vim9: memory leak when using lambda.
Solution:   Do not store the default value strings when skipping.
2021-06-26 22:17:35 +02:00
Bram Moolenaar
015cf10311 patch 8.2.3058: Vim9: cannot use ternary operator in parenthesis
Problem:    Vim9: cannot use ternary operator in parenthesis.
Solution:   Do not use "==" for a default argument value.  (closes #8462)
2021-06-26 21:52:02 +02:00
Bram Moolenaar
307dec4567 patch 8.2.3057: Vim9: debugger test fails with normal features and +terminal
Problem:    Vim9: debugger test fails with normal features and +terminal.
            (Dominique Pellé)
Solution:   Adjust the INSTRUCTIONS macro. (closes #8460)
2021-06-26 21:21:03 +02:00
Bram Moolenaar
14ded11fca patch 8.2.3056: Vim9: using default value in lambda gives confusing error
Problem:    Vim9: using default value in lambda gives confusing error.
Solution:   Pass "default_args" on the first pass to get the arguments.
            (closes #8455)
2021-06-26 19:25:49 +02:00
Bram Moolenaar
3a3b10e87a patch 8.2.3055: strange error for assigning to "x.key" on non-dictionary
Problem:    Strange error for assigning to "x.key" on non-dictionary.
Solution:   Add a specific error message. (closes #8451)
2021-06-26 15:00:59 +02:00
Bram Moolenaar
4d5dfe2083 patch 8.2.3054: Vim9: unpack assignment using "_" after semicolon fails
Problem:    Vim9: unpack assignment using "_" after semicolon fails.
Solution:   Drop the expression result. (closes #8453)
2021-06-26 13:59:29 +02:00
Bram Moolenaar
13e45d14ba patch 8.2.3053: Vim9: cannot assign to @@ in :def function
Problem:    Vim9: cannot assign to @@ in :def function
Solution:   Handle '@' like '"'.
2021-06-26 13:28:35 +02:00
Bram Moolenaar
ce024c3e20 patch 8.2.3052: Vim9: "legacy call" does not work
Problem:    Vim9: "legacy call" does not work.
Solution:   Do not skip "call" after "legacy". (closes #8454)
2021-06-26 13:00:49 +02:00
Bram Moolenaar
444d878324 patch 8.2.3051: Vim9: for loop with one list variable does not work
Problem:    Vim9: for loop with one list variable does not work.
Solution:   Use a separate flag for unpacking a list. (closes #8452)
2021-06-26 12:40:56 +02:00
Austin Gatlin
f3caeb63d6 patch 8.2.3050: cannot recognize elixir files
Problem:    Cannot recognize elixir files.
Solution:   Recognize Elixir-specific files.  Check if an .ex file is Euphoria
            or Elixir. (Austin Gatlin, closes #8401, closes #8446)
2021-06-26 12:02:55 +02:00
Kevin Locke
6582e230a0 patch 8.2.3049: JSON patch file not recognized
Problem:    JSON patch file not recognized.
Solution:   Recognize json-patch as json. (Kevin Locke, closes #8450)
2021-06-25 21:54:25 +02:00
Bram Moolenaar
22480d147f patch 8.2.3048: strange error for white space after ++ command
Problem:    Strange error for white space after ++ command.
Solution:   Check for white space explicitly. (closes #8440)
2021-06-25 21:31:09 +02:00
Bram Moolenaar
f3d30842dc patch 8.2.3047: increment and decrement don't allow for next command
Problem:    Increment and decrement don't allow for next command.
Solution:   Allow for comment and next command. (closes #8442)
2021-06-25 19:29:30 +02:00
ola.soder@axis.com
b420ac9d20 patch 8.2.3046: Amiga MorphOS: Term mode is set using DOS packets
Problem:    Amiga MorphOS: Term mode is set using DOS packets.
Solution:   Use the same way of setting term mdoe on all next gen Amiga-like
            systems.  (Ola Söder, closes #8445)
2021-06-24 21:43:31 +02:00
Christian Brabandt
98703d7f6c patch 8.2.3045: minor typos
Problem:    Minor typos.
Solution:   Fix the typos. (Christian Brabandt, closes #8441)
2021-06-24 19:55:27 +02:00
ola.soder@axis.com
3a62b14077 patch 8.2.3044: Amiga MorphOS and AROS: process ID is not valid
Problem:    Amiga MorphOS and AROS: process ID is not valid.
Solution:   Use FindTask to return something which is unique to all processes.
            (Ola Söder, closes #8444)
2021-06-24 18:50:30 +02:00
ola.soder@axis.com
d415d26913 patch 8.2.3043: Amiga: cannot get the shell size on MorphOS and AROS
Problem:    Amiga: cannot get the shell size on MorphOS and AROS.
Solution:   Use control sequences. (Ola Söder, closes #8438)
2021-06-23 22:05:27 +02:00
Bram Moolenaar
6738fd2000 patch 8.2.3042: swap file test fails
Problem:    Swap file test fails.
Solution:   Check for a very high process ID instead of one, which should be
            running.
2021-06-23 21:44:06 +02:00
Bram Moolenaar
44dea9da4b patch 8.2.3041: detecting if the process of a swap file is running fails
Problem:    Detecting if the process of a swap file is running fails if the
            process is owned by another user.
Solution:   Check for the ESRCH error. (closes #8436)
2021-06-23 21:13:20 +02:00
Yegappan Lakshmanan
18d46587b9 patch 8.2.3040: GUI: dropping files not tested
Problem:    GUI: dropping files not tested.
Solution:   Add test_gui_drop_files() and tests. (Yegappan Lakshmanan,
            closes #8434)
2021-06-23 20:46:52 +02:00
Bram Moolenaar
8cec9273d2 patch 8.2.3039: Vim9: breakpoint at a comment line does not work
Problem:    Vim9: breakpoint at a comment line does not work.
Solution:   Add the comment line number to the debug instruction.
            (closes #8429)
2021-06-23 20:20:53 +02:00
ola.soder@axis.com
cc65040986 patch 8.2.3038: Amiga built-in version string doesn't include build date
Problem:    Amiga built-in version string doesn't include build date.
Solution:   Add the build date if available. (Ola Söder, closes #8437)
2021-06-23 15:52:46 +02:00
ichizok
8ce3ca8961 patch 8.2.3037: configure reports libcanberra when checking for libsodium
Problem:    Configure reports libcanberra when checking for libsodium.
Solution:   Adjust the message. (Ozaki Kiichi, closes #8435)
2021-06-23 15:41:52 +02:00
Yegappan Lakshmanan
7237cab8f1 patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Problem:    Vim9: builtin function arguments not checked at compile time.
Solution:   Add more argument type specs. Check arguments to test_setmouse()
            and test_gui_mouse_event(). (Yegappan Lakshmanan, closes #8425)
2021-06-22 19:52:27 +02:00
Bram Moolenaar
831bdf8622 patch 8.2.3035: Vim9: crash when calling :def function with partial
Problem:    Vim9: crash when calling :def function with partial and return
            type is not set.
Solution:   When the return type is not set handle like the return type is
            unknown. (closes #8422)
2021-06-22 19:32:17 +02:00
Christian Brabandt
ef7be8348f patch 8.2.3034: installing packages on github CI sometimes fails
Problem:    Installing packages on github CI sometimes fails.
Solution:   Update package information first. (Christian Brabandt,
            closes #8432)
2021-06-22 18:21:19 +02:00
Bram Moolenaar
419a40ac96 patch 8.2.3033: no error when using alpha delimiter with :global
Problem:    No error when using alpha delimiter with :global.
Solution:   Check the delimiter like with :substitute. (closes #8415)
2021-06-21 21:55:18 +02:00
Christian Brabandt
226b28b961 patch 8.2.3032: build problems with MSVC, other crypt issues with libsodium
Problem:    Build problems with MSVC, other crypt issues with libsodium.
Solution:   Adjust MSVC makefile. Disable swap file only when 'key' is set.
            Adjust error message used when key is wrong.  Fix Coverity issues.
            (Christian Brabandt, closes #8420, closes #8411)
2021-06-21 21:08:08 +02:00
Bram Moolenaar
22f17a29cd patch 8.2.3031: no error if a function name starts with an underscore
Problem:    No error if a function name starts with an underscore. (Naohiro
            Ono)
Solution:   In Vim9 script disallow a function name starting with an
            underscore, as is mentioned in the help. (closes #8414)
2021-06-21 20:48:58 +02:00
Dominique Pelle
cb54bc6562 patch 8.2.3030: Coverity reports a memory leak
Problem:    Coverity reports a memory leak.
Solution:   Fix the leak and a few typos. (Dominique Pellé, closes #8418)
2021-06-21 20:15:37 +02:00
Bram Moolenaar
035bd1c99f patch 8.2.3029: Vim9: crash when using operator and list unpack assignment
Problem:    Vim9: crash when using operator and list unpack assignment.
            (Naohiro Ono)
Solution:   Get variable value before operation. (closes #8416)
2021-06-21 19:44:11 +02:00
Yegappan Lakshmanan
f1e7449d56 patch 8.2.3028: GUI mouse events not tested
Problem:    GUI mouse events not tested.
Solution:   Add test_gui_mouse_event().  Add mouse tests. Also add a few
            viminfo tests. (Yegappan Lakshmanan, closes #8407)
2021-06-21 18:44:26 +02:00
Bram Moolenaar
2ac4b2536a patch 8.2.3027: Vim9: breakpoint in compiled function not always checked
Problem:    Vim9: breakpoint in compiled function not always checked.
Solution:   Check for breakpoint when calling compiled function from compiled
            function.
2021-06-20 20:09:42 +02:00
Bram Moolenaar
4f8f54280f patch 8.2.3026: Vim9: cannot set breakpoint in compiled function
Problem:    Vim9: cannot set breakpoint in compiled function.
Solution:   Check for breakpoint when calling a function.
2021-06-20 19:28:14 +02:00
shane.xb.qian
0d5e1ec37f patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Problem:    Not enough tests for quickfix end_col and end_lnum.
Solution:   Add a few more test cases. (Shane-XB-Qian, closes #8409)
2021-06-20 16:31:00 +02:00
Bram Moolenaar
2fb1b89d72 patch 8.2.3024: execute() function test fails
Problem:    execute() function test fails.
Solution:   Adjust test for different error.
2021-06-20 15:03:15 +02:00
Bram Moolenaar
ca81f0e834 patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Problem:    Vim9: arguments for execute() not checked at compile time.
Solution:   Add a function to check the argument types.
2021-06-20 14:41:01 +02:00
Christian Brabandt
f573c6e1ed patch 8.2.3022: available encryption methods are not strong enough
Problem:    Available encryption methods are not strong enough.
Solution:   Add initial support for xchaha20. (Christian Brabandt,
            closes #8394)
2021-06-20 14:02:16 +02:00
Bram Moolenaar
208f0b48b2 patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Problem:    Spaces allowed between option name and "!", "?", etc.
Solution:   Disallow spaces in Vim9 script, it was not documented.
            (closes #8408)
2021-06-20 12:40:08 +02:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
2fb7495686 patch 8.2.3020: unreachable code
Problem:    Unreachable code.
Solution:   Remove the code. (closes #8406)
2021-06-19 21:38:25 +02:00
thinca
6864efa596 patch 8.2.3019: location list only has the start position.
Problem:    Location list only has the start position.
Solution:   Make it possible to add an end position. (Shane-XB-Qian,
            closes #8393)
2021-06-19 20:45:20 +02:00
Yegappan Lakshmanan
ad52f96a2d patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Problem:    Formatting using quickfixtextfunc is lost when updating location
            lists for different buffers.  (Yorick Peterse)
Solution:   Use the right window for the locaiton list. (Yegappan Lakshmanan,
            closes #8400, closes #8403)
2021-06-19 18:22:53 +02:00
Bram Moolenaar
59b50c3bee patch 8.2.3017: Vim9: debugger shows too many lines
Problem:    Vim9: debugger shows too many lines.
Solution:   Truncate at a comment, "enddef", etc. (closes #8392)
2021-06-17 22:27:48 +02:00
Bram Moolenaar
fae55a9cb0 patch 8.2.3016: confusing error when expression is followed by comma
Problem:    Confusing error when expression is followed by comma.
Solution:   Give a different error for trailing text. (closes #8395)
2021-06-17 22:08:30 +02:00
Bram Moolenaar
74f4a965bc patch 8.2.3015: Vim9: Assigning to @# requires a string
Problem:    Vim9: Assigning to @# requires a string. (Naohiro Ono)
Solution:   Accent a number or a string. (closes #8396)
2021-06-17 21:03:07 +02:00
Dominique Pelle
6e9695525e patch 8.2.3014: Coverity warns for freeing static string
Problem:    Coverity warns for freeing static string.
Solution:   Do not assign static string to pointer. (Dominique Pellé,
            closes #8397)
2021-06-17 13:53:41 +02:00
Bram Moolenaar
4cea536bdf patch 8.2.3013: Vim: when debugging only first line of command is displayed
Problem:    Vim: when debugging only the first line of a command using line
            continuation is displayed.
Solution:   Find the next command and concatenate lines until that one.
            (closes #8392)
2021-06-16 22:24:40 +02:00
Christian Brabandt
29f0dc3689 patch 8.2.3012: when 'rightleft' is set the line number is drawn reversed
Problem:    When 'rightleft' is set the line number is sometimes drawn
            reversed.
Solution:   Adjust how space is handled. (Christian Brabandt, closes #8389,
            closes #8391)
2021-06-16 19:28:34 +02:00
Bram Moolenaar
6bc30b05e6 patch 8.2.3011: Vim9: cannot get argument values during debugging
Problem:    Vim9: cannot get argument values during debugging.
Solution:   Lookup names in the list of arguments.  Put debug instruction
            halfway for command.
2021-06-16 19:19:55 +02:00
Yegappan Lakshmanan
41a7f82dea patch 8.2.3010: not enough testing for viminfo code
Problem:    Not enough testing for viminfo code.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #8390)
2021-06-16 15:53:17 +02:00
Bram Moolenaar
b90ac5e96e patch 8.2.3009: startup test may hang
Problem:    Startup test may hang.
Solution:   Do not run the test in the GUI.
2021-06-16 10:59:36 +02:00
Bram Moolenaar
55b6b60b69 patch 8.2.3008: startup test may hang
Problem:    Startup test may hang.
Solution:   Add quit command in the script.
2021-06-15 23:05:59 +02:00
Bram Moolenaar
61a417b7c1 patch 8.2.3007: Vim9: test for void value fails
Problem:    Vim9: test for void value fails.
Solution:   Adjust expected error.  Do not make a copy of void.
2021-06-15 22:54:28 +02:00
Bram Moolenaar
a97c36310f patch 8.2.3006: crash when echoing a value very early
Problem:    Crash when echoing a value very early. (Naruhiko Nishino)
Solution:   Do not use a NUL to truncate the message, make a copy.
            (closes #8388)
2021-06-15 22:39:11 +02:00
Bram Moolenaar
f57b43c230 patch 8.2.3005: Vim9: using a void value does not give a proper error message
Problem:    Vim9: using a void value does not give a proper error message.
Solution:   Give a clear error message. (clodes #8387)
2021-06-15 22:13:27 +02:00
Bram Moolenaar
8ac681a280 patch 8.2.3004: Vim9: error for missing colon given while skipping
Problem:    Vim9: error for missing colon given while skipping.
Solution:   Do not give the error when skipping. (closes #8385)
2021-06-15 20:06:34 +02:00
Bram Moolenaar
968a5b62ff patch 8.2.3003: Vim9: closure compiled with wrong compile type
Problem:    Vim9: closure compiled with wrong compile type.
Solution:   Use COMPILE_TYPE() when calling a function. (closes #8384)
2021-06-15 19:32:40 +02:00
Dominique Pelle
affd0bc626 patch 8.2.3002: Vim doesn't abort on a fatal Tcl error
Problem:    Vim doesn't abort on a fatal Tcl error.
Solution:   Change emsg() to iemsg(). (Dominique Pellé, closes #8383)
2021-06-15 19:09:43 +02:00
Bram Moolenaar
caf1a2f296 patch 8.2.3001: Vim9: memory leak when compilation fails
Problem:    Vim9: memory leak when compilation fails.
Solution:   Free the list of variable names.
2021-06-15 11:27:21 +02:00
Bram Moolenaar
3b814af7e1 patch 8.2.3000: Vim9: warning for uninitialized variable
Problem:    Vim9: warning for uninitialized variable.
Solution:   Add initialization. (John Marriott)
2021-06-15 10:22:17 +02:00
Bram Moolenaar
47f6db9089 patch 8.2.2999: balloon sometimes does not hide with GTK 3
Problem:    Balloon sometimes does not hide with GTK 3.
Solution:   Also listen to GDK_LEAVE_NOTIFY. (Johannes Stezenbach)
2021-06-14 22:08:46 +02:00
Bram Moolenaar
1b0a9dd413 patch 8.2.2998: Vim9: disassemble test fails
Problem:    Vim9: disassemble test fails.
Solution:   Add missing call to lookup_debug_var().
2021-06-14 21:32:21 +02:00
Bram Moolenaar
26d711645c patch 8.2.2997: Vim9: disassemble test fails
Problem:    Vim9: disassemble test fails.
Solution:   Adjust expected output.
2021-06-14 21:08:56 +02:00
Bram Moolenaar
b69c6fb7b4 patch 8.2.2996: Vim9: when debugging cannot inspect local variables
Problem:    Vim9: when debugging cannot inspect local variables.
Solution:   Make local variables available when debugging.
2021-06-14 20:40:37 +02:00
Zdenek Dohnal
90478f35a8 patch 8.2.2995: linker errors with dynamic Python 3.10
Problem:    Linker errors with dynamic Python 3.10.
Solution:   Add a couple of library entries. (Zdenek Dohnal, closes #8381,
            closes #8356)
2021-06-14 15:08:30 +02:00
Yegappan Lakshmanan
2d6d718dde patch 8.2.2994: various code is not fully tested
Problem:    Various code is not fully tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #8378)
2021-06-13 21:52:48 +02:00
Bram Moolenaar
5ffefbb35a patch 8.2.2993: 'fileencodings' default value should depend on 'encoding'
Problem:    'fileencodings' default value should depend on 'encoding'. (Gary
            Johnson)
Solution:   When 'encoding' is "utf-8" use a different default value for
            'fileencodings'.
2021-06-13 20:27:36 +02:00
Bram Moolenaar
2346a63784 Update runtime files 2021-06-13 19:02:49 +02:00
3465 changed files with 556998 additions and 231792 deletions

View File

@@ -1,34 +1,52 @@
version: "{build}"
image: Visual Studio 2015
skip_tags: true
environment:
matrix:
- FEATURE: HUGE
# Alternate environments, not used right now. 2022 is a lot slower.
#
# - job_name: VS-2015
# appveyor_build_worker_image: Visual Studio 2015
# FEATURE: HUGE
# - job_name: VS-2017
# appveyor_build_worker_image: Visual Studio 2017
# FEATURE: HUGE
# - job_name: VS-2019
# appveyor_build_worker_image: Visual Studio 2019
# FEATURE: HUGE
# - job_name: VS-2022
# appveyor_build_worker_image: Visual Studio 2022
# FEATURE: HUGE
# disabled
# - FEATURE: TINY
# - FEATURE: SMALL
# - FEATURE: NORMAL
# - FEATURE: BIG
matrix:
fast_finish: true
before_build:
# Use Windows SDK 7.1 (= MSVC 2010)
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
- call ver
- ci\appveyor.bat install
build_script:
- ci/appveyor.bat
- ci\appveyor.bat build
test_script:
- cd src/testdir
# Testing with MSVC gvim
- path C:\Python35-x64;%PATH%
- nmake -f Make_dos.mak VIMPROG=..\gvim
- nmake -f Make_dos.mak clean
# Testing with MSVC console version
- nmake -f Make_dos.mak VIMPROG=..\vim
- ci\appveyor.bat test
artifacts:
- path: src/vim.exe
name: vim
- path: src/gvim.exe
name: gvim
# vim: sw=2 sts=2 et ts=8 sr

View File

@@ -2,13 +2,15 @@ env:
CIRRUS_CLONE_DEPTH: 3
FEATURES: huge
freebsd_12_task:
only_if: $CIRRUS_TAG == ''
freebsd_task:
name: FreeBSD
matrix:
- name: FreeBSD 14.0
freebsd_instance:
image_family: freebsd-14-0
timeout_in: 20m
freebsd_instance:
image: freebsd-12-1-release-amd64
install_script:
pkg install -y gettext
- pkg install -y gettext
build_script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure --with-features=${FEATURES}

View File

@@ -4,3 +4,11 @@ coverage:
project:
default:
threshold: 0.05%
comment: false
# Files not run by tests
ignore:
- "src/dosinst.c"
- "src/dosinst.h"
- "src/uninstall.c"

View File

@@ -1 +0,0 @@
service_name: github-actions

238
.github/CODEOWNERS vendored
View File

@@ -1,238 +0,0 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
# You can use github users with @user or email addresses
# These owners will be the default owners for everything in the repo.
#* @brammool
# Order is important. The last matching pattern has the most precedence.
# So if a pull request only touches javascript files, only these owners
# will be requested to review.
runtime/autoload/getscript.vim @cecamp
runtime/autoload/netrw.vim @cecamp
runtime/autoload/netrwFileHandlers.vim @cecamp
runtime/autoload/netrwSettings.vim @cecamp
runtime/autoload/rubycomplete.vim @segfault @dkearns
runtime/autoload/tar.vim @cecamp
runtime/autoload/vimball.vim @cecamp
runtime/autoload/xmlformat.vim @chrisbra
runtime/autoload/zip.vim @cecamp
runtime/compiler/checkstyle.vim @dkearns
runtime/compiler/cm3.vim @dkearns
runtime/compiler/cucumber.vim @tpope
runtime/compiler/dart.vim @dkearns
runtime/compiler/dart2js.vim @dkearns
runtime/compiler/dart2native.vim @dkearns
runtime/compiler/dartanalyser.vim @dkearns
runtime/compiler/dartdevc.vim @dkearns
runtime/compiler/dartdoc.vim @dkearns
runtime/compiler/dartfmt.vim @dkearns
runtime/compiler/eruby.vim @dkearns
runtime/compiler/fbc.vim @dkearns
runtime/compiler/gawk.vim @dkearns
runtime/compiler/gjs.vim @dkearns
runtime/compiler/haml.vim @tpope
runtime/compiler/javac.vim @dkearns
runtime/compiler/jest.vim @dkearns
runtime/compiler/jjs.vim @dkearns
runtime/compiler/jshint.vim @dkearns
runtime/compiler/jsonlint.vim @dkearns
runtime/compiler/lazbuild.vim @dkearns
runtime/compiler/php.vim @dkearns
runtime/compiler/powershell.vim @heaths
runtime/compiler/rake.vim @tpope @dkearns
runtime/compiler/rhino.vim @dkearns
runtime/compiler/rspec.vim @tpope @dkearns
runtime/compiler/rubocop.vim @dkearns
runtime/compiler/ruby.vim @tpope @dkearns
runtime/compiler/rubyunit.vim @dkearns
runtime/compiler/sass.vim @tpope
runtime/compiler/se.vim @dkearns
runtime/compiler/shellcheck.vim @dkearns
runtime/compiler/sml.vim @dkearns
runtime/compiler/stylelint.vim @dkearns
runtime/compiler/tcl.vim @dkearns
runtime/compiler/tidy.vim @dkearns
runtime/compiler/ts-node.vim @dkearns
runtime/compiler/tsc.vim @dkearns
runtime/compiler/typedoc.vim @dkearns
runtime/compiler/xmllint.vim @dkearns
runtime/compiler/xo.vim @dkearns
runtime/compiler/zsh.vim @dkearns
runtime/doc/pi_getscript.txt @cecamp
runtime/doc/pi_logipat.txt @cecamp
runtime/doc/pi_netrw.txt @cecamp
runtime/doc/pi_tar.txt @cecamp
runtime/doc/pi_vimball.txt @cecamp
runtime/doc/pi_zip.txt @cecamp
runtime/doc/ps1.txt @heaths
runtime/ftplugin/awk.vim @dkearns
runtime/ftplugin/basic.vim @dkearns
runtime/ftplugin/bst.vim @tpope
runtime/ftplugin/cfg.vim @chrisbra
runtime/ftplugin/css.vim @dkearns
runtime/ftplugin/cucumber.vim @tpope
runtime/ftplugin/eiffel.vim @dkearns
runtime/ftplugin/eruby.vim @tpope @dkearns
runtime/ftplugin/fpcmake.vim @dkearns
runtime/ftplugin/freebasic.vim @dkearns
runtime/ftplugin/git.vim @tpope
runtime/ftplugin/gitcommit.vim @tpope
runtime/ftplugin/gitconfig.vim @tpope
runtime/ftplugin/gitrebase.vim @tpope
runtime/ftplugin/gitsendemail.vim @tpope
runtime/ftplugin/gprof.vim @dpelle
runtime/ftplugin/haml.vim @tpope
runtime/ftplugin/hgcommit.vim @k-takata
runtime/ftplugin/javascript.vim @dkearns
runtime/ftplugin/javascriptreact.vim @dkearns
runtime/ftplugin/kconfig.vim @chrisbra
runtime/ftplugin/liquid.vim @tpope
runtime/ftplugin/m3build.vim @dkearns
runtime/ftplugin/m3quake.vim @dkearns
runtime/ftplugin/markdown.vim @tpope
runtime/ftplugin/matlab.vim @cecamp
runtime/ftplugin/meson.vim @Liambeguin
runtime/ftplugin/modula3.vim @dkearns
runtime/ftplugin/nroff.vim @a-vrma
runtime/ftplugin/nsis.vim @k-takata
runtime/ftplugin/pascal.vim @dkearns
runtime/ftplugin/pbtxt.vim @lakshayg
runtime/ftplugin/pdf.vim @tpope
runtime/ftplugin/ps1.vim @heaths
runtime/ftplugin/ps1xml.vim @heaths
runtime/ftplugin/ruby.vim @tpope @dkearns
runtime/ftplugin/sass.vim @tpope
runtime/ftplugin/scss.vim @tpope
runtime/ftplugin/spec.vim @ignatenkobrain
runtime/ftplugin/systemverilog.vim @Kocha
runtime/ftplugin/tidy.vim @dkearns
runtime/ftplugin/tmux.vim @ericpruitt
runtime/ftplugin/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
runtime/ftplugin/xml.vim @chrisbra
runtime/ftplugin/zsh.vim @chrisbra
runtime/indent/bst.vim @tpope
runtime/indent/cucumber.vim @tpope
runtime/indent/dosbatch.vim @k-takata
runtime/indent/eruby.vim @tpope @dkearns
runtime/indent/gitconfig.vim @tpope
runtime/indent/haml.vim @tpope
runtime/indent/liquid.vim @tpope
runtime/indent/meson.vim @Liambeguin
runtime/indent/nsis.vim @k-takata
runtime/indent/ps1.vim @heaths
runtime/indent/ruby.vim @AndrewRadev @dkearns
runtime/indent/sass.vim @tpope
runtime/indent/scss.vim @tpope
runtime/indent/sh.vim @chrisbra
runtime/indent/systemverilog.vim @Kocha
runtime/indent/teraterm.vim @k-takata
runtime/indent/xml.vim @chrisbra
runtime/indent/zsh.vim @chrisbra
runtime/keymap/tamil_tscii.vim @yegappan
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @yegappan
runtime/pack/dist/opt/matchit/ @chrisbra
runtime/plugin/getscriptPlugin.vim @cecamp
runtime/plugin/logiPat.vim @cecamp
runtime/plugin/netrwPlugin.vim @cecamp
runtime/plugin/tarPlugin.vim @cecamp
runtime/plugin/vimballPlugin.vim @cecamp
runtime/plugin/zipPlugin.vim @cecamp
runtime/syntax/aidl.vim @dpelle
runtime/syntax/amiga.vim @cecamp
runtime/syntax/asm.vim @dkearns
runtime/syntax/asmh8300.vim @dkearns
runtime/syntax/asterisk.vim @jaunis
runtime/syntax/awk.vim @dkearns
runtime/syntax/basic.vim @dkearns
runtime/syntax/bst.vim @tpope
runtime/syntax/cabal.vim @coot
runtime/syntax/cabalconfig.vim @coot
runtime/syntax/cabalproject.vim @coot
runtime/syntax/cs.vim @nickspoons
runtime/syntax/csh.vim @cecamp
runtime/syntax/cucumber.vim @tpope
runtime/syntax/datascript.vim @dpelle
runtime/syntax/dcl.vim @cecamp
runtime/syntax/desktop.vim @e-kwsm
runtime/syntax/dot.vim @mmottl
runtime/syntax/doxygen.vim @frogonwheels
runtime/syntax/dtd.vim @chrisbra
runtime/syntax/dts.vim @zonque
runtime/syntax/elmfilt.vim @cecamp
runtime/syntax/eruby.vim @tpope @dkearns
runtime/syntax/exports.vim @cecamp
runtime/syntax/fpcmake.vim @dkearns
runtime/syntax/git.vim @tpope
runtime/syntax/gitcommit.vim @tpope
runtime/syntax/gitconfig.vim @tpope
runtime/syntax/gitrebase.vim @tpope
runtime/syntax/gprof.vim @dpelle
runtime/syntax/groff.vim @jmarshall
runtime/syntax/haml.vim @tpope
runtime/syntax/haskell.vim @coot
runtime/syntax/hgcommit.vim @k-takata
runtime/syntax/kconfig.vim @chrisbra
runtime/syntax/less.vim @genoma
runtime/syntax/lex.vim @cecamp
runtime/syntax/liquid.vim @tpope
runtime/syntax/lisp.vim @cecamp
runtime/syntax/lynx.vim @dkearns
runtime/syntax/m3build.vim @dkearns
runtime/syntax/m3quake.vim @dkearns
runtime/syntax/mailcap.vim @dkearns
runtime/syntax/make.vim @rohieb
runtime/syntax/maple.vim @cecamp
runtime/syntax/markdown.vim @tpope
runtime/syntax/meson.vim @Liambeguin
runtime/syntax/modula3.vim @dkearns
runtime/syntax/netrw.vim @cecamp
runtime/syntax/nroff.vim @jmarshall
runtime/syntax/nsis.vim @k-takata
runtime/syntax/pascal.vim @dkearns
runtime/syntax/pbtxt.vim @lakshayg
runtime/syntax/pdf.vim @tpope
runtime/syntax/php.vim @TysonAndre
runtime/syntax/privoxy.vim @dkearns
runtime/syntax/prolog.vim @XVilka
runtime/syntax/ps1.vim @heaths
runtime/syntax/ps1xml.vim @heaths
runtime/syntax/psl.vim @danielkho
runtime/syntax/rc.vim @chrisbra
runtime/syntax/rpcgen.vim @cecamp
runtime/syntax/ruby.vim @dkearns
runtime/syntax/sass.vim @tpope
runtime/syntax/scss.vim @tpope
runtime/syntax/sh.vim @cecamp
runtime/syntax/sm.vim @cecamp
runtime/syntax/spec.vim @ignatenkobrain
runtime/syntax/sqloracle.vim @chrisbra
runtime/syntax/sshconfig.vim @Jakuje
runtime/syntax/sshdconfig.vim @Jakuje
runtime/syntax/sudoers.vim @e-kwsm
runtime/syntax/systemverilog.vim @Kocha
runtime/syntax/tags.vim @cecamp
runtime/syntax/teraterm.vim @k-takata
runtime/syntax/tex.vim @cecamp
runtime/syntax/tidy.vim @dkearns
runtime/syntax/tmux.vim @ericpruitt
runtime/syntax/vim.vim @cecamp
runtime/syntax/wget.vim @dkearns
runtime/syntax/xbl.vim @dkearns
runtime/syntax/xmath.vim @cecamp
runtime/syntax/xml.vim @chrisbra
runtime/syntax/xslt.vim @Boobies
runtime/syntax/xxd.vim @cecamp
runtime/syntax/yacc.vim @cecamp
runtime/syntax/zsh.vim @chrisbra
runtime/tutor/tutor.eo @dpelle
runtime/tutor/tutor.eo.utf-8 @dpelle
runtime/tutor/tutor.fr @dpelle
runtime/tutor/tutor.fr.utf-8 @dpelle
src/iscygpty.* @k-takata
src/libvterm/ @leonerd
src/po/de.po @chrisbra
src/po/eo.po @dpelle
src/po/fr.po @dpelle

View File

@@ -1,34 +0,0 @@
---
name: Bug report
about: Create a report to help us improve Vim
title: ''
labels: ''
---
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Describe the bug**
A clear and concise description of what the bug is.
(Issues related to the runtime files should be reported to their maintainer, check the file header.)
**To Reproduce**
Detailed steps to reproduce the behavior:
1. Run `vim --clean` (or `gvim --clean`, etc.)
2. Edit `filename`
3. Type '....'
4. Describe the error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, copy/paste the text or add screenshots to help explain your problem.
**Environment (please complete the following information):**
- Vim version [e.g. 8.1.1234] (Or paste the result of `vim --version`.)
- OS: [e.g. Ubuntu 18.04, Windows 10 1809, macOS 10.14]
- Terminal: [e.g. GNOME Terminal, mintty, iTerm2, tmux, GNU screen] (Use GUI if you use the GUI.)
**Additional context**
Add any other context about the problem here.

57
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,57 @@
---
name: Bug report
description: Create a report to help us improve Vim.
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thanks for reporting issues of Vim!
If you want to report a security issue, instead of reporting it here publicly,
please disclose it privately via mail to vim-security@googlegroups.com.
(It's a private list read only by the maintainers,
but anybody can post, after moderation.)
To make it easier for us to help you please enter detailed information below.
- type: textarea
attributes:
label: Steps to reproduce
placeholder: |
1.
2.
3.
4.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
placeholder: A clear and concise description of what you expected to happen.
validations:
required: true
- type: input
attributes:
label: Version of Vim
description: >
Including patch level, use ":version" to see it [e.g. 8.2.1234]
validations:
required: true
- type: textarea
attributes:
label: Environment
description: >
OS [e.g. Ubuntu 21.10], terminal [e.g. GNOME Terminal 3.38.1], value of $TERM, shell [e.g. bash 5.1.8]; anything that might matter
placeholder: |
Operating system:
Terminal:
Value of $TERM:
Shell:
validations:
required: true
- type: textarea
attributes:
label: Logs and stack traces
placeholder: Insert log or other text here (if necessary)
render: shell

558
.github/MAINTAINERS vendored Normal file
View File

@@ -0,0 +1,558 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
# You can use github users with @user or email addresses
# These owners will be the default owners for everything in the repo.
#* @brammool
# Order is important. The last matching pattern has the most precedence.
# So if a pull request only touches javascript files, only these owners
# will be requested to review.
nsis/lang/russian.nsi @RestorerZ
runtime/autoload/freebasic.vim @dkearns
runtime/autoload/hare.vim @selenebun
runtime/autoload/haskell.vim @alx741
runtime/autoload/javascript.vim @jsit
runtime/autoload/modula2.vim @dkearns
runtime/autoload/php.vim @david-szabo97
runtime/autoload/rubycomplete.vim @segfault @dkearns
runtime/autoload/rust.vim @lilyball
runtime/autoload/xmlformat.vim @chrisbra
runtime/autoload/dist/json.vim @habamax
runtime/colors/blue.vim @habamax @romainl @neutaaaaan
runtime/colors/darkblue.vim @habamax @romainl @neutaaaaan
runtime/colors/default.vim @habamax @romainl @neutaaaaan
runtime/colors/delek.vim @habamax @romainl @neutaaaaan
runtime/colors/desert.vim @habamax @romainl @neutaaaaan
runtime/colors/elflord.vim @habamax @romainl @neutaaaaan
runtime/colors/evening.vim @habamax @romainl @neutaaaaan
runtime/colors/habamax.vim @habamax @romainl @neutaaaaan
runtime/colors/industry.vim @habamax @romainl @neutaaaaan
runtime/colors/koehler.vim @habamax @romainl @neutaaaaan
runtime/colors/lunaperche.vim @habamax @romainl @neutaaaaan
runtime/colors/morning.vim @habamax @romainl @neutaaaaan
runtime/colors/murphy.vim @habamax @romainl @neutaaaaan
runtime/colors/pablo.vim @habamax @romainl @neutaaaaan
runtime/colors/peachpuff.vim @habamax @romainl @neutaaaaan
runtime/colors/quiet.vim @habamax @romainl @neutaaaaan
runtime/colors/retrobox.vim @habamax @romainl @neutaaaaan
runtime/colors/ron.vim @habamax @romainl @neutaaaaan
runtime/colors/shine.vim @habamax @romainl @neutaaaaan
runtime/colors/slate.vim @habamax @romainl @neutaaaaan
runtime/colors/sorbet.vim @habamax @romainl @neutaaaaan
runtime/colors/tools @habamax @romainl @neutaaaaan
runtime/colors/torte.vim @habamax @romainl @neutaaaaan
runtime/colors/wildcharm.vim @habamax @romainl @neutaaaaan
runtime/colors/zaibatsu.vim @habamax @romainl @neutaaaaan
runtime/colors/zellner.vim @habamax @romainl @neutaaaaan
runtime/compiler/checkstyle.vim @dkearns
runtime/compiler/cm3.vim @dkearns
runtime/compiler/cucumber.vim @tpope
runtime/compiler/dart.vim @dkearns
runtime/compiler/dart2js.vim @dkearns
runtime/compiler/dart2native.vim @dkearns
runtime/compiler/dartanalyser.vim @dkearns
runtime/compiler/dartdevc.vim @dkearns
runtime/compiler/dartdoc.vim @dkearns
runtime/compiler/dartfmt.vim @dkearns
runtime/compiler/dotnet.vim @nickspoons
runtime/compiler/eruby.vim @dkearns
runtime/compiler/fbc.vim @dkearns
runtime/compiler/gawk.vim @dkearns
runtime/compiler/gjs.vim @dkearns
runtime/compiler/gm2.vim @dkearns
runtime/compiler/go.vim @dbarnett
runtime/compiler/haml.vim @tpope
runtime/compiler/hare.vim @selenebun
runtime/compiler/icon.vim @dkearns
runtime/compiler/javac.vim @dkearns
runtime/compiler/jest.vim @dkearns
runtime/compiler/jjs.vim @dkearns
runtime/compiler/jshint.vim @dkearns
runtime/compiler/jsonlint.vim @dkearns
runtime/compiler/jq.vim @vito-c
runtime/compiler/lazbuild.vim @dkearns
runtime/compiler/perl.vim @petdance @heptite
runtime/compiler/perlcritic.vim @petdance @dkearns
runtime/compiler/php.vim @dkearns
runtime/compiler/podchecker.vim @petdance @dkearns
runtime/compiler/powershell.vim @heaths
runtime/compiler/raco.vim @benknoble
runtime/compiler/racomake.vim @benknoble
runtime/compiler/racosetup.vim @benknoble
runtime/compiler/racotest.vim @benknoble
runtime/compiler/rake.vim @tpope @dkearns
runtime/compiler/rhino.vim @dkearns
runtime/compiler/rspec.vim @tpope @dkearns
runtime/compiler/rubocop.vim @dkearns
runtime/compiler/ruby.vim @tpope @dkearns
runtime/compiler/rubyunit.vim @dkearns
runtime/compiler/sass.vim @tpope
runtime/compiler/sdoc.vim @gpanders
runtime/compiler/se.vim @dkearns
runtime/compiler/shellcheck.vim @dkearns
runtime/compiler/sml.vim @dkearns
runtime/compiler/spectral.vim @romainl
runtime/compiler/stylelint.vim @dkearns
runtime/compiler/tcl.vim @dkearns
runtime/compiler/tidy.vim @dkearns
runtime/compiler/ts-node.vim @dkearns
runtime/compiler/tsc.vim @dkearns
runtime/compiler/typedoc.vim @dkearns
runtime/compiler/xmllint.vim @dkearns
runtime/compiler/xo.vim @dkearns
runtime/compiler/yamllint.vim @romainl
runtime/compiler/zsh.vim @dkearns
runtime/doc/ft_hare.txt @selenebun
runtime/doc/ps1.txt @heaths
runtime/ftplugin/abaqus.vim @costerwi
runtime/ftplugin/apache.vim @dubgeiser
runtime/ftplugin/arduino.vim @k-takata
runtime/ftplugin/astro.vim @romainl
runtime/ftplugin/awk.vim @dkearns
runtime/ftplugin/basic.vim @dkearns
runtime/ftplugin/bst.vim @tpope
runtime/ftplugin/cfg.vim @chrisbra
runtime/ftplugin/chatito.vim @ObserverOfTime
runtime/ftplugin/clojure.vim @axvr
runtime/ftplugin/cs.vim @nickspoons
runtime/ftplugin/csh.vim @dkearns
runtime/ftplugin/css.vim @dkearns
runtime/ftplugin/cucumber.vim @tpope
runtime/ftplugin/dart.vim @ribru17
runtime/ftplugin/deb822sources.vim @jamessan
runtime/ftplugin/debchangelog.vim @jamessan
runtime/ftplugin/debcontrol.vim @jamessan
runtime/ftplugin/debsources.vim @jamessan
runtime/ftplugin/desktop.vim @e-kwsm
runtime/ftplugin/dosbatch.vim @mrdubya
runtime/ftplugin/eiffel.vim @dkearns
runtime/ftplugin/elixir.vim @mhanberg
runtime/ftplugin/erlang.vim @hcs42
runtime/ftplugin/eruby.vim @tpope @dkearns
runtime/ftplugin/expect.vim @dkearns
runtime/ftplugin/fennel.vim @gpanders
runtime/ftplugin/fetchmail.vim @dkearns
runtime/ftplugin/forth.vim @jkotlinski
runtime/ftplugin/fpcmake.vim @dkearns
runtime/ftplugin/freebasic.vim @dkearns
runtime/ftplugin/fstab.vim @rid9
runtime/ftplugin/gdb.vim @xeyownt
runtime/ftplugin/gdscript.vim @habamax
runtime/ftplugin/gdshader.vim @habamax
runtime/ftplugin/git.vim @tpope
runtime/ftplugin/gitattributes.vim @ObserverOfTime
runtime/ftplugin/gitcommit.vim @tpope
runtime/ftplugin/gitconfig.vim @tpope
runtime/ftplugin/gitignore.vim @ObserverOfTime
runtime/ftplugin/gitrebase.vim @tpope
runtime/ftplugin/gitsendemail.vim @tpope
runtime/ftplugin/graphql.vim @ribru17
runtime/ftplugin/gyp.vim @ObserverOfTime
runtime/ftplugin/go.vim @dbarnett
runtime/ftplugin/gprof.vim @dpelle
runtime/ftplugin/haml.vim @tpope
runtime/ftplugin/hare.vim @selenebun
runtime/ftplugin/haredoc.vim @selenebun
runtime/ftplugin/heex.vim @cvincent
runtime/ftplugin/hgcommit.vim @k-takata
runtime/ftplugin/hog.vim @wtfbbqhax
runtime/ftplugin/html.vim @dkearns
runtime/ftplugin/hyprlang.vim @ribru17
runtime/ftplugin/i3config.vim @hiqua
runtime/ftplugin/icon.vim @dkearns
runtime/ftplugin/indent.vim @dkearns
runtime/ftplugin/ishd.vim @dkearns
runtime/ftplugin/j.vim @glts
runtime/ftplugin/java.vim @zzzyxwvut
runtime/ftplugin/javascript.vim @dkearns
runtime/ftplugin/javascriptreact.vim @dkearns
runtime/ftplugin/jj.vim @gpanders
runtime/ftplugin/json.vim @dbarnett
runtime/ftplugin/json5.vim @dkearns
runtime/ftplugin/jsonc.vim @izhakjakov
runtime/ftplugin/julia.vim @carlobaldassi
runtime/ftplugin/jq.vim @vito-c
runtime/ftplugin/kconfig.vim @chrisbra
runtime/ftplugin/kotlin.vim @udalov
runtime/ftplugin/less.vim @genoma
runtime/ftplugin/liquid.vim @tpope
runtime/ftplugin/lua.vim @dkearns
runtime/ftplugin/lynx.vim @dkearns
runtime/ftplugin/m3build.vim @dkearns
runtime/ftplugin/m3quake.vim @dkearns
runtime/ftplugin/markdown.vim @tpope
runtime/ftplugin/meson.vim @Liambeguin
runtime/ftplugin/modula2.vim @dkearns
runtime/ftplugin/modula3.vim @dkearns
runtime/ftplugin/nginx.vim @chr4
runtime/ftplugin/nim.vim @ribru17
runtime/ftplugin/nroff.vim @a-vrma
runtime/ftplugin/nsis.vim @k-takata
runtime/ftplugin/octave.vim @dkearns
runtime/ftplugin/openvpn.vim @ObserverOfTime
runtime/ftplugin/pascal.vim @dkearns
runtime/ftplugin/pbtxt.vim @lakshayg
runtime/ftplugin/pdf.vim @tpope
runtime/ftplugin/perl.vim @petdance @dkearns
runtime/ftplugin/php.vim @dkearns
runtime/ftplugin/pod.vim @petdance @dkearns
runtime/ftplugin/poefilter.vim @ObserverOfTime
runtime/ftplugin/postscr.vim @mrdubya
runtime/ftplugin/prisma.vim @ribru17
runtime/ftplugin/ps1.vim @heaths
runtime/ftplugin/ps1xml.vim @heaths
runtime/ftplugin/purescript.vim @ribru17
runtime/ftplugin/pymanifest.vim @ObserverOfTime
runtime/ftplugin/python.vim @tpict
runtime/ftplugin/qb64.vim @dkearns
runtime/ftplugin/qml.vim @ChaseKnowlden
runtime/ftplugin/racket.vim @benknoble
runtime/ftplugin/readline.vim @dkearns
runtime/ftplugin/rescript.vim @ribru17
runtime/ftplugin/routeros.vim @zainin
runtime/ftplugin/rst.vim @marshallward
runtime/ftplugin/ruby.vim @tpope @dkearns
runtime/ftplugin/rust.vim @lilyball
runtime/ftplugin/sass.vim @tpope
runtime/ftplugin/scala.vim @derekwyatt
runtime/ftplugin/scss.vim @tpope
runtime/ftplugin/sdoc.vim @gpanders
runtime/ftplugin/sed.vim @dkearns
runtime/ftplugin/sh.vim @dkearns
runtime/ftplugin/slint.vim @ribru17
runtime/ftplugin/solidity.vim @cothi
runtime/ftplugin/solution.vim @dkearns
runtime/ftplugin/spec.vim @ignatenkobrain
runtime/ftplugin/ssa.vim @ObserverOfTime
runtime/ftplugin/sshdconfig.vim @jiangyinzuo
runtime/ftplugin/swayconfig.vim @jamespeapen
runtime/ftplugin/systemverilog.vim @Kocha
runtime/ftplugin/swig.vim @jmarrec
runtime/ftplugin/tap.vim @petdance
runtime/ftplugin/tcsh.vim @dkearns
runtime/ftplugin/tidy.vim @dkearns
runtime/ftplugin/tmux.vim @ericpruitt
runtime/ftplugin/toml.vim @averms
runtime/ftplugin/tt2html.vim @petdance
runtime/ftplugin/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
runtime/ftplugin/typst.vim @ribru17
runtime/ftplugin/unison.vim @chuwy
runtime/ftplugin/v.vim @ribru17
runtime/ftplugin/vdf.vim @ObserverOfTime
runtime/ftplugin/vim.vim @dkearns
runtime/ftplugin/wast.vim @rhysd
runtime/ftplugin/wget.vim @dkearns
runtime/ftplugin/wget2.vim @dkearns
runtime/ftplugin/xcompose.vim @ObserverOfTime
runtime/ftplugin/xml.vim @chrisbra
runtime/ftplugin/xs.vim @petdance
runtime/ftplugin/zsh.vim @chrisbra
runtime/import/dist/vimhighlight.vim @lacygoill
runtime/indent/arduino.vim @k-takata
runtime/indent/astro.vim @wuelnerdotexe
runtime/indent/basic.vim @dkearns
runtime/indent/bst.vim @tpope
runtime/indent/cdl.vim @dkearns
runtime/indent/chatito.vim @ObserverOfTime
runtime/indent/clojure.vim @axvr
runtime/indent/config.vim @dkearns
runtime/indent/cs.vim @nickspoons
runtime/indent/css.vim @dkearns
runtime/indent/cucumber.vim @tpope
runtime/indent/d.vim @dkearns
runtime/indent/dosbatch.vim @k-takata
runtime/indent/dtd.vim @dkearns
runtime/indent/dylan.vim @dkearns
runtime/indent/eiffel.vim @jocelyn
runtime/indent/elm.vim @andys8
runtime/indent/erlang.vim @hcs42
runtime/indent/eruby.vim @tpope @dkearns
runtime/indent/eterm.vim @dkearns
runtime/indent/falcon.vim @steveno
runtime/indent/framescript.vim @dkearns
runtime/indent/freebasic.vim @dkearns
runtime/indent/gdscript.vim @habamax
runtime/indent/gitconfig.vim @tpope
runtime/indent/gitolite.vim @sitaramc
runtime/indent/go.vim @dbarnett
runtime/indent/gyp.vim @ObserverOfTime
runtime/indent/haml.vim @tpope
runtime/indent/hare.vim @selenebun
runtime/indent/hog.vim @wtfbbqhax
runtime/indent/idlang.vim @dkearns
runtime/indent/j.vim @glts
runtime/indent/java.vim @xuhdev
runtime/indent/javascript.vim @bounceme
runtime/indent/json.vim @elzr
runtime/indent/jsonc.vim @izhakjakov
runtime/indent/julia.vim @carlobaldassi
runtime/indent/kotlin.vim @udalov
runtime/indent/krl.vim @KnoP-01
runtime/indent/ld.vim @dkearns
runtime/indent/less.vim @genoma
runtime/indent/liquid.vim @tpope
runtime/indent/lua.vim @marcuscf
runtime/indent/make.vim @dkearns
runtime/indent/meson.vim @Liambeguin
runtime/indent/mma.vim @dkearns
runtime/indent/nginx.vim @chr4
runtime/indent/nsis.vim @k-takata
runtime/indent/occam.vim @dkearns
runtime/indent/perl.vim @petdance
runtime/indent/php.vim @2072
runtime/indent/postscr.vim @mrdubya
runtime/indent/prolog.vim @dkearns
runtime/indent/ps1.vim @heaths
runtime/indent/qb64.vim @dkearns
runtime/indent/qml.vim @ChaseKnowlden
runtime/indent/racket.vim @benknoble
runtime/indent/rapid.vim @KnoP-01
runtime/indent/readline.vim @dkearns
runtime/indent/ruby.vim @AndrewRadev @dkearns
runtime/indent/sass.vim @tpope
runtime/indent/scala.vim @derekwyatt
runtime/indent/scss.vim @tpope
runtime/indent/sh.vim @chrisbra
runtime/indent/solidity.vim @cothi
runtime/indent/systemverilog.vim @Kocha
runtime/indent/tcl.vim @dkearns
runtime/indent/tcsh.vim @dkearns
runtime/indent/teraterm.vim @k-takata
runtime/indent/typescript.vim @HerringtonDarkholme
runtime/indent/vroom.vim @dbarnett
runtime/indent/wast.vim @rhysd
runtime/indent/xml.vim @chrisbra
runtime/indent/zsh.vim @chrisbra
runtime/keymap/armenian-eastern_utf-8.vim @blinskey
runtime/keymap/armenian-western_utf-8.vim @blinskey
runtime/keymap/russian-typograph.vim @RestorerZ
runtime/keymap/tamil_tscii.vim @yegappan
runtime/lang/menu_en_gb.latin1.vim @mrdubya
runtime/lang/menu_ru_ru.cp1251.vim @RestorerZ
runtime/lang/menu_ru_ru.koi8-r.vim @RestorerZ
runtime/lang/menu_ru_ru.utf-8.vim @RestorerZ
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @yegappan
runtime/pack/dist/opt/comment/ @habamax
runtime/pack/dist/opt/matchit/ @chrisbra
runtime/plugin/manpager.vim @Konfekt
runtime/syntax/shared/hgcommitDiff.vim @vegerot
runtime/syntax/abaqus.vim @costerwi
runtime/syntax/aidl.vim @dpelle
runtime/syntax/ant.vim @dkearns
runtime/syntax/arduino.vim @johshoff
runtime/syntax/asciidoc.vim @aerostitch
runtime/syntax/asm.vim @dkearns
runtime/syntax/asmh8300.vim @dkearns
runtime/syntax/asterisk.vim @jaunis
runtime/syntax/astro.vim @wuelnerdotexe
runtime/syntax/autohotkey.vim @mmikeww
runtime/syntax/awk.vim @dkearns
runtime/syntax/basic.vim @dkearns
runtime/syntax/bst.vim @tpope
runtime/syntax/bzl.vim @dbarnett
runtime/syntax/bzr.vim @hdima
runtime/syntax/cabal.vim @coot
runtime/syntax/cabalconfig.vim @coot
runtime/syntax/cabalproject.vim @coot
runtime/syntax/cf.vim @ernstvanderlinden
runtime/syntax/chatito.vim @ObserverOfTime
runtime/syntax/chuck.vim @gacallea
runtime/syntax/clojure.vim @axvr
runtime/syntax/cs.vim @nickspoons
runtime/syntax/cucumber.vim @tpope
runtime/syntax/d.vim @JesseKPhillips
runtime/syntax/dart.vim @pr3d4t0r
runtime/syntax/datascript.vim @dpelle
runtime/syntax/deb822sources.vim @jamessan
runtime/syntax/debchangelog.vim @jamessan
runtime/syntax/debcontrol.vim @jamessan
runtime/syntax/debcopyright.vim @jamessan
runtime/syntax/debsources.vim @jamessan
runtime/syntax/dep3patch.vim @jamessan
runtime/syntax/desktop.vim @e-kwsm
runtime/syntax/dosbatch.vim @mrdubya
runtime/syntax/dosini.vim @xuhdev
runtime/syntax/dot.vim @mmottl
runtime/syntax/doxygen.vim @frogonwheels
runtime/syntax/dtd.vim @chrisbra
runtime/syntax/dts.vim @zonque
runtime/syntax/editorconfig.vim @gpanders
runtime/syntax/eiffel.vim @jocelyn
runtime/syntax/erlang.vim @hcs42
runtime/syntax/eruby.vim @tpope @dkearns
runtime/syntax/expect.vim @dkearns
runtime/syntax/falcon.vim @steveno
runtime/syntax/fennel.vim @gpanders
runtime/syntax/fetchmail.vim @dkearns
runtime/syntax/forth.vim @jkotlinski
runtime/syntax/fpcmake.vim @dkearns
runtime/syntax/freebasic.vim @dkearns
runtime/syntax/fstab.vim @rid9
runtime/syntax/gdresource.vim @habamax
runtime/syntax/gdscript.vim @habamax
runtime/syntax/gdshader.vim @habamax
runtime/syntax/git.vim @tpope
runtime/syntax/gitattributes.vim @ObserverOfTime
runtime/syntax/gitcommit.vim @tpope
runtime/syntax/gitconfig.vim @tpope
runtime/syntax/gitignore.vim @ObserverOfTime
runtime/syntax/gitolite.vim @sitaramc
runtime/syntax/gitrebase.vim @tpope
runtime/syntax/go.vim @bhcleek
runtime/syntax/godoc.vim @dbarnett
runtime/syntax/gp.vim @KBelabas
runtime/syntax/gprof.vim @dpelle
runtime/syntax/groff.vim @jmarshall
runtime/syntax/gyp.vim @ObserverOfTime
runtime/syntax/haml.vim @tpope
runtime/syntax/hare.vim @selenebun
runtime/syntax/haredoc.vim @selenebun
runtime/syntax/haskell.vim @coot
runtime/syntax/help_ru.vim @RestorerZ
runtime/syntax/hgcommit.vim @k-takata
runtime/syntax/hitest.vim @lacygoill
runtime/syntax/hog.vim @wtfbbqhax
runtime/syntax/hollywood.vim @sodero
runtime/syntax/html.vim @dkearns
runtime/syntax/i3config.vim @hiqua
runtime/syntax/icon.vim @dkearns
runtime/syntax/indent.vim @dkearns
runtime/syntax/j.vim @glts
runtime/syntax/jargon.vim @h3xx
runtime/syntax/java.vim @zzzyxwvut
runtime/syntax/javascript.vim @fleiner
runtime/syntax/jj.vim @gpanders
runtime/syntax/json.vim @vito-c
runtime/syntax/jsonc.vim @izhakjakov
runtime/syntax/julia.vim @carlobaldassi
runtime/syntax/jq.vim @vito-c
runtime/syntax/kconfig.vim @chrisbra
runtime/syntax/kotlin.vim @udalov
runtime/syntax/krl.vim @KnoP-01
runtime/syntax/less.vim @genoma
runtime/syntax/liquid.vim @tpope
runtime/syntax/lua.vim @marcuscf
runtime/syntax/lyrics.vim @ObserverOfTime
runtime/syntax/lynx.vim @dkearns
runtime/syntax/m3build.vim @dkearns
runtime/syntax/m3quake.vim @dkearns
runtime/syntax/mailcap.vim @dkearns
runtime/syntax/make.vim @rohieb
runtime/syntax/mallard.vim @jhradilek
runtime/syntax/markdown.vim @tpope
runtime/syntax/mason.vim @petdance
runtime/syntax/meson.vim @Liambeguin
runtime/syntax/modula2.vim @dkearns
runtime/syntax/modula2/opt/iso.vim @trijezdci
runtime/syntax/modula2/opt/pim.vim @trijezdci
runtime/syntax/modula2/opt/r10.vim @trijezdci
runtime/syntax/modula3.vim @dkearns
runtime/syntax/n1ql.vim @pr3d4t0r
runtime/syntax/nginx.vim @chr4
runtime/syntax/ninja.vim @nico
runtime/syntax/nix.vim @equill
runtime/syntax/nroff.vim @jmarshall
runtime/syntax/nsis.vim @k-takata
runtime/syntax/openvpn.vim @ObserverOfTime
runtime/syntax/pacmanlog.vim @rpigott
runtime/syntax/pascal.vim @dkearns
runtime/syntax/pbtxt.vim @lakshayg
runtime/syntax/pdf.vim @tpope
runtime/syntax/perl.vim @petdance
runtime/syntax/php.vim @TysonAndre
runtime/syntax/plsql.vim @lee-lindley
runtime/syntax/pod.vim @petdance
runtime/syntax/poefilter.vim @ObserverOfTime
runtime/syntax/postscr.vim @mrdubya
runtime/syntax/privoxy.vim @dkearns
runtime/syntax/prolog.vim @XVilka
runtime/syntax/ps1.vim @heaths
runtime/syntax/ps1xml.vim @heaths
runtime/syntax/psl.vim @danielkho
runtime/syntax/pymanifest.vim @ObserverOfTime
runtime/syntax/qb64.vim @dkearns
runtime/syntax/qml.vim @ChaseKnowlden
runtime/syntax/racket.vim @benknoble
runtime/syntax/raml.vim @in3d
runtime/syntax/rapid.vim @KnoP-01
runtime/syntax/ratpoison.vim @trapd00r
runtime/syntax/rc.vim @chrisbra
runtime/syntax/rcs.vim @hdima
runtime/syntax/rebol.vim @mrdubya
runtime/syntax/rego.vim @zenmatic
runtime/syntax/resolv.vim @rid9
runtime/syntax/rng.vim @jhradilek
runtime/syntax/routeros.vim @zainin
runtime/syntax/rst.vim @marshallward
runtime/syntax/ruby.vim @dkearns
runtime/syntax/sass.vim @tpope
runtime/syntax/scala.vim @derekwyatt
runtime/syntax/scss.vim @tpope
runtime/syntax/sdoc.vim @gpanders
runtime/syntax/sed.vim @dkearns
runtime/syntax/shared/debversions.vim @jamessan
runtime/syntax/solidity.vim @cothi
runtime/syntax/spec.vim @ignatenkobrain
runtime/syntax/sqloracle.vim @chrisbra
runtime/syntax/squirrel.vim @zenmatic
runtime/syntax/srt.vim @ObserverOfTime
runtime/syntax/ssa.vim @ObserverOfTime
runtime/syntax/sshconfig.vim @Jakuje
runtime/syntax/sshdconfig.vim @Jakuje
runtime/syntax/sudoers.vim @e-kwsm
runtime/syntax/svn.vim @hdima
runtime/syntax/swayconfig.vim @jamespeapen
runtime/syntax/swig.vim @jmarrec
runtime/syntax/systemverilog.vim @Kocha
runtime/syntax/tap.vim @petdance
runtime/syntax/tcsh.vim @dkearns
runtime/syntax/teraterm.vim @k-takata
runtime/syntax/tidy.vim @dkearns
runtime/syntax/tmux.vim @ericpruitt
runtime/syntax/toml.vim @averms
runtime/syntax/tt2.vim @petdance
runtime/syntax/tt2html.vim @petdance
runtime/syntax/tt2js.vim @petdance
runtime/syntax/typescript.vim @HerringtonDarkholme @rhysd
runtime/syntax/typescriptreact.vim @HerringtonDarkholme @rhysd
runtime/syntax/shared/typescriptcommon.vim @HerringtonDarkholme @rhysd
runtime/syntax/unison.vim @chuwy
runtime/syntax/vdf.vim @ObserverOfTime
runtime/syntax/vroom.vim @dbarnett
runtime/syntax/wast.vim @rhysd
runtime/syntax/wdl.vim @zenmatic
runtime/syntax/wget.vim @dkearns
runtime/syntax/wget2.vim @dkearns
runtime/syntax/xbl.vim @dkearns
runtime/syntax/xcompose.vim @ObserverOfTime
runtime/syntax/xml.vim @chrisbra
runtime/syntax/xs.vim @petdance
runtime/syntax/xslt.vim @Boobies
runtime/syntax/zserio.vim @dpelle
runtime/syntax/zsh.vim @chrisbra
runtime/tutor/tutor.eo @dpelle
runtime/tutor/tutor.eo.utf-8 @dpelle
runtime/tutor/tutor.fr @dpelle
runtime/tutor/tutor.fr.utf-8 @dpelle
runtime/tutor/tutor.ru @RestorerZ
runtime/tutor/tutor.ru.cp1251 @RestorerZ
runtime/tutor/tutor.ru.utf-8 @RestorerZ
src/iscygpty.* @k-takata
src/libvterm/ @leonerd
src/po/ca.po @nfdisco
src/po/de.po @chrisbra
src/po/eo.po @dpelle
src/po/es.po @victorhck
src/po/fi.po @flammie
src/po/fr.po @dpelle
src/po/ga.po @kscanne
src/po/it.po @azc100
src/po/ja.po @k-takata
src/po/ru.po @RestorerZ
src/po/sr.po @eevan78
src/po/tr.po @bitigchi
src/po/uk.po @sakhnik
src/xxd/ @jnweiger

26
.github/actions/screendump/action.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: 'screendump'
description: "Upload failed syntax tests"
runs:
using: "composite"
steps:
- name: Upload failed syntax tests
uses: actions/upload-artifact@v4
with:
# Name of the artifact to upload.
name: ${{ github.workflow }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-syntax-tests
# A file, directory or wildcard pattern that describes what
# to upload.
path: |
${{ github.workspace }}/runtime/syntax/testdir/failed/*
${{ github.workspace }}/src/testdir/failed/*
# The desired behavior if no files are found using the
# provided path.
if-no-files-found: ignore
# Duration after which artifact will expire in days. 0 means
# using repository settings.
retention-days: 0
# If true, an artifact with a matching name will be deleted
overwrite: true

8
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "CI"

155
.github/labeler.yml vendored Normal file
View File

@@ -0,0 +1,155 @@
# list of labels and minimatch globs to match to apply the label.
CI:
- all:
- changed-files:
- any-glob-to-any-file:
- '.cirrus.yml'
- '.github/dependabot.yml'
- '.github/labeler.yml'
- '.github/workflows/*'
- '.appveyor.yml'
- '.codecov.yml'
documentation:
- all:
- changed-files:
- any-glob-to-all-files:
- '*/doc/*'
translation:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/po/*.po'
if_lua:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/if_lua.c'
- 'src/proto/if_lua.pro'
- 'runtime/doc/if_lua.txt'
if_mzscheme:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/if_mzsch.c'
- 'src/if_mzsch.h'
- 'src/proto/if_mzsch.pro'
- 'runtime/doc/if_mzsch.txt'
if_perl:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/if_perl.xs'
- 'src/if_perlsfio.c'
- 'src/proto/if_perl.pro'
- 'src/proto/if_perlsfio.pro'
- 'runtime/doc/if_perl.txt'
if_python:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/if_py_both.h'
- 'runtime/doc/if_pyth.txt'
- 'src/if_python.c'
- 'src/if_python3.c'
- 'src/proto/if_python.pro'
- 'src/proto/if_python3.pro'
if_ruby:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/if_ruby.c'
- 'src/proto/if_ruby.pro'
- 'runtime/doc/if_ruby.txt'
if_tcl:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/if_tcl.c'
- 'src/proto/if_tcl.pro'
- 'runtime/doc/if_tcl.txt'
installer:
- all:
- changed-files:
- any-glob-to-any-file:
- 'nsis/**'
- 'src/dosinst.*'
- 'src/uninstall.c'
platform-mac:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/INSTALLmac.txt'
- 'src/os_mac*'
- 'src/proto/os_mac*'
platform-windows:
- all:
- changed-files:
- any-glob-to-any-file:
- 'nsis/**'
- 'src/*.bat'
- 'src/*.bmp'
- 'src/*.ico'
- 'src/GvimExt/*'
- 'src/INSTALLpc.txt'
- 'src/Make_cyg*.mak'
- 'src/Make_ming.mak'
- 'src/Make_mvc.mak'
- 'src/dosinst.*'
- 'src/gui_dwrite.*'
- 'src/gui_w32*'
- 'src/if_ole.*'
- 'src/iid_ole.c'
- 'src/os_mswin*'
- 'src/os_w32*'
- 'src/os_win32.*'
- 'src/proto/gui_w32.pro'
- 'src/proto/os_mswin.pro'
- 'src/proto/os_win32.pro'
- 'src/proto/winclip.pro'
- 'src/uninstall.c'
- 'src/vim.manifest'
- 'src/vim.rc'
- 'src/vimrun.c'
- 'src/winclip.c'
- 'src/xpm/**'
- 'src/xpm_w32.*'
runtime:
- all:
- changed-files:
- any-glob-to-any-file:
- 'runtime/ftplugin'
- 'runtime/syntax'
- 'runtime/indent'
- 'runtime/pack/dist/opt/termdebug/plugin/termdebug.vim'
termdebug:
- all:
- changed-files:
- any-glob-to-any-file:
- 'runtime/pack/dist/opt/termdebug/plugin/termdebug.vim'
plugin-netrw:
- all:
- changed-files:
- any-glob-to-any-file:
- 'runtime/plugin/netrwPlugin.vim'
- 'runtime/autoload/netrw*'
xxd:
- all:
- changed-files:
- any-glob-to-any-file:
- 'src/xxd/*'

View File

@@ -5,12 +5,24 @@ on:
branches: ['**']
pull_request:
# Cancels all previous workflow runs for pull requests that have not completed.
concurrency:
# The concurrency group contains the workflow name and the branch name for
# pull requests or the commit hash for any other events.
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
linux:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
env:
CC: ${{ matrix.compiler }}
GCC_VER: 13
CLANG_VER: 18
TEST: test
SRCDIR: ./src
LEAK_CFLAGS: -DEXITFREE
@@ -22,67 +34,121 @@ jobs:
strategy:
fail-fast: false
matrix:
features: [tiny, small, normal, huge]
features: [tiny, normal, huge]
compiler: [clang, gcc]
extra: [none]
extra: [[]]
# Only use non-native architecture when features != huge.
# features=huge tries to install python3-dev, which fails to install
# for the non-native architecture.
architecture: [native]
include:
- features: tiny
compiler: clang
extra: nogui
extra: [nogui]
- features: tiny
compiler: gcc
extra: nogui
extra: [nogui]
- features: normal
shadow: ./src/shadow
- features: huge
coverage: true
- features: huge
compiler: gcc
architecture: i386
- features: huge
coverage: true
extra: testgui
- features: huge
compiler: clang
extra: asan
interface: dynamic
python3: stable-abi
- features: huge
compiler: gcc
coverage: true
extra: unittests
interface: dynamic
extra: [uchar, testgui]
- features: huge
compiler: clang
# Lua5.1 is the most widely used version (since it's what LuaJIT is
# compatible with), so ensure it works
lua_ver: '5.1'
extra: [asan]
- features: huge
compiler: gcc
coverage: true
extra: [unittests]
- features: normal
compiler: gcc
extra: vimtags
extra: [vimtags]
steps:
- uses: actions/checkout@v2
- name: Checkout repository from github
uses: actions/checkout@v4
- name: Check Filelist (for packaging)
run: |
# If any files in the repository are not listed in Filelist this will
# exit with an error code and list the missing entries.
make -f ci/unlisted.make
- run: sudo dpkg --add-architecture i386
if: matrix.architecture == 'i386'
- name: Uninstall snap
run: |
sudo bash ci/remove_snap.sh
- name: Install packages
run: |
sudo apt-get install -y \
autoconf \
lcov \
# This is added by default, and it is often broken, but we don't need anything from it
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
PKGS=( \
gettext \
libcanberra-dev \
libperl-dev \
python-dev \
python3-dev \
liblua5.3-dev \
lua5.3 \
ruby-dev \
tcl-dev \
cscope \
libgtk2.0-dev \
libgtk2.0-dev:${{ matrix.architecture }} \
desktop-file-utils \
libtool-bin
libtool-bin \
libncurses-dev:${{ matrix.architecture }} \
libxt-dev:${{ matrix.architecture }} \
)
if ${{ matrix.features == 'huge' }}; then
LUA_VER=${{ matrix.lua_ver || '5.4' }}
PKGS+=( \
autoconf \
gdb \
lcov \
libcanberra-dev \
libperl-dev \
python2-dev \
python3-dev \
liblua${LUA_VER}-dev \
lua${LUA_VER} \
ruby-dev \
tcl-dev \
cscope \
libsodium-dev \
attr \
libattr1-dev
)
fi
sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y "${PKGS[@]}"
- name: Install clang-11
- name: Install gcc-${{ env.GCC_VER }}
if: matrix.compiler == 'gcc'
run: |
# ubuntu-toolchain-r/test PPA for gcc-13 compiler
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update -y
sudo apt-get install -y gcc-${{ env.GCC_VER }}:${{ matrix.architecture }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100
sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }}
- name: Install clang-${{ env.CLANG_VER }}
if: matrix.compiler == 'clang'
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
. /etc/lsb-release
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main"
sudo apt-get install -y clang-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
sudo update-alternatives --set clang /usr/bin/clang-11
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-11 100
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-${{ env.CLANG_VER }} main"
sudo apt-get install -y clang-${{ env.CLANG_VER }} llvm-${{ env.CLANG_VER }}
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ env.CLANG_VER }} 100
sudo update-alternatives --set clang /usr/bin/clang-${{ env.CLANG_VER }}
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-${{ env.CLANG_VER }} 100
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-${{ env.CLANG_VER }} 100
- name: Set up environment
run: |
@@ -92,11 +158,10 @@ jobs:
(
echo "LINUX_VERSION=$(uname -r)"
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
echo "SND_DUMMY_DIR=${HOME}/snd-dummy"
echo "TMPDIR=${{ runner.temp }}"
case "${{ matrix.features }}" in
tiny|small)
tiny)
echo "TEST=testtiny"
if ${{ contains(matrix.extra, 'nogui') }}; then
echo "CONFOPT=--disable-gui"
@@ -106,14 +171,21 @@ jobs:
;;
huge)
echo "TEST=scripttests test_libvterm"
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
INTERFACE=${{ matrix.interface || 'yes' }}
if ${{ matrix.python3 == 'stable-abi' }}; then
PYTHON3_CONFOPT="--with-python3-stable-abi=3.8"
fi
echo "CONFOPT=--enable-perlinterp=${INTERFACE} --enable-pythoninterp=${INTERFACE} --enable-python3interp=${INTERFACE} --enable-rubyinterp=${INTERFACE} --enable-luainterp=${INTERFACE} --enable-tclinterp=${INTERFACE} ${PYTHON3_CONFOPT}"
;;
esac
if ${{ matrix.coverage == true }}; then
echo "CFLAGS=--coverage -DUSE_GCOV_FLUSH"
CFLAGS="${CFLAGS} --coverage -DUSE_GCOV_FLUSH"
echo "LDFLAGS=--coverage"
fi
if ${{ contains(matrix.extra, 'uchar') }}; then
CFLAGS="${CFLAGS} -funsigned-char"
fi
if ${{ contains(matrix.extra, 'testgui') }}; then
echo "TEST=-C src testgui"
fi
@@ -129,6 +201,7 @@ jobs:
if ${{ contains(matrix.extra, 'vimtags') }}; then
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
fi
echo "CFLAGS=${CFLAGS}"
) >> $GITHUB_ENV
- name: Set up system
@@ -137,31 +210,24 @@ jobs:
# Use llvm-cov instead of gcov when compiler is clang.
ln -fs /usr/bin/llvm-cov ${HOME}/bin/gcov
fi
# Setup lua5.3 manually since its package doesn't provide alternative.
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
if [[ ${CONFOPT} =~ luainterp ]]; then
sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
fi
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
sudo usermod -a -G audio "${USER}"
sudo bash ci/setup-xvfb.sh
- name: Cache snd-dummy
uses: actions/cache@v2
with:
path: ${{ env.SND_DUMMY_DIR }}
key: linux-${{ env.LINUX_VERSION }}-snd-dummy
- name: Set up snd-dummy
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
env:
DEST_DIR: ${{ env.TMPDIR }}/linux-modules-extra-${{ env.LINUX_VERSION }}
uses: tecolicom/actions-use-apt-tools@main
with:
tools: linux-modules-extra-${{ env.LINUX_VERSION }}
path: "${DEST_DIR}"
- name: modprobe snd-dummy
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
run: |
if [[ ! -e ${SND_DUMMY_DIR}/snd-dummy.ko ]]; then
bash ci/build-snd-dummy.sh
fi
cd "${SND_DUMMY_DIR}"
sudo insmod soundcore.ko
sudo insmod snd.ko
sudo insmod snd-pcm.ko
sudo insmod snd-dummy.ko
sudo depmod --verbose
sudo modprobe --verbose snd-dummy || true
- name: Check autoconf
if: contains(matrix.extra, 'unittests')
@@ -181,6 +247,10 @@ jobs:
# Append various warning flags to CFLAGS.
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
if [[ ${CC} = clang ]]; then
# Suppress some warnings produced by clang 12 and later.
sed -i -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
fi
- name: Build
if: (!contains(matrix.extra, 'unittests'))
@@ -195,56 +265,53 @@ jobs:
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
- name: Test
timeout-minutes: 20
timeout-minutes: 25
run: |
do_test() { sg audio "sg $(id -gn) '$*'"; }
do_test make ${SHADOWOPT} ${TEST}
- name: Coveralls
if: matrix.coverage && success() && github.event_name != 'pull_request'
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
COVERALLS_PARALLEL: true
TRAVIS_JOB_ID: ${{ github.run_id }}
run: |
sudo apt-get install -y python3-setuptools python3-wheel
sudo -H pip3 install pip -U
# needed for https support for coveralls building cffi only works with gcc, not with clang
CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
- name: Codecov
if: matrix.coverage && success()
- name: Vim tags
if: contains(matrix.extra, 'vimtags')
run: |
# This will exit with an error code if the generated vim tags differs from source.
(
cd runtime/doc
git diff --exit-code -- tags
make html; rm *.html tags.ref;
test -f errors.log && exit 3;
true
)
- name: Generate gcov files
if: matrix.coverage
run: |
cd "${SRCDIR}"
bash <(curl -s https://codecov.io/bash) -F "${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}"
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
- name: Codecov
timeout-minutes: 20
if: matrix.coverage
uses: codecov/codecov-action@v4
with:
flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}
token: ${{ secrets.CODECOV_TOKEN }}
- name: ASan logs
if: contains(matrix.extra, 'asan') && !cancelled()
run: |
for f in $(grep -lR '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "${LOG_DIR}"); do
asan_symbolize-11 -l "$f"
for f in $(grep -lR '#[[:digit:]]* *0x[[:xdigit:]]*' "${LOG_DIR}"); do
asan_symbolize -l "$f"
false # in order to fail a job
done
coveralls:
runs-on: ubuntu-18.04
needs: linux
if: always() && github.event_name != 'pull_request'
steps:
- name: Parallel finished
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: |
curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
macos:
runs-on: macos-latest
runs-on: ${{ matrix.runner }}
env:
CC: ${{ matrix.compiler }}
CC: clang
TEST: test
SRCDIR: ./src
LEAK_CFLAGS: -DEXITFREE
@@ -253,18 +320,32 @@ jobs:
strategy:
fail-fast: false
matrix:
features: [tiny, huge]
compiler: [clang, gcc]
features: [tiny, normal, huge]
runner: [macos-12, macos-14]
steps:
- uses: actions/checkout@v2
- name: Checkout repository from github
uses: actions/checkout@v4
- name: Install packages
env:
HOMEBREW_NO_AUTO_UPDATE: 1
if: matrix.features == 'huge'
run: |
brew install lua
echo "LUA_PREFIX=/usr/local" >> $GITHUB_ENV
brew install lua libtool
echo "LUA_PREFIX=$(brew --prefix)" >> $GITHUB_ENV
- name: Install blackhole-2ch for macos-12
if: matrix.features == 'huge' && matrix.runner == 'macos-12'
run: |
# Install audio device for playing sound since some of macos-12 machines have no audio device installed.
if system_profiler -json SPAudioDataType | jq -er '.SPAudioDataType[]._items == []'; then
brew install blackhole-2ch
fi
- name: Grant microphone access for macos-14
if: matrix.features == 'huge' && matrix.runner == 'macos-14'
run: |
# Temporary fix to fix microphone permission issues for macos-14 when playing sound.
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);"
- name: Set up environment
run: |
@@ -275,6 +356,8 @@ jobs:
echo "TEST=testtiny"
echo "CONFOPT=--disable-gui"
;;
normal)
;;
huge)
echo "CONFOPT=--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
;;
@@ -289,6 +372,10 @@ jobs:
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
# On macOS, the entity of gcc is clang.
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
# Suppress some warnings produced by clang 12 and later.
if clang --version | grep -qs 'Apple clang version \(1[3-9]\|[2-9]\)\.'; then
sed -i.bak -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
fi
- name: Build
env:
@@ -302,33 +389,51 @@ jobs:
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
- name: Install packages for testing
run: |
# Apple diff is broken. Use GNU diff instead. See #14032.
brew install diffutils
- name: Test
timeout-minutes: 20
run: |
make ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
windows:
runs-on: windows-latest
runs-on: windows-2022
env:
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
# Interfaces
# Lua
LUA_VER: 54
LUA_VER_DOT: '5.4'
LUA_RELEASE: 5.4.0
LUA_RELEASE: 5.4.2
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
LUA_DIR: D:\Lua
# do not want \L to end up in pathdef.c and compiler complaining about unknown escape sequences \l
LUA_DIR_SLASH: D:/Lua
# Python 2
PYTHON_VER: 27
PYTHON_VER_DOT: '2.7'
PYTHON_DIR: 'C:\Python27'
# Python 3
PYTHON3_VER: 38
PYTHON3_VER_DOT: '3.8'
PYTHON3_VER: 311
PYTHON3_VER_DOT: '3.11'
# Other dependencies
# winpty
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
# libsodium
SODIUM_VER: '1.0.19'
# SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
SODIUM_MSVC_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-msvc.zip
SODIUM_MSVC_VER: v143
# SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz
SODIUM_MINGW_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-mingw.tar.gz
SODIUM_MINGW_VER: 26
# Escape sequences
COL_RED: "\x1b[31m"
COL_GREEN: "\x1b[32m"
@@ -338,50 +443,77 @@ jobs:
strategy:
fail-fast: false
matrix:
toolchain: [msvc, mingw]
arch: [x64, x86]
features: [HUGE, NORMAL]
include:
- arch: x64
vcarch: amd64
warch: x64
bits: 64
msystem: MINGW64
cygreg: registry
pyreg: ""
- arch: x86
vcarch: x86
warch: ia32
bits: 32
msystem: MINGW32
cygreg: registry32
pyreg: "-32"
exclude:
- toolchain: msvc
arch: x64
features: NORMAL
- toolchain: mingw
arch: x86
features: NORMAL
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64, python3: stable }
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: yes, arch: x86, python3: stable, coverage: yes }
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: yes, arch: x86 }
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: no, arch: x64, coverage: yes }
- { features: NORMAL, toolchain: msvc, VIMDLL: yes, GUI: no, arch: x86 }
- { features: NORMAL, toolchain: mingw, VIMDLL: no, GUI: yes, arch: x64 }
- { features: TINY, toolchain: msvc, VIMDLL: yes, GUI: yes, arch: x64 }
- { features: TINY, toolchain: mingw, VIMDLL: no, GUI: no, arch: x86 }
steps:
- name: Initalize
- name: Initialize
id: init
shell: bash
run: |
# Show Windows version
cmd /c ver
git config --global core.autocrlf input
python_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON_VER_DOT}/InstallPath/@")
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
echo "PYTHON_DIR=$python_dir" >> $GITHUB_ENV
if ${{ matrix.arch == 'x64' }}; then
cygreg=registry
pyreg=
echo "VCARCH=amd64" >> $GITHUB_ENV
echo "WARCH=x64" >> $GITHUB_ENV
echo "BITS=64" >> $GITHUB_ENV
echo "MSYSTEM=MINGW64" >> $GITHUB_ENV
else
cygreg=registry32
pyreg=-32
echo "VCARCH=x86" >> $GITHUB_ENV
echo "WARCH=ia32" >> $GITHUB_ENV
echo "BITS=32" >> $GITHUB_ENV
echo "MSYSTEM=MINGW32" >> $GITHUB_ENV
fi
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
if ${{ matrix.features != 'TINY' }}; then
if ${{ matrix.arch == 'x86' }}; then
choco install python2 --no-progress --forcex86
else
choco install python2 --no-progress
fi
fi
python3_dir=$(cat "/proc/$cygreg/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}$pyreg/InstallPath/@")
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
if ${{ matrix.toolchain == 'msvc' }}; then
SODIUM_DIR=D:\\libsodium
echo "SODIUM_LIB=${SODIUM_DIR}\\${{ matrix.arch == 'x64' && 'x64' || 'Win32' }}\\Release\\${SODIUM_MSVC_VER}\\dynamic" >> $GITHUB_ENV
else
SODIUM_DIR=D:\\libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }}
# do not want \L to end up in pathdef.c and compiler complaining about unknown escape sequences \l
SODIUM_DIR_SLASH=D:/libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }}
echo "SODIUM_LIB=${SODIUM_DIR}\\bin" >> $GITHUB_ENV
echo "SODIUM_DIR_SLASH=${SODIUM_DIR_SLASH}" >> $GITHUB_ENV
fi
echo "SODIUM_DIR=${SODIUM_DIR}" >> $GITHUB_ENV
- uses: msys2/setup-msys2@v2
if: matrix.toolchain == 'mingw'
with:
msystem: ${{ matrix.msystem }}
update: true
install: tar
pacboy: >-
make:p gcc:p
msystem: ${{ env.MSYSTEM }}
release: false
- uses: actions/checkout@v2
- name: Checkout repository from github
uses: actions/checkout@v4
- name: Create a list of download URLs
shell: cmd
@@ -389,12 +521,13 @@ jobs:
type NUL > urls.txt
echo %LUA_RELEASE%>> urls.txt
echo %WINPTY_URL%>> urls.txt
echo %SODIUM_VER%>> urls.txt
- name: Cache downloaded files
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: downloads
key: ${{ runner.os }}-${{ matrix.bits }}-${{ hashFiles('urls.txt') }}
key: ${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('urls.txt') }}
- name: Download dependencies
shell: cmd
@@ -403,14 +536,24 @@ jobs:
if not exist downloads mkdir downloads
echo %COL_GREEN%Download Lua%COL_RESET%
call :downloadfile %LUA${{ matrix.bits }}_URL% downloads\lua.zip
call :downloadfile %LUA${{ env.BITS }}_URL% downloads\lua.zip
7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
echo %COL_GREEN%Download winpty%COL_RESET%
call :downloadfile %WINPTY_URL% downloads\winpty.zip
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty.dll src\winpty${{ matrix.bits }}.dll
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty-agent.exe src\
copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll
copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\
echo %COL_GREEN%Download libsodium%COL_RESET%
if "${{ matrix.toolchain }}"=="msvc" (
call :downloadfile %SODIUM_MSVC_URL% downloads\libsodium.zip
7z x -y downloads\libsodium.zip -oD:\ > nul || exit 1
) else (
call :downloadfile %SODIUM_MINGW_URL% downloads\libsodium.tar.gz
7z x -y downloads\libsodium.tar.gz -so | 7z x -si -ttar -oD:\ > nul || exit 1
mklink %SODIUM_LIB%\libsodium.dll %SODIUM_LIB%\libsodium-%SODIUM_MINGW_VER%.dll
)
goto :eof
@@ -425,34 +568,35 @@ jobs:
)
goto :eof
- name: Copy src directory to src2
shell: cmd
run: |
xcopy src src2\ /E > nul
- name: Build (MSVC)
if: matrix.toolchain == 'msvc'
shell: cmd
run: |
call "%VCVARSALL%" ${{ matrix.vcarch }}
call "%VCVARSALL%" %VCARCH%
cd src
:: Filter out the progress bar from the build log
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
if "${{ matrix.VIMDLL }}"=="yes" (
set GUI=yes
) else (
set GUI=${{ matrix.GUI }}
)
if "${{ matrix.python3 }}"=="stable" (
set PYTHON3_STABLE=yes
) else (
set PYTHON3_STABLE=no
)
if "${{ matrix.features }}"=="HUGE" (
nmake -nologo -f Make_mvc2.mak ^
nmake -nologo -f Make_mvc.mak ^
FEATURES=${{ matrix.features }} ^
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} ^
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
DYNAMIC_PYTHON3_STABLE_ABI=%PYTHON3_STABLE% ^
DYNAMIC_SODIUM=yes SODIUM=%SODIUM_DIR%
) else (
nmake -nologo -f Make_mvc2.mak ^
nmake -nologo -f Make_mvc.mak ^
FEATURES=${{ matrix.features }} ^
GUI=yes IME=yes ICONV=yes VIMDLL=yes
)
if not exist vim${{ matrix.bits }}.dll (
echo %COL_RED%Build failure.%COL_RESET%
exit 1
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }}
)
- name: Build (MinGW)
@@ -460,21 +604,51 @@ jobs:
shell: msys2 {0}
run: |
cd src
if [ "${{ matrix.VIMDLL }}" = "yes" ]; then
GUI=yes
else
GUI=${{ matrix.GUI }}
fi
if [ "${{ matrix.python3 }}" = "stable" ]; then
PYTHON3_STABLE=yes
else
PYTHON3_STABLE=no
fi
if [ "${{ matrix.features }}" = "HUGE" ]; then
mingw32-make -f Make_ming.mak -j2 \
FEATURES=${{ matrix.features }} \
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
DYNAMIC_LUA=yes LUA=${LUA_DIR_SLASH} \
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
STATIC_STDCPLUS=yes
DYNAMIC_PYTHON3_STABLE_ABI=${PYTHON3_STABLE} \
DYNAMIC_SODIUM=yes SODIUM=${SODIUM_DIR_SLASH} \
STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
else
mingw32-make -f Make_ming.mak -j2 \
FEATURES=${{ matrix.features }} \
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
STATIC_STDCPLUS=yes
fi
- name: Check version
shell: cmd
run: |
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
if "${{ matrix.GUI }}"=="yes" (
start /wait src\gvim -u NONE -i NONE -c "redir > version.txt | ver | q" || exit 1
type version.txt
echo.
start /wait src\gvim -u NONE -i NONE -c "redir! > version.txt | so ci\if_ver-1.vim | q"
start /wait src\gvim -u NONE -i NONE -c "redir >> version.txt | so ci\if_ver-2.vim | q"
type version.txt
del version.txt
) else (
src\vim --version || exit 1
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
)
#- name: Prepare Artifact
# shell: cmd
# run: |
@@ -488,40 +662,56 @@ jobs:
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
# path: ./artifacts
- name: Test
- name: Test and show the result of testing gVim
if: matrix.GUI == 'yes' || matrix.VIMDLL == 'yes'
shell: cmd
timeout-minutes: 20
timeout-minutes: 15
run: |
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%;%SODIUM_LIB%
call "%VCVARSALL%" %VCARCH%
echo %COL_GREEN%Test gVim:%COL_RESET%
cd src\testdir
if "${{ matrix.GUI }}"=="yes" (
nmake -nologo -f Make_mvc.mak VIMPROG=..\gvim || exit 1
) else (
@rem Run only tiny tests.
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\gvim || exit 1
)
- name: Test and show the result of testing Vim
if: matrix.GUI == 'no' || matrix.VIMDLL == 'yes'
shell: cmd
timeout-minutes: 15
run: |
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%;%SODIUM_LIB%
call "%VCVARSALL%" %VCARCH%
echo %COL_GREEN%Test Vim:%COL_RESET%
cd src\testdir
nmake -nologo -f Make_mvc.mak clean
if "${{ matrix.GUI }}"=="no" (
nmake -nologo -f Make_mvc.mak VIMPROG=..\vim || exit 1
) else (
@rem Run only tiny tests.
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\vim || exit 1
)
- if: ${{ !cancelled() }}
uses: ./.github/actions/screendump
- name: Generate gcov files
if: matrix.coverage
shell: msys2 {0}
run: |
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
call "%VCVARSALL%" ${{ matrix.vcarch }}
cd src
echo.
echo %COL_GREEN%vim version:%COL_RESET%
.\vim --version || exit 1
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
echo %COL_GREEN%Start testing vim in background.%COL_RESET%
start cmd /c "cd ..\src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
echo %COL_GREEN%Test gvim:%COL_RESET%
cd testdir
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
cd ..
echo %COL_GREEN%Wait for vim tests to finish.%COL_RESET%
cd ..\src2\testdir
:: Wait about 10 minutes.
for /L %%i in (1,1,60) do (
if exist done.txt goto exitloop
timeout 10 > NUL 2>&1
if ERRORLEVEL 1 ping -n 11 localhost > NUL
)
set timeout=1
:exitloop
echo %COL_GREEN%Test results of vim:%COL_RESET%
if exist messages type messages
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
if "%timeout%"=="1" (
echo %COL_RED%Timed out.%COL_RESET%
exit 1
)
- name: Codecov
timeout-minutes: 20
if: matrix.coverage
uses: codecov/codecov-action@v4
with:
directory: src
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}
token: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -14,8 +14,22 @@ on:
schedule:
- cron: '0 18 * * 1'
# Cancels all previous workflow runs for pull requests that have not completed.
concurrency:
# The concurrency group contains the workflow name and the branch name for
# pull requests or the commit hash for any other events.
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
analyze:
permissions:
contents: read # to fetch code (actions/checkout)
security-events: write # (github/codeql-action/autobuild)
name: Analyze
runs-on: ubuntu-latest
@@ -29,23 +43,23 @@ jobs:
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Checkout repository from github
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -59,4 +73,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3

86
.github/workflows/coverity.yml vendored Normal file
View File

@@ -0,0 +1,86 @@
name: Coverity
on:
schedule:
- cron: '42 0 * * *' # Run once per day, to avoid Coverity's submission limits
workflow_dispatch:
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
scan:
runs-on: ubuntu-22.04
env:
CC: gcc
DEBIAN_FRONTEND: noninteractive
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
steps:
- name: Checkout repository from github
if: env.TOKEN
uses: actions/checkout@v4
- name: Download Coverity
if: env.TOKEN
run: |
wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=vim" -O coverity_tool.tgz
mkdir cov-scan
tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan
- name: Install packages
if: env.TOKEN
run: |
sudo apt-get update && sudo apt-get install -y \
autoconf \
gettext \
libcanberra-dev \
libperl-dev \
python2-dev \
python3-dev \
liblua5.4-dev \
lua5.4 \
ruby-dev \
tcl-dev \
libgtk2.0-dev \
desktop-file-utils \
libtool-bin \
libsodium-dev
- name: Set up environment
if: env.TOKEN
run: |
echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
(
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
) >> $GITHUB_ENV
- name: Configure
if: env.TOKEN
run: |
./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
# Append various warning flags to CFLAGS.
sed -i -f ci/config.mk.sed src/auto/config.mk
sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk
# -O2 gives false warning and turns it into an error:
# warning: function may return address of local variable [-Wreturn-local-addr]
sed -i 's/-O2 \?//' src/auto/config.mk
- name: Build/scan vim
if: env.TOKEN
run: |
cov-build --dir cov-int make -j${NPROC}
- name: Submit results
if: env.TOKEN
run: |
tar zcf cov-scan.tgz cov-int
curl --form token=$TOKEN \
--form email=$EMAIL \
--form file=@cov-scan.tgz \
--form version="$(git rev-parse HEAD)" \
--form description="Automatic GHA scan" \
'https://scan.coverity.com/builds?project=vim'
env:
EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}

22
.github/workflows/label.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
# This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request.
#
# To use this workflow, you will need to set up a .github/labeler.yml
# file with configuration. For more information, see:
# https://github.com/actions/labeler
name: Labeler
on: [pull_request_target]
jobs:
label:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

25
.gitignore vendored
View File

@@ -8,7 +8,6 @@ src/auto/gui_gtk_gresources.h
src/auto/os_haiku.rdef
src/objects/.dirstamp
src/objects
src/tags
src/types.vim
# We do need src/auto/configure.
@@ -45,6 +44,8 @@ gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt
nsis/icons/*
/vim90/
.vscode/
# NetBeans
nbproject/*
@@ -62,6 +63,12 @@ src/xxd/xxd.dSYM
*.pyc
*.log
src/po/vim.pot
src/tags
/tags
/GPATH
/GTAGS
/GRTAGS
nsis/tags
# Generated by "make test"
src/po/*.ck
@@ -78,6 +85,8 @@ src/testdir/dostmp/*
src/testdir/messages
src/testdir/viminfo
src/testdir/opt_test.vim
src/testdir/failed
src/testdir/starttime
runtime/indent/testdir/*.out
runtime/indent/testdir/*.fail
src/memfile_test
@@ -86,8 +95,13 @@ src/message_test
src/kword_test
# Generated by "make install"
runtime/doc/tags
runtime/doc/doctags
runtime/doc/tags-*
# Temporarily generated by "runtime/syntax/generator/make"
runtime/syntax/generator/generator.err
runtime/syntax/generator/sanity_check.err
runtime/syntax/generator/vim.vim.rc
# Generated by "make shadow". The directory names could be anything but we
# restrict them to shadow (the default) or shadow-*
@@ -96,5 +110,10 @@ src/shadow-*
src/runtime
src/pixmaps
# other possible files build by tools
# other files possibly created by tools
src/cscope.out
# Linter/language server files
/.cache/clangd/
/.ccls-cache/
/compile_commands.json

View File

@@ -7,9 +7,9 @@ src/xxd/xxd
src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/auto/os_haiku.rdef
src/objects/.dirstamp
src/objects
src/tags
src/types.vim
# We do need src/auto/configure.
@@ -46,12 +46,15 @@ gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt
nsis/icons/*
/vim90/
.vscode/
# NetBeans
nbproject/*
# Mac OSX
src/xxd/xxd.dSYM
.DS_Store
# All platforms
*.rej
@@ -62,6 +65,12 @@ src/xxd/xxd.dSYM
*.pyc
*.log
src/po/vim.pot
src/tags
/tags
/GPATH
/GTAGS
/GRTAGS
nsis/tags
# Generated by "make test"
src/po/*.ck
@@ -78,15 +87,18 @@ src/testdir/dostmp/*
src/testdir/messages
src/testdir/viminfo
src/testdir/opt_test.vim
src/testdir/failed
src/testdir/starttime
runtime/indent/testdir/*.out
runtime/indent/testdir/*.fail
src/memfile_test
src/json_test
src/message_test
src/kword_test
# Generated by "make install"
runtime/doc/tags
runtime/doc/doctags
runtime/doc/tags-*
# Generated by "make shadow". The directory names could be anything but we
# restrict them to shadow (the default) or shadow-*
@@ -95,5 +107,10 @@ src/shadow-*
src/runtime
src/pixmaps
# other possible files build by tools
# other files possibly created by tools
src/cscope.out
# Linter/language server files
/.cache/clangd/
/.ccls-cache/
/compile_commands.json

View File

@@ -1,4 +0,0 @@
# Format of this file: https://lgtm.com/help/lgtm/lgtm.yml-configuration-file
path_classifiers:
documentation:
- runtime/tutor/tutor*

View File

@@ -1,288 +0,0 @@
language: c
env:
global:
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no LOG_DIR="$TRAVIS_BUILD_DIR/logs"
_anchors:
envs:
- &tiny-nogui
FEATURES=tiny TEST=testtiny CONFOPT="--disable-gui"
- &tiny
FEATURES=tiny TEST=testtiny
- &small
FEATURES=small TEST=testtiny
- &normal
FEATURES=normal
- &linux-huge
FEATURES=huge TEST="scripttests test_libvterm"
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
- &osx-huge # macOS build
FEATURES=huge
CONFOPT="--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
- &unittests
BUILD=no TEST=unittests FEATURES=huge CHECK_AUTOCONF=yes
- &coverage
CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage
- &asan # ASAN build
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
ASAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/asan" UBSAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/ubsan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
- &shadowopt
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
linux: &linux
os: linux
dist: bionic
addons:
apt:
packages: &apt-packages
- autoconf
- clang
- lcov
- gettext
- libcanberra-dev
- libperl-dev
- python-dev
- python3-dev
- liblua5.3-dev
- lua5.3
- ruby-dev
- tcl-dev
- cscope
- libgtk2.0-dev
- desktop-file-utils
- libtool-bin
services:
- xvfb
before_install:
- rvm reset
# Use llvm-cov instead of gcov when compiler is clang.
- |
if [[ "${CC}" = "clang" ]]; then
ln -sf "$(command -v llvm-cov)" /home/travis/bin/gcov
fi
# Setup lua5.3 manually since its package doesn't provide alternative.
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
- |
if [[ "${CONFOPT}" =~ luainterp ]]; then
sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
fi
before_script:
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
# It appears we can load "snd-dummy" on only amd64.
- |
if [[ "${TRAVIS_CPU_ARCH}" = amd64 ]]; then
sudo bash ci/load-snd-dummy.sh || true
fi
- sudo usermod -a -G audio $USER
- do_test() { sg audio "sg $(id -gn) '$*'"; }
osx: &osx
os: osx
before_script:
- do_test() { "$@"; }
homebrew: &osx-homebrew
addons:
homebrew:
packages:
- lua
update: true
cache:
directories:
- /usr/local/Homebrew/Library/Homebrew/vendor/
- /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
before_install:
- rvm reset
# Lua is not installed on macOS
- export LUA_PREFIX=/usr/local
coverage: &eval-coverage
# needed for https support for coveralls building cffi only works with gcc,
# not with clang
- CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
- ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
- (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
asan_symbolize: &asan_symbolize
# Update pyenv to fix the error "/opt/pyenv/libexec/pyenv: line 43: cd: asan_symbolize-6.0: Not a directory".
# https://github.com/pyenv/pyenv/issues/580
- (cd "${PYENV_ROOT}" && git fetch -p origin && git checkout "$(git rev-list --tags -n1)") &>/dev/null || true
- for f in $(grep -l '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "$LOG_DIR"/*); do asan_symbolize-11 -l "$f"; done
branches:
except:
- /^v[0-9]/
script:
- mkdir -p "$LOG_DIR"
- NPROC=$(getconf _NPROCESSORS_ONLN)
- set -o errexit
- echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
- |
if [[ "${CHECK_AUTOCONF}" = "yes" ]] && [[ "${CC}" = "gcc" ]]; then
make -C src autoconf
fi
- |
if [[ -n "${SHADOWOPT}" ]]; then
make -C src shadow
fi
# "./configure" changes its working directory into "$SRCDIR".
- ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing
- echo -en "travis_fold:end:configure\\r\\033[0K"
- echo -e "\\033[33;1mBuilding Vim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
- |
if [[ "${BUILD}" = "yes" ]]; then
# Append various warning flags to CFLAGS.
# BSD sed needs backup extension specified.
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
if [[ "${TRAVIS_OS_NAME}" = "osx" ]] || [[ "${CC}" = "clang-11" ]]; then
# On macOS, the entity of gcc is clang.
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
else
sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
fi
make ${SHADOWOPT} -j${NPROC}
fi
- echo -en "travis_fold:end:build\\r\\033[0K"
- set +o errexit
# Show Vim version and also if_xx versions.
- |
if [[ "${BUILD}" = "yes" ]]; then
"${SRCDIR}"/vim --version
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
fi
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
- |
# Not all sanitizers will cause the tests to fail. This helps since we can
# see all the failures instead of just the first one, but we still want the
# test phase to fail if any sanitizer issues are detected.
if [[ -n "${ASAN_OPTIONS}" ]]; then
if grep -q '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "$LOG_DIR"/*; then
false
fi
fi
# Instead of using all environments with both compilers on both systems,
# exclude some builds on mac os x and linux.
# On mac os x "tiny" is always without GUI, use 2 compilers in 2 environments.
# Linux: 2 compilers on some of the environments + gcc on os390
jobs:
include:
#- <<: *osx
# name: tiny-nogui/clang
# compiler: clang
# env: *tiny-nogui
#- <<: *osx
# name: tiny-nogui/gcc
# compiler: gcc
# env: *tiny-nogui
#- <<: *osx
# <<: *osx-homebrew
# name: huge/clang
# compiler: clang
# env: *osx-huge
#- <<: *osx
# <<: *osx-homebrew
# name: huge/gcc
# compiler: gcc
# env: *osx-huge
#- <<: *linux
# name: tiny-nogui/clang
# compiler: clang
# env: *tiny-nogui
#- <<: *linux
# name: tiny-nogui/gcc
# compiler: gcc
# env: *tiny-nogui
#- <<: *linux
# name: tiny/clang
# compiler: clang
# env: *tiny
#- <<: *linux
# name: tiny/gcc
# compiler: gcc
# env: *tiny
#- <<: *linux
# name: small/gcc
# compiler: gcc
# env: *small
#- <<: *linux
# name: normal+shadow/clang
# compiler: clang
# env:
# - *normal
# - *shadowopt
#- <<: *linux
# name: normal+shadow/gcc
# compiler: gcc
# env:
# - *normal
# - *shadowopt
- <<: *linux
arch: s390x
name: huge/gcc-s390x
compiler: gcc
env: *linux-huge
services: []
- <<: *linux
arch: arm64
name: huge/gcc-arm64
compiler: gcc
env: *linux-huge
services: []
#- <<: *linux
# name: huge+coverage/clang
# compiler: clang
# env:
# - *linux-huge
# - *coverage
# after_success: *eval-coverage
#- <<: *linux
# name: huge+coverage/gcc
# compiler: gcc
# env:
# - *linux-huge
# - *coverage
# after_success: *eval-coverage
#- <<: *linux # ASAN
# name: huge+asan/clang
# compiler: clang-11
# addons:
# apt:
# sources:
# - sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
# key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
# packages:
# - *apt-packages
# - clang-11
# env:
# - *linux-huge
# - *asan
# after_failure: *asan_symbolize
#- <<: *linux
# name: huge-testgui+coverage/gcc
# compiler: gcc
# env:
# - *linux-huge
# - *coverage
# - TEST="-C src testgui"
# after_success: *eval-coverage
#- <<: *linux
# name: unittests+coverage/gcc
# compiler: gcc
# env:
# - *unittests
# - *coverage
# after_success: *eval-coverage
#- <<: *linux
# name: vimtags/gcc
# compiler: gcc
# env:
# - *normal
# - TEST="-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
# vim:set sts=2 sw=2 tw=0 et:

View File

@@ -1,13 +1,12 @@
# Contributing to Vim
Patches are welcome in whatever form.
Discussions about patches happen on the vim-dev maillist.
Discussions about patches happen on the [vim-dev][0] mailing list.
If you create a pull request on GitHub it will be
forwarded to the vim-dev maillist. You can also send your patch there
directly. In that case an attachment with a unified diff format is preferred.
Information about the maillist can be found [on the Vim website].
[on the Vim website]: http://www.vim.org/maillist.php#vim-dev
forwarded to the vim-dev mailing list. You can also send your patch there
directly (but please note, the initial posting is subject to moderation).
In that case an attachment with a unified diff format is preferred.
Information about the mailing list can be found [on the Vim website][0]
A pull request has the advantage that it will trigger the Continuous
Integration tests, you will be warned of problems (you can ignore the coverage
@@ -22,52 +21,57 @@ Contributions will be distributed with Vim under the Vim license. Providing a
change to be included implies that you agree with this and your contribution
does not cause us trouble with trademarks or patents. There is no CLA to sign.
# Reporting issues
We use GitHub issues, but that is not a requirement. Writing to the Vim
maillist is also fine.
mailing list is also fine.
Please use the GitHub issues only for actual issues. If you are not 100% sure
that your problem is a Vim issue, please first discuss this on the Vim user
maillist. Try reproducing the problem without any of your plugins or settings:
mailing list. Try reproducing the problem without any of your plugins or settings:
vim --clean
If you report an issue, please describe exactly how to reproduce it.
For example, don't say "insert some text" but say what you did exactly:
"ahere is some text&lt;Esc&gt;".
`ahere is some text<Esc>`.
Ideally, the steps you list can be used to write a test to verify the problem
is fixed.
Feel free to report even the smallest problem, also typos in the documentation.
You can find known issues in the todo file: ":help todo".
Or open [the todo file] on GitHub to see the latest version.
[the todo file]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
You can find known issues in the todo file: `:help todo`.
Or open [the todo file][todo list] on GitHub to see the latest version.
# Syntax, indent and other runtime files
The latest version of these files can be obtained from the repository.
They are usually not updated with numbered patches.
They are usually not updated with numbered patches. However, they may
or may not work with older Vim releases (since they may contain new features).
If you find a problem with one of these files or have a suggestion for
improvement, please first try to contact the maintainer directly.
Look in the header of the file for the name and email address.
Look in the header of the file for the name, email address, github handle and/or
upstream repository. You may also check the [MAINTAINERS][11] file.
The maintainer will take care of issues and send updates to Bram for
The maintainer will take care of issues and send updates to the Vim project for
distribution with Vim.
If the maintainer does not respond, contact the vim-dev maillist.
If the maintainer does not respond, contact the [vim-dev][0] mailing list.
## Contributing new runtime files
If you want to contribute new runtime files for Vim or Neovim, please create a
PR with your changes against this repository here. For new filetypes, do not forget:
* to add a new [filetype test][12] (keep it similar to the other filetype tests).
* all configuration switches should be documented
(check [filetype.txt][13] and/or [syntax.txt][14] for filetype and syntax plugins)
* add yourself as Maintainer to the top of file (again, keep the header similar to
other runtime files)
* add yourself to the [MAINTAINERS][11] file.
# Translations
Translations of this CONTRIBUTING file:
[Korean](https://github.com/cjw1359/opensource/blob/master/Vim/CONTRIBUTING_ko.md)
Translating messages and runtime files is very much appreciated! These things
can be translated:
* Messages in Vim, see [src/po/README.txt][1]
@@ -80,8 +84,32 @@ can be translated:
The help files can be translated and made available separately.
See https://www.vim.org/translations.php for examples.
# How do I contribute to the project?
Please have a look at the following [discussion][6], which should give you some
ideas. Please also check the [develop.txt][7] helpfile for the recommended
style. Often it's also beneficial to check the surrounding code for the style
being used.
# I have a question
If you have some question on the style guide, please contact the [vim-dev][0]
mailing list. For other questions please use the [Vi Stack Exchange][8] website, the
[vim-use][9] mailing list or make use of the [discussion][10] feature here at github.
[todo list]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
[0]: http://www.vim.org/maillist.php#vim-dev
[1]: https://github.com/vim/vim/blob/master/src/po/README.txt
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
[5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi
[6]: https://github.com/vim/vim/discussions/13087
[7]: https://github.com/vim/vim/blob/master/runtime/doc/develop.txt
[8]: https://vi.stackexchange.com
[9]: http://www.vim.org/maillist.php#vim-use
[10]: https://github.com/vim/vim/discussions
[11]: https://github.com/vim/vim/blob/master/.github/MAINTAINERS
[12]: https://github.com/vim/vim/blob/master/src/testdir/test_filetype.vim
[13]: https://github.com/vim/vim/blob/master/runtime/doc/filetype.txt
[14]: https://github.com/vim/vim/blob/master/runtime/doc/syntax.txt

243
Filelist
View File

@@ -1,28 +1,30 @@
# List of distributed Vim files.
# Used by Makefile.
# source files for all source archives
# Source files for all source archives.
SRC_ALL = \
.cirrus.yml \
.coveralls.yml \
.gitattributes \
.github/CODEOWNERS \
.github/MAINTAINERS \
.github/ISSUE_TEMPLATE/bug_report.yml \
.github/ISSUE_TEMPLATE/feature_request.md \
.github/workflows/ci.yml \
.github/workflows/codeql-analysis.yml \
.github/actions/screendump/action.yml \
.github/workflows/coverity.yml \
.github/dependabot.yml \
.gitignore \
.hgignore \
.lgtm.yml \
.travis.yml \
.appveyor.yml \
.codecov.yml \
ci/appveyor.bat \
ci/build-snd-dummy.sh \
ci/config.mk*.sed \
ci/if_ver*.vim \
ci/load-snd-dummy.sh \
ci/setup-xvfb.sh \
ci/remove_snap.sh \
src/Make_all.mak \
src/README.md \
src/alloc.c \
src/alloc.h \
src/arabic.c \
src/arglist.c \
@@ -71,6 +73,7 @@ SRC_ALL = \
src/float.c \
src/fold.c \
src/getchar.c \
src/gc.c \
src/globals.h \
src/gui.c \
src/gui.h \
@@ -84,10 +87,11 @@ SRC_ALL = \
src/job.c \
src/json.c \
src/json_test.c \
src/keymap.h \
src/kword_test.c \
src/list.c \
src/locale.c \
src/keymap.h \
src/logfile.c \
src/macros.h \
src/main.c \
src/map.c \
@@ -109,6 +113,8 @@ SRC_ALL = \
src/nbdebug.h \
src/netbeans.c \
src/normal.c \
src/nv_cmdidxs.h \
src/nv_cmds.h \
src/ops.c \
src/option.c \
src/option.h \
@@ -134,12 +140,13 @@ SRC_ALL = \
src/spell.h \
src/spellfile.c \
src/spellsuggest.c \
src/strings.c \
src/structs.h \
src/syntax.c \
src/tag.c \
src/term.c \
src/terminal.c \
src/term.h \
src/termdefs.h \
src/termlib.c \
src/testing.c \
src/textformat.c \
@@ -155,20 +162,25 @@ SRC_ALL = \
src/version.h \
src/vim.h \
src/vim9.h \
src/vim9class.c \
src/vim9cmds.c \
src/vim9compile.c \
src/vim9execute.c \
src/vim9expr.c \
src/vim9instr.c \
src/vim9script.c \
src/vim9type.c \
src/viminfo.c \
src/winclip.c \
src/window.c \
src/tee/tee.c \
src/xxd/xxd.c \
src/testdir/gen_opt_test.vim \
src/testdir/README.txt \
src/testdir/Make_all.mak \
src/testdir/*.in \
src/testdir/*.py \
src/testdir/keycode_check.vim \
src/testdir/keycode_check.json \
src/testdir/lsan-suppress.txt \
src/testdir/sautest/autoload/*.vim \
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
@@ -188,7 +200,6 @@ SRC_ALL = \
src/testdir/view_util.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test77a.ok \
src/testdir/test83-tags? \
src/testdir/test77a.com \
src/testdir/test_*.vim \
src/testdir/python2/*.py \
@@ -202,13 +213,17 @@ SRC_ALL = \
src/testdir/python_before/*.py \
src/testdir/pyxfile/*.py \
src/testdir/dumps/*.dump \
src/testdir/dumps/*.vim \
src/testdir/samples/*.txt \
src/testdir/samples/*.vim \
src/testdir/samples/test000 \
src/testdir/color_ramp.vim \
src/testdir/silent.wav \
src/testdir/popupbounce.vim \
src/testdir/crash/* \
src/proto.h \
src/protodef.h \
src/proto/alloc.pro \
src/proto/arabic.pro \
src/proto/arglist.pro \
src/proto/autocmd.pro \
@@ -250,6 +265,7 @@ SRC_ALL = \
src/proto/float.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
src/proto/gc.pro \
src/proto/gui.pro \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
@@ -262,6 +278,7 @@ SRC_ALL = \
src/proto/json.pro \
src/proto/list.pro \
src/proto/locale.pro \
src/proto/logfile.pro \
src/proto/main.pro \
src/proto/map.pro \
src/proto/mark.pro \
@@ -296,6 +313,7 @@ SRC_ALL = \
src/proto/spell.pro \
src/proto/spellfile.pro \
src/proto/spellsuggest.pro \
src/proto/strings.pro \
src/proto/syntax.pro \
src/proto/tag.pro \
src/proto/term.pro \
@@ -312,8 +330,12 @@ SRC_ALL = \
src/proto/usercmd.pro \
src/proto/userfunc.pro \
src/proto/version.pro \
src/proto/vim9class.pro \
src/proto/vim9cmds.pro \
src/proto/vim9compile.pro \
src/proto/vim9execute.pro \
src/proto/vim9expr.pro \
src/proto/vim9instr.pro \
src/proto/vim9script.pro \
src/proto/vim9type.pro \
src/proto/viminfo.pro \
@@ -371,6 +393,7 @@ SRC_ALL = \
src/libvterm/t/30state_pen.test \
src/libvterm/t/31state_rep.test \
src/libvterm/t/32state_flow.test \
src/libvterm/t/40state_selection.test \
src/libvterm/t/60screen_ascii.test \
src/libvterm/t/61screen_unicode.test \
src/libvterm/t/62screen_damage.test \
@@ -380,6 +403,7 @@ SRC_ALL = \
src/libvterm/t/66screen_extent.test \
src/libvterm/t/67screen_dbl_wh.test \
src/libvterm/t/68screen_termprops.test \
src/libvterm/t/69screen_reflow.test \
src/libvterm/t/90vttest_01-movement-1.test \
src/libvterm/t/90vttest_01-movement-2.test \
src/libvterm/t/90vttest_01-movement-3.test \
@@ -409,7 +433,7 @@ SRC_ALL = \
src/xdiff/xutils.h \
# source files for Unix only
# Source files for Unix-like only.
SRC_UNIX = \
Makefile \
Filelist \
@@ -429,10 +453,8 @@ SRC_UNIX = \
src/configure \
src/configure.ac \
src/create_cmdidxs.vim \
src/gui_at_fs.c \
src/gui_at_sb.c \
src/gui_at_sb.h \
src/gui_athena.c \
src/create_nvcmdidxs.c \
src/create_nvcmdidxs.vim \
src/gui_gtk.c \
src/gui_gtk_f.c \
src/gui_gtk_f.h \
@@ -457,7 +479,6 @@ SRC_UNIX = \
src/osdef1.h.in \
src/osdef2.h.in \
src/pathdef.sh \
src/proto/gui_athena.pro \
src/proto/gui_gtk.pro \
src/proto/gui_gtk_x11.pro \
src/proto/gui_gtk_gresources.pro \
@@ -476,14 +497,12 @@ SRC_UNIX = \
src/vimtutor \
src/gvimtutor \
src/which.sh \
src/tee/Makefile \
src/xxd/Makefile \
# source files for both DOS and Unix
# Source files for both MS Windows and Unix-like.
SRC_DOS_UNIX = \
src/gui_xim.c \
src/if_cscope.c \
src/if_cscope.h \
src/if_lua.c \
src/if_mzsch.c \
src/if_mzsch.h \
@@ -506,7 +525,7 @@ SRC_DOS_UNIX = \
src/proto/if_tcl.pro \
src/typemap \
# source files for DOS (also in the extra archive)
# Source files for MS Windows (also in the extra archive).
SRC_DOS = \
src/GvimExt/*.mak \
src/GvimExt/GvimExt.reg \
@@ -530,18 +549,16 @@ SRC_DOS = \
tools/rename.bat \
src/bigvim.bat \
src/bigvim64.bat \
src/msvcsetup.bat \
src/msvc2008.bat \
src/msvc2010.bat \
src/msvc-latest.bat \
src/msvc2015.bat \
src/msvc2017.bat \
src/msvc2019.bat \
src/msvc2022.bat \
src/msys32.bat \
src/msys64.bat \
src/dimm.idl \
src/dlldata.c \
src/dosinst.c \
src/dosinst.h \
src/glbl_ime.cpp \
src/glbl_ime.h \
src/gui_dwrite.cpp \
src/gui_dwrite.h \
src/gui_w32.c \
@@ -549,7 +566,6 @@ SRC_DOS = \
src/if_ole.cpp \
src/if_ole.h \
src/if_ole.idl \
src/if_perl_msvc/stdbool.h \
src/iscygpty.c \
src/iscygpty.h \
src/iid_ole.c \
@@ -564,47 +580,30 @@ SRC_DOS = \
src/proto/os_win32.pro \
src/proto/os_mswin.pro \
src/testdir/Make_dos.mak \
src/testdir/Make_mvc.mak \
src/testdir/Make_ming.mak \
src/testdir/dos.vim \
src/uninstall.c \
src/vim.def \
src/vim.rc \
src/vim.manifest \
src/vimrun.c \
src/xpm_w32.c \
src/xpm_w32.h \
src/tee/Make_ming.mak \
src/tee/Make_mvc.mak \
src/tee/Makefile \
src/tee/tee.c \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
nsis/gvim.nsi \
nsis/gvim_version.nsh \
nsis/README.txt \
nsis/lang/*.nsi \
nsis/lang/README.txt \
uninstall.txt \
src/VisVim/Commands.cpp \
src/VisVim/Commands.h \
src/VisVim/DSAddIn.cpp \
src/VisVim/DSAddIn.h \
src/VisVim/OleAut.cpp \
src/VisVim/OleAut.h \
src/VisVim/README_VisVim.txt \
src/VisVim/Reg.cpp \
src/VisVim/Register.bat \
src/VisVim/Resource.h \
src/VisVim/StdAfx.cpp \
src/VisVim/StdAfx.h \
src/VisVim/UnRegist.bat \
src/VisVim/VisVim.cpp \
src/VisVim/VisVim.def \
src/VisVim/VisVim.mak \
src/VisVim/VisVim.h \
src/VisVim/VisVim.odl \
src/VisVim/VisVim.rc \
src/VisVim/VsReadMe.txt \
# source files for DOS without CR/LF translation (also in the extra archive)
# Source files for MS Windows without CR/LF translation (also in the extra archive).
SRC_DOS_BIN = \
src/VisVim/Res/*.bmp \
src/tearoff.bmp \
src/tools.bmp \
src/vim*.ico \
@@ -615,16 +614,15 @@ SRC_DOS_BIN = \
src/xpm/include/*.h \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x64/lib/libXpm.a \
src/xpm/x64/lib/libXpm.lib \
src/xpm/x86/lib-vc14/libXpm.lib \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
runtime/bitmaps/vim.ico \
nsis/icons.zip \
# source files for Amiga, DOS, etc. (also in the extra archive)
# Source files for Amiga, DOS, etc. (also in the extra archive).
SRC_AMI_DOS = \
# source files for Amiga (also in the extra archive)
# Source files for Amiga (also in the extra archive).
SRC_AMI = \
README_amisrc.txt \
README_amisrc.txt.info \
@@ -638,7 +636,7 @@ SRC_AMI = \
src/testdir/amiga.vim \
src/xxd/Make_amiga.mak \
# source files for Haiku (also in the extra archive)
# Source files for Haiku (also in the extra archive).
SRC_HAIKU = \
README_haiku.txt \
src/os_haiku.h \
@@ -647,18 +645,16 @@ SRC_HAIKU = \
src/gui_haiku.h \
src/proto/gui_haiku.pro \
# source files for the Mac (also in the extra archive)
# Source files for the Mac (also in the extra archive).
SRC_MAC = \
src/INSTALLmac.txt \
src/dehqx.py \
src/os_mac_rsrc/*.icns \
src/os_mac.h \
src/os_mac.rsr.hqx \
src/os_mac_conv.c \
src/os_macosx.m \
src/proto/os_mac_conv.pro \
src/proto/os_macosx.pro \
# source files for VMS (in the extra archive)
# Source files for VMS (in the extra archive).
SRC_VMS = \
src/INSTALLvms.txt \
src/Make_vms.mms \
@@ -672,7 +668,7 @@ SRC_VMS = \
src/xxd/Make_vms.mms \
vimtutor.com \
# source files for QNX (in the extra archive)
# Source files for QNX (in the extra archive).
SRC_QNX = \
src/os_qnx.c \
src/os_qnx.h \
@@ -680,7 +676,7 @@ SRC_QNX = \
src/proto/gui_photon.pro \
src/proto/os_qnx.pro \
# source files for the extra archive (all sources that are not for Unix)
# Source files for the extra archive (all sources that are not for Unix).
SRC_EXTRA = \
$(SRC_AMI) \
$(SRC_AMI_DOS) \
@@ -691,12 +687,11 @@ SRC_EXTRA = \
$(SRC_QNX) \
$(SRC_VMS) \
README_os390.txt \
src/infplist.xml \
src/link.390 \
src/os_vms_fix.com \
src/toolbar.phi \
# runtime files for all distributions
# Runtime files for all distributions.
RT_ALL = \
README.txt \
README.md \
@@ -708,6 +703,7 @@ RT_ALL = \
runtime/doc/*.pl \
runtime/doc/*.txt \
runtime/doc/Makefile \
runtime/doc/Make_all.mak \
runtime/doc/doctags.c \
runtime/doc/doctags.vim \
runtime/doc/test_urls.vim \
@@ -718,6 +714,8 @@ RT_ALL = \
runtime/doc/xxd.1 \
runtime/ftoff.vim \
runtime/gvimrc_example.vim \
runtime/import/dist/vimhelp.vim \
runtime/import/dist/vimhighlight.vim \
runtime/macros/README.txt \
runtime/macros/editexisting.vim \
runtime/macros/hanoi/click.me \
@@ -760,10 +758,25 @@ RT_ALL = \
runtime/tutor/tutor.vim \
runtime/vimrc_example.vim \
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
runtime/pack/dist/opt/comment/plugin/comment.vim \
runtime/pack/dist/opt/comment/doc/comment.txt \
runtime/pack/dist/opt/comment/doc/tags \
runtime/pack/dist/opt/comment/autoload/comment.vim \
runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \
runtime/pack/dist/opt/dvorak/dvorak/enable.vim \
runtime/pack/dist/opt/dvorak/dvorak/disable.vim \
runtime/pack/dist/opt/editexisting/plugin/editexisting.vim \
runtime/pack/dist/opt/editorconfig/.editorconfig \
runtime/pack/dist/opt/editorconfig/CONTRIBUTORS \
runtime/pack/dist/opt/editorconfig/LICENSE* \
runtime/pack/dist/opt/editorconfig/mkzip.sh \
runtime/pack/dist/opt/editorconfig/README.md \
runtime/pack/dist/opt/editorconfig/autoload/*.vim \
runtime/pack/dist/opt/editorconfig/autoload/editorconfig_core/*.vim \
runtime/pack/dist/opt/editorconfig/doc/tags \
runtime/pack/dist/opt/editorconfig/doc/editorconfig.txt \
runtime/pack/dist/opt/editorconfig/ftdetect/editorconfig.vim \
runtime/pack/dist/opt/editorconfig/plugin/editorconfig.vim \
runtime/pack/dist/opt/justify/plugin/justify.vim \
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
runtime/pack/dist/opt/matchit/doc/matchit.txt \
@@ -773,12 +786,12 @@ RT_ALL = \
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
# runtime files for all distributions without CR-NL translation
# Runtime files for all distributions without CR/LF translation.
RT_ALL_BIN = \
runtime/doc/tags \
runtime/print/*.ps \
# runtime script files
# Runtime script files.
RT_SCRIPTS = \
runtime/filetype.vim \
runtime/scripts.vim \
@@ -789,10 +802,13 @@ RT_SCRIPTS = \
runtime/makemenu.vim \
runtime/autoload/*.vim \
runtime/autoload/README.txt \
runtime/autoload/cargo/*.vim \
runtime/autoload/dist/*.vim \
runtime/autoload/rust/*.vim \
runtime/autoload/xml/*.vim \
runtime/colors/*.vim \
runtime/colors/README.txt \
runtime/colors/lists/*.vim \
runtime/colors/tools/*.vim \
runtime/compiler/*.vim \
runtime/compiler/README.txt \
@@ -810,8 +826,24 @@ RT_SCRIPTS = \
runtime/plugin/README.txt \
runtime/syntax/*.vim \
runtime/syntax/README.txt \
runtime/syntax/modula2/opt/*.vim \
runtime/syntax/shared/*.vim \
runtime/syntax/shared/README.txt \
runtime/syntax/Makefile \
runtime/syntax/testdir/README.txt \
runtime/syntax/testdir/runtest.vim \
runtime/syntax/testdir/ftplugin/*.* \
runtime/syntax/testdir/input/*.* \
runtime/syntax/testdir/input/setup/*.* \
runtime/syntax/testdir/dumps/*.dump \
runtime/syntax/testdir/dumps/*.vim \
runtime/syntax/generator/Makefile \
runtime/syntax/generator/README.md \
runtime/syntax/generator/gen_syntax_vim.vim \
runtime/syntax/generator/update_date.vim \
runtime/syntax/generator/vim.vim.base \
# Unix runtime
# Unix-like runtime.
RT_UNIX = \
README_unix.txt \
runtime/hi16-action-make.png \
@@ -819,7 +851,7 @@ RT_UNIX = \
runtime/gvim.desktop \
runtime/vim.desktop \
# Unix and DOS runtime without CR-LF translation
# Unix-like and MS Windows runtime without CR/LF translation.
RT_UNIX_DOS_BIN = \
runtime/vim16x16.gif \
runtime/vim16x16.png \
@@ -831,10 +863,10 @@ RT_UNIX_DOS_BIN = \
runtime/vim48x48.png \
runtime/vim48x48.xpm \
# runtime not for unix or extra
# Runtime not for Unix-like or extra.
RT_NO_UNIX = \
# runtime for Amiga (also in the extra archive)
# Runtime for Amiga (also in the extra archive).
RT_AMI_DOS = \
runtime/doc/evim.man \
runtime/doc/vim.man \
@@ -842,18 +874,22 @@ RT_AMI_DOS = \
runtime/doc/vimtutor.man \
runtime/doc/xxd.man \
# DOS runtime (also in the extra archive)
# MS Windows runtime (also in the extra archive).
RT_DOS = \
README_dos.txt \
runtime/rgb.txt \
runtime/doc/Make_mvc.mak \
runtime/indent/Make_mvc.mak \
runtime/tutor/Make_mvc.mak \
runtime/lang/Make_mvc.mak \
vimtutor.bat \
# DOS runtime without CR-LF translation (also in the extra archive)
# MS Windows runtime without CR/LF translation (also in the extra archive).
RT_DOS_BIN = \
runtime/vimlogo.cdr \
runtime/vimlogo.eps \
runtime/vimlogo.gif \
runtime/vimlogo.pdf \
runtime/vimlogo.svg \
# Amiga runtime (also in the extra archive)
RT_AMI = \
@@ -875,7 +911,7 @@ RT_AMI = \
runtime/tutor.info \
runtime/tutor/*.info \
# runtime files in extra archive
# Runtime files in extra archive.
RT_EXTRA = \
$(RT_AMI) \
$(RT_AMI_DOS) \
@@ -883,46 +919,46 @@ RT_EXTRA = \
$(RT_DOS_BIN) \
README_mac.txt \
# included in all Amiga archives
# Included in all Amiga archives.
ROOT_AMI = \
Contents \
Contents.info \
runtime.info \
vimdir.info \
# root files for the extra archive
# Root files for the extra archive.
ROOT_EXTRA = \
$(ROOT_AMI) \
# files for Amiga small binary (also in extra archive)
# Files for Amiga small binary (also in extra archive).
BIN_AMI = \
README_amibin.txt \
README_amibin.txt.info \
Vim.info \
Xxd.info \
# files for DOS binary (also in extra archive)
# Files for MS Windows binary (also in extra archive).
BIN_DOS = \
README_bindos.txt \
uninstall.txt \
# files for Win32 OLE binary (also in extra archive)
# Files for Win32 OLE binary (also in extra archive).
BIN_OLE = \
README_ole.txt \
# files for Win32s binary (also in extra archive)
# Files for Win32s binary (also in extra archive).
BIN_W32S = \
README_w32s.txt \
# files for VMS binary (also in extra archive)
# Files for VMS binary (also in extra archive).
BIN_VMS = \
README_vms.txt \
# files for OS/2 binary (also in extra archive)
# Files for OS/2 binary (also in extra archive).
BIN_OS2 = \
README_os2.txt \
# binary files for extra archive
# Binary files for extra archive.
BIN_EXTRA = \
$(BIN_AMI) \
$(BIN_DOS) \
@@ -931,20 +967,16 @@ BIN_EXTRA = \
$(BIN_VMS) \
$(BIN_OS2) \
# all files for extra archive
# All files for extra archive.
EXTRA = \
$(BIN_EXTRA) \
$(ROOT_EXTRA) \
$(RT_EXTRA) \
$(SRC_EXTRA) \
README_extra.txt \
src/VisVim/VisVim.dll \
runtime/vimlogo.xpm \
src/tee/Makefile \
src/tee/Make_mvc.mak \
src/tee/tee.c \
# files in READMEdir that are included from the top dir
# Files in READMEdir that are included from the top dir.
IN_README_DIR = \
README.txt.info \
README_ami.txt \
@@ -956,6 +988,7 @@ IN_README_DIR = \
README_bindos.txt \
README_dos.txt \
README_extra.txt \
README_haiku.txt \
README_mac.txt \
README_ole.txt \
README_os2.txt \
@@ -963,6 +996,7 @@ IN_README_DIR = \
README_src.txt \
README_srcdos.txt \
README_unix.txt \
README_vimlogo.txt \
README_vms.txt \
README_w32s.txt \
Contents \
@@ -973,8 +1007,9 @@ IN_README_DIR = \
src.info \
vimdir.info \
# generic language files
# Generic language files.
LANG_GEN = \
README.??x.txt \
runtime/doc/*-da.1 \
runtime/doc/*-da.UTF-8.1 \
runtime/doc/*-de.1 \
@@ -990,12 +1025,16 @@ LANG_GEN = \
runtime/doc/*-ru.UTF-8.1 \
runtime/doc/*-tr.1 \
runtime/doc/*-tr.UTF-8.1 \
runtime/doc/uganda.??x \
runtime/lang/README.txt \
runtime/lang/Makefile \
runtime/lang/Make_all.mak \
runtime/lang/menu_*.vim \
runtime/keymap/README.txt \
runtime/keymap/*.vim \
runtime/tutor/README.*.txt \
runtime/tutor/Makefile \
runtime/tutor/Make_all.mak \
runtime/tutor/tutor.utf-8 \
runtime/tutor/tutor.?? \
runtime/tutor/tutor.??.utf-8 \
@@ -1012,6 +1051,8 @@ LANG_GEN = \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \
runtime/spell/sr/README_sr.txt \
runtime/spell/sr/convert.vim \
runtime/spell/tet/*.diff \
runtime/spell/tet/main.aap \
runtime/spell/check/main.aap \
@@ -1021,7 +1062,7 @@ LANG_GEN = \
runtime/spell/main.aap \
runtime/spell/*.vim \
# generic language files, binary
# Generic language files, binary.
LANG_GEN_BIN = \
runtime/spell/README_en.txt \
runtime/spell/en.ascii.spl \
@@ -1031,7 +1072,7 @@ LANG_GEN_BIN = \
runtime/spell/en.latin1.sug \
runtime/spell/en.utf-8.sug \
# all files for lang archive
# All files for lang archive.
LANG_SRC = \
src/po/README.txt \
src/po/README_mingw.txt \
@@ -1048,10 +1089,24 @@ LANG_SRC = \
src/po/vim.desktop.in \
src/po/gvim.desktop.in \
src/po/sjiscorr.c \
src/po/big5corr.c \
src/po/*.po \
# the language files for the Win32 lang archive
# The language files for the Win32 lang archive.
LANG_DOS = \
src/po/*.mo \
# Files in the repository that are deliberately not listed above, and will thus
# be excluded from distribution tarballs and the like.
# This excludes them from the CI check for unlisted files.
IGNORE = \
.appveyor.yml \
.github/FUNDING.yml \
.github/labeler.yml \
.github/workflows/label.yml \
SECURITY.md \
ci/unlisted.make \
src/libvterm/CODE-MAP \
runtime/syntax/testdir/input/html_html \
# vim: set ft=make:

View File

@@ -21,8 +21,8 @@ II) It is allowed to distribute a modified (or extended) version of Vim,
maintainer will do with your changes and under what license they
will be distributed is negotiable. If there has been no negotiation
then this license, or a later version, also applies to your changes.
The current maintainer is Bram Moolenaar <Bram@vim.org>. If this
changes it will be announced in appropriate places (most likely
The current maintainers are listed here: https://github.com/orgs/vim/people.
If this changes it will be announced in appropriate places (most likely
vim.sf.net, www.vim.org and/or comp.editors). When it is completely
impossible to contact the maintainer, the obligation to send him
your changes ceases. Once the maintainer has confirmed that he has

View File

@@ -39,14 +39,15 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
@# When the target is "test" also run the indent tests.
@if test "$@" = "test"; then \
@# When the target is "test" also run the indent and syntax tests.
@if test "$@" = "test" -o "$@" = "testtiny"; then \
$(MAKE) indenttest; \
$(MAKE) syntaxtest; \
fi
@# When the target is "clean" also clean for the indent tests.
@# When the target is "clean" also clean for the indent and syntax tests.
@if test "$@" = "clean" -o "$@" = "distclean" -o "$@" = "testclean"; then \
cd runtime/indent && \
$(MAKE) clean; \
(cd runtime/indent && $(MAKE) clean); \
(cd runtime/syntax && $(MAKE) clean); \
fi
# Executable used for running the indent tests.
@@ -56,7 +57,15 @@ indenttest:
cd runtime/indent && \
$(MAKE) clean && \
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
# Executable used for running the syntax tests.
VIM_FOR_SYNTAXTEST = ../../src/vim
syntaxtest:
cd runtime/syntax && \
$(MAKE) clean && \
$(MAKE) test VIMPROG="$(VIM_FOR_SYNTAXTEST)"
#########################################################################
# 2. Creating the various distribution files.
@@ -84,8 +93,8 @@ indenttest:
# To do all this you need the Unix archive and compiled binaries.
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 8
MINOR = 2
MAJOR = 9
MINOR = 1
# CHECKLIST for creating a new version:
#
@@ -93,8 +102,7 @@ MINOR = 2
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.def,
# src/vim.manifest.
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.manifest.
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and
# "huge" features. Add MZscheme if you can make it work.
# Use "make reconfig" after selecting the configure arguments.
@@ -111,7 +119,7 @@ MINOR = 2
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
# - Check for missing options in runtime/optwin.vim et al. (with check.vim).
# - Do "make menu" to update the runtime/synmenu.vim file.
# - Add remarks for changes to runtime/doc/version8.txt.
# - Add remarks for changes to runtime/doc/version9.txt.
# - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL
# ADDITIONS".
# - In runtime/doc run "make" and "make html" to check for errors.
@@ -145,7 +153,7 @@ MINOR = 2
# - > make dossrc
# > make dosrt
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
# This creates the directory vim/vim82 and puts all files in there.
# This creates the directory vim/vim90 and puts all files in there.
# Win32 console version build:
# - See src/INSTALLpc.txt for installing the compiler and SDK.
# - Set environment for Visual C++ 2015:
@@ -199,11 +207,9 @@ MINOR = 2
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
# gvimext64.dll in src/GvimExt
# VisVim.dll in src/VisVim
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
# gvimext64.dll can be obtained from:
# https://github.com/vim/vim-win32-installer/releases
# It is part of gvim_8.2.*_x64.zip as vim/vim82/GvimExt/gvimext64.dll.
# It is part of gvim_9.0.*_x64.zip as vim/vim90/GvimExt/gvimext64.dll.
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
# version). Also put winpty32.dll and winpty-agent.exe there.
# - go to ../nsis and do:
@@ -261,7 +267,7 @@ dist:
# Copy README files to the top directory.
prepare:
if test -f runtime/doc/uganda.nsis.txt; then \
rm runtime/doc/uganda.nsis.txt; fi
rm runtime/doc/uganda.nsis.???; fi
for name in $(IN_README_DIR); do \
cp READMEdir/"$$name" .; \
done
@@ -401,12 +407,8 @@ amisrc: dist prepare
gzip -9 dist/vim$(VERSION)src.tar
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
no_title.vim: Makefile
echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim
# MS-DOS sources
dossrc: dist no_title.vim dist/$(COMMENT_SRC) \
runtime/doc/uganda.nsis.txt \
dossrc: dist dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt \
nsis/gvim_version.nsh
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
@@ -415,21 +417,17 @@ dossrc: dist no_title.vim dist/$(COMMENT_SRC) \
tar cf - \
$(SRC_ALL) \
$(SRC_DOS) \
$(SRC_DOS_BIN) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \
runtime/doc/uganda.nsis.txt \
runtime/doc/uganda.nsis.??? \
nsis/gvim_version.nsh \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
# This file needs to be in dos fileformat for NSIS.
$(VIM) -e -X -u no_title.vim -c ":set tx|wq" dist/vim/$(VIMRTDIR)/doc/uganda.nsis.txt
tar cf - \
$(SRC_DOS_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.???
cd runtime/doc && $(MAKE) uganda.nsis.txt
nsis/gvim_version.nsh: Makefile
@@ -446,7 +444,7 @@ dosrt: dist dist/$(COMMENT_RT) dosrt_files
# Split in two parts to avoid an "argument list too long" error.
# We no longer convert the files from unix to dos fileformat.
dosrt_files: dist prepare no_title.vim
dosrt_files: dist prepare
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
@@ -502,7 +500,7 @@ dosbin: prepare dosbin_gvim dosbin_w32 dosbin_ole $(DOSBIN_S)
-rm $(IN_README_DIR)
# make Win32 gvim
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
dosbin_gvim: dist dist/$(COMMENT_GVIM)
-rm -rf dist/gvim$(VERSION).zip
-rm -rf dist/vim
mkdir dist/vim
@@ -524,7 +522,7 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
cp gvim.pdb dist/gvim$(VERSION).pdb
# make Win32 console
dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
dosbin_w32: dist dist/$(COMMENT_W32)
-rm -rf dist/vim$(VERSION)w32.zip
-rm -rf dist/vim
mkdir dist/vim
@@ -541,7 +539,7 @@ dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
# make Win32 gvim with OLE
dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
dosbin_ole: dist dist/$(COMMENT_OLE)
-rm -rf dist/gvim$(VERSION)ole.zip
-rm -rf dist/vim
mkdir dist/vim
@@ -557,8 +555,6 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
cp README_ole.txt dist/vim/$(VIMRTDIR)
cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll
cp src/VisVim/README_VisVim.txt dist/vim/$(VIMRTDIR)
cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
cp gvim_ole.pdb dist/gvim$(VERSION)ole.pdb

120
README.md
View File

@@ -1,20 +1,24 @@
[![Vim Logo](https://github.com/vim/vim/raw/master/runtime/vimlogo.gif)](https://www.vim.org)
# [![Vim The editor](https://github.com/vim/vim/raw/master/runtime/vimlogo.gif)](https://www.vim.org)
[![Github Build status](https://github.com/vim/vim/workflows/GitHub%20CI/badge.svg)](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [![Travis Build Status](https://travis-ci.com/vim/vim.svg?branch=master)](https://travis-ci.com/github/vim/vim) [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim) [![Cirrus Build Status](https://api.cirrus-ci.com/github/vim/vim.svg)](https://cirrus-ci.com/github/vim/vim) [![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master) [![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim) [![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/vim/vim.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/vim/vim/context:cpp) [![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim) [![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim) [![Fossies codespell report](https://fossies.org/linux/test/vim-master.tar.gz/codespell.svg)](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
<sub>For translations of this README see the end.</sub>
[![Github Build status](https://github.com/vim/vim/workflows/GitHub%20CI/badge.svg)](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
[![Cirrus Build Status](https://api.cirrus-ci.com/github/vim/vim.svg)](https://cirrus-ci.com/github/vim/vim)
[![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master)
[![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim)
[![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim)
[![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim)
[![Fossies codespell report](https://fossies.org/linux/test/vim-master.tar.gz/codespell.svg)](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
If you find a bug or want to discuss the best way to add a new feature, please
open an [issue](https://github.com/vim/vim/issues).
[open an issue](https://github.com/vim/vim/issues/new/choose).
If you have a question or want to discuss the best way to do something with
Vim, you can use [StackExchange](https://vi.stackexchange.com/)
or one of the [Maillists](https://www.vim.org/community.php).
## What is Vim? ##
## What is Vim?
Vim is a greatly improved version of the good old UNIX editor
[Vi](https://en.wikipedia.org/wiki/Vi). Many new
[Vi](https://en.wikipedia.org/wiki/Vi_(text_editor)). Many new
features have been added: multi-level undo, syntax highlighting, command line
history, on-line help, spell checking, filename completion, block operations,
script language, etc. There is also a Graphical User Interface (GUI)
@@ -28,14 +32,14 @@ All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
mapped to commands by the user, and the mouse can be used.
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
all flavours of UNIX. Porting to other systems should not be very difficult.
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
Vim runs under MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS and almost all
flavours of UNIX. Porting to other systems should not be very difficult.
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
For Vim9 script see [README_VIM9](README_VIM9.md).
## Distribution ##
## Distribution
You can often use your favorite package manager to install Vim. On Mac and
Linux a small version of Vim is pre-installed, you still need to install Vim
@@ -46,7 +50,7 @@ This `README.md` file comes with the runtime archive. It includes the
documentation, syntax files and other files that are used at runtime. To run
Vim you must get either one of the binary archives or a source archive.
Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check http://www.vim.org/download.php for
want or must compile it yourself. Check https://www.vim.org/download.php for
an overview of currently available distributions.
Some popular places to get the latest Vim:
@@ -55,103 +59,95 @@ Some popular places to get the latest Vim:
* Get a Windows executable from the
[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases) repository.
## Compiling ##
## Compiling
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
[`src`](/src) directory. See [`src/INSTALL`](src/INSTALL) for instructions.
[`src`](./src/) directory. See [`src/INSTALL`](./src/INSTALL) for instructions.
## Installation ##
## Installation
See one of these files for system-specific instructions. Either in the
[READMEdir directory](./READMEdir/) (in the repository) or
the top directory (if you unpack an archive):
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_haiku.txt Haiku
README_vms.txt VMS
```
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_haiku.txt Haiku
README_vms.txt VMS
```
There are other `README_*.txt` files, depending on the distribution you used.
## Documentation ##
## Documentation
The Vim tutor is a one hour training course for beginners. Often it can be
started as `vimtutor`. See `:help tutor` for more information.
The best is to use `:help` in Vim. If you don't have an executable yet, read
[`runtime/doc/help.txt`](/runtime/doc/help.txt).
[`runtime/doc/help.txt`](./runtime/doc/help.txt).
It contains pointers to the other documentation files.
The User Manual reads like a book and is recommended to learn to use
Vim. See `:help user-manual`.
## Copying ##
## Copying
Vim is Charityware. You can use and copy it as much as you like, but you are
encouraged to make a donation to help orphans in Uganda. Please read the file
[`runtime/doc/uganda.txt`](runtime/doc/uganda.txt)
[`runtime/doc/uganda.txt`](./runtime/doc/uganda.txt)
for details (do `:help uganda` inside Vim).
Summary of the license: There are no restrictions on using or distributing an
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
text must always be included. For modified versions a few restrictions apply.
text must always be included. For modified versions, a few restrictions apply.
The license is GPL compatible, you may compile Vim with GPL libraries and
distribute it.
## Sponsoring ##
## Sponsoring
Fixing bugs and adding new features takes a lot of time and effort. To show
your appreciation for the work and motivate Bram and others to continue
working on Vim please send a donation.
your appreciation for the work and motivate developers to continue working on
Vim please send a donation.
Since Bram is back to a paid job the money will now be used to help children
in Uganda. See [`runtime/doc/uganda.txt`](runtime/doc/uganda.txt). But
at the same time donations increase Bram's motivation to keep working on Vim!
The money you donated will be mainly used to help children in Uganda. See
[`runtime/doc/uganda.txt`](./runtime/doc/uganda.txt). But at the same time
donations increase the development team motivation to keep working on Vim!
For the most recent information about sponsoring look on the Vim web site:
http://www.vim.org/sponsor/
https://www.vim.org/sponsor/
## Contributing
## Contributing ##
If you would like to help make Vim better, see the
[CONTRIBUTING.md](./CONTRIBUTING.md) file.
If you would like to help making Vim better, see the
[CONTRIBUTING.md](/CONTRIBUTING.md) file.
## Information
## Information ##
If you are on macOS, you can use [MacVim](https://macvim.org).
The latest news about Vim can be found on the Vim home page:
http://www.vim.org/
https://www.vim.org/
If you have problems, have a look at the Vim documentation or tips:
http://www.vim.org/docs.php
http://vim.wikia.com/wiki/Vim_Tips_Wiki
https://www.vim.org/docs.php
https://vim.fandom.com/wiki/Vim_Tips_Wiki
If you still have problems or any other questions, use one of the mailing
lists to discuss them with Vim users and developers:
http://www.vim.org/maillist.php
https://www.vim.org/maillist.php
If nothing else works, report bugs directly:
Bram Moolenaar <Bram@vim.org>
If nothing else works, report bugs directly to the vim-dev mailing list:
`<vim-dev@vim.org>`
## Main author
## Main author ##
Most of Vim was created by Bram Moolenaar `<Bram@vim.org>`
[Bram-Moolenaar](https://vimhelp.org/version9.txt.html#Bram-Moolenaar)
Send any other comments, patches, flowers and suggestions to:
Bram Moolenaar <Bram@vim.org>
Send any other comments, patches, flowers and suggestions to the vim-dev mailing list:
`<vim-dev@vim.org>`
This is `README.md` for version 8.2 of Vim: Vi IMproved.
## Translations of this README ##
[Korean](https://github.com/cjw1359/opensource/blob/master/Vim/README_ko.md)
This is `README.md` for version 9.1 of Vim: Vi IMproved.

161
README.rux.txt Normal file
View File

@@ -0,0 +1,161 @@
README.rux.txt для версии 9.1 программы Vim — Vi IMproved.
ЧТО ТАКОЕ РЕДАКТОР VIM?
Программа Vim — это значительно улучшенная версия старого доброго редактора Vi
из системы UNIX. При разработке этого редактора было добавлено множество новых
возможностей: многоуровневая отмена изменений, подсветка синтаксиса, журнал
командной строки, интерактивная справка, проверка орфографии, подстановка
наименований файлов и команд, операции с произвольными блоками текста,
встроенный язык программирования и т. д. Также доступен графический интерфейс
пользователя (GUI). И при этом сохраняется совместимость с редактором Vi,
и те, у кого Vi «в крови», будут чувствовать себя как дома. Подробности о
различиях с редактором Vi см. в файле "runtime/doc/vi_diff.txt".
Этот редактор очень удобен для работы с исходным кодом программ, а также
разного рода других текстовых файлов. Все команды вводятся набором обычных
символов клавиатуры, поэтому те, кто освоил десятипальцевый метод печати, могут
работать очень быстро. Кроме того, пользователи могут назначить на
функциональные клавиши клавиатуры необходимые команды, и использовать
манипулятор «мышь».
Редактор Vim работает в ОС MS Windows (7, 8, 10, 11), macOS, Haiku, VMS и
практически во всех UNIX-подобных системах. А перенос на другие платформы не
должен представлять особой сложности.
Предыдущие версии редактора Vim работают в операционных системах OS/2, MS-DOS,
MS Windows 95/98/Me/NT/2000/XP/Vista, AmigaDOS, Atari MiNT, BeOS и RISC OS.
Но поддержка этих версий больше не осуществляется.
ПРЕДОСТАВЛЕНИЕ РЕДАКТОРА Vim
Для установки редактора Vim можно воспользоваться привычным диспетчером пакетов.
В системах Mac и Linux уже предустановленна начальная версия программы Vim,
но вам все равно нужно установить редактор Vim, если вы хотите получить больше
возможностей.
Существуют отдельные версии для Unix, PC, Amiga и некоторых других систем.
Данный файл README.rux.txt поставляется вместе с архивом рабочих файлов
программы. Этот архив включает в себя документацию, файлы подсветки синтаксиса
и другие файлы, которые используются редактором во время работы. Чтобы
запустить программу Vim, вы должны получить либо архив с исполняемыми файлами,
либо архив с исходным кодом. Какой из них вам нужен, зависит от того, на какой
системе вы хотите запустить редактор Vim, и есть ли для этой системы
исполняемые файлы или вы должны компилировать программу самостоятельно.
Чтобы узнать о доступных в настоящее время пакетах программы, посмотрите на
веб‐странице https://www.vim.org/download.php.
Несколько полезных мест, где можно получить последнюю версию редактора Vim:
* Посмотрите в git-хранилище на GitHub: https://github.com/vim/vim.
* Получить исходный код в виде архива: https://github.com/vim/vim/releases.
* Получить исполняемый файл для ОС Windows из хранилища vim-win32-installer:
https://github.com/vim/vim-win32-installer/releases.
КОМПИЛЯЦИЯ РЕДАКТОРА Vim
Если для вашей системы уже есть готовые исполняемые файлы, вам не нужно самому
компилировать редактор Vim. Если вы скачали архив с исходным кодом, то всё
необходимое для компиляции программы Vim находится в каталоге "src".
Инструкции смотрите в файле src/INSTALL.
УСТАНОВКА ПРОГРАММЫ Vim
Инструкции для конкретной системы смотрите в одном из нижеуказанных файлов.
Или в каталоге READMEdir (на https://github.com/vim/vim), или в основном
каталоге (если вы распаковываете архив):
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS и MS Windows
README_mac.txt Macintosh
README_haiku.txt Haiku
README_vms.txt VMS
Существует ещё несколько файлов README_*.txt, в зависимости от предоставляемого
пакета.
ДОКУМЕНТАЦИЯ ПО РЕДАКТОРУ Vim
Учебник Vim — это часовой практический курс для начинающих. Как правило, для
работы с ним нужно набрать команду "vimtutor". Чтобы получить дополнительную
информацию, смотрите раздел документации ":help tutor".
Лучше всего воспользоваться командой ":help" в редакторе Vim. Если у вас ещё
нет исполняемого файла программы, прочитайте файл "runtime/doc/help.txt".
В нём содержатся отсылки на другие полезные файлы документации. Руководство
пользователя можно читать как книгу, и оно рекомендуется для обучения работе
с редактором Vim. Смотрите ":help user-manual".
ЛИЦЕНЗИОННЫЕ ПРАВА
Редактор Vim является благотворительным программным обеспечением.
Использование и копирование программы Vim не ограничено, однако рекомендуется
сделать добровольное пожертвование для нуждающихся детей в Уганде. Чтобы узнать
подробности, прочитайте, пожалуйста, файл "runtime/doc/uganda.rux" (введите
команду ":help uganda" в редакторе Vim).
Краткое описание лицензии.
Нет никаких ограничений на использование или распространение немодифицированной
копии программы Vim. Части программы Vim также могут предоставляться отдельно,
но текст лицензии Vim всегда должен быть включён в поставку.
Для модифицированных версий программы действует несколько ограничений.
Лицензия Vim совместима с лицензией GNU GPL, вы можете компилировать
и распространять программу Vim с библиотеками, лицензированными под GNU GPL.
ФИНАНСОВАЯ ПОДДЕРЖКА ДЛЯ РАЗРАБОТКИ РЕДАКТОРА Vim
Устранение ошибок и добавление новых функциональных возможностей требует
вложения немалого количества времени и сил. Выразить признательность за труд
и подкрепить заинтересованность разработчиков программы в дальнейшей работе
над редактором Vim можно с помощью оказания финансовой поддержки.
Пожертвованные вами деньги будут в основном направлены на оказание помощи детям
Уганды, см. "runtime/doc/uganda.rux". Однако в любом случае финансирование
будет способствовать повышению заинтересованности команды разработчиков
в продолжении работы над редактором Vim!
Самая свежая информация об оказании финансовой поддержки публикуется на
веб-сайте программы Vim:
https://www.vim.org/sponsor/
ПОМОЩЬ В РАЗРАБОТКЕ РЕДАКТОРА Vim
Если вы хотите помочь сделать редактор Vim лучше, смотрите файл CONTRIBUTING.md.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Для системе macOS вы може использовать MacVim: https://macvim.org
Последние новости о редакторе Vim можно найти на его домашней странице:
https://www.vim.org/
Если у вас возникли вопросы, посмотрите полезные советы или документацию по
редактору Vim:
https://www.vim.org/docs.php
https://vim.fandom.com/wiki/Vim_Tips_Wiki
Если у вас все ещё остались вопросы или есть сложности, воспользуйтесь одним
из списков рассылки, чтобы обсудить их с пользователями и разработчиками:
https://www.vim.org/maillist.php
Если ничего не помогает, сообщайте об ошибках непосредственно в список рассылки
vim-dev:
<vim-dev@vim.org>
ОСНОВНОЙ АВТОР ПРОГРАММЫ
Большая часть редактора Vim была создана Брамом Моленаром <Bram@vim.org>,
см. ":help Bram-Moolenaar"
Присылайте все прочие комментарии, исправления, цветы и предложения в список
рассылки vim-dev:
<vim-dev@vim.org>

View File

@@ -1,4 +1,4 @@
README.txt for version 8.2 of Vim: Vi IMproved.
README.txt for version 9.1 of Vim: Vi IMproved.
WHAT IS VIM?
@@ -6,20 +6,19 @@ WHAT IS VIM?
Vim is a greatly improved version of the good old UNIX editor Vi. Many new
features have been added: multi-level undo, syntax highlighting, command line
history, on-line help, spell checking, filename completion, block operations,
script language, etc. There is also a Graphical User Interface (GUI)
available. Still, Vi compatibility is maintained, those who have Vi "in the
fingers" will feel at home. See "runtime/doc/vi_diff.txt" for differences with
Vi.
script language, etc. There is also a Graphical User Interface (GUI) available.
Still, Vi compatibility is maintained, those who have Vi "in the fingers" will
feel at home. See "runtime/doc/vi_diff.txt" for differences with Vi.
This editor is very useful for editing programs and other plain text files.
All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
mapped to commands by the user, and the mouse can be used.
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
Vim runs under MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS and almost all
flavours of UNIX. Porting to other systems should not be very difficult.
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
DISTRIBUTION
@@ -33,7 +32,7 @@ This README.txt file comes with the runtime archive. It includes the
documentation, syntax files and other files that are used at runtime. To run
Vim you must get either one of the binary archives or a source archive.
Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check "http://www.vim.org/download.php" for
want or must compile it yourself. Check "https://www.vim.org/download.php" for
an overview of currently available distributions.
Some popular places to get the latest Vim:
@@ -60,9 +59,10 @@ README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_haiku.txt Haiku
README_vms.txt VMS
There are more README_*.txt files, depending on the distribution you used.
There are other README_*.txt files, depending on the distribution you used.
DOCUMENTATION
@@ -71,9 +71,9 @@ The Vim tutor is a one hour training course for beginners. Often it can be
started as "vimtutor". See ":help tutor" for more information.
The best is to use ":help" in Vim. If you don't have an executable yet, read
"runtime/doc/help.txt". It contains pointers to the other documentation
files. The User Manual reads like a book and is recommended to learn to use
Vim. See ":help user-manual".
"runtime/doc/help.txt". It contains pointers to the other documentation files.
The User Manual reads like a book and is recommended to learn to use Vim. See
":help user-manual".
COPYING
@@ -84,7 +84,7 @@ encouraged to make a donation to help orphans in Uganda. Please read the file
Summary of the license: There are no restrictions on using or distributing an
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
text must always be included. For modified versions a few restrictions apply.
text must always be included. For modified versions, a few restrictions apply.
The license is GPL compatible, you may compile Vim with GPL libraries and
distribute it.
@@ -92,42 +92,44 @@ distribute it.
SPONSORING
Fixing bugs and adding new features takes a lot of time and effort. To show
your appreciation for the work and motivate Bram and others to continue
working on Vim please send a donation.
your appreciation for the work and motivate developers to continue working on
Vim please send a donation.
Since Bram is back to a paid job the money will now be used to help children
in Uganda. See runtime/doc/uganda.txt. But at the same time donations
increase Bram's motivation to keep working on Vim!
The money you donated will be mainly used to help children in Uganda. See
"runtime/doc/uganda.txt". But at the same time donations increase the
development team motivation to keep working on Vim!
For the most recent information about sponsoring look on the Vim web site:
http://www.vim.org/sponsor/
https://www.vim.org/sponsor/
CONTRIBUTING
If you would like to help making Vim better, see the CONTRIBUTING.md file.
If you would like to help make Vim better, see the CONTRIBUTING.md file.
INFORMATION
If you are on macOS, you can use MacVim: https://macvim.org
The latest news about Vim can be found on the Vim home page:
http://www.vim.org/
https://www.vim.org/
If you have problems, have a look at the Vim documentation or tips:
http://www.vim.org/docs.php
http://vim.wikia.com/wiki/Vim_Tips_Wiki
https://www.vim.org/docs.php
https://vim.fandom.com/wiki/Vim_Tips_Wiki
If you still have problems or any other questions, use one of the mailing
lists to discuss them with Vim users and developers:
http://www.vim.org/maillist.php
If you still have problems or any other questions, use one of the mailing lists
to discuss them with Vim users and developers:
https://www.vim.org/maillist.php
If nothing else works, report bugs directly:
Bram Moolenaar <Bram@vim.org>
If nothing else works, report bugs directly to the vim-dev mailing list:
<vim-dev@vim.org>
MAIN AUTHOR
Send any other comments, patches, flowers and suggestions to:
Most of Vim was created by Bram Moolenaar <Bram@vim.org>, ":help Bram-Moolenaar"
Bram Moolenaar E-mail: Bram@vim.org
Send any other comments, patches, flowers and suggestions to the vim-dev
mailing list: <vim-dev@vim.org>

View File

@@ -2,18 +2,17 @@
# What is Vim9?
This is an experimental side of [Vim](https://github.com/vim/vim).
It explores ways of making Vim script faster and better.
This is a new syntax for Vim script that was introduced with Vim 9.0.
It intends making Vim script faster and better.
WARNING: The Vim9 script features are still under development, anything can
break!
# Why Vim9?
## 1. FASTER VIM SCRIPT
The third item on the poll results of 2018, after popup windows and text
properties, is faster Vim script. So how do we do that?
properties, both of which have been implemented, is faster Vim script.
So how do we do that?
I have been throwing some ideas around, and soon came to the conclusion
that the current way functions are called and executed, with
@@ -45,14 +44,16 @@ full code is below):
| Vim old | 5.018541 |
| Python | 0.369598 |
| Lua | 0.078817 |
| LuaJit | 0.004245 |
| Vim new | 0.073595 |
That looks very promising! It's just one example, but it shows how much
we can gain, and also that Vim script can be faster than builtin
interfaces.
In practice the script would not do something useless as counting but change
the text. For example, reindent all the lines:
LuaJit is much faster at Lua-only instructions. In practice the script would
not do something useless counting, but change the text. For example,
reindent all the lines:
``` vim
let totallen = 0
@@ -64,13 +65,17 @@ the text. For example, reindent all the lines:
| how | time in sec |
| --------| -------- |
| Vim old | 0.853752 |
| Python | 0.304584 |
| Lua | 0.286573 |
| Vim new | 0.190276 |
| Vim old | 0.578598 |
| Python | 0.152040 |
| Lua | 0.164917 |
| LuaJit | 0.128400 |
| Vim new | 0.079692 |
[These times were measured on a different system by Dominique Pelle]
The differences are smaller, but Vim 9 script is clearly the fastest.
Using LuaJIT gives 0.25, only a little bit faster than plain Lua.
Using LuaJIT is only a little bit faster than plain Lua here, clearly the call
back to the Vim code is costly.
How does Vim9 script work? The function is first compiled into a sequence of
instructions. Each instruction has one or two parameters and a stack is
@@ -331,7 +336,7 @@ let start = reltime()
echo Python()
echo 'Python: ' .. reltimestr(reltime(start))
bwipe!
new
call setline(1, range(100000))
let start = reltime()

View File

@@ -9,15 +9,15 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
Version 8.2. Also runs under UNIX, MS-Windows, Mac, etc.
vim82rt.tgz contains the documentation and syntax files.
vim82bin.tgz contains the binaries.
vim82src.tgz contains the sources.
Version 9.1. Also runs under UNIX, MS-Windows, Mac, etc.
vim91rt.tgz contains the documentation and syntax files.
vim91bin.tgz contains the binaries.
vim91src.tgz contains the sources.
Author: Bram Moolenaar et al.
Xxd Hex dumper and reader. Can be used to view files as hex, edit
them and write them back. Can also be used to patch files.
Version 1.10 (1997 May 22)
Version 2023 Oct 25
Author: Juergen Weigert

View File

@@ -1,4 +1,4 @@
README_ami.txt for version 8.2 of Vim: Vi IMproved.
README_ami.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.
@@ -16,8 +16,8 @@ easily upgrade to a new version. For example:
You would then unpack the archives like this:
cd dh0:editors
tar xf t:vim82bin.tar
tar xf t:vim82rt.tar
tar xf t:vim91bin.tar
tar xf t:vim91rt.tar
Set the $VIM environment variable to point to the top directory of your Vim
files. For the above example:

View File

@@ -1,8 +1,8 @@
README_amibin.txt for version 8.2 of Vim: Vi IMproved.
README_amibin.txt for version 9.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim82rt.tgz).
These files are in the runtime archive (vim90rt.tgz).
The Amiga "bin" archive contains the Vim executable for the Amiga. It was

View File

@@ -1,8 +1,8 @@
README_amisrc.txt for version 8.2 of Vim: Vi IMproved.
README_amisrc.txt for version 9.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim82rt.tgz).
These files are in the runtime archive (vim90rt.tgz).
The Amiga source archive contains the files needed to compile Vim on the

View File

@@ -1,16 +1,16 @@
README_bindos.txt for version 8.2 of Vim: Vi IMproved.
README_bindos.txt for version 9.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim82rt.zip).
These files are in the runtime archive (vim90rt.zip).
There are several binary distributions of Vim for the PC. You would normally
pick only one of them, but it's also possible to install several.
These ones are available (the version number may differ):
vim82w32.zip Windows 95/98/NT/etc. console version
gvim82.zip Windows 95/98/NT/etc. GUI version
gvim82ole.zip Windows 95/98/NT/etc. GUI version with OLE
vim91w32.zip Windows 95/98/NT/etc. console version
gvim91.zip Windows 95/98/NT/etc. GUI version
gvim91ole.zip Windows 95/98/NT/etc. GUI version with OLE
You MUST also get the runtime archive (vim82rt.zip).
The sources are also available (vim82src.zip).
You MUST also get the runtime archive (vim91rt.zip).
The sources are also available (vim91src.zip).

View File

@@ -1,4 +1,4 @@
README_dos.txt for version 8.2 of Vim: Vi IMproved.
README_dos.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-Windows systems.
See "README.txt" for general information about Vim.
@@ -41,19 +41,19 @@ These are the normal steps to install Vim from the .zip archives:
located. Check the $VIM setting to see where it points to:
set VIM
For example, if you have
C:\vim\vim82
C:\vim\vim91
do
cd C:\
Binary and runtime Vim archives are normally unpacked in the same location,
on top of each other.
2. Unpack the zip archives. This will create a new directory "vim\vim82",
2. Unpack the zip archives. This will create a new directory "vim\vim91",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d gvim82.zip
unzip vim82w32.zip
pkunzip -d gvim91.zip
unzip vim91w32.zip
You need to unpack the runtime archive and at least one of the binary
archives. When using more than one binary version, be careful not to
@@ -65,7 +65,7 @@ These are the normal steps to install Vim from the .zip archives:
won't move or copy the runtime files.
3. Change to the new directory:
cd vim\vim82
cd vim\vim91
Run the "install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the
@@ -76,8 +76,8 @@ These are the normal steps to install Vim from the .zip archives:
console or in a shell. You can select one of the directories in your
$PATH. If you skip this, you can add Vim to the search path manually:
The simplest is to add a line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim82
set path=%path%;D:\editors\vim\vim82
set path=%path%;C:\vim\vim91
set path=%path%;D:\editors\vim\vim91
- Create entries for Vim on the desktop and in the Start menu.
That's it!
@@ -89,8 +89,8 @@ Remarks:
won't show a menubar. Then you need to set the $VIM environment variable to
point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim
Vim version 8.2 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim82. See ":help $VIM" for more information.
Vim version 9.1 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim91. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout:
@@ -101,14 +101,14 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim82\vim.exe The Vim version 8.2 executable.
C:\vim\vim82\doc\*.txt The version 8.2 documentation files.
C:\vim\vim82\bugreport.vim A Vim version 8.2 script.
C:\vim\vim82\... Other version 8.2 distributed files.
C:\vim\vim91\vim.exe The Vim version 9.1 executable.
C:\vim\vim91\doc\*.txt The version 9.1 documentation files.
C:\vim\vim91\bugreport.vim A Vim version 9.1 script.
C:\vim\vim91\... Other version 9.1 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim82". Don't add
"vim82" to $VIM, that won't work.
Then $VIMRUNTIME will automatically be set to "$VIM\vim91". Don't add
"vim91" to $VIM, that won't work.
- You can put your Vim executable anywhere else. If the executable is not
with the other Vim files, you should set $VIM. The simplest is to add a line
@@ -132,8 +132,8 @@ Remarks:
Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples:
C:\command.com /c C:\vim\vim82\vim.exe
C:\command.com /c D:\editors\vim\vim82\vim.exe
C:\command.com /c C:\vim\vim91\vim.exe
C:\command.com /c D:\editors\vim\vim91\vim.exe
6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode".

View File

@@ -1,4 +1,4 @@
README_extra.txt for version 8.2 of Vim: Vi IMproved.
README_extra.txt for version 9.1 of Vim: Vi IMproved.
These extra files of Vim are for special purposes. This README explains what
the files are for. For general information about Vim, see the "README.txt"
@@ -26,13 +26,9 @@ src/os_win32.* Files for the Win32 port.
src/gui_w32.* Files for the Win32 GUI.
src/gui_w48.* Files for the Win32 and Win16 GUI.
src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
runtime/rgb.txt File with color definitions for the Win32 GUI.
src/if_ole.* OLE automation interface, for MS Windows 95 and NT.
src/VisVim/* Integration of Win32 GUI with MS Visual Developer
Studio.
src/GvimExt/* DLL for the "Edit with Vim" context menu entry
nsis/* NSIS script to build the self-installing MS-Windows exe

View File

@@ -1,4 +1,4 @@
README_haiku.txt for version 8.2 of Vim: Vi IMproved.
README_haiku.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Haiku operating system.
See "README.txt" for general information about Vim.

View File

@@ -1,4 +1,4 @@
README_mac.txt for version 8.2 of Vim: Vi IMproved.
README_mac.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on MacOS systems.
See "README.txt" for general information about Vim.

View File

@@ -1,6 +1,6 @@
README_ole.txt for version 8.2 of Vim: Vi IMproved.
README_ole.txt for version 9.1 of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface and VisVim.
This archive contains gvim.exe with OLE interface.
This version of gvim.exe can also load a number of interface dynamically (you
can optionally install the .dll files for each interface).
It is only for MS-Windows 95/98/ME/NT/2000/XP.
@@ -15,6 +15,3 @@ Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
For further information, type this inside Vim:
:help if_ole
Furthermore, this archive contains VISVIM.DLL. It can be used to integrate
the OLE gvim with Microsoft Visual Developer Studio. See VisVim/README.txt.

View File

@@ -1,4 +1,4 @@
README_os2.txt for version 8.2 of Vim: Vi IMproved.
README_os2.txt for version 9.1 of Vim: Vi IMproved.
This file used to explain the installation of Vim on OS/2 systems.
However, support for OS/2 has been removed in patch 7.4.1008.

View File

@@ -1,4 +1,4 @@
README_os390.txt for version 8.2 of Vim: Vi IMproved.
README_os390.txt for version 9.1 of Vim: Vi IMproved.
This readme explains how to build Vim on z/OS. Formerly called OS/390.
See "README.txt" for general information about Vim.
@@ -46,7 +46,7 @@ Change to the vim directory and do:
$ export CC=cc
$ export _CC_CCMODE=1
$./configure --with-features=big --without-x --enable-gui=no
$./configure --with-features=normal --without-x --enable-gui=no
$ cd src
$ make

View File

@@ -1,8 +1,8 @@
README_src.txt for version 8.2 of Vim: Vi IMproved.
README_src.txt for version 9.1 of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator).
For more information, see the README.txt file that comes with the runtime
archive (vim-8.2-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive (vim-9.1-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!

View File

@@ -1,12 +1,11 @@
README_srcdos.txt for version 8.2 of Vim: Vi IMproved.
README_srcdos.txt for version 9.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-Windows.
These files are in the runtime archive (vim82rt.zip).
These files are in the runtime archive (vim90rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-Windows.
It is packed for MS-Windows systems, with CR-LF. It also includes the VisVim
sources.
It is packed for MS-Windows systems, with CR-LF.
See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC.

View File

@@ -1,4 +1,4 @@
README_unix.txt for version 8.2 of Vim: Vi IMproved.
README_unix.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.

View File

@@ -0,0 +1,11 @@
The Python project that creates `vimlogo.svg` can be found at
`https://github.com/ShayHill/vimlogo`. The Vim license applies.
`vimlogo.svg` is an effort to remove errors and inadvertent inconsistencies
from the original vim logo while maintaining the original design. `vimlogo.svg`
is based on the `vimlogo.svg` file (previously?) found at
`https://www.vim.org/logos.php`
As of 2024 Jan 30, `vimlogo.svg` is a separate project from `vimlogo.cdr`,
`vimlogo.eps`, `vimlogo.gif`, `vimlogo.pdf`, and `vimlogo.xpm`, all of which
are slightly different from each other.

View File

@@ -1,4 +1,4 @@
README_vms.txt for version 8.2 of Vim: Vi IMproved.
README_vms.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.
@@ -19,14 +19,16 @@ src/INSTALLvms.txt.
To use the binary version, you need one of these archives:
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
vim-XX-exe-ia64-term.zip IA64 console executables
vim-XX-exe-x86-gui.zip X86_64 GUI/Motif executables
vim-XX-exe-x86-term.zip X86_64 console executables
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
vim-XX-exe-ia64-term.zip IA64 console executables
vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
vim-XX-exe-axp-term.zip Alpha console executables
vim-XX-exe-axp-term.zip Alpha console executables
vim-XX-exe-vax-gui.zip VAX GUI executables
vim-XX-exe-vax-term.zip VAX console executables
vim-XX-exe-vax-term.zip VAX console executables
and of course
vim-XX-runtime.zip runtime files
@@ -34,6 +36,8 @@ and of course
The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
but there are also prepared "deploy ready" archives:
vim-XX-x86.zip GUI and console executables with runtime and
help files for X86_64 systems
vim-XX-ia64.zip GUI and console executables with runtime and
help files for IA64 systems
vim-XX-axp.zip GUI and console executables with runtime and

View File

@@ -1,4 +1,4 @@
README_w32s.txt for version 8.2 of Vim: Vi IMproved.
README_w32s.txt for version 9.1 of Vim: Vi IMproved.
This file used to explain the installation of Vim on MS-Windows 3.1 and 3.11
systems. However, support for MS-Windows 3.1 and 3.11 has been removed in

10
SECURITY.md Normal file
View File

@@ -0,0 +1,10 @@
# Security Policy
## Reporting a vulnerability
If you want to report a security issue, please privately disclose the issue to the vim-security mailing list
vim-security@googlegroups.com
This is a private list, read only by the maintainers, but anybody can post, after moderation.
**Please don't publicly disclose the issue until it has been addressed by us.**

View File

@@ -1,15 +1,58 @@
@echo off
:: Batch file for building/testing Vim on AppVeyor
set target=%1
setlocal ENABLEDELAYEDEXPANSION
cd %APPVEYOR_BUILD_FOLDER%
:: Python3
set PYTHON3_VER=311
set PYTHON3_RELEASE=3.11.1
set PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe
set PYTHON3_DIR=C:\python%PYTHON3_VER%-x64
set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
if exist "%VSWHERE%" (
for /f "usebackq delims=" %%i in (
`"%VSWHERE%" -products * -latest -property installationPath`
) do (
set "VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat"
)
)
if not exist "%VCVARSALL%" (
set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
)
call "%VCVARSALL%" x64
goto %target%
echo Unknown build target.
exit 1
:: ----------------------------------------------------------------------------
:install
@echo on
if not exist downloads mkdir downloads
:: Python 3
if not exist %PYTHON3_DIR% (
call :downloadfile %PYTHON3_URL% downloads\python3.exe
cmd /c start /wait downloads\python3.exe /quiet TargetDir=%PYTHON3_DIR% ^
Include_pip=0 Include_tcltk=0 Include_test=0 Include_tools=0 ^
AssociateFiles=0 Shortcuts=0 Include_doc=0 Include_launcher=0 ^
InstallLauncherAllUsers=0
)
@echo off
goto :eof
:: ----------------------------------------------------------------------------
:build
cd src
:: Filter out the progress bar from the build log
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
echo "Building MSVC 64bit console Version"
nmake -f Make_mvc2.mak CPU=AMD64 ^
nmake -f Make_mvc.mak CPU=AMD64 ^
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
FEATURES=%FEATURE%
if not exist vim.exe (
@@ -21,13 +64,13 @@ if not exist vim.exe (
:: GUI needs to be last, so that testing works
echo "Building MSVC 64bit GUI Version"
if "%FEATURE%" == "HUGE" (
nmake -f Make_mvc2.mak CPU=AMD64 ^
nmake -f Make_mvc.mak CPU=AMD64 ^
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 ^
PYTHON3_VER=%PYTHON3_VER% DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
FEATURES=%FEATURE%
) ELSE (
nmake -f Make_mvc2.mak CPU=AMD64 ^
nmake -f Make_mvc.mak CPU=AMD64 ^
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
FEATURES=%FEATURE%
)
@@ -41,4 +84,31 @@ echo "version output MSVC console"
.\vim --version || exit 1
echo "version output MSVC GUI"
type ver_msvc.txt || exit 1
cd ..
goto :eof
:: ----------------------------------------------------------------------------
:test
@echo on
cd src/testdir
:: Testing with MSVC gvim
path %PYTHON3_DIR%;%PATH%
nmake -f Make_mvc.mak VIMPROG=..\gvim
nmake -f Make_mvc.mak clean
:: Testing with MSVC console version
nmake -f Make_mvc.mak VIMPROG=..\vim
@echo off
goto :eof
:: ----------------------------------------------------------------------------
:downloadfile
:: call :downloadfile <URL> <localfile>
if not exist %2 (
curl -f -L %1 -o %2
)
if ERRORLEVEL 1 (
rem Retry once.
curl -f -L %1 -o %2 || exit 1
)
@goto :eof

View File

@@ -1,19 +0,0 @@
#!/bin/bash
set -eu
LINUX_VERSION=$(uname -r | cut -d. -f1-2)
LINUX_ARCHIVE_FILE=v${LINUX_VERSION}.tar.gz
LINUX_SOURCE_DIR=linux-${LINUX_VERSION}
mkdir -p "${TMPDIR}"
cd "${TMPDIR}"
wget -q "https://github.com/torvalds/linux/archive/${LINUX_ARCHIVE_FILE}"
tar -xf "${LINUX_ARCHIVE_FILE}" "${LINUX_SOURCE_DIR}/sound"
cd "${LINUX_SOURCE_DIR}/sound"
CC=gcc make -C "/lib/modules/$(uname -r)/build" M="${PWD}" CONFIG_SOUND=m CONFIG_SND=m CONFIG_SND_PCM=m CONFIG_SND_DUMMY=m modules
mkdir -p "${SND_DUMMY_DIR}"
cp soundcore.ko core/snd.ko core/snd-pcm.ko drivers/snd-dummy.ko "${SND_DUMMY_DIR}"

View File

@@ -0,0 +1,3 @@
# Clang 12 (or Apple clang 13) and later makes a warning '-Wcompound-token-split-by-macro' enable by default.
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro -Wno-compound-token-split-by-macro/
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/

View File

@@ -1,2 +1,2 @@
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=missing-field-initializers/
/^RUBY_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/

View File

@@ -1,2 +1,3 @@
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
/^PERL_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unused-function/
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Werror -Wno-deprecated-declarations/
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function -Wno-shadow/
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter -Wno-strict-prototypes/

View File

@@ -1,8 +0,0 @@
#!/bin/bash
set -e
if ! modprobe snd-dummy; then
# snd-dummy is contained in linux-modules-extra (if exists)
apt-get install -yq --no-install-suggests --no-install-recommends "linux-modules-extra-$(uname -r)"
modprobe snd-dummy
fi

13
ci/remove_snap.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env sh
pushd /etc/apt/preferences.d/
cat > nosnap.pref <<EOF
# To prevent repository packages from triggering the installation of snap,
# this file forbids snapd from being installed by APT.
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOF
popd
snap remove --purge $(snap list | awk '!/^Name|^core/ {print $1}')
apt-get purge -y snapd

49
ci/unlisted.make Normal file
View File

@@ -0,0 +1,49 @@
# vim: ft=make
SHELL = /bin/bash
# List all files that are tracked in git but not listed in Filelist.
# Exit code is 2 ("Make encountered an error") if any such files exist.
# Filelist is a Makefile that defines many variables, so we use Make itself to
# query which variables it defines, then expand them all by wrapping each name
# in $(...), importing Filelist and using $(eval).
include Filelist
$(eval all_patterns := $(shell \
make -f Filelist --question --print-data-base --no-builtin-rules \
--no-builtin-variables 2>/dev/null \
| sed -nre \
'/^# makefile .from \x27Filelist\x27,/ { \
n; \
s/ = .*//; \
T; \
s/.*/$$(\0)/; \
p; \
}'))
# In Makefile's `prepeare` target, all the IN_README_DIR files are moved from
# READMEdir to the root, so add those files in their Git-tracked location:
all_patterns := $(all_patterns) \
$(foreach readme, $(IN_README_DIR), READMEdir/$(readme))
# The result 'all_patterns' is a list of patterns (globs), which we expand with
# wildcard to get actual filenames. Note this means Filelist can list a file
# that does not exist, and it will be omitted at this step.
listed_files := $(wildcard $(all_patterns))
# Default target to actually run the comparison:
.PHONY: check
check:
@# There are too many files to list on the command line, so we write
@# that to a temporary file, one per line.
$(file > Filelist-listed-files)
$(foreach filename, $(listed_files),\
$(file >> Filelist-listed-files,$(filename)))
@# Compare the sorted lists. Delete that temporary file on both
@# success and failure, but exit with diff's exit code.
diff -u0 --label files-in-git <(git ls-files | sort) \
--label Filelist <(sort --unique Filelist-listed-files); \
RV=$$?; \
rm Filelist-listed-files; \
(($$RV != 0)) && echo "Add files to the right variable in Filelist."; \
exit $$RV

View File

@@ -1,7 +1,7 @@
This builds a one-click install for Vim for Win32 using the Nullsoft
This builds a one-click install for Vim for MS Windows using the Nullsoft
Installation System (NSIS), available at http://nsis.sourceforge.net/
To build the installable .exe:
To build the installable .exe file:
1. Unpack three archives:
PC sources
@@ -16,10 +16,9 @@ To build the installable .exe:
install.exe,
uninstall.exe,
tee/tee.exe,
xxd/xxd.exe,
xxd/xxd.exe
Then execute tools/rename.bat to rename the executables. (mv command is
required.)
Then execute tools/rename.bat to rename the executables.
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
archive). Both 64- and 32-bit versions are needed and should be placed
@@ -27,21 +26,36 @@ To build the installable .exe:
64-bit: src/GvimExt/gvimext64.dll
32-bit: src/GvimExt/gvimext.dll
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
archive).
5. Get a "diff.exe" program. If you skip this the built-in diff will always
be used (which is fine for most users). If you do have your own
"diff.exe" put it in the "../.." directory (above the "vim82" directory,
it's the same for all Vim versions).
4. Get a "diff.exe" program. If you skip this the built-in diff will always
be used (which is fine for most users).
You can find one in previous Vim versions or in this archive:
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
https://www.mediafire.com/file/9edk4g3xvfgzby0/diff4Vim.zip/file
When will you have "diff.exe" put it in the "../.." directory (above the
"vim91" directory, it's the same for all Vim versions). However, you can
specify another directory by passing /DVIMTOOLS=<dir> option to the
"makensis.exe" program via the command line.
6 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82"
directory). This is required for the terminal window.
5. For the terminal window to work in Vim, the library winpty is required.
You can get it at the following url:
https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
For the 32-bit version, rename "winpty.dll" from ia32/bin to "winpty32.dll",
and for the 64-bit version — "winpty.dll" from x64/bin to "winpty64.dll".
Put the renamed file and "winpty-agent.exe" in "../.." (above the "vim91"
directory). However, you can specify another directory by passing
/DVIMTOOLS=<dir> option to the "makensis.exe" program via the command line.
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
to do this on Unix. Make sure the file is in DOS file format!
6. To use stronger encryption, add the Sodium library. You can get it here:
https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip
Unpack the archive. Put the "libsodium.dll" from
path/to/libsodium/Win32/Release/v143/dynamic for the 32bit version or
path/to/libsodium/X64/Release/v143/dynamic for the 64bit version in the
"../.." directory (above the "vim91" directory, where "diff.exe" and
"winpty{32|64}.dll").
7. On MS Windows do "nmake.exe -f Make_mvc.mak uganda.nsis.txt" in runtime/doc.
On Unix-like system do "make runtime/doc/uganda.nsis.txt" in top directory
or "make uganda.nsis.txt" in runtime/doc. The created files
"uganda.nsis.???" will be automatically converted to DOS file format.
8. Get gettext and iconv DLLs from the following site:
https://github.com/mlocati/gettext-iconv-windows/releases
@@ -56,25 +70,39 @@ To build the installable .exe:
| libiconv-2.dll
| libgcc_s_sjlj-1.dll
|
` gettext64/
+ gettext64/
libintl-8.dll
libiconv-2.dll
The default <GETTEXT directory> is "..", however, you can change it by
passing /DGETTEXT=... option to the makensis command.
The default <GETTEXT directory> is "..", however, you can specify another
directory by passing /DGETTEXT=<dir> option to "makensis.exe" program via
the command line.
Install NSIS if you didn't do that already.
Also install UPX, if you want a compressed file.
Download and include the ShellExecAsUser.dll Unicode version which can be
sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
https://nsis.sourceforge.io/ShellExecAsUser_plug-in
and put ShellExecAsUser.dll to path\to\NSIS\Plugins\x86-unicode
Unpack the images:
cd nsis
unzip icons.zip
To build then, enter:
unzip icons.zip or 7z x icons.zip (on Unix-like or MS Windows)
WinRar.exe x icons.zip (on MS Windows)
Then build gvim.exe:
cd nsis
makensis gvim.nsi
makensis.exe [options] gvim.nsi
Options (not mandatory):
/DVIMSRC=<dir> — directory where location of gvim_ole.exe, vimw32.exe,
GvimExt/*, etc.
/DVIMRT=<dir> — directory where location of runtime files
/DVIMTOOLS=<dir> — directory where location of extra tools: diff.exe,
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll
/DGETTEXT=<dir> — directory where location of gettext libraries
/DHAVE_UPX=1 — additional compression of the installer. UPX program
must be installed.
/DHAVE_NLS=0 — do not add native language support
/DHAVE_MULTI_LANG=0 — to create an English-only the installer
/DWIN64=1 — to create a 64-bit the installer

View File

@@ -1,6 +1,6 @@
# NSIS file to create a self-installing exe for Vim.
# It requires NSIS version 3.0 or later.
# Last Change: 2014 Nov 5
# Last Change: 2024 Mar 20
Unicode true
@@ -17,7 +17,7 @@ Unicode true
!define VIMRT ".."
!endif
# Location of extra tools: diff.exe
# Location of extra tools: diff.exe, winpty{32|64}.dll, winpty-agent.exe, etc.
!ifndef VIMTOOLS
!define VIMTOOLS ..\..
!endif
@@ -29,46 +29,82 @@ Unicode true
!define GETTEXT ${VIMRT}
!endif
# Comment the next line if you don't have UPX.
# Get it at https://upx.github.io/
!define HAVE_UPX
# If you have UPX, use the switch /DHAVE_UPX=1 on the command line makensis.exe.
# This property will be set to 1. Get it at https://upx.github.io/
!ifndef HAVE_UPX
!define HAVE_UPX 0
!endif
# Comment the next line if you do not want to add Native Language Support
!define HAVE_NLS
# If you do not want to add Native Language Support, use the switch /DHAVE_NLS=0
# in the command line makensis.exe. This property will be set to 0.
!ifndef HAVE_NLS
!define HAVE_NLS 1
!endif
# Uncomment the next line if you want to include VisVim extension:
#!define HAVE_VIS_VIM
# To create an English-only the installer, use the switch /DHAVE_MULTI_LANG=0 on
# the command line makensis.exe. This property will be set to 0.
!ifndef HAVE_MULTI_LANG
!define HAVE_MULTI_LANG 1
!endif
# Comment the following line to create an English-only installer:
!define HAVE_MULTI_LANG
# Uncomment the next line if you want to create a 64-bit installer.
#!define WIN64
# if you want to create a 64-bit the installer, use the switch /DWIN64=1 on
# the command line makensis.exe. This property will be set to 1.
!ifndef WIN64
!define WIN64 0
!endif
!include gvim_version.nsh # for version number
# Definition of Patch for Vim
# Definition of Patch for Vim.
!ifndef PATCHLEVEL
!define PATCHLEVEL 0
!endif
# ----------- No configurable settings below this line -----------
!include "Library.nsh" # For DLL install
!ifdef HAVE_VIS_VIM
!include "UpgradeDLL.nsh" # for VisVim.dll
!endif
!include "Library.nsh" # for DLL install
!include "LogicLib.nsh"
!include "MUI2.nsh"
!include "nsDialogs.nsh"
!include "Sections.nsh"
!include "x64.nsh"
# See https://nsis.sourceforge.io/LogicLib
;FileExists is already part of LogicLib, but returns true for directories
;as well as files
!macro _FileExists2 _a _b _t _f
!insertmacro _LOGICLIB_TEMP
StrCpy $_LOGICLIB_TEMP "0"
;if path is not blank, continue to next check
StrCmp `${_b}` `` +4 0
;if path exists, continue to next check (IfFileExists returns true if this
;is a directory)
IfFileExists `${_b}` `0` +3
;if path is not a directory, continue to confirm exists
IfFileExists `${_b}\*.*` +2 0
StrCpy $_LOGICLIB_TEMP "1" ;file exists
;now we have a definitive value - the file exists or it does not
StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
!macroend
!undef FileExists
!define FileExists `"" FileExists2`
!macro _DirExists _a _b _t _f
!insertmacro _LOGICLIB_TEMP
StrCpy $_LOGICLIB_TEMP "0"
;if path is not blank, continue to next check
StrCmp `${_b}` `` +3 0
;if directory exists, continue to confirm exists
IfFileExists `${_b}\*.*` 0 +2
StrCpy $_LOGICLIB_TEMP "1"
StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
!macroend
!define DirExists `"" DirExists`
!define PRODUCT "Vim ${VER_MAJOR}.${VER_MINOR}"
!define UNINST_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall"
!define UNINST_REG_KEY_VIM "${UNINST_REG_KEY}\${PRODUCT}"
!ifdef WIN64
!if ${WIN64}
Name "${PRODUCT} (x64)"
!else
Name "${PRODUCT}"
@@ -81,11 +117,11 @@ ManifestDPIAware true
SetDatablockOptimize on
RequestExecutionLevel highest
!ifdef HAVE_UPX
!if ${HAVE_UPX}
!packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
!endif
!ifdef WIN64
!if ${WIN64}
!define BIT 64
!else
!define BIT 32
@@ -102,6 +138,8 @@ RequestExecutionLevel highest
# Show all languages, despite user's codepage:
!define MUI_LANGDLL_ALLLANGUAGES
# Always show dialog choice language
#!define MUI_LANGDLL_ALWAYSSHOW
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
!define MUI_LANGDLL_REGISTRY_KEY "Software\Vim"
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
@@ -119,17 +157,18 @@ RequestExecutionLevel highest
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_LICENSEPAGE_CHECKBOX
!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_FUNCTION LaunchApplication
!define MUI_FINISHPAGE_RUN_TEXT $(str_show_readme)
!define MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_SHOWREADME_TEXT $(str_show_readme)
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION LaunchApplication
# This adds '\Vim' to the user choice automagically. The actual value is
# obtained below with CheckOldVim.
!ifdef WIN64
InstallDir "$PROGRAMFILES64\Vim"
!if ${WIN64}
!define DEFAULT_INSTDIR "$PROGRAMFILES64\Vim"
!else
InstallDir "$PROGRAMFILES\Vim"
!define DEFAULT_INSTDIR "$PROGRAMFILES\Vim"
!endif
InstallDir ${DEFAULT_INSTDIR}
# Types of installs we can perform:
InstType $(str_type_typical)
@@ -144,7 +183,7 @@ SilentInstall normal
# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "${VIMRT}\doc\uganda.nsis.txt"
!insertmacro MUI_PAGE_LICENSE $(page_lic_file)
!insertmacro MUI_PAGE_COMPONENTS
Page custom SetCustom ValidateCustom
#!define MUI_PAGE_CUSTOMFUNCTION_LEAVE VimFinalCheck
@@ -168,13 +207,15 @@ Page custom SetCustom ValidateCustom
!include "lang\english.nsi"
# Include support for other languages:
!ifdef HAVE_MULTI_LANG
!if ${HAVE_MULTI_LANG}
!include "lang\danish.nsi"
!include "lang\dutch.nsi"
!include "lang\german.nsi"
!include "lang\greek.nsi"
!include "lang\italian.nsi"
!include "lang\japanese.nsi"
!include "lang\russian.nsi"
!include "lang\serbian.nsi"
!include "lang\simpchinese.nsi"
!include "lang\tradchinese.nsi"
!include "lang\turkish.nsi"
@@ -184,7 +225,7 @@ Page custom SetCustom ValidateCustom
# Version resources
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The Vim Project"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"
@@ -233,6 +274,28 @@ FunctionEnd
!insertmacro GetParent ""
!insertmacro GetParent "un."
# Get home directory
!macro GetHomeDir un
Function ${un}GetHomeDir
Push $0
Push $1
ReadEnvStr $0 "HOME"
${If} $0 == ""
ReadEnvStr $0 "HOMEDRIVE"
ReadEnvStr $1 "HOMEPATH"
StrCpy $0 "$0$1"
${If} $0 == ""
ReadEnvStr $0 "USERPROFILE"
${EndIf}
${EndIf}
Pop $1
Exch $0 # put $0 on top of stack, restore $0 to original value
FunctionEnd
!macroend
!insertmacro GetHomeDir ""
!insertmacro GetHomeDir "un."
# Check if Vim is already installed.
# return: Installed directory. If not found, it will be empty.
Function CheckOldVim
@@ -302,7 +365,7 @@ FunctionEnd
Function LaunchApplication
SetOutPath $0
ShellExecAsUser::ShellExecAsUser "" "$0\gvim.exe" '-R "$0\README.txt"'
ShellExecAsUser::ShellExecAsUser "" "$0\gvim.exe" '-R "$0\$(vim_readme_file)"'
FunctionEnd
##########################################################
@@ -356,32 +419,43 @@ Section "$(str_section_exe)" id_section_exe
File ..\README.txt
File ..\uninstall.txt
File ${VIMRT}\*.vim
File ${VIMRT}\rgb.txt
!if /FileExists "${VIMTOOLS}\diff.exe"
File ${VIMTOOLS}\diff.exe
!endif
!if /FileExists "${VIMTOOLS}\winpty${BIT}.dll"
File ${VIMTOOLS}\winpty${BIT}.dll
!endif
!if /FileExists "${VIMTOOLS}\winpty-agent.exe"
File ${VIMTOOLS}\winpty-agent.exe
!endif
!if /FileExists "${VIMTOOLS}\libsodium.dll"
File ${VIMTOOLS}\libsodium.dll
!endif
SetOutPath $0\colors
File ${VIMRT}\colors\*.*
SetOutPath $0\colors\tools
File ${VIMRT}\colors\tools\*.*
File /r ${VIMRT}\colors\*.*
SetOutPath $0\compiler
File ${VIMRT}\compiler\*.*
SetOutPath $0\doc
File ${VIMRT}\doc\*.txt
File /x uganda.nsis.txt ${VIMRT}\doc\*.txt
File ${VIMRT}\doc\tags
SetOutPath $0\ftplugin
File ${VIMRT}\ftplugin\*.*
SetOutPath $0\indent
File ${VIMRT}\indent\*.*
File ${VIMRT}\indent\README.txt
File ${VIMRT}\indent\*.vim
SetOutPath $0\keymap
File ${VIMRT}\keymap\README.txt
File ${VIMRT}\keymap\*.vim
SetOutPath $0\macros
File /r ${VIMRT}\macros\*.*
File /r /x *.info ${VIMRT}\macros\*.*
SetOutPath $0\pack
File /r ${VIMRT}\pack\*.*
@@ -390,16 +464,16 @@ Section "$(str_section_exe)" id_section_exe
File ${VIMRT}\plugin\*.*
SetOutPath $0\autoload
File ${VIMRT}\autoload\*.*
File /r ${VIMRT}\autoload\*.*
SetOutPath $0\autoload\dist
File ${VIMRT}\autoload\dist\*.*
SetOutPath $0\import\dist
File ${VIMRT}\import\dist\*.*
SetOutPath $0\autoload\xml
File ${VIMRT}\autoload\xml\*.*
SetOutPath $0\bitmaps
File ${VIMSRC}\vim.ico
SetOutPath $0\syntax
File ${VIMRT}\syntax\*.*
File /r /x testdir /x generator /x Makefile ${VIMRT}\syntax\*.*
SetOutPath $0\spell
File ${VIMRT}\spell\*.txt
@@ -411,7 +485,7 @@ Section "$(str_section_exe)" id_section_exe
File ${VIMRT}\tools\*.*
SetOutPath $0\tutor
File ${VIMRT}\tutor\*.*
File /x Makefile /x *.info ${VIMRT}\tutor\*.*
SectionEnd
##########################################################
@@ -525,7 +599,8 @@ SectionGroup $(str_group_plugin) id_group_plugin
Section "$(str_section_plugin_home)" id_section_pluginhome
SectionIn 1 3
StrCpy $1 "$1 -create-directories home"
# use ShellExecAsUser below instead
# StrCpy $1 "$1 -create-directories home"
SectionEnd
Section "$(str_section_plugin_vim)" id_section_pluginvim
@@ -536,26 +611,116 @@ SectionGroup $(str_group_plugin) id_group_plugin
SectionGroupEnd
##########################################################
!ifdef HAVE_VIS_VIM
Section "$(str_section_vis_vim)" id_section_visvim
SectionIn 3
SetOutPath $0
!insertmacro UpgradeDLL "${VIMSRC}\VisVim\VisVim.dll" "$0\VisVim.dll" "$0"
File ${VIMSRC}\VisVim\README_VisVim.txt
SectionEnd
!endif
##########################################################
!ifdef HAVE_NLS
!if ${HAVE_NLS}
Section "$(str_section_nls)" id_section_nls
SectionIn 1 3
#; FIXME: When adding new translations, do not forget to make changes here.
SetOutPath $0
!if /FileExists ..\README.dax.txt
${If} $Language = ${LANG_DANISH}
File ..\README.dax.txt
${EndIf}
!endif
!if /FileExists ..\README.nlx.txt
${If} $Language = ${LANG_DUTCH}
File ..\README.nlx.txt
${EndIf}
!endif
!if /FileExists ..\README.dex.txt
${If} $Language = ${LANG_GERMAN}
File ..\README.dex.txt
${EndIf}
!endif
!if /FileExists ..\README.itx.txt
${If} $Language = ${LANG_ITALIAN}
File ..\README.itx.txt
${EndIf}
!endif
!if /FileExists ..\README.jax.txt
${If} $Language = ${LANG_JAPANESE}
File ..\README.jax.txt
${EndIf}
!endif
!if /FileExists ..\README.rux.txt
${If} $Language = ${LANG_RUSSIAN}
File ..\README.rux.txt
${EndIf}
!endif
!if /FileExists ..\README.srx.txt
${If} $Language = ${LANG_SERBIAN}
File ..\README.srx.txt
${EndIf}
!endif
!if /FileExists ..\README.cnx.txt
${If} $Language = ${LANG_SIMPCHINESE}
File ..\README.cnx.txt
${EndIf}
!endif
!if /FileExists ..\README.twx.txt
${If} $Language = ${LANG_TRADCHINESE}
File ..\README.twx.txt
${EndIf}
!endif
!if /FileExists ..\README.trx.txt
${OrIf} $Language = ${LANG_TURKISH}
File ..\README.trx.txt
${EndIf}
!endif
#; FIXME: When adding new translations, do not forget to make changes here.
SetOutPath $0\doc
!if /FileExists "${VIMRT}\doc\uganda.dax"
${If} $Language = ${LANG_DANISH}
File ${VIMRT}\doc\uganda.dax
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.nlx"
${If} $Language = ${LANG_DUTCH}
File ${VIMRT}\doc\uganda.nlx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.dex"
${If} $Language = ${LANG_GERMAN}
File ${VIMRT}\doc\uganda.dex
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.itx"
${If} $Language = ${LANG_ITALIAN}
File ${VIMRT}\doc\uganda.itx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.jax"
${If} $Language = ${LANG_JAPANESE}
File ${VIMRT}\doc\uganda.jax
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.rux"
${If} $Language = ${LANG_RUSSIAN}
File ${VIMRT}\doc\uganda.rux
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.srx"
${If} $Language = ${LANG_SERBIAN}
File ${VIMRT}\doc\uganda.srx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.cnx"
${If} $Language = ${LANG_SIMPCHINESE}
File ${VIMRT}\doc\uganda.cnx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.twx"
${If} $Language = ${LANG_TRADCHINESE}
File ${VIMRT}\doc\uganda.twx
${EndIf}
!endif
!if /FileExists "${VIMRT}\doc\uganda.trx"
${If} $Language = ${LANG_TURKISH}
File ${VIMRT}\doc\uganda.trx
${EndIf}
!endif
SetOutPath $0\lang
File /r ${VIMRT}\lang\*.*
SetOutPath $0\keymap
File ${VIMRT}\keymap\README.txt
File ${VIMRT}\keymap\*.vim
File /r /x Makefile ${VIMRT}\lang\*.*
SetOutPath $0
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libintl-8.dll" \
@@ -563,12 +728,12 @@ Section "$(str_section_nls)" id_section_nls
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libiconv-2.dll" \
"$0\libiconv-2.dll" "$0"
!if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
# Install libgcc_s_sjlj-1.dll only if it is needed.
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
"$0\libgcc_s_sjlj-1.dll" "$0"
!endif
# Install libgcc_s_sjlj-1.dll only if it is needed.
# !if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
# !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
# "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
# "$0\libgcc_s_sjlj-1.dll" "$0"
# !endif
${If} ${SectionIsSelected} ${id_section_editwith}
${If} ${RunningX64}
@@ -594,12 +759,12 @@ Section "$(str_section_nls)" id_section_nls
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libiconv-2.dll" \
"$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32"
!if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
# Install libgcc_s_sjlj-1.dll only if it is needed.
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
"${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
!endif
# Install libgcc_s_sjlj-1.dll only if it is needed.
# !if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
# !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
# "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
# "$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
# !endif
${EndIf}
SectionEnd
!endif
@@ -610,6 +775,13 @@ Section -call_install_exe
DetailPrint "$(str_msg_registering)"
nsExec::Exec "$0\install.exe $1"
Pop $3
${If} ${SectionIsSelected} ${id_section_pluginhome}
ReadEnvStr $3 "COMSPEC"
Call GetHomeDir
Pop $4
ShellExecAsUser::ShellExecAsUser "" "$3" '/c "cd /d "$4" & mkdir vimfiles & cd vimfiles & mkdir colors compiler doc ftdetect ftplugin indent keymap plugin syntax"' SW_HIDE
${EndIf}
SectionEnd
##########################################################
@@ -633,13 +805,7 @@ Section -post
SectionGetSize ${id_section_editwith} $4
IntOp $3 $3 + $4
${EndIf}
!ifdef HAVE_VIS_VIM
${If} ${SectionIsSelected} ${id_section_visvim}
SectionGetSize ${id_section_visvim} $4
IntOp $3 $3 + $4
${EndIf}
!endif
!ifdef HAVE_NLS
!if ${HAVE_NLS}
${If} ${SectionIsSelected} ${id_section_nls}
SectionGetSize ${id_section_nls} $4
IntOp $3 $3 + $4
@@ -669,10 +835,7 @@ Section -post
!insertmacro SaveSectionSelection ${id_section_vimrc} "select_vimrc"
!insertmacro SaveSectionSelection ${id_section_pluginhome} "select_pluginhome"
!insertmacro SaveSectionSelection ${id_section_pluginvim} "select_pluginvim"
!ifdef HAVE_VIS_VIM
!insertmacro SaveSectionSelection ${id_section_visvim} "select_visvim"
!endif
!ifdef HAVE_NLS
!if ${HAVE_NLS}
!insertmacro SaveSectionSelection ${id_section_nls} "select_nls"
!endif
${If} ${RunningX64}
@@ -705,13 +868,18 @@ SectionEnd
!macroend
Function .onInit
!ifdef HAVE_MULTI_LANG
!if ${HAVE_MULTI_LANG}
# Select a language (or read from the registry).
!insertmacro MUI_LANGDLL_DISPLAY
!endif
# Check $VIM
ReadEnvStr $INSTDIR "VIM"
${If} $INSTDIR == ${DEFAULT_INSTDIR}
# Check $VIM
ReadEnvStr $3 "VIM"
${If} $3 != ""
StrCpy $INSTDIR $3
${EndIf}
${EndIf}
call CheckOldVim
Pop $3
@@ -721,20 +889,11 @@ Function .onInit
SectionSetInstTypes ${id_section_old_ver} 0
SectionSetText ${id_section_old_ver} ""
${Else}
${If} $INSTDIR == ""
${If} $INSTDIR == ${DEFAULT_INSTDIR}
StrCpy $INSTDIR $3
${EndIf}
${EndIf}
# If did not find a path: use the default dir.
${If} $INSTDIR == ""
!ifdef WIN64
StrCpy $INSTDIR "$PROGRAMFILES64\Vim"
!else
StrCpy $INSTDIR "$PROGRAMFILES\Vim"
!endif
${EndIf}
${If} ${RunningX64}
SetRegView 64
${EndIf}
@@ -747,10 +906,7 @@ Function .onInit
!insertmacro LoadSectionSelection ${id_section_vimrc} "select_vimrc"
!insertmacro LoadSectionSelection ${id_section_pluginhome} "select_pluginhome"
!insertmacro LoadSectionSelection ${id_section_pluginvim} "select_pluginvim"
!ifdef HAVE_VIS_VIM
!insertmacro LoadSectionSelection ${id_section_visvim} "select_visvim"
!endif
!ifdef HAVE_NLS
!if ${HAVE_NLS}
!insertmacro LoadSectionSelection ${id_section_nls} "select_nls"
!endif
# Load the default _vimrc settings from the registry (if any).
@@ -808,12 +964,12 @@ Function SetCustom
# 1st group - Compatibility
${NSD_CreateGroupBox} 0 0 100% 32% $(str_msg_compat_title)
${NSD_CreateGroupBox} 0u 0u 296u 44u $(str_msg_compat_title)
Pop $3
${NSD_CreateLabel} 5% 10% 35% 8% $(str_msg_compat_desc)
${NSD_CreateLabel} 16u 14u 269u 10u $(str_msg_compat_desc)
Pop $3
${NSD_CreateDropList} 18% 19% 75% 8% ""
${NSD_CreateDropList} 42u 26u 237u 13u ""
Pop $vim_nsd_compat
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_vi)
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_vim)
@@ -833,12 +989,12 @@ Function SetCustom
# 2nd group - Key remapping
${NSD_CreateGroupBox} 0 35% 100% 31% $(str_msg_keymap_title)
${NSD_CreateGroupBox} 0u 48u 296u 44u $(str_msg_keymap_title)
Pop $3
${NSD_CreateLabel} 5% 45% 90% 8% $(str_msg_keymap_desc)
${NSD_CreateLabel} 16u 62u 269u 10u $(str_msg_keymap_desc)
Pop $3
${NSD_CreateDropList} 38% 54% 55% 8% ""
${NSD_CreateDropList} 42u 74u 236u 13u ""
Pop $vim_nsd_keymap
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_default)
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_windows)
@@ -852,12 +1008,12 @@ Function SetCustom
# 3rd group - Mouse behavior
${NSD_CreateGroupBox} 0 69% 100% 31% $(str_msg_mouse_title)
${NSD_CreateGroupBox} 0u 95u 296u 44u $(str_msg_mouse_title)
Pop $3
${NSD_CreateLabel} 5% 79% 90% 8% $(str_msg_mouse_desc)
${NSD_CreateLabel} 16u 108u 269u 10u $(str_msg_mouse_desc)
Pop $3
${NSD_CreateDropList} 23% 87% 70% 8% ""
${NSD_CreateDropList} 42u 121u 237u 13u ""
Pop $vim_nsd_mouse
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_default)
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_windows)
@@ -924,10 +1080,7 @@ FunctionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${id_group_plugin} $(str_desc_plugin)
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginhome} $(str_desc_plugin_home)
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginvim} $(str_desc_plugin_vim)
!ifdef HAVE_VIS_VIM
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_visvim} $(str_desc_vis_vim)
!endif
!ifdef HAVE_NLS
!if ${HAVE_NLS}
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_nls} $(str_desc_nls)
!endif
!insertmacro MUI_FUNCTION_DESCRIPTION_END
@@ -937,7 +1090,7 @@ FunctionEnd
# Uninstaller Functions and Sections
Function un.onInit
!ifdef HAVE_MULTI_LANG
!if ${HAVE_MULTI_LANG}
# Get the language from the registry.
!insertmacro MUI_UNGETLANGUAGE
!endif
@@ -947,16 +1100,9 @@ Section "un.$(str_unsection_register)" id_unsection_register
SectionIn RO
# Apparently $INSTDIR is set to the directory where the uninstaller is
# created. Thus the "vim61" directory is included in it.
# created. Thus the "vim91" directory is included in it.
StrCpy $0 "$INSTDIR"
!ifdef HAVE_VIS_VIM
# If VisVim was installed, unregister the DLL.
${If} ${FileExists} "$0\VisVim.dll"
ExecWait "regsvr32.exe /u /s $0\VisVim.dll"
${EndIf}
!endif
# delete the context menu entry and batch files
DetailPrint "$(str_msg_unregistering)"
nsExec::Exec "$0\uninstall.exe -nsis"
@@ -1040,6 +1186,7 @@ Section "un.$(str_unsection_exe)" id_unsection_exe
RMDir /r $0\compiler
RMDir /r $0\doc
RMDir /r $0\ftplugin
RMDir /r $0\import
RMDir /r $0\indent
RMDir /r $0\macros
RMDir /r $0\pack
@@ -1048,11 +1195,9 @@ Section "un.$(str_unsection_exe)" id_unsection_exe
RMDir /r $0\syntax
RMDir /r $0\tools
RMDir /r $0\tutor
!ifdef HAVE_VIS_VIM
RMDir /r $0\VisVim
!endif
RMDir /r $0\lang
RMDir /r $0\keymap
RMDir /r $0\bitmaps
Delete $0\*.exe
Delete $0\*.bat
Delete $0\*.vim
@@ -1062,14 +1207,17 @@ Section "un.$(str_unsection_exe)" id_unsection_exe
MessageBox MB_OK|MB_ICONEXCLAMATION $(str_msg_rm_exe_fail) /SD IDOK
${EndIf}
# No error message if the "vim62" directory can't be removed, the
# No error message if the "vim91" directory can't be removed, the
# gvimext.dll may still be there.
RMDir $0
SectionEnd
# Remove "vimfiles" directory under the specified directory.
!macro RemoveVimfiles dir
${If} ${FileExists} ${dir}\vimfiles
${If} ${FileExists} ${dir}\_viminfo
Delete ${dir}\_viminfo
${EndIf}
${If} ${DirExists} ${dir}\vimfiles
RMDir ${dir}\vimfiles\colors
RMDir ${dir}\vimfiles\compiler
RMDir ${dir}\vimfiles\doc
@@ -1079,6 +1227,9 @@ SectionEnd
RMDir ${dir}\vimfiles\keymap
RMDir ${dir}\vimfiles\plugin
RMDir ${dir}\vimfiles\syntax
${If} ${FileExists} ${dir}\vimfiles\.netrwhist*
Delete ${dir}\vimfiles\.netrwhist*
${EndIf}
RMDir ${dir}\vimfiles
${EndIf}
!macroend
@@ -1086,15 +1237,8 @@ SectionEnd
SectionGroup "un.$(str_ungroup_plugin)" id_ungroup_plugin
Section /o "un.$(str_unsection_plugin_home)" id_unsection_plugin_home
# get the home dir
ReadEnvStr $0 "HOME"
${If} $0 == ""
ReadEnvStr $0 "HOMEDRIVE"
ReadEnvStr $1 "HOMEPATH"
StrCpy $0 "$0$1"
${If} $0 == ""
ReadEnvStr $0 "USERPROFILE"
${EndIf}
${EndIf}
Call un.GetHomeDir
Pop $0
${If} $0 != ""
!insertmacro RemoveVimfiles $0

View File

@@ -1,6 +1,6 @@
# Generated from Makefile: define the version numbers
!ifndef __GVIM_VER__NSH__
!define __GVIM_VER__NSH__
!define VER_MAJOR 8
!define VER_MINOR 2
!define VER_MAJOR 9
!define VER_MINOR 1
!endif

34
nsis/lang/README.txt Normal file
View File

@@ -0,0 +1,34 @@
This directory contains a file with text strings for gVim installer.
It also contains files with translations of the text strings for gVim installer
into different languages.
For translators.
If you want to prepare a translation for the gVim installer, use the file
"english.nsi" as a master file. See the other translation files in this
directory.
Note that in the definition of the MUI_LANGUAGE macro, the name of the language
to be translated must be the English name of the language.
The name of the file with the translation must match the name of the target
language.
Also, when translating strings, pay attention to some restrictions on the
allowable length of strings. For example:
component description field - 117 characters;
description above the drop-down lists on the .vimrc page - 53 characters;
drop-down lists on the .vimrc page - 55 characters.
Characters in this case mean characters of the English alphabet.
If you do not yet have a translated "uganda.txt" file and a main "README.txt"
file, set the following values:
for the license file
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
for the readme.txt file
LangString vim_readme_file 0 "README.txt"
Once you have the translations of these files, then set the values for these
variables similarly to what is done in the other translation files.
Also add the appropriate entries to the "gvim.nsi" file as done for other
languages.

View File

@@ -3,6 +3,7 @@
# danish.nsi: Danish language strings for gvim NSIS installer.
#
# Locale ID : 1030
# Locale Name : da
# fileencoding : UTF-8
# Author : scootergrisen
@@ -14,6 +15,20 @@
LangString ^SetupCaption ${LANG_DANISH} "$(^Name) Setup"
LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_DANISH} "${VIMRT}\doc\uganda.nsis.dax"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_DANISH} "README.dax.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
@@ -79,9 +94,6 @@ LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HO
LangString str_section_plugin_vim ${LANG_DANISH} "Delte"
LangString str_desc_plugin_vim ${LANG_DANISH} "Opret plugin-mapper i Vim-installationsmappe, det bruges af alle på systemet."
LangString str_section_vis_vim ${LANG_DANISH} "VisVim-udvidelser"
LangString str_desc_vis_vim ${LANG_DANISH} "VisVim-udvidelser til integrering i Microsoft Visual Studio."
LangString str_section_nls ${LANG_DANISH} "Understøttelse af modersmål"
LangString str_desc_nls ${LANG_DANISH} "Installer filer til understøttelse af modersmål."

View File

@@ -17,6 +17,20 @@ LangString ^SetupCaption ${LANG_DUTCH} \
LangString ^UninstallCaption ${LANG_DUTCH} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_DUTCH} "${VIMRT}\doc\uganda.nsis.nlx"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_DUTCH} "README.nlx.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
@@ -123,11 +137,6 @@ LangString str_desc_plugin_vim ${LANG_DUTCH} \
"Creëer plugin mappen in Vim installatie map, deze worden gebruikt \
voor iedereen op het systeem."
LangString str_section_vis_vim ${LANG_DUTCH} \
"VisVim extensie"
LangString str_desc_vis_vim ${LANG_DUTCH} \
"VisVim extensie voor Microsoft Visual Studio integratie."
LangString str_section_nls ${LANG_DUTCH} \
"Ondersteuning voor andere talen"
LangString str_desc_nls ${LANG_DUTCH} \

View File

@@ -3,6 +3,7 @@
# english.nsi: English language strings for gvim NSIS installer.
#
# Locale ID : 1033
# Locale Name : en
# fileencoding : UTF-8
# Author : Guopeng Wen, Ken Takata
@@ -16,6 +17,18 @@ LangString ^SetupCaption ${LANG_ENGLISH} \
LangString ^UninstallCaption ${LANG_ENGLISH} \
"$(^Name) Uninstall"
##############################################################################
# License file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file ${LANG_ENGLISH} "${VIMRT}\doc\uganda.nsis.txt"
##############################################################################
# README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file ${LANG_ENGLISH} "README.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
@@ -121,11 +134,6 @@ LangString str_desc_plugin_vim ${LANG_ENGLISH} \
"Create plugin directories in Vim install directory, it is used for \
everybody on the system."
LangString str_section_vis_vim ${LANG_ENGLISH} \
"VisVim Extension"
LangString str_desc_vis_vim ${LANG_ENGLISH} \
"VisVim Extension for Microsoft Visual Studio integration."
LangString str_section_nls ${LANG_ENGLISH} \
"Native Language Support"
LangString str_desc_nls ${LANG_ENGLISH} \

View File

@@ -3,6 +3,7 @@
# german.nsi : German language strings for gvim NSIS installer.
#
# Locale ID : 1031
# Locale Name : de
# fileencoding : UTF-8
# Author : Christian Brabandt, tux
@@ -16,6 +17,20 @@ LangString ^SetupCaption ${LANG_GERMAN} \
LangString ^UninstallCaption ${LANG_GERMAN} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_GERMAN} "${VIMRT}\doc\uganda.nsis.dex"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_GERMAN} "README.dex.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
@@ -122,11 +137,6 @@ LangString str_desc_plugin_vim ${LANG_GERMAN} \
"Plugin-Verzeichnisse im Vim-Installationsverzeichnis erstellen. Diese werden \
für alle Benutzer dieses Systems genutzt."
LangString str_section_vis_vim ${LANG_GERMAN} \
"VisVim-Erweiterung"
LangString str_desc_vis_vim ${LANG_GERMAN} \
"VisVim-Erweiterung zur Integration in Microsoft Visual Studio."
LangString str_section_nls ${LANG_GERMAN} \
"Unterstützung für andere Sprachen"
LangString str_desc_nls ${LANG_GERMAN} \

291
nsis/lang/greek.nsi Normal file
View File

@@ -0,0 +1,291 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# greek.nsi: Greek language strings for gvim NSIS installer.
#
# Locale ID : 1032
# Locale Name : el
# fileencoding : UTF-8
# Author : Christos Longros
!insertmacro MUI_LANGUAGE "Greek"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_GREEK} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_GREEK} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_GREEK} "${VIMRT}\doc\uganda.nsis.elx"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_GREEK} "README.elx.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_GREEK} \
# "Φάκελος προορισμός (Πρέπει να τελειώνει σε $\"vim$\")"
LangString str_show_readme ${LANG_GREEK} \
"Εμφάνιση README μετά την ολοκλήρωση της εγκατάστασης"
# Install types:
LangString str_type_typical ${LANG_GREEK} \
"Typical"
LangString str_type_minimal ${LANG_GREEK} \
"Minimal"
LangString str_type_full ${LANG_GREEK} \
"Full"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_GREEK} \
"Απεγκατάσταση υπάρχουσων εκδόσεων"
LangString str_desc_old_ver ${LANG_GREEK} \
"Απεγκατάσταση υπάρχουσων εκδόσεων Vim από το σύστημά σας."
LangString str_section_exe ${LANG_GREEK} \
"Vim GUI and runtime files"
LangString str_desc_exe ${LANG_GREEK} \
"Vim GUI executables and runtime files. This component is required."
LangString str_section_console ${LANG_GREEK} \
"Vim console program"
LangString str_desc_console ${LANG_GREEK} \
"Console version of Vim (vim.exe)."
LangString str_section_batch ${LANG_GREEK} \
"Δημιουργία αρχείων .bat"
LangString str_desc_batch ${LANG_GREEK} \
"Δημιουργία αρχείων .bat από παράγωγα Vim στον κατάλογο των Windows για \
χρήση γραμμής εντολών."
LangString str_group_icons ${LANG_GREEK} \
"Δημιουργία εικονιδίων Vim"
LangString str_desc_icons ${LANG_GREEK} \
"Δημιουργία εικονιδίων για τον Vim σε διάφορες τοποθεσίες για την διευκόλυνση της προσβασιμότητας."
LangString str_section_desktop ${LANG_GREEK} \
"Στην επιφάνεια εργασίας"
LangString str_desc_desktop ${LANG_GREEK} \
"Δημιουργία εικονιδίων για gVim εκτελέσιμα στην επιφάνεια εργασίας."
LangString str_section_start_menu ${LANG_GREEK} \
"In the Start Menu Programs Folder"
LangString str_desc_start_menu ${LANG_GREEK} \
"Προσθήκη του Vim στον φάκελο προγραμμάτων του μενού εκκίνησης."
#LangString str_section_quick_launch ${LANG_GREEK} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_GREEK} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_GREEK} \
"Add Vim Context Menu"
LangString str_desc_edit_with ${LANG_GREEK} \
"Add Vim to the $\"Open With...$\" context menu list."
#LangString str_section_edit_with32 ${LANG_GREEK} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_GREEK} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_GREEK} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_GREEK} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_GREEK} \
"Δημιουργία προεπιλεγμένων ρυθμίσεων"
LangString str_desc_vim_rc ${LANG_GREEK} \
"Δημιουργία προεπιλεγμένου αρχείου ρυθμίσεων (_vimrc) αν δεν υπάρχει ήδη."
LangString str_group_plugin ${LANG_GREEK} \
"Δημιουργία καταλόγων Plugin"
LangString str_desc_plugin ${LANG_GREEK} \
"Δημιουργία καταλόγων plugin. Οι κατάλογοι Plugin επιτρέπουν την επέκταση του Vim \
με την μεταφορά ενός αρχείου σε έναν κατάλογο."
LangString str_section_plugin_home ${LANG_GREEK} \
"Private"
LangString str_desc_plugin_home ${LANG_GREEK} \
"Δημιουργία καταλόγων plugin στον κατάλογο HOME."
LangString str_section_plugin_vim ${LANG_GREEK} \
"Shared"
LangString str_desc_plugin_vim ${LANG_GREEK} \
"Δημιουργία καταλόγων plugin στον κατάλογο εγκατάστασης του Vim, χρησιμοποιείται από \
όλους στο σύστημα."
LangString str_section_nls ${LANG_GREEK} \
"Native Language Support"
LangString str_desc_nls ${LANG_GREEK} \
"Install files for native language support."
LangString str_unsection_register ${LANG_GREEK} \
"Unregister Vim"
LangString str_desc_unregister ${LANG_GREEK} \
"Unregister Vim from the system."
LangString str_unsection_exe ${LANG_GREEK} \
"Remove Vim Executables/Runtime Files"
LangString str_desc_rm_exe ${LANG_GREEK} \
"Remove all Vim executables and runtime files."
LangString str_ungroup_plugin ${LANG_GREEK} \
"Remove plugin directories"
LangString str_desc_rm_plugin ${LANG_GREEK} \
"Remove the plugin directories if they are empty."
LangString str_unsection_plugin_home ${LANG_GREEK} \
"Private"
LangString str_desc_rm_plugin_home ${LANG_GREEK} \
"Remove the plugin directories from HOME directory."
LangString str_unsection_plugin_vim ${LANG_GREEK} \
"Shared"
LangString str_desc_rm_plugin_vim ${LANG_GREEK} \
"Remove the plugin directories from Vim install directory."
LangString str_unsection_rootdir ${LANG_GREEK} \
"Remove the Vim root directory"
LangString str_desc_rm_rootdir ${LANG_GREEK} \
"Remove the Vim root directory. It contains your Vim configuration files!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_GREEK} \
# "Found $vim_old_ver_count Vim versions on your system.$\r$\n\
# This installer can only handle ${VIM_MAX_OLD_VER} versions \
# at most.$\r$\n\
# Please remove some versions and start again."
#LangString str_msg_invalid_root ${LANG_GREEK} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_GREEK} \
# "Binary path mismatch!$\r$\n$\r$\n\
# Expect the binary path to be $\"$vim_bin_path$\",$\r$\n\
# but system indicates the binary path is $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_GREEK} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_GREEK} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_GREEK} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_GREEK} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_GREEK} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_GREEK} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_GREEK} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_GREEK} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_GREEK} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_GREEK} \
# "Αποτυχία εκτέλεσης της λειτουργίας απεγκατάστασης."
#LangString str_msg_abort_install ${LANG_GREEK} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_GREEK} \
"Η εγκατάσταση απέτυχε. Better luck next time."
LangString str_msg_rm_exe_fail ${LANG_GREEK} \
"Μερικά αρχεία στο $0 δεν έχουν διαγραφεί!$\r$\n\
Πρέπει να το κάνετε χειροκίνητα."
#LangString str_msg_rm_root_fail ${LANG_GREEK} \
# "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αδύνατη η αφαίρεση $\"$vim_install_root$\", δεν είναι κενό!"
LangString str_msg_uninstalling ${LANG_GREEK} \
"Απεγκατάσταση παλιάς έκδοσης the old version..."
LangString str_msg_registering ${LANG_GREEK} \
"Καταχώρηση..."
LangString str_msg_unregistering ${LANG_GREEK} \
"Unregistering..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_GREEK} \
"Επιλογή ρυθμίσεων _vimrc"
LangString str_vimrc_page_subtitle ${LANG_GREEK} \
"Choose the settings for enhancement, keyboard and mouse."
LangString str_msg_compat_title ${LANG_GREEK} \
" Συμπεριφορά Vi / Vim "
LangString str_msg_compat_desc ${LANG_GREEK} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_GREEK} \
"Vi compatible"
LangString str_msg_compat_vim ${LANG_GREEK} \
"Vim original"
LangString str_msg_compat_defaults ${LANG_GREEK} \
"Vim with some enhancements (load defaults.vim)"
LangString str_msg_compat_all ${LANG_GREEK} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_GREEK} \
" Mappings "
LangString str_msg_keymap_desc ${LANG_GREEK} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_GREEK} \
"Do not remap keys (Default)"
LangString str_msg_keymap_windows ${LANG_GREEK} \
"Remap a few keys"
LangString str_msg_mouse_title ${LANG_GREEK} \
" Ποντίκι "
LangString str_msg_mouse_desc ${LANG_GREEK} \
"&Behavior of right and left buttons"
LangString str_msg_mouse_default ${LANG_GREEK} \
"Right: popup menu, Left: visual mode (Default)"
LangString str_msg_mouse_windows ${LANG_GREEK} \
"Right: popup menu, Left: select mode (Windows)"
LangString str_msg_mouse_unix ${LANG_GREEK} \
"Right: extends selection, Left: visual mode (Unix)"

View File

@@ -5,7 +5,7 @@
# Locale ID : 1040
# Locale Name : it
# fileencoding : UTF-8
# Author : Antonio Colombo
# Author : Antonio Colombo, bovirus - revision: 12.05.2023
!insertmacro MUI_LANGUAGE "Italian"
@@ -17,15 +17,29 @@ LangString ^SetupCaption ${LANG_ITALIAN} \
LangString ^UninstallCaption ${LANG_ITALIAN} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_ITALIAN} "${VIMRT}\doc\uganda.nsis.itx"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_ITALIAN} "README.itx.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_ITALIAN} \
# "Cartella d'installazione (il nome deve finire con $\"vim$\")"
# "Cartella installazione (il percorso deve finire con $\"vim$\")"
LangString str_show_readme ${LANG_ITALIAN} \
"Visualizza README al termine dell'installazione"
"Visualizza file README a fine installazione"
# Install types:
LangString str_type_typical ${LANG_ITALIAN} \
@@ -43,125 +57,119 @@ LangString str_type_full ${LANG_ITALIAN} \
##############################################################################
LangString str_section_old_ver ${LANG_ITALIAN} \
"Disinstalla versione/i esistente/i"
"Disinstalla versioni esistenti"
LangString str_desc_old_ver ${LANG_ITALIAN} \
"Disinstalla versione/i esistente/i di Vim dal vostro sistema."
"Disinstalla versioni esistenti di Vim."
LangString str_section_exe ${LANG_ITALIAN} \
"Vim GUI e file di supporto"
"GUI e file supporto Vim"
LangString str_desc_exe ${LANG_ITALIAN} \
"Vim GUI programmi e file di supporto. Questa componente è indispensabile."
"GUI programmi e file di supporto Vim. Questa componente è indispensabile."
LangString str_section_console ${LANG_ITALIAN} \
"Vim console (vim.exe per MS-DOS)"
"Console Vim (vim.exe per MS-DOS)"
LangString str_desc_console ${LANG_ITALIAN} \
"Versione console di Vim (vim.exe)."
LangString str_section_batch ${LANG_ITALIAN} \
"Crea file .bat"
LangString str_desc_batch ${LANG_ITALIAN} \
"Crea file .bat per varianti di Vim nella directory \
"Crea file .bat per varianti di Vim nella cartella \
di Windows, per utilizzo da riga di comando."
LangString str_group_icons ${LANG_ITALIAN} \
"Crea icone per Vim"
"Crea icone Vim"
LangString str_desc_icons ${LANG_ITALIAN} \
"Crea icone per Vim in vari posti, per rendere facile l'accesso."
"Crea icone Vim per rendere facile l'accesso."
LangString str_section_desktop ${LANG_ITALIAN} \
"Sul Desktop"
"Icone sul Desktop"
LangString str_desc_desktop ${LANG_ITALIAN} \
"Crea icone per programma gVim sul desktop."
"Crea icone programma gVim sul desktop."
LangString str_section_start_menu ${LANG_ITALIAN} \
"Nella cartella del menù START"
"Gruppo programmi menù START"
LangString str_desc_start_menu ${LANG_ITALIAN} \
"Aggiungi Vim alle cartelle del menù START."
"Aggiunge gruppo programmi al menù START."
#LangString str_section_quick_launch ${LANG_ITALIAN} \
# "Nella barra di Avvio Veloce"
# "Barra avvio veloce"
#LangString str_desc_quick_launch ${LANG_ITALIAN} \
# "Aggiungi un puntatore a Vim nella barra di Avvio Veloce."
# "Aggiunge un collegamento a Vim nella barra di avvio veloce."
LangString str_section_edit_with ${LANG_ITALIAN} \
"Aggiungi Vim al Menù Contestuale"
"Aggiungi Vim al menù contestuale"
LangString str_desc_edit_with ${LANG_ITALIAN} \
"Aggiungi Vim alla lista contestuale $\"Apri con...$\"."
"Aggiunge Vim al menu contestuale $\"Apri con...$\"."
#LangString str_section_edit_with32 ${LANG_ITALIAN} \
# "Versione a 32-bit"
# "Versione a 32 bit"
#LangString str_desc_edit_with32 ${LANG_ITALIAN} \
# "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
# per applicazioni a 32-bit."
# "Aggiungi Vim al menu contestuale $\"Apri con...$\" \
# per applicazioni a 32 bit."
#LangString str_section_edit_with64 ${LANG_ITALIAN} \
# "Versione a 64-bit"
# "Versione a 64 bit"
#LangString str_desc_edit_with64 ${LANG_ITALIAN} \
# "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
# per applicazioni a 64-bit."
# "Aggiunge Vim al menu contestuale $\"Apri con...$\" \
# per applicazioni a 64 bit."
LangString str_section_vim_rc ${LANG_ITALIAN} \
"Crea configurazione di default"
"Crea configurazione predefinita"
LangString str_desc_vim_rc ${LANG_ITALIAN} \
"Crea un file configurazione di default (_vimrc) se non \
ne esiste già uno."
"Crea, se non ne esiste già uno, un file configurazione predefinito (_vimrc) ."
LangString str_group_plugin ${LANG_ITALIAN} \
"Crea directory per plugin"
"Crea cartella plugin"
LangString str_desc_plugin ${LANG_ITALIAN} \
"Crea directory per plugin. Consentono di aggiungere funzionalità \
a Vim mettendo file in una di queste directory."
"Crea cartella plugin. I plugin consentono di aggiungere funzionalità \
a Vim copiando i relativi file in una di queste cartelle."
LangString str_section_plugin_home ${LANG_ITALIAN} \
"Private"
"Privata"
LangString str_desc_plugin_home ${LANG_ITALIAN} \
"Crea directory per plugin nella directory HOME."
"Crea cartella plugin nella cartella HOME."
LangString str_section_plugin_vim ${LANG_ITALIAN} \
"Condivise"
"Condivisa"
LangString str_desc_plugin_vim ${LANG_ITALIAN} \
"Crea directory per plugin nella directory di installazione di Vim \
"Crea cartella plugin nella cartella di installazione di Vim \
per uso da parte di tutti gli utenti di questo sistema."
LangString str_section_vis_vim ${LANG_ITALIAN} \
"Estensione VisVim"
LangString str_desc_vis_vim ${LANG_ITALIAN} \
"Estensione VisVim per integrazione con Microsoft Visual Studio."
LangString str_section_nls ${LANG_ITALIAN} \
"Supporto Multilingue (NLS)"
"Supporto nativo lingua (NLS)"
LangString str_desc_nls ${LANG_ITALIAN} \
"Installa file per supportare messaggi in diverse lingue."
"Installa i file per il supporto nativo multilingua."
LangString str_unsection_register ${LANG_ITALIAN} \
"Togli Vim dal Registry"
"Rimuovi Vim dal registro"
LangString str_desc_unregister ${LANG_ITALIAN} \
"Togli Vim dal Registry di configurazione sistema."
"Rimuove Vim dal registro di configurazione sistema."
LangString str_unsection_exe ${LANG_ITALIAN} \
"Cancella programmi/file di supporto Vim"
"Elimina programmi/file di supporto Vim"
LangString str_desc_rm_exe ${LANG_ITALIAN} \
"Cancella tutti i programmi/file di supporto di Vim."
"Elimina tutti i programmi/file di supporto di Vim."
LangString str_ungroup_plugin ${LANG_ITALIAN} \
"Cancella le directory per plugin"
"Elimina cartelle plugin"
LangString str_desc_rm_plugin ${LANG_ITALIAN} \
"Cancella le directory per plugin se sono vuote."
"Elimina le cartelle plugin se sono vuote."
LangString str_unsection_plugin_home ${LANG_ITALIAN} \
"Private"
LangString str_desc_rm_plugin_home ${LANG_ITALIAN} \
"Cancella le directory per plugin dalla directory HOME."
"Elimina cartelle plugin nella cartella HOME."
LangString str_unsection_plugin_vim ${LANG_ITALIAN} \
"Condivise"
LangString str_desc_rm_plugin_vim ${LANG_ITALIAN} \
"Cancella le directory per plugin dalla directory di installazione di Vim."
"Elimina cartelle plugin nella cartella di installazione di Vim."
LangString str_unsection_rootdir ${LANG_ITALIAN} \
"Cancella la directory di installazione di Vim"
"Elimina la cartella di installazione di Vim"
LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
"Cancella la directory di installazione di Vim. Contiene i vostri file di configurazione!"
"Elimina la cartella di installazione di Vim. Contiene i file di configurazione!"
##############################################################################
@@ -169,75 +177,74 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
##############################################################################
#LangString str_msg_too_many_ver ${LANG_ITALIAN} \
# "Trovate $vim_old_ver_count versioni di Vim sul vostro sistema.$\r$\n\
# "Rilevate nel sistema $vim_old_ver_count versioni di Vim.$\r$\n\
# Questo programma di installazione può gestire solo \
# ${VIM_MAX_OLD_VER} versioni.$\r$\n\
# Disinstallate qualche versione precedente e ricominciate."
# Disinstalla qualche versione precedente e ricomincia."
#LangString str_msg_invalid_root ${LANG_ITALIAN} \
# "Nome di directory di installazione non valida: $vim_install_root!$\r$\n\
# "Nome cartella di installazione non valida: $vim_install_root!$\r$\n\
# Dovrebbe terminare con $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_ITALIAN} \
# "Conflitto nella directory di installazione!$\r$\n$\r$\n\
# Cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
# ma il sistema segnala invece $\"$INSTDIR$\"."
# "Conflitto nella cartella di installazione!$\r$\n$\r$\n\
# La cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
# ma il sistema indica che il percorso è $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_ITALIAN} \
# "Vim ancora in esecuzione sul vostro sistema.$\r$\n\
# Chiudete tutte le sessioni attive di Vim per continuare."
# "Vim è ancora in esecuzione nel sistema.$\r$\n\
# Per continuare chiudi tutte le sessioni attive di Vim."
#LangString str_msg_register_ole ${LANG_ITALIAN} \
# "Tentativo di registrazione di Vim con OLE. \
# Non c messaggio che indica se è riuscito o no."
# Non ci sono messaggi che indicano se l'operazione è riuscita."
#LangString str_msg_unreg_ole ${LANG_ITALIAN} \
# "Tentativo di togliere dal Registry Vim con OLE. \
# Non c messaggio che indica se è riuscito o no."
# "Tentativo di rimozione di VIM dal registro via OLE. \
# Non ci sono messaggi che indicano se l'operazione è riuscita."
#LangString str_msg_rm_start ${LANG_ITALIAN} \
# "Disinstallazione della seguente versione:"
# "Disinstallazione della versione:"
#LangString str_msg_rm_fail ${LANG_ITALIAN} \
# "Disinstallazione non riuscita per la seguente versione:"
# "Disinstallazione non riuscita per la versione:"
#LangString str_msg_no_rm_key ${LANG_ITALIAN} \
# "Non riesco a trovare chiave di disinstallazione nel Registry."
# "Impossibile trovare chiave disinstallazione nel registro."
#LangString str_msg_no_rm_reg ${LANG_ITALIAN} \
# "Non riesco a trovare programma disinstallazione nel Registry."
# "Impossibile trovare programma disinstallazione nel registro."
#LangString str_msg_no_rm_exe ${LANG_ITALIAN} \
# "Non riesco a trovare programma disinstallazione."
# "Impossibile trovare programma disinstallazione."
#LangString str_msg_rm_copy_fail ${LANG_ITALIAN} \
# "Non riesco a copiare programma disinstallazione a una \
# directory temporanea."
# "Impossibile copiare il programma disinstallazione in una cartella temporanea."
#LangString str_msg_rm_run_fail ${LANG_ITALIAN} \
# "Non riesco a eseguire programma disinstallazione."
# "Impossibile eseguire programma disinstallazione."
#LangString str_msg_abort_install ${LANG_ITALIAN} \
# "Il programma di disinstallazione verrà chiuso senza aver fatto nulla."
# "Il programma di disinstallazione verrà chiuso senza aver eseguito nessuna modifica."
LangString str_msg_install_fail ${LANG_ITALIAN} \
"Installazione non riuscita. Miglior fortuna alla prossima!"
"Installazione non riuscita."
LangString str_msg_rm_exe_fail ${LANG_ITALIAN} \
"Alcuni file in $0 non sono stati cancellati!$\r$\n\
Dovreste cancellarli voi stessi."
"Alcuni file in $0 non sono stati eliminati!$\r$\n\
I file vanno rimossi manualmente."
#LangString str_msg_rm_root_fail ${LANG_ITALIAN} \
# "AVVISO: Non posso cancellare $\"$vim_install_root$\", non è vuota!"
# "AVVISO: impossibile eliminare $\"$vim_install_root$\", non è vuota!"
LangString str_msg_uninstalling ${LANG_ITALIAN} \
"Sto disinstallando la vecchia versione..."
"Disinstallazione vecchia versione Vim..."
LangString str_msg_registering ${LANG_ITALIAN} \
"Sto aggiungendo Vim al Registry..."
"Aggiunta di Vim al registro..."
LangString str_msg_unregistering ${LANG_ITALIAN} \
"Sto togliendo Vim dal Registry..."
"Rimozione di Vim dal registro..."
##############################################################################
@@ -247,37 +254,37 @@ LangString str_msg_unregistering ${LANG_ITALIAN} \
LangString str_vimrc_page_title ${LANG_ITALIAN} \
"Scelta impostazioni _vimrc"
LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
"Scelta impostazioni per funzionalità ulteriori, tastiera e mouse."
"Scelta impostazioni funzionalità aggiuntive, tastiera e mouse."
LangString str_msg_compat_title ${LANG_ITALIAN} \
" comportamento come Vi / Vim "
" Comportamento come Vi / Vim "
LangString str_msg_compat_desc ${LANG_ITALIAN} \
"&Compatibilità e funzionalità ulteriori"
"&Compatibilità e funzionalità"
LangString str_msg_compat_vi ${LANG_ITALIAN} \
"Compatibile con Vi"
"Compatibile Vi"
LangString str_msg_compat_vim ${LANG_ITALIAN} \
"Vim originale"
LangString str_msg_compat_defaults ${LANG_ITALIAN} \
"Vim con alcune funzionalità ulteriori (esecuzione defaults.vim)"
"Vim con alcune funzionalità aggiuntive (defaults.vim)"
LangString str_msg_compat_all ${LANG_ITALIAN} \
"Vim con tutte le funzionalità ulteriori (esecuzione vimrc_example.vim) (Default)"
"Vim con tutte le funzionalità aggiuntive (vimrc_example.vim) (predefinito)"
LangString str_msg_keymap_title ${LANG_ITALIAN} \
" Mappature "
" Mappature tastiera "
LangString str_msg_keymap_desc ${LANG_ITALIAN} \
"&Rimappatura di alcuni tasti per Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
"&Rimappa alcuni tasti Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
LangString str_msg_keymap_default ${LANG_ITALIAN} \
"Non effettuare rimappature di tasti (Default)"
"Non rimappare i tasti (predefinito)"
LangString str_msg_keymap_windows ${LANG_ITALIAN} \
"Rimappare solo alcuni tasti"
"Rimappa solo alcuni tasti"
LangString str_msg_mouse_title ${LANG_ITALIAN} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_ITALIAN} \
"&Comportamento dei pulsanti destro e sinistro"
"&Comportamento pulsanti destro/sinistro"
LangString str_msg_mouse_default ${LANG_ITALIAN} \
"Destro: popup menu, Sinistro: modalità visuale (Default)"
"Destro: menu popup, Sinistro: modalità visuale (predefinito)"
LangString str_msg_mouse_windows ${LANG_ITALIAN} \
"Destro: popup menu, Sinistro: seleziona modalità (Windows)"
"Destro: menu popup, Sinistro: selezione modalità (Windows)"
LangString str_msg_mouse_unix ${LANG_ITALIAN} \
"Destro: estende selezione, Sinistro: modalità visuale (Unix)"
"Destro: estensione selezione, Sinistro: modalità visuale (Unix)"

View File

@@ -3,6 +3,7 @@
# japanese.nsi: Japanese language strings for gvim NSIS installer.
#
# Locale ID : 1041
# Locale Name : ja
# fileencoding : UTF-8
# Author : Ken Takata
@@ -26,6 +27,20 @@ LangString ^SpaceRequired ${LANG_JAPANESE} \
LangString ^InstallBtn ${LANG_JAPANESE} \
"インストール(&I)"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_JAPANESE} "${VIMRT}\doc\uganda.nsis.jax"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_JAPANESE} "README.jax.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
@@ -128,11 +143,6 @@ LangString str_section_plugin_vim ${LANG_JAPANESE} \
LangString str_desc_plugin_vim ${LANG_JAPANESE} \
"プラグインディレクトリを Vim のインストールディレクトリに作成します。システムの全員で共有されます。"
LangString str_section_vis_vim ${LANG_JAPANESE} \
"VisVim 拡張"
LangString str_desc_vis_vim ${LANG_JAPANESE} \
"Microsoft Visual Studio 統合用の VisVim 拡張。"
LangString str_section_nls ${LANG_JAPANESE} \
"多言語サポート"
LangString str_desc_nls ${LANG_JAPANESE} \

View File

@@ -3,7 +3,7 @@
# russian.nsi: Russian language strings for gvim NSIS installer.
#
# Locale ID : 1049
# Locale name : ru-RU
# Locale name : ru
# fileencoding : UTF-8
# Author : Restorer
@@ -17,25 +17,37 @@ LangString ^SetupCaption ${LANG_RUSSIAN} \
LangString ^UninstallCaption ${LANG_RUSSIAN} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file ${LANG_RUSSIAN} "${VIMRT}\doc\uganda.nsis.rux"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file ${LANG_RUSSIAN} "README.rux.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_RUSSIAN} \
# "Маршрут к каталогу установки (должен оканчиваться каталогом $\"vim$\")"
# "Маршрут установки программы (должен завершаться каталогом $\"vim$\")"
LangString str_show_readme ${LANG_RUSSIAN} \
"После окончания установки ознакомиться с кратким описанием"
" Ознакомиться с кратким описанием программы"
# Install types:
LangString str_type_typical ${LANG_RUSSIAN} \
"Стандартная"
"Стандартный"
LangString str_type_minimal ${LANG_RUSSIAN} \
"Минимальная"
"Минимальный"
LangString str_type_full ${LANG_RUSSIAN} \
"Полная"
"Полный"
##############################################################################
@@ -50,59 +62,61 @@ LangString str_desc_old_ver ${LANG_RUSSIAN} \
LangString str_section_exe ${LANG_RUSSIAN} \
"Графический интерфейс и вспомогательные файлы"
LangString str_desc_exe ${LANG_RUSSIAN} \
"Графический интерфейс программы Vim и все необходимые для этого файлы. \
"Исполняемые файлы и все необходимые для работы программы файлы. \
Это обязательный компонент"
LangString str_section_console ${LANG_RUSSIAN} \
"Консольная программа Vim"
LangString str_desc_console ${LANG_RUSSIAN} \
"Вариант редактора Vim (vim.exe), используемый в командной оболочке"
"Вариант редактора Vim (vim.exe), используемый для работы в командной \
оболочке"
LangString str_section_batch ${LANG_RUSSIAN} \
"Создать командные файлы"
LangString str_desc_batch ${LANG_RUSSIAN} \
"Создание командных bat-файлов позволяющих работать с редактором \
Vim из командной строки Windows"
"Создание командных bat-файлов в каталоге Windows для работы с редактором \
Vim из командной строки"
LangString str_group_icons ${LANG_RUSSIAN} \
"Создать ярлыки для редактора Vim"
LangString str_desc_icons ${LANG_RUSSIAN} \
"Создание ярлыков редактора Vim для облегчения запуска программы"
"Создание ярлыков программы для удобного и быстрого запуска редактора Vim"
LangString str_section_desktop ${LANG_RUSSIAN} \
"На Рабочем столе"
LangString str_desc_desktop ${LANG_RUSSIAN} \
"Создание ярлыков программы Gvim на Рабочем столе"
"Создание ярлыков редактора Vim на Рабочем столе"
LangString str_section_start_menu ${LANG_RUSSIAN} \
"В меню кнопки Пуск"
LangString str_desc_start_menu ${LANG_RUSSIAN} \
"Создание ярлыков программы Gvim в меню кнопки Пуск"
"Создание ярлыков редактора Vim в меню кнопки Пуск"
#LangString str_section_quick_launch ${LANG_RUSSIAN} \
# "На панели быстрого запуска"
#LangString str_desc_quick_launch ${LANG_RUSSIAN} \
# "Создание ярлыков программы GVim на панели быстрого запуска"
# "Создание ярлыков редактора Vim на панели быстрого запуска"
LangString str_section_edit_with ${LANG_RUSSIAN} \
"В контекстном меню"
"Запуск редактора Vim из контекстного меню"
LangString str_desc_edit_with ${LANG_RUSSIAN} \
"Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню"
"Добавление необходимой строки в пункт контекстного меню \
«Открыть с помощью...»"
#LangString str_section_edit_with32 ${LANG_RUSSIAN} \
# "32-разрядная версия программы"
# "Для 32-разрядной версии программы"
#LangString str_desc_edit_with32 ${LANG_RUSSIAN} \
# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
# для 32-разрядных приложений"
# "Добавление в пункт контекстного меню \
# «Открыть с помощью...» 32-разрядных приложений"
#LangString str_section_edit_with64 ${LANG_RUSSIAN} \
# "64-разрядная версия программы"
# "Для 64-разрядной версии программы"
#LangString str_desc_edit_with64 ${LANG_RUSSIAN} \
# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
# для 64-разрядных приложений"
# "Добавление в пункт контекстного меню \
# «Открыть с помощью...» 64-разрядных приложений"
LangString str_section_vim_rc ${LANG_RUSSIAN} \
"Настройки программы по умолчанию"
"Начальная настройка программы"
LangString str_desc_vim_rc ${LANG_RUSSIAN} \
"Создание файла _vimrc с предустановленными настройками, если нет других \
файлов настроек"
@@ -110,30 +124,31 @@ LangString str_desc_vim_rc ${LANG_RUSSIAN} \
LangString str_group_plugin ${LANG_RUSSIAN} \
"Создать каталог для подключаемых модулей"
LangString str_desc_plugin ${LANG_RUSSIAN} \
"Создание каталога для размещения подключаемых модулей, которые расширяют \
возможности редактора Vim"
"Создание каталога для подключаемых модулей, которые расширяют возможности \
редактора Vim"
LangString str_section_plugin_home ${LANG_RUSSIAN} \
"Личный каталог"
LangString str_desc_plugin_home ${LANG_RUSSIAN} \
"Создание каталога для подключаемых модулей в домашнем каталоге пользователя"
"В домашнем каталоге пользователя. Модули в этом каталоге доступны только \
этому пользователю"
LangString str_section_plugin_vim ${LANG_RUSSIAN} \
"Общий каталог"
LangString str_desc_plugin_vim ${LANG_RUSSIAN} \
"Создание каталога для подключаемых модулей в каталоге установки редактора Vim. \
Модули в этом каталоге будут доступны для любого пользователя \
зарегистрировавшегося в системе"
"В каталоге установки редактора Vim. Модули в этом каталоге доступны для \
всех пользователей"
LangString str_section_vis_vim ${LANG_RUSSIAN} \
"Подключаемый модуль VisVim"
LangString str_desc_vis_vim ${LANG_RUSSIAN} \
"Подключаемый модуль VisVim используется для интеграции с Microsoft Visual Studio"
#LangString str_section_vis_vim ${LANG_RUSSIAN} \
# "Подключаемый модуль VisVim"
#LangString str_desc_vis_vim ${LANG_RUSSIAN} \
# "Подключаемый модуль VisVim используется для интеграции с \
# Microsoft Visual Studio"
LangString str_section_nls ${LANG_RUSSIAN} \
"Поддержка региональных языков"
LangString str_desc_nls ${LANG_RUSSIAN} \
"Установка файлов для поддержки региональных языков операционной системы"
"Установка файлов для работы программе на различных региональных языках"
LangString str_unsection_register ${LANG_RUSSIAN} \
"Отменить регистрацию компонентов программы Vim"
@@ -163,8 +178,8 @@ LangString str_desc_rm_plugin_vim ${LANG_RUSSIAN} \
LangString str_unsection_rootdir ${LANG_RUSSIAN} \
"Удалить основной каталог программы Vim"
LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
"Удаление основного каталога программы Vim. В этом каталоге находятся файлы \
настроек!"
"Удаление основного каталога программы Vim. В этом каталоге находятся \
файлы настроек!"
##############################################################################
@@ -204,10 +219,11 @@ LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
# "Произошёл сбой при выполнении удаления следующих версий программы:"
#LangString str_msg_no_rm_key ${LANG_RUSSIAN} \
# "Не удалось найти раздел реестра, содержащий информацию об удалении программы"
# "Не удалось найти раздел реестра, содержащий информацию об удалении \
# программы"
#LangString str_msg_no_rm_reg ${LANG_RUSSIAN} \
# "Не удалось найти программу выполняющую удаление, указанную в разделе реестра"
# "Не удалось найти указанную в реестре программу, которая выполняет удаление"
#LangString str_msg_no_rm_exe ${LANG_RUSSIAN} \
# "Отсутствуют права на доступ к программе, выполняющей удаление"
@@ -224,14 +240,15 @@ LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
LangString str_msg_install_fail ${LANG_RUSSIAN} \
"Произошла ошибка при установке программы. Попробуйте повторить установку \
немного попозже"
# когда луна будет в другой фазе и ветер должен дуть с юго‐запада
# когда Луна будет в другой фазе и ветер должен дуть с юго‐запада
LangString str_msg_rm_exe_fail ${LANG_RUSSIAN} \
"Некоторые файлы не были удалены из каталога $0 $\r$\n\
Необходимо выполнить их удаление самостоятельно"
#LangString str_msg_rm_root_fail ${LANG_RUSSIAN} \
# "Внимание! В каталоге $\"$vim_install_root$\" содержатся файлы. Удаление каталога не выполнено"
# "Внимание! В каталоге $\"$vim_install_root$\" содержатся файлы. Удаление \
# каталога не выполнено"
LangString str_msg_uninstalling ${LANG_RUSSIAN} \
"Удаление предыдущих версий программ..."
@@ -250,7 +267,8 @@ LangString str_msg_unregistering ${LANG_RUSSIAN} \
LangString str_vimrc_page_title ${LANG_RUSSIAN} \
"Установка параметров программы"
LangString str_vimrc_page_subtitle ${LANG_RUSSIAN} \
"Параметры, используемые для клавиатуры, «мыши» и функциональности программы"
"Параметры, используемые для клавиатуры, манипулятора «мышь» и \
функциональности программы"
LangString str_msg_compat_title ${LANG_RUSSIAN} \
" Варианты использования программы "
@@ -261,27 +279,26 @@ LangString str_msg_compat_vi ${LANG_RUSSIAN} \
LangString str_msg_compat_vim ${LANG_RUSSIAN} \
"Работа в варианте функциональности редактора Vim"
LangString str_msg_compat_defaults ${LANG_RUSSIAN} \
"Работа редактора Vim с некоторыми улучшениями (файл defaults.vim)"
"Включить некоторые улучшения (из файла defaults.vim)"
LangString str_msg_compat_all ${LANG_RUSSIAN} \
"Работа редактора Vim со всеми улучшениями (файл vimrc_example.vim). \
Используется по умолчанию"
"Включить все улучшения (из файла vimrc_example.vim). Стандартно"
LangString str_msg_keymap_title ${LANG_RUSSIAN} \
" Клавиатурные команды "
LangString str_msg_keymap_desc ${LANG_RUSSIAN} \
"Клавиатурные команды используемые в ОС Windows (CTRL+V, CTRL+C, CTRL+S, CTRL+F и т. п.)"
"Изменение клавиатурных команд CTRL+V, CTRL+C, CTRL+S, CTRL+F и т. п."
LangString str_msg_keymap_default ${LANG_RUSSIAN} \
"Не изменять клавиатурные команды. Использовать принятые в редакторе Vim"
"Без изменения, использовать как принято в редакторе Vim"
LangString str_msg_keymap_windows ${LANG_RUSSIAN} \
"Изменить указанные клавиатурные команды"
"Изменить и использовать как принято в ОС Windows"
LangString str_msg_mouse_title ${LANG_RUSSIAN} \
" Манипулятор «мышь» "
LangString str_msg_mouse_desc ${LANG_RUSSIAN} \
"Действий правой и левой кнопки манипулятора «мышь»"
"Действия правой и левой кнопки манипулятора «мышь»"
LangString str_msg_mouse_default ${LANG_RUSSIAN} \
"Правая кнопка — всплывающее меню, левая кнопка — режим визуальный"
"Правая — всплывающее меню, левая — режим визуальный (Vim)"
LangString str_msg_mouse_windows ${LANG_RUSSIAN} \
"Правая кнопка — всплывающее меню, левая кнопка — режим выборки (как в ОС Windows)"
"Правая — всплывающее меню, левая — режим выборки (Windows)"
LangString str_msg_mouse_unix ${LANG_RUSSIAN} \
"Правая кнопка — расширяемый режим выбора, левая кнопка — режим визуальный (как в UNIXподобных ОС)"
"Правая — расширение выборки, левая — режим визуальный (UNIX)"

View File

@@ -3,10 +3,11 @@
# serbian.nsi: Serbian language strings for gvim NSIS installer.
#
# Locale ID : 3098
# Locale Name : sr
# fileencoding : UTF-8
# Author : Ivan Pešić
!insertmacro MUI_LANGUAGE "Српски"
!insertmacro MUI_LANGUAGE "Serbian"
# Overwrite the default translation.
@@ -16,6 +17,20 @@ LangString ^SetupCaption ${LANG_SERBIAN} \
LangString ^UninstallCaption ${LANG_SERBIAN} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_SERBIAN} "${VIMRT}\doc\uganda.nsis.srx"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_SERBIAN} "README.srx.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
@@ -121,11 +136,6 @@ LangString str_desc_plugin_vim ${LANG_SERBIAN} \
"Креира директоријуме додатака у Vim инсталационом директоријуму, користе их сви \
на систему."
LangString str_section_vis_vim ${LANG_SERBIAN} \
"VisVim проширење"
LangString str_desc_vis_vim ${LANG_SERBIAN} \
"VisVim проширење за Microsoft Visual Studio интеграцију."
LangString str_section_nls ${LANG_SERBIAN} \
"Подршка за домаћи језик"
LangString str_desc_nls ${LANG_SERBIAN} \

View File

@@ -4,6 +4,7 @@
# installer.
#
# Locale ID : 2052
# Locale Name : cn
# fileencoding : UTF-8
# Author : Guopeng Wen, David Liu
@@ -17,6 +18,21 @@ LangString ^SetupCaption ${LANG_SIMPCHINESE} \
LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_SIMPCHINESE} \
# "${VIMRT}\doc\uganda.nsis.cnx"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.cnx.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
@@ -120,11 +136,6 @@ LangString str_desc_plugin_vim ${LANG_SIMPCHINESE} \
"在 Vim 安装目录下创建(空的)插件目录结构,系统上所有用户都能使用安装在\
该目录下的扩展插件。"
LangString str_section_vis_vim ${LANG_SIMPCHINESE} \
"VisVim 插件"
LangString str_desc_vis_vim ${LANG_SIMPCHINESE} \
"安装与 Visual Studio 集成的 VisVim 插件。"
LangString str_section_nls ${LANG_SIMPCHINESE} \
"安装多语言支持"
LangString str_desc_nls ${LANG_SIMPCHINESE} \

View File

@@ -4,6 +4,7 @@
# installer.
#
# Locale ID : 1028
# Locale Name : tw
# fileencoding : UTF-8
# Author : Guopeng Wen
@@ -17,6 +18,21 @@ LangString ^SetupCaption ${LANG_TRADCHINESE} \
LangString ^UninstallCaption ${LANG_TRADCHINESE} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_TRADCHINESE} \
# "${VIMRT}\doc\uganda.nsis.twx"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_TRADCHINESE} "README.twx.txt"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
@@ -121,11 +137,6 @@ LangString str_desc_plugin_vim ${LANG_TRADCHINESE} \
"在 Vim 安裝資料夾下建立(空的)插件資料夾結構,電腦上所有用戶都能使用安裝\
在該資料夾里的擴展插件。"
LangString str_section_vis_vim ${LANG_TRADCHINESE} \
"安裝 VisVim 插件"
LangString str_desc_vis_vim ${LANG_TRADCHINESE} \
"VisVim 是用于與微軟 Microsoft Visual Studio 軟體進行整合的插件。"
LangString str_section_nls ${LANG_TRADCHINESE} \
"安裝本地語言支持"
LangString str_desc_nls ${LANG_TRADCHINESE} \

View File

@@ -1,4 +1,9 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# turkish.nsi: Turkish language strings for gvim NSIS installer.
#
# Locale ID : 1055
# Locale Name : tr
# fileencoding : UTF-8
# Author : Emir SARI
@@ -10,7 +15,23 @@ LangString ^SetupCaption ${LANG_TURKISH} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_TURKISH} \
"$(^Name) Uninstall"
##############################################################################
# Translated license file for the license page {{{1
##############################################################################
LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
#LicenseLangString page_lic_file ${LANG_TURKISH} "${VIMRT}\doc\uganda.nsis.trx"
##############################################################################
# Translated README.txt file, which is opened after installation {{{1
##############################################################################
LangString vim_readme_file 0 "README.txt"
#LangString vim_readme_file ${LANG_TURKISH} "README.trx.txt"
##############################################################################
LangString str_show_readme ${LANG_TURKISH} \
"Kurulum bittikten sonra README dosyasını"
@@ -23,7 +44,7 @@ LangString str_type_minimal ${LANG_TURKISH} \
LangString str_type_full ${LANG_TURKISH} \
"Tam"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
@@ -62,12 +83,12 @@ LangString str_section_start_menu ${LANG_TURKISH} \
"Başlat Menüsü - Programlar klasöründe"
LangString str_desc_start_menu ${LANG_TURKISH} \
"Vim kısayolunu Başlat Menüsüne ekler."
LangString str_section_edit_with ${LANG_TURKISH} \
"Vim ile Aç"
LangString str_desc_edit_with ${LANG_TURKISH} \
"Vim'i $\"Birlikte $\" sağ tık menüsüne ekler."
LangString str_section_vim_rc ${LANG_TURKISH} \
"Bir yapılandırma dosyası oluştur"
LangString str_desc_vim_rc ${LANG_TURKISH} \
@@ -90,11 +111,6 @@ LangString str_desc_plugin_vim ${LANG_TURKISH} \
"Eklenti dizinlerini Vim yükleme dizininde oluşturur. Bu eklentilerden \
bilgisayarın tüm kullanıcıları yararlanabilir."
LangString str_section_vis_vim ${LANG_TURKISH} \
"VisVim eklentisi"
LangString str_desc_vis_vim ${LANG_TURKISH} \
"Microsoft Visual Studio entegrasyonu için VisVim eklentisi"
LangString str_section_nls ${LANG_TURKISH} \
"Ek dil desteği"
LangString str_desc_nls ${LANG_TURKISH} \
@@ -129,14 +145,14 @@ LangString str_unsection_rootdir ${LANG_TURKISH} \
"Vim kök dizinini kaldır"
LangString str_desc_rm_rootdir ${LANG_TURKISH} \
"Vim kök dizinini kaldırır. Bu dizin Vim yapılandırma dosyalarını içerir!"
LangString str_msg_install_fail ${LANG_TURKISH} \
"Yükleme başarısız oldu. Yeniden deneyin."
LangString str_msg_rm_exe_fail ${LANG_TURKISH} \
"$0 içindeki bazı dosyalar silinemedi!$\r$\n\
Bu dosyaları el ile kaldırmalısınız."
LangString str_msg_uninstalling ${LANG_TURKISH} \
"Eski sürüm kaldırılıyor..."

View File

@@ -3,11 +3,9 @@
prefix=stock_
list=
for file in "$@"
do
name=`echo "$file" | sed 's|-|_|g; s|^.*/||; s|\..*$||'`
for file in "$@"; do
name=$(echo "$file" | sed 's|-|_|g; s|^.*/||; s|\..*$||')
list="$list $prefix$name $file"
done
gdk-pixbuf-csource --raw --static --build-list $list

View File

@@ -67,13 +67,13 @@ if exists ('g:ada_with_gnat_project_files')
endfor
endif
" Section: add standart exception {{{2
" Section: add standard exception {{{2
"
for Item in ['Constraint_Error', 'Program_Error', 'Storage_Error', 'Tasking_Error', 'Status_Error', 'Mode_Error', 'Name_Error', 'Use_Error', 'Device_Error', 'End_Error', 'Data_Error', 'Layout_Error', 'Length_Error', 'Pattern_Error', 'Index_Error', 'Translation_Error', 'Time_Error', 'Argument_Error', 'Tag_Error', 'Picture_Error', 'Terminator_Error', 'Conversion_Error', 'Pointer_Error', 'Dereference_Error', 'Update_Error']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'exception',
\ 'info': 'Ada standart exception.',
\ 'info': 'Ada standard exception.',
\ 'kind': 'x',
\ 'icase': 1}]
endfor
@@ -210,7 +210,7 @@ function ada#Word (...)
let l:Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
" Cope with tag searching for items in comments; if we are, don't loop
" backards looking for previous lines
" backwards looking for previous lines
if l:Column_Nr > strlen(l:Line)
" We were in a comment
let l:Line = getline(l:Line_Nr)

View File

@@ -14,7 +14,7 @@
" 15.10.2006 MK Bram's suggestion for runtime integration
" 05.11.2006 MK Bram suggested not to use include protection for
" autoload
" 05.11.2006 MK Bram suggested agaist using setlocal omnifunc
" 05.11.2006 MK Bram suggested against using setlocal omnifunc
" 05.11.2006 MK Bram suggested to save on spaces
" Help Page: ft-ada-omni
"------------------------------------------------------------------------------

View File

@@ -0,0 +1,95 @@
" Support for bitbake indenting, see runtime/indent/bitbake.vim
function s:is_bb_python_func_def(lnum)
let stack = synstack(a:lnum, 1)
if len(stack) == 0
return 0
endif
return synIDattr(stack[0], "name") == "bbPyFuncDef"
endfunction
function bitbake#Indent(lnum)
if !has('syntax_items')
return -1
endif
let stack = synstack(a:lnum, 1)
if len(stack) == 0
return -1
endif
let name = synIDattr(stack[0], "name")
" TODO: support different styles of indentation for assignments. For now,
" we only support like this:
" VAR = " \
" value1 \
" value2 \
" "
"
" i.e. each value indented by shiftwidth(), with the final quote " completely unindented.
if name == "bbVarValue"
" Quote handling is tricky. kernel.bbclass has this line for instance:
" EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" " HOSTCPP="${BUILD_CPP}""
" Instead of trying to handle crazy cases like that, just assume that a
" double-quote on a line by itself (following an assignment) means the
" user is closing the assignment, and de-dent.
if getline(a:lnum) =~ '^\s*"$'
return 0
endif
let prevstack = synstack(a:lnum - 1, 1)
if len(prevstack) == 0
return -1
endif
let prevname = synIDattr(prevstack[0], "name")
" Only indent if there was actually a continuation character on
" the previous line, to avoid misleading indentation.
let prevlinelastchar = synIDattr(synID(a:lnum - 1, col([a:lnum - 1, "$"]) - 1, 1), "name")
let prev_continued = prevlinelastchar == "bbContinue"
" Did the previous line introduce an assignment?
if index(["bbVarDef", "bbVarFlagDef"], prevname) != -1
if prev_continued
return shiftwidth()
endif
endif
if !prev_continued
return 0
endif
" Autoindent can take it from here
return -1
endif
if index(["bbPyDefRegion", "bbPyFuncRegion"], name) != -1
let ret = python#GetIndent(a:lnum, function('s:is_bb_python_func_def'))
" Should normally always be indented by at least one shiftwidth; but allow
" return of -1 (defer to autoindent) or -2 (force indent to 0)
if ret == 0
return shiftwidth()
elseif ret == -2
return 0
endif
return ret
endif
" TODO: GetShIndent doesn't detect tasks prepended with 'fakeroot'
" Need to submit a patch upstream to Vim to provide an extension point.
" Unlike the Python indenter, the Sh indenter is way too large to copy and
" modify here.
if name == "bbShFuncRegion"
return GetShIndent()
endif
" TODO:
" + heuristics for de-denting out of a bbPyDefRegion? e.g. when the user
" types an obvious BB keyword like addhandler or addtask, or starts
" writing a shell task. Maybe too hard to implement...
return -1
endfunction

149
runtime/autoload/cargo.vim Normal file
View File

@@ -0,0 +1,149 @@
" Last Modified: 2023-09-11
function! cargo#Load()
" Utility call to get this script loaded, for debugging
endfunction
function! cargo#cmd(args) abort
" Trim trailing spaces. This is necessary since :terminal command parses
" trailing spaces as an empty argument.
let args = substitute(a:args, '\s\+$', '', '')
if exists('g:cargo_shell_command_runner')
let cmd = g:cargo_shell_command_runner
elseif has('terminal')
let cmd = 'terminal'
elseif has('nvim')
let cmd = 'noautocmd new | terminal'
else
let cmd = '!'
endif
execute cmd 'cargo' args
endfunction
function! s:nearest_cargo(...) abort
" If the second argument is not specified, the first argument determines
" whether we will start from the current directory or the directory of the
" current buffer, otherwise, we start with the provided path on the
" second argument.
let l:is_getcwd = get(a:, 1, 0)
if l:is_getcwd
let l:starting_path = get(a:, 2, getcwd())
else
let l:starting_path = get(a:, 2, expand('%:p:h'))
endif
return findfile('Cargo.toml', l:starting_path . ';')
endfunction
function! cargo#nearestCargo(is_getcwd) abort
return s:nearest_cargo(a:is_getcwd)
endfunction
function! cargo#nearestWorkspaceCargo(is_getcwd) abort
let l:nearest = s:nearest_cargo(a:is_getcwd)
while l:nearest !=# ''
for l:line in readfile(l:nearest, '', 0x100)
if l:line =~# '\V[workspace]'
return l:nearest
endif
endfor
let l:next = fnamemodify(l:nearest, ':p:h:h')
let l:nearest = s:nearest_cargo(0, l:next)
endwhile
return ''
endfunction
function! cargo#nearestRootCargo(is_getcwd) abort
" Try to find a workspace Cargo.toml, and if not found, take the nearest
" regular Cargo.toml
let l:workspace_cargo = cargo#nearestWorkspaceCargo(a:is_getcwd)
if l:workspace_cargo !=# ''
return l:workspace_cargo
endif
return s:nearest_cargo(a:is_getcwd)
endfunction
function! cargo#build(args)
call cargo#cmd("build " . a:args)
endfunction
function! cargo#check(args)
call cargo#cmd("check " . a:args)
endfunction
function! cargo#clean(args)
call cargo#cmd("clean " . a:args)
endfunction
function! cargo#doc(args)
call cargo#cmd("doc " . a:args)
endfunction
function! cargo#new(args)
call cargo#cmd("new " . a:args)
cd `=a:args`
endfunction
function! cargo#init(args)
call cargo#cmd("init " . a:args)
endfunction
function! cargo#run(args)
call cargo#cmd("run " . a:args)
endfunction
function! cargo#test(args)
call cargo#cmd("test " . a:args)
endfunction
function! cargo#bench(args)
call cargo#cmd("bench " . a:args)
endfunction
function! cargo#update(args)
call cargo#cmd("update " . a:args)
endfunction
function! cargo#search(args)
call cargo#cmd("search " . a:args)
endfunction
function! cargo#publish(args)
call cargo#cmd("publish " . a:args)
endfunction
function! cargo#install(args)
call cargo#cmd("install " . a:args)
endfunction
function! cargo#runtarget(args)
let l:filename = expand('%:p')
let l:read_manifest = system('cargo read-manifest')
let l:metadata = json_decode(l:read_manifest)
let l:targets = get(l:metadata, 'targets', [])
let l:did_run = 0
for l:target in l:targets
let l:src_path = get(l:target, 'src_path', '')
let l:kinds = get(l:target, 'kind', [])
let l:name = get(l:target, 'name', '')
if l:src_path == l:filename
if index(l:kinds, 'example') != -1
let l:did_run = 1
call cargo#run("--example " . shellescape(l:name) . " " . a:args)
return
elseif index(l:kinds, 'bin') != -1
let l:did_run = 1
call cargo#run("--bin " . shellescape(l:name) . " " . a:args)
return
endif
endif
endfor
if l:did_run != 1
call cargo#run(a:args)
return
endif
endfunction
" vim: set et sw=4 sts=4 ts=8:

View File

@@ -0,0 +1,29 @@
" Last Modified: 2023-09-11
function! cargo#quickfix#CmdPre() abort
if &filetype ==# 'rust' && get(b:, 'current_compiler', '') ==# 'cargo' &&
\ &makeprg =~ '\V\^cargo\ \.\*'
" Preserve the current directory, and 'lcd' to the nearest Cargo file.
let b:rust_compiler_cargo_qf_has_lcd = haslocaldir()
let b:rust_compiler_cargo_qf_prev_cd = getcwd()
let b:rust_compiler_cargo_qf_prev_cd_saved = 1
let l:nearest = fnamemodify(cargo#nearestRootCargo(0), ':h')
execute 'lchdir! '.l:nearest
else
let b:rust_compiler_cargo_qf_prev_cd_saved = 0
endif
endfunction
function! cargo#quickfix#CmdPost() abort
if exists("b:rust_compiler_cargo_qf_prev_cd_saved") && b:rust_compiler_cargo_qf_prev_cd_saved
" Restore the current directory.
if b:rust_compiler_cargo_qf_has_lcd
execute 'lchdir! '.b:rust_compiler_cargo_qf_prev_cd
else
execute 'chdir! '.b:rust_compiler_cargo_qf_prev_cd
endif
let b:rust_compiler_cargo_qf_prev_cd_saved = 0
endif
endfunction
" vim: set et sw=4 sts=4 ts=8:

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,184 +1,100 @@
" Language: ConTeXt typesetting engine
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
" Latest Revision: 2016 Oct 21
vim9script
let s:keepcpo= &cpo
set cpo&vim
# Language: ConTeXt typesetting engine
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
# Latest Revision: 2023 Dec 26
" Helper functions {{{
function! s:context_echo(message, mode)
redraw
echo "\r"
execute 'echohl' a:mode
echomsg '[ConTeXt]' a:message
echohl None
endf
# Typesetting {{{
import autoload './typeset.vim'
function! s:sh()
return has('win32') || has('win64') || has('win16') || has('win95')
\ ? ['cmd.exe', '/C']
\ : ['/bin/sh', '-c']
endfunction
export def ConTeXtCmd(path: string): list<string>
var cmd = ['mtxrun', '--script', 'context', '--nonstopmode', '--autogenerate']
if !empty(get(g:, 'context_extra_options', ''))
cmd += g:context_extra_options
endif
cmd->add(path)
return cmd
enddef
" For backward compatibility
if exists('*win_getid')
export def Typeset(bufname: string, env = {}, Cmd = ConTeXtCmd): bool
return typeset.TypesetBuffer(bufname, Cmd, env, 'ConTeXt')
enddef
function! s:win_getid()
return win_getid()
endf
export def JobStatus()
typeset.JobStatus('ConTeXt')
enddef
function! s:win_id2win(winid)
return win_id2win(a:winid)
endf
export def StopJobs()
typeset.StopJobs('ConTeXt')
enddef
else
export def Log(bufname: string)
execute 'edit' typeset.LogPath(bufname)
enddef
# }}}
function! s:win_getid()
return winnr()
endf
# Completion {{{
def BinarySearch(base: string, keywords: list<string>): list<string>
const pat = '^' .. base
const len = len(keywords)
var res = []
var lft = 0
var rgt = len
function! s:win_id2win(winnr)
return a:winnr
endf
endif
" }}}
" ConTeXt jobs {{{
if has('job')
let g:context_jobs = []
" Print the status of ConTeXt jobs
function! context#job_status()
let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
let l:n = len(l:jobs)
call s:context_echo(
\ 'There '.(l:n == 1 ? 'is' : 'are').' '.(l:n == 0 ? 'no' : l:n)
\ .' job'.(l:n == 1 ? '' : 's').' running'
\ .(l:n == 0 ? '.' : ' (' . join(l:jobs, ', ').').'),
\ 'ModeMsg')
endfunction
" Stop all ConTeXt jobs
function! context#stop_jobs()
let l:jobs = filter(g:context_jobs, 'job_status(v:val) == "run"')
for job in l:jobs
call job_stop(job)
endfor
sleep 1
let l:tmp = []
for job in l:jobs
if job_status(job) == "run"
call add(l:tmp, job)
endif
endfor
let g:context_jobs = l:tmp
if empty(g:context_jobs)
call s:context_echo('Done. No jobs running.', 'ModeMsg')
# Find the leftmost index matching base
while lft < rgt
var i = (lft + rgt) / 2
if keywords[i] < base
lft = i + 1
else
call s:context_echo('There are still some jobs running. Please try again.', 'WarningMsg')
rgt = i
endif
endfunction
endwhile
function! context#callback(path, job, status)
if index(g:context_jobs, a:job) != -1 && job_status(a:job) != 'run' " just in case
call remove(g:context_jobs, index(g:context_jobs, a:job))
while lft < len && keywords[lft] =~ pat
add(res, keywords[lft])
lft += 1
endwhile
return res
enddef
var isMetaPostBlock = false
var MP_KEYWORDS: list<string> = []
var CTX_KEYWORDS: list<string> = []
# Complete only MetaPost keywords in MetaPost blocks, and complete only
# ConTeXt keywords otherwise.
export def Complete(findstart: number, base: string): any
if findstart == 1
if len(synstack(line("."), 1)) > 0 && synIDattr(synstack(line("."), 1)[0], "name") ==# 'contextMPGraphic'
isMetaPostBlock = true
return match(getline('.'), '\S\+\%' .. col('.') .. 'c')
endif
call s:callback(a:path, a:job, a:status)
endfunction
function! context#close_cb(channel)
call job_status(ch_getjob(a:channel)) " Trigger exit_cb's callback for faster feedback
endfunction
function! s:typeset(path)
call add(g:context_jobs,
\ job_start(add(s:sh(), context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))), {
\ 'close_cb' : 'context#close_cb',
\ 'exit_cb' : function(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
\ [a:path]),
\ 'in_io' : 'null'
\ }))
endfunction
else " No jobs
function! context#job_status()
call s:context_echo('Not implemented', 'WarningMsg')
endfunction!
function! context#stop_jobs()
call s:context_echo('Not implemented', 'WarningMsg')
endfunction
function! context#callback(path, job, status)
call s:callback(a:path, a:job, a:status)
endfunction
function! s:typeset(path)
execute '!' . context#command() . ' ' . shellescape(fnamemodify(a:path, ":t"))
call call(get(b:, 'context_callback', get(g:, 'context_callback', 'context#callback')),
\ [a:path, 0, v:shell_error])
endfunction
endif " has('job')
function! s:callback(path, job, status) abort
if a:status < 0 " Assume the job was terminated
return
# Complete only \commands starting with a backslash
isMetaPostBlock = false
var pos = match(getline('.'), '\\\zs\S\+\%' .. col('.') .. 'c')
return (pos == -1) ? -3 : pos
endif
" Get info about the current window
let l:winid = s:win_getid() " Save window id
let l:efm = &l:errorformat " Save local errorformat
let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
" Set errorformat to parse ConTeXt errors
execute 'setl efm=' . escape(b:context_errorformat, ' ')
try " Set cwd to expand error file correctly
execute 'lcd' fnameescape(fnamemodify(a:path, ':h'))
catch /.*/
execute 'setl efm=' . escape(l:efm, ' ')
throw v:exception
endtry
try
execute 'cgetfile' fnameescape(fnamemodify(a:path, ':r') . '.log')
botright cwindow
finally " Restore cwd and errorformat
execute s:win_id2win(l:winid) . 'wincmd w'
execute 'lcd ' . fnameescape(l:cwd)
execute 'setl efm=' . escape(l:efm, ' ')
endtry
if a:status == 0
call s:context_echo('Success!', 'ModeMsg')
else
call s:context_echo('There are errors. ', 'ErrorMsg')
if isMetaPostBlock
if empty(MP_KEYWORDS)
MP_KEYWORDS = sort(syntaxcomplete#OmniSyntaxList(['mf\w\+', 'mp\w\+']))
endif
return BinarySearch(base, MP_KEYWORDS)
endif
endfunction
function! context#command()
return get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
\ . ' --script context --autogenerate --nonstopmode'
\ . ' --synctex=' . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
\ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
endfunction
if empty(CTX_KEYWORDS)
CTX_KEYWORDS = sort(syntaxcomplete#OmniSyntaxList([
'context\w\+', 'texAleph', 'texEtex', 'texLuatex', 'texOmega',
'texPdftex', 'texTex', 'texXeTeX'
]))
endif
return BinarySearch(base, CTX_KEYWORDS)
enddef
# }}}
" Accepts an optional path (useful for big projects, when the file you are
" editing is not the project's root document). If no argument is given, uses
" the path of the current buffer.
function! context#typeset(...) abort
let l:path = fnamemodify(strlen(a:000[0]) > 0 ? a:1 : expand("%"), ":p")
let l:cwd = fnamemodify(getcwd(), ":p") " Save local working directory
call s:context_echo('Typesetting...', 'ModeMsg')
execute 'lcd' fnameescape(fnamemodify(l:path, ":h"))
try
call s:typeset(l:path)
finally " Restore local working directory
execute 'lcd ' . fnameescape(l:cwd)
endtry
endfunction!
"}}}
let &cpo = s:keepcpo
unlet s:keepcpo
" vim: sw=2 fdm=marker
# vim: sw=2 fdm=marker

View File

@@ -4,7 +4,7 @@
" plus CSS Speech Module <http://www.w3.org/TR/css3-speech/>
" Maintainer: Kao, Wei-Ko(othree) ( othree AT gmail DOT com )
" Original Author: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2018 Jul 02
" Last Change: 2021 Sep 21
let s:values = split("all additive-symbols align-content align-items align-self animation animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-timing-function backface-visibility background background-attachment background-blend-mode background-clip background-color background-image background-origin background-position background-repeat background-size block-size border border-block-end border-block-end-color border-block-end-style border-block-end-width border-block-start border-block-start-color border-block-start-style border-block-start-width border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-inline-end border-inline-end-color border-inline-end-style border-inline-end-width border-inline-start border-inline-start-color border-inline-start-style border-inline-start-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-shadow box-sizing break-after break-before break-inside caption-side clear clip clip-path color columns column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width content counter-increment counter-reset cue cue-before cue-after cursor direction display empty-cells fallback filter flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float font font-family font-feature-settings font-kerning font-language-override font-size font-size-adjust font-stretch font-style font-synthesis font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-weight grid grid-area grid-auto-columns grid-auto-flow grid-auto-position grid-auto-rows grid-column grid-column-start grid-column-end grid-row grid-row-start grid-row-end grid-template grid-template-areas grid-template-rows grid-template-columns height hyphens image-rendering image-resolution image-orientation ime-mode inline-size isolation justify-content left letter-spacing line-break line-height list-style list-style-image list-style-position list-style-type margin margin-block-end margin-block-start margin-bottom margin-inline-end margin-inline-start margin-left margin-right margin-top marks mask mask-type max-block-size max-height max-inline-size max-width max-zoom min-block-size min-height min-inline-size min-width min-zoom mix-blend-mode negative object-fit object-position offset-block-end offset-block-start offset-inline-end offset-inline-start opacity order orientation orphans outline outline-color outline-offset outline-style outline-width overflow overflow-wrap overflow-x overflow-y pad padding padding-block-end padding-block-start padding-bottom padding-inline-end padding-inline-start padding-left padding-right padding-top page-break-after page-break-before page-break-inside pause-before pause-after pause perspective perspective-origin pointer-events position prefix quotes range resize rest rest-before rest-after right ruby-align ruby-merge ruby-position scroll-behavior scroll-snap-coordinate scroll-snap-destination scroll-snap-points-x scroll-snap-points-y scroll-snap-type scroll-snap-type-x scroll-snap-type-y shape-image-threshold shape-margin shape-outside speak speak-as suffix symbols system table-layout tab-size text-align text-align-last text-combine-upright text-decoration text-decoration-color text-decoration-line text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-indent text-orientation text-overflow text-rendering text-shadow text-transform text-underline-position top touch-action transform transform-box transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-bidi unicode-range user-zoom vertical-align visibility voice-balance voice-duration voice-family voice-pitch voice-rate voice-range voice-stress voice-volume white-space widows width will-change word-break word-spacing word-wrap writing-mode z-index zoom")
@@ -38,12 +38,12 @@ function! csscomplete#CompleteCSS(findstart, base)
if exists("b:compl_context")
let line = getline('.')
let compl_begin = col('.') - 2
let after = line[compl_begin:]
let b:after = line[compl_begin:]
let line = b:compl_context
unlet! b:compl_context
else
let line = a:base
let after = ''
let b:after = ''
endif
let res = []
@@ -311,7 +311,7 @@ function! csscomplete#CompleteCSS(findstart, base)
let values = ["normal", "italic", "oblique", "small-caps", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller", "sans-serif", "serif", "monospace", "cursive", "fantasy", "caption", "icon", "menu", "message-box", "small-caption", "status-bar"]
elseif prop =~ '^\%(height\|width\)$'
let values = ["auto", "border-box", "content-box", "max-content", "min-content", "available", "fit-content"]
elseif prop =~ '^\%(left\|rigth\)$'
elseif prop =~ '^\%(left\|right\)$'
let values = ["auto"]
elseif prop == 'image-rendering'
let values = ["auto", "crisp-edges", "pixelated"]

View File

@@ -23,7 +23,7 @@ endif
function decada#Unit_Name () dict " {{{1
" Convert filename into acs unit:
" 1: remove the file extenstion.
" 1: remove the file extension.
" 2: replace all double '_' or '-' with an dot (which denotes a separate)
" 3: remove a trailing '_' (which denotes a specification)
return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')

File diff suppressed because it is too large Load Diff

182
runtime/autoload/dist/json.vim vendored Normal file
View File

@@ -0,0 +1,182 @@
vim9script
# Maintainer: Maxim Kim <habamax@gmail.com>
# Last update: 2023-12-10
#
# Set of functions to format/beautify JSON data structures.
#
# Could be used to reformat a minified json in a buffer (put it into ~/.vim/ftplugin/json.vim):
# import autoload 'dist/json.vim'
# setl formatexpr=json.FormatExpr()
#
# Or to get a formatted string out of vim's dict/list/string:
# vim9script
# import autoload 'dist/json.vim'
# echo json.Format({
# "widget": { "debug": "on", "window": { "title": "Sample \"Konfabulator\" Widget",
# "name": "main_window", "width": 500, "height": 500
# },
# "image": { "src": "Images/Sun.png", "name": "sun1", "hOffset": 250,
# "vOffset": 250, "alignment": "center" },
# "text": { "data": "Click Here", "size": 36, "style": "bold", "name": "text1",
# "hOffset": 250, "vOffset": 100, "alignment": "center",
# "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" } }
# })
#
# Should output:
# {
# "widget": {
# "debug": "on",
# "window": {
# "title": "Sample \"Konfabulator\" Widget",
# "name": "main_window",
# "width": 500,
# "height": 500
# },
# "image": {
# "src": "Images/Sun.png",
# "name": "sun1",
# "hOffset": 250,
# "vOffset": 250,
# "alignment": "center"
# },
# "text": {
# "data": "Click Here",
# "size": 36,
# "style": "bold",
# "name": "text1",
# "hOffset": 250,
# "vOffset": 100,
# "alignment": "center",
# "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
# }
# }
# }
#
# NOTE: order of `key: value` pairs is not kept.
#
# You can also use a JSON string instead of vim's dict/list to maintain order:
# echo json.Format('{"hello": 1, "world": 2}')
# {
# "hello": 1,
# "world": 2
# }
# To be able to reformat with `gq` add following to `~/.vim/ftplugin/json.vim`:
# import autoload 'dist/json.vim'
# setl formatexpr=json.FormatExpr()
export def FormatExpr(): number
FormatRange(v:lnum, v:lnum + v:count - 1)
return 0
enddef
# import autoload 'dist/json.vim'
# command -range=% JSONFormat json.FormatRange(<line1>, <line2>)
export def FormatRange(line1: number, line2: number)
var indent_base = matchstr(getline(line1), '^\s*')
var indent = &expandtab ? repeat(' ', &shiftwidth) : "\t"
var [l1, l2] = line1 > line2 ? [line2, line1] : [line1, line2]
var json_src = getline(l1, l2)->join()
var json_fmt = Format(json_src, {use_tabs: !&et, indent: &sw, indent_base: indent_base})->split("\n")
exe $":{l1},{l2}d"
if line('$') == 1 && getline(1) == ''
setline(l1, json_fmt[0])
append(l1, json_fmt[1 : ])
else
append(l1 - 1, json_fmt)
endif
enddef
# Format JSON string or dict/list as JSON
# import autoload 'dist/json.vim'
# echo json.Format('{"hello": "world"}', {use_tabs: false, indent: 2, indent_base: 0})
# {
# "hello": "world"
# }
# echo json.Format({'hello': 'world'}, {use_tabs: false, indent: 2, indent_base: 0})
# {
# "hello": "world"
# }
#
# Note, when `obj` is dict, order of the `key: value` pairs might be different:
# echo json.Format({'hello': 1, 'world': 2})
# {
# "world": 2,
# "hello": 1
# }
export def Format(obj: any, params: dict<any> = {}): string
var obj_str = ''
if type(obj) == v:t_string
obj_str = obj
else
obj_str = json_encode(obj)
endif
var indent_lvl = 0
var indent_base = get(params, "indent_base", "")
var indent = get(params, "use_tabs", false) ? "\t" : repeat(' ', get(params, "indent", 2))
var json_line = indent_base
var json = ""
var state = ""
for char in obj_str
if state == ""
if char =~ '[{\[]'
json_line ..= char
json ..= json_line .. "\n"
indent_lvl += 1
json_line = indent_base .. repeat(indent, indent_lvl)
elseif char =~ '[}\]]'
if json_line !~ '^\s*$'
json ..= json_line .. "\n"
indent_lvl -= 1
if indent_lvl < 0
json_line = strpart(indent_base, -indent_lvl * len(indent))
else
json_line = indent_base .. repeat(indent, indent_lvl)
endif
elseif json =~ '[{\[]\n$'
json = json[ : -2]
json_line = substitute(json_line, '^\s*', '', '')
indent_lvl -= 1
endif
json_line ..= char
elseif char == ':'
json_line ..= char .. ' '
elseif char == '"'
json_line ..= char
state = 'QUOTE'
elseif char == ','
json_line ..= char
json ..= json_line .. "\n"
json_line = indent_base .. repeat(indent, indent_lvl)
elseif char !~ '\s'
json_line ..= char
endif
elseif state == "QUOTE"
json_line ..= char
if char == '\'
state = "ESCAPE"
elseif char == '"'
state = ""
endif
elseif state == "ESCAPE"
state = "QUOTE"
json_line ..= char
else
json_line ..= char
endif
endfor
if json_line !~ '^\s*$'
json ..= json_line .. "\n"
endif
return json
enddef

250
runtime/autoload/dist/man.vim vendored Normal file
View File

@@ -0,0 +1,250 @@
" Vim filetype plugin autoload file
" Language: man
" Maintainer: Jason Franklin <jason@oneway.dev>
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Autoload Split: Bram Moolenaar
" Last Change: 2024 Jan 17 (make it work on AIX, see #13847)
let s:cpo_save = &cpo
set cpo-=C
let s:man_tag_depth = 0
let s:man_sect_arg = ""
let s:man_find_arg = "-w"
try
if !has("win32") && $OSTYPE !~ 'cygwin\|linux'
" cache the value
let uname_s = system('uname -s')
if uname_s =~ "SunOS" && system('uname -r') =~ "^5"
" Special Case for Man on SunOS
let s:man_sect_arg = "-s"
let s:man_find_arg = "-l"
elseif uname_s =~? 'AIX'
" Special Case for Man on AIX
let s:man_sect_arg = ""
let s:man_find_arg = ""
endif
endif
catch /E145:/
" Ignore the error in restricted mode
endtry
unlet! uname_s
func s:ParseIntoPageAndSection()
" Accommodate a reference that terminates in a hyphen.
"
" See init_charset_table() at
" https://git.savannah.gnu.org/cgit/groff.git/tree/src/roff/troff/input.cpp?h=1.22.4#n6794
"
" See can_break_after() at
" https://git.savannah.gnu.org/cgit/groff.git/tree/src/roff/troff/charinfo.h?h=1.22.4#n140
"
" Assumptions and limitations:
" 1) Manual-page references (in consequence of command-related filenames)
" do not contain non-ASCII HYPHENs (0x2010), any terminating HYPHEN
" must have been introduced to mark division of a word at the end of
" a line and can be discarded; whereas similar references may contain
" ASCII HYPHEN-MINUSes (0x002d) and any terminating HYPHEN-MINUS forms
" a compound word in addition to marking word division.
" 2) Well-formed manual-page references always have a section suffix, e.g.
" "git-commit(1)", therefore suspended hyphenated compounds are not
" determined, e.g. [V] (With cursor at _git-merge-_ below...)
" ".................... git-merge- and git-merge-base. (See git-cherry-
" pick(1) and git-cherry(1).)" (... look up "git-merge-pick(1)".)
"
" Note that EM DASH (0x2014), a third stooge from init_charset_table(),
" neither connects nor divides parts of a word.
let str = expand("<cWORD>")
if str =~ '\%u2010$' " HYPHEN (-1).
let str = strpart(str, 0, strridx(str, "\u2010"))
" Append the leftmost WORD (or an empty string) from the line below.
let str .= get(split(get(getbufline(bufnr('%'), line('.') + 1), 0, '')), 0, '')
elseif str =~ '-$' " HYPHEN-MINUS.
" Append the leftmost WORD (or an empty string) from the line below.
let str .= get(split(get(getbufline(bufnr('%'), line('.') + 1), 0, '')), 0, '')
endif
" According to man(1), section name formats vary (MANSECT):
" 1 n l 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7
let parts = matchlist(str, '\(\k\+\)(\(\k\+\))')
return (len(parts) > 2)
\ ? {'page': parts[1], 'section': parts[2]}
\ : {'page': matchstr(str, '\k\+'), 'section': ''}
endfunc
func dist#man#PreGetPage(cnt)
if a:cnt == 0
let what = s:ParseIntoPageAndSection()
let sect = what.section
let page = what.page
else
let what = s:ParseIntoPageAndSection()
let sect = a:cnt
let page = what.page
endif
call dist#man#GetPage('', sect, page)
endfunc
func s:GetCmdArg(sect, page)
if empty(a:sect)
return shellescape(a:page)
endif
return s:man_sect_arg . ' ' . shellescape(a:sect) . ' ' . shellescape(a:page)
endfunc
func s:FindPage(sect, page)
let l:cmd = printf('man %s %s', s:man_find_arg, s:GetCmdArg(a:sect, a:page))
call system(l:cmd)
if v:shell_error
return 0
endif
return 1
endfunc
func dist#man#GetPage(cmdmods, ...)
if a:0 >= 2
let sect = a:1
let page = a:2
elseif a:0 >= 1
let sect = ""
let page = a:1
else
return
endif
" To support: nmap K :Man <cWORD><CR>
if page ==? '<cword>'
let what = s:ParseIntoPageAndSection()
let sect = what.section
let page = what.page
endif
if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0)
if sect != "" && s:FindPage(sect, page) == 0
let sect = ""
endif
endif
if s:FindPage(sect, page) == 0
let msg = 'man.vim: no manual entry for "' . page . '"'
if !empty(sect)
let msg .= ' in section ' . sect
endif
echomsg msg
return
endif
exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%")
exec "let s:man_tag_lin_".s:man_tag_depth." = ".line(".")
exec "let s:man_tag_col_".s:man_tag_depth." = ".col(".")
let s:man_tag_depth = s:man_tag_depth + 1
let open_cmd = 'edit'
" Use an existing "man" window if it exists, otherwise open a new one.
if &filetype != "man"
let thiswin = winnr()
exe "norm! \<C-W>b"
if winnr() > 1
exe "norm! " . thiswin . "\<C-W>w"
while 1
if &filetype == "man"
break
endif
exe "norm! \<C-W>w"
if thiswin == winnr()
break
endif
endwhile
endif
if &filetype != "man"
if exists("g:ft_man_open_mode")
if g:ft_man_open_mode == 'vert'
let open_cmd = 'vsplit'
elseif g:ft_man_open_mode == 'tab'
let open_cmd = 'tabedit'
else
let open_cmd = 'split'
endif
else
let open_cmd = a:cmdmods . ' split'
endif
endif
endif
silent execute open_cmd . " $HOME/" . page . '.' . sect . '~'
" Avoid warning for editing the dummy file twice
setl buftype=nofile noswapfile
setl fdc=0 ma nofen nonu nornu
%delete _
let unsetwidth = 0
if empty($MANWIDTH)
let $MANWIDTH = winwidth(0)
let unsetwidth = 1
endif
" Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[
" on a man page reference by unsetting MANPAGER.
" Some versions of env(1) do not support the '-u' option, and in such case
" we set MANPAGER=cat.
if !exists('s:env_has_u')
call system('env -u x true')
let s:env_has_u = (v:shell_error == 0)
endif
let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
let env_cmd .= ' GROFF_NO_SGR=1'
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page)
silent exec "r !" . man_cmd
" Emulate piping the buffer through the "col -b" command.
" Ref: https://github.com/vim/vim/issues/12301
exe 'silent! keepjumps keeppatterns %s/\v(.)\b\ze\1?//e' .. (&gdefault ? '' : 'g')
if unsetwidth
let $MANWIDTH = ''
endif
" Remove blank lines from top and bottom.
while line('$') > 1 && getline(1) =~ '^\s*$'
1delete _
endwhile
while line('$') > 1 && getline('$') =~ '^\s*$'
$delete _
endwhile
1
setl ft=man nomod
setl bufhidden=hide
setl nobuflisted
setl noma
endfunc
func dist#man#PopPage()
if s:man_tag_depth > 0
let s:man_tag_depth = s:man_tag_depth - 1
exec "let s:man_tag_buf=s:man_tag_buf_".s:man_tag_depth
exec "let s:man_tag_lin=s:man_tag_lin_".s:man_tag_depth
exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth
exec s:man_tag_buf."b"
call cursor(s:man_tag_lin, s:man_tag_col)
exec "unlet s:man_tag_buf_".s:man_tag_depth
exec "unlet s:man_tag_lin_".s:man_tag_depth
exec "unlet s:man_tag_col_".s:man_tag_depth
unlet s:man_tag_buf s:man_tag_lin s:man_tag_col
endif
endfunc
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: set sw=2 ts=8 noet:

470
runtime/autoload/dist/script.vim vendored Normal file
View File

@@ -0,0 +1,470 @@
vim9script
# Vim function for detecting a filetype from the file contents.
# Invoked from "scripts.vim" in 'runtimepath'
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2023 Aug 10
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
export def DetectFiletype()
var line1 = getline(1)
if line1[0] == '#' && line1[1] == '!'
# File that starts with "#!".
DetectFromHashBang(line1)
else
# File does not start with "#!".
DetectFromText(line1)
endif
enddef
# Called for a script that has "#!" in the first line.
def DetectFromHashBang(firstline: string)
var line1 = firstline
# Check for a line like "#!/usr/bin/env {options} bash". Turn it into
# "#!/usr/bin/bash" to make matching easier.
# Recognize only a few {options} that are commonly used.
if line1 =~ '^#!\s*\S*\<env\s'
line1 = substitute(line1, '\S\+=\S\+', '', 'g')
line1 = substitute(line1, '\(-[iS]\|--ignore-environment\|--split-string\)', '', '')
line1 = substitute(line1, '\<env\s\+', '', '')
endif
# Get the program name.
# Only accept spaces in PC style paths: "#!c:/program files/perl [args]".
# If the word env is used, use the first word after the space:
# "#!/usr/bin/env perl [path/args]"
# If there is no path use the first word: "#!perl [path/args]".
# Otherwise get the last word after a slash: "#!/usr/bin/perl [path/args]".
var name: string
if line1 =~ '^#!\s*\a:[/\\]'
name = substitute(line1, '^#!.*[/\\]\(\i\+\).*', '\1', '')
elseif line1 =~ '^#!.*\<env\>'
name = substitute(line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '')
elseif line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
else
name = substitute(line1, '^#!\s*\S*[/\\]\(\f\+\).*', '\1', '')
endif
# tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
# third line. Suggested by Steven Atkinson.
if getline(3) =~ '^exec wish'
name = 'wish'
endif
var ft = Exe2filetype(name, line1)
if ft != ''
exe 'setl ft=' .. ft
endif
enddef
# Returns the filetype name associated with program "name".
# "line1" is the #! line at the top of the file. Use the same as "name" if
# not available.
# Returns an empty string when not recognized.
export def Exe2filetype(name: string, line1: string): string
# Bourne-like shell scripts: bash bash2 dash ksh ksh93 sh
if name =~ '^\(bash\d*\|dash\|ksh\d*\|sh\)\>'
return dist#ft#SetFileTypeSH(line1, false)
# csh scripts
elseif name =~ '^csh\>'
return dist#ft#SetFileTypeShell(exists("g:filetype_csh") ? g:filetype_csh : 'csh', false)
# tcsh scripts
elseif name =~ '^tcsh\>'
return dist#ft#SetFileTypeShell("tcsh", false)
# Z shell scripts
elseif name =~ '^zsh\>'
return 'zsh'
# TCL scripts
elseif name =~ '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>'
return 'tcl'
# Expect scripts
elseif name =~ '^expect\>'
return 'expect'
# Gnuplot scripts
elseif name =~ '^gnuplot\>'
return 'gnuplot'
# Makefiles
elseif name =~ 'make\>'
return 'make'
# Pike
elseif name =~ '^pike\%(\>\|[0-9]\)'
return 'pike'
# Lua
elseif name =~ 'lua'
return 'lua'
# Perl
elseif name =~ 'perl'
return 'perl'
# PHP
elseif name =~ 'php'
return 'php'
# Python
elseif name =~ 'python'
return 'python'
# Groovy
elseif name =~ '^groovy\>'
return 'groovy'
# Raku
elseif name =~ 'raku'
return 'raku'
# Ruby
elseif name =~ 'ruby'
return 'ruby'
# JavaScript
elseif name =~ 'node\(js\)\=\>\|js\>' || name =~ 'rhino\>'
return 'javascript'
# BC calculator
elseif name =~ '^bc\>'
return 'bc'
# sed
elseif name =~ 'sed\>'
return 'sed'
# OCaml-scripts
elseif name =~ 'ocaml'
return 'ocaml'
# Awk scripts; also finds "gawk"
elseif name =~ 'awk\>'
return 'awk'
# Website MetaLanguage
elseif name =~ 'wml'
return 'wml'
# Scheme scripts
elseif name =~ 'scheme'
return 'scheme'
# CFEngine scripts
elseif name =~ 'cfengine'
return 'cfengine'
# Erlang scripts
elseif name =~ 'escript'
return 'erlang'
# Haskell
elseif name =~ 'haskell'
return 'haskell'
# Scala
elseif name =~ 'scala\>'
return 'scala'
# Clojure
elseif name =~ 'clojure'
return 'clojure'
# Free Pascal
elseif name =~ 'instantfpc\>'
return 'pascal'
# Fennel
elseif name =~ 'fennel\>'
return 'fennel'
# MikroTik RouterOS script
elseif name =~ 'rsc\>'
return 'routeros'
# Fish shell
elseif name =~ 'fish\>'
return 'fish'
# Gforth
elseif name =~ 'gforth\>'
return 'forth'
# Icon
elseif name =~ 'icon\>'
return 'icon'
# Guile
elseif name =~ 'guile'
return 'scheme'
# Nix
elseif name =~ 'nix-shell'
return 'nix'
# Crystal
elseif name =~ '^crystal\>'
return 'crystal'
# Rexx
elseif name =~ '^\%(rexx\|regina\)\>'
return 'rexx'
# Janet
elseif name =~ '^janet\>'
return 'janet'
# Dart
elseif name =~ '^dart\>'
return 'dart'
# Execline (s6)
elseif name =~ '^execlineb\>'
return 'execline'
endif
return ''
enddef
# Called for a script that does not have "#!" in the first line.
def DetectFromText(line1: string)
var line2 = getline(2)
var line3 = getline(3)
var line4 = getline(4)
var line5 = getline(5)
# Bourne-like shell scripts: sh ksh bash bash2
if line1 =~ '^:$'
call dist#ft#SetFileTypeSH(line1)
# Z shell scripts
elseif line1 =~ '^#compdef\>'
|| line1 =~ '^#autoload\>'
|| "\n" .. line1 .. "\n" .. line2 .. "\n" .. line3 ..
"\n" .. line4 .. "\n" .. line5
=~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
setl ft=zsh
# ELM Mail files
elseif line1 =~ '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$'
setl ft=mail
# Mason
elseif line1 =~ '^<[%&].*>'
setl ft=mason
# Vim scripts (must have '" vim' as the first line to trigger this)
elseif line1 =~ '^" *[vV]im$'
setl ft=vim
# libcxx and libstdc++ standard library headers like "iostream" do not have
# an extension, recognize the Emacs file mode.
elseif line1 =~? '-\*-.*C++.*-\*-'
setl ft=cpp
# MOO
elseif line1 =~ '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$'
setl ft=moo
# Diff file:
# - "diff" in first line (context diff)
# - "Only in " in first line
# - "--- " in first line and "+++ " in second line (unified diff).
# - "*** " in first line and "--- " in second line (context diff).
# - "# It was generated by makepatch " in the second line (makepatch diff).
# - "Index: <filename>" in the first line (CVS file)
# - "=== ", line of "=", "---", "+++ " (SVK diff)
# - "=== ", "--- ", "+++ " (bzr diff, common case)
# - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
# - "# HG changeset patch" in first line (Mercurial export format)
elseif line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)'
|| (line1 =~ '^--- ' && line2 =~ '^+++ ')
|| (line1 =~ '^\* looking for ' && line2 =~ '^\* comparing to ')
|| (line1 =~ '^\*\*\* ' && line2 =~ '^--- ')
|| (line1 =~ '^=== ' && ((line2 =~ '^=\{66\}' && line3 =~ '^--- ' && line4 =~ '^+++') || (line2 =~ '^--- ' && line3 =~ '^+++ ')))
|| (line1 =~ '^=== \(removed\|added\|renamed\|modified\)')
setl ft=diff
# PostScript Files (must have %!PS as the first line, like a2ps output)
elseif line1 =~ '^%![ \t]*PS'
setl ft=postscr
# M4 scripts: Guess there is a line that starts with "dnl".
elseif line1 =~ '^\s*dnl\>'
|| line2 =~ '^\s*dnl\>'
|| line3 =~ '^\s*dnl\>'
|| line4 =~ '^\s*dnl\>'
|| line5 =~ '^\s*dnl\>'
setl ft=m4
# AmigaDos scripts
elseif $TERM == "amiga" && (line1 =~ "^;" || line1 =~? '^\.bra')
setl ft=amiga
# SiCAD scripts (must have procn or procd as the first line to trigger this)
elseif line1 =~? '^ *proc[nd] *$'
setl ft=sicad
# Purify log files start with "**** Purify"
elseif line1 =~ '^\*\*\*\* Purify'
setl ft=purifylog
# XML
elseif line1 =~ '<?\s*xml.*?>'
setl ft=xml
# XHTML (e.g.: PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN")
elseif line1 =~ '\<DTD\s\+XHTML\s'
setl ft=xhtml
# HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN")
# Avoid "doctype html", used by slim.
elseif line1 =~? '<!DOCTYPE\s\+html\>'
setl ft=html
# PDF
elseif line1 =~ '^%PDF-'
setl ft=pdf
# XXD output
elseif line1 =~ '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} '
setl ft=xxd
# RCS/CVS log output
elseif line1 =~ '^RCS file:' || line2 =~ '^RCS file:'
setl ft=rcslog
# CVS commit
elseif line2 =~ '^CVS:' || getline("$") =~ '^CVS: '
setl ft=cvs
# Prescribe
elseif line1 =~ '^!R!'
setl ft=prescribe
# Send-pr
elseif line1 =~ '^SEND-PR:'
setl ft=sendpr
# SNNS files
elseif line1 =~ '^SNNS network definition file'
setl ft=snnsnet
elseif line1 =~ '^SNNS pattern definition file'
setl ft=snnspat
elseif line1 =~ '^SNNS result file'
setl ft=snnsres
# Virata
elseif line1 =~ '^%.\{-}[Vv]irata'
|| line2 =~ '^%.\{-}[Vv]irata'
|| line3 =~ '^%.\{-}[Vv]irata'
|| line4 =~ '^%.\{-}[Vv]irata'
|| line5 =~ '^%.\{-}[Vv]irata'
setl ft=virata
# Strace
# inaccurate fast match first, then use accurate slow match
elseif (line1 =~ 'execve(' && line1 =~ '^[0-9:. ]*execve(')
|| line1 =~ '^__libc_start_main'
setl ft=strace
# VSE JCL
elseif line1 =~ '^\* $$ JOB\>' || line1 =~ '^// *JOB\>'
setl ft=vsejcl
# TAK and SINDA
elseif line4 =~ 'K & K Associates' || line2 =~ 'TAK 2000'
setl ft=takout
elseif line3 =~ 'S Y S T E M S I M P R O V E D '
setl ft=sindaout
elseif getline(6) =~ 'Run Date: '
setl ft=takcmp
elseif getline(9) =~ 'Node File 1'
setl ft=sindacmp
# DNS zone files
elseif line1 .. line2 .. line3 .. line4 =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
setl ft=bindzone
# BAAN
elseif line1 =~ '|\*\{1,80}' && line2 =~ 'VRC '
|| line2 =~ '|\*\{1,80}' && line3 =~ 'VRC '
setl ft=baan
# Valgrind
elseif line1 =~ '^==\d\+== valgrind' || line3 =~ '^==\d\+== Using valgrind'
setl ft=valgrind
# Go docs
elseif line1 =~ '^PACKAGE DOCUMENTATION$'
setl ft=godoc
# Renderman Interface Bytestream
elseif line1 =~ '^##RenderMan'
setl ft=rib
# Scheme scripts
elseif line1 =~ 'exec\s\+\S*scheme' || line2 =~ 'exec\s\+\S*scheme'
setl ft=scheme
# Git output
elseif line1 =~ '^\(commit\|tree\|object\) \x\{40,\}\>\|^tag \S\+$'
setl ft=git
# Gprof (gnu profiler)
elseif line1 == 'Flat profile:'
&& line2 == ''
&& line3 =~ '^Each sample counts as .* seconds.$'
setl ft=gprof
# Erlang terms
# (See also: http://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html#Choosing-Modes)
elseif line1 =~? '-\*-.*erlang.*-\*-'
setl ft=erlang
# YAML
elseif line1 =~ '^%YAML'
setl ft=yaml
# MikroTik RouterOS script
elseif line1 =~ '^#.*by RouterOS.*$'
setl ft=routeros
# Sed scripts
# #ncomment is allowed but most likely a false positive so require a space
# before any trailing comment text
elseif line1 =~ '^#n\%($\|\s\)'
setl ft=sed
else
var lnum = 1
while getline(lnum) =~ "^? " && lnum < line("$")
lnum += 1
endwhile
if getline(lnum) =~ '^Index:\s\+\f\+$'
# CVS diff
setl ft=diff
# locale input files: Formal Definitions of Cultural Conventions
# filename must be like en_US, fr_FR@euro or en_US.UTF-8
elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
lnum = 1
while lnum < 100 && lnum < line("$")
if getline(lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
setf fdcc
break
endif
lnum += 1
endwhile
endif
endif
enddef

32
runtime/autoload/dist/vim.vim vendored Normal file
View File

@@ -0,0 +1,32 @@
" Vim runtime support library,
" runs the vim9 script version or legacy script version
" on demand (mostly for Neovim compatability)
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Nov 04
" enable the zip and gzip plugin by default, if not set
if !exists('g:zip_exec')
let g:zip_exec = 1
endif
if !exists('g:gzip_exec')
let g:gzip_exec = 1
endif
if !has('vim9script')
function dist#vim#IsSafeExecutable(filetype, executable)
let cwd = getcwd()
return get(g:, a:filetype .. '_exec', get(g:, 'plugin_exec', 0)) &&
\ (fnamemodify(exepath(a:executable), ':p:h') !=# cwd
\ || (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1 &&
\ cwd != '.'))
endfunction
finish
endif
def dist#vim#IsSafeExecutable(filetype: string, executable: string): bool
return dist#vim9#IsSafeExecutable(filetype, executable)
enddef

17
runtime/autoload/dist/vim9.vim vendored Normal file
View File

@@ -0,0 +1,17 @@
vim9script
# Vim runtime support library
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2023 Oct 25
export def IsSafeExecutable(filetype: string, executable: string): bool
var cwd = getcwd()
return get(g:, filetype .. '_exec', get(g:, 'plugin_exec', 0))
&& (fnamemodify(exepath(executable), ':p:h') !=# cwd
|| (split($PATH, has('win32') ? ';' : ':')->index(cwd) != -1
&& cwd != '.'))
enddef
# Uncomment this line to check for compilation errors early
# defcompile

1256
runtime/autoload/dist/vimindent.vim vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,40 @@
" Vim filetype plugin file
" Language: FreeBASIC
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2022 June 24
" Dialects can be one of fb, qb, fblite, or deprecated
" Precedence is forcelang > #lang > lang
function! freebasic#GetDialect() abort
if exists("g:freebasic_forcelang")
return g:freebasic_forcelang
endif
if exists("g:freebasic_lang")
let dialect = g:freebasic_lang
else
let dialect = "fb"
endif
" override with #lang directive or metacommand
let pat = '\c^\s*\%(#\s*lang\s\+\|''\s*$lang\s*:\s*\)"\([^"]*\)"'
let save_cursor = getcurpos()
call cursor(1, 1)
let lnum = search(pat, 'cn')
call setpos('.', save_cursor)
if lnum
let word = matchlist(getline(lnum), pat)[1]
if word =~? '\<\%(fb\|deprecated\|fblite\|qb\)\>'
let dialect = word
else
echomsg "freebasic#GetDialect: Invalid lang, found '" .. word .. "' at line " .. lnum .. " " .. getline(lnum)
endif
endif
return dialect
endfunction
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:

View File

@@ -1,6 +1,7 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell
" Maintainer: This runtime file is looking for a new maintainer.
" Original Author: Charles E. Campbell
" Date: Jan 21, 2014
" Version: 36
" Installing: :help glvs-install
@@ -129,7 +130,7 @@ fun! getscript#GetLatestVimScripts()
" insure that wget is executable
if executable(g:GetLatestVimScripts_wget) != 1
echoerr "GetLatestVimScripts needs ".g:GetLatestVimScripts_wget." which apparently is not available on your system"
" call Dret("GetLatestVimScripts : wget not executable/availble")
" call Dret("GetLatestVimScripts : wget not executable/available")
return
endif
@@ -347,7 +348,7 @@ fun! s:GetOneScript(...)
set t_ti= t_te= nors
" put current line on top-of-screen and interpret it into
" a script identifer : used to obtain webpage
" a script identifier : used to obtain webpage
" source identifier : used to identify current version
" and an associated comment: used to report on what's being considered
if a:0 >= 3

View File

@@ -1,6 +1,7 @@
" Vim autoload file for editing compressed files.
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2016 Sep 28
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 10
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" These functions are used by the gzip plugin.
@@ -9,12 +10,17 @@
fun s:check(cmd)
let name = substitute(a:cmd, '\(\S*\).*', '\1', '')
if !exists("s:have_" . name)
" safety check, don't execute anything from the current directory
let f = dist#vim#IsSafeExecutable('gzip', name)
if !f
echoerr "Warning: NOT executing " .. name .. " from current directory!"
endif
let e = executable(name)
if e < 0
let r = system(name . " --version")
let e = (r !~ "not found" && r != "")
endif
exe "let s:have_" . name . "=" . e
exe "let s:have_" . name . "=" . (e && f)
endif
exe "return s:have_" . name
endfun

26
runtime/autoload/hare.vim Normal file
View File

@@ -0,0 +1,26 @@
" Vim autoload file.
" Language: Hare
" Maintainer: Amelia Clarke <selene@perilune.dev>
" Last Updated: 2024-05-10
" Upstream: https://git.sr.ht/~sircmpwn/hare.vim
" Attempt to find the directory for a given Hare module.
function hare#FindModule(str)
let path = substitute(trim(a:str, ':', 2), '::', '/', 'g')
let dir = finddir(path)
while !empty(path) && empty(dir)
let path = substitute(path, '/\?\h\w*$', '', '')
let dir = finddir(path)
endwhile
return dir
endfunction
" Return the value of HAREPATH if it exists. Otherwise use a reasonable default.
function hare#GetPath()
if empty($HAREPATH)
return '/usr/src/hare/stdlib,/usr/src/hare/third-party'
endif
return substitute($HAREPATH, ':', ',', 'g')
endfunction
" vim: et sts=2 sw=2 ts=8

View File

@@ -54,7 +54,7 @@ function! haskellcomplete#Complete(findstart, base)
if b:completingLangExtension
if a:base ==? ""
" Return all posible Lang extensions
" Return all possible Lang extensions
return s:langExtensions
else
let l:matches = []
@@ -70,7 +70,7 @@ function! haskellcomplete#Complete(findstart, base)
elseif b:completingOptionsGHC
if a:base ==? ""
" Return all posible GHC options
" Return all possible GHC options
return s:optionsGHC
else
let l:matches = []
@@ -86,7 +86,7 @@ function! haskellcomplete#Complete(findstart, base)
elseif b:completingModule
if a:base ==? ""
" Return all posible modules
" Return all possible modules
return s:commonModules
else
let l:matches = []

View File

@@ -486,7 +486,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
endif
" Value of attribute completion {{{
" If attr contains =\s*[\"'] we catched value of attribute
" If attr contains =\s*[\"'] we match value of attribute
if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
" Let do attribute specific completion
let attrname = matchstr(attr, '.*\ze\s*=')

View File

@@ -156,8 +156,8 @@ function! javascriptcomplete#CompleteJS(findstart, base)
\ 'text', 'vLink']
let bodys = bodyprop
" Document - document.
let docuprop = ['anchors', 'body', 'characterSet', 'doctype',
\ 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
let docuprop = ['anchors', 'applets', 'body', 'characterSet', 'childNodes',
\ 'doctype', 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
\ 'head', 'hidden', 'images', 'implementation', 'lastStyleSheetSet',
\ 'links', 'plugins', 'preferredStyleSheetSet', 'scripts',
\ 'scrollingElement', 'selectedStyleSheetSet', 'styleSheetSets',
@@ -171,7 +171,7 @@ function! javascriptcomplete#CompleteJS(findstart, base)
\ 'createEvent', 'createExpression', 'createNSResolver',
\ 'createNodeIterator', 'createProcessingInstruction', 'createRange',
\ 'createTextNode', 'createTouchList', 'createTreeWalker',
\ 'enableStyleSheetsForSet', 'evaluate', 'focus', 'getElementById',
\ 'enableStyleSheetsForSet', 'evaluate', 'focus',
\ 'getElementById', 'getElementsByClassName', 'getElementsByName',
\ 'getElementsByTagName', 'getElementsByTagNameNS',
\ 'hasStorageAccess', 'importNode', 'onClick', 'onDblClick',

View File

@@ -0,0 +1,31 @@
" Vim filetype plugin file
" Language: Modula-2
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2024 Jan 04
" Dialect can be one of pim, iso, r10
function modula2#GetDialect() abort
if exists("b:modula2.dialect")
return b:modula2.dialect
endif
if exists("g:modula2_default_dialect")
let dialect = g:modula2_default_dialect
else
let dialect = "pim"
endif
return dialect
endfunction
function modula2#SetDialect(dialect, extension = "") abort
if exists("b:modula2")
unlockvar! b:modula2
endif
let b:modula2 = #{ dialect: a:dialect, extension: a:extension }
lockvar! b:modula2
endfunction
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,7 @@
" netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell
" Maintainer: This runtime file is looking for a new maintainer.
" Original Author: Charles E. Campbell
" Date: Sep 18, 2020
" Version: 11
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1

View File

@@ -1,7 +1,10 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Nov 09, 2016
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Version: 16
" Date: Nov 15, 2021
" Maintainer: This runtime file is looking for a new maintainer.
" Former Maintainer: Charles E Campbell
" Version: 18
" Last Change:
" 2024 May 08 by Vim Project: cleanup legacy Win9X checks
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -19,7 +22,7 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v16"
let g:loaded_netrwSettings = "v18"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
@@ -31,7 +34,7 @@ endif
" NetrwSettings: {{{1
fun! netrwSettings#NetrwSettings()
" this call is here largely just to insure that netrw has been loaded
call netrw#SavePosn()
call netrw#WinPath("")
if !exists("g:loaded_netrw")
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
return
@@ -90,7 +93,6 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
let s:netrw_xfer_stop= line(".")
put =''
put ='+ Netrw Messages'
@@ -159,8 +161,6 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps

View File

@@ -1,6 +1,7 @@
" Vim support file to help with paste mappings and menus
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jan 27
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 10
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Define the string to use for items that are present both in Edit, Popup and
" Toolbar menu. Also used in mswin.vim and macmap.vim.

Some files were not shown because too many files have changed in this diff Show More