aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
| * | Merge branch 'master' into luaviml'/luaZyX2017-04-10
| |\ \
| * | | api: Rename _vim_id functions to nvim__idZyX2017-04-08
| | | |
| * | | Merge branch 'master' into luaviml'/luaZyX2017-04-08
| |\ \ \
| * | | | eval,functests: Fix linter errorsZyX2017-03-27
| | | | |
| * | | | functests: Add test for debug.debugZyX2017-03-27
| | | | |
| * | | | executor,functests: Add print() tests, some fixesZyX2017-03-27
| | | | |
| * | | | executor: Add :luafile commandZyX2017-03-27
| | | | |
| * | | | executor: Fix some memory leaksZyX2017-03-27
| | | | |
| * | | | executor,functests: Add tests for :luado, also some fixesZyX2017-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: 1. Allocate space for the NUL byte. 2. Do not exclude last line from range. 3. Remove code for sandbox: it is handled earlier. 4. Fix index in new_line_transformed when converting NULs to NLs. 5. Always allocate new_line_transformed, but save allocated value.
| * | | | executor: Add :luado commandZyX2017-03-27
| | | | |
| * | | | doc,functests: Add documentationZyX2017-03-27
| | | | | | | | | | | | | | | Missing: updates to various lists.
| * | | | functests: Add tests for :luaZyX2017-03-27
| | | | |
| * | | | functests: Fix “function has more then 60 upvalues” errorZyX2017-03-27
| | | | |
| * | | | functests: Some more testsZyX2017-03-27
| | | | |
| * | | | functests: Move existing tests from lua_spec to lua/*, fix themZyX2017-03-27
| | | | |
| * | | | functests: Add some testsZyX2017-03-27
| | | | |
| * | | | functests: Test for error conditionsZyX2017-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During testing found the following bugs: 1. msgpack-gen.lua script is completely unprepared for Float values either in return type or in arguments. Specifically: 1. At the time of writing relevant code FLOAT_OBJ did not exist as well as FLOATING_OBJ, but it would be used by msgpack-gen.lua should return type be Float. I added FLOATING_OBJ macros later because did not know that msgpack-gen.lua uses these _OBJ macros, otherwise it would be FLOAT_OBJ. 2. msgpack-gen.lua should use .data.floating in place of .data.float. But it did not expect that .data subattribute may have name different from lowercased type name. 2. vim_replace_termcodes returned its argument as-is if it receives an empty string (as well as _vim_id*() functions did). But if something in returned argument lives in an allocated memory such action will cause double free: once when freeing arguments, then when freeing return value. It did not cause problems yet because msgpack bindings return empty string as {NULL, 0} and nothing was actually allocated. 3. New code in msgpack-gen.lua popped arguments in reversed order, making lua bindings’ signatures be different from API ones.
| * | | | executor/converter: Make it possible to supply `{}` to Dictionary argZyX2017-03-27
| | | | |
| * | | | executor/converter: Make nlua_pop_Object not recursiveZyX2017-03-27
| | | | |
| * | | | executor/converter: Fix how maxidx is determinedZyX2017-03-27
| | | | |
| * | | | executor/converter: Fix conversion of self-containing containersZyX2017-03-27
| | | | |
| * | | | executor: Make sure it works with API valuesZyX2017-03-27
| | | | |
| * | | | viml/executor: Directly generate typval_T valuesZyX2017-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | Note: this will *still* crash when using API in cases similar to the one described in first commit. Just it needs different code to reproduce.
* | | | | tests: add basic test for 'winhighlight`Björn Linse2017-05-08
| | | | |
* | | | | options: allow different highlights in windowsBjörn Linse2017-05-08
| |_|_|/ |/| | |
* | | | tui: Also fix "linux*" terminfo entries. #6673Jonathan de Boyne Pollard2017-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The terminfo entry for linux only advertises 8 colours, but nvim tries to make it display 16 colours anyway, resulting in erroneous SGR control sequences for colours 8 and above. The Linux kernel terminal emulator itself has actually understood the 256-colour control sequences since version 4.8 and the 16-colour control sequences since version 4.9. Thus we apply the same terminfo fixup as we apply for *xterm* and *256*, to emit the 16-colour and 256-colour control sequences even if terminfo's setaf and setab do not advertise them.
* | | | 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
* | | | NVIM v0.2.0v0.2.0Justin M. Keyes2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FEATURES: bc4a2e1576c6 help, man.vim: "outline" (TOC) feature #5169 58422f17d8e7 'guicursor' works in the TUI (and sends info to UIs) #6423 129f107c0c26 api: nvim_get_mode() #6247 0b59f988f447 api/ui: externalize tabline #6583 bc6d868d00a7 'listchars': `Whitespace` highlight group #6367 6afa7d66cd63 writefile() obeys 'fsync' option #6427 c60e409471c5 eval.c refactor (also improves some error messages) #5119 9d200cd0a3ef getcompletion("cmdline") #6376 2ea7bfc627e5 terminal: Support extra arguments in 'shell'. #4504 bf5110266ca9 DirChanged autocmd #5928 #6262 1743df82f900 'cpoptions': "_" flag to toggle `cw` behaviour #6235 22337b1c0144 CTRL-R omits trailing ^M when pasting to cmdline #6137 0e44916fff88 :edit allows unescaped spaces in filename #6119 abdbfd26bc7f eval: Add id() function and make printf("%p") useful #6095 bdfa1479d296 findfile(), :find, gf work in :terminal. #6009 2f38ed11c98a providers: Disable if `g:loaded_*` exists. b5560a69b12b setpos() can set lowercase marks in other buffers #5753 7c513d646d87 Throttle :! output, pulse "..." message. #5396 d2e8c76dc224 v:exiting #5651 :terminal improvements #6185 #6142 - cursor keeps position after leaving insert-mode. - 4ceec30cd0b4 Follows output only if cursor is at end of buffer. - e7bbd35c812d new option: 'scrollback' - fedb8443d58a quasi-support for undo and 'modifiable' - b45ddf731be5 disables 'list' by default - disables 'relativenumber' by default :help now contains full API documentation at `:help api`. man.vim saw numerous improvements. Windows support: - Windows is no longer "experimental", it is fully supported. - Windows package includes a GUI, curl.exe and other utilities. "Vim 8" features: partials, lambdas. SECURITY FIXES: CVE-2017-5953 CVE-2017-6349 CVE-2017-6350 #6485 CHANGES: NVIM_TUI_ENABLE_CURSOR_SHAPE was removed. Use 'guicursor' instead. See https://github.com/neovim/neovim/wiki/Following-HEAD#20170402 81525dc5c35c 'mouse=a' is no longer the default. (This will probably change again after it is improved.) #6022 0c1f7831649e defaults: 'showcmd', 'belloff', 'ruler' #6087 eb0e94f71b1f api: {get,set}_option update local options as appropriate #6405 bdcb2a38b366 "Reading from stdin..." message was removed. #6298 FIXES: 12fc1defd6a1 ops: fix i<c-r> with multi-byte text #6524 dd391bfca1f3 Windows: system() and friends #6497 13352c00f190 Windows: os_get_hostname() #6413 16babc66870b tui: Less-noisy mouse seqs #6411 3a9dd13f9e64 (vim bug) folding edge-cases #6207 f6946c68aee9 job-control: set CLOEXEC on pty processes. #5986 d1afd434f302 rplugin: Call s:LoadRemotePlugins() on startup. 1215084676f0 backtick-expansion works with `shell=fish` #6224 e32ec03d67ee tui: Improved behavior after resize. #6202 86c2adc07463 edit.c: CTRL-SPC: Insert previously-inserted text. #6090 c318d8e672a3 b:changedtick now follows VimL rules #6112 34e24cb2f734 terminal: Initialize colors in reverse order #6160 e8899178ec34 undo: Don't set b_u_curhead in ex_undojoin() #5869 d25649fa0120 undo: :earlier, g-: Set b_u_seq_cur correctly. (#6016) 043d8ba422b4 'Visual-mode put from @. register' #5782 42c922b32c0a open_buffer(): Do `BufEnter` for directories. 50d0d891299c inccommand: Preview :sub commands only after delimiter #5932 1420e1047454 CheckHealth improvements #5519 c8d5e9230ee3 jobstart(): Return -1 if cmd is not executable. #5671
* | | | 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
| | | | | | |