aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* 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
| * oldfiles_spec: Add tests for ":filter ... oldfiles"James McCoy2017-04-29
| |
| * oldfiles_spec: Set the shada file in the sessionJames McCoy2017-04-29
| |
* | 'guicursor': No color/blink by defaultJustin M. Keyes2017-04-30
|/ | | | Closes #6577
* 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
|
* defaults_spec: Test changing :filetype/:syntax in -c, after defaultsJames McCoy2017-04-27
|
* test: inccommand_spec: Avoid indeterminism. (#6592)Justin M. Keyes2017-04-26
|
* 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
|
* 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: 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
* api: Do not truncate errors <1 MB. #6237Sander Bosma2017-04-23
| | | | Closes #5984
* test: api: Do not truncate errors <1 MB.Justin M. Keyes2017-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
| |\
| * | 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`.
* | | Merge #6539 'More cursor shape modes'Justin M. Keyes2017-04-21
|\ \ \
| * | | tests: detect invalid helpers.sleepBjörn Linse2017-04-21
| | | |
| * | | ui: use an array for mode stylesBjörn Linse2017-04-21
| | | |
| * | | ui: add tests for new cursor shape modesBjörn Linse2017-04-21
| | | |
* | | | ex_cmds.c: Fix bug in ex_z (#6557)sander22017-04-21
| |_|/ |/| | | | | | | | vim-patch:8.0.0571
* | | Merge #6550 from ZyX-I/pvs-check-commentJustin M. Keyes2017-04-20
|\ \ \
| * | | *: Add comment to all C filesZyX2017-04-19
| |/ /
* / / 'scrollback': Allow :setlocal -1 on normal buffersJustin M. Keyes2017-04-20
|/ / | | | | | | Avoids a spurious :loadview error.
* | test: Cursor after `:hi clear|syntax reset`Justin M. Keyes2017-04-17
| | | | | | | | Also enable tests on Windows.
* | fold: foldMoveRange(): fix :move bug #6534Matthew Malcomson2017-04-17
| | | | | | | | | | | | | | | | | | | | | | | | Closes #6540 In #6221 there was a mistake in calculating which folds need to be re-ordered. When there are no folds after those that have been adjusted, then `move_end` remains 0. This results in reverse_fold_order() swapping folds that have been adjusted with uninitialised folds in the remainder of the grow array. Add a check in foldMoveRange() to account for this case.
* | ops: fix i<c-r> with multi-byte text (#6524)Björn Linse2017-04-15
|/
* test: check_cores(): Escape $TMPDIR path. (#6520)Justin M. Keyes2017-04-14
| | | | | | Lua string:match() considers hyphen to be a special char, we want the path to be a literal match. Also remove "./", etc. References #6483
* win: os_shell_is_cmdexe() + testsJustin M. Keyes2017-04-12
|
* win: default shellxescape, shellxquote to emptyRui Abreu Ferreira2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling cmd.exe in Windows follows a very different pattern from Vim. The primary difference is that Vim does a nested call to cmd.exe, e.g. the following call in Vim system('echo a 2>&1') spawns the following processes "C:\Program Files (x86)\Vim\vim80\vimrun" -s C:\Windows\system32\cmd.exe /c (echo a 2^>^&1 ^>C:\Users\dummy\AppData\Local\Temp\VIoC169.tmp 2^>^&1) C:\Windows\system32\cmd.exe /c C:\Windows\system32\cmd.exe /c (echo a 2^>^&1 ^>C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2^>^&1) C:\Windows\system32\cmd.exe /c (echo a 2>&1 >C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2>&1) The escaping with ^ is needed because cmd.exe calls itself and needs to preserve the special metacharacters for the last call. However in nvim no nested call is made, system('') spawns a single cmd.exe process. Setting shellxescape to "" disables escaping with ^. The previous default for shellxquote=( wrapped any command in parenthesis, in Vim this is more meaningful due to the use of tempfiles to store the output and redirection (also see &shellquote). There is a slight benefit in having the default be empty because some expressions that run in console will not run within parens e.g. due to unbalanced double quotes system('echo "a b')
* win: libuv_process_spawn(): special-case cmd.exeRui Abreu Ferreira2017-04-12
| | | | | | | | | | | | | | | | | | Disable CommandLineToArgvW-standard quoting for cmd.exe. libuv assumes spawned processes follow the convention expected by CommandLineToArgvW(). But cmd.exe is non-conformant, so for cmd.exe: - With system([]), the caller has full control (and responsibility) to quote arguments correctly. - With system(''), shell* options are used. libuv quoting is disabled if argv[0] is: - cmd.exe - cmd - $COMSPEC resolving to a path with filename cmd.exe Closes #6329 References #6387
* win/test: Enable more system() testsRui Abreu Ferreira2017-04-12
|
* win: defaults: 'shellredir', 'shellxquote', 'shellxescape'Justin M. Keyes2017-04-12
|
* ci: install Turkish locale and make locale tests more reliableBjörn Linse2017-04-11
|
* test: helpers.execute() => helpers.feed_command()Justin M. Keyes2017-04-11
|
* win/test: Enable recover_spec.luaJustin M. Keyes2017-04-11
|
* test: `:file {name}`Justin M. Keyes2017-04-11
|
* test/rmdir(): fallback to Nvim delete()Justin M. Keyes2017-04-11
| | | | | | | Lua has too many pitfalls here: - os.execute() requires shell-escaping - os.execute() has breaking changes between Lua 5.1 and 5.2 - No native way in Lua to handle "readonly" etc. on Windows
* test/rmdir(): Remove `readonly` attr on Windows.Justin M. Keyes2017-04-10
|
* Merge #6479 from bfredl/tolowerJustin M. Keyes2017-04-10
|\ | | | | remove vim_tolower/etc functions with broken locale-dependent behavior
| * test: add tests for gu/gU behavior in Turkish localeBjörn Linse2017-04-10
| |
* | Merge #6488 from ZyX-I/coverity-fixesJustin M. Keyes2017-04-10
|\ \ | |/ |/|
| * coverity/56795: Fix NULL dereference in :syn keyword non-printableZyX2017-04-09
| | | | | | | | Bug was introduced 3 years earlier, in 13848aa: NULL keyword_copy was incorrectly treated as an indicator of OOM.
| * coverity/13689: Check file header with memcmpZyX2017-04-09
| | | | | | | | Not that it is actually useful (would fail in any case), but should fix coverity report.
| * coverity/13688: Check for NUL bytes in salfromZyX2017-04-09
| |
| * coverity/13687: Do not allow NUL byte in region namesZyX2017-04-09
| |