aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | eval: Add internal_refcount field to dict_TThiago de Arruda2015-04-02
| | | | | | | | | | | | | | | | Due to the way vimscript garbage collection handles cyclic references, its not possible to rely on incrementing `dv_refcount` to prevent dicts still used internally from being collected: If a object with dv_refcount > 0 isn't reachable by vimscript code, it will be freed when `garbage_collect()` is called. Add the `internal_refcount` field to prevent this.
* | vim-patch:7.4.336 #2299David Bürgin2015-04-02
| | | | | | | | | | | | | | Problem: Setting 'history' to a big value causes out-of-memory errors. Solution: Limit the value to 10000. (Hirohito Higashi) https://github.com/vim/vim/tree/v7-4-336
* | vim-patch:7.4.515David Bürgin2015-04-01
| | | | | | | | | | | | | | | | Problem: In a help buffer the global 'foldmethod' is used. (Paul Marshall) Solution: Reset 'foldmethod' when starting to edit a help file. Move the code to a separate function. https://github.com/vim/vim/releases/tag/v7-4-515
* | Modeline cleanupMichael Reed2015-03-31
| | | | | | | | | | If users want folds to be automatically collapsed, then they should just set foldmethod=marker in their vimrc.
* | Remove potential NULL dereference. #2316Prajjwal Bhandari2015-03-31
| | | | | | | | | | | | This also removes the `#elseif defined(MSWIN)` clause. Due to the enclosing `if` block, we will never get to this point when src starts with a '%', making the whole #elseif block dead code.
* | Merge pull request #2296 from glts/vim-7.4.324Florian Walch2015-03-31
|\ \ | |/ |/| [RDY] vim-patch:7.4.324
| * vim-patch:7.4.324David Bürgin2015-03-30
| | | | | | | | | | | | | | Problem: In Ex mode, cyrillic characters are not handled. (Stas Malavin) Solution: Support multi-byte characters in Ex mode. (Yukihiro Nakadaira) https://github.com/vim/vim/releases/tag/v7-4-324
* | CMakeLists: enable USE_FNAME_CASE on MacScott Prager2015-03-31
| |
* | os_scandir: fname_case -> path_fix_caseScott Prager2015-03-31
| | | | | | | | | | | | | | | | | | | | Use os_scandir(). fname_case() only gets used when `defined(USE_FNAME_CASE)` (on operating systems with case-insensitive file systems), but may be useful in other contexts, so move it to path.c. (See the TODO.) Remove the unused parameter, len.
* | os_scandir: mch/unix_expandpath() -> path_expand()Scott Prager2015-03-31
| | | | | | | | | | Merge unix_expandpath with dos_expandpath from upstream vim and use os_scandir() over POSIX readdir().
* | Un-mch mch_has_(exp_)wildcard().Scott Prager2015-03-31
| | | | | | | | | | Merge mch_has_wildcard() and mch_has_exp_wildcar() with their upstream equivalents for Windows and replace the "mch_" suffix with "path_".
* | os_scandir(), scandir_next(), and os_closedir()Scott Prager2015-03-31
| |
* | Create new mode() value for terminal-mode ('t') #2287Harm te Hennepe2015-03-27
|/
* eval: Improve validation of ids passed to job functionsThiago de Arruda2015-03-29
| | | | | Use the `is_user_job` to ensure that the job was started by `jobstart` or `termopen`.
* eval: Implement `jobclose()` vimscript functionThiago de Arruda2015-03-29
|
* eval: Implement `jobwait()` vimscript functionThiago de Arruda2015-03-29
|
* eval: Refactor vimscript job control APIThiago de Arruda2015-03-29
| | | | | | | | | | - Remove JobActivity autocmd and v:job_data variable - Simplify `jobstart` to receive: - An argument vector - An optional dictionary which may contain any of the current `jobstart` options plus `on_stdout`, `on_stderr` and `on_exit` callbacks. - Refactor and add more job tests - Update documentation
* eval: Refactor `call_func` and `func_unref`Thiago de Arruda2015-03-29
| | | | | | - Make it possible to call or unref ufunc_T pointers directly. - Keep refcount of named functions, and stop them from being deleted if the refcount is greater than 1.
* vim-patch:7.4.502 #2282David Bürgin2015-03-29
| | | | | | | | Problem: Language mapping also applies to mapped characters. Solution: Add the 'langnoremap' option, when on 'langmap' does not apply to mapped characters. (Christian Brabandt) https://github.com/vim/vim/releases/tag/v7-4-502
* vim-patch:7.4.529 #2270David Bürgin2015-03-27
| | | | | | | Problem: No test for what 7.4.517 fixes. Solution: Adjust the tests for breakindent. (Christian Brabandt) https://github.com/vim/vim/releases/tag/v7-4-529
* Vim patch: Add missing patch version 422 in version.c #2268David Bürgin2015-03-27
| | | | Completes #1332.
* tui: Fix reading when stdin is not a ttyThiago de Arruda2015-03-26
| | | | | | | | | | | | | | | | | | Instead of selecting stderr on startup if stdin is not a tty, first try reading from it and only switch to stderr when reading fails. With this behavior we support commands like: ``` echo q | nvim -es ``` and ``` ls *.md | xargs nvim ``` Fixed small bugs in rstream.c to make this happen.
* 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
|
* 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>