| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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`)
|
|
|
|
|
|
|
|
|
| |
Problem : Unitialized scalar variable @ 3239.
Diagnostic : Harmless issue.
Rationale : It's true pos.coladd is not initialized when calling
searchit(). But that's no problem, as coladd is only set in
that function.
Resolution : Initialize variable to 0.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| | |
[WIP] "abstract_ui" fixes and improvements
|
| |
| |
| |
| |
| |
| | |
- Remove suspend method from the UI protocol
- Handle `:suspend` by disconnecting the last channel that sent a request to
nvim.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- restores behavior equivalent to Vim compiled without FEAT_MZSCHEME, etc.
(avoids spurious "E492: Not an editor command: EOF") for code such as:
```vim
if 0
perl << EOF
end
EOF
endif
```
see :help script-here
- fixes #1308
- fixes https://github.com/junegunn/vim-plug/issues/111
|
|\
| |
| | |
vim-patch:7.4.486
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Check for writing to a yank register is wrong.
Solution: Negate the check. (Zyx). Also clean up the #ifdefs.
https://code.google.com/p/vim/source/detail?r=v7-4-486
|
|\ \
| |/
|/| |
vim-patch:7.4.450
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Not all commands that edit another buffer support the +cmd
argument.
Solution: Add the +cmd argument to relevant commands. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?r=v7-4-450
|
|/
|
|
|
|
|
|
| |
Problem: Cursor shape is wrong after a CompleteDone autocommand.
Solution: Update the cursor and mouse shape after ":normal" restores the
state. (Jacob Niehus)
https://code.google.com/p/vim/source/detail?r=v7-4-494
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
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
|
|/
|
|
|
| |
The :drop ex command was inadvertently removed when removing FEAT_GUI.
This patch reintroduces it.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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;
}
...
...
...
}
```
|
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Nvim now relies much less on setting terminal mode to cooked mode, remove most
calls to settmode, except for those that happen on startup or when suspending.
Eventually even those will be handled by the UI layer.
|
| |
|
|\
| |
| | |
constify and func-attribute memory.c and strings.c
|
| |
| |
| |
| | |
Fix MB_COPY_cHAR() to accept const pointers.
|
|/
|
|
|
| |
These functions only used to call another os_* function, so remove them and
replace all occurences in the project.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem : Double free @ 5213.
Diagnostic : False positive.
Rationale : Suggested error path contains two consecutive invocations
of `ends_excmd(*p)` having different results, which is not
possible. First invocation is before the while loop. Second
invocation is the while loop condition itsef.
Resolution : Refactor while loop into do-while loop. That removes the
impossible path from analysis, and, in addition, is a bit
more efficient.
|
|
|
|
|
|
|
| |
Problem: Cannot build. Warning for shadowed variable. (John Little)
Solution: Add missing change. Remove declaration.
https://code.google.com/p/vim/source/detail?name=v7-4-414&r=20dbceb6f4713ccd01be45dc531abc269fbb7579
|
|
|
|
|
|
|
|
| |
Problem: Cannot define a command only when it's used.
Solution: Add the CmdUndefined autocommand event. (partly by Yasuhiro
Matsumoto)
https://code.google.com/p/vim/source/detail?r=v7-4-414
|
|
|
|
|
|
|
|
|
| |
Problem : Uninitialized argument value @ 7704.
Diagnostic : False positive.
Rationale : Error occurs if `switch(spec_idx)` doesn't enter any case,
which should not occur after
`spec_idx = find_cmdline_var(...)` returned non-negative.
Resolution : Add default clause to switch and error if reached.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Cannot figure out what argument list is being used for a window.
Solution: Add the arglistid() function. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?r=v7-4-312
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using a regexp pattern to highlight a specific position can
be slow.
Solution: Add matchaddpos() to highlight specific positions
efficiently.
(Alexey Radkov.)
https://code.google.com/p/vim/source/detail?r=f9fa2e506b9f07549cd91074835c5c553db7b3a7
|
|
|
|
|
|
| |
Closes #788
Fixes #379
Ref #549
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This uses the provider/scripting infrastructure to reintroduce python support
through the msgpack-rpc API.
A new 'initpython' option was added, and it must be set to a command that will
bootstrap the python provider the first time it's needed.
|
| |
|
| |
|
| |
|
| |
|