Commit Graph

1944 Commits

Author SHA1 Message Date
Rainer Borene
dbc7a8d987 legacy tests: migrate test4 2014-11-04 12:57:32 -03:00
Rainer Borene
649aeceb38 legacy tests: improvements to functional helpers.lua
- Clean vim registers and functions before each test
- Add eval workaround to the request helper method
- Export dedent method
2014-11-04 12:57:32 -03:00
Thiago de Arruda
1d250cddb8 Merge pull request #1287 '[RFC] Add legacy test conversion script.' 2014-11-04 11:38:19 -03:00
Florian Walch
bc6ac59928 Add legacy test conversion script. 2014-11-04 11:38:06 -03:00
Thiago de Arruda
5f99be1efe Merge pull request #1376 '[RDY] Passing current range to provider calls' 2014-11-04 10:58:01 -03:00
henadzit
e5389600ec Passing current range to provider calls
- updated script_host_execute and script_host_execute_file to pass current range
2014-11-04 09:47:06 -03:00
Thiago de Arruda
13a38ff688 Merge PR #1384 'Add core dump reporting to travis' 2014-11-03 21:59:18 -03:00
Thiago de Arruda
7cff10a6c5 test: Add valgrind suppression for libuv memory leak
A memory leak happens in uv_spawn when stdio is set to UV_IGNORE and the child
process fails to start. This only happens when libuv is compiled with gcc and
optimizations enabled(the default).

Compiling with '-O0' removes the leak, but all that can be done right now is
ignore the leak by adding a valgrind suppression.
2014-11-03 21:51:51 -03:00
Thiago de Arruda
c9cc2aa53d event: Assert that all libuv handles are closed on exit.
Travis build will now fail when core files are dumped, so call `abort()` when
the event loop is not fully released before exiting.
2014-11-03 21:51:51 -03:00
Thiago de Arruda
636fc6b08d channel: Move mch_exit(0) call to a non-deferred event handler
Since `mch_exit` will re-enter event_poll, it is necessary to call it outside
libuv event loop.
2014-11-03 21:51:51 -03:00
Thiago de Arruda
74b9f33a95 event: Do an early return from event_teardown when not initialized 2014-11-03 21:51:51 -03:00
Thiago de Arruda
9615258d1a travis: Test nvim --version in gcc build
The --version flag drives Nvim to take a different code path, which is worth
testing. Now we do it in the "gcc" ci target(It will only fail if the exit code
is different than 0)
2014-11-03 21:51:51 -03:00
Thiago de Arruda
b320904382 travis: Force travis build to fail when core files are dumped 2014-11-03 21:51:44 -03:00
Justin M. Keyes
eeaac9f639 Merge pull request #1377 from Pyrohh/msgpack_rpc-doc-fixes
Misc. msgpack-rpc doc fixes
2014-11-03 16:56:54 -05:00
Michael Reed
61ef9b21c7 runtime/docs/msgpack-rpc: Misc. fixes
- Correct apostrophe usage, primarily with it's/its
- Correct usage of 'e.g.'
- Capitalize acronyms
- Prepend NVIM_LISTEN_ADDRESS with '$' to match previous instance
- Avoid awkward phrasing
- Make lists with an explicitly stated number of points numbered to
  match other such lists
- Added space before parentheses
- rm trailing whitespace
2014-11-03 16:30:31 -05:00
Justin M. Keyes
c4e112e13b Merge pull request #1387 from fwalch/fix-installation
Fix installation.
2014-11-03 14:23:31 -05:00
Florian Walch
cc7199f0e5 CMake: Fix helptags generation. 2014-11-03 19:46:40 +01:00
Florian Walch
3fa28d2ba5 Revert "Merge pull request #1381 from xzfc/master"
This reverts commit 6c0a596dac, reversing
changes made to 33d3a7c83b.
2014-11-03 18:07:56 +01:00
Justin M. Keyes
6c0a596dac Merge pull request #1381 from xzfc/master
GenerateHelptags: Fix checking of DESTDIR
2014-11-03 10:38:09 -05:00
Albert Safin
37be21fdee GenerateHelptags: Use ${PREFIX} variable 2014-11-03 19:06:59 +06:00
Albert Safin
62ede403f0 CMake: Fix checking of DESTDIR 2014-11-03 19:05:46 +06:00
Justin M. Keyes
33d3a7c83b Merge pull request #1366 from fwalch/homebrew-release
Homebrew: Compile as release build.
2014-11-03 04:31:10 -05:00
Justin M. Keyes
50590ba54e Merge pull request #1379 from xu-cheng/GenerateHelptags_fix
GenerateHelptags: check whether DESTDIR exists
2014-11-03 02:44:08 -05:00
Xu Cheng
973fc5c66b GenerateHelptags: check whether DESTDIR exists 2014-11-03 14:41:49 +08:00
Thiago de Arruda
5a52bcfa22 Merge PR #1369 'Assert libuv event loop is properly cleaned up' 2014-11-02 20:23:42 -03:00
Thiago de Arruda
75a5674cd2 event: Ensure the event loop has been cleaned up in event_teardown
- Add input_teardown/signal_teardown to take care of closing signal/stdin
  handles.
- Call those functions in event_teardown, and ensure there are no active handles
  by entering an infinite loop when there are unclosed handles(think of this as
  an assertion that can't go unoticed on travis).
- Move event_teardown call to the end of mch_exit. That is required because
  event_poll may still be called in that function.
2014-11-02 16:47:50 -03:00
Thiago de Arruda
a1dd70b1d0 event: Reintroduce the immediate event queue
Commit @264e0d872c("Remove automatic event deferral") removed the immediate
event queue because event deferral now had to be explicit. The problem is that
while some events don't need to be deferred, they still can result in recursive
`event_poll` calls, and recursion is not supported by libuv. Examples of those
are msgpack-rpc requests while a server->client request is pending, or signals
which can call `mch_exit`(and that will result in `uv_run` calls).

To fix the problem, this reintroduces the immediate event queue for events that
can potentially result in event loop recursion. The non-deferred events are
still processed in `event_poll`, but only after `uv_run` returns.
2014-11-02 16:47:50 -03:00
Thiago de Arruda
e378965a44 event: Rename pending_events to deferred_events 2014-11-02 16:47:50 -03:00
Thiago de Arruda
5322333b47 server: Refactor to ensure server handles are always properly closed
If the server fails to start(due to used address for example), the
`server_start` function was freeing the handle memory before it was properly
removed from libuv event loop queue. Fix that by replacing the `free(server)`
call by `uv_close` call, which will take care of freeing the server on the next
event loop iteration.  Also replace `EMSG` calls by `ELOG`/`WLOG`.
2014-11-02 16:47:50 -03:00
Thiago de Arruda
d4f032a133 wstream: Memory allocation improvements
- Rename WriteData to WRequest
- Inline uv_write_t into WRequest, avoiding an extra allocation
- Manage WBuffer/WRequest instances using klib memory pools
2014-11-02 16:47:50 -03:00
Thiago de Arruda
0ffeb140a4 job: Simplify job_teardown function
Remove the current teardown logic and reuse the job top timers with
event_poll_until all jobs exit or are killed.
2014-11-02 16:47:50 -03:00
Florian Walch
87ab041610 Homebrew: Compile as release build. 2014-11-02 12:05:25 +01:00
Justin M. Keyes
48847fbafc Merge pull request #951 from bfredl/curfix
api: window_set_cursor doesn't always update position.
2014-11-01 21:24:58 -04:00
Justin M. Keyes
92173edbc0 Merge pull request #1371 from GokuITA/coverity74362
coverity/74362: Initialized Array using ARRAY_DICT_INIT
2014-11-01 18:15:23 -04:00
Victor Fonseca
235287810e coverity/74362: Initialized Array using ARRAY_DICT_INIT 2014-11-01 18:47:09 -02:00
Björn Linse
d6da424758 test/api: add test for set_cursor always updating the screen 2014-11-01 12:05:36 +01:00
Björn Linse
b34705bf5f api/window_set_cursor: make sure cursor line is visible.
Previously, the cursor could be left outside the visible range if window
is not the current window
2014-11-01 12:04:47 +01:00
Thiago de Arruda
591391b9bc Merge PR #1365 'Refactor os_call_shell to use os_system' 2014-10-31 22:56:53 -03:00
Thiago de Arruda
d878569dc7 job: Fix job_wait to properly cleanup the job when it exits. 2014-10-31 22:52:10 -03:00
Thiago de Arruda
d5d98f14b6 job: Refactor how job kill timeouts are handled
Use a timer to periodically compare the current HR time against the HR time of
when `job_stop` was called. After 1 second, send SIGTERM, after 2 seconds, send
SIGKILL. The timer is only active when there's at least one `job_stop` call
pending.
2014-10-31 22:52:10 -03:00
Thiago de Arruda
01761cdd32 job/shell: Refactor os_call_shell/os_system to share code 2014-10-31 22:52:10 -03:00
Thiago de Arruda
88c4747556 rstream: Add rstream_buffer method to get a reference to RBuffer 2014-10-31 22:52:10 -03:00
Thiago de Arruda
68015367a0 shell: Rename dyn_buffer_t to DynamicBuffer
To follow our coding conventions
2014-10-31 22:52:10 -03:00
Thiago de Arruda
c92d17b4aa job: Let job_start callers to selectively ignore stdio
Passing NULL as the callback for stdout/stderr will result in job_start ignoring
stdout/stderr, respectively. A 'writable' boolean argument was also added, and
when false `job_start` will ignore stdin.

Also, refactor os_system to allow passing NULL as the `output` argument.
2014-10-31 22:52:10 -03:00
Thiago de Arruda
25e26e0056 job: Close libuv handles when uv_spawn fails
Commit @709685b4612f4 removed the close_job_* calls when uv_spawn fails because
of memory errors when trying to cleanup unitialized {R,W}Stream instances, but
the uv_pipe_t instances must be closed because they are added to the event loop
queue by previous `uv_pipe_init()` calls
2014-10-31 22:52:10 -03:00
Justin M. Keyes
a8656ed50a Merge pull request #1367 from elmart/python-setup-fix
Fix python setup: Fix issue for users not using python.
2014-10-31 15:43:42 -04:00
Eliseo Martínez
cdaa417e8c Fix python setup: Fix issue for users not using python. 2014-10-31 20:31:37 +01:00
Justin M. Keyes
1b9e4d7731 Merge pull request #1364 from fwalch/cla
CONTRIBUTING.md: Add link to CLA.
2014-10-31 11:30:39 -04:00
Thiago de Arruda
822d813575 Merge PR #1358 'Fix python setup' 2014-10-31 07:45:18 -03:00
Eliseo Martínez
f10779fb7a Fix python setup: Make sure python version on user's path is picked.
Problem:  executable() was detecting python on user's path, but
          system() was executing system-level python.

Solution: Make sure python version on user's path is executed.
          Use exepath() to force system() to do so.
2014-10-31 07:44:10 -03:00