Commit Graph

12852 Commits

Author SHA1 Message Date
Ihor Antonov
cfa2759df6 PVS/V560: expression is always false/true #10623 2019-07-28 17:58:24 +02:00
Daniel Hahler
05fa1cb3f4 src/clint.py: flake8 fixes [ci skip] (#10631) 2019-07-28 11:48:24 +02:00
Justin M. Keyes
b5c44b66eb Merge #10628 from notomo/vim-8.1.1759 2019-07-28 11:15:30 +02:00
Ihor Antonov
e0f2c36667 PVS/V560: condition is always true #10630
earlier condition leads to short-circuit of the loop
2019-07-28 11:08:41 +02:00
Ihor Antonov
ce59a70f5b PVS/V560: condition is always true #10624
* before changed line status variable is set to RA_FAIL in 2 places
line 3816 and 3826, both lead to short-circuit of the loop, making
comparing it to RA_FAIL useless

close #10624
2019-07-28 10:59:44 +02:00
Ihor Antonov
5b47ee5b7a pvs/V560: part of conditional expression is always true (#10629)
Since timed_out is pointer to int  condition timed_out != NULL && timed_out makes no sense as both are effectively the same thing. Most likely the first check was meant to guard the dereference of the second.
Wrong import of Vim patch (8.0.0643).
2019-07-28 05:16:14 +02:00
notomo
32a6b5601b Fix clint error 2019-07-28 09:22:46 +09:00
notomo
08c7e206cc vim-patch:8.1.1759: no mode char for terminal mapping from maparg()
Problem:    No mode char for terminal mapping from maparg().
Solution:   Check for TERMINAL mode. (closes vim/vim#4735)
14371ed697
2019-07-28 08:00:52 +09:00
cangscop
dedcd3ad1e 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-28 00:19:41 +02:00
Daniel Hahler
7f5a113f65 vim-patch:8.1.1748: :args output is not aligned (#10625)
Problem:    :args output is not aligned.
Solution:   Output a line break after the last item in a row.
74da39373c

vim-patch:8.1.1750: depending on the terminal width :version may miss a line break

Problem:    Depending on the terminal width :version may miss a line break.
Solution:   Add a line break when needed.
8a5c29aee9

vim-patch:8.1.1760: extra line break for wrapping output of :args

Problem:    Extra line break for wrapping output of :args.
Solution:   Avoid the extra line break. (Daniel Hahler, closes vim/vim#4737)
9800bfe0fc
2019-07-27 23:48:32 +02:00
Justin M. Keyes
8e6b0a73c9 Merge #10619 'API: context' 2019-07-27 22:56:05 +02:00
Abdelhakeem
b6278bbf12 API: Context: save/restore 2019-07-27 22:14:58 +02:00
Jan Edmund Lazo
0e23ee3cc7 vim-patch:8.1.0956: context:0 in 'diffopt' #10622
Problem:    Using context:0 in 'diffopt' does not work well.
Solution:   Make zero context do the same as one line context. (closes vim/vim#4005)
b9ddda6c2d
2019-07-27 20:33:33 +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
Daniel Hahler
709e87792f tests: test_arglist.vim: align with Vim [ci skip] (#10612)
This just moves the test to where it is in Vim.
2019-07-27 01:47:12 +02:00
Justin M. Keyes
af01b347d8 Merge #10606 'vim-patch:8.1.0404' 2019-07-27 01:33:58 +02:00
Jan Edmund Lazo
2b731a388a vim-patch:8.1.1747: unused variables #10605
Problem:    Compiler warning for unused variables. (Tony Mechelynck)
Solution:   Add #ifdef.
fbfb757d4c
2019-07-26 11:21:44 +02:00
Jan Edmund Lazo
0fb05b2c7d Revert "vim-patch:8.1.0430: Xargadd file left behind after running test"
This reverts commit ce1b4f95fe.
2019-07-26 05:19:05 -04:00
Jan Edmund Lazo
cbda383efe vim-patch:8.1.0404: accessing invalid memory with long argument name
Problem:    Accessing invalid memory with long argument name.
Solution:   Use item_count instead of checking for a terminating NULL.
            (Dominique Pelle, closes vim/vim#3444)
e961cba3cb
2019-07-26 05:19:05 -04:00
Justin M. Keyes
2731080212 cleanup: remove mch_fopen in favor of os_fopen 2019-07-25 22:32:23 +02:00
Justin M. Keyes
bb3a0099c6 os/fs: introduce os_fopen()
Windows: Using fopen() directly may need UTF-16 filepath conversion. To
achieve that, os_fopen() goes through os_open().

fix #10586
2019-07-25 22:32:23 +02:00
Ihor Antonov
8a9c9a9963 PVS/V768: do use enum as bool #10582
Fix win_draw_end invocation, pass HLF symbol explicitly.
2019-07-25 21:57:58 +02:00
Jan Edmund Lazo
0925afcfcf regexp: add function attributes 2019-07-25 03:34:26 -04:00
Jan Edmund Lazo
98fcf66b7a vim-patch:8.1.0913: CI crashes when running out of memory
Problem:    CI crashes when running out of memory.
Solution:   Apply 'maxmempattern' also to new regexp engine.
688b3983d8
2019-07-25 03:02:22 -04:00
Jan Edmund Lazo
52488ea6fb vim-patch:8.1.0910: crash with tricky search pattern
Problem:    Crash with tricky search pattern. (Kuang-che Wu)
Solution:   Check for runnning out of memory. (closes vim/vim#3950)
15bbd6ec87
2019-07-25 02:39:24 -04:00
Jan Edmund Lazo
fb059a1741 vim-patch:8.1.0907: CI tests on AppVeyor are failing
Problem:    CI tests on AppVeyor are failing.
Solution:   Reduce the recursiveness limit for regexp.
5382f12c91
2019-07-25 02:21:32 -04:00
Jan Edmund Lazo
a77e5b3606 vim-patch:8.1.0905: complicated regexp causes a crash
Problem:    Complicated regexp causes a crash. (Kuang-che Wu)
Solution:   Limit the recursiveness of addstate(). (closes vim/vim#3941)
5567ad48b6
2019-07-25 02:04:32 -04:00
Jan Edmund Lazo
8e490b98cc regexp: use fixed types to avoid overflow 2019-07-24 21:50:16 -04:00
Gabriel
33ce6a7f62 Checks for overflow when parsing string to int 2019-07-24 21:43:04 -04:00
Jan Edmund Lazo
43f4e5d5be vim-patch:8.1.0908: can't handle large value for %{nr}v in regexp
Problem:    Can't handle large value for %{nr}v in regexp. (Kuang-che Wu)
Solution:   Give an error if the value is too large. (closes vim/vim#3948)
9403a2168d
2019-07-24 21:43:04 -04:00
Jan Edmund Lazo
9ea449085d vim-patch:8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Problem:    ":dl" is seen as ":dlist" instead of ":delete".
Solution:   Do not use cmdidxs2[] if the length is 1. (closes vim/vim#4721)
94f82cbacf
2019-07-24 21:43:04 -04:00
Jan Edmund Lazo
80487b59c9 vim-patch:8.1.0903: struct uses more bytes than needed
Problem:    Struct uses more bytes than needed.
Solution:   Reorder members of regitem_S. (Dominique Pelle, closes vim/vim#3936)
beb7574d6b
2019-07-24 19:46:09 -04: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
Daniel Hahler
3566267e75 vim-patch:8.1.1738: testing lambda with timer is slow (#10590)
Problem:    Testing lambda with timer is slow.
Solution:   Do not test timer accuracy, only that it works. (Daniel Hahler,
            closes vim/vim#4723)
9bc4dde45d
2019-07-24 19:47:41 +02:00
Jan Edmund Lazo
06547cdfc0 sign: REMOVE FEAT_SIGN_ICONS, dead code #10595 2019-07-24 12:17:53 +02:00
Daniel Hahler
733e1a0e73 vim-patch:8.1.1737: :args command that outputs one line gives more prompt
Problem:    :args command that outputs one line gives more prompt.
Solution:   Only output line break if needed. (Daniel Hahler, closes vim/vim#4715)
949f1989cb

Closes https://github.com/neovim/neovim/pull/10147.
2019-07-24 06:14:12 +02:00
Daniel Hahler
e134cc9d4a vim-patch:8.0.1738: ":args" output is hard to read
Problem:    ":args" output is hard to read.
Solution:   Make columns with the names if the output is more than one line.
5d69da462f

vim-patch:8.0.1740: warning for signed-unsigned incompatibility

Problem:    Warning for signed-unsigned incompatibility.
Solution:   Change type from "char *" to "char_u *". (John Marriott)
405dadb63e

Removes ported legacy test that was re-added later.
Ref: https://github.com/neovim/neovim/pull/10147#issuecomment-512609513
2019-07-24 06:09:28 +02:00
erw7
465a0a3c09 env: invalid pointer after os_setenv() #10558 2019-07-23 11:45:38 +02:00
erw7
f6e779d939 win/TUI: workaround libuv LF => CRLF conversion #10558
Replace cud1 with \x1b[B because \n is CRLF on Windows (due to libuv).

fix #9461
2019-07-23 11:45:38 +02:00
Jan Edmund Lazo
0d5f629208 Revert "vim-patch:8.0.1723: using one item array size declaration is misleading" (#10583)
This reverts commit 315076a26d.
2019-07-23 05:37:20 +02:00
Ihor Antonov
324dc0dbc0 PVS/V1019: "readability" warning #10566 2019-07-22 19:45:59 +02:00
ddcien
184b87ee31 build: fix gcc warnings #10568
gcc version 8.3.0 (Debian 8.3.0-6)

    ../src/nvim/ex_docmd.c: In function ‘commands_array’:
    ../src/nvim/ex_docmd.c:10192:36: warning: ‘%ld’ directive output may be truncated writing between 1 and 19 bytes into a region of size 10 [-Wformat-truncation=]
             snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
                                        ^~~
    ../src/nvim/ex_docmd.c:10192:37: note: format string is defined here
             snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
    ../src/nvim/ex_docmd.c:10192:36: note: directive argument in the range [0, 9223372036854775807]
             snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
                                        ^~~
    ../src/nvim/ex_docmd.c:10192:9: note: ‘snprintf’ output between 2 and 20 bytes into a destination of size 10
             snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../src/nvim/ex_docmd.c:10205:36: warning: ‘%ld’ directive output may be truncated writing between 1 and 19 bytes into a region of size 10 [-Wformat-truncation=]
             snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
                                        ^~~
    ../src/nvim/ex_docmd.c:10205:37: note: format string is defined here
             snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
    ../src/nvim/ex_docmd.c:10205:36: note: directive argument in the range [0, 9223372036854775807]
             snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
                                        ^~~
    ../src/nvim/ex_docmd.c:10205:9: note: ‘snprintf’ output between 2 and 20 bytes into a destination of size 10
             snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../src/nvim/spell.c: In function ‘did_set_spelllang’:
    ../src/nvim/spell.c:1631:61: warning: ‘%s’ directive output may be truncated writing up to 254 bytes into a region of size 84 [-Wformat-truncation=]
                    "autocmd VimEnter * call spellfile#LoadFile('%s')|set spell",
                                                                 ^~
    ../src/nvim/spell.c:2063:25:
             spell_load_lang(lang);
                             ~~~~                                 
    ../src/nvim/spell.c:1630:7: note: ‘snprintf’ output between 57 and 311 bytes into a destination of size 128
           snprintf(autocmd_buf, sizeof(autocmd_buf),
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    "autocmd VimEnter * call spellfile#LoadFile('%s')|set spell",
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    lang);
                    ~~~~~
    ../src/nvim/window.c: In function ‘win_rotate’:
    ../src/nvim/window.c:1780:22: warning: ‘wp2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       wp2->w_pos_changed = true;
                          ^
    ../src/nvim/window.c:1779:22: warning: ‘wp1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       wp1->w_pos_changed = true;
2019-07-22 12:38:14 +02:00
Jan Edmund Lazo
39549159fe vim-patch:8.1.0706: introduce :redrawtabline #10570
Problem:    Tabline is not always redrawn when something that is used in
            'tabline' changes.
Solution:   Add ":redrawtabline" so that a plugin can at least cause the
            redraw when needed.
e12bab3144
2019-07-22 12:25:07 +02:00
Jan Edmund Lazo
8d66b6091b vim-patch:8.1.1724: too much overhead checking for CTRL-C #10564
Problem:    Too much overhead checking for CTRL-C while processing text.
Solution:   Increase BREAKCHECK_SKIP.  Remove the difference for when built
            with the GUI. (suggested by Andy Massimino, closes vim/vim#4708)
b4fe0eb4b4
2019-07-21 23:30:56 +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
a63b95b315 move: assert nonnull wp pointer 2019-07-20 19:51:32 -04:00