| Commit message (Collapse) | Author | Age |
... | |
|\
| |
| | |
Fix collection of libuv dependent libraries.
|
| |
| |
| |
| |
| | |
Otherwise, the -rdynamic that is being passed on the command line will
require a dynamic link, even though we often want a static one.
|
|/ |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
- process spawning was decoupled from the rest of the job control logic. The
goal is reusing it for spawning processes connected to pseudo terminal file
descriptors.
- job_start now receives a JobOptions structure containing all the startup
options.
|
| |
| |
| |
| |
| | |
Send sigterm immediately since it can be caught by processes. If they don't
respond and are still alive after a while, SIGKILL will be sent.
|
|/
|
|
|
| |
Job autocommands will no longer buffer data chunks that don't end in newlines
characters.
|
|
|
|
|
| |
'compatible' and 'edcompatible' are forced to be off.
'ttyfast' is forced to be on.
|
|\ |
|
| |
| |
| |
| |
| | |
When COLORTERM != null force xterm-256color capabilities when TERM equals xterm
or screen.
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Use after free @ 1795.
Diagnostic : Real issue.
Rationale : prev_curtab can in fact be freed as a result of call
`win_close_othertab(win, free_buf, prev_curtab);`, but it's
later used at
`sprintf(..., tabpage_index(prev_curtab));`.
This was introduced at
3ffc5d81c34cfdd535573a50790690c88e4324bb.
Resolution : Move prev_idx calculation before the call freeing
prev_curtab.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problems : Assigned value is garbage or undefined @ 5363.
Result of operation is garbage or undefined @ 5356.
Result of operation is garbage or undefined @ 5320.
Result of operation is garbage or undefined @ 5192.
Diagnostic : False positives / Multithreading issues.
Rationale : Suggested error paths contain incoherent values for
has_mbyte, enc_utf8, and enc_dbcs, which should always hold
the relationship has_mbyte = enc_utf8 || enc_dbcs, with
enc_utf8 and enc_dbcs being mutually exclusive.
Asserting on the globals, though, fails, because checker
believes they could be modified by other threads in
between.
Resolution : Make local copy of globals and assert relationship on them.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The current will segfault for large chunks of output because the output buffer
will be overrun.
Using unibi_format is simple because we can simply flush the buffer when its
full.
|
| | |
|
| |
| |
| |
| |
| | |
Many common terminals that set TERM=xterm and $COLORTERM support 256 colors. If
this is detected, use force the hardcoded xterm's setaf/setab capabilities.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Removed term.c, term.h and term_defs.h
- Tests for T_* values were removed. screen.c was simplified as a
consequence(the best strategy for drawing is implemented in the UI layer)
- Redraw functions now call ui.c functions directly. Updates are flushed with
`ui_flush()`
- Removed all termcap options(they now return empty strings for compatibility)
- &term/&ttybuiltin options return a constant value(nvim)
- &t_Co is still available, but it mirrors t_colors directly
- Remove cursor tracking from screen.c and the `screen_start` function. Now the
UI is expected to maintain cursor state across any call, and reset it when
resized.
- Remove unused code
|
|\ |
|
| |
| |
| |
| |
| | |
This is to ensure ctrl+c is only pressed after the command has started executing
in the viml_system_spec.lua system() interrupt test.
|
| | |
|
|/
|
|
| |
The flag is no longer valid(pynvim always starts a GUI)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Negative array index write @ 1042.
Diagnostic : False positive.
Rationale : Suggested error path cannot occur: idx should be >= 0, as
previous check ensures there's a matching while/for.
Resolution : Assert idx >= 0.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Out-of-bounds access @ 3730.
Diagnostic : Real issue.
Rationale : str is constructed step by step, str_l growing each time.
str_m is the maximum length of str. So, at every step,
avail is computed to see if the piece to be added fits in.
If not, piece is truncated to a max of `avail`, so that str
stays in bounds. Such blocks where pieces are added are of
the form `if (str_l < str_m)`. It then follows that once
one of those pieces exhausts available space on str, no
other such block should be entered. Formally:
str_l < strl_m && avail = str_m - str_l && x >= avail
-->
str_l + x >= str_m
Now, suggested error path successively enters blocks where
str is exhausted. We're not sure if coverity just fails to
follow above implications, or, on the contrary, it's aware
of them, but it's signaling the more complex possibility of
implications not being fulfilled because of possible
arithmetic overflows. We opt then to assume this last case,
as the possibility is in fact there.
Resolution : Refactor code so that tracked condition doesn't depend on
arithmetic implications. Check for overflow.
|
|/
|
|
|
|
|
|
|
|
|
| |
Problem : Negative array index read @ 5674.
Diagnostic : False positive.
Rationale : Problem occurs if for loop does not find any match, which
implies shl->lnum == 0, and then we enter the
`if (shl->lnum == lnum)` branch, which implies lnum == 0 as
well. That's not possible, as function should not be called
with lnum == 0.
Resolution : Change conditions `shl->lnum == lnum` into `bot != -1`.
|
|\ |
|
|/ |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
This is necessary for some terminals, or else they will clear/insert lines with
wrong background color
|
| |
| |
| |
| |
| | |
For unibilium extension indexes, use signed integer type initialized with -1 to
distinguish from the first extension string which will always have index 0.
|
| |
| |
| |
| |
| | |
It seems uv_tty_t doesn't work properly on OSX(it is set to blocking mode,
which causes UV_RUN_NOWAIT to misbehave).
|
|/ |
|
|\
| |
| | |
Update message pack to include the FreeBSD and OpenBSD byteswap fix.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: map() leaks memory when there is an error in the expression.
Solution: Call clear_tv(). (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-525
|
|\ \
| |/
|/| |
Get rid of a bashism in the fs_spec test.
|
| |
| |
| |
| |
| | |
FreeBSD doesn't use bash by default, causing the group id to be print
out in the middle of the test.
|
|\ \ |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Note: Clint was failing because of recommending not to use long. But
converting to long is the proper refactoring here, in as far as other
longs exist. We could, then, disable clint rule, or remove this file
from checking. We choose the former, as it's being discussed what to do
with longs, but a decision has not been taken. So, it seems most
reasonable to allow longs for now, to enable proper refactorings, and
then, when a decision is taken, refactor all longs to some other thing.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Refactoring summary:
- MB_STRNICMP: Inlined.
- MB_STRNCMP: Inlined.
|
| | |
| | |
| | |
| | | |
MacOS (pre Mac OS X) is not supported anymore.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Refactoring summary:
- ui_write(): len: int --> size_t
* parse_abstract_ui_codes(): len: int --> size_t
* string_convert(): lenp: int * --> size_t *
- string_convert_ext(): lenp : int * --> size_t *
unconvlenp: int * --> size_t *
* utf8len_tab_zero: char[] --> uint8_t[]
* iconv_string(): slen : int --> size_t
unconvlenp: int * --> size_t *
resultlenp: int * --> size_t *
- mch_print_text_out(): len: int --> size_t
* out_pos: int --> size_t
|
|\ \ |
|
| | | |
|