| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
Problem: The setbufvar() function may mess up the window layout. (Kay Z.)
Solution: Do not check the window to be valid if it is NULL.
https://github.com/vim/vim/commit/2c90d51123fba44a90e09aa4a4f2b7d972dadb94
|
|
|
|
|
|
|
| |
Problem: Illegal memory access when using :all. (Dominique Pelle)
Solution: Adjust the cursor position right after setting "curwin".
https://github.com/vim/vim/commit/f79225ed4f81bc579bb3360ad2eb06adc8058153
|
|
|
|
|
|
|
| |
Problem: Using freed memory with win_getid(). (Domenique Pelle)
Solution: For the current tab use curwin.
https://github.com/vim/vim/commit/8e639052638a9bb8c7dd6e3e10776b1218cec1a3
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem: Crash when editing a new buffer and BufUnload autocommand wipes
out the new buffer. (Norio Takagi)
Solution: Don't allow wiping out this buffer. (partly by Hirohito Higashi)
Move old style test13 into test_autocmd. Avoid ml_get error when
editing a file.
https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
|
|
|
|
|
|
|
|
|
|
| |
Problem: Crash and endless loop when closing windows in a SessionLoadPost
autocommand.
Solution: Check for valid tabpage. (partly neovim/neovim#6308)
https://github.com/vim/vim/commit/8c752bd6c4af54c0b7bac35a39acc2bf16015f85
Closes #6308
|
|\
| |
| | |
vim-patch:7.4.2069,7.4.2101,7.4.2222,7.4.2223
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Looping over windows, buffers and tab pages is inconsistant.
Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/2932359000b2f918d5fade79ea4d124d5943cd07
|
| |
| |
| |
| | |
Closes #6054
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Starting diff mode with the cursor in the last line might end up
only showing one closed fold. (John Beckett)
Solution: Scroll the window to show the same relative cursor position.
https://github.com/vim/vim/commit/46328f9a1cc8047d1e05095bc9f531038c5a4028
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem: More buf_valid() calls can be optimized.
Solution: Use bufref_valid() instead.
NOTE: Some changes related to channels and the Python and Netbeans interfaces
were obviously left out.
https://github.com/vim/vim/commit/7c0a2f367f2507669560b1a66423155c70d2e75b
|
|
|
|
|
|
|
|
|
|
| |
memcpy is not equivalent to memmove (which is used by vim_strcat), this
could cause subtle bugs if xstrlcat is used as a replacement for
vim_strcat. But vim_strcat is inconsistent: in the `else` branch it uses
strcpy, which doesn't allow overlap.
Helped-by: oni-link <knil.ino@gmail.com>
Helped-by: James McCoy <jamessan@jamessan.com>
Helped-by: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
|
| |
|
|
|
|
|
|
|
| |
Problem: No autocommand event to initialize a window or tab page.
Solution: Add WinNew and TabNew events. (partly by Felipe Morales)
https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
|
|
|
|
|
|
|
|
|
| |
Problem: It is not easy to get information about buffers, windows and
tabpages.
Solution: Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan
Lakshmanan)
https://github.com/vim/vim/commit/b5ae48e9ffd3b8eb6ca4057de11f1bddcde8ce6f
|
|
|
|
|
|
|
|
|
| |
Problem: When using CTRL-W f and pressing "q" at the ATTENTION dialog the
newly opened window is not closed.
Solution: Close the window and go back to the original one. (Norio Takagi,
Hirohito Higashi)
https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
|
|
|
|
|
|
|
| |
Problem: When splitting and closing a window the status height changes.
Solution: Compute the frame height correctly. (Hirohito Higashi)
https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Eliminate/isolate static/global variables
- Remove special-case parameter from buflist_new()
- Remove special-case ECMD_RESERVED_BUFNR
- To determine when u_undo_and_forget() should be done, check
b_changedtick instead of a heuristic.
- use mb_string2cells() instead of strlen() to measure the :sub patterns
- call ml_close() before buf_clear_file(). Avoids leaks caught by ASan.
Original patch by:
Robin Elrharbi-Fleury (Robinhola)
Audrey Rayé (Adrey06)
Philémon Hullot (DesbyP)
Aymeric Collange (aym7)
Clément Guyomard (Clement0)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally implemented by
* Clement0
* DesbyP
* aym7
* Adrey06
* Robinhola
in #4811. Major reworkings and bug
fixes by
* bfredl
Most tests suggested by ZyX-l, suggestions for improvements by oni-link.
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Crash when autocommand moves to another tab. (Dominique Pelle)
Solution: When navigating to another window halfway the :edit command go
back to the right window.
https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
|
|
|
|
|
|
|
|
| |
Problem: Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle)
Solution: When detecting that the tab page changed, don't just abort but
delete the window where w_buffer is NULL.
https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
|
|
|
|
|
|
|
|
| |
Problem: Mark " is not set when closing a window in another tab. (Guraga)
Solution: Check all tabs for the window to be valid. (based on patch by
Hirohito Higashi, closes vim/vim#974)
https://github.com/vim/vim/commit/e59215c7dcae17b03daf39517560cfaa03314f5a
|
|
|
|
|
|
|
|
|
| |
vim-patch:7.4.1704
Problem: Using freed memory with "wincmd p". (Dominique Pelle)
Solution: Also clear "prevwin" in other tab pages.
https://github.com/vim/vim/commit/3dda7db4e1f7c4a8110a1f83001ec36b46693d27
|
|\
| |
| | |
api: Support getting the number of a window/tabpage
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to provide better compatibility with the classic bindings, the
API needs to provide the ability to query the number (really index) of
the window/tabpage.
This is needed for neovim/python-client#87, as discussed in
neovim/neovim#1898.
Signed-off-by: James McCoy <jamessan@jamessan.com>
|
|\ \
| | |
| | | |
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
|
|/
|
|
|
|
|
|
|
|
|
| |
On architectures where `sizeof(long)` != 8, "%" PRId64 will read junk from
memory. This was seen on various Debian builds where
test/functional/legacy/close_count_spec.lua would fail due to `1<C-w>c`
emitting an error like `E488: Trailing characters: close-87944975647104`.
Changing the `Prenum` parameter to int64_t ensures it is safe to use
`"%" PRId64`, and make another small step towards removal of the use of
`long`.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
When a new tabpage gets created it will copy the local working directory
of the previous one, if there is any.
|
|
|
|
| |
also allow handle==0 meaning curbuf/curwin/curtab
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Original patch by @fmoralesc
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem: More problems reported by coverity.
Solution: Avoid the warnings. (Christian Brabandt)
https://github.com/vim/vim/commit/cde885473099296c4837de261833f48b24caf87c
Applied manually. Files that do not exst anymore: gui.c gui_w16.c gui_w32.c
if_xcmdsrv.c os_unix.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New ex commands: 'tcd', 'tchdir'
Changed Vimscript functions: 'haslocaldir', 'getcwd'
The ex-commands ':tcd' and ':tchdir' are the tab-local equivalents of
':lcd' and ':lchdir'. There are no new Vimscript functions introduced,
instead the functions 'haslocaldir' and 'getcwd' take in optional
arguments. See the documentation for details
Since there is now different levels of local directory a simple boolean
at source level is no longer sufficient; a new enumeration type is used
for the scope-level from now on.
The documentation has been accommodated for these new commands and
functional tests have been written to test the feature.
|
|\
| |
| | |
vim-patch:7.4.961
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Test107 fails in some circunstances.
Solution: When using "zt", "zb" and "z=" recompute the fraction.
https://github.com/vim/vim/commit/9dc2ce398bb3456cc8f590ef0260459798b34d2a
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Crash when dragging with the mouse.
Solution: Add safety check for NULL pointer. Check mouse position for valid
value. (Hirohito Higashi)
https://github.com/vim/vim/commit/294a7e55b01149154807a23323038784549b8946
---
see: "Crash while mouse-selecting in two-buffer mode"
https://github.com/vim/vim/issues/486
Fix #3704
|
|
|
|
|
|
|
| |
Problem: Can only conceal text by defining syntax items.
Solution: Use matchadd() to define concealing. (Christian Brabandt)
https://github.com/vim/vim/commit/6561d52ecbe6e24d1b90403078cc8b76c53c42fc
|
|\
| |
| | |
vim-patch:7.4.709
|