0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

44 Commits

Author SHA1 Message Date
Dominique Pellé
0268ff3af3
patch 9.1.0633: Compilation warnings with -Wunused-parameter
Problem:  Compilation warnings with `-Wunused-parameter`
Solution: Add the `UNUSED` macro where needed, and remove some
          superfluous ones (Dominique Pellé)

Change fixes these kind of warnings when building without the channel
feature:

```
eval.c:6122:15: warning: unused parameter ‘tv’ [-Wunused-parameter]
     typval_T *tv,
               ^
eval.c:6123:14: warning: unused parameter ‘tofree’ [-Wunused-parameter]
     char_u **tofree,
              ^
eval.c:6124:13: warning: unused parameter ‘numbuf’ [-Wunused-parameter]
     char_u *numbuf,
             ^
eval.c:6125:10: warning: unused parameter ‘composite_val’ [-Wunused-parameter]
     int  composite_val)
```

closes: #15378

Signed-off-by: Dominique Pellé <dominique.pelle@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-07-28 21:12:20 +02: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 ac709e2fc0db6d31abb7da96f743c40956b60c3a
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
f18332fb9e patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Problem:    Vim9: skip argument to searchpair() is not compiled.
Solution:   Add VAR_INSTR.
2021-05-07 17:55:55 +02:00
Bram Moolenaar
3ff656f6b4 patch 8.2.2494: ":rviminfo!" clears most of oldfiles
Problem:    ":rviminfo!" clears most of oldfiles.
Solution:   Add VIF_ONLY_CURBUF to read_viminfo(). (closes #1781)
2021-02-10 19:22:15 +01:00
Bram Moolenaar
4ad739fc05 patch 8.2.1564: a few remaining errors from ubsan
Problem:    A few remaining errors from ubsan.
Solution:   Avoid the warnings. (Dominique Pellé, closes #6837)
2020-09-02 10:25:45 +02:00
Bram Moolenaar
b86abadf87 patch 8.2.1340: some tests fail on Cirrus CI and/or with FreeBSD
Problem:    Some tests fail on Cirrus CI and/or with FreeBSD.
Solution:   Make 'backupskip' empty. Do not run tests as root. Check for
            directory when using viminfo. (Ozaki Kiichi, closes #6596)
2020-08-01 16:08:19 +02:00
Bram Moolenaar
5b157fe2ed patch 8.2.0920: writing viminfo fails with a circular reference
Problem:    Writing viminfo fails with a circular reference.
Solution:   Use copyID to detect the cycle. (closes #6217)
2020-06-07 16:08:08 +02:00
Bram Moolenaar
4c68375057 patch 8.2.0517: Vim9: cannot separate "func" and "func(): void"
Problem:    Vim9: cannot separate "func" and "func(): void".
Solution:   Use VAR_ANY for "any" and VAR_UNKNOWN for "no type".
2020-04-05 21:38:23 +02:00
Bram Moolenaar
db99f9f29a patch 8.2.0436: no warnings for incorrect printf arguments
Problem:    No warnings for incorrect printf arguments.
Solution:   Fix attribute in declaration.  Fix uncovered mistakes. (Dominique
            Pelle, closes #5834)
2020-03-23 22:12:22 +01:00
Bram Moolenaar
408030e8d0 patch 8.2.0240: using memory after it was freed
Problem:    Using memory after it was freed. (Dominique Pelle)
Solution:   Do not mix converion buffer with other buffer.
2020-02-10 22:44:32 +01:00
Bram Moolenaar
8a7d6542b3 patch 8.2.0149: maintaining a Vim9 branch separately is more work
Problem:    Maintaining a Vim9 branch separately is more work.
Solution:   Merge the Vim9 script changes.
2020-01-26 15:56:19 +01:00
Bram Moolenaar
9b4a15d5db patch 8.2.0111: VAR_SPECIAL is also used for booleans
Problem:    VAR_SPECIAL is also used for booleans.
Solution:   Add VAR_BOOL for better type checking.
2020-01-11 16:05:23 +01:00
Bram Moolenaar
8cd6cd8087 patch 8.2.0050: after deleting a file mark it is still in viminfo
Problem:    After deleting a file mark it is still in viminfo.
Solution:   When a file mark was deleted more recently than the mark in the
            merged viminfo file was updated, do not store the mark. (Pavol
            Juhas, closes #5401, closes #1339)
2019-12-27 17:33:26 +01:00
Bram Moolenaar
32aa10203b patch 8.1.2243: typos in comments
Problem:    Typos in comments.
Solution:   Fix the typos. (Dominique Pelle, closes #5160)  Also adjust
            formatting a bit.
2019-11-02 22:54:41 +01:00
Bram Moolenaar
52410575be patch 8.1.2225: the "last used" info of a buffer is under used
Problem:    The "last used" info of a buffer is under used.
Solution:   Add "lastused" to getbufinfo(). List buffers sorted by last-used
            field. (Andi Massimino, closes #4722)
2019-10-27 05:12:45 +01:00
Bram Moolenaar
6bd1d77067 patch 8.1.2126: viminfo not sufficiently tested
Problem:    Viminfo not sufficiently tested.
Solution:   Add more test cases.  Clean up comments. (Yegappan Lakshmanan,
            closes #5032)
2019-10-09 22:01:25 +02:00
Bram Moolenaar
da6c033421 patch 8.1.1957: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move code to where it fits better. (Yegappan Lakshmanan,
            closes #4883)
2019-09-01 16:01:30 +02:00
Bram Moolenaar
d7663c22c6 patch 8.1.1823: command line history code is spread out
Problem:    Command line history code is spread out.
Solution:   Put the code in a new file. (Yegappan Lakshmanan, closes #4779)
            Also graduate the +cmdline_hist feature.
2019-08-06 21:59:57 +02:00
Bram Moolenaar
736cd2cfbe patch 8.1.1749: Coverity warns for using negative index
Problem:    Coverity warns for using negative index.
Solution:   Move using index inside "if".
2019-07-25 21:58:19 +02:00
Bram Moolenaar
c3328169d5 patch 8.1.1736: viminfo support is spread out
Problem:    Viminfo support is spread out.
Solution:   Move more viminfo code to viminfo.c. (Yegappan Lakshmanan,
            closes #4717)  Reorder code to make most functions static.
2019-07-23 22:15:25 +02:00
Bram Moolenaar
26b654a5df patch 8.1.1731: command line history not read from viminfo on startup
Problem:    Command line history not read from viminfo on startup.
Solution:   Get history length after initializing it.
2019-07-22 20:50:17 +02:00
Bram Moolenaar
1e78e69680 patch 8.1.1730: wrong place for mark viminfo support
Problem:    Wrong place for mark viminfo support.
Solution:   Move it to viminfo.c. (Yegappan Lakshmanan, closes #4716)
2019-07-22 20:18:27 +02:00
Bram Moolenaar
5f32ece459 patch 8.1.1728: wrong place for command line history viminfo support
Problem:    Wrong place for command line history viminfo support.
Solution:   Move it to viminfo.c.
2019-07-21 21:51:59 +02:00
Bram Moolenaar
defa067c54 patch 8.1.1727: code for viminfo support is spread out
Problem:    Code for viminfo support is spread out.
Solution:   Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)
2019-07-21 19:25:37 +02:00