| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Problem: File type checking has too many #ifdef.
Solution: Always define the S_IF macros. (Ken Takata, closes vim/vim#3306)
https://github.com/vim/vim/commit/d569bb029983cff947dce704e6f830276204c13f
|
|
|
|
| |
¡NO HAY BANDA!
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> 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.
|
|
|
|
|
|
|
|
|
|
|
| |
Lesser form of include-what-you-use: at least guarantees that header
file did not forget to include something through some other included
file.
Activate run_single_includes_tests on CI.
Fix some IWYU violations.
References #5321
|
|
|
|
|
|
|
|
|
|
| |
Add xstrlcat function.
Closes #3042
References #988
References #1069
coverity: 71530, 71531, 71532
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- ROOT_UID's comment is misleading, as it's always defined to 0.
- SEEK_{SET,END} & O_NOFOLLOW should already be defined on Unix-like
systems in <stdio.h> and <fcntl.h>, respectively. In any case,
neither of those #ifdef blocks should be in the middle of source files.
- The S_IS{LNK,DIR,...} macros should only be undefined on Windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For non-Windows systems, we assume that NAME_MAX is in <limits.h>, as
specified in POSIX.1-2008[1]. For Windows, which doesn't have NAME_MAX,
just define it ourselves to _MAX_PATH[2].
Also, remove two (now unused) HAVE_*_H checks.
[1]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
[2]: https://msdn.microsoft.com/en-us/library/930f87yf.aspx
Helped-by: Seth Jackson
|
|
|
|
|
| |
MAXNAMLEN can be defined using _MAX_PATH from stdlib.h
which will fix the BASENAMELEN definition too.
|
| |
|
|
|
|
|
| |
The Vim code for windows in if_cscope.c/.h was removed during the refactor,
added missing code for error_closing().
|
| |
|
|
|
|
|
|
| |
In windows libuv does not return -errno, instead it uses negative
error codes e.g. UV_ENOENT. This commit changes the comments in os_*
functions to reflect this.
|
|
|
|
|
| |
Vim defines this for Windows, so there's no Neovim-supported system for
which this would not be defined.
|
|
|
|
|
|
|
|
|
|
|
|
| |
RETSIGTYPE, SIGRETURN, and SIGDEFARG are always defined the same, so
inline them for simplicity; SIGDUMMYARG, however, is unused, so remove
it.
Even if these things don't work on windows, the signal handler in
if_cscope.c is already wrapped with '#idef UNIX', as is its only call
site.
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
|
|
|
|
| |
It's always defined, so the #else is redundant.
|
|
|
|
|
|
|
|
|
|
|
| |
SIGHAS3ARGS appears in Vim's source code like this:
/* List 3 arg systems here. I guess __sgi, please test and correct me. jw. */
if defined(__sgi) && defined(HAVE_SIGCONTEXT)
define SIGHAS3ARGS
endif
Given we don't support SGI, remove it.
|
|
|
|
|
| |
Any files which need definitions from <time.h> should include it,
not "os/os_defs.h".
|
|
|
|
|
| |
Since gettimeofday() was replaced by os_time in
fb5a786bdb5b7b52b9c36b3eb8b6d2cc002aa8f3 we do not need sys/time.h.
|
|
|
|
| |
It is not needed to know that os/* uses libuv.
|
| |
|
| |
|
| |
|
| |
|
|
|