aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
...
| * vim-patch:8.0.0477James McCoy2017-06-06
| | | | | | | | | | | | | | Problem: The client-server test may hang when failing. Solution: Set a timer. Add assert_report() https://github.com/vim/vim/commit/42205551b140bee8b419b24abe210f56bb80b35e
| * vim-patch:8.0.0360James McCoy2017-06-06
| | | | | | | | | | | | | | Problem: Sometimes VimL is used, which is confusing. Solution: Consistently use "Vim script". (Hirohito Higashi) https://github.com/vim/vim/commit/b544f3c81f1e6a50322855681ac266ffaa8e313c
| * vim-patch:8.0.0167James McCoy2017-06-06
| | | | | | | | | | | | | | | | 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
| * vim-patch:8.0.0158James McCoy2017-06-06
| | | | | | | | | | | | | | | | | | 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
* | *: Disable UBSAN for VimL arithmetic implementationJames McCoy2017-06-04
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | lintJames McCoy2017-06-04
| |
* | vim-patch:8.0.0219James McCoy2017-06-04
| | | | | | | | | | | | | | | | 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
* | vim-patch:7.4.1976James McCoy2017-06-04
|/ | | | | | | 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
* lint: fix indentation of FUNC_ATTR linesBjörn Linse2017-06-03
|
* Merge #4700 from AdnoC/keep-default-registerJustin M. Keyes2017-05-31
|\
| * eval.c: Ignore unnamed register error in f_setregAdnoC2017-05-31
| | | | | | | | | | The error case is already handled and an appropriate error message is already printed.
| * style/lintAdnoC2017-05-31
| |
| * eval: Add ability to set the unnamed register with setregAdnoC2017-05-31
| |
* | channels: implement sockopen() to connect to socketBjörn Linse2017-05-29
| | | | | | | | Helped-By: oni-link <knil.ino@gmail.com>
* | Merge pull request #6680 from mhinz/listen/localhostJames McCoy2017-05-28
|\ \ | | | | | | Use uv_getaddrinfo() for servers
| * | eval: serverstart: Return finalized address to userJames McCoy2017-05-28
| | | | | | | | | | | | | | | In the process of setting up the socket watcher, the address may be changed (e.g., adding the OS-selected port).
| * | Server: use uv_getaddrinfo() for $NVIM_LISTEN_ADDRESSMarco Hinz2017-05-22
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* / get_keymap API (#6236)TJ DeVries2017-05-25
|/ | | | | | | * Add api function get keymap nvim_get_keymap(mode) nvim_buf_get_keymap(buffer, mode)
* eval: Silence V614: potentially uninitialized variableZyX2017-05-20
| | | | | 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.
* eval: Fix V507ZyX2017-05-20
|
* eval: Silence V782ZyX2017-05-20
|
* Merge #6480 from ZyX-I/colored-cmdline'/input-dictJustin M. Keyes2017-05-13
|\
| * eval: Alter E5050 error message, test thatZyX2017-05-10
| |
| * eval: Refactor get_user_input to support dictionaryZyX2017-05-10
| |
* | *: Comment intentional fallthroughsJames McCoy2017-05-12
|/ | | | | Falling through a switch case should be commented so it's clear that behavior is intentional.
* Merge branch 'master' into luaviml'/luaZyX2017-05-08
|\
| * vim-patch:7.4.2231James McCoy2017-04-29
| | | | | | | | | | | | | | 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
| * api: nvim_get_mode()Justin M. Keyes2017-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * api/dispatch: Mark generated functions table readonly (#6576)Patrick Jackson2017-04-24
| |
| * api/internal: Remove `set` field from Error type.Justin M. Keyes2017-04-23
| |
| * api_clear_error()Justin M. Keyes2017-04-23
| |
| * api: Do not truncate errors <1 MB. #6237Sander Bosma2017-04-23
| | | | | | | | Closes #5984
| * Merge branch 'master' into lazier-arg_errmsg-gettextZyX2017-04-21
| |\
| | * Merge #6550 from ZyX-I/pvs-check-commentJustin M. Keyes2017-04-20
| | |\
| | | * *: Add comment to all C filesZyX2017-04-19
| | | |
| | * | vim-patch:7.4.2209James McCoy2017-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | vim-patch:7.4.2152James McCoy2017-04-19
| | |/ | | | | | | | | | | | | | | | | | | Problem: No proper translation of messages with a count. Solution: Use ngettext(). (Sergey Alyoshin) https://github.com/vim/vim/commit/ee695f787ade7fd88fc5f5497553d95c0c3645b5
| | * Merge #6533 'Fix PVS-studio warnings'Justin M. Keyes2017-04-17
| | |\
| | | * *: Fix linter errorsZyX2017-04-16
| | | |
| | | * eval: Fix position of buf declarationZyX2017-04-16
| | | |
| | | * eval: Remove unneeded !eap->skip checkZyX2017-04-16
| | | | | | | | | | | | Already checked in the outer if().
| | | * eval: Remove unneeded varp checkZyX2017-04-16
| | | |
| | | * eval: Remove unneeded varp checkZyX2017-04-16
| | | |
| | | * eval: Fix condition in f_serverstopZyX2017-04-16
| | | |
| | | * eval: Refactor nr2char()ZyX2017-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
| | | * eval: Silence octal constant warningZyX2017-04-16
| | | |
| | | * eval: Fix useless NULL checkZyX2017-04-16
| | | | | | | | | | | | partial_name() as it is written now really cannot return NULL
| | | * eval: Refactor f_char2nrZyX2017-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * eval: Fix V547: `d == NULL` was already checked at line 2986ZyX2017-04-16
| | | |
| | | * eval: Silence eap->skip false positivesZyX2017-04-16
| | |/ | | | | | | | | | `lnum` starts at `eap->line2` in case of skipping, so cycle is always run at least once.