aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* win: Terminal UI #6315Rui Abreu Ferreira2017-05-03
| | | | | | | | | | | | | | For CI builds unibilium is provided through msys2 packages, and libtermkey is built from source in third-party from equalsraf/libtermkey. In Windows we cannot read terminal input from the stdin file descriptor, instead use libuv's uv_tty API. It should handle key input and encoding. The UI suspend is not implemented for Windows, because the SIGSTP/SIGCONT do not exist in windows. Currently this is a NOOP. Closes #3902 Closes #6640
* Use vim_strchr(s, c) when c may be NUL (#6656)James McCoy2017-05-03
| | | | | | | | | | | As part of the refactoring in #5119, some vim_strchr() were changed to strchr(). However, vim_strchr() behaves differently than strchr() when c is NUL, returning NULL instead of a pointer to the NUL. Revert the strchr() calls where it isn't known whether c is NUL, since this causes a semantic change the surrounding code doesn't expect. In the case of #6650, this led to a heap overrun. Closes #6650
* coverity/161682: FP: Dereference after null check (#6630)Justin M. Keyes2017-05-01
|
* doc: bracketed-paste-modeJustin M. Keyes2017-05-01
|
* Merge pull request #6621 from jamessan/vim-7.4.2231James McCoy2017-04-30
|\ | | | | vim-patch:7.4.2231,7.4.2239,7.4.2244,7.4.2245,7.4.2246,7.4.2263,8.0.0150
| * lintJames McCoy2017-04-29
| |
| * vim-patch:8.0.0150James McCoy2017-04-29
| | | | | | | | | | | | | | | | Problem: When the pattern of :filter does not have a separator then completion of the command fails. Solution: Skip over the pattern. (Ozaki Kiichi, clodes vim/vim#1299) https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
| * vim-patch:7.4.2263James McCoy2017-04-29
| | | | | | | | | | | | | | | | | | Problem: :filter does not work for many commands. Can only get matching messages. Solution: Make :filter work for :command, :map, :list, :number and :print. Make ":filter!" show non-matching lines. https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
| * vim-patch:7.4.2246James McCoy2017-04-29
| | | | | | | | | | | | | | Problem: Oldfiles test fails. Solution: Include missing changes. https://github.com/vim/vim/commit/d6f2ee32dcfa18c781ef157918b524318a2215a2
| * vim-patch:7.4.2245James McCoy2017-04-29
| | | | | | | | | | | | | | Problem: Filter test fails. Solution: Include missing changes. https://github.com/vim/vim/commit/77401add71853d7a3da7ccc489f2a1bca58551ec
| * vim-patch:7.4.2244James McCoy2017-04-29
| | | | | | | | | | | | | | | | Problem: Adding pattern to ":oldfiles" is not a generic solution. Solution: Add the ":filter /pat/ cmd" command modifier. Only works for some commands right now. https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
| * vim-patch:7.4.2239James McCoy2017-04-29
| | | | | | | | | | | | | | | | Problem: Warning for missing declaration of skip_vimgrep_pat(). (John Marriott) Solution: Move it to another file. https://github.com/vim/vim/commit/9baf297c99cc35adb921bee04369499d76438889
| * vim-patch:7.4.2231James McCoy2017-04-29
| | | | | | | | | | | | | | Problem: ":oldfiles" output is a very long list. Solution: Add a pattern argument. (Coot, closes vim/vim#575) https://github.com/vim/vim/commit/e11d61a3b1cdedf3144de697a2b38af62c3a78d8
* | Merge #6588 from justinmk/guicursorJustin M. Keyes2017-04-30
|\ \
| * | 'guicursor': TMUX_WRAP iTerm seqs. Do color seq before shape seq.Justin M. Keyes2017-04-30
| | |
| * | 'guicursor': No color/blink by defaultJustin M. Keyes2017-04-30
| |/ | | | | | | Closes #6577
* / api: deprecate obsolete nvim_buf_get_number functionBjörn Linse2017-04-30
|/
* vim-patch:6d5ad4c4118cJustin M. Keyes2017-04-29
| | | | | | Updated runtime files. https://github.com/vim/vim/commit/6d5ad4c4118cab5fd96db157621c3aa9af368edb
* vim-patch:f37506f60f87Justin M. Keyes2017-04-28
| | | | | | Updated runtime files. Remove HiLink commands. https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
* vim-patch:818078ddfbb8Justin M. Keyes2017-04-28
| | | | | | Updated runtime files and translations. https://github.com/vim/vim/commit/818078ddfbb8cc2546f697c5675a251d095722ec
* event: Remove "priority" concept.Justin M. Keyes2017-04-28
| | | | It was replaced by the "child queue" concept (MultiQueue).
* api/nvim_get_mode: Use child-queue instead of "priority".Justin M. Keyes2017-04-28
|
* input.c: Process only safe events before blocking.Justin M. Keyes2017-04-28
| | | | | Introduce multiqueue_process_priority() to process only events at or above a certain priority.
* api: nvim_get_mode()Justin M. Keyes2017-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | Asynchronous API functions are served immediately, which means pending input could change the state of Nvim shortly after an async API function result is returned. nvim_get_mode() is different: - If RPCs are known to be blocked, it responds immediately (without flushing the input/event queue) - else it is handled just-in-time before waiting for input, after pending input was processed. This makes the result more reliable (but not perfect). Internally this is handled as a special case, but _semantically_ nothing has changed: API users never know when input flushes, so this internal special-case doesn't violate that. As far as API users are concerned, nvim_get_mode() is just another asynchronous API function. In all cases nvim_get_mode() never blocks for more than the time it takes to flush the input/event queue (~µs). Note: This doesn't address #6166; nvim_get_mode() will provoke #6166 if e.g. `d` is operator-pending. Closes #6159
* api/ext_tabline: `curtab` should be a Tabpage handle.Justin M. Keyes2017-04-28
|
* lintJustin M. Keyes2017-04-28
|
* build_stl_str_hl: Array name should be plural.Justin M. Keyes2017-04-28
|
* refactor/single-include (#6604)relnod2017-04-27
|
* api/ext_tabline: List of Dicts.Justin M. Keyes2017-04-26
|
* api: nvim_ui_attach(): Flatten ext_* options.Justin M. Keyes2017-04-26
|
* api/ui: externalize tablineJustin M. Keyes2017-04-26
| | | | | | - Work with a bool[] array parallel to the UIWidget enum. - Rename some functions. - Documentation.
* api/ui: externalize tablineDongdong Zhou2017-04-26
|
* tui: Only set cursor color if the highlight group is valid (#6585)James McCoy2017-04-25
| | | Closes #6584
* refactor/single-include (#6586)relnod2017-04-25
|
* test/fs: sanity check for literal "~" directory (#6579)Justin M. Keyes2017-04-24
| | | | If the CWD contains a directory with the literal name "~" then the tests will have bogus failures.
* api/dispatch: Mark generated functions table readonly (#6576)Patrick Jackson2017-04-24
|
* api: Do not translate error messages.Justin M. Keyes2017-04-24
| | | | | | | | | | Also re-word some error messages: - "Key does not exist: %s" - "Invalid channel: %<PRIu64>" - "Request array size must be 4 (request) or 3 (notification)" - "String cannot contain newlines" References #6150
* tui/input.c: Use default 'ttimeoutlen' if option get fails.Justin M. Keyes2017-04-23
| | | | | | Should never happen, but better to be explicit. Helped-by: oni-link <knil.ino@gmail.com>
* api_set_error(): renameJustin M. Keyes2017-04-23
|
* api/internal: Remove `set` field from Error type.Justin M. Keyes2017-04-23
|
* api_clear_error: Skip if error was not set.Justin M. Keyes2017-04-23
|
* api_clear_error()Justin M. Keyes2017-04-23
|
* api: Do not truncate errors <1 MB. #6237Sander Bosma2017-04-23
| | | | Closes #5984
* refactor: Remove unused MAP_IMPL. (#6573)Patrick Jackson2017-04-23
|
* Merge #6513 from ZyX-I/lazier-arg_errmsg-gettextJustin M. Keyes2017-04-23
|\
| * Merge branch 'master' into lazier-arg_errmsg-gettextZyX2017-04-21
| |\
| * | eval/encode: Do translate “… argument” strings, but only in conv_errorZyX2017-04-15
| | |
| * | eval/typval: Do not translate tv_clear argument, this is uselessZyX2017-04-15
| | |
| * | unittests: Add a test for TV_CSTRINGZyX2017-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not using enum{} because SIZE_MAX exceeds integer and I do not really like how enum definition is described in C99: 1. Even though all values must fit into the chosen type (6.7.2.2, p 4) the type to choose is still implementation-defined. 2. 6.4.4.3 explicitly states that “an identifier declared as an enumeration constant has type `int`”. So it looks like “no matter what type was chosen for enumeration, constants will be integers”. Yet the following simple program: #include <stdint.h> #include <stdio.h> #include <stddef.h> enum { X=SIZE_MAX }; int main(int argc, char **argv) { printf("x:%zu m:%zu t:%zu v:%zu", sizeof(X), sizeof(SIZE_MAX), sizeof(size_t), (size_t)X); } yields one of the following using different compilers: - clang/gcc/pathcc: `x:8 m:8 t:8 v:18446744073709551615` - pcc/tcc: `x:4 m:8 t:8 v:1844674407370955161` If I remove the cast of X to size_t then pcc/tcc both yield `x:4 m:8 t:8 v:4294967295`, other compilers’ output does not change. All compilers were called with `$compiler -std=c99 -xc -` (feeding program from echo), except for `tcc` which has missing `-std=c99`. `pcc` seems to ignore the argument though: it is perfectly fine with `-std=c1000`.
| * | eval: Add comment regarding why special values are neededZyX2017-04-14
| | |