Commit Graph

4461 Commits

Author SHA1 Message Date
Matthieu Coudron
dd4a5fcbb6 tui: 'guicursor' shape #6044
Closes #2583
2017-04-01 23:14:05 +02:00
James McCoy
16babc6687 tui: Only enable/disable mouse when there's something to do (#6411)
If we get a mouse_on/mouse_off event, but the mouse is already in the
corresponding state, there's no need to send the event up to the
terminal.

Closes #4394
2017-04-02 00:00:42 +02:00
Justin M. Keyes
518f28f537 Merge #6422 from ZyX-I/fix-6420
eval,fileio: Omit additional fsync() call
2017-04-01 22:38:20 +02:00
Matthew Malcomson
337b6179df 'pastetoggle': support value >1 char (#6421)
If we `set pastetoggle=abcde`, and manually type it, then `vgetorpeek()`
sees part of the option before it has all been inserted into the
typebuffer.
To signify this it sets `keylen = KEYLEN_PART_KEY`, but the condition
about whether to return the current key from `vgetorpeek()` only checks
for `keylen = KEYLEN_PART_MAP`.
Add a check for `KEYLEN_PART_KEY` to account for the `'pastetoggle'`
option.
2017-04-01 21:50:29 +02:00
ZyX
19690d4a25 eval: Do not allocate FileDescriptor 2017-04-01 22:26:50 +03:00
ZyX
cc4523013f eval,fileio: Omit additional fsync() call
Fixes #6420
2017-04-01 21:15:13 +03:00
lonerover
45a13c4bbc vim-patch:7.4.2306
Problem:    Default value for 'langremap' is wrong.
Solution:   Set the right value. (Jürgen Krämer)  Add a test.

da9ce2cde1
2017-04-01 22:46:27 +08:00
lonerover
53da57d27a vim-patch:7.4.2236
Problem:    The 'langnoremap' option leads to double negatives.  And it does
            not work for the last character of a mapping.
Solution:   Add 'langremap' with the opposite value.  Keep 'langnoremap' for
            backwards compatibility.  Make it work for the last character of a
            mapping.  Make the test work.

920694c1b6
2017-04-01 22:45:36 +08:00
James McCoy
77539eef9b Merge pull request #6397 from jamessan/coverity
Fix latest Coverity issues
2017-03-31 07:52:45 -04:00
James McCoy
338da727cd coverity/161216: Ensure buf is valid for lifetime of defstr
Depending on the type of argument for input()/inputdialog()'s {text}
argument, defstr may point to buf.  Therefore it needs to be in scope
for the lifetime of defstr.

Also, use a different buffer for the handling of the 3rd argument to
input()/inputdialog().  Although the buffer defstr points to is used
immediately, it avoids potential mishaps if the code changes.
2017-03-30 22:30:02 -04:00
James McCoy
f4a3a96b68 Add handling for MSGPACK_OBJECT_FLOAT{32,64}
msgpack-c previously only had MSGPACK_OBJECT_FLOAT, which was a 64-bit
value.  Now, 32-bit and 64-bit floats are supported as distinct types,
but we'll simply continue to treat everything as 64-bit types.
2017-03-30 21:35:36 -04:00
Matthew Malcomson
3a9dd13f9e fold.c: more edge-cases when updating (#6207)
When foldUpdateIEMSRecurse() re-uses an existing fold, it misses the
case where the existing fold spans from before startlnum to after
firstlnum, the new fold does not span this range, and there is no
"forced start" of a fold. We add a case for this in.

Ensure that if there was no forced break in folds, we merge folds that
now touch each other.

Include testing for a tricky foldmethod=expr case that has never been a
bug. This case works at the moment because of some effects that are not
obvious when reading the code.
A test for this could be useful to ensure a regression doesn't happen.

vim-patch:8.0.0408
2017-03-31 01:21:26 +02:00
Michael Ennen
831eb2a9bf vim-patch:7.4.2104 (#6332)
Problem:    Code duplication when unreferencing a function.
Solution:   De-duplicate.

97baee80f0
2017-03-31 01:07:39 +02:00
Jakob Schnitzer
eb0e94f71b api: {get,set}_option should {get,set} global value of local options (#6405)
- nvim_get_option should return the global default of a local option.
- nvim_set_option should set the global default of a local option.
2017-03-30 22:03:52 +02:00
James McCoy
75b98f7c3f Remove PVS-Studio cruft
[ci skip]
2017-03-30 10:09:33 -04:00
James McCoy
1222c82799 coverity/16127: Verify lang is non-NULL before calling strlen 2017-03-29 21:34:04 -04:00
James McCoy
1c6ae58fd1 coverity/161194: Restore check for 'keywordprg' being ":help"
998d0ffc09 removed the explicit check for
":help", relying instead on whether the user was in a help buffer.
However, this breaks escaping the identifier for use in the lookup
command.

2f54d6927c tried to fix this by removing
"!kp_ex" in "if (cmdchar == 'K' && !kp_ex)", but that causes shell
escaping to be used instead of escaping for tag lookup.
2017-03-29 21:16:58 -04:00
James McCoy
3116f870ba coverity/161195: Increase scope of exe_name
Since exe_name is a stack allocated array, we need it to be in scope for
the lifetime that vim_path points to it.
2017-03-29 21:16:50 -04:00
Justin M. Keyes
1f478cebeb win: tempname(): Use $TMPDIR if defined. 2017-03-30 02:55:00 +02:00
relnod
6964b67c00 refactor/single-include: buffer.h (#6396) 2017-03-30 00:50:11 +02:00
Justin M. Keyes
c60e409471 Merge #5119 from ZyX-I/split-eval 2017-03-29 23:15:07 +02:00
Justin M. Keyes
05b74399aa build: remove unused get_preproc_output() call
ref https://github.com/neovim/neovim/pull/6375#discussion_r108573471
2017-03-29 17:39:06 +02:00
lonerover
2846d508b2 vim-patch:7.4.2276 (#6393)
* vim-patch:7.4.2276

Problem:    Command line test fails on Windows when run twice.
Solution:   Wipe the buffer so that the directory can be deleted.

1773ddfdcd

* version.c: mark vim-patch 7.4.2269 as included (#5659)
2017-03-29 16:48:50 +02:00
ZyX
b9603218be eval/executor: Fix check-single-includes 2017-03-29 10:08:46 +03:00
ZyX
a1d590a08b *: Use const char * in set_one_cmd_context
Also renames functions added in master and renamed here.
2017-03-29 10:08:46 +03:00
ZyX
114eaa15f0 eval/typval,api/buffer: Fix review comments 2017-03-29 10:08:46 +03:00
ZyX
58e34e8d99 eval/typval: Allow NULL dict as tv_dict_get_callback() argument
Also removes NULL key input: tv_dict_find() does not allow this.
2017-03-29 10:08:46 +03:00
ZyX
f4256243db eval: Fix -Werror=unitialized from QB 2017-03-29 10:08:46 +03:00
ZyX
29bad04f9e eval: Do not supply S_LEN to strncmp
It may be a macro as well.
2017-03-29 10:08:46 +03:00
ZyX
e08b27ba4a unittests: Add tv_get number tests 2017-03-29 10:08:46 +03:00
ZyX
630ff33dc1 unittests: Test locks section 2017-03-29 10:08:46 +03:00
ZyX
f0bbd1e825 unittests: Add tests for tv_clear() 2017-03-29 10:08:46 +03:00
ZyX
218fa1d806 charset: Remove useless condition from vim_iswordc_tab 2017-03-29 10:08:45 +03:00
ZyX
fa852e7cdc eval: Fix extend() behaviour with NULL lists and dictionaries
Ref #4615
Ref vim/vim#768
2017-03-29 10:08:45 +03:00
ZyX
43e9fad1c8 eval: Use tv_is_func in place of ==VAR_FUNC||==VAR_PARTIAL
Also fixes same error as in vim/vim#1557
2017-03-29 10:08:45 +03:00
ZyX
270a3889af unittests: Add tv_dict_add* unit tests
Also fixes incorrect location of `tv_dict_add` function and three bugs in other 
functions:

1. `tv_dict_add_list` may free list it does not own (vim/vim#1555).
2. `tv_dict_add_dict` may free dictionary it does not own (vim/vim#1555).
3. `tv_dict_add_dict` ignores `key_len` argument.
2017-03-29 10:08:45 +03:00
ZyX
bc87d23c28 unittests: Add tests for dictionary indexing 2017-03-29 10:08:45 +03:00
ZyX
b222453c95 eval/typval: Refactor errors a bit: use emsgf always 2017-03-29 10:08:45 +03:00
ZyX
f830243ff7 mbyte: Include os_defs.h in mbyte.h 2017-03-29 10:08:45 +03:00
ZyX
3bf87a5a6b eval: Do not use S_LEN as snprintf argument 2017-03-29 10:08:45 +03:00
ZyX
38dd81c136 eval/typval: Fix SEGV in test_alot.vim test 2017-03-29 10:08:45 +03:00
ZyX
faddd83db8 eval: Fix SEGV in test49 2017-03-29 10:08:45 +03:00
ZyX
cdb1aa3e47 eval: Fix len argument to xstrlcat 2017-03-29 10:08:45 +03:00
ZyX
2c8ad27652 ascii: Readd DEL_STR define 2017-03-29 10:08:45 +03:00
ZyX
c6c48e8672 syntax: Fix linter error 2017-03-29 10:08:45 +03:00
ZyX
78a0de2c1b eval/typval: Fix -Werror=return-type 2017-03-29 10:08:45 +03:00
ZyX
6aa6e50075 eval: Fix linter errors 2017-03-29 10:08:45 +03:00
ZyX
506b938947 *: Make some more things const and with length 2017-03-29 10:08:44 +03:00
ZyX
3025431c81 eval: Make sure that v:_null_dict does not crash dictwatcher*()
Ref #4615
2017-03-29 10:08:44 +03:00
ZyX
a56f2d27e3 eval: Make dictionary watchers work with empty keys
Looks like dict_notifications_spec test used to depend on some state which
should not be preserved. Changed all `setup()` calls to `before_each()` and
added necessary state in addition to changes required to test empty keys.

Note: unit tests for tv_dict_watcher* are still needed.
2017-03-29 10:08:44 +03:00