Björn Linse
f3d8502115
clint: check FUNC_ATTR lines to have 2-space indent
2017-06-03 08:17:22 +02:00
Jonas Stein
fd07250e6c
doc: README.md ( #6839 )
2017-06-02 23:45:32 +02:00
Jonathan de Boyne Pollard
838277e28a
test: fix bashisms ( #6791 )
2017-06-01 00:46:00 +02:00
Justin M. Keyes
133f8bc628
Merge #4700 from AdnoC/keep-default-register
2017-05-31 23:43:40 +02:00
Jan Viljanen
c1026ff4b3
build: LuaRocks 2.4.2 #6059
...
LuaRocks 2.3 and onwards changed the /P option to no longer include the
version number which made newer releases of LuaRocks fail when compiling
on Windows.
2017-05-31 23:13:47 +02:00
AdnoC
2f2eeb19ba
shada: Add default value for is_unnamed
2017-05-31 13:31:06 -04:00
AdnoC
745bac562d
eval.c: Ignore unnamed register error in f_setreg
...
The error case is already handled and an appropriate error message is
already printed.
2017-05-31 13:31:06 -04:00
AdnoC
5908f562df
test: Fix and add cases for unnamed register
...
Also:
Add ru to shada tests with all keys
Add test for unset unnamed and register 0
2017-05-31 13:31:05 -04:00
AdnoC
0c3dea5c4d
style/lint
2017-05-31 13:31:01 -04:00
AdnoC
336412e1db
shada/linting: Moved some code out of shada_write.
...
shada_write was too long (over 500 lines) and caused a linting error.
Register initialization was moved to its own function in order to save lines.
2017-05-31 13:19:09 -04:00
AdnoC
beca4dc16c
eval/shada: Add testing for unnamed register with setreg and startup
2017-05-31 13:19:08 -04:00
AdnoC
9a91ce4fa6
eval: Add ability to set the unnamed register with setreg
2017-05-31 13:19:08 -04:00
AdnoC
a00b03d03f
shada: Set the unnamed register to the previous unnamed register on startup
2017-05-31 13:18:59 -04:00
Justin M. Keyes
fcc9d99967
channel_write: fix compiler warning
2017-05-31 14:10:04 +02:00
Matthew Malcomson
033b1cb7d9
'pastetoggle': Revert support for multi-key value ( #6724 )
...
Reverts commit 337b6179df
Closes #6716 at the expense of not being able to use a
multi-key 'pastetoggle' manually.
Multi-key 'pastetoggle' can still be used when inserting the entire
option into the typebuffer at once (though the use here is
questionable).
Also remove those tests to do with waiting for the completion of
'pastetoggle' and mention in the documentation that 'pastetoggle'
doesn't wait for timeout.
2017-05-31 13:20:06 +02:00
James McCoy
43f40b8e1a
Merge pull request #6740 from oni-link/fix.snprintf
...
if_cscope: Fix truncation of formated output
2017-05-30 00:47:27 +00:00
Björn Linse
1b7a9bf4d2
Merge pull request #6594 from bfredl/sockopen
...
connect to socket (RPC only for the moment)
2017-05-29 20:33:00 +02:00
Björn Linse
5a151555c8
sockets: don't deadlock when connecting to own pipe address
2017-05-29 19:02:49 +02:00
Björn Linse
6a75938758
channels: implement sockopen() to connect to socket
...
Helped-By: oni-link <knil.ino@gmail.com>
2017-05-29 19:02:49 +02:00
James McCoy
9cc185dc6d
Merge pull request #6680 from mhinz/listen/localhost
...
Use uv_getaddrinfo() for servers
2017-05-28 13:26:06 +00:00
James McCoy
62d020aba1
socket_watcher_start: Silence conversion warning for sin(6)_port
...
Although in_port_t is a typedef for uint16_t, GCC in Ubuntu 12.04
complains about potential loss of data due to converting int to
uint16_t. Since we know this isn't possible, silence the warning to
avoid breaking QB until it gets upgraded to a newer Ubuntu.
2017-05-28 07:14:49 -04:00
James McCoy
6c135b89ee
eval: serverstart: Return finalized address to user
...
In the process of setting up the socket watcher, the address may be
changed (e.g., adding the OS-selected port).
2017-05-28 07:14:49 -04:00
Daniel Hahler
eb71bbb1da
vim-patch:8.0.0605 ( #6821 )
...
Problem: The buffer that quickfix caches for performance may become
invalid. (Daniel Hahler)
Solution: Reset qf_last_bufref in qf_init_ext(). (Daniel Hahler,
closes vim/vim#1728 , closes vim/vim#1676 )
6dd4a53502
2017-05-28 13:01:46 +02:00
Justin M. Keyes
1cf377f23a
Merge #6777 from justinmk/bsd
2017-05-28 02:37:07 +02:00
James McCoy
3f85c2e43a
Server: Call uv_getaddrinfo with NULL service when no port
...
When using serverstart("ip.ad.d.r:") to listen on a random port, we need
to abide by getaddrinfo()'s API and pass in a NULL service, rather than
an empty string.
When given an empty string, getaddrinfo() is free to search for a
service by the given name (since the string isn't a number) which will
fail. At least FreeBSD does perform this lookup.
2017-05-27 20:27:33 -04:00
Justin M. Keyes
a84926763f
install: bsd: install manpages to /usr/local/man
...
https://svnweb.freebsd.org/ports/head/editors/neovim/Makefile?revision=428479&view=markup#l28
Closes #6771
2017-05-27 21:42:10 +02:00
Justin M. Keyes
023f67cad8
terminal: Do not change 'number', 'relativenumber' ( #6796 )
...
Showing the 'number' column in terminal buffers is a bit silly because
of 'scrollback'. But it's mostly harmless and technically works as
expected.
The least surprising thing is to leave the user's settings alone. Since
there are tradeoffs in both cases, we choose inertia.
We still disable 'relativenumber' in *terminal-mode* (as opposed to
normal-mode) because it is totally broken: the Nvim cursor (not terminal
cursor) is always on the last line.
2017-05-27 15:08:38 +02:00
raichoo
967e892cb6
man.vim: feature-test section (-s) flag #6815
...
Different implementations of `man` might be using different
flags for sections.
2017-05-26 00:30:40 +02:00
Justin M. Keyes
7a1a3a1258
build: Default BUSTED_OUTPUT_TYPE to "nvim" ( #6811 )
2017-05-25 14:51:53 +02:00
TJ DeVries
45626de63f
get_keymap API ( #6236 )
...
* Add api function get keymap
nvim_get_keymap(mode)
nvim_buf_get_keymap(buffer, mode)
2017-05-25 12:41:53 +02:00
James McCoy
2dc27a8a78
shada: Remember whether "0 or "1 was the unnamed register
...
Ref #4645
2017-05-24 14:17:19 -04:00
Justin M. Keyes
f4fddbfb77
Merge #6799 from justinmk/tui-dtterm
2017-05-24 02:00:27 +02:00
Jonathan de Boyne Pollard
133ae5eeef
tui: Improve scrolling mechanism.
...
Respect the BGE flag from terminfo rather than guessing that it is
always off. Emit DECLRMM and DECSLRM (or equivalent) to properly define
the scroll rectangle.
2017-05-23 21:55:15 +02:00
Jonathan de Boyne Pollard
0de7b17d03
tui: Reset the scroll region when resizing.
...
DECSLPP is explicitly documented as not affecting the scroll region. The
dtterm extension is not as well documented, but it is safer than not to
assume that it operates similarly.
This also eliminates a pointlessly repeated test from tui_scroll(). It
additionally uses a non-parameterized DECSTBM sequence when attempting
to reset back to whole-screen scrolling.
2017-05-23 15:35:47 +02:00
Jonathan de Boyne Pollard
593af64943
tui: resize: use an extended terminal capability
...
... rather than hardwiring the string and testing the terminal
type every time the screen is re-sized.
2017-05-23 15:35:16 +02:00
Jonathan de Boyne Pollard
36d1fd0602
tui: Only use dtterm's extension where supported.
...
This limits the use of dtterm's extension to DECSLPP to only those
terminal types where it is known to be supported.
Because it can be potentially understood as genuine DECSLPP
sequence, setting the number of lines to a number larger than 25,
which of course can cause confusion (especially if it is the width
parameter that results in this) only use it on terminals that are
known to support the dtterm extension.
rxvt (Unicode) also understands dtterm's extension.
2017-05-23 15:24:34 +02:00
James McCoy
c4a8950281
Merge pull request #6790 from justinmk/oldtest
...
oldtests: Mark Test_lambda_with_timer as flaky
2017-05-22 22:05:56 -04:00
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
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