| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
During a refactor long ago, we changed the `getdigits_*` familiy of
functions to abort on overflow. But this is often wrong, because many
of these codepaths are handling user input.
Solution:
Decide at each call-site whether to use "strict" mode.
fix #5555
|
| |
|
|
|
|
|
|
| |
Problem: May free memory twice when out of memory.
Solution: Check that backslash_halve_save() returns a different pointer.
(Dominique Pelle, closes vim/vim#4847)
https://github.com/vim/vim/commit/f1552d07d715b437d941659479942c2543b02bd4
|
|
|
|
|
| |
Problem: Coverity warns for divide by zero.
Solution: Make sure width is larger than zero.
https://github.com/vim/vim/commit/7833dab73c658e65f38553af89fd60c57a11ef49
|
|
|
|
|
| |
Problem: vim_str2nr() does not handle numbers close to the maximum.
Solution: Check for overflow more precisely. (Ken Takata, closes vim/vim#2746)
https://github.com/vim/vim/commit/07ccf7ce7fb948fd4d080b817e9fbaea9e721dab
|
|
|
|
|
| |
Problem: Farsi support is outdated and unused.
Solution: Delete the Farsi support.
https://github.com/vim/vim/commit/14184a3133b9a6ee5f711d493c04e41ba4fa7c2f
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using 'listchars' is a nice way to highlight tabs that were included by accident
for buffers that set 'expandtab'.
But maybe one does not want this for buffers that set 'noexpandtab', so now one
can use:
autocmd FileType go let &l:listchars .= ',tab: '
|
|/
|
|
|
|
|
| |
wp->w_height_inner now contains the "inner" size, regardless if the
window has been drawn yet or not. It should be used instead of
wp->w_grid.Rows, for stuff that is not directly related to accessing
the allocated grid memory, such like cursor movement and terminal size
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Bogus characters appear when indenting kicks in while doing a
visual-block append.
Solution: Recompute when indenting is done. (Christian Brabandt)
https://github.com/vim/vim/commit/e2e69e48134cbfdedea7802810932f8592705024
|
|
|
|
|
|
|
| |
First step towards implemening issue #7401.
The same can be done for all deprecated mb_ functions in follow-up
patches.
|
|
|
|
|
|
|
| |
set (#8757)
Problem: CTRL-G j in Insert mode is incorrect when 'virtualedit' is set.
Solution: Take coladd into account. (Christian Brabandt, closes vim/vim#2743)
https://github.com/vim/vim/commit/db0eedec16621854c772760d02427804bc0a298d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #8466
closes #8664
Regression by 0d7daaad98d5.
- Fix length comparison.
- Fix loop(s) which iterated over all fields of array `pcc` even if it
was not filled up (try unicode 0x9f as statusline character).
Note about the tests:
- To input unicode with more than two hex digits you can use <C-v>U...:
a + U+fe20: a︠
a + U+fe20 + U+fe21: a︠︡
|
|
|
|
|
|
| |
Use LuaJIT FFI to create char pointer.
Validate output with utf_ptr2char(), vim_iswordc() and vim_iswordp().
Use const for LuaJIT string-to-char conversion.
|
|
|
|
|
|
|
|
| |
Problem: Characters below 256 that are not one byte are not always
recognized as word characters.
Solution: Make vim_iswordc() and vim_iswordp() work the same way. Add a test
for this. (Ozaki Kiichi)
https://github.com/vim/vim/commit/4019cf90b8657d4ab1c39744db63550f44f405a2
|
|
|
|
|
|
|
| |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case. Avoid lower case macros use an
argument twice.
https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
|
|
|
|
|
|
| |
Problem: Compiler warnings for comparing unsigned char with 256 always
being true. (Manuel Ortega)
Solution: Add type cast.
https://github.com/vim/vim/commit/977d03733601948ab334fec24d0da82bc18c57c3
|
| |
|
| |
|
|
|
|
| |
No idea why it thinks that pre is constant expression, but switch() may be
removed.
|
|
|
|
|
|
|
| |
It appears that transchar() was working under assumption that
`transchar_nonprint()` may be used for multibyte characters while its
documentation stated exact opposite. It was not actually untrue though, except
that longer buffer would be needed then the one stated in documentation. But it
is false now with assert().
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Problem: Outdated and misplaced comments.
Solution: Fix the comments.
https://github.com/vim/vim/commit/caa55b65c204946d160c1b743c5f8f3b506dc4d3
|
|/
|
|
| |
It is incorrect to *first* access ptr[2] and *then* check whether maxlen allows
it.
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Ubsan reports errors for integer overflow.
Solution: Define macros for minimum and maximum values. Select an
expression based on the value. (Mike Williams)
https://github.com/vim/vim/commit/7a40ea2138102545848ea86a361f1b8dec7552b5
|
|
|
|
|
|
|
| |
Problem: Number variables are not 64 bits while they could be.
Solution: Add the num64 feature. (Ken Takata)
https://github.com/vim/vim/commit/22fcfad29276bd5f317faf516637dcd491b96a12
|
|
|
|
|
|
|
|
| |
Based on comments it appears that some non-printable characters intended to be
shown as `|x` (0xA0..0xFE) and some as `~x` (0x80..0x9F, 0xFF, excluding
previous). But this never happens because this is being catched by condition `c
>= 0x80` above which makes them be represented as `<A0>`. Since I find this
variant more useful and it additionally is backwards compatible (Vim does the
same thing) I just dropped dead branches.
|
| |
|
| |
|
| |
|
|
|
| |
Also renames functions added in master and renamed here.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: When virtcol() gets a column that is not the first byte of a
multi-byte character the result is unpredictable. (Christian
Ludwig)
Solution: Correct the column to the first byte of a multi-byte character.
Change the utf-8 test to new style.
https://github.com/vim/vim/commit/0c0590d9827cb07a33c1552cb3558b94bddcb4dc
Closes #6269
|
|
|
|
|
|
|
|
|
|
| |
Problem: Asan detects a memory error when EXITFREE is defined. (Dominique
Pelle)
Solution: In getvcol() check for ml_get_buf() returning an empty string.
Also skip adjusting the scroll position. Set "exiting" in
mch_exit() for all systems.
https://github.com/vim/vim/commit/955f198fc546cc30a34361932d3f454a61df0efa
|
|
|
|
|
|
| |
Problem: No testing for Farsi code.
Solution: Add a minimal test. Clean up Farsi code.
https://github.com/vim/vim/commit/ee2615af64fdcee87d8e4b13b65356e77fbd969b
|
|
|
|
|
|
|
|
| |
Main points:
- Replace `char_u` with `char` in some cases.
- Remove `str[len] = NUL` hack in some cases when `str` may be considered
`const`.
|
| |
|