aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Merge #1983: Fix coverity issues. (5)Eliseo Martínez2015-02-20
|\
| * 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`.
* Merge PR #1993 'legacy test: migrate test 72'Thiago de Arruda2015-02-20
|\
| * legacy test: migrate test 72Fabian Brosda2015-02-20
|/
* Merge PR #2025 'More fixes to the new TUI'Thiago de Arruda2015-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
|/
* Merge pull request #2022 from jszakmeister/update-msgpack-for-freebsd-fixJohn Szakmeister2015-02-20
|\ | | | | Update message pack to include the FreeBSD and OpenBSD byteswap fix.
| * Update message pack to include the FreeBSD and OpenBSD byteswap fix.John Szakmeister2015-02-19
| |
* | 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
* | Merge pull request #1964 from jszakmeister/fix-bashism-in-fs-spec-testJohn Szakmeister2015-02-19
|\ \ | |/ |/| Get rid of a bashism in the fs_spec test.
| * Get rid of a bashism in the fs_spec test.John Szakmeister2015-02-09
| | | | | | | | | | FreeBSD doesn't use bash by default, causing the group id to be print out in the middle of the test.
* | Merge #1979 'Enable -Wconversion'Justin M. Keyes2015-02-18
|\ \
| * | 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.
| * | Enable -Wconversion: ui.c.Eliseo Martínez2015-02-18
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge PR #2007 'Fixes for the new TUI'Thiago de Arruda2015-02-18
|\ \
| * | input: Escape utf8 sequences that contain CSI/K_SPECIALThiago de Arruda2015-02-18
| | |
| * | tui: Remove support for overriding escape sequences with nvim optionsThiago de Arruda2015-02-18
| | | | | | | | | | | | | | | | | | | | | - Add xterm/iterm sequences for changing cursor shape(with tmux wrapping). Enabled by setting the NVIM_TUI_ENABLE_CURSOR_SHAPE environment variable. - Remove nvim_override parameter from unibi_out. In the future another way of overriding the terminal strings will be added.
| * | tui: Fix use after free(reported by clang static analyzer)Thiago de Arruda2015-02-18
| | |
| * | tui: Add support bracketed pasteThiago de Arruda2015-02-18
| | | | | | | | | | | | | | | Inspired by the vim-bracketed-paste plugin but adapted for the new TUI. Also initialize some variables of type `Error` that were uninitialized
| * | tui: Fix to_status_line terminfo sequence for xtermThiago de Arruda2015-02-17
| | | | | | | | | | | | | | | Moving the cursor to the status line(to set the title) requires a different sequence for xterm than the one used by urxvt.
| * | tui: Fix background clear for some terminalsThiago de Arruda2015-02-17
|/ / | | | | | | | | Some terminals will perform clearing functions using the current attributes. Ensure the default attributes are set before clearing.
* | fix rebase hiccup #1911Justin M. Keyes2015-02-17
| |
* | Merge #1717 'TabNew, TabNewEntered, TabClosed'Justin M. Keyes2015-02-16
|\ \
| * | Add TabClosed eventFelipe Morales2015-02-16
| | | | | | | | | | | | TabClosed is triggered when a tab page closes.
| * | Add TabNewEnteredFelipe Morales2015-02-16
| | | | | | | | | | | | TabNewEntered is triggered after vim has entered a buffer in new tab.
| * | Add TabNew eventFelipe Morales2015-02-16
|/ / | | | | | | | | TabNew triggers when entering a new tab page, but not when entering an already created one.
* | Merge PR #1820 'Reimplement builtin terminal UI with termkey/unibilium'Thiago de Arruda2015-02-16
|\ \
| * | test: Fix 051_highlight_spec.luaThiago de Arruda2015-02-16
| | | | | | | | | | | | | | | | | | - The syntax `gui=` is invalid when setting properties of highlight group. - Wait for the initial "-- More --" prompt before continuing. Required to avoid a race condition
| * | cleanup: Remove unused functions and builtin termcapsThiago de Arruda2015-02-16
| | |
| * | syntax: Refactor to store all term and gui attributes independentlyThiago de Arruda2015-02-16
| | | | | | | | | | | | | | | Now the attrentry_T structure will store all attributes in separate fields for cterm and rgb UIs.
| * | ui: Rewrite the builtin terminal UIThiago de Arruda2015-02-16
| | | | | | | | | | | | | | | Now all terminal-handling code was moved to src/nvim/tui, which implements a new terminal UI based on libtermkey and unibilium
| * | ui: Remove/adapt some old code for a big UI refactorThiago de Arruda2015-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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`)
| * | ui: Remove redundant cursor_goto callsThiago de Arruda2015-02-16
| | |
| * | input: Remove input_buffer_{save,restore}Thiago de Arruda2015-02-16
| | | | | | | | | | | | | | | | | | | | | The input buffer is only used for data that really came from another process and is only visible to os/input.c. Remove the input_buffer_{save,restore} functions, they are not necessary(Also can result in problems if data comes while the typeahead is saved).
| * | input: Fix handle_mouse_event functionThiago de Arruda2015-02-16
| | | | | | | | | | | | Ignore all keys that aren't prefixed with KS_EXTRA.
| * | input: Prefer keycodes in input_enqueue key translationThiago de Arruda2015-02-16
| | | | | | | | | | | | This is required to correctly handle certain keys such as <delete>
| * | macro: Add MAX macro and rename min to MINThiago de Arruda2015-02-16
| | |
| * | test: Increase default_screen_timeout when running on travisThiago de Arruda2015-02-16
| | | | | | | | | | | | | | | | | | Some screen tests such as system/ctrl+c(viml_system_spec.lua) can take some time to respond(default kill timeout is 2 seconds for an interrupted job) and fail when running under a slow environment such as travis.
| * | test: Remove unnecessary tests from viml_system_spec.luaThiago de Arruda2015-02-16
| | | | | | | | | | | | | | | | | | The `system` function is never executed with these tests because the ctrl+c is queued with the input string that calls it(The `process_interrupts` function will destroy all previous input when a ctrl+c is found).
| * | test: Fix race condition in window_spec.luaThiago de Arruda2015-02-16
| | | | | | | | | | | | | | | Without waiting for the 'gg' command to be processed, its possible that the following assertion will fail.