| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| | |
Problem: strgetchar() does not work correctly.
Solution: use mb_cptr2len(). Add a test. (Naruhiko Nishino)
https://github.com/vim/vim/commit/5d18e0eca59ffbba22c7f7c91c9f99d672095728
|
| |
| |
| |
| |
| |
| |
| | |
Problem: It is not easy to get a character out of a string.
Solution: Add strgetchar() and strcharpart().
https://github.com/vim/vim/commit/58de0e2dcc1f2d251b74892a06d71a14973f3187
|
| | |
|
| | |
|
|/
|
|
| |
Helped-by: Daniel Hahler <git@thequod.de>
|
|
|
|
| |
remove unused response_id parameter of handle_nvim_... helpers
|
|
|
|
|
|
| |
this is consistent with vim, and is necessary for plugins that implement
their own input modes using "getchar()" and still want to do async
event processing.
|
|\
| |
| | |
vim-patch:7.4.{1893,1895}
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot use a window ID where a window number is expected.
Solution: Add LOWEST_WIN_ID, so that the window ID can be used where a
number is expected.
https://github.com/vim/vim/commit/888ccac8902cee186fbd47e971881f6d9b19c068
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot easily get the window ID for a buffer.
Solution: Add bufwinid().
https://github.com/vim/vim/commit/b3619a90eae2702553ff9494ecc4c9b20c13c224
|
|\ \
| | |
| | | |
vim-patch: 7.4.2158, 2162, 2205
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: 'wildignore' always applies to getcompletion().
Solution: Add an option to use 'wildignore' or not. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/e9d58a6459687a1228b5aa85bd7b31f8f1e528a8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Result of getcompletion('', 'sign') depends on previous
completion.
Solution: Call set_context_in_sign_cmd(). (Dominique Pelle)
https://github.com/vim/vim/commit/7522f6982197f83a5c0f6e9af07fb713934f824a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Result of getcompletion('', 'cscope') depends on previous
completion. (Christian Brabandt)
Solution: Call set_context_in_cscope_cmd().
https://github.com/vim/vim/commit/b650b9878e9f0ac6bb1b61230095ad9ab3850a33
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the backing stream for a :terminal was closed (e.g. if the shell exits
unexpectedly) there may be pending input on the loop which will be processed
before the terminal close event (which is queued on the same loop).
terminal_send checks term->closed but this does not reflect the state of the
underlying streams. The terminal.c module in fact has no knowledge of the
streams (this seems intentional: it is abstracted as TerminalOption.write_cb).
The SIGCHLD handler (pty_process_unix.c) is executed immediately, and it
triggers a stream teardown so Stream.closed=false (TerminalJobData.in.closed).
When the pending writes are handled by eval.c:term_write, wstream_write() aborts
because it sees the closed Stream.
To avoid that, this commit checks Stream.closed in eval:term_write() before writing
to the WStream. (As hinted above, we cannot do this in terminal:terminal_send()
because that module cannot inspect the underlying streams.)
References #5445
https://github.com/neovim/neovim/pull/5445#issuecomment-252529766
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
`lib/queue.h` implements a basic queue. `event/queue.c` implements
a specialized data structure on top of lib/queue.h; it is not a "normal"
queue.
Rename the specialized multi-level queue implemented in event/queue.c to
"multiqueue", to avoid confusion when reading the code.
Before this change one can eventually notice that "macros (uppercase
symbols) are for the normal queue, lowercase operations are for the
multi-level queue", but that is unnecessary friction for new developers
(or existing developers just visiting this part of the codebase).
|
|
|
|
|
|
|
| |
Problem: Coverity warns for fixed size buffer length (false positive).
Solution: Add a check for the name length.
https://github.com/vim/vim/commit/ef9d9b94a8803c405884bb6914ed745ede57c596
|
|
|
|
|
|
|
| |
Problem: Coverity: copying value of v_lock without initializing it.
Solution: Init v_lock in rettv_list_alloc() and rettv_dict_alloc().
https://github.com/vim/vim/commit/7d2a5796d39905a972e8f74af5f7b0a62e3de173
|
|
|
|
|
|
|
|
| |
Problem: Compiler has a problem copying a string into di_key[]. (Yegappan
Lakshmanan)
Solution: Add dictitem16_T.
https://github.com/vim/vim/commit/bee6c0cf86a75faa2aa893f2c9db82fd944a89a5
|
|
|
|
|
|
|
| |
Problem: Completion doesn't work well for a variable containing "vim/vim#".
Solution: Recognize the "vim/vim#". (Watiko)
https://github.com/vim/vim/commit/a32095fc8fdf5fe3d487c86d9cc54adb1236731e
|
|
|
| |
rettv_list_alloc cannot fail.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
old name: new name:
--------------------------------------------------
nvim_name_to_color nvim_get_color_by_name
nvim_get_current_buffer nvim_get_current_buf
nvim_get_current_window nvim_get_current_win
nvim_get_buffers nvim_list_bufs
nvim_get_tabpages nvim_list_tabpages
nvim_get_windows nvim_list_wins
nvim_set_current_buffer nvim_set_current_buf
nvim_set_current_window nvim_set_current_win
nvim_change_directory nvim_set_current_dir
nvim_tabpage_get_window nvim_tabpage_get_win
nvim_tabpage_get_windows nvim_tabpage_list_wins
nvim_win_get_buffer nvim_win_get_buf
nvim_report_error nvim_err_writeln
Helped-by: Björn Linse <bjorn.linse@gmail.com>
Helped-by: ZyX <kp-pav@yandex.ru>
Helped-by: James McCoy <jamessan@jamessan.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
move `call_shell` to misc1.c
Move some fns to state.c
Move some fns to option.c
Move some fns to memline.c
Move `vim_chdir*` fns to file_search.c
Move some fns to new module, bytes.c
Move some fns to fileio.c
|
|
|
|
|
|
| |
Problem: It is not easy to find out what windows display a buffer.
Solution: Add win_findbuf().
https://github.com/vim/vim/commit/9cdf86b86f5fdb5a45b682f336846f9d9a9c6f1f
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using feedkeys() with an empty string disregards 'x' option.
Solution: Make 'x' work with an empty string. (Thinca)
When integrating the patch to nvim, used same logic but different code
based on nvim codebase. New test passed.
https://github.com/vim/vim/commit/74c5bbf13435a7ab1e3461078bbcb1200f0451e1
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Removing a job too early from the joblist gives garbage collection the
chance to also remove the job dictionary.
Can be triggered with ASAN while waiting 'updatetime'ms (~5 seconds)
before closing the terminal window opened with:
nvim -u NONE +'call termopen("true",{})'
|
|
|
|
|
|
|
|
|
|
| |
Closes #5291
Restores behaviour identical to Vim. If the user calls the VimScript
function 'getcwd()' and the working directory cannot be found (for
example because the directory has been deleted since the last time it
was used) an empty string needs to be returned instead of throwing an
error.
|
|
|
|
| |
This applies both to msgpack-rpc and eval.
|
| |
|
|
|
|
| |
make api functions highlighted as builtins in vim.vim
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Problems:
- Disables cross-compiling (alternative: keeps two hash implementations which
need to be synchronized with each other).
- Puts code-specific name literals into CMakeLists.txt.
- Workaround for lua’s absence of bidirectional pipe communication is rather
ugly.
|
|
|
|
|
|
| |
Removes all kinds of problems with sorting, provides a ready-to-use function
list representation for genvimvim.lua, does not require specifying function name
twice (VimL function name (string) + f_ function name).
|
|
|
|
|
| |
Remove redundant item availibility checks when constructing
complete items from a dict.
|
|
|
|
| |
This makes stderr and exit callbacks work for rpc jobs
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: getcompletion(.., 'dir') returns a match with trailing "*" when
there are no matches. (Chdiza)
Solution: Return an empty list when there are no matches. Add a trailing
slash to directories. (Yegappan Lakshmanan) Add tests for no
matches. (closes vim/vim#947)
https://github.com/vim/vim/commit/b56195ed00a9a79aa6217cddbeedbc8cc7a5b6d8
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 3b12bb225adda2aac40a55f7009cae05311b2a43, ":oldfiles" was taught to
behave like Vim's ":browse oldfiles" if ":oldfiles!" was used. However,
this conflates the use of ! for abandoning a modified buffer with
choosing one file out of a list of oldfiles.
Now that ":browse" is supported again, ":browse oldfiles" will allow the
user to select an old file, while still complaining if that would cause
a modified buffer to be abandoned. ":browse oldfiles!" will just
abandon the buffer, as expected.
|
| |
|
|
|
|
|
|
| |
Problem: Windows cannot be identified.
Solution: Add a unique window number to each window and functions to use it.
https://github.com/vim/vim/commit/86edef664efccbfe685906c854b9cdd04e56f2d5
|
|\
| |
| | |
os_resolve_shortcut
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:7.4.2011
Problem: It is not easy to get a list of command arguments.
Solution: Add getcompletion(). (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/aa4d73235bf4deee167aa5314b89ae3d3db334b7
vim-patch:7.4.2012
Problem: Test for getcompletion() does not pass on all systems.
Solution: Only test what is supported.
https://github.com/vim/vim/commit/0d3e24be5686c0710aa3c6671e4c626d6cb21a5f
vim-patch:7.4.2066
Problem: getcompletion() not well tested.
Solution: Add more testing.
https://github.com/vim/vim/commit/c1fb763184c8ae82300357867fa2070aa94366e9
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Can't assert for not equal and not matching.
Solution: Add assert_notmatch() and assert_notequal().
https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
|