| Commit message (Collapse) | Author | Age |
|\
| |
| |
| |
| | |
Helped-by: oni-link <knil.ino@gmail.com>
Reviewed-by: oni-link <knil.ino@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
After @250aca4f8938 it is possible that terminal_close will be called without
invoking the close_cb(which normally destroys the terminal structure). If this
happens, the terminal buffer will already be deleted so there's no need to call
`bwipeout!`.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The call to `event_init()` was too late. `command_line_scan()` in `main()` could
already need the loop initialized. Ref https://github.com/neovim/neovim/issues/3045#issuecomment-123405833.
A consequence of this change is that it was necessary to move the
`channel_from_stdio()` call to `command_line_scan()` when embedded_mode is set.
|
| |
| |
| |
| | |
ref: #3188
|
|/
|
|
|
|
|
|
| |
- Explicitly set the SignalWatcher event queue. Without this, the watcher will
publish events to the fast queue, resulting in resize bugs for certain
terminals(#2322).
- Set `async = false` to the `remote_ui_attach` handler(It was a deferred
before, this is the new equivalent)
|
|
|
|
|
| |
This adds a redraw notification "update_menu" which is sent whenever
Vim's menus are changed by the :menu command and friends.
|
|
|
|
|
|
|
|
|
|
|
| |
It is possible for a processed event in the input loop of
terminal_enter() to destroy the terminal. But this is undetected by the
function and it still tries to use the freed terminal.
Use a reference count to delay the freeing of the terminal until
terminal_enter() returns.
Fixes #3112
|
| |
|
|
|
|
| |
Fixes #3174
|
|
|
|
| |
Remove formatting errors from arabic.c and cursor_shape.c
|
|\
| |
| | |
Add getcharsearch() and setcharsearch()
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
patch 7.4.813
Problem: It is not possible to save and restore character search state.
Solution: Add getcharsearch() and setcharsearch(). (James McCoy)
https://github.com/vim/vim/releases/tag/v7.4.813
https://github.com/vim/vim/releases/tag/v7.4.826
Signed-off-by: James McCoy <vega.james@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: James McCoy <vega.james@gmail.com>
|
|\ \
| | |
| | | |
Generate unicode tables with script
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/|
| |
| |
| |
| | |
I see that problem fixed by #2801 was resurrected by making help tags file
generated in a more direct way. This fixes the hang without using the empty
file.
|
|\ \
| | |
| | | |
os/fs.c: remove os_file_is_readonly()
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
os_file_is_readonly() in its current form is equivalent to
!os_file_is_writable(). This does not appear to be a bug, because Vim's
use of check_file_readonly() (which we changed to os_file_is_readonly())
is equivalent to !os_file_is_writable() in every case.
os_file_is_readonly() also fails this test:
returns false if the file is non-read, non-write
A more useful form would define behavior under these cases:
- path is executable (but not writable)
- path is non-existent
- path is directory
But there is no reason for os_file_is_readonly() to exist, so remove it.
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Python: fixes for sys.path_hooks handler
|
| | |
| | |
| | |
| | | |
This method was not used, but `VimModuleLoader.load_module` is.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The path hook used to load the module already in the `find_module` hook.
This caused different behaviour between Python 2.7 and 3.3, where the
former would call the `VimModuleLoader`, while Python 3.3 appears to
short-circuited this (because the module was loaded already).
This patch will now only find the module, but not load it in the
`find_module` hook.
|
| | |
| | |
| | |
| | | |
This is required by PEP302 for `reload()`ing modules.
|
| | |
| | |
| | |
| | | |
Fixes https://github.com/neovim/neovim/issues/2909
|
|\ \ \
| | | |
| | | | |
os_file_is_readable()
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- uv_fs_access() is far more robust than access(). In particular, it
handles utf16 paths (Windows).
- Still need R_OK, W_OK in win_defs.h
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Use access() because:
- We already use it for os_file_is_writable()
- Vim's old check_file_readonly() ends up using access() after all.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add ability to suppress errors to clint.py
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Processing a stream's output can be queued. If stream_close() is called
before the queue is processed, the RBuffer containing the stream's data
is freed and the next read event would try to access freed memory.
To fix this behavior, use the stream's pending requests counter.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Based on this report
http://neovim.io/doc/reports/clang/report-808d3e.html#EndPath
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
runtime: Include vim-tutor-mode
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
vim-tutor-mode provides a mechanism to write and read interactive
tutorials in vim. It's aim is to replace the venerable vimtutor with a
more modern system.
The plugin's development is maintained at https://github.com/fmoralesc
/vim-tutor-mode
Closes #2351.
|
| |/ / /
|/| | |
| | | |
| | | | |
Fixes minor regression from #3145.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Helped-by: oni-link <knil.ino@gmail.com>
Reviewed-by: oni-link <knil.ino@gmail.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The new event processing architecture changed `jobwait()` semantics: Only one
job is processed at time since process_wait only focuses on one queue.
This fixes the problem with a few changes:
- Allow the event queue polled by `process_wait` to be overriden by a new
argument.
- Allow the parent queue to be overriden with `queue_replace_parent`
- Create a temporary queue that serves as the parent for all jobs passed to
`jobwait()`
|
| | | | |
| | | | |
| | | | |
| | | | | |
The structure has a constant initializer and is only used for reading.
|
| | | | |
| | | | |
| | | | |
| | | | | |
This is necessary to keep events in the same order received from the OS.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since pty events are queued, it is possible that the reads will be reordered.
Example scenario:
In the terminal you have output combined from stdout and stderr. A program
generates output, first you have some output on stdout, then output on stderr,
output on stdout, output on stderr,... The whole output should be interleaved
from both streams.
Each output generates a read_event and they are placed in the same queue. If the
queue is processed, the first read_event will send the whole stdout output to
the terminal (on_job_output() consumes the whole buffer). The next read_event is
similar for stderr. The remaining read events do nothing because now both
RBuffer are already empty. So the terminal would show first the stdout output
and after that the stderr output.
This commit fixes the problem by disabling stderr stream in pty processes.
That's ok because they all represent the same stream(duplicate file
descriptors), plus one stream is simpler to deal with.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Improve the implementation of deferred/immediate events.
- Use the new queue module to change how/when events are queued/processed by
giving a private queue to each emitter.
- Immediate events(which only exist to break uv_run recursion) are now
represented in the `loop->fast_events` queue.
- Events pushed to child queues are propagated to the event loop main queue and
processed as K_EVENT keys.
|
| | | | | |
|