| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
|
|
| |
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`.
|
| |
|
|
|
|
|
|
|
|
|
| |
Eliminate mb_init():
Set "enc_utf" and "has_mbyte" early. Eliminate "enc_unicode" and "enc_latin1like".
init_chartab() and screenalloc() are already invoked elsewhere
in the initialization process.
The EncodingChanged autocmd cannot be triggered.
At initialization, there is no spellfiles to reload
|
|
|
|
|
|
|
|
|
|
|
| |
Closes #5449
A file containing the string "vim" followed by a very large number in a modeline
location will trigger an overflow in getdigits() which is called by
chk_modeline() when trying to parse the version number.
Add getdigits_safe(), which does not assert overflows, but reports them to the
caller.
|
|
|
|
|
|
|
|
|
|
| |
move `call_shell` to misc1.c
Move some fns to state.c
Move some fns to option.c
Move some fns to memline.c
Move `vim_chdir*` fns to file_search.c
Move some fns to new module, bytes.c
Move some fns to fileio.c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
strtoimax is only required to set errno if there is an
underflow/overflow. In those conditions, strtoimax returns
INTMAX_MIN/INTMAX_MAX respectively, so that's the only time we should be
checking the value of errno.
Even in those conditions, errno needs to be set to a known good value
before calling strtoimax to differentiate between "value is actually
INTMAX_MAX/MIN" and "value over/underflows".
Closes #5279
|
|
|
|
|
|
|
| |
Problem: Conflict for "chartab". (Kazunobu Kuriyama)
Solution: Rename the global one to something less obvious. Move it into
src/chartab.c.
https://github.com/vim/vim/commit/88e8f9f14434a7cd538d0c159dc432bea869a5bd
|
|
|
|
| |
This removes attribute FUNC_ATTR_NONNULL_ALL for functions without
a pointer parameter.
|
|
|
|
|
|
|
| |
Reasons:
- One does not have to do `s[len] = NUL` to work with these functions if they do
not need to replace the whole string: thus `s` may be const.
- One does not have to save/restore p_cpo to work with them.
|
| |
|
|
|
|
| |
Co-authored-by: Wayne Rowcliffe
|
|
|
|
|
|
|
| |
Problem: No support for binary numbers.
Solution: Add "bin" to nrformats. (Jason Schulz)
https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
|
|
|
|
|
|
|
| |
Problem: CTRL-A on hex number in Visual block mode is incorrect.
Solution: Account for the "0x". (Hirohito Higashi)
https://github.com/vim/vim/commit/5adfea1ac63e252556bccce54e92e8e10b58f592
|
|
|
|
|
|
|
| |
Problem: Still a few problems with CTRL-A and CTRL-X in Visual mode.
Solution: Fix the reported problems. (Christian Brabandt)
https://github.com/vim/vim/commit/5d1bc78a2b9fbe3e3112afcde7c80eb19d5989f4
|
|
|
|
| |
Fixes unused assignments found by clang-scan.
|
|
|
|
| |
Case: (dobin > 1) && (pre != 0)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Wrong cursor positioning when 'linebreak' is set and lines wrap.
Solution: (Christian Brabandt)
https://github.com/vim/vim/commit/v7-4-579
See https://groups.google.com/d/msg/vim_dev/Eh3N9L68Ajw/4dB5x1RTQJQJ
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Merge mch_has_wildcard() and mch_has_exp_wildcar() with their upstream
equivalents for Windows and replace the "mch_" suffix with "path_".
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove abstract_ui global, now it is always active
- Remove some terminal handling code
- Remove unused functions
- Remove HAVE_TGETENT/TERMINFO/TERMIOS/IOCTL #ifdefs
- Remove tgetent/terminfo from version.c
- Remove curses/terminfo dependencies
- Only start/stop termcap when starting/exiting the program
- msg_use_printf will return true if there are no attached UIs(
messages will be written to stdout)
- Remove `ex_winpos`(implement `:winpos` with `ex_ni`)
|
| |
|
| |
|
|\
| |
| | |
Small fixes.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Operands don't affect results (CONSTANT_EXPRESSION_RESULT).
Diagnostic : Harmless issue.
Rationale : n >= LONG_MIN, n being intmax_t, is always true for
architectures where sizeof(intmax_t) == sizeof(long).
Resolution : Add sizes check.
|
|/
|
|
|
|
| |
Regarding dict_lookup() in eval.c: both definitions are the same, the
only difference being the spacing between the indirection operator and
the indentation level.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem : getdigits() currently returns a long, but at most places,
return value is casted (unsafely) into an int. Making casts
safe would introduce a lot of fuss in the form of assertions
checking for limits.
Note : We cannot just change return type to int, because, at some
places, legitimate long values are used. For example, in
diff.c, for line numbers.
Solution : Introduce new functions:
- get_digits() : Gets an intmax_t from a string.
- get_int_digits() : Wrapper for ints.
- get_long_digits() : Wrapper for longs.
And replace getdigits() invocations by the appropiate
wrapper invocations.
|
|
|
|
|
|
|
|
| |
Problem: Cursor movement still wrong when 'lbr' is set and there is a
number column. (Hirohito Higashi)
Solution: Add correction for number column. (Hiroyuki Takagi)
https://code.google.com/p/vim/source/detail?r=v7-4-489
|
|\
| |
| | |
constify and func-attribute memory.c and strings.c
|
| |
| |
| |
| | |
Fix MB_COPY_cHAR() to accept const pointers.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
vim-patch:7.4.478
Problem: Using byte length instead of character length for
'showbreak'.
Solution: Compute the character length. (Marco Hinz)
https://code.google.com/p/vim/source/detail?r=v7-4-478
|
|/
|
|
|
|
|
|
|
|
| |
vim-patch:7.4.473
Problem: Cursor movement is incorrect when there is a number
column/sign/fold column and 'sbr' is displayed.
Solution: Adjust the column for 'sbr'. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-473
|
|
|
|
|
|
|
|
|
|
| |
Problem : Dead assignment @ 1037.
Diagnostic : Harmless issue.
Rationale : `tab_corr` is in effect unused after signaled point.
Previous code using it after that point was removed at
24ebb018e28187c61900b1616e4f79fec9d70878.
Resolution : Remove dead assignment. As only one usage remains, remove
variable and inline the only usage.
|
|
|
|
|
|
|
| |
Problem: Problem with breakindent/showbreak and tabs.
Solution: Handle tabs differently. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?name=v7-4-416
|
|
|
|
|
|
| |
Problem: With 'linebreak' a tab causes a missing line break.
Solution: Count a tab for what it's worth also for shorter lines.
(Christian Brabandt)
|
|
|
|
|
|
|
|
|
| |
Make 'breakindent' work with the 'list' option.
Originally patched in vim patch 7.4.353, by chrisbra
(https://code.google.com/p/vim/source/detail?r=d42a1d3b74d40f580359dbd139d2d0dfa7235252)
Updated version.c.
|