Justin M. Keyes
41fd278317
oldtests: Mark Test_lambda_with_timer as flaky
2017-05-23 00:44:21 +02:00
Justin M. Keyes
41f27ae3f3
doc
...
Closes #6788
2017-05-23 00:25:15 +02:00
Drew Neil
620df53860
doc: *Terminal-mode* #6757
...
Closes #6756
2017-05-23 00:08:24 +02:00
Marco Hinz
156e6f274f
Doc: explain the format for serverstart()
2017-05-22 23:38:09 +02:00
Marco Hinz
fd5e4e2e4c
Server: don't fall back to Unix sockets
2017-05-22 23:38:09 +02:00
ZyX
a5a5c83608
api/vim: Fix nvim_list_runtimepaths
...
It used to
1. Always omit last component in runtimepath.
2. Always omit trailing empty item and leave uninitialized memory in place of
it.
2017-05-23 00:16:23 +03:00
Justin M. Keyes
7b55d50bbd
tui.c: Initialize TUI input component only once. ( #6784 )
...
term_input_start should be called only once. This fixes a leak
introduced by af2e629be4
.
Closes #6780
Steps to demonstrate memory leak:
CC=clang CFLAGS=" -O0 -g -DEXITFREE " cmake .. -DMIN_LOG_LEVEL=0 -DCMAKE_BUILD_TYPE=Debug -DBUSTED_OUTPUT_TYPE=nvim -DCMAKE_INSTALL_PREFIX=$PWD/root -DCLANG_ASAN_UBSAN=ON -DPREFER_LUAJIT=false
nvim -u NONE -i NONE --cmd $'function S()\nsuspend\nendfunction' --cmd 'inoremap <expr> X S()' --cmd 'call feedkeys("iX", "t")'
fg<CR><Esc>:cq<CR>
```
=================================================================
==25050==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 4159 byte(s) in 1 object(s) allocated from:
#0 0x4f6a30 in calloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:72
#1 0xf8d222 in xcalloc /home/zyx/a.a/Proj/c/neovim/src/nvim/memory.c:147:15
#2 0x1349d28 in rbuffer_new /home/zyx/a.a/Proj/c/neovim/src/nvim/rbuffer.c:24:17
#3 0xa6867b in rstream_init /home/zyx/a.a/Proj/c/neovim/src/nvim/event/rstream.c:42:20
#4 0xa68651 in rstream_init_fd /home/zyx/a.a/Proj/c/neovim/src/nvim/event/rstream.c:28:3
#5 0x1866451 in term_input_init /home/zyx/a.a/Proj/c/neovim/src/nvim/tui/input.c:55:3
#6 0x187f049 in tui_terminal_start /home/zyx/a.a/Proj/c/neovim/src/nvim/tui/tui.c:223:3
#7 0x187b491 in tui_main /home/zyx/a.a/Proj/c/neovim/src/nvim/tui/tui.c:258:3
#8 0x18b3171 in ui_thread_run /home/zyx/a.a/Proj/c/neovim/src/nvim/ui_bridge.c:124:3
#9 0x7f54c2d5f39b (/lib64/libpthread.so.0+0x739b)
Direct leak of 4159 byte(s) in 1 object(s) allocated from:
#0 0x4f6a30 in calloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:72
#1 0xf8d222 in xcalloc /home/zyx/a.a/Proj/c/neovim/src/nvim/memory.c:147:15
#2 0x1349d28 in rbuffer_new /home/zyx/a.a/Proj/c/neovim/src/nvim/rbuffer.c:24:17
#3 0x1865a4a in term_input_init /home/zyx/a.a/Proj/c/neovim/src/nvim/tui/input.c:29:23
#4 0x187f049 in tui_terminal_start /home/zyx/a.a/Proj/c/neovim/src/nvim/tui/tui.c:223:3
#5 0x187b491 in tui_main /home/zyx/a.a/Proj/c/neovim/src/nvim/tui/tui.c:258:3
#6 0x18b3171 in ui_thread_run /home/zyx/a.a/Proj/c/neovim/src/nvim/ui_bridge.c:124:3
#7 0x7f54c2d5f39b (/lib64/libpthread.so.0+0x739b)
Indirect leak of 7144 byte(s) in 62 object(s) allocated from:
#0 0x4f6840 in malloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:64
#1 0x7f54c231636c (/usr/lib64/libtermkey.so.1+0x636c)
Indirect leak of 1500 byte(s) in 75 object(s) allocated from:
#0 0x4f6840 in malloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:64
#1 0x7f54c2316b34 (/usr/lib64/libtermkey.so.1+0x6b34)
Indirect leak of 704 byte(s) in 1 object(s) allocated from:
#0 0x4f6840 in malloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:64
#1 0x7f54c23129dd in _init (/usr/lib64/libtermkey.so.1+0x29dd)
Indirect leak of 520 byte(s) in 1 object(s) allocated from:
#0 0x4f6c40 in realloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:77
#1 0x7f54c2313b7c in termkey_register_keyname (/usr/lib64/libtermkey.so.1+0x3b7c)
Indirect leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x4f6840 in malloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:64
#1 0x7f54c2313c3c (/usr/lib64/libtermkey.so.1+0x3c3c)
Indirect leak of 48 byte(s) in 2 object(s) allocated from:
#0 0x4f6840 in malloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:64
#1 0x7f54c2313d9e (/usr/lib64/libtermkey.so.1+0x3d9e)
Indirect leak of 40 byte(s) in 1 object(s) allocated from:
#0 0x4f6840 in malloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:64
#1 0x7f54c2316553 (/usr/lib64/libtermkey.so.1+0x6553)
Indirect leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x4f6840 in malloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:64
#1 0x7f54c2315a2f (/usr/lib64/libtermkey.so.1+0x5a2f)
Indirect leak of 8 byte(s) in 1 object(s) allocated from:
#0 0x485ca8 in __interceptor_strdup /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_interceptors.cc:562
#1 0x7f54c2316bef (/usr/lib64/libtermkey.so.1+0x6bef)
Indirect leak of 8 byte(s) in 1 object(s) allocated from:
#0 0x485ca8 in __interceptor_strdup /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_interceptors.cc:562
#1 0x7f54c2316c0f (/usr/lib64/libtermkey.so.1+0x6c0f)
Indirect leak of 4 byte(s) in 1 object(s) allocated from:
#0 0x4f6840 in malloc /var/tmp/portage/sys-devel/llvm-3.9.1-r1/work/llvm-3.9.1.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:64
#1 0x7f54c2316a26 (/usr/lib64/libtermkey.so.1+0x6a26)
SUMMARY: AddressSanitizer: 18574 byte(s) leaked in 149 allocation(s).
```
2017-05-22 17:26:26 +02:00
Drew Neil
170d8af397
doc: on_stdout, on_stderr, onexit ( #6761 )
2017-05-22 16:57:16 +02:00
Justin M. Keyes
db0159be26
doc: update *feature-list*, remove "gui_running"
...
Closes #6783
2017-05-22 07:02:51 +02:00
Marco Hinz
afa781f420
Server tests: endpoint parsing in serverstart()
2017-05-22 01:05:40 +02:00
Marco Hinz
f913ba6e06
Server tests: use helpers.command()
2017-05-22 01:05:40 +02:00
Marco Hinz
3efc82cbb2
Server: use uv_getaddrinfo() for $NVIM_LISTEN_ADDRESS
...
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
2017-05-22 01:05:39 +02:00
Justin M. Keyes
17a46dc5e0
pty_process_unix.c: include <libutil.h> on DragonFly BSD
...
From FreeBSD ports patch:
https://svnweb.freebsd.org/ports/head/editors/neovim/files/patch-src_nvim_os_pty__process__unix.c?revision=425833&view=markup
References https://github.com/neovim/neovim/issues/6771#issuecomment-302921368
2017-05-21 13:47:39 +02:00
Justin M. Keyes
6255c4e053
build: FreeBSD: Disable -Wc11-extensions only for clang
...
From FreeBSD ports patch:
https://svnweb.freebsd.org/ports/head/editors/neovim/files/patch-CMakeLists.txt?revision=425833&view=markup
References #4363
2017-05-21 13:44:02 +02:00
Justin M. Keyes
9cc10c69f2
Merge #6775 from justinmk/doc
2017-05-21 13:38:59 +02:00
Justin M. Keyes
872465cf1d
doc
2017-05-21 00:01:52 +02:00
Justin M. Keyes
bdd73fc07f
api/nvim_replace_termcodes: Document keycodes behavior
2017-05-20 22:20:32 +02:00
Justin M. Keyes
bfb9cf1fc3
vim_getenv: Remove redundant NULL check.
2017-05-20 19:40:38 +02:00
James McCoy
6a7514feaa
Merge pull request #6735 from justinmk/funcattr
...
clang 3.6+ REAL_FATTR_NONNULL_RET
2017-05-20 12:37:18 -04:00
Justin M. Keyes
bde46fdece
Merge #6772 from ZyX-I/fix-pvs-errors
2017-05-20 17:07:35 +02:00
ZyX
7dc7d2f83f
lua: Add PVS comment to lua/*.c
2017-05-20 05:06:55 +03:00
ZyX
c585a72cdc
pvscheck: Provide arguments to patch_sources
in correct order
2017-05-20 05:06:16 +03:00
ZyX
e14f678689
options: Silence V542 without using comments
2017-05-20 05:02:03 +03:00
ZyX
a052040430
options: Silence V542 the other way
...
Still does not work though.
2017-05-20 04:56:38 +03:00
ZyX
1dafe1e002
syntax: Silence V782
...
Just another pointer hack used with hash tables.
2017-05-20 04:47:01 +03:00
ZyX
a494bf847d
tui: Fix V547: always true condition
...
The variable in question is initalized at the start of the function with
something non-NULL, specifically pointer to a static buffer.
2017-05-20 04:47:01 +03:00
ZyX
d9398982ea
spellfile: Fix V547: always true condition
...
This condition was already checked at the surrounding if() at line 2422.
2017-05-20 04:47:01 +03:00
ZyX
c7c4aad387
tag: Silence V522: potential null dereference
...
Call PVS is referring to is using DT_FREE which will make function exit earlier,
in #ifdef EXITFREE block.
2017-05-20 04:47:01 +03:00
ZyX
b2265a0977
shada: Fix V581: adjacent branches with same condition
2017-05-20 04:29:54 +03:00
ZyX
8bd903cd51
search: Fix V502: ?: ambiguity
2017-05-20 04:28:21 +03:00
ZyX
5bea4906a2
options: Silence V542: odd casts for .def_val
2017-05-20 04:26:24 +03:00
ZyX
7d895ee053
memfile: Fix V547: always true condition
...
`blocksize` was checked against UINT_MAX after it was checked against
MAX_SWAP_PAGE_SIZE which makes it always pass the check. Better use
STATIC_ASSERT instead.
2017-05-20 04:21:00 +03:00
ZyX
40444e9186
main: Silence V522: potential NULL pointer dereference
...
AFAIK there is no way NULL can be there, including from the line it points to.
Dunno what analyser was thinking, but dereferencing of `argv[0]` happened just
before `get_number_arg()` call: in `ascii_isdigit()` two lines above. And `idx`
cannot possibly be NULL ever, it comes from `&varname`, this could not ever give
anything, but a valid pointer.
2017-05-20 04:21:00 +03:00
ZyX
9ec2bf26ce
getchar: Eliminate two-iteration loop
2017-05-20 04:21:00 +03:00
ZyX
37a77506b0
eval: Silence V614: potentially uninitialized variable
...
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.
2017-05-20 03:54:07 +03:00
ZyX
d9239181af
eval: Fix V507
2017-05-20 03:51:19 +03:00
ZyX
98baea63ff
eval: Silence V782
2017-05-20 03:49:36 +03:00
ZyX
1db29cb5e5
eval/encode: Silence V595 error
2017-05-20 03:47:01 +03:00
ZyX
7f24736ebc
pvscheck: Handle invalid option error gracefully
2017-05-20 03:44:23 +03:00
ZyX
d72df05b93
pvscheck: Add --only-analyse mode
2017-05-20 03:35:50 +03:00
ZyX
a914029278
buffer: Silence V519
2017-05-20 03:28:44 +03:00
ZyX
956ef785f5
edit: Silence V595
2017-05-20 03:28:27 +03:00
ZyX
df67785886
*: Fix all V641 errors
2017-05-20 03:25:22 +03:00
ZyX
2411b6f137
charset: Fix V695: dead branches
...
Based on comments it appears that some non-printable characters intended to be
shown as `|x` (0xA0..0xFE) and some as `~x` (0x80..0x9F, 0xFF, excluding
previous). But this never happens because this is being catched by condition `c
>= 0x80` above which makes them be represented as `<A0>`. Since I find this
variant more useful and it additionally is backwards compatible (Vim does the
same thing) I just dropped dead branches.
2017-05-20 03:21:18 +03:00
raichoo
3280765f2d
man.vim: check for -l flag #6766
2017-05-19 14:02:11 +02:00
Justin M. Keyes
060ce0e0bc
startup: init v:progpath before calling vim_getenv ( #6755 )
2017-05-17 03:23:34 +02:00
James McCoy
96ede7c567
Merge pull request #6759 from jamessan/flaky-timers
...
oldtests: Mark test_timer's Test_oneshot as flaky
2017-05-16 20:24:11 -04:00
James McCoy
4a08320007
oldtests: Mark test_timer's Test_oneshot as flaky
2017-05-16 15:32:19 -04:00
Justin M. Keyes
597d65b4b7
Merge #6741 from justinmk/progpath
2017-05-15 16:11:01 +02:00
Justin M. Keyes
cc5a42a774
env_iter: Learn delim
parameter.
2017-05-15 15:01:52 +02:00