aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* clipboard: reallow `:put`Björn Linse2015-04-05
|
* clipboard: show "* and "+ in :registersBjörn Linse2015-04-05
| | | | | Helped-by: Robin Allen <r@foon.uk> Helped-by: Scott Prager <splinterofchaos@gmail.com>
* Fix a memory leak for WBuffers used in channel_write().oni-link2015-04-03
| | | | | | | channel_write() uses a ref-counted buffer for writing. This buffer should be released if it was used in "refcount" channel_write() calls. But calling channel_write() on a closed channel would return early and not decrease the refcount of the used buffer.
* Prevent too early sending of delayed notifications.oni-link2015-04-03
| | | | | | | | | | | | | | Notifications for a channel will be sent directly if there are no pending requests (for this channel). Otherwise notifications are queued for later sending. But in two cases a notification could be sent with pending requests: * Broadcasting a notification * A channel that has just finished its last pending request would call send_delayed_notifications() for all channels. To prevent this, every channel can now only send its own delayed notifications and broadcasting checks for pending requests.
* Merge pull request #2318 from yshui/masterJohn Szakmeister2015-04-03
|\ | | | | CMakeLists: fix build when there're multiple arguments in C_FLAGS
| * CMakeLists: fix build when there're multiple arguments in C_FLAGSYuxuan Shui2015-03-31
| | | | | | | | | | | | Because the COMMAND arguments of custom_command takes a list, and CMAKE_C_FLAGS is a string, it will be treated as a single long argument, which will cause the build to fail.
* | eval: Ensure all job callbacks are invoked by `jobwait()`Thiago de Arruda2015-04-02
| | | | | | | | | | A call to `event_poll` is required to ensure the exit callback from the last job is invoked.
* | 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.