aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* clipboard: handle clipboard reading directly in `get_yank_register`Björn Linse2015-04-05
| | | | | | | | This makes :<c-r>* work as expected and avoids clobbering zero register ("0) when pasting unnamed clipboard Helped-By: Scott Prager <splinterofchaos@gmail.com> Helped-By: Michael Reed <m.reed@mykolab.com>
* clipboard: improve the handling of newlines in `get_clipboard`Björn Linse2015-04-05
| | | | | | This makes the interpretion consistent with the way newlines are used in the VIMENC format, while keeping the same fallback behaviour when regtype is unspecified. Also check both cases explicitly in the tests.
* 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.