aboutsummaryrefslogtreecommitdiff
path: root/src/nvim
Commit message (Collapse)AuthorAge
...
* 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
|
* 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 @ ..."
* Remove `--nofork` / `-f` remnantsMichael Reed2015-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
* 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 #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
* | 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>
* vim-patch:7.4.503 #2178Perry Hung2015-03-20
| | | | | | | | | | | | | | | | Problem: Cannot append a list of lines to a file. Solution: Add the append option to writefile(). (Yasuhiro Matsumoto) https://code.google.com/p/vim/source/detail?r=v7-4-503 -Ported old legacy test over to test/functional/legacy/writefile_spec.lua -Tests for mapping and signs from the original patch were removed since they have nothing to do this with feature Tested with: make oldtest, make test on OS X. Signed-off-by: Perry Hung <iperry@gmail.com>
* tui: Add support for true color terminalsThiago de Arruda2015-03-20
| | | | | | | | | This is enabled by setting the `$NVIM_TUI_ENABLE_TRUE_COLOR` environment variable, eg: ``` $ NVIM_TUI_ENABLE_TRUE_COLOR=1 nvim ```
* Merge pull request #2144 from jszakmeister/fix-warning-in-releaseJohn Szakmeister2015-03-20
|\ | | | | Fix a couple warnings in the release build.
| * Fix unused variable in wstream.c for a release build.John Szakmeister2015-03-14
| |
| * Avoid an unused variable warning in the release build.John Szakmeister2015-03-13
| |
* | Remove BINARY_FILE_IO option #2179Perry Hung2015-03-18
| | | | | | | | | | | | | | | | | | The 'binary' mode flag is ignored on all POSIX conforming systems (man 3 fopen). For all the others, BINARY_FILE_IO needs to be set. Always set BINARY_FILE_IO. Signed-off-by: Perry Hung <iperry@gmail.com>
* | misc2.c: Move emsg* functions to message.c #2152Michael Reed2015-03-19
| | | | | | | | Clean up said functions and some outdated comments while we're at it.
* | tests/legacy: convert test 63 (`:match` and `matchadd()` )Björn Linse2015-03-19
| |
* | tests: update legacy Makefile #2186Justin M. Keyes2015-03-19
| | | | | | | | Many tests were migrated, but entries were left in the old Makefile.
* | main: Simplify code that deals with early user inputThiago de Arruda2015-03-18
| | | | | | | | | | | | | | | | | | A read stream will be started before the first ex command is processed. This stream will be used to read early user input before handling control over to the UI module. Which stdio stream will be used depends on which types of file descriptors are connected, and whether the "-" argument was passed.
* | ui: Refactor so that busy state won't be the defaultThiago de Arruda2015-03-18
| | | | | | | | | | | | | | | | | | | | | | Even though assuming nvim is busy most times is simpler, it has a problem: A lot of unnecessary busy_start/busy_stop notifications are sent to the UI. That's because in the majority of scenarios almost no time is spent between `event_poll` calls. This restores the normal behavior which is to call busy_start only when nvim is going to perform some task that can take a significant amount of time. Also improve the usage of buffering in the TUI when changing the cursor state.
* | tui.c: Send fewer cursor-hide commands to the terminal.oni-link2015-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since #2158 all connected UIs are informed about the busy state of nvim. This can be used to decide whether to hide or show the cursor (in one place). In the TUI, this is tui_flush(). To prevent cursor flashing, the terminal is always redrawn with an invisible cursor. After that the cursor is shown if necessary. In the current implementation a cursor-hide command will always be the first command in the next redraw, to prevent flashing. This is not necessary. Instead we start the TUI with a hidden cursor and only need to hide the cursor in the next redraw, if the cursor was shown in the last redraw. Otherwise the cursor is still hidden. So instead of sending every redraw the cursor-hide command, we only need to send the command while not busy(a state in nvim with low frequency).
* | Remove platform dependent HAVE_OPENDIR #2010Jonas Dourado2015-03-17
| |
* | main: Start stdin before sourcing startup scriptsThiago de Arruda2015-03-17
| | | | | | | | | | This is required to be compatible with plugins that ask user questions at startup(eg: vim-addon-local-vimrc)
* | Reuse f_browse function from f_browsedirAnton Ovchinnikov2015-03-16
| | | | | | | | The bodies of f_browse() and f_browsedir() were identical.
* | Remove unnecessary 'free'Anton Ovchinnikov2015-03-16
| | | | | | | | from_noamp is always NULL in this branch
* | Clarify an out-of-memory cleanup, remove a function-wide loop counterAnton Ovchinnikov2015-03-16
| |
* | Remove redundant parenthesesAnton Ovchinnikov2015-03-16
| |
* | Merge consecutive identical 'if' statementsAnton Ovchinnikov2015-03-16
| |
* | Remove always-true expressionsAnton Ovchinnikov2015-03-16
| |
* | legacy tests: migrate test19Gustaf Lindstedt2015-03-16
| |
* | legacy tests: migrate test89Gustaf Lindstedt2015-03-16
| |
* | ui: Only call ui_flush when the busy state changesThiago de Arruda2015-03-16
| | | | | | | | | | Also add back the `ui_flush` call to `get_keystroke`. Its necessary to display prompt messages correctly.
* | ui: Replace cursor_{on,off} by busy_{stop,start}Thiago de Arruda2015-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switching cursor off is only necessary in two occasions: - When redrawing to avoid terminal flickering - When the editor is busy The first can now be handled by the TUI, so most calls to ui_cursor_off can be removed from the core. So, before this commit it was only necessary to switch the cursor off to notify the user that nvim was running some long operation. Now the cursor_{on,off} functions have been replaced by busy_{stop,start} which can be handled in a UI-specific way(turning the cursor off or showing a busy indicator, for example). To make things even more simpler, nvim is always busy except when waiting for user input or other asynchronous events: It automatically switches to a non-busy state when the event loop is about to be entered for more than 100 milliseconds. `ui_busy_start` can be called when its not desired to change the busy state in the event loop (As its now done by functions that perform blocking shell invocations).
* | vim-patch: mark 7.4.660 as includedoni-link2015-03-13
| | | | | | | | | | | | refs #2138 vim-patch: https://code.google.com/p/vim/source/detail?r=476a12a96bb1e5ccc71b1c1010d529deca271617
* | syntax.c: Prevent use after free for variable g:colors_name.oni-link2015-03-13
| | | | | | | | | | | | | | | | | | | | | | ASan spotted a problem when using 'set background={light,dark}' with color scheme solarized. While loading the colors for color scheme 'g:colors_name', the pointer on the value for this variable can become invalid, because of an 'unlet colors_name' (part of an :highlight clear, syntax.c:6173). To prevent the use of the freed value, decouple the value from 'g:colors_name' before calling load_colors() with it.