| Commit message (Collapse) | Author | Age |
| | |
|
| |
|
|
| |
needed after #9024 to receive options from init.vim
|
| |
|
|
|
|
|
| |
Problem: Filter test fails when $LANG is C.UTF-8.
Solution: Set 'helplang' to "en" for any C language. (Christian Brabandt,
closes vim/vim#3577)
https://github.com/vim/vim/commit/dcd71cbaedf75dd8e5c5a45c5c2e3ec7ee552dce
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid clearing the screen in most situations. NOT_VALID should be
equivalent to CLEAR unless some external force messed up the terminal,
for these situations <c-l> and :mode will still clear the screen.
Also eliminate some obsolete code in screen.c, that dealt with that in
vim drawing window 1 can mess up window 2, but this never happens in
nvim.
But what about slow terminals? There is two common meanings in which
a terminal is said to be "slow":
Most commonly (and in the sense of vim:s nottyfast) it means low
bandwidth for sending bytes from nvim to the terminal. If the screen is
very similar before and after the update_screen(CLEAR) this change
should reduce bandwidth. If the screen is quite different, but there is
no new regions of contiguous whitespace, clearing doesn't reduce
bandwidth significantly. If the new screen contains a lot of whitespace,
it will depend of if vsplits are used or not: as long as there is no
vsplits, ce is used to cheaply clear the rest of the line, so
full-screen clear is not needed to reduce bandwith. However a left
vsplit currently needs to be padded with whitespace all the way to the
separator. It is possible ec (clear N chars) can be used to reduce
bandwidth here if this is a problem. (All of this assumes that one
doesn't set Normal guibg=... on a non-BCE terminal, if you do you are
doomed regardless of this change).
Slow can also mean that drawing pixels on the screen is slow. E-ink
screens is a recent example. Avoiding clearing and redrawing the
unchanged part of the screen will always improve performance in these
cases.
|
| |
|
|
|
|
| |
Problem: Syntax highlighting not working when re-entering a buffer.
Solution: Do force executing autocommands when not called recursively.
https://github.com/vim/vim/commit/a5616b0136cea2104a475d143a1685d71e9b2d3d
|
| |
|
|
|
|
|
| |
Problem: Nasty autocommand causes using freed memory. (Dominique Pelle)
Solution: Do not force executing autocommands if the value of 'syntax' or
'filetype' did not change.
https://github.com/vim/vim/commit/c3ffc9b8d3015dc5280b297b4e3deb4f34944bd4
|
| |
|
|
|
|
|
| |
Problem: Cursorline highlight not removed in some situation. (Vitaly
Yashin)
Solution: Reset last_cursorline when resetting 'cursorline'. (Christian
Brabandt, closes vim/vim#3481)
https://github.com/vim/vim/commit/8c63e0ec314ba07d54b881dc629fe19e6eda1fb8
|
| |
|
|
|
|
|
|
| |
Problem: Invalid memory access when setting wildchar empty.
Solution: Avoid going over the end of the option value. (Dominique Pelle,
closes vim/vim#1509) Make option test check all number options with
empty value.
https://github.com/vim/vim/commit/a12e40351d1357687e8b5dc3122fffef705bdc08
|
| |
|
|
|
|
|
| |
Problem: v:option_old and v:option_new are cleared when using :set in
OptionSet autocmd. (Gary Johnson)
Solution: Don't trigger OptionSet recursively.
https://github.com/vim/vim/commit/3f3fb0b14734272e7c817020c847aaa0fba5cea5
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
First step towards implemening issue #7401.
The same can be done for all deprecated mb_ functions in follow-up
patches.
|
| |
|
|
|
|
|
| |
Problem: Problems with autocommands when opening help.
Solution: Avoid using invalid "varp" value. Allow using :wincmd if buffer
is locked. (closes vim/vim#1806, closes vim/vim#1804)
https://github.com/vim/vim/commit/163095f088a7c29710a16c75bb56229dd3b4116a
|
| |
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/vim/vim/commit/defe6424aee6201241b7cb231b62db4bbb9f4a9f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 24 15:14:07 2018 +0200
patch 8.1.0107: Python: getting buffer option clears message
Problem: Python: getting buffer option clears message. (Jacob Niehus)
Solution: Don't use aucmd_prepbuf(). (closes #3079)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Normal (#8606)
Problem: When setting the cterm background with ":hi Normal" the value of
'background' may be set wrongly.
Solution: Check that the color is less than 16. Don't set 'background' when
it was set explicitly. (Lemonboy, closes vim/vim#1710)
https://github.com/vim/vim/commit/1615b36b91b094263240d7b555283ddf33208f62
Restore reset_option_was_set(), removed in 419da839e0cbdf6251bc31dc218fa629ccc91b44
ref #8595
ref #8597
|
| |
|
|
|
|
|
|
| |
(#8588)
Problem: Swap file exists briefly when opening the command window.
Solution: Set the noswapfile command modifier before splitting the window.
(James McCoy, closes vim/vim#1620)
https://github.com/vim/vim/commit/3bab93998d01a01b7f2a071fa3b8054bb0094625
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case. Avoid lower case macros use an
argument twice.
https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
|
| | | |
|
| | |
| |
| |
| |
| | |
This option allows configuring what character is shown on the empty
lines at the end of a buffer, previously hardcoded to ‘~’
|
| |/ |
|
| |
|
|
|
| |
Problem: There are still a few macros that should be all-caps.
Solution: Make a few more macros all-caps.
https://github.com/vim/vim/commit/8820b48654b62472821d9b155fe03ab7ac13a05c
|
| |
|
|
|
|
|
| |
Problem: ":set scroll&" often gives an error.
Solution: Don't use a fixed default value, use half the window height. Add a
test. (Ozaki Kiichi, closes vim/vim#2104)
https://github.com/vim/vim/commit/af2d20c6285c1d2973e3d9b5e8f727e3ed180493
|
| |
|
|
|
|
|
| |
Problem: Double free when compiled with EXITFREE and setting 'ttytype'.
Solution: Avoid setting P_ALLOCED on 'ttytype'. (Dominique Pelle,
closes vim/vim#1461)
https://github.com/vim/vim/commit/673911457d6745b6b779eb769c2f41965592d12c
|
| | |
|
| |
|
|
| |
closes #8393
|
| |\ |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Make `:verbose set ...` show when an option was last modified by an
API client or Lua script/chunk. In the case of an API client, the
channel ID is displayed.
|
| |\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After this change we never release blocks from memory (in practice it
never happened because the memory limits are never reached). Let the OS
take care of that.
---
On today's systems the 'maxmem' and 'maxmemtot' values are huge (4+ GB)
so the limits are never reached in practice, but Vim wastes a lot of
time checking if the limit was reached.
If the limit is reached Vim starts saving pieces of the swap file that were in
memory to the disk. Said in a different way: Vim implements its own
memory-paging mechanism. This is unnecessary and inefficient since the
operating system already has virtual memory and will swap to the disk if
programs start using too much memory.
This change does...
1. Reduce the number of config options and need for documentation.
2. Make the code more efficient as we don't have to keep track of memory
usage nor check if the memory limits were reached to start swapping
to disk every time we need memory for buffers.
3. Simplify the code. Once memfile.c is simple enough it could be
replaced by actual operating system memory mapping (mmap,
MemoryViewOfFile...). This change does not prevent Vim to recover
changes from swap files since the swapping code is never triggered
with the huge limits set by default.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
> The option 'maxmem' ('mm') is used to set the maximum memory used for one
> buffer (in kilobytes). 'maxmemtot' is used to set the maximum memory used for
> all buffers (in kilobytes). The defaults depend on the system used. These
> are not hard limits, but tell Vim when to move text into a swap file. If you
> don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a very large
> value. The swap file will then only be used for recovery. If you don't want
> a swap file at all, set 'updatecount' to 0, or use the "-n" argument when
> starting Vim.
On today's systems these values are huge (4GB in my machine with 8GB of RAM
since it's set as half the available memory by default) so the limits are
never reached in practice, but Vim wastes a lot of time checking if the limit
was reached.
If the limit is reached Vim starts saving pieces of the swap file that were in
memory to the disk. Said in a different way: Vim implements its own memory
swapping mechanism. This is unnecessary and inefficient since the operating
system already virtualized the memory and will swap to the disk if programs
start using too much memory.
This change does...
1. Reduce the number of config options and need for documentation.
2. Make the code more efficient as we don't have to keep track of memory usage
nor check if the memory limits were reached to start swapping to disk every
time we need memory for buffers.
3. Simplify the code. Once `memfile.c` is simple enough it could be replaced by
actual operating system memory mapping (`mmap`, `MemoryViewOfFile`...).
This change does not prevent Vim to recover changes from swap files since the
swapping code is never triggered with the huge limits set by default.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
In that case it is completely possible to just use w_allbuf_opt directly.
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Update tests.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Using freed memory when setting 'backspace'.
Solution: When changing oldval also change origval.
https://github.com/vim/vim/commit/edbc0d46cffe1766d0b330dc2842212cff644f8e
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Resetting a string option does not trigger OptionSet. (Rick Howe)
Solution: Set the origval.
https://github.com/vim/vim/commit/8efa026a25b95de5598535ef62505282a8584a4b
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Illegal memory access with empty :doau command.
Solution: Check the event for being out of range. (James McCoy)
https://github.com/vim/vim/commit/faf29d7f91477c25c85d9d7165d90e8d8f1c512e
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Crash when closing the quickfix window in a FileType autocommand
that triggers when the quickfix window is opened.
Solution: Save the new value before triggering the OptionSet autocommand.
Add the "starting" flag to test_override() to make the text work.
https://github.com/vim/vim/commit/182a17b1e80b92826204d967808df0d30eb2ef27
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Some macros are in lower case, which can be confusing.
Solution: Make a few lower case macros upper case.
https://github.com/vim/vim/commit/b5aedf3e228d35821591da9ae8501b61cf2e264c
ref #6297
|
| | | | |
|
| | | | |
|