Commit Graph

10532 Commits

Author SHA1 Message Date
Jan Edmund Lazo
0a1807ea25 vim-patch:8.1.1870: using :pedit from a help file sets help filetype
Problem:    Using :pedit from a help file sets the preview window to help
            filetype. (Wang Shidong)
Solution:   Do not set "keep_help_flag". (closes vim/vim#3536)
026587b35c
2019-08-17 18:11:05 -04:00
Björn Linse
3397b8c51a ui: use Window type in win_pos consistently with win_float_pos
Also check invalid positional arguments to screen:expect()
2019-08-17 20:52:08 +02:00
erw7
cc903210c9 Fix test failure on Windows [skip travis] 2019-08-17 14:44:52 +09:00
erw7
44b3488db2 Change value of cpo [skip travis]
set cpo+=S was added because the test failed because the cpo value
was different from vim(See #10730).
2019-08-17 12:29:42 +09:00
erw7
737074c8bf Remove test52
Test52 does nothing on UNIX. And vim on Windows performs mbyte-conversion
between Unicode and code page using Windows API(See :h mbyte-conversion).
Test52 seems to be testing its functionality. In neovim, the conversion
function by Windows API has been removed. Therefore, there is no point
in doing this test.
2019-08-17 12:29:09 +09:00
erw7
861a7604d4 Change test execution conditions
Since neovim needs iconv to process cp932, it changes the test execution
condition.
2019-08-17 12:29:09 +09:00
erw7
619f136075 Add target fixff to testdir/Makefile
In Windows, since conversion of the line feed code is necessary, porting
fixff target from Make_mingw.mak of vim.
2019-08-17 12:29:09 +09:00
erw7
505d5fb960 Fix get_path_cutoff() on Windows
Fix an issue where the result of get_path cutoff() was incorrect when
using set shellslash.
2019-08-17 12:29:09 +09:00
erw7
d7b642cadb Remove code that is no longer needed by set shellslash 2019-08-17 12:29:09 +09:00
erw7
03bba32565 Change to set shellslash to test under same conditions as vim 2019-08-17 12:29:09 +09:00
Jan Edmund Lazo
ae95a62675 vim-patch:8.1.1860: map timeout test is flaky
Problem:    Map timeout test is flaky.
Solution:   Add test to list of flaky tests.  Increase timeout.
ea94c85516
2019-08-16 21:23:25 -04:00
Jan Edmund Lazo
0455af00e6 vim-patch:8.1.1858: test for multi-byte mapping fails on some systems
Problem:    Test for multi-byte mapping fails on some systems.
Solution:   Test in another way.
2f710afe7f
2019-08-16 21:21:58 -04:00
Jan Edmund Lazo
4aa3473b88 vim-patch:8.1.1857: cannot use modifier with multi-byte character
Problem:    Cannot use modifier with multi-byte character.
Solution:   Allow using a multi-byte character, although it doesn't work
            everywhere.
c8fd33d18b
2019-08-16 21:20:34 -04:00
Jan Edmund Lazo
e56f62e9a7 vim-patch:8.1.1854: now another timer test is flaky #10791
Problem:    Now another timer test is flaky.
Solution:   Add test to list of flaky tests.
973d5304a4
2019-08-16 22:06:58 +02:00
Björn Linse
6fe2d24cef keymap: allow modifiers to multibyte chars, like <m-ä> 2019-08-16 19:54:34 +02:00
Justin M. Keyes
1f5eac1115 Merge #10785 from bfredl/tui_start
TUI: do not use "starting" global mutated by main thread
2019-08-16 10:23:05 +02:00
Jan Edmund Lazo
66528f2475 vim-patch:8.1.1852: timers test is flaky #10788
Problem:    Timers test is flaky.
Solution:   Accept a larger count.  Add test to list of flaky tests.
7e6feb9eeb
2019-08-16 10:11:03 +02:00
Daniel Hahler
1852dfdf9a Merge pull request #10784 from blueyed/improve-version-compile-flags
Improve compile options/definitions with sanitizer builds (for --version).
2019-08-15 22:06:56 +02:00
Daniel Hahler
e79ea696a2 Remove TSan suppression config [skip appveyor] 2019-08-15 21:58:51 +02:00
Daniel Hahler
abfc8b3257 emsg_multiline: log Vim errors (#10778) 2019-08-15 20:18:09 +02:00
Björn Linse
8109690530 TUI: do not use "starting" global mutated by main thread 2019-08-15 19:50:13 +02:00
Daniel Hahler
18fb4dcbf9 src/nvim/CMakeLists.txt: use compile options/definitions
This includes `-fsanitize=thread` etc in the output of `--version`.
2019-08-15 19:44:00 +02:00
Justin M. Keyes
975be7e5dc build/win: fix warnings
../src/nvim/os/fs.c: In function 'os_can_exe':
  ../src/nvim/os/fs.c:247:27: warning: passing argument 1 of 'is_executable_ext' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    247 |     if (is_executable_ext(name, abspath)) {
        |                           ^~~~
  In file included from ../src/nvim/os/fs.c:36:
  src/nvim/auto/os/fs.c.generated.h:7:38: note: expected 'char *' but argument is of type 'const char *'
      7 | static _Bool is_executable_ext(char *name, char **abspath) FUNC_ATTR_NONNULL_ARG(1);
        |                                ~~~~~~^~~~
  ../src/nvim/os/fs.c: In function 'os_resolve_shortcut':
  ../src/nvim/os/fs.c:1183:56: warning: conversion from 'size_t' {aka 'const long long unsigned int'} to 'int' may change value [-Wconversion]
   1183 |     const int conversion_result = utf8_to_utf16(fname, len, &p);
        |                                                        ^~~
  ../src/nvim/os/fs.c:1211:19: warning: declaration of 'conversion_result' shadows a previous local [-Wshadow]
   1211 |         const int conversion_result = utf16_to_utf8(wsz, -1, &rfname);
        |                   ^~~~~~~~~~~~~~~~~
  ../src/nvim/os/fs.c:1183:15: note: shadowed declaration is here
   1183 |     const int conversion_result = utf8_to_utf16(fname, len, &p);
        |               ^~~~~~~~~~~~~~~~~
2019-08-15 00:28:41 +02:00
Justin M. Keyes
c9a0875ea8 os/: remove redundant define 2019-08-15 00:28:41 +02:00
Justin M. Keyes
07cc72ad5d utf16_to_utf8: align with libuv
- take a size parameter
- return libuv error code
- handle error in caller only (avoid redundant messages)

53995a3825
4c945f4936
2019-08-15 00:28:41 +02:00
Justin M. Keyes
8727f7a6a4 utf8_to_utf16: align with libuv
- take a size parameter
- always NUL-terminate the result
- return libuv error code
- handle error in caller only (avoid redundant messages)

53995a3825
4c945f4936
2019-08-15 00:28:41 +02:00
Björn Linse
7d92c391a1 Merge pull request #10774 from bfredl/miminal_fdc
api: nvim_win_open() style="minimal" should disable 'foldcolumn'
2019-08-14 23:54:08 +02:00
Daniel Hahler
9bf3fab60b Merge pull request #10779 from blueyed/ci-homebrew-no-update
ci: fix Travis
2019-08-14 23:21:41 +02:00
Daniel Hahler
ae31de32ee build: TSan: add src/.tsan-suppressions
Uses runtime suppressions instead of a blacklist, which can only ignore
whole files/functions.

Ref: https://github.com/google/sanitizers/wiki/ThreadSanitizerSuppressions
Ref: https://github.com/neovim/neovim/pull/10591#issuecomment-521248233
2019-08-14 23:17:53 +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
Ihor Antonov
ebcb9adcc4 clang/"null pointer dereference" #10776
assert(curbuf) in ins_compl_get_exp
2019-08-14 20:50:30 +02:00
Daniel Hahler
5cc45bb419 ci: Travis: check logs for TSan also (#10775)
Uses `cat -A` with early "*San" check:
This prints terminal escape sequences as-is (for debugging), and does
not cause (display) issues with the Travis log.

Ref: https://github.com/neovim/neovim/pull/10591#issuecomment-521248233
2019-08-14 18:27:08 +02:00
Björn Linse
f9f238b21a api: nvim_win_open() style="minimal" should disable 'foldcolumn' 2019-08-14 14:49:27 +02:00
Björn Linse
ba0aaf012a compositor: handle invalid screen positions after resize gracefully
The screen resize logic needs to be refactored to be simpler and more
deterministic. Until then, we need to handle attempts to draw outside of the
screen size gracefully, just like the old vim code did.

fixes #9989
2019-08-14 13:11:20 +02:00
Justin M. Keyes
5ad67af3c1 Merge #10763 from justinmk/startup-guicursor
startup: handle 'guicursor' after user config
2019-08-14 11:28:39 +02:00
Daniel Hahler
7668f04392 tests: include timer_start in duration #10772
This should not make much of a difference, but increases the timeout
when `load_factor` is used slightly.
2019-08-14 08:59:06 +02:00
mg979
a690bf8116 mksession: use exists(':tcd'), not has('nvim') #10770
Since recent vim versions also support :tcd, check for the actual
availability of the command, rather than has('nvim').
2019-08-14 08:45:54 +02:00
Daniel Hahler
c285ebfa73 vim-patch:8.1.0456: running test hangs when the input file is being edited (#10764)
Problem:    Running test hangs when the input file is being edited.
Solution:   Use a SwapExists autocommand to ignore editing the test script.
d8f27b30d6
2019-08-14 01:56:59 +02:00
Justin M. Keyes
02c52a18f5 style 2019-08-13 22:22:47 +02:00
Justin M. Keyes
cbfd18c85a startup: handle 'guicursor' after user config
If parse_shape_opt() is done before user config, the TUI may cause
unwanted changes to the terminal cursor which cannot later be undone
(see #4396).

fix #10750
2019-08-13 22:19:00 +02:00
Daniel Hahler
db41d02e48 vim-patch:8.1.1842: test listed as flaky should no longer be flaky
Problem:    Test listed as flaky should no longer be flaky.
Solution:   Remove Test_popup_and_window_resize from the list of flaky tests.
            (Daniel Hahler, close vim/vim#4807)
9570aacdb8
2019-08-13 22:15:54 +02:00
Daniel Hahler
4e6c596431 vim-patch:8.0.1179: Test_popup_and_window_resize() does not always pass
Problem:    Test_popup_and_window_resize() does not always pass.
Solution:   Do not use $VIMPROG, pass the Vim executable in the vimcmd file.
            (Ozaki Kiichi, closes vim/vim#2186)
631820536e

vim-patch:8.0.1526: no test using a screen dump yet

Problem:    No test using a screen dump yet.
Solution:   Add a test for C syntax highlighting.  Add helper functions.
da65058a9c

NOTE: uses modified `GetVimProg()` (which is used with skipped tests only
(mostly because of `!has('terminal')`)).

Vim uses a 'vimcmd' file, while Nvim uses `$NVIM_TEST_ARGX` environment
variables.

Ref: https://github.com/vim/vim/pull/4806
2019-08-13 22:15:54 +02:00
Ihor Antonov
947bd293c9 clang/"null pointer dereference" #10755 2019-08-13 20:52:25 +02:00
Jan Edmund Lazo
5e1acd412b vim-patch:8.1.1843: might be freeing memory that was not allocated (#10756)
Problem:    Might be freeing memory that was not allocated.
Solution:   Have next_fenc() set the fenc_alloced flag. (closes vim/vim#4804)
f077db2423
2019-08-13 16:46:26 +02:00
Daniel Hahler
90e44ecf11 build: link libraries by full path (for luv.so) (#10661)
Use "luv" as imported library to work around "-lluv" being used due to
missing SONAME.

Fixes https://github.com/neovim/neovim/issues/10407.
Ref: https://gitlab.kitware.com/cmake/cmake/issues/19578
Ref: https://github.com/NixOS/nixpkgs/issues/64400#issuecomment-516557253
2019-08-12 18:22:02 +02:00
Daniel Hahler
a336a05e7e testdir/test_popup.vim: sync/align with Vim (#10751) 2019-08-12 17:10:48 +02:00
Ghjuvan Lacambre
2037028b50 ex_getln.c: fix compute_cmdrow() not resetting lines_left (#10749)
Before this commit, when `inccomand` was set to `nosplit`, multi-line
substitutions collapsed the command-line.

This happened because when ex_getln.c:cursorcmd() computed a msg_row, it
was given a cmdline_row one line too high. This happened because
message.c:msg_puts_display() was supposed to decrement cmdline_row but
didn't, because of the `msg_no_more && lines_left == 0` check placed
just before the decrementation part in msg_puts_display's while loop.

Every time msg_puts_display writes a line, it decreases `lines_left` (a
variable used to know how many lines are left for prompts). Since
redrawcommandline() did not reset `lines_left` between calls to
msg_puts_display, every time a character was pressed, `lines_left` was
decremented. This meant that once the user pressed COLUMNS+ROWS numbers
of characters, `lines_left` would reach 0 and prevent msg_row from being
decremented.

It makes sense to fix setting `lines_left` to `cmdline_row` in
`compute_cmdrow` ; after all, computing where the command line row
should be placed is equivalent to computing how many `lines_left` of
output there are left.

Closes #8254.
2019-08-12 14:21:15 +02:00
Justin M. Keyes
ad4eb18e43 Merge #10098 'win: fix msg_puts_printf()' 2019-08-12 02:42:13 +02:00
Justin M. Keyes
71378a4030 free_buffer: rework b:changedtick handling #9163
- Re-enable Test_BufLeave_Wipe. 66f5e5c7d7

This is my (probably-wrong) application of Zyx's suggestion in #9163:

> free_buffer_stuff() already removes changedtick. It is better to
> make `free_options` a flag variable and avoid calling
> buf_init_changedtick() based on some flag there: current workflow
> looks weird as it first removes `b:changedtick`, then re-adds it
> by calling buf_init_changedtick(), then remove again.

> Also based on my understanding it looks logical to not remove
> `b:changedtick`, but to *replace* it with something allocated if
> needed based on examining reference count before calling
> `unref_var_dict`. Because now you have key disappearing from
> dictionary for no good reason.

Patch-By: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
2019-08-12 02:17:49 +02:00
Justin M. Keyes
feee862064 vim-patch:8.0.1193: crash when wiping buffer after getbufinfo()
Problem:    Crash when wiping out a buffer after using getbufinfo().
            (Yegappan Lakshmanan)
Solution:   Remove b:changedtick from the buffer variables.

(Note: The test changes in vim-patch:8.0.1193 were already included.)
2019-08-12 02:17:49 +02:00