| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot get the window ID for a mouse click.
Solution: Add v:mouse_winid.
https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
|
| |
| |
| |
| |
| |
| |
| | |
Problem: balloon eval only gets the window number, not the ID.
Solution: Add v:beval_winid.
https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Order of matches for 'omnifunc' is messed up. (Danny Su)
Solution: Do not set compl_curr_match when called from complete_check().
(closes vim/vim#1168)
https://github.com/vim/vim/commit/472e85970ee3a80abd824bef510df12e9cfe9e96
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: A plugin does not know when VimEnter autocommands were already
triggered.
Solution: Add the v:vim_did_enter variable.
https://github.com/vim/vim/commit/1473551a4457d4920b235eeeb9f279e196ee7225
|
|\ \
| |/
|/| |
vim-patch:7.4.[1730,1734,1741,1742,1779,1782]
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: strcharpart() does not work properly with some multi-byte
characters.
Solution: Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi)
https://github.com/vim/vim/commit/fca66003053f8c0da5161d1fe4b75b3a389934b5
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Using negative index in strcharpart(). (Yegappan Lakshmanan)
Solution: Assume single byte when using a negative iindex.
https://github.com/vim/vim/commit/73dfe917ba6357413aaf98a021c91add5ac6e9bc
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
|