Commit Graph

18716 Commits

Author SHA1 Message Date
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