aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* startup: ignore -XJustin M. Keyes2018-04-16
| | | | closes #8285
* terminal: resize to the max dimensions (#8249)Andrew Pyatkov2018-04-16
| | | | closes #8096
* contrib: fix local.mk.example (#8286)Marco Hinz2018-04-16
| | | | | | | | We have two ways to disable third-party/ 1. make USE_BUNDLED_DEPS=OFF 2. cmake USE_BUNDLED=OFF The example used the make option in a cmake context.
* Merge #8273 'job-control: avoid kill-timer race'Justin M. Keyes2018-04-16
|\
| * job-control: children_kill_cb(): do not check elapsed timeJustin M. Keyes2018-04-15
| | | | | | | | | | | | | | | | | | 1. Don't check elapsed time in children_kill_cb(), it's already implied by the start-time of the timer itself. 2. Restart timer from children_kill_cb() for PTY jobs, to send SIGKILL after SIGTERM. There is an edge case where SIGKILL might follow SIGTERM too quickly, if jobstop() is called near the 2-second timer window. But this edge case is not worth code complication.
| * job-control: one-shot timer instead of repeatingJustin M. Keyes2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | Before f31c26f1afb5 the timer was used to try SIGTERM *and* SIGKILL, so a repeating timer was needed. After f31c26f1afb5 process_stop() sends SIGTERM immediately, and the timer only sends SIGKILL. So we don't need a repeating timer. - Simplifies the logic: don't need to call uv_timer_stop() explicitly. - Avoids a problem: if process_stop() is called more than once in the 2-second window, the first on_process_exit() would call uv_timer_stop() which stops the timer for all stopped processes.
| * job-control: mitigate process-kill raceJustin M. Keyes2018-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | children_kill_cb() is racey. One obvious problem is that process_close_handles() is *queued* by on_process_exit(), so when children_kill_cb() is invoked, the dead process might still be in the `loop->children` list. If the OS already reclaimed the dead PID, Nvim may try to SIGKILL it. Avoid that by checking `proc->status`. Vim doesn't have this problem because it doesn't attempt to kill processes that ignored SIGTERM after a timeout. closes #8269
| * loop: remove `children_stop_requests`Justin M. Keyes2018-04-15
|/ | | | | It serves no purpose because process_stop() is already guarded by `proc->stopped_time`.
* Merge #8120 'test: win: prefer cmd.exe'Justin M. Keyes2018-04-15
|\
| * test: win: enable jobpid() testsJan Edmund Lazo2018-03-26
| | | | | | | | | | | | Use ping to test job detach Use find.exe as an alternative to cat.exe Use nvim_get_proc to check pid
| * fixup: ping.exe works with cmd.exe pipeJan Edmund Lazo2018-03-26
| |
| * Revert "test/win: use cmd.exe for test"Jan Edmund Lazo2018-03-26
| | | | | | | | | | | | This reverts commit ae409b5042abdbec67305a063cf921ddffcce0c8. This PR (#8120) defaults to cmd.exe for job_spec.lua
| * test: win: use find.exe /v "" as alternative cat -Jan Edmund Lazo2018-03-26
| |
| * test: win: try stderr callback and slow outputJan Edmund Lazo2018-03-26
| |
| * test: win: use powershell for Start-Sleep onlyJan Edmund Lazo2018-03-26
| | | | | | | | | | | | cmd.exe (shell) is faster and more reliable than powershell (.NET frontend). It's best for short and basic tests that don't require non-trivial scripting. cmd.exe doesn't support sleep so use powershell's Start-Sleep as substitute.
* | events: VimSuspend, VimResume #8280geekodour2018-04-15
| | | | | | | | | | closes #3648 ref #5959
* | Merge #6272 'stdpath()'Justin M. Keyes2018-04-15
|\ \
| * | test/options: Fix stdpath() failures on WindowsJames McCoy2018-04-01
| | |
| * | eval: Add stdpath() method (#5297)Christian Höltje2018-03-29
| | | | | | | | | | | | | | | | | | Adds the :stdpath method for fetching XDG standard directories. Fixes #5297
* | | test: win: use "start" to test backgrounded job (#8171)Jan Edmund Lazo2018-04-15
| | |
* | | Merge #8160 'win: oldtests: prefer cmd.exe'Justin M. Keyes2018-04-15
|\ \ \
| * | | ci/win: redirect stderr to fix mingw buildJan Edmund Lazo2018-04-13
| | | |
| * | | Revert "ci/win: don't use lastexitcode hack on mingw build"Jan Edmund Lazo2018-04-13
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bc43d2559f33aa6334d70834b389f0bc59dadcbf. stderr redirection should make the workaround work for mingw builds.
| * | | oldtests: win: skip test49Jan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | | | | | Vim doesn't test it on Windows. See https://github.com/vim/vim/blob/master/src/testdir/Make_all.mak
| * | | oldtests: win: keep set dir=/Jan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Any user can create a directory on root. Creating a directory on root allows any user to write files within that directory. Test_recover_root_dir() passes when run locally as a regular user (not admin).
| * | | ci/win: don't use lastexitcode hack on mingw buildJan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | The heck is for MSVC builds to workaround msbuild error detection for cmake.
| * | | win: getftype(symlink) returns 'link'Jan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | Vim doesn't detect symlinks correctly so stick with Neovim's behaviour.
| * | | oldtests: check +iconv for makeencodingJan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | | | | | MSVC builds don't include it. Test utf8 and latin only if +iconv is missing.
| * | | oldtests: win: help sp?it opens split()Jan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | Vim 8 and Neovim 0.2.3 open the same target on Windows.
| * | | oldtests: win: shellslash for cdpath,tags,:findJan Edmund Lazo2018-04-12
| | | |
| * | | oldtests: win: cmd.exe echo has trailing CRJan Edmund Lazo2018-04-12
| | | |
| * | | oldtests: use expand() to fix pathsepJan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | Fix failing oldtests because of noshellslash.
| * | | ci/win: prefer msys find.exeJan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | runnvim.sh depends on it for file glob patterns.
| * | | oldtests: newstyle: win: reset shell to cmd.exeJan Edmund Lazo2018-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unset $SHELL so that child nvim use cmd.exe as default shell. Unset $TERM so that child nvim don't segfault with negative exit code. sh/bash use TERM=cygwin by default if it is unset. mintty sets TERM to xterm.
* | | | win: Fix reading content from stdin (#8267)b-r-o-c-k2018-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #6890 by reading from the Windows console input buffer after stdin has been closed. Vim defines HAVE_DUP for Windows and does the close-dup dance[1]: close(0); dup(2); which always fails, then falls back to reading from the Windows console input buffer[2]. [1] https://github.com/vim/vim/blob/e7499ddc33508d3d341e96f84a0e7b95b2d6927c/src/fileio.c#L2397-L2398 [2] https://github.com/vim/vim/blob/e7499ddc33508d3d341e96f84a0e7b95b2d6927c/src/os_win32.c#L1703-L1714
* | | | version: rename "0.2.3" to "0.3.0" (#8268)Justin M. Keyes2018-04-13
| | | | | | | | | | | | | | | | 0.2.1 was a big release, it should have been renamed to 0.3.0. 0.2.3 also has significant changes, so rename it.
* | | | tui: abort on unexpected enum value (#8266)John Szakmeister2018-04-13
| | | | | | | | | | | | ref #8261
* | | | API/nvim_command_output: handle :echon capture (#8265)Justin M. Keyes2018-04-13
| | | | | | | | | | | | ref https://github.com/neovim/python-client/pull/290
* | | | Merge #7813 'channels: delay free'Justin M. Keyes2018-04-13
|\ \ \ \ | | | | | | | | | | fix #7699
| * | | | channels: cleanup channel freeing codeBjörn Linse2018-04-12
| | | | |
| * | | | channels: delay free so that libuv can cleanup handlesBjörn Linse2018-04-12
|/ / / / | | | | | | | | | | | | add test for a crash this caused
* | | | ui_set_option: pass String.data, not StringJustin M. Keyes2018-04-12
| | | |
* | | | build/freebsd: set CMAKE_MAKE_PROGRAM iff "Unix Makefiles" (#8260)John Szakmeister2018-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's only appropriate to set CMAKE_MAKE_PROGRAM to gmake when we're using the "Unix Makefiles" generator. On QB, the nodes have Ninja available and will use it, which means CMAKE_GENERATOR is set to "Ninja". Setting CMAKE_MAKE_PROGRAM was forcing the build to use gmake instead of ninja, which was causing the build failure.
* | | | tui: fix uninitialize variable usage (#8261)John Szakmeister2018-04-12
|/ / / | | | | | | | | | | | | This fixes an issue with compiles failing in release mode due to shape having the possibility of being used uninitialized (since the default case was missing).
* | | test/util: expect_err() (#8257)Justin M. Keyes2018-04-11
| | | | | | | | | other cleanup, ref #8245
* | | Merge #8247 'server: introduce --listen'Justin M. Keyes2018-04-11
|\ \ \
| * | | lintJustin M. Keyes2018-04-11
| | | |
| * | | server: init v:servername if $NVIM_LISTEN_ADDRESS is invalidJustin M. Keyes2018-04-11
| | | | | | | | | | | | | | | | | | | | Before this change, if $NVIM_LISTEN_ADDRESS was invalid, v:servername was left empty.
| * | | server: introduce --listen, deprecate $NVIM_LISTEN_ADDRESSJustin M. Keyes2018-04-11
| | | |
| * | | cleanup: remove main_start_gui()Justin M. Keyes2018-04-11
| | | |