| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> 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.
|
|
|
| |
Necessary argument (EXCLUDE_FROM_ALL) only appears in 3.1.0.
|
| |
|
|\
| |
| | |
unittests: Force GC, fix GC failures in typval_spec
|
| | |
|
| |
| |
| | |
We do not have non-cmake build options, cmake always does configure_file.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Not sure whether this is going to fix things though, but core dump does not
contain Neovim functions in stack in this case.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Remove conversions which are not needed when &encoding is UTF-8
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Drops comments `// for …` that do not pass linter for them being unmaintainable
and fast to becoming incomplete or even incorrect.
Mention @dedmass
|
| | | |
|
| | |
| | |
| | |
| | | |
Not needed any longer since p_enc is always utf-8.
|
| | |
| | |
| | | |
Uses the same trick eval/encode does.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | | |
tui_spec.lua: Retry the terminal-mode test.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Closes #6463
refactor/single-include: file_search.h
Closes #6455
refactor/single-include: hardcopy.h
Closes #6457
refactor/single-include: if_cscope.h
Closes #6458
refactor/single-include: mark.h
Closes #6461
refactor/single-include: mbyte.h
Closes #6462
refactor/single-include: memline.h
Closes #6464
refactor/single-include: menu.h
Closes #6468
refactor/single-include: ops.h
Closes #6470
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
vim-patch:8.0.0499,8.0.0550
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Some etags format tags file use 0x01, breaking the parsing.
Solution: Use 0x02 for TAG_SEP. (James McCoy, closes vim/vim#1614)
https://github.com/vim/vim/commit/9585a1655ba0d34ea88574617112093a9bd4f2e9
|
|/ /
| |
| |
| |
| |
| |
| | |
Problem: taglist() does not prioritize tags for a buffer.
Solution: Add an optional buffer argument. (Duncan McDougall, closes vim/vim#1194)
https://github.com/vim/vim/commit/c6aafbaf3ea755e3ab4ee2e3045911126a08b038
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A recent refactor left cpy without a NUL terminator, simplify the code
instead of patching over it.
Instead of plain memcpy, it'd be better to employ harder to misuse string
functions made for this purpose like xstrlcpy(), but path_tail() takes
char_u arguments and returns them, leading to a lot of ugly casting.
Fixes #6431.
|
| |
| |
| |
| |
| | |
Helped-by: Matthew Malcomson <hardenedapple@gmail.com>
Closes #6451
|
|/ |
|
|
|
|
|
| |
28dafe3ff const-ified the array without updating the regex.
[ci skip]
|
|\ |
|
| | |
|
|/
|
|
|
|
| |
- Use this to properly test cursor shape events.
- tests: update screen_basic_spec to use `screen:expect` short form.
Clearer than using `screen:wait` directy.
|