Commit Graph

8225 Commits

Author SHA1 Message Date
ZyX
f4d5d5250a eval: Refactor get_user_input to support dictionary 2017-05-10 15:52:48 +03:00
Nikolai Aleksandrovich Pavlov
c66fd37603 lua/converter: Fix typo in assert condition (#6708)
Ref https://github.com/neovim/neovim/pull/4411#issuecomment-300248206
2017-05-10 08:44:28 +02:00
ZyX
823b35e341 strings: Return NUL from vim_strchr for invalid input 2017-05-09 14:41:24 +03:00
Justin M. Keyes
0e873a30f3 Merge #4411 from ZyX-I/luaviml'/lua 2017-05-09 00:39:17 +02:00
ZyX
85bf64da0a api/window: Fix memory leak in nvim_win_set_cursor 2017-05-08 20:55:00 +03:00
ZyX
db1155f713 cmake: Workaround CMake not supporting INCLUDE_DIRECTORIES target prop 2017-05-08 18:42:57 +03:00
Justin M. Keyes
b23aa1cf09 Merge #6597 'winhighlight' 2017-05-08 16:17:57 +02:00
Justin M. Keyes
4c3d7b29ec Merge #6595 from justinmk/term-refresh-on-exit 2017-05-08 15:18:08 +02:00
Carlo Abelli
aace622ca5 refactor/single-include (#6687) 2017-05-08 15:08:12 +02:00
ZyX
09f849b600 Merge branch 'master' into luaviml'/lua 2017-05-08 15:43:45 +03:00
Justin M. Keyes
7c1a5d1d40 Revert "event/process.c: send SIGTERM directly (#6644)"
This reverts commit 34c3f03013.
2017-05-08 13:49:23 +02:00
Richard Adenling
a6f74debc0 terminal: refresh before on_exit. #5217
References #3030
References https://github.com/radenling/vim-dispatch-neovim/issues/6

The terminal is updated by a timer, but on_exit needs the final state.
Before this change, on_exit callback could see a stale terminal buffer.

Helped-by: oni-link <knil.ino@gmail.com>
2017-05-08 13:49:14 +02:00
Justin M. Keyes
a9605bb4af Merge #6460 from ZyX-I/1476-changes
Refactor functions which find character in a string
2017-05-08 13:45:14 +02:00
Björn Linse
bfcaf36404 options: allow different highlights in windows 2017-05-08 12:41:39 +02:00
Björn Linse
443399c27d options: consolidate updates for window string options affected by copy_winopt
update note at options.c head about window options
2017-05-05 10:55:07 +02:00
Carlo Abelli
631d55ada0 refactor/single-include (#6688) 2017-05-05 10:28:12 +02:00
Daniel Hahler
34c3f03013 event/process.c: send SIGTERM directly (#6644)
Send SIGTERM to processes directly, instead of waiting for ~1s.

- removes TERM_TIMEOUT
- changes KILL_TIMEOUT to milliseconds
- removes Process.term_sent
2017-05-04 16:38:25 +02:00
Jonathan de Boyne Pollard
052c2d0a0f tui: Also fix "linux*" terminfo entries. #6673
The terminfo entry for linux only advertises 8 colours, but nvim tries
to make it display 16 colours anyway, resulting in erroneous SGR control
sequences for colours 8 and above. The Linux kernel terminal emulator
itself has actually understood the 256-colour control sequences since
version 4.8 and the 16-colour control sequences since version 4.9. Thus
we apply the same terminfo fixup as we apply for *xterm* and *256*, to
emit the 16-colour and 256-colour control sequences even if terminfo's
setaf and setab do not advertise them.
2017-05-04 16:18:36 +02:00
James McCoy
4f75e2f95c utf16_to_utf8: Allocate space for converted string and NUL
References #6646
2017-05-03 20:27:39 -04:00
Justin M. Keyes
0502ac47fb 'guicursor': tui: Konsole: blinkon0 should disable blinking. 2017-05-03 18:08:54 +02:00
Justin M. Keyes
5fd1d09aa5 test/legacy: Add Test_with_partial_callback to s:flaky. (#6666) 2017-05-03 18:19:34 +02:00
Rui Abreu Ferreira
685ca180f7 win: Terminal UI #6315
For CI builds unibilium is provided through msys2 packages, and
libtermkey is built from source in third-party from equalsraf/libtermkey.

In Windows we cannot read terminal input from the stdin file descriptor,
instead use libuv's uv_tty API. It should handle key input and encoding.

The UI suspend is not implemented for Windows, because the
SIGSTP/SIGCONT do not exist in windows. Currently this is a NOOP.

Closes #3902
Closes #6640
2017-05-03 12:48:24 +02:00
James McCoy
de50c003d5 Use vim_strchr(s, c) when c may be NUL (#6656)
As part of the refactoring in #5119, some vim_strchr() were changed to
strchr().  However, vim_strchr() behaves differently than strchr() when
c is NUL, returning NULL instead of a pointer to the NUL.

Revert the strchr() calls where it isn't known whether c is NUL, since
this causes a semantic change the surrounding code doesn't expect.  In
the case of #6650, this led to a heap overrun.

Closes #6650
2017-05-03 10:12:38 +02:00
Justin M. Keyes
1483800cdf coverity/161682: FP: Dereference after null check (#6630) 2017-05-01 17:04:56 +02:00
Justin M. Keyes
fa1ee0ac73 doc: bracketed-paste-mode 2017-05-01 14:55:26 +02:00
James McCoy
5d73a6e5df Merge pull request #6621 from jamessan/vim-7.4.2231
vim-patch:7.4.2231,7.4.2239,7.4.2244,7.4.2245,7.4.2246,7.4.2263,8.0.0150
2017-04-30 09:46:41 -04:00
Justin M. Keyes
4afc93b926 Merge #6588 from justinmk/guicursor 2017-04-30 14:36:40 +02:00
Justin M. Keyes
c1d3bcc184 'guicursor': TMUX_WRAP iTerm seqs. Do color seq before shape seq. 2017-04-30 13:44:31 +02:00
Justin M. Keyes
d349f610ac 'guicursor': No color/blink by default
Closes #6577
2017-04-30 13:44:31 +02:00
Björn Linse
97126bfa02 api: deprecate obsolete nvim_buf_get_number function 2017-04-30 11:04:10 +02:00
James McCoy
2b191ac5b9 lint 2017-04-29 23:48:28 -04:00
James McCoy
b6e36558d1 vim-patch:8.0.0150
Problem:    When the pattern of :filter does not have a separator then
            completion of the command fails.
Solution:   Skip over the pattern. (Ozaki Kiichi, clodes vim/vim#1299)

7069bf18e1
2017-04-29 23:48:28 -04:00
James McCoy
f219657453 vim-patch:7.4.2263
Problem:    :filter does not work for many commands.  Can only get matching
            messages.
Solution:   Make :filter work for :command, :map, :list, :number and :print.
            Make ":filter!" show non-matching lines.

d29459baa6
2017-04-29 23:48:27 -04:00
James McCoy
ab50c1fdb7 vim-patch:7.4.2246
Problem:    Oldfiles test fails.
Solution:   Include missing changes.

d6f2ee32dc
2017-04-29 23:48:27 -04:00
James McCoy
f477c23c62 vim-patch:7.4.2245
Problem:    Filter test fails.
Solution:   Include missing changes.

77401add71
2017-04-29 23:48:27 -04:00
James McCoy
7bd97127b4 vim-patch:7.4.2244
Problem:    Adding pattern to ":oldfiles" is not a generic solution.
Solution:   Add the ":filter /pat/ cmd" command modifier.  Only works for some
            commands right now.

7b668e83d0
2017-04-29 23:48:27 -04:00
James McCoy
059c3fc2f9 vim-patch:7.4.2239
Problem:    Warning for missing declaration of skip_vimgrep_pat(). (John
            Marriott)
Solution:   Move it to another file.

9baf297c99
2017-04-29 21:46:12 -04:00
James McCoy
dbdc2d40bb vim-patch:7.4.2231
Problem:    ":oldfiles" output is a very long list.
Solution:   Add a pattern argument. (Coot, closes vim/vim#575)

e11d61a3b1
2017-04-29 21:46:12 -04:00
Justin M. Keyes
1e7806bd41 vim-patch:6d5ad4c4118c
Updated runtime files.

6d5ad4c411
2017-04-29 01:49:36 +02:00
Justin M. Keyes
86b596dc7a vim-patch:f37506f60f87
Updated runtime files.  Remove HiLink commands.

f37506f60f
2017-04-28 21:25:15 +02:00
Justin M. Keyes
409e56b139 vim-patch:818078ddfbb8
Updated runtime files and translations.

818078ddfb
2017-04-28 21:01:25 +02:00
Justin M. Keyes
8f59d14839 event: Remove "priority" concept.
It was replaced by the "child queue" concept (MultiQueue).
2017-04-28 19:20:09 +02:00
Justin M. Keyes
f17a818519 api/nvim_get_mode: Use child-queue instead of "priority". 2017-04-28 19:20:09 +02:00
Justin M. Keyes
acfd2a2a29 input.c: Process only safe events before blocking.
Introduce multiqueue_process_priority() to process only events at or
above a certain priority.
2017-04-28 19:19:51 +02:00
Justin M. Keyes
3ea1007753 api: nvim_get_mode()
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
2017-04-28 19:14:34 +02:00
Justin M. Keyes
7044aa6e82 api/ext_tabline: curtab should be a Tabpage handle. 2017-04-28 15:59:20 +02:00
Justin M. Keyes
0ddebbc354 lint 2017-04-28 05:33:11 +02:00
Justin M. Keyes
2b6a3819e5 build_stl_str_hl: Array name should be plural. 2017-04-28 04:11:29 +02:00
relnod
56911050e0 refactor/single-include (#6604) 2017-04-27 21:43:27 +02:00
Justin M. Keyes
6944abad2f api/ext_tabline: List of Dicts. 2017-04-26 03:41:24 +02:00