aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* doc: Introduce vim-differences #2141Michael Reed2015-03-26
| | | | | | | This documents the differences between nvim and nvim. Regarding the removal of references to 'renderoptions': it was never added in the first place, so there's no need to mention its "removal".
* doc: Document g:python_host_prog. #2205Florian Walch2015-03-26
|
* Merge PR #2076 'Builtin terminal emulation'Thiago de Arruda2015-03-25
|\
| * test: Add terminal testsThiago de Arruda2015-03-25
| | | | | | | | | | | | | | | | | | | | | | | | - Modify tty-test to allow easier control over the terminal - Add a new directory with various terminal tests/specifications - Remove a pending job/pty test. - Flush stdout in Screen:snapshot_util() (avoid waiting for the test to finish) - Replace libuv sigwinch watcher by a sigaction handler. libuv randomly fails to deliver signals on OSX. Might be related to the problem fixed by @bbcddc55ee1e5605657592644be0102ed3a5f104 (under the hoods, libuv uses a pipe to deliver signals to the main thread, which might be blocking in some situations)
| * job: Close the process in a queued event handlerThiago de Arruda2015-03-25
| | | | | | | | | | | | Since all reads are queued by the event loop, we must also queue the exit event, or else the process_close function can close the job streams before received data is processed.
| * job: Fix memory errorsoni-link2015-03-25
| | | | | | | | - Free memory allocated for job data when the job table is full.
| * terminal: New module that implements a terminal emulatorThiago de Arruda2015-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit integrates libvterm with Neovim and implements a terminal emulator with nvim buffers as the display mechanism. Terminal buffers can be created using any of the following methods: - Opening a file with name following the "term://[${cwd}//[${pid}:]]${cmd}" URI pattern where: - cwd is the working directory of the process - pid is the process id. This is just for use in session files where a pid would have been assigned to the saved buffer title. - cmd is the command to run - Invoking the `:terminal` ex command - Invoking the `termopen` function which returns a job id for automating the terminal window. Some extra changes were also implemented to adapt with terminal buffers. Here's an overview: - The `main` function now sets a BufReadCmd autocmd to intercept the term:// URI and spawn the terminal buffer instead of reading the file. - terminal buffers behave as if the following local buffer options were set: - `nomodifiable` - `swapfile` - `undolevels=-1` - `bufhidden=hide` - All commands that delete buffers(`:bun`, `:bd` and `:bw`) behave the same for terminal buffers, but only work when bang is passed(eg: `:bwipeout!`) - A new "terminal" mode was added. A consequence is that a new set of mapping commands were implemented with the "t" prefix(tmap, tunmap, tnoremap...) - The `edit` function(which enters insert mode) will actually enter terminal mode if the current buffer is a terminal - The `put` operator was adapted to send data to the terminal instead of modifying the buffer directly. - A window being resized will also trigger a terminal resize if the window displays the terminal.
| * event: Ensure the loop is stopped when a event is pushed.Thiago de Arruda2015-03-25
| |
| * buffer: Move b_p_ma(modifiable) checks into the MODIFIABLE macroThiago de Arruda2015-03-25
| |
| * buffer: Add WITH_BUFFER macro to simplify global buffer modificationThiago de Arruda2015-03-25
| | | | | | | | | | | | Most internal functions to modify buffers operate on the current buffer and require temporary switchs. This macro is a temporary workaround until a cleaner refactoring of the internal API is performed.
| * vim.h: remove #ifndef EINTRThiago de Arruda2015-03-25
| | | | | | | | This ifndef causes problems when including fileio headers.
| * api: Move switch_to_win_for_buf/restore_win_for_buf to api helpersThiago de Arruda2015-03-25
| |
| * ui: Schedule screen refreshs to run in the event loopThiago de Arruda2015-03-25
| | | | | | | | | | This is required to avoid event loop recursion due to indirect calls to os_breakcheck by screenalloc
| * map: Add Map(int, int)Thiago de Arruda2015-03-25
| |
| * map: Add map_clear methodThiago de Arruda2015-03-25
| |
| * syntax: Fix possible invalid read in hl_combine_attrThiago de Arruda2015-03-25
|/
* tests: Migrate legacy test 94 #2218David Bürgin2015-03-25
|
* Merge #2236 'docs cleanup'Justin M. Keyes2015-03-24
|\
| * doc: Remove refs to 'compatible' and friendsMichael Reed2015-03-24
| | | | | | | | | | | | | | Also remove some MS-DOS references on lines already being touched. Based on this commit: https://github.com/justinmk/neovim/commit/e4db01ca8707c34dc808d7f6378aa3aba9002a2d
| * doc: Misc. cleanupJustin M. Keyes2015-03-24
| | | | | | | | | | | | | | | | | | | | Add missing parentheses and whatnot, move dangling comment, etc. Some specific items worth mentioning: Fixed some references to non-existent tags, found via `make html` msgpack_rpc/channel.c: ELOG already prefixes each line with "error @ ..."
| * doc: Add one-liner job control exampleJustin M. Keyes2015-03-24
| |
| * doc: Cleanup for #2099Michael Reed2015-03-24
| | | | | | | | | | Said PR changed the behavior of `undercurl` in the TUI, but didn't document it.
| * Remove `--nofork` / `-f` remnantsMichael Reed2015-03-24
|/
* Merge #2148 'misc1.c: split some environment functions'Justin M. Keyes2015-03-24
|\
| * refactor: add tests for env_expand_escbobtwinkles2015-03-24
| |
| * refactor: split some more functions from misc1.cbobtwinkles2015-03-24
|/ | | | | | | | | | | This commit pulls the some environment-variable handling functions out of misc1.c and in to os/env.c. Previously submited as #1231, this is the start of a patch series that does that work based on a more up-to-date master branch. Major tasks accomplished: - move functions and fix includes - fix clint/clang analysis warnings - correct documentation comments
* Merge PR #2146 'Improve functional test debuggability and efficiency'Thiago de Arruda2015-03-24
|\
| * test: Improve functional test debuggability and efficiencyThiago de Arruda2015-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Read TEST_TAG/TEST_FILTER env vars from cmake/RunTests.cmake. Setting these environment variables will pass --tags/--filter to busted, which can used to filter which tests are executed. - Remove calls to nvim msgpack-rpc API outside tests. This removes the requirement of having a static `clear` call in test/functional/helpers.lua - Use the new busted command-line option "--lazy" to ensure the setup/teardown hooks are only executed when a suite runs at least one test. Now its possible to run/debug a single test like this: ```sh TEST_FILTER='some test string' make test ``` Which will only run tests containing "some test string" in the title. Another option is: ```sh TEST_TAG=some-tag make test ``` After putting #some-tag into the test title. This also improves debugging experience because there will be no unnecessary gdbserver instances whe GDB=1 is passed.
| * test: Extract code to spawn nvim into the "spawn" helper functionThiago de Arruda2015-03-24
| | | | | | | | | | | | This is can be used for spawning nvim outside a test context. Also refactor screen.lua to use this function when loading the color map(It is better because the GDB/VALGRIND environment variables are ignored)
| * deps: Update busted and dependenciesThiago de Arruda2015-03-24
|/
* Merge PR #2237 'Job fixes to core and tests'Thiago de Arruda2015-03-24
|\
| * test: Fix tty-test programThiago de Arruda2015-03-24
| | | | | | | | | | The "tty ready" string must only be printed when the process is ready to receive signals, and this only happens when the event loop has started.
| * job: Fix memory erroroni-link2015-03-24
| | | | | | | | | | Fix pointer passed to the handles in the uv_close() calls when process_spawn() fails.
| * job: Fix process cleanup using SIGCHLD/waitpidThiago de Arruda2015-03-24
|/ | | | | Add a SIGCHLD handler for cleaning up pty processes passing the WNOHANG flag. It may also be used to cleanup processes spawned with uv_spawn.
* Merge pull request #2213 from jszakmeister/add-junit-supportJohn Szakmeister2015-03-24
|\ | | | | build: add support for running the tests in junit format
| * build: add support for running the tests in junit formatJohn Szakmeister2015-03-21
| | | | | | | | | | | | This requires a couple of extra modules that are not installed by default, and it requires capturing stdout of the tests--otherwise CMake output is intermixed with the XML output of busted.
* | Merge pull request #2214 from Pyrohh/version-cleanupJustin M. Keyes2015-03-23
|\ \ | | | | | | Version output cleanup
| * | version.c: Clean up --version / :version outputMichael Reed2015-03-22
| | | | | | | | | | | | | | | | | | | | | | | | Despite the +/- prefix, the majority of these features have been made non-optional at compile time, so their presence here is misleading. Also mention `:h vim-differences` to make it clear our that many features are non-optional.
| * | Remove *_BUILTIN_TCAPS & 'ttybuiltin'Michael Reed2015-03-22
| | | | | | | | | | | | | | | 'ttybuiltin' was removed and *_BUILTIN_TCAPS was made into dead code in PR #1820.
* | | Merge pull request #2212 from bfredl/concealfixBjörn Linse2015-03-22
|\ \ \ | |/ / |/| | fix missing conceal cchar when it is the first syntax group shown
| * | vim-patch: mark 7.4.673 as includedBjörn Linse2015-03-21
| | |
| * | syntax: let first syntax item seqnr be 1 instead of 0Björn Linse2015-03-21
| |/ | | | | | | | | in screen.c:win_line seqnr 0 represents the state: no current syntax item
* | Merge #2184: Fix coverity issues. (6)Eliseo Martínez2015-03-22
|\ \ | |/ |/| | | Reviewed-by: oni-link <knil.ino@gmail.com>
| * Passing-by: Add function attributes.Eliseo Martínez2015-03-22
| |
| * coverity/105985: Resource leak: RI.Eliseo Martínez2015-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem : Resource leak @ 94, 98, 102. Diagnostic : Real issue. Rationale : Coverity doesn't know that uv_pipe_open will save file descriptor to close them later. So, it signals file descriptors being leaked. This would then seem like a false positive we can fix by teaching coverity about uv_pipe_open through model file. But then we realize that the above is only true if uv_pipe_open succeeds. It it fails, then descriptors are really being leaked, which is why this is considered a real issue and not a false positive after all. Resolution : Add error handling to correctly close descriptors if uv_pipe_open fails at any point. Add model for uv_pipe_open so that Coverity knows it will save descriptors when no error. Helped-by: oni-link <knil.ino@gmail.com>
| * coverity/105982: Unckecked return value: RI.Eliseo Martínez2015-03-22
| | | | | | | | | | | | | | | | | | Problem : Unchecked return value from library @ 91. Diagnostic : Real issue. Rationale : fcntl can fail, which is not being checked. Resolution : Add corresponding error handling. Helped-by: oni-link <knil.ino@gmail.com>
| * coverity/105568: Free of array-typed value: FP.Eliseo Martínez2015-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem : Free of array-typed value @ 3628. Diagnostic : False positive. Rationale : expand_shell_cmd() is called with a mock value for file (*file = (char_u **)""). That means we want file to be filled with a new value. We can't use *file = NULL because that means we don't want file to be filled. Now, coverity incorrectly thinks that sentinel value is the one we are freeing up at some other later point, which is not the case. Resolution : Assert that, when we are freeing *file, its value is different than the sentinel one.
| * coverity/13777: String not null terminated: RI.Eliseo Martínez2015-03-22
|/ | | | | | | | | | | | | | Problem : String not null terminated @ 1543. Diagnostic : Real issue. Rationale : We are reading a struct block0, which contains some string fields, from a file, without checking for string fields to be correctly terminated. That could cause a buffer overrun if file has somehow been garbled. Resolution : Add string fields check for nul termination. Mark issue as intentional (there seems to be no way of teaching coverity about read_eintr being ok that way). Helped-by: oni-link <knil.ino@gmail.com>
* Update to libuv 1.4.2Michael Reed2015-03-21
|
* legacy test script: minor string handling fix #2181Gustaf Lindstedt2015-03-20
| | | | | | | | Add check to see if a string contains ], which can result in cases where wrapping a string in [[...]] breaks. Use [=[...]=] instead on those strings. Use [=[...]=] for insert() and expect().