| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| | |
Problem: The client-server test may hang when failing.
Solution: Set a timer. Add assert_report()
https://github.com/vim/vim/commit/42205551b140bee8b419b24abe210f56bb80b35e
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Sometimes VimL is used, which is confusing.
Solution: Consistently use "Vim script". (Hirohito Higashi)
https://github.com/vim/vim/commit/b544f3c81f1e6a50322855681ac266ffaa8e313c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: str2nr() and str2float() do not always work with negative values.
Solution: Be more flexible about handling signs. (LemonBoy, closes vim/vim#1332)
Add more tests.
https://github.com/vim/vim/commit/08243d26d22ad44a857d02c90071578577b8a55d
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: On MS-Windows some float functions return a different value when
passed unusual values. strtod() doesn't work for "inf" and "nan".
Solution: Accept both results. Fix str2float() for MS-Windows. Also
reorder assert function arguments.
https://github.com/vim/vim/commit/6247361101dcccc0c877e90ad67cd0cc83df7c68
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After merging +num64, the 64-bit sanitizer builds show that Vim doesn't
buffer the user from C's UB in signed arithmetic. Upstream doesn't
appear to be [interested] in fixing the issue, so suppress UBSAN until
someone decides to fix the problem.
N.B., the problem existed before but went unnoticed since the sanitizer
builds weren't being run in 32-bit mode.
[interested]: https://groups.google.com/d/topic/vim_dev/_tqf8eQy5eA/discussion
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Ubsan reports errors for integer overflow.
Solution: Define macros for minimum and maximum values. Select an
expression based on the value. (Mike Williams)
https://github.com/vim/vim/commit/7a40ea2138102545848ea86a361f1b8dec7552b5
|
|/
|
|
|
|
|
| |
Problem: Number variables are not 64 bits while they could be.
Solution: Add the num64 feature. (Ken Takata)
https://github.com/vim/vim/commit/22fcfad29276bd5f317faf516637dcd491b96a12
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
The error case is already handled and an appropriate error message is
already printed.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Helped-By: oni-link <knil.ino@gmail.com>
|
|\ \
| | |
| | | |
Use uv_getaddrinfo() for servers
|
| | |
| | |
| | |
| | |
| | | |
In the process of setting up the socket watcher, the address may be
changed (e.g., adding the OS-selected port).
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change implicitly adds IPv6 support.
If the address contains ":", we try to use a TCP socket instead of a Unix domain
socket. Everything in front of the last occurrence of ":" is the hostname and
everything after it the port.
If the hostname lookup fails, we fall back to using a Unix domain socket.
If the port is empty ("localhost:"), a random port will be assigned.
Examples:
NVIM_LISTEN_ADDRESS=localhost:12345 -> TCP (IPv4 or IPv6), port: 12345
NVIM_LISTEN_ADDRESS=localhost: -> TCP (IPv4 or IPv6), port: random (> 1024)
NVIM_LISTEN_ADDRESS=localhost:0 -> TCP (IPv4 or IPv6), port: random (> 1024)
NVIM_LISTEN_ADDRESS=localhost -> Unix domain socket "localhost" in current dir
|
|/
|
|
|
|
|
| |
* Add api function get keymap
nvim_get_keymap(mode)
nvim_buf_get_keymap(buffer, mode)
|
|
|
|
|
| |
Could not be uninitialized because `func_or_func_caller_profiling` is true only
if `do_profiling` is `YES`, and if `do_profiling` is `YES` then
`script_prof_save()` was called to initialize the variable.
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
|/
|
|
|
| |
Falling through a switch case should be commented so it's clear that
behavior is intentional.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: ":oldfiles" output is a very long list.
Solution: Add a pattern argument. (Coot, closes vim/vim#575)
https://github.com/vim/vim/commit/e11d61a3b1cdedf3144de697a2b38af62c3a78d8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Asynchronous API functions are served immediately, which means pending
input could change the state of Nvim shortly after an async API function
result is returned.
nvim_get_mode() is different:
- If RPCs are known to be blocked, it responds immediately (without
flushing the input/event queue)
- else it is handled just-in-time before waiting for input, after
pending input was processed. This makes the result more reliable
(but not perfect).
Internally this is handled as a special case, but _semantically_ nothing
has changed: API users never know when input flushes, so this internal
special-case doesn't violate that. As far as API users are concerned,
nvim_get_mode() is just another asynchronous API function.
In all cases nvim_get_mode() never blocks for more than the time it
takes to flush the input/event queue (~µs).
Note: This doesn't address #6166; nvim_get_mode() will provoke #6166 if
e.g. `d` is operator-pending.
Closes #6159
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Closes #5984
|
| |\ |
|
| | |\ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Cannot map <M-">. (Stephen Riehm)
Solution: Solve the memory access problem in another way. (Dominique Pelle)
Allow for using <M-\"> in a string.
https://github.com/vim/vim/commit/35a4cfa200917dd171b1fff3cd5b6cee9add673d
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: No proper translation of messages with a count.
Solution: Use ngettext(). (Sergey Alyoshin)
https://github.com/vim/vim/commit/ee695f787ade7fd88fc5f5497553d95c0c3645b5
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
Already checked in the outer if().
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Adds error messages, checks type and ignores the second argument.
Currently utf_char2bytes is able to handle any 31-bit character, not
limited by a unicode range. So checking for INT_MAX and not for
something else: function yet uses `int`.
|
| | | | |
|
| | | |
| | | |
| | | | |
partial_name() as it is written now really cannot return NULL
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
With has_mbyte equal to 1 and &encoding always UTF-8 second argument is no
longer useful: utf_ptr2char is the same as mb_ptr2char.
Also changes function behaviour a bit: now if second argument is not a number it
immediately returns with error, without bothering to get a character.
|
| | | | |
|
| | |/
| | |
| | |
| | | |
`lnum` starts at `eap->line2` in case of skipping, so cycle is always run at
least once.
|