aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | legacy tests: migrate test98Rainer Borene2015-03-11
| |
* | legacy tests: migrate test103Rainer Borene2015-03-11
| |
* | legacy tests: migrate test_qf_titleRainer Borene2015-03-11
| |
* | legacy tests: migrate test100Rainer Borene2015-03-11
| |
* | test: migrate legacy test 77 #2046Gustaf Lindstedt2015-03-08
| | | | | | | | Migrate legacy test 77 which tests mf_hash_grow() to lua/busted.
* | version: don't use NVIM_VERSION_* directly outside version.cBjörn Linse2015-03-08
| | | | | | | | This avoids recompiles after commiting.
* | config: split out versiondef.h from config.hBjörn Linse2015-03-08
|/ | | | This avoids recompiling every c file after comitting.
* tui: fall back to underline for undercurl. #2099Chase Geigle2015-03-07
| | | | closes #2098
* set_init_1: mb_init() on fallback encoding (utf8) #2106Floris van Liere2015-03-07
| | | | | | | | | | | | Explanation: Running `:set encoding=utf-8` _after_ startup correctly initializes multibyte; but mb_init() was _not_ called during startup if locale detection (enc_locale()) failed. This wasn't a problem in Vim because the Vim default encoding (latin1) does not require mb_init(). But Nvim defaults to utf8, so mb_init() is required. closes #1271 closes #1672
* Macro cleanup: USE_UNIXFILENAMEMichael Reed2015-03-05
|
* Macro cleanup: USE_ON_FLY_SCROLLMichael Reed2015-03-05
|
* Macro cleanup: USER_HIGHLIGHTMichael Reed2015-03-05
|
* Macro cleanup: USE_EXE_NAMEMichael Reed2015-03-05
|
* Macro cleanup: ONE_CLIPBOARDMichael Reed2015-03-05
|
* Macro cleanup: UNICODE16Michael Reed2015-03-05
| | | | Fix clint warnings as well.
* Macro cleanup: SPACE_IN_FILENAMEMichael Reed2015-03-05
|
* Macro cleanup: HAVE_SANDBOXMichael Reed2015-03-05
|
* vim-patch:7.4.578oni-link2015-03-04
| | | | | | | | Problem: Using getcurpos() after "$" in an empty line returns a negative number. Solution: Don't add one when this would overflow. (Hirohito Higashi) https://code.google.com/p/vim/source/detail?r=v7-4-578
* remote_ui: Fix error messages #2045Carlos Castillo2015-03-04
| | | | Make the error messages more precise and uniform.
* jobsend: Don't append extra newline after last itemBjörn Linse2015-03-03
| | | | This allows sending binary data that is not newline terminated
* deps: Add libvterm to the project dependenciesThiago de Arruda2015-02-28
| | | | | libvterm is a terminal emulation library with abstract display. It will be used to implement builtin terminal emulation into Nvim.
* illumos requires the use of limits.h for things like INT_MAX #2049Mike Zeller2015-02-26
|
* Fix warnings: message.c: copy_hotkeys_and_msg: Garbage value: FP. #2062Eliseo Martínez2015-02-26
| | | | | | | | | | | | | | Problem : Branch condition evaluates to a garbage value @ 2868. Diagnostic : False positive. Rationale : Array has_hotkey, declared at 2812, is initialized by console_dialog_alloc (only the needed number of elements). That same number of elements is used by copy_hotkeys_and_msg. Suggested path error is impossible, because it involves a different number of elements in those functions. Resolution : Above condition is cumbersome to prove through assertions. Thus, we prefer to just initialize the array to all-false at declaration point before calling console_dialog_alloc.
* job: Allow spawning jobs connected to pseudo terminalsThiago de Arruda2015-02-23
|
* job: Refactor process spawning and startup argumentsThiago de Arruda2015-02-23
| | | | | | | | - 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.
* job: Send SIGTERM before calling job_stop in job_teardownThiago de Arruda2015-02-23
| | | | | 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.
* eval: Fix buffering of data in job autocommandsThiago de Arruda2015-02-23
| | | | | Job autocommands will no longer buffer data chunks that don't end in newlines characters.
* Simpler handling for "always-on"/"always-off" options. #2002Florian Walch2015-02-22
| | | | | 'compatible' and 'edcompatible' are forced to be off. 'ttyfast' is forced to be on.
* tui: Also use xterm-256color when TERM=screen and COLORTERM != NULLThiago de Arruda2015-02-21
| | | | | When COLORTERM != null force xterm-256color capabilities when TERM equals xterm or screen.
* Fix warnings: window.c: close_last_window_tabpage(): Use after free: RI.Eliseo Martínez2015-02-21
| | | | | | | | | | | | | 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.
* Fix warnings: screen.c: screen_puts_len(): Various (4): FP/MI.Eliseo Martínez2015-02-21
| | | | | | | | | | | | | | | | 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.
* tui: Use unibi_format instead of unibi_runThiago de Arruda2015-02-21
| | | | | | | | 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.
* tui: Remove option cacheThiago de Arruda2015-02-21
|
* tui: Set setaf/setab capabilities for TERM=xtermThiago de Arruda2015-02-21
| | | | | 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.
* refactor: Remove term modules and termcap optionsThiago de Arruda2015-02-21
| | | | | | | | | | | | | | | - 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
* coverity/13746: Negative array index write: FP.Eliseo Martínez2015-02-20
| | | | | | | | 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.
* coverity/13683: Out-of-bounds access: RI.Eliseo Martínez2015-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* coverity/72768: Negative array index read: FP.Eliseo Martínez2015-02-20
| | | | | | | | | | | 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`.
* legacy test: migrate test 72Fabian Brosda2015-02-20
|
* tui: Don't use 'timeout' for determining esc timeoutThiago de Arruda2015-02-20
|
* tui: Set default color attributes when scrollingThiago de Arruda2015-02-20
| | | | | This is necessary for some terminals, or else they will clear/insert lines with wrong background color
* tui: Fix terminfo extension indexesThiago de Arruda2015-02-20
| | | | | For unibilium extension indexes, use signed integer type initialized with -1 to distinguish from the first extension string which will always have index 0.
* tui: Replace uv_tty_t by uv_pipe_tThiago de Arruda2015-02-20
| | | | | It seems uv_tty_t doesn't work properly on OSX(it is set to blocking mode, which causes UV_RUN_NOWAIT to misbehave).
* tui: Only send the pastetoggle key if necessaryThiago de Arruda2015-02-20
|
* vim-patch:7.4.525 #1988Fabian Brosda2015-02-19
| | | | | | | 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
* Enable -Wconversion: os_unix.c.Eliseo Martínez2015-02-18
|
* Enable -Wconversion: keymap.c.Eliseo Martínez2015-02-18
|
* Enable -Wconversion: indent.c.Eliseo Martínez2015-02-18
| | | | | | | | | | 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.
* Enable -Wconversion: mark.c.Eliseo Martínez2015-02-18
| | | | | | Refactoring summary: - MB_STRNICMP: Inlined. - MB_STRNCMP: Inlined.
* Enable -Wconversion: Passing-by: Remove dead code (MACOS_CONVERT).Eliseo Martínez2015-02-18
| | | | MacOS (pre Mac OS X) is not supported anymore.