aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Merge pull request #8743 from dimbleby/multiple-childrenJames McCoy2018-07-16
|\ | | | | Check all child processes for exit in SIGCHLD handler
| * Check all child processes for exit in SIGCHLD handlerDavid Hotham2018-07-14
| | | | | | | | | | | | | | | | If a second and third child exit while we are already in the handler, we will only see a single additional SIGCHLD. Therefore the handler must not stop after processing a single child but should check all children. Fixes #8740
* | Merge pull request #8651 from MichaHoffmann/feature_refactor_channelBjörn Linse2018-07-15
|\ \ | | | | | | channel.c: refactor spaghetti code
| * | dispatch.c: changed api_set_error_callmicha2018-07-15
| | |
| * | channel.c: refactor spaghetti codemicha2018-07-14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | channel.c: WIP remove redundant method check and added FUNC_ATTR_NONNULL_ALL macro channel.c channel_defs.h helpers.c: added Error field to RequestEvent, added no_op handler func channel.c: use const char* instead of string and cleanup channel.c; channel_defs.h; helpers.c: removed error from event again; send errors directly to the channel without using handlers and events channel.c: fixed memory leak and lint errors api/private/dispatch.c; api/vim.c; msgpack_rpc/channel.c msgpack_rpc/helpers.c added Error* field to msgpack_get_handler_for; further refactored channel.c channel.c:323 changed order of evaluation in if statement channel.c: removed superflous whitespace dispatch.c: review comment
* / channel.c: Prevent channel_destroy_early() from freeing uninitialized rpc stuffoni-link2018-07-15
|/ | | | | | | | Without this patch the following commands would crash: :call rpcstart('unknown_command') :set sh=unknown_command :call jobstart('ls',{'rpc':1})
* Merge pull request #8737 from dimbleby/overly-general-waitpidJames McCoy2018-07-13
|\ | | | | Only waitpid() for processes that we care about
| * Only waitpid() for processes that we care aboutDavid Hotham2018-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems as though in an AppImage there's an extra child process that dies at some early point, before we have set up a SIGCHLD handler. So when we later get a SIGCHLD from a child that we do care about, waitpid(-1, ...) tells us about the extra child - and we don't notice that the interesting child has exited. Or something like that! See also: * https://patchwork.kernel.org/patch/9949491/ in which perf hit something similar * discussion at the AppImage repository: https://github.com/AppImage/AppImageKit/issues/812#issuecomment-404662110. Fix is to be explicit about which process we are waitpid()'ing for, so we never need be distracted by children that we don't know about. Fixes #8104
* | vim-patch:8.0.0630: it is not easy to work on lines without a match (#8734)Jan Edmund Lazo2018-07-13
| | | | | | | | | | | | | | Problem: The :global command does not work recursively, which makes it difficult to execute a command on a line where one pattern matches and another does not match. (Miles Cranmer) Solution: Allow for recursion if it is for only one line. (closes vim/vim#1760) https://github.com/vim/vim/commit/f84b122a99da75741ae686fabb6f81b8b4755998
* | Merge #8736 'vim-patch:8.0.0697: stable keymap.h'Justin M. Keyes2018-07-13
|\ \ | |/ |/|
| * keymap: add commented events to match 8.0.0697Jan Edmund Lazo2018-07-13
| | | | | | | | KE_MOUSEMOVE, KE_CANCEL are added in later patches.
| * vim-patch:8.0.0697: recorded key sequences may become invalidJan Edmund Lazo2018-07-10
| | | | | | | | | | | | | | Problem: Recorded key sequences may become invalid. Solution: Add back KE_SNIFF removed in 7.4.1433. Use fixed numbers for the key_extra enum. https://github.com/vim/vim/commit/8858498516108432453526f07783f14c9196e112
* | terminal: handle &confirm and :confirm on unloading (#8726)Marco Hinz2018-07-12
| | | | | | | | | | | | Show a proper confirmation dialog when trying to unload a terminal buffer while the confirm option is set or when :confirm is used. Fixes https://github.com/neovim/neovim/issues/4651
* | Merge pull request #8721 from bfredl/quickresizeBjörn Linse2018-07-12
|\ \ | | | | | | Fix redrawing issues with narrow screen and remove extra wait in resize tests
| * | screen: truncate showmode messagesBjörn Linse2018-07-12
| | | | | | | | | | | | | | | Before this, bottom of screen got messed up when modemsg (+ one extra space to not force terminal scroll) didn't fit on one line.
* | | vim-patch:8.0.0{474,475,492,633,1251} (#8725)Jan Edmund Lazo2018-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vim-patch:8.0.0474: the client-server feature is not tested Problem: The client-server feature is not tested. Solution: Add a test. https://github.com/vim/vim/commit/15bf76d40be1f1622ff5cc16596c308e76e2ca94 * vim-patch:8.0.0475: not enough testing for the client-server feature Problem: Not enough testing for the client-server feature. Solution: Add more tests. Add the remote_startserver() function. Fix that a locally evaluated expression uses function-local variables. https://github.com/vim/vim/commit/7416f3e73ab2c4e7ae3adc2ff6e70234f7d40d2e * vim-patch:8.0.0492: a failing client-server request can make Vim hang Problem: A failing client-server request can make Vim hang. Solution: Add a timeout argument to functions that wait. https://github.com/vim/vim/commit/81b9d0bd5c705815e903e671e81b0b05828efd9c Include src/nvim/testdir/test_clientserver.vim changes from patches 8.0.0477, 8.0.0479. * vim-patch:8.0.0633: the client-server test is still a bit flaky Problem: The client-server test is still a bit flaky. Solution: Wait a bit for the GUI to start. Check that the version number can be obtained. https://github.com/vim/vim/commit/60964f68740b8abcbb2d3f0f3aeade21d1bacb22 Include src/nvim/testdir/test_clientserver.vim changes from patches 8.0.0507, 8.0.0511. * vim-patch:8.0.1251: invalid expressin passed to WaitFor() Problem: Invalid expressin passed to WaitFor(). Solution: Check if the variable exists. https://github.com/vim/vim/commit/d97fbf171ec0e63117813da045d2a1c51a9b6f62
* | | Merge #8701 from janlazo/vim-8.0.1140Justin M. Keyes2018-07-12
|\ \ \ | |_|/ |/| |
| * | vim-patch:8.0.1387: wordcount test is old styleJan Edmund Lazo2018-07-07
| | | | | | | | | | | | | | | | | | Problem: Wordcount test is old style. Solution: Change into a new style test. (Yegappan Lakshmanan, closes vim/vim#2434) https://github.com/vim/vim/commit/a703aaee4d6230ed81469ef0cb37f331bf255136
| * | vim-patch:8.0.1022: test 80 is old styleJan Edmund Lazo2018-07-07
| | | | | | | | | | | | | | | | | | Problem: Test 80 is old style. Solution: Turn it into a new style test. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/1a333bc44a5d7e51575b1c3cd864fb37fd5b5f2b
| * | vim-patch:8.0.1253: still too many old style testsJan Edmund Lazo2018-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Still too many old style tests. Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, closes vim/vim#2272) https://github.com/vim/vim/commit/430dc5d360166ca5bb6a73f2c87ae53e09282ecb Skip Test_tag_file_encoding. 083_tag_search_with_file_encoding_spec.lua handles the same test case.
| * | vim-patch:8.0.1140: still old style testsJan Edmund Lazo2018-07-06
| | | | | | | | | | | | | | | | | | Problem: Still old style tests. Solution: Convert two tests to new style. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/bb3e6416f157f68799ccb6070fa2f91df6780e79
* | | vim-patch:8.0.0522: Win32: clipboard=unnamed in :global (#8717)Jan Edmund Lazo2018-07-11
| | | | | | | | | | | | | | | | | | | | | Problem: MS-Windows: when 'clipboard' is "unnamed" yyp does not work in a :global command. Solution: When setting the clipboard was postponed, do not clear the register. https://github.com/vim/vim/commit/3fcfa35f82b9d1ef5e95051b3a45578e10c14ec3
* | | transstr_buf: fix length comparison #8681Michael Hoffmann2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #8466 closes #8664 Regression by 0d7daaad98d5. - Fix length comparison. - Fix loop(s) which iterated over all fields of array `pcc` even if it was not filled up (try unicode 0x9f as statusline character). Note about the tests: - To input unicode with more than two hex digits you can use <C-v>U...: a + U+fe20: a︠ a + U+fe20 + U+fe21: a︠︡
* | | test: build_stl_str_hl (#8703)ZviRackover2018-07-10
| | | | | | | | | | | | Improve coverage of `build_stl_str_hl`. Minor removal of dead code in the tested function.
* | | vim-patch:8.0.1464: add slash when completing directory #8684Jan Edmund Lazo2018-07-10
| | | | | | | | | | | | | | | Problem: Completing directory after :find does not add slash. Solution: Adjust the flags for globpath(). (Genki Sky) https://github.com/vim/vim/commit/8a37b032895b40dd6953280c33585bcba0c7ef8b
* | | Merge pull request #8708 from blueyed/fix-standoutJames McCoy2018-07-10
|\ \ \ | |_|/ |/| | Fix standout mode
| * | [WIP/RFC] Fix standout modeDaniel Hahler2018-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was not working for me in different terminals. This patch makes it work in the same way like reverse. Test: :hi jediUsage cterm=standout | hi jediUsage
* | | TUI: urxvt: also send xterm focus-reporting seqs #8699Daniel Hahler2018-07-08
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | urxvt supports the xterm sequence for focus reporting in master / CVS since 2016 [1]. This has not been released yet, but is expected to be in 9.23. In 3d0ee17 a special case for rxvt was added, which requires a custom urxvt extension, see #7578. Since urxvt 9.23 is not released still, and extensions for handling this manually appear to be in use, this sends both escape sequences for rxvt. Fixes https://github.com/neovim/neovim/issues/8695. 1: https://github.com/exg/rxvt-unicode/commit/75264fa544529a21ff79d3da26eb3130c43444a5#diff-2c8f5590ce4fa7495edcf7572c89c77b
* | Merge #8702 from janlazo/nvim-8.0.0654Justin M. Keyes2018-07-08
|\ \
| * | vim-patch: finish port of 8.0.0{654,663,667}Jan Edmund Lazo2018-07-07
| | | | | | | | | | | | | | | Fix ex_function so that :endfunction passes the test. Remove variables, added in 60c025267265ba4bfc2abd34ea02b13bd5c0e63f.
| * | oldtests: fix func Test_echo_and_string()Jan Edmund Lazo2018-07-07
| |/
* / clint: use stdout for normal/expected output (#8700)Daniel Hahler2018-07-08
|/
* vim-patch:8.0.0663: unexpected error with 'verbose' (#8692)Jan Edmund Lazo2018-07-06
| | | | | Problem: Giving an error message only when 'verbose' set is unexpected. Solution: Give a warning message instead. https://github.com/vim/vim/commit/f8be461d0284110b321be748fea206d4169b98bb
* vim-patch:8.0.0686: extra redraw when using CTRL-L in second windowJan Edmund Lazo2018-07-03
| | | | | | | Problem: When typing CTRL-L in a window that's not the first one, another redraw will happen later. (Christian Brabandt) Solution: Reset must_redraw after calling screenclear(). https://github.com/vim/vim/commit/9f5f7bf4d5f757ef885acf74ce03c25429a328aa
* vim-patch:8.0.0640: mismatch between help and actual messageJan Edmund Lazo2018-07-03
| | | | | | Problem: Mismatch between help and actual message for ":syn conceal". Solution: Change the message to match the help. (Ken Takata) https://github.com/vim/vim/commit/83064068eaabf75a7d235b0eec561dccbcb96b31
* coverity/166184: Null pointer dereference (FP)Justin M. Keyes2018-07-02
| | | | | False positive: should never happen, because unibi_from_env() would return NULL if $TERM is undefined.
* Merge #8635 from janlazo/vim-8.0.0252Justin M. Keyes2018-07-01
|\
| * test: port kword_test to Lua for utf_char2bytes()Jan Edmund Lazo2018-07-01
| | | | | | | | | | | | Use LuaJIT FFI to create char pointer. Validate output with utf_ptr2char(), vim_iswordc() and vim_iswordp(). Use const for LuaJIT string-to-char conversion.
| * vim-patch:8.0.0252: not properly recognizing word characters between 128 and 255Jan Edmund Lazo2018-07-01
| | | | | | | | | | | | | | | | Problem: Characters below 256 that are not one byte are not always recognized as word characters. Solution: Make vim_iswordc() and vim_iswordp() work the same way. Add a test for this. (Ozaki Kiichi) https://github.com/vim/vim/commit/4019cf90b8657d4ab1c39744db63550f44f405a2
* | API: emit nvim_buf_lines_event from :terminal #8616KillTheMule2018-07-01
|/ | | | closes #8575
* vim-patch:8.0.0593: DRY: setting list/dict return value (#8639)Jan Edmund Lazo2018-06-30
| | | | | Problem: Duplication of code for adding a list or dict return value. Solution: Add rettv_dict_set() and rettv_list_set(). (Yegappan Lakshmanan) https://github.com/vim/vim/commit/45cf6e910c6d162775ca9d470fac4b6db844001f
* ui: don't crash when 'writedelay' is set and redrawing inside an event handlerBjörn Linse2018-06-28
|
* highlight: high-priority CursorLine if fg is set. #8578Yichao Zhou2018-06-28
| | | | | | | | | | | | closes #7383 closes #7715 This implements the compromise described in #7383: * low-priority CursorLine if foreground is not set * high-priority ("same as Vim" priority) CursorLine if foreground is set ref d1874ab2821d076397290cc154d87ec2dc352c79 ref 56eda2aa17c80ba380b606f9466f288fb8162dd3
* Merge pull request #8650 from jamessan/skip-pydo-testsJames McCoy2018-06-27
|\ | | | | oldtest: Disable tests that :py(3)do stop executing when buffer changes
| * oldtest: Disable tests that :py(3)do stop executing when buffer changesJames McCoy2018-06-27
| | | | | | | | | | | | | | The current nvim <-> client handling of do_range needs to be adapted to handle these sorts of checks. See https://github.com/neovim/neovim/issues/8554
* | vim-patch:8.0.0688: cannot resize the window in a FileType autocommandJan Edmund Lazo2018-06-26
| | | | | | | | | | | | | | Problem: Cannot resize the window in a FileType autocommand. (Ingo Karkat) Solution: Add the CMDWIN flag to :resize. (test by Ingo Karkat, closes vim/vim#1804) https://github.com/vim/vim/commit/9c4fefffb65a2ed9b4a5b0f1bde0da8f349470b5
* | vim-patch:8.0.0677: setting 'filetype' may switch buffersJan Edmund Lazo2018-06-26
|/ | | | | | | Problem: Setting 'filetype' internally may cause the current buffer and window to change unexpectedly. Solution: Set curbuf_lock. (closes vim/vim#1734) https://github.com/vim/vim/commit/1814183b865059679f6ee526ec23fc575e536e66
* API: nvim_win_set_cursor: set w_set_curswant #8640Justin M. Keyes2018-06-26
|\ | | | | | | | | This one behaves correctly eg in the presence of unicode. ref #8613
| * Improved version of #8613David Hotham2018-06-25
| | | | | | | | This one behaves correctly eg in the presence of unicode
* | vim-patch:8.0.0707: freeing wrong memory with certain autocommandsJan Edmund Lazo2018-06-25
| | | | | | | | | | | | | | Problem: Freeing wrong memory when manipulating buffers in autocommands. (James McCoy) Solution: Also set the w_s pointer if w_buffer was NULL. https://github.com/vim/vim/commit/f1d13478e3a7e1a86d52552c8c5571f00dc28ad1