| Commit message (Collapse) | Author | Age |
... | |
|\ \ \ \
| |_|/ /
|/| | | |
Use a local viminfo file when running the old tests.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This is required after defaulting to `nocp`, so that ~/.nviminfo
files don't interfere with the old legacy tests.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
Problem: expand("$shell") does not work as documented.
Solution: Do not escape the $ when expanding environment variables.
https://code.google.com/p/vim/source/detail?r=v7-4-423
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem : Dereference of null pointer @ 1980.
Diagnostic : False positive.
Rationale : I haven't been able to find the real reason why this is
signaled. Nonetheless, I've been able to track down the
introduction of this warning to commit
77135447e09903b45d1482da45869946212f7904.
The change there affecting this function is just a
transformation maintaining semantics. So, this must be a
FP, though I can't explain why.
Analyzer thinks `win->w_buffer` can be null in line 1980,
following an error path assuming win->w_buffer null at line
1819. Given that `win_close` function was not modified by
mentioned commit, I don't understand why this path is
analyzed after the changes, but not before them. Or if it's
analyzed, why it's discarded before changes but not after
them. I don't see anything in changes to
`close_last_window_tabpage` that should affect to
being able to deduce `win->w_buffer` is not null.
Resolution : Assert buffer not null in `win_close_othertab`.
Function comments state that passed window should have a
buffer that can be hidden, which implies there should be a
buffer.
Reverting changes to `close_last_window_tabpage` in
mentioned commit would be another way to fix this (tried
and worked).
But assert is preferred in this case because flat style
reads better and we have some other way to fix it.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem : Double free @ 5213.
Diagnostic : False positive.
Rationale : I haven't been able to find the real reason why this is
signaled. Nonetheless, I've been able to track down the
introduction of this warning to commit
77135447e09903b45d1482da45869946212f7904.
The change there affecting this function is just a
transformation maintaining semantics. So, this must be a
FP, though I can't explain why.
Resolution : Revert changes in mentioned commmit touching this function.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problems : Dereference of null pointer @ 6251.
Dereference of null pointer @ 6267.
Dereference of null pointer @ 6351.
Diagnostic : False positive.
Rationale : Problems occur if varp is null after
`varp = get_varp_scope(p, opt_flags);`.
That can only happen if option is hidden. Those are options
that can be set (for backwards compatibility reasons) but
that do nothing (see `:h hidden-options`,
`:h missing-options`). In particular, even if setting them
is allowed, value is not stored, so these options have no
real value.
So, suggested error paths should not occur, as checks
comparing option value and default value should discard
them.
Resolution : We could just `assert(varp)` before line 6235
`varp_local = varp;`. That was tried and worked.
But we prefer modifying the code to explicitly skip hidden
options.
A redundant `!istermoption(p)` is removed too (it's already
checked by for loop condition).
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Exlicit null dereferenced (FORWARD NULL) @ 2859.
Diagnostic : Real issue.
Rationale : Code within `if (!p_bk)` seems to assume `backup` not null
at that point, which may not be true.
Resolution : Don't enter conditional on null `backup`.
|
| |
| |
| |
| |
| |
| | |
FALSE was being used instead of FAIL.
They happen to have the same value, so it works the same.
But from function comment it's clear it uses the OK/FAIL convention.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Unchecked return value (CHECKED_RETURN) @ 2644.
Diagnostic : Real issue.
Rationale : Other `u_save` invocations are checked, and there's no
reason to think this invocation could not fail.
Resolution : Check and return if failed (other previous checks in the
same function just return, without reporting error, so
we just do the same).
|
|/
|
|
|
|
|
|
|
| |
Problem : Unchecked return value (CHECKED_RETURN) @ 8554.
Diagnostic : Real issue.
Rationale : Other invocations of `do_source` are checked and generate
an error message if fail. There seems to be no reason why
this particular instance could not fail the same.
Resolution : Check invocation and generate error message on failure.
|
|\
| |
| | |
Fix for clang analyzer warning in ops.c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Array access (via field 'y_array') results in a null pointer
dereference @ 4487.
Diagnostic : Real issue.
Rationale : If the array was previously freed and the size of the array
(y_current->y_size) was not updated to zero, the loop @4486
could be entered and a NULL pointer would be dereferenced.
Resolution : Use free_yank_all() to take care of the NULL check and
to free the current yank register.
|
|\ \
| |/
|/| |
add 'const' where possible: mbyte.c (rebase of #268)
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
Adapt #1533 and #1596 to conform to upstream patch
(https://groups.google.com/forum/#!topic/vim_dev/vp0Lwo9f56s).
Problem: Since patch 7.4.232 "1,3s/\n//" joins two lines instead of
three.
(Eliseo Martínez) Issue 287
Solution: Correct the line count. (Christian Brabandt)
Also set the last used search pattern.
|
|\
| |
| | |
vim-patch:7.4.463 + vim-patch:7.4.470
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Test 11 and 100 do not work properly on Windows.
Solution: Avoid using feedkeys(). (Ken Takata)
https://code.google.com/p/vim/source/detail?r=v7-4-470
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Test 86 and 87 may hang on MS-Windows.
Solution: Call inputrestore() after inputsave(). (Ken Takata)
https://code.google.com/p/vim/source/detail?r=v7-4-463
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace code like this
```c
func() {
if (cond) {
...
...
...
}
return ret;
}
```
```c
for (...) {
if (cond) {
...
...
...
}
}
```
with
```c
func() {
if (!cond) {
return ret;
}
...
...
...
}
```
```c
for (...) {
if (!cond) {
continue;
}
...
...
...
}
```
|
| |
|
|
|
|
| |
It is from legacy Vim, not used by Neovim.
|
|
|
|
|
| |
Patch provided by Christian Brabandt
Improved by oni-link
|
| |
|
| |
|
|\
| |
| | |
libnvim: Allow building as a static library
|
| | |
|
| | |
|
|\ \
| |/
|/| |
replace copy_spaces and copy_chars functions with equivalent memset.
|
| | |
|
|\ \
| | |
| | | |
Don't use env vars for configuration time options.
|
| | |
| | |
| | |
| | |
| | | |
- Clang's Address Sanitizer options may cause problems when running
the unit tests, restrict the use of these options to the nvim target.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- As a general rule of thumb one shouldn't use environment variables
for setting configuration options for CMake. The reason for this is
we don't know when CMake will be executed and re-evaluate that variable.
- e.g. If we run cmake a first time with a var set, and then run make on
a second session (with no var) and cmake is called because a
dependency changed, the option would be disabled
- This commit removes the use of environment vars from
src/nvim/CMakeLists.txt entirely
- Removed SKIP_UNITTEST since it could only be used to remove a target
at configuration time (and the target was optional anyway)
- Turned SANITIZE into an option, clang-asan.sh now passes cmake
-DSANITIZE=ON
- Removed SKIP_EXEC since it was disabling a target at configuration time
(not being used)
|
|\ \ \
| | | |
| | | | |
vim-patch:7.4.242 + vim-patch:7.4.243
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Using setreg() with a list of numbers does not work.
Solution: Use a separate buffer for numbers. (ZyX)
https://code.google.com/p/vim/source/detail?r=v7-4-249
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Update the doxygen comments.
- Use more descriptive types.
- Localize variables.
- Find the '\n' with memchr instead of a for loop.
- Remove `if (size)` checks before memmove
since memmove(dst,src,0) is a noop.
- Use memcpy instead since the pointers don't alias.
- Use xmemdupz instead of vim_strnsave.
- xrealloc instead of xmalloc/memcpy.
- Use memcnt/xmemscan/memchrsub.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Cannot use setreg() to add text that includes a NUL.
Solution: Make setreg() accept a list.
https://code.google.com/p/vim/source/detail?r=v7-4-243
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: getreg() does not distinguish between a NL used for a line
break and a NL used for a NUL character.
Solution: Add another argument to return a list. (ZyX)
https://code.google.com/p/vim/source/detail?r=v7-4-242
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
By "simple pointer" I mean a pointer that can be freed with a call to `free`
without leaking any member pointer.
This macro does exactly what `ga_clear_strings` does.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Used to free garrays of `salitem_T` and `fromto_T` in spell.c, and
garray `wcmd_T` in ex_docmd.c.
Helped-by: Jiaqi Li
|
| |/
|/| |
|
| |
| |
| |
| |
| | |
Also get rid of some platform references made irrelevant by the removal
of their respective platform specific GUI code.
|