| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
Helped-by: Robin Allen <r@foon.uk>
Helped-by: Scott Prager <splinterofchaos@gmail.com>
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
CMakeLists: fix build when there're multiple arguments in C_FLAGS
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
A call to `event_poll` is required to ensure the exit callback from the last job
is invoked.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
If users want folds to be automatically collapsed, then they should just
set foldmethod=marker in their vimrc.
|
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/| |
[RDY] vim-patch:7.4.324
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Merge unix_expandpath with dos_expandpath from upstream vim and use
os_scandir() over POSIX readdir().
|
| |
| |
| |
| |
| | |
Merge mch_has_wildcard() and mch_has_exp_wildcar() with their upstream
equivalents for Windows and replace the "mch_" suffix with "path_".
|
| | |
|
|/ |
|
|
|
|
|
| |
Use the `is_user_job` to ensure that the job was started by `jobstart` or
`termopen`.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Completes #1332.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
- Free memory allocated for job data when the job table is full.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This ifndef causes problems when including fileio headers.
|
| |
|
|
|
|
|
| |
This is required to avoid event loop recursion due to indirect calls to
os_breakcheck by screenalloc
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Also remove some MS-DOS references on lines already being touched.
Based on this commit:
https://github.com/justinmk/neovim/commit/e4db01ca8707c34dc808d7f6378aa3aba9002a2d
|
|
|
|
|
|
|
|
|
|
| |
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 @ ..."
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Fix pointer passed to the handles in the uv_close() calls when process_spawn()
fails.
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Version output cleanup
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|