94 Commits

Author SHA1 Message Date
9d065a4862 patch 9.1.1469: potential buffer-underflow with invalid hl_id
Problem:  potential buffer-underflow with invalid hl_id (mugitya03)
Solution: assert that the return-code of syn_get_final_id() if > 0

As a safety check, syn_get_final_id() may return zero when either the
provided hl_id is zero or larger than expected.

However, many callers of syn_get_final_id() do not check that the return
value is larger than zero but re-use the returned highlight id directly
like this:

  hl_id = syn_get_final_id(hl_id);
  sgp = &HL_TABLE()[hl_id - 1];	    // index is ID minus one

in which case, this would cause a buffer underrun and an access violation.

Let's use assert(hl_id > 0); to make sure that hl_id is larger than
zero.

Note to myself: I'll need to compile releases builds using -DNDEBUG once
a new release will be made

fixes: #17475
closes: #17512

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-06-18 18:31:19 +02:00
7ceca3eb00 runtime(syntax-tests): Support "wait-free" test failure
When certain changes guarantee failure for old syntax tests,
opt for faster failure by reducing the number of screendumps
made for each file "page" to be no greater than the assigned
value of a VIM_SYNTAX_TEST_WAIT_TIME environment variable.
(This variable will be ignored and more screendumps may be
made when Make is GNU Make and a parent Makefile is used.)

Barring regressions, and assuming that v9.1.1163~1 succeeds
in providing a correct synchronisation mechanism outside of
"VerifyScreenDump()", and assuming that "readfile()" always
obtains the latest contents written by "term_dumpwrite()" in
"VerifyScreenDump()"; making a single screendump of a file
"page" and following it with a single reading of the written
screendump file should be enough to decide whether to pass
or fail a syntax test.

In addition, re-enable self testing after v9.1.1183~2.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-03-16 20:59:28 +01:00
613d0bc128 patch 9.1.1047: Makefiles uses non-portable syntax
Problem:  Makefiles uses non-portable syntax
          (simo-zz, after v9.1.1029)
Solution: Revert auto-generation of MAJOR/MINOR variables

fixes: #16502
closes: #16503

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-22 22:21:50 +01:00
2730d3873f patch 9.1.1029: the installer can be improved
Problem:  the installer can be improved
Solution: update the installer with the correct README and LICENSE
          files, improve the documentation, add a Makefile for the
          installer, update the Makefiles (RestorerZ)

fixes: #16378
closes: #16378

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-17 14:04:44 +01:00
ec0229414b patch 9.1.0763: tests: cannot run single syntax tests
Problem:  tests: cannot run single syntax tests
Solution: Support running a subset of syntax tests
          (Aliaksei Budavei)

Two methods of assembling a subset of test filenames for
selection are provided:

* Filename and filetype Make targets will be generated, and
  multiple such targets can be passed before the mandated
  trailing "test" target, e.g. "make html markdown test".

* Filenames and their parts can be specified as a regular
  expression that is assigned to a "VIM_SYNTAX_TEST_FILTER"
  environment variable, and used with the test Make target,
  e.g. "VIM_SYNTAX_TEST_FILTER=html\\\|markdown make test".
  (This variable will be ignored and the whole suite will be
  run when Make is GNU Make and a parent Makefile is used.)

Methods can be used alone or together, with the Make targets
having the higher precedence. Neither method will influence
the order of test execution.

closes: #15670

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-10-06 16:57:33 +02:00
563e8ec8c7 patch 9.1.0750: there are some Win9x legacy references
Problem:  there are some Win9x legacy references
Solution: Remove those mentions (Nir Lichtman)

closes: #15730

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-30 19:42:28 +02:00
166f89e049 runtime(doc): update vim90 to vim91 in docs
closes: #15747

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-09-26 15:52:22 +02:00
cd33faf614 patch 9.1.0527: inconsistent parameter in Makefiles for Vim executable
Problem:  inconsistent parameter in Makefiles for Vim executable
Solution: consistently use $VIMPROG across all Makefiles
          (RestorerZ)

closes: #15099

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-04 17:48:01 +02:00
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
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
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
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
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
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
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
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
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
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
c512599b22 patch 8.2.2889: typo and verbose comment in Makefiles
Problem:    Typo and verbose comment in Makefiles.
Solution:   Fix typo. Use @#. (Ken Takata, closes #8252)
2021-05-26 21:49:18 +02:00
e97c7c962c patch 8.2.2883: MS-Windows manifest file name is misleading
Problem:    MS-Windows manifest file name is misleading.
Solution:   Rename the file. (closes #8241)
2021-05-24 18:48:27 +02:00
b96a32ef1a patch 8.2.1439: tiny and small builds have no test coverage
Problem:    Tiny and small builds have no test coverage.
Solution:   Restore tests that do not depend on the +eval feature.
            (Ken Takata, closes #6696)
2020-08-13 18:59:55 +02:00
4b96df5a01 patch 8.2.0156: various typos in source files and tests
Problem:    Various typos in source files and tests.
Solution:   Fix the typos. (Emir Sari, closes #5532)
2020-01-26 22:00:26 +01:00
98056533b9 Vim 8.2 release 2019-12-12 14:18:35 +01:00
bfd3433330 patch 8.1.2408: syntax menu and build instructions outdated
Problem:    Syntax menu and build instructions outdated.
Solution:   Update build instructions and syntax menu.
2019-12-07 19:24:34 +01:00
30e8e73506 patch 8.1.2082: some files have a weird name to fit in 8.3 characters
Problem:    Some files have a weird name to fit in 8.3 characters.
Solution:   Use a nicer names.
2019-09-27 13:08:36 +02:00
e13a3901ca patch 8.1.1213: "make clean" in top dir does not cleanup indent test output
Problem:    "make clean" in top dir does not cleanup indent test output.
Solution:   Clean the indent test output.  Do not rely on the vim executable
            for that. (closes #4307)
2019-04-27 17:57:31 +02:00
24877cf22c patch 8.1.0713: images for NSIS take up too much space
Problem:    Images for NSIS take up too much space.
Solution:   Put the images in a zip file.
2019-01-10 21:51:48 +01:00
6403bcdaf4 patch 8.1.0605: running make in the top directory echoes a comment
Problem:    Running make in the top directory echoes a comment.
Solution:   Prefix with @. (closes #3698)
2018-12-16 16:48:47 +01:00
72846cfa76 patch 8.1.0598: indent tests may use the wrong Vim binary
Problem:    Indent tests may use the wrong Vim binary.
Solution:   Pass in the just built Vim binary.
2018-12-15 17:23:18 +01:00
acecb3b935 patch 8.1.0597: cannot run test_libvterm from the top directory
Problem:    Cannot run test_libvterm from the top directory.
Solution:   Add test target in toplevel Makefile.
2018-12-15 16:19:50 +01:00
b1c9198afb Vim 8.1 release
Update version number and information.  Fix a couple of tests.
2018-05-17 17:04:55 +02:00
81b07b527e patch 8.0.1197: MS-Windows build instructions are not up to date
Problem:    MS-Windows build instructions are not up to date.
Solution:   Adjust the instructions.  Fix the nsis script.
2017-10-15 21:43:21 +02:00
6199d43f4b patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Problem:    MS-Windows: missing 32 and 64 bit files in installer.
Solution:   Include both 32 and 64 bit GvimExt and related dll files. Remove
            old Windows code from the installer. (Ken Takata, closes #2144)
2017-10-14 19:05:44 +02:00
18cfa940e2 patch 8.0.1183: MS-Windows build instructions are outdated
Problem:    MS-Windows build instructions are outdated.
Solution:   Update instructions for MSVC 2015.  Update the build script.
2017-10-08 17:58:44 +02:00
a54d2fc0d3 patch 8.0.0410: newer gettext/iconv library has extra dll file
Problem:    Newer gettext/iconv library has extra dll file.
Solution:   Add the file to the Makefile and nsis script. (Christian Brabandt)
2017-03-04 20:09:34 +01:00
bb76f24af2 Vim 8.0 release 2016-09-12 14:24:39 +02:00
1b01005823 patch 7.4.2365
Problem:    Needless line break. Confusing directory name.
Solution:   Remove line break.  Prepend "../" to "tools".
2016-09-12 12:24:11 +02:00
6384c5db8d patch 7.4.2340
Problem:    MS-Windows: Building with Ruby uses old version.
Solution:   Update to 2.2.X. Use clearer name for the API version. (Ken
            Takata)
2016-09-06 22:06:35 +02:00
cb03397aba patch 7.4.2288
Problem:    MS-Windows build instructions are clumsy. "dosbin" doesn't build.
Solution:   Add rename.bat. Fix building "dosbin".
2016-08-28 20:14:38 +02:00
fec246d2c5 patch 7.4.2286
Problem:    The tee program isn't included.  Makefile contains build
            instructions that don't work.
Solution:   Update the Filelist and build instructions. Remove build
            instructions for DOS and old Windows.  Add the tee program.
2016-08-28 18:47:14 +02:00
e21d62435e patch 7.4.2053
Problem:    Can't run scripttests in the top directory.
Solution:   Add targets to the top Makefile.
2016-07-16 20:43:14 +02:00
818c9e7edf patch 7.4.1601
Problem:    README files take a lot of space in the top directory.
Solution:   Move most of them to "READMEdir".
2016-03-19 16:09:42 +01:00
286eacd3f6 patch 7.4.1106
Problem:    The nsis script can't be used from the appveyor build.
Solution:   Add "ifndef" to allow for variables to be set from the command
            line. Remove duplicate SetCompressor command. Support using other
            gettext binaries. (Ken Takata)  Update build instructions to use
            libintl-8.dll.
2016-01-16 18:05:50 +01:00
6c7b44472f patch 7.4.1025
Problem:    Version in installer needs to be updated manually.
Solution:   Generate a file with the version number. (Guopeng Wen)
2016-01-02 15:44:32 +01:00
2c15f6aa8f patch 7.4.1023
Problem:    The distribution files for MS-Windows use CR-LF, which is
            inconsistent with what one gets from github.
Solution:   Use LF in the distribution files.
2016-01-02 15:00:30 +01:00
e292d80bed patch 7.4.996
Problem:    New GDK files and testdir/Make_all.mak missing from distribution.
            PC build instructions are outdated.
Solution:   Add the file to the list.  Update PC build instructions.
2015-12-29 19:03:21 +01:00
3b1db36689 release version 7.4 2013-08-10 15:00:24 +02:00
1a42b4befb Update files for the 7.4b BETA release. 2013-07-28 18:29:08 +02:00
913df81e74 Vim 7.4a BETA release. 2013-07-06 15:44:11 +02:00
ba46075731 updated for version 7.3.1307
Problem:    MS-Windows build instructions are outdated.
Solution:   Adjust for building on Windows 7.  Drop Windows 95/98/ME support.
2013-07-04 22:35:01 +02:00