| Commit message (Collapse) | Author | Age |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Can't build with tiny features. (Tony Mechelynck)
Solution: Use "return" instead of "break".
https://code.google.com/p/vim/source/detail?r=v7-4-452
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Can't easily close the help window. (Chris Gaal)
Solution: Add ":helpclose". (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-449
|
|\ \ \
| | | |
| | | | |
vim-patch:7.4.447
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Spell files from Hunspell may generate a lot of errors.
Solution: Add the IGNOREEXTRA flag.
https://code.google.com/p/vim/source/detail?r=v7-4-447
|
|\ \ \
| | | |
| | | | |
vim-patch:7.4.395
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: C indent is wrong below an if with wrapped condition followed by
curly braces. (Trevor Powell)
Solution: Make a copy of tryposBrace.
https://code.google.com/p/vim/source/detail?r=v7-4-395
|
|/ /
| |
| |
| |
| |
| |
| | |
Problem: Can't use winrestview to only restore part of the view.
Solution: Handle missing items in the dict. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-311
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Using getchar() in an expression mapping may result in
K_CURSORHOLD, which can't be recognized.
Solution: Add the <CursorHold> key. (Hirohito Higashi)
https://code.google.com/p/vim/source/detail?r=v7-4-457
|
|\ \
| |/
|/| |
vim-patch:7.4.456
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: 'backupcopy' is global, cannot write only some
files in a different way.
Solution: Make 'backupcopy' global-local. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-456
|
|\ \
| |/
|/| |
coverity/74718
|
| |
| |
| |
| |
| |
| |
| | |
- avoid null passed to ELOG format string
- receive (char *) internally
- modify identifier names for consistency
- edit comments for concision and consistency
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Completion for :buf does not use 'wildignorecase'. (Akshay H)
Solution: Pass the 'wildignorecase' flag around.
https://code.google.com/p/vim/source/detail?r=v7-4-455
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Advancing pointer over end of a string.
Solution: Init quote character to -1 instead of zero. (Dominique Pelle)
https://code.google.com/p/vim/source/detail?r=v7-4-390
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Several problems with Javascript indenting.
Solution: Improve Javascript indenting.
https://code.google.com/p/vim/source/detail?r=v7-4-355
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Using C indenting for Javascript does not work well for a {} block
inside parenthesis.
Solution: When looking for a matching paren ignore one that is before the
start of a {} block.
https://code.google.com/p/vim/source/detail?r=v7-4-350
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Notes regarding the removal of specific items:
- Aztec C: only on the Amiga.
- mch_check_win(): doesn't exist anymore.
- Comment in ex_cmds.c: It seems the context for this comment was
removed, but the comment was inadvertantly left alone.
|
| |
| |
| |
| |
| | |
It was (apparently) the default character encoding file used for line
printing on VMS, which is unsupported.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Define and use the ARRAY_SIZE macro
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A similar macro is defined in the Linux kernel [1].
To refactor the code I used a slightly modified Coccinelle script I found in
[2].
```diff
// Use the macro ARRAY_SIZE when possible
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU. GPLv2.
// URL: http://www.emn.fr/x-info/coccinelle/rules/array.html
// Options: -I ... -all_includes can give more complete results
@@
type T;
T[] E;
@@
- (sizeof(E)/sizeof(*E))
+ ARRAY_SIZE(E)
@@
type T;
T[] E;
@@
- (sizeof(E)/sizeof(E[...]))
+ ARRAY_SIZE(E)
@@
type T;
T[] E;
@@
- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)
@n@
identifier AS,E;
@@
- #define AS(E) ARRAY_SIZE(E)
@@
expression E;
identifier n.AS;
@@
- AS(E)
+ ARRAY_SIZE(E)
```
`spatch --in-place --sp-file array_size.cocci -I src/ -I build/include/ -I build/src/nvim/auto/ src/nvim/*.c`
[1] http://lxr.free-electrons.com/source/include/linux/kernel.h#L54
[2] http://www.emn.fr/z-info/coccinelle/rules/#macros
|
|\ \ \
| | | |
| | | | |
vim-patch:7.4.434, vim-patch:7.4.442
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Using unitinialized variable.
Solution: Pass the first window of the tabpage.
https://code.google.com/p/vim/source/detail?r=v7-4-442
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: gettabvar() is not consistent with getwinvar() and getbufvar().
Solution: Return a dict with all variables when the varname is empty.
(Yasuhiro Matsumoto)
https://code.google.com/p/vim/source/detail?r=v7-4-434
|
|\ \ \
| | | |
| | | | |
Reimplement :drop
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The :drop ex command was inadvertently removed when removing FEAT_GUI.
This patch reintroduces it.
|
|\ \ \ \
| |_|/ /
|/| | | |
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
|
| | |
|