Commit Graph

10890 Commits

Author SHA1 Message Date
Justin M. Keyes
91c4de83c9 cleanup 2018-05-18 19:04:37 +02:00
Justin M. Keyes
23f052edac main.c: remove useless call
Vim's vimrc_found() also handles setting 'nocompatible', that's why it
does vimrc_found(NULL, NULL).
2018-05-18 19:04:37 +02:00
Justin M. Keyes
26d5a981eb do not pass NULL to os_getenv
closes #8393
2018-05-18 19:04:37 +02:00
Björn Linse
0ed297bdb4
Merge pull request #8381 from bfredl/chancrash
channel: avoid references to non-rooted vimL list with output
2018-05-18 10:10:45 +02:00
Björn Linse
a676c658cc channel: avoid references to non-rooted vimL list with output
likely fixes #7768 #7913

If multiple internal stream callbacks were recieved before vimL
callbacks got called, only invoke one vimL callback with all data.
2018-05-17 19:09:32 +02:00
Justin M. Keyes
e121b1dbe7 Merge #8331 'handle various errors'
closes #8331
2018-05-17 09:14:54 +02:00
Justin M. Keyes
d2944e6a29 mf_open(): never fails (except for OOM) 2018-05-17 09:03:44 +02:00
Nick Neisen
c2d1684e05 coverity/13702: open_spellbuf: handle failed ml_open() 2018-05-17 09:03:13 +02:00
Nick Neisen
189a5f2b95 coverity/13713: do_pending_operator: handle failed u_save_cursor() 2018-05-17 09:03:02 +02:00
Nick Neisen
aea70b4404 coverity/13709: spell_add_word: handle failed fseek()
Check the return status after removing a duplicate word.  Add a
log for a nonzero return status.
2018-05-17 09:01:05 +02:00
Nick Neisen
32df42549a coverity/13700: ignore failed win_split()
win_split() does EMSG for all failure cases, so we don't need to log it.

Easiest thing to do here is ignore the return value (otherwise we need
to do some cleanup and might require some refactoring. jumpto_tag() can
deal with a failed split, so it's no big deal.
2018-05-17 08:49:14 +02:00
Nick Neisen
b44b533ada coverity/13969: handle u_save() failure
Looking at the implementation of u_save suggests that its failure is
a normal and expected situation (e.g. if undo isn't allowed for some
reason, it will fail). Also (most of) the other calls to u_save() in
do_put() return early.
2018-05-17 08:48:42 +02:00
Justin M. Keyes
2aa308c685
Merge #5658 'Apply :lmap in macros' 2018-05-17 02:13:31 +02:00
Björn Linse
de7a0bdc35
Merge pull request #8383 from bfredl/timercrash
always run timer close callback after due callback
2018-05-15 07:47:33 +02:00
Justin M. Keyes
efb6caa39b test: nodejs_spec: fix test after upstream API change
closes https://github.com/neovim/node-client/issues/72
2018-05-15 00:03:21 +02:00
Shougo Matsushita
021c5875c1 vim-patch:8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Problem:    No autocmd triggered in Insert mode with visible popup menu.
Solution:   Add TextChangedP. (Prabir Shrestha, Christian Brabandt,
            closes vim/vim#2372, closes vim/vim#1691)
            Fix that the TextChanged autocommands are not always triggered
            when sourcing a script.

5a09343719
2018-05-14 19:14:25 +08:00
Björn Linse
11b55aa004 timer: make sure to free callback after the last timer due callback
fixes #6974

Before this change, the partial could be freed before the last due
callback got invoked, which caused a use-after-free when the due
callback called the partial.
2018-05-13 19:59:28 +02:00
Justin M. Keyes
36b2e3f743
Merge #8375 'API: nvim_get_commands'
closes #7833
ref #8029
2018-05-12 08:17:21 +02:00
Justin M. Keyes
137eedb4ed API: nvim_get_commands(): return Dictionary 2018-05-12 07:29:21 +02:00
Justin M. Keyes
cb6672853a API: nvim_get_commands(): builtin is irrelevant for buffer-local
builtin commands are never buffer-local, so we can return empty for that
case.
2018-05-12 07:29:21 +02:00
Justin M. Keyes
738bffea2c API: nvim_get_commands(): more attributes
Support more :command attributes:
  -bang
  -bar
  -register
2018-05-11 13:50:00 +02:00
Justin M. Keyes
9fa7727ce0 API: nvim_get_commands(): always return keys
- Always return all keys, with at least NIL value.
- Require `opts` param to be {"builtin":false}
- Validate `opts` param
2018-05-11 13:20:43 +02:00
Nimit Bhardwaj
25b6304840 API: nvim_get_commands() 2018-05-11 13:20:19 +02:00
Justin M. Keyes
273d2cd5d5 Merge #8329 'API: Make nvim_set_option() update :verbose set …' 2018-05-11 10:08:09 +02:00
b-r-o-c-k
e31d8ed36a lint 2018-05-10 22:31:55 -05:00
Justin M. Keyes
8d40b3617c
Merge #8371 'API: more reliable/descriptive VimL errors' 2018-05-10 19:18:58 +02:00
Justin M. Keyes
1cd8517344 man.vim: s:get_path(): trim newline in all cases
ref #8372
2018-05-10 16:03:13 +02:00
Justin M. Keyes
966e7abc49 msgpack.vim: require python3 on Windows
timestamp.strftime('%s') workaround only works on unix.

ref: https://github.com/neovim/neovim/pull/8371#discussion_r186311766
2018-05-10 15:56:13 +02:00
raichoo
3a6b80f2f4 UI: redraw statusline when entering cmdline (#8347) 2018-05-10 14:55:07 +02:00
Jon Bernard
f1a3075553 man.vim: get() first item if -w returns multiple paths #8372
OpenBSD's man returns all candidates when searching with -w instead of
the first one it finds.  So this patch takes the first one if multiple
entries are found.

closes #8372
closes #8341
2018-05-10 14:42:10 +02:00
Justin M. Keyes
cb8ea55d71 nvim_eval: fix memory leak 2018-05-10 04:01:25 +02:00
Justin M. Keyes
79a0d82755 test: API: fix tests after improved error capture 2018-05-10 04:01:25 +02:00
Justin M. Keyes
2326a4ac3a API: nvim_eval(): return non-generic VimL errors
Use the same pattern as nvim_call_function (_call_function).
2018-05-09 23:18:39 +02:00
Justin M. Keyes
32b0470b03 API: better way to capture abort-causing non-exception errors
This condition is not perfectly reliable:
    (did_emsg && force_abort && !current_exception)

The more proper way to check for abort-causing non-exception errors is
to set up `msg_list` using the "pattern" given by do_cmdline().
2018-05-09 23:18:38 +02:00
Justin M. Keyes
c9f3174075 API: return non-generic VimL errors
- Return VimL errors instead of generic errors for:
  - nvim_call_function
  - nvim_call_dict_function
- Fix tests which were silently broken before this change.

This violates #6150 where we agreed not to translate API errors.  But
that can be fixed later.
2018-05-09 23:18:38 +02:00
Justin M. Keyes
33bfea31b0 msgpack.vim: fix syntax errors, python2 errors 2018-05-09 23:18:38 +02:00
Justin M. Keyes
34b6a3d944 doc 2018-05-09 23:18:38 +02:00
Justin M. Keyes
ebb1acb3c0
Merge #8353 'API: nvim_call_dict_function' 2018-05-06 16:27:02 +02:00
Justin M. Keyes
cabffb0182 API: nvim_call_dict_function: expect actual function, not name 2018-05-06 14:52:21 +02:00
Justin M. Keyes
fe7ab60af7 API: nvim_call_dict_function: eliminate internal param
The `internal` param is difficult to explain, and will rarely be
anything but `true`.  To avoid it, use a hack: check if the resolved
dict value starts with "function(".
2018-05-06 14:38:26 +02:00
Justin M. Keyes
19c2ce1901 refactor: nvim_call_dict_function
- Add test coverage for errors.
- Rename, rearrange.
2018-05-06 14:38:26 +02:00
Sebastian Witte
124275dd58 API: nvim_call_dict_function #3032 2018-05-06 14:38:26 +02:00
Justin M. Keyes
f46f138fb6 test: nvim_call_function: verify "too many arguments" error 2018-05-06 14:38:26 +02:00
Jan Viljanen
8abd677d82 CI/travis: remove reference to non-exisiting script (#8366) 2018-05-06 11:40:59 +02:00
Jan Viljanen
f8575fd1e4 CI/travis: fix building 32bit on linux (#8365)
Fixes #8351
2018-05-06 11:33:21 +02:00
raichoo
8ce6393048 terminal: Leave 'relativenumber' alone (#8360)
ref #6796
2018-05-05 18:45:15 +02:00
James McCoy
bcc9a74e48
Merge pull request #8333 from jamessan/ccache
travis: Enable ccache
2018-05-04 19:43:43 -04:00
James McCoy
5009317525
Merge pull request #8358 from mhinz/screen
[RFC] screen: avoid artifacts
2018-05-04 19:42:58 -04:00
Marco Hinz
ec1a7791b0
test: screen artifacts 2018-05-04 22:14:27 +02:00
Marco Hinz
16ce2e006b
screen: avoid artifacts
Put back the condition that was accidentally removed in
d42f934bcb

  -    if (enc_utf8 && ScreenLinesUC[off] != 0)
  -      bytes[utfc_char2bytes(off, bytes)] = NUL;
  -    else if (enc_dbcs == DBCS_JPNU && ScreenLines[off] == 0x8e) {
  -      bytes[0] = ScreenLines[off];
  -      bytes[1] = ScreenLines2[off];
  -      bytes[2] = NUL;
  -    } else if (enc_dbcs && MB_BYTE2LEN(bytes[0]) > 1) {
  -      bytes[1] = ScreenLines[off + 1];
  -      bytes[2] = NUL;
  -    }
  +    bytes[utfc_char2bytes(off, bytes)] = NUL;

Fixes #8357
2018-05-04 20:59:51 +02:00