Commit Graph

1486 Commits

Author SHA1 Message Date
Marco Hinz
09cbd6769b vim-patch:8.1.1932: ml_get errors after append() #10866
Problem:  Ml_get errors after using append(). (Alex Genco)
Solution: Do not update the cursor twice.

d20070274c

fix #10847
2019-08-27 23:50:55 +02:00
Daniel Hahler
e3e0574cb3 Merge pull request #10841 from janlazo/vim-7.4.1407
vim-patch:7.4.1407,8.1.1111
2019-08-25 21:04:17 +02:00
Daniel Hahler
bec2336231 vim-patch:8.1.1913: not easy to compute the space on the command line (#10845)
Problem:    Not easy to compute the space on the command line.
Solution:   Add v:echospace. (Daniel Hahler, closes vim/vim#4732)
37f4cbd46f
2019-08-25 20:53:17 +02:00
Jan Edmund Lazo
66c06dad62 vim-patch:8.1.1924: using empty string for current buffer is unexpected
Problem:    Using empty string for current buffer is unexpected.
Solution:   Make the argument optional for bufname() and bufnr().
a8eee21e75
2019-08-24 21:18:15 -04:00
Jan Edmund Lazo
1dc088ea7d vim-patch:8.1.1111: it is not easy to check for infinity
Problem:    It is not easy to check for infinity.
Solution:   Add isinf(). (Ozaki Kiichi, closes vim/vim#3787)
fda1bff39f
2019-08-24 17:02:05 -04:00
Jan Edmund Lazo
01b5499eea vim-patch:7.4.1407
Problem:    json_encode() does not handle NaN and inf properly. (David
            Barnett)
Solution:   For JSON turn them into "null".  For JS use "NaN" and "Infinity".
            Add isnan().
f1b6ac7229
2019-08-24 15:56:17 -04:00
Jan Edmund Lazo
4fedef51b0 vim-patch:8.1.1757: text added with appendbufline() isn't displayed
Problem:    Text added with appendbufline() to another buffer isn't displayed.
Solution:   Update topline. (partly by Christian Brabandt, closes vim/vim#4718)
2984666291
2019-08-24 14:04:20 -04:00
Jan Edmund Lazo
34e4166673 vim-patch:8.0.1236: Mac features are confusing #10837
Problem:    Mac features are confusing.
Solution:   Make feature names more consistent, add "osxdarwin". Rename
            feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes vim/vim#2178)
d057301b1f
2019-08-24 09:04:08 +02:00
Jan Edmund Lazo
2a1887c2df vim-patch:8.1.0187: getwininfo() and win_screenpos() return different numbers
Problem:    getwininfo() and win_screenpos() return different numbers.
Solution:   Add one to "wincol" and "winrow" from getwininfo().
7132ddc101
2019-08-23 07:46:51 -04:00
Jan Edmund Lazo
c58054c231 vim-patch:8.0.1386: cannot select modified buffers with getbufinfo()
Problem:    Cannot select modified buffers with getbufinfo().
Solution:   Add the "bufmodified" flag. (Yegappan Lakshmanan, closes vim/vim#2431)
8e6a31df81
2019-08-23 07:46:51 -04:00
Jan Edmund Lazo
7e6a2f2bed vim-patch:8.1.0039: cannot easily delete lines in another buffer
Problem:    Cannot easily delete lines in another buffer.
Solution:   Add deletebufline().
d79a26219d
2019-08-23 07:46:51 -04:00
Jan Edmund Lazo
9358979d09 vim-patch:8.1.0037: cannot easily append lines to another buffer
Problem:    Cannot easily append lines to another buffer.
Solution:   Add appendbufline().
ca851593a6
2019-08-23 07:46:51 -04:00
Abdelhakeem Osama
450a68b7cc vim-patch:8.1.0888: the a: dict is not immutable as documented (#10819)
Problem:    The a: dict is not immutable as documented.
Solution:   Make the a:dict immutable, add a test. (Ozaki Kiichi, Yasuhiro
            Matsumoto, closes vim/vim#3929)
31b816042f
2019-08-21 20:17:09 +02:00
Björn Linse
48b43352b0 pyxversion: fix logic error #10759
Do not incorrectly prefer python2 if python3 is working.
fixes #10758
2019-08-14 22:36:43 +02:00
Justin M. Keyes
ad4eb18e43 Merge #10098 'win: fix msg_puts_printf()' 2019-08-12 02:42:13 +02:00
Daniel Hahler
06d9cc734b exists(): return false for empty env var #10657
Fixes https://github.com/neovim/neovim/issues/3266
close #10657
2019-08-09 23:42:03 +02:00
Daniel Hahler
e2d6e67bbc Merge pull request #10171 from blueyed/vim-8.1.1318
vim-patch:8.1.1318: code for text changes is in a "misc" file
2019-08-09 19:25:56 +02:00
Daniel Hahler
939d9053bd channels: reflect exit due to signals in exit status code (#10573)
Uses `128 + term_signal` in case of exit due to a signal.

Fixes https://github.com/neovim/neovim/issues/10571.
2019-08-09 15:34:06 +02:00
Justin M. Keyes
642e7daed5 Merge #9782 from janlazo/vim-8.1.0199
vim-patch:8.1.{199,200}
2019-08-09 12:00:47 +02:00
Daniel Hahler
480794146f f_spellbadword: set len=0 for non-found word
`len` is used with `list_append_string` later, and should reflect the
length of `word` (i.e. 0 when not setting word / breaking above).

Ref: neovim/neovim#9782 (comment)
2019-08-08 21:40:29 -04:00
Jan Edmund Lazo
18888c15fc vim-patch:8.1.0199: spellbadword() does not check for caps error
Problem:    spellbadword() does not check for caps error. (Dominique Pelle)
Solution:   Adjust capcol when advancing.
66ab916935
2019-08-08 21:31:20 -04:00
Daniel Hahler
0e3b9ea74d includes 2019-08-07 14:21:23 +02:00
erw7
d6f15ccc3c remove DYNAMIC_ICONV 2019-08-06 12:44:22 +09:00
Daniel Hahler
d55b12ea50 f_environ: cleanup/refactor
- use os_getenvname_at_index / os_getenv
- f_getenv: empty (*p == NUL) is not null (undefined)
2019-08-06 01:23:11 +02:00
Daniel Hahler
fd66ad2262 vim-patch:8.1.1305: there is no easy way to manipulate environment variables
Problem:    There is no easy way to manipulate environment variables.
Solution:   Add environ(), getenv() and setenv(). (Yasuhiro Matsumoto,
            closes vim/vim#2875)
691ddeefb5
2019-08-06 01:17:32 +02:00
Justin M. Keyes
2141dc2262 provider: check #Call() if g:loaded_xx_provider=2 2019-08-04 13:23:46 +02:00
Justin M. Keyes
5e6a08f2e6 provider: skip non-provider has() feature-names
We don't want to retry autoload sourcing (slow) for every random has()
query that finds it way to eval_call_provider().
2019-08-04 13:23:46 +02:00
Justin M. Keyes
241956720d provider: g:loaded_xx_provider=2 means "enabled and working"
Value of 1 cannot be used, because users might set that in their vimrc
to _disable_ a provider, which would confuse :checkhealth and has().
2019-08-04 13:23:46 +02:00
Justin M. Keyes
66938b928c provider: decide status by g:loaded_xx_provider 2019-08-04 13:23:46 +02:00
Rui Abreu Ferreira
2cfe4748e5 provider: let providers decide their status
Instead of deciding provider status in eval_has_provider, move the
decision to the provider Vim scripts.

Previously, provider loading worked as follows:

1. eval_has_provider() verified provider availability by searching for
   the provider#providername#Call function and cached this verificaion as a static
   variable for some providers
2. providers short-circuited on loading to prevent the definition of the
   Call function (with the exception of the node provider that did not)

This commit changes the expected interface between nvim and its
providers to facilitate provider reloading, by splitting the
verification of the provider from the availability of the Call function.

eval_has_provider() now checks for a provider#providername#enabled
variable. It is up to the provider script to set this to 0 or 1
accordingly. eval_call_provider() remains unchanged.

All providers hosting a Call function were updated to respect this.

The clipboard provider now has a Reload function to reload the
provider.
2019-08-04 13:23:46 +02:00
Justin M. Keyes
6e03f87e09 Merge #10615 'vim-patch:8.1.0053'
fix #10604
2019-07-29 20:43:44 +02:00
cangscop
ea14d8d493 vim-patch:8.1.0053 use typval_T in the caller of call_vim_function
Problem:	unreliable types for complete function arguments
Solution:	fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi)
vim/vim#2993
2019-07-29 19:56:02 +02:00
Bartosz Miera
16727dcf1e clang/"dead assignments" #10620
Also revert possibly-wrong change in f_sign_getplaced() from
652be3cb00.
2019-07-29 00:52:24 +02:00
Justin M. Keyes
4213492231 Merge #10643 from janlazo/vim-8.1.1765
vim-patch:8.1.{990,992,1765}
2019-07-29 00:34:47 +02:00
Ihor Antonov
00d915d021 PVS/V547: expression is always true/false #10640
Functions marked with FUNC_ATTR_NONNULL_RET do not return NULL.
Remove redundant checks.
2019-07-29 00:11:54 +02:00
Jan Edmund Lazo
b457a58e34 vim-patch:8.1.0990: floating point exception with "%= 0" and "/= 0"
Problem:    Floating point exception with "%= 0" and "/= 0".
Solution:   Avoid dividing by zero. (Dominique Pelle, closes vim/vim#4058)
e21c1580b7
2019-07-28 17:19:20 -04:00
Jan Edmund Lazo
98d389ce55 vim-patch:8.1.1765: get(func, dict, def) does not work properly
Problem:    get(func, dict, def) does not work properly.
Solution:   Handle NULL dict better. (Takuya Fujiwara, closes vim/vim#4734)
f91aac5e3e
2019-07-28 16:11:54 -04:00
Ihor Antonov
3b82c075b3 vim-patch:8.0.1753: fix various warnings #10639
vim-patch:8.0.1753: various warnings from a static analyser
Problem:    Various warnings from a static analyser
Solution:   Remove unneeded conditions.
1c17ffa461
2019-07-28 21:26:17 +02:00
Abdelhakeem
b6278bbf12 API: Context: save/restore 2019-07-27 22:14:58 +02:00
Abdelhakeem
691deca2e8 eval: context: add ctx-family functions 2019-07-27 16:36:56 +02:00
Justin M. Keyes
411a06c8b6 API: Context 2019-07-27 16:36:57 +02:00
cangscop
0364e47ccb vim-patch:8.1.53 use typval_T in the caller of call_vim_function
Problem:	unreliable types for complete function arguments
Solution:	fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi)
vim/vim#2993
2019-07-27 16:25:33 +02:00
Justin M. Keyes
2731080212 cleanup: remove mch_fopen in favor of os_fopen 2019-07-25 22:32:23 +02:00
Jan Edmund Lazo
2385039623 vim-patch:8.1.0899: no need to check restricted mode for setwinvar()
Problem:    No need to check restricted mode for setwinvar().
Solution:   Remove check_restricted().
e0fb7d1e38
2019-07-24 19:46:09 -04:00
Daniel Hahler
b8fcf62da9 vim-patch:8.1.1740: exepath() doesn't work for "bin/cat" (#10556)
Problem:    Exepath() doesn't work for "bin/cat".
Solution:   Check for any path separator. (Daniel Hahler, closes vim/vim#4724,
            closes vim/vim#4710)
d08b8c4c04

Fixes https://github.com/neovim/neovim/issues/10554.
2019-07-24 22:23:00 +02:00
Justin M. Keyes
1fde79eedf os_can_exe: remove char_u 2019-07-21 20:51:37 +02:00
Justin M. Keyes
b08dc3ec19 win: jobstart(), system(): $PATHEXT-resolve exe
Windows: In order for jobstart(['foo']), system(['foo']) to find
"foo.cmd", we must replace "foo" with "foo.cmd" before sending `argv` to
process_spawn().

Rationale: jobstart([…]), system([…]) "executable" semantics should be
consistent with the VimL executable() function.

fix #9569
related: #10554
2019-07-21 20:51:37 +02:00
Jan Edmund Lazo
7f66fdb54d [RFC]vim-patch:8.1.{749,1715} #10545
* vim-patch:8.1.1715: emoji characters are seen as word characters for spelling

Problem:    Emoji characters are seen as word characters for spelling. (Gautam
            Iyer)
Solution:   Exclude class 3 from word characters.
06e6377009

* vim-patch:8.1.0749: error message contains garbage

Problem:    Error message contains garbage. (Dominique Pelle)
Solution:   Use correct pointer to failed expression.
6acc79f5d4
2019-07-20 10:48:45 +02:00
Justin M. Keyes
f55c1e4233 reltimefloat(): allow negative result #10544
For "backwards" duration, reltimefloat() should return negative value
like its counterpart reltimestr().

ref bab24a88ab
ref 06af88cd72
ref #10521
fix #10452
2019-07-20 10:46:09 +02:00
Justin M. Keyes
afef973262 doc [ci skip] #10383
- test/README.md: document luassert `TableFormatLevel`
- CONTRIBUTING.md: absorb parts of the old "Development tips" wiki page
2019-07-19 21:32:04 +02:00