summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2023-09-02patch 9.0.1848: [security] buffer-overflow in vim_regsub_both()v9.0.1848Christian Brabandt
Problem: buffer-overflow in vim_regsub_both() Solution: Check remaining space Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02patch 9.0.1847: [security] potential oob write in do_addsub()v9.0.1847Christian Brabandt
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-02patch 9.0.1846: [security] crash in fullcommandv9.0.1846Christian Brabandt
Problem: crash in fullcommand Solution: Check for typeval correctly Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02patch 9.0.1845: xxd: Test_xxd_color start failingv9.0.1845Christian Brabandt
Problem: xxd: Test_xxd_color start failing Solution: Revert changes to dump file Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02patch 9.0.1844: doc helptags may not be up to datev9.0.1844Yee Cheng Chin
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-02patch 9.0.1843: xxd color test flakyv9.0.1843Christian Brabandt
Problem: xxd color test flaky Solution: Filter unneeded lines Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02patch 9.0.1842: Need more accurate profilingv9.0.1842Ernie Rael
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-02patch 9.0.1841: style: trailing whitespace in ex_cmds.cv9.0.1841Christian Brabandt
Problem: style: trailing whitespace in ex_cmds.c Solution: remove it Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02translation(en_GB): Update UK English translation (#13011)Mike Williams
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-02patch 9.0.1840: [security] use-after-free in do_ecmdv9.0.1840Christian Brabandt
Problem: use-after-free in do_ecmd Solution: Verify oldwin pointer after reset_VIsual() Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-01patch 9.0.1839: No Makefile rule to build cscope databasev9.0.1839Christian Brabandt
Problem: No Makefile rule to build cscope database Solution: Add rule Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-01translation(it): updated Italian translation + xxd manpageAntonio Giovanni Colombo
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-09-01patch 9.0.1838: Vim9: Cannot modify class member vars from def functionv9.0.1838Yegappan Lakshmanan
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-01tests: Improve the codestyle test (#12988)Christian Brabandt
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-01patch 9.0.1837: Vim9: class_member_type() can be optimizedv9.0.1837Ernie Rael
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-01patch 9.0.1836: display wrong with virttext, linebreak and breakindentv9.0.1836zeertzjq
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-01patch 9.0.1835: Perl interface has problems with load PL_current_contextv9.0.1835Yee Cheng Chin
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-01patch 9.0.1834: Some problems with xxd coloringv9.0.1834K.Takata
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-08-31patch 9.0.1833: [security] runtime file fixesv9.0.1833Christian Brabandt
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-31patch 9.0.1832: xxd: reporting wrong versionv9.0.1832Christian Brabandt
Problem: xxd: reporting wrong version (after 9.0.1827) Solution: Update version string Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-31patch 9.0.1831: Vim9: failing null testv9.0.1831Gianmaria Bajo
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-31patch 9.0.1830: Vim9: crash when accessing a null objectv9.0.1830Gianmaria Bajo
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-31patch 9.0.1829: Vim9 missing access-checks for private varsv9.0.1829Yegappan Lakshmanan
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-31patch 9.0.1828: cursor wrong with virt text before double-width charv9.0.1828zeertzjq
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-31patch 9.0.1827: xxd: no color supportv9.0.1827Aapo Rantalainen
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-30patch 9.0.1826: keytrans() doesn't translate recorded key typed in a GUIv9.0.1826zeertzjq
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-30patch 9.0.1825: wrong cursor position with virt text and 'linebreak'v9.0.1825zeertzjq
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-30patch 9.0.1824: Vim9: private members may be modifiablev9.0.1824Yegappan Lakshmanan
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-30patch 9.0.1823: Autoconf 2.69 too oldv9.0.1823Illia Bobyr
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-29patch 9.0.1822: Vim9: no check for duplicate members in extended classesv9.0.1822Yegappan Lakshmanan
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-29patch 9.0.1821: Vim9 constructors are always staticv9.0.1821Gianmaria Bajo
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-29patch 9.0.1820: Rexx files may not be recognisedv9.0.1820Doug Kearns
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-29patch 9.0.1819: Github CI too complexv9.0.1819ichizok
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-29patch 9.0.1818: dynamically linking perl is brokenv9.0.1818Christian Brabandt
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-29patch 9.0.1817: configure: using obsolete AC_HEADER_STDCv9.0.1817Illia Bobyr
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-29patch 9.0.1816: configure: sed uses non-portable regexv9.0.1816ichizok
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-28patch 9.0.1815: pango_coverage_unref() deprecated in pango > 1.51v9.0.1815James McCoy
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-28patch 9.0.1814: Vim9 no error on duplicate object member varv9.0.1814Yegappan Lakshmanan
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-28patch 9.0.1813: linebreak incorrect drawn with breakindentv9.0.1813zeertzjq
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-28patch 9.0.1812: CI still fails with sodium_mlock error()v9.0.1812Christian Brabandt
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-27patch 9.0.1811: still some issues with term_debug testv9.0.1811Yegappan Lakshmanan
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-27patch 9.0.1810: camel-case spelling has issues with digitsv9.0.1810LemonBoy
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-27patch 9.0.1809: termdebug test flaykv9.0.1809Christian Brabandt
Problem: termdebug test flayk Solution: wait slightly longer Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-27patch 9.0.1808: termdebug: Typo in termdebug testv9.0.1808Christian Brabandt
Problem: termdebug: Typo in termdebug test Solution: fix the typos Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-08-27patch 9.0.1807: runtime: crystal scripts not recognisedv9.0.1807Doug Kearns
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-27patch 9.0.1806: Vim9: bogus error on exportv9.0.1806LemonBoy
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-27patch 9.0.1805: Vim9: problem compiling object method as function call argv9.0.1805Yegappan Lakshmanan
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-27patch 9.0.1804: Vim9: no support for private object methodsv9.0.1804Yegappan Lakshmanan
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-27patch 9.0.1803: runtime(filetype): Add norg language detectionv9.0.1803NTBBloodbath
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-27patch 9.0.1802: Multiline regex with Visual selection fails with virtual textv9.0.1802zeertzjq
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>