| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: ":tabmove" does not work as documented.
Solution: Make it work consistently. Update documentation and add tests.
(Hirohito Higashi)
https://github.com/vim/vim/commit/40ce3a4e1f50badb75ca812e26557a9bc5fde8c6
|
|/
|
|
|
|
|
|
| |
Problem: Illegal memory access when using :copen and :cclose.
Solution: Avoid that curbuf is invalid. (suggestion by Justin M. Keyes)
Add a test.
https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
|
|
|
|
| |
Co-authored-by: Wayne Rowcliffe (@war1025)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: When using "gf" escaped spaces are not handled.
Solution: Recognize escaped spaces.
https://github.com/vim/vim/commit/d45c07ac7499358c5cb096cadb675ce74ae3eaf6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regarding the individual items in the header:
`Vim - Vi improved by Bram Moolenar`
Bram Moolenar is already mentioned throughout the documentation, as
well as the intro screen.
`:help uganda`
It's already shown to all users who don't use `shortmess+=I` upon
starting nvim, and is already placed prominently in help.txt, i.e.,
`:help` run with no arguments.
`:help credits`
Already mentioned near the top of help.txt.
`README.md`
Already mentioned in develop.txt.
|
| |
|
|
|
|
|
| |
The former no longer exists in this repo; see the top of
src/nvim/README.md.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What works:
1. ShaDa file dumping: header, registers, jump list, history, search patterns,
substitute strings, variables.
2. ShaDa file reading: registers, global marks, variables.
Most was not tested.
TODO:
1. Merging.
2. Reading history, local marks, jump and buffer lists.
3. Documentation update.
4. Converting some data from &encoding.
5. Safer variant of dumping viminfo (dump to temporary file then rename).
6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for
reference).
|
| |
|