Commit Graph

14334 Commits

Author SHA1 Message Date
Justin M. Keyes 81c3fa6c9d doc 2019-09-09 09:53:19 -07:00
Justin M. Keyes 05c668f684
paste: fix normal-mode paste by different approach #10976
Forcing insert-mode after the first paste-chunk seems to work, as an
alternative to a9e2bae0eb (insert-before-cursor).

NB: Dot-repeat needs to match the original action.  Since a9e2bae0eb
changed paste to insert-before-cursor, dot-repeat must also. But that
makes dot-repeat unpleasant/unusual.
2019-09-09 08:29:49 -07:00
Justin M. Keyes 9e0ce1a158 Merge #10973 'vim-patch:8.1.1197' 2019-09-08 20:58:36 -07:00
Jan Edmund Lazo 8dde9b58e5
vim-patch:8.1.1197: when starting with multiple tabs file messages is confusing
Problem:    When starting with multiple tabs file messages is confusing.
Solution:   Set 'shortmess' when loading the other tabs. (Christian Brabandt)
c75e812623
2019-09-08 23:16:54 -04:00
Justin M. Keyes 74c362cec0
Merge #10975 'paste: fix various bugs' 2019-09-08 18:40:46 -07:00
Justin M. Keyes a9e2bae0eb paste: insert before cursor always
Inserting "after" the cursor in Normal-mode, for big paste-streams, is
not reliable: sometimes the text "after" the cursor ends up in the
middle of the pasted text.  Maybe the cursor position is not updated?

To avoid weird behavior, always paste "before".  Maybe nvim_put() or
vim.paste() can be fixed more properly later.
2019-09-08 16:42:11 -07:00
Justin M. Keyes acd2729573 paste: do not clobber msg area for small pastes 2019-09-08 15:37:32 -07:00
Justin M. Keyes 0dea44f93c paste/cmdline: discard all chunks after first line
Problem:  If multiple paste "chunks" are streamed, chunks after the
          first line are pasted into the buffer.
Solution: Check for cmdline-mode for all chunks in a paste-stream.
2019-09-08 15:37:32 -07:00
Justin M. Keyes ccd947ca4a
vim-patch:8.0.0970: passing invalid highlight id #10972
(We don't implement StatusLineTerm{NC}, but this patch seems generally relevant.)

Problem:    if there is no StatusLine highlighting and there is StatusLineNC
            or StatusLineTermNC highlighting then an invalid highlight id is
            passed to combine_stl_hlt(). (Coverity)
Solution:   Check id_S to be -1 instead of zero.
d6a7b3e6bb
2019-09-08 15:10:18 -07:00
Justin M. Keyes d91f4cd7d0
paste: reset 'paste' option immediately #10974
- Workaround #10966: 'paste' option is not always reset.
- In any case there's not much reason to wait until phase=3, because
  pasting in cmdline-mode skips lines after the first line (thus the
  `:set paste .. :set nopaste` dance happens only ~once).
2019-09-08 14:58:47 -07:00
Björn Linse 77a93957d3
Merge pull request #10777 from glacambre/fix_10042
ex_getln.c: fix <S-Tab> not triggering Pmenu when wildoptions=pum
2019-09-08 22:42:24 +02:00
Jan Edmund Lazo 554566ccea vim-patch:8.1.2007: no test for what 8.1.1926 fixes #10970
Problem:    No test for what 8.1.1926 fixes.
Solution:   Add a test case.
fca068b977
2019-09-08 12:22:55 -07:00
glacambre 958ca938b4 ex_getln.c: fix <S-Tab> not triggering pum when wildoptions=pum (#10042)
Some of the logic that was present for <Tab> was missing from <S-Tab>.

Closes https://github.com/neovim/neovim/issues/10042.
2019-09-08 20:47:22 +02:00
Björn Linse 288526ae73
Merge pull request #10475 from erw7/fix-ext-popupmenu
Fix some keys not working in ext_popupmenu
2019-09-08 20:42:32 +02:00
Björn Linse 83632022f8
Merge pull request #10959 from bfredl/resizequeue
fix crash on :!tmux split, redraw after resize in pager
2019-09-08 16:50:45 +02:00
Björn Linse c705e3fb0b update tests for new resize behavior (resize at pager, but not at :!cmd) 2019-09-08 15:24:14 +02:00
Björn Linse 19993bca4a rpc: allow handling of nvim_ui_try_resize at the pager
This makes external UI behave consistenly with TUI w.r.t resizes.
Which will be needed anyway as TUI will use the external UI protocol
soon.
2019-09-08 15:24:14 +02:00
Björn Linse bf9ff5148a messages: redraw after resize in pager
note: does not "return" space at the bottom to the caller
2019-09-08 15:24:14 +02:00
Björn Linse f72c7b0b3a messages: batch draw :map 2019-09-08 15:24:14 +02:00
Björn Linse e6b7613e89 refactor: allow us to process a child queue only while waiting on input 2019-09-08 15:24:14 +02:00
Daniel Hahler fa90f6cdaa tests: fix flaky "TUI FocusGained/FocusLost in terminal-mode" #10754
* longer timeout with first expect
* Wait for :term to be ready

Failure seen on quickbuild (note the "retry() attempts: 1"):

    09:41:07,627  INFO  - # test/functional/terminal/tui_spec.lua @ 437: TUI FocusGained/FocusLost in terminal-mode
    09:41:07,627  INFO  - not ok 2976 - TUI FocusGained/FocusLost in terminal-mode
    09:41:07,627  INFO  - # test/functional/terminal/tui_spec.lua @ 437
    09:41:07,627  INFO  - # Failure message: ./test/functional/helpers.lua:403:
    09:41:07,627  INFO  - # retry() attempts: 1
    09:41:07,627  INFO  - # ./test/functional/ui/screen.lua:579: Row 1 did not match.
    09:41:07,627  INFO  - # Expected:
    09:41:07,627  INFO  - # |*{1:r}eady $ |
    09:41:07,627  INFO  - # |[Process exited 0] |
    09:41:07,627  INFO  - # | |
    09:41:07,627  INFO  - # | |
    09:41:07,627  INFO  - # | |
    09:41:07,627  INFO  - # |gained |
    09:41:07,628  INFO  - # |{3:-- TERMINAL --} |
    09:41:07,628  INFO  - # Actual:
    09:41:07,628  INFO  - # |*{1: } |
    09:41:07,628  INFO  - # |{4:~ }|
    09:41:07,628  INFO  - # |{4:~ }|
    09:41:07,628  INFO  - # |{4:~ }|
    09:41:07,628  INFO  - # |{5:[No Name] }|
    09:41:07,628  INFO  - # | |
    09:41:07,628  INFO  - # |{3:-- TERMINAL --} |
    09:41:07,628  INFO  - #
    09:41:07,628  INFO  - # To print the expect() call that would assert the current screen state, use
    09:41:07,628  INFO  - # screen:snapshot_util(). In case of non-deterministic failures, use
    09:41:07,628  INFO  - # screen:redraw_debug() to show all intermediate screen states.
    09:41:07,628  INFO  - # stack traceback:
    09:41:07,628  INFO  - #     ./test/functional/helpers.lua:403: in function 'retry'
    09:41:07,628  INFO  - #     test/functional/terminal/tui_spec.lua:441: in function <test/functional/terminal/tui_spec.lua:437>
2019-09-07 22:40:38 -07:00
erw7 55b1126a22 Add nvim_ui_pum_set_height to api 2019-09-08 12:25:49 +09:00
Justin M. Keyes 3dbd94dafa
Merge #10963 from janlazo/vim-8.1.1988
vim-patch:8.0.1550,8.1.{1716,1988}
2019-09-07 19:28:15 -07:00
Justin M. Keyes dd7355358e
Merge #10962 from justinmk/vim-088e8e344352
vim-patch: runtime updates
2019-09-07 19:22:33 -07:00
Abdelhakeem Osama 6692c0958f shada: initialize jumplist before search pattern (#10964)
Since 8b8ecf4, the shada module loads files in the jumplist to properly
clear duplicates. This can trigger some autocommands, which in turn
saves and restores search and substitute patterns, freeing the previous
strings in "spats" which are held in "wms" as well (heap-use-after-free).
To avoid this, initialize the jumplist in "wms" before search patterns.
2019-09-07 18:02:29 -07:00
Jan Edmund Lazo 15459f9255
vim-patch:8.1.1716: old style comments are wasting space
Problem:    Old style comments are wasting space
Solution:   Use new style comments in option header file.
ab0a789808
2019-09-07 13:09:15 -04:00
Jan Edmund Lazo 4add2f4f89
vim-patch:8.0.1550: various small problems in source files
Problem:    Various small problems in source files.
Solution:   Fix the problems.
792f0e3659
2019-09-07 10:35:09 -04:00
Jan Edmund Lazo a96b3677c6
vim-patch:8.1.1988: :startinsert! does not work the same way as "A"
Problem:    :startinsert! does not work the same way as "A".
Solution:   Use the same code to move the cursor. (closes vim/vim#4896)
8d3b51084a
2019-09-06 23:27:14 -04:00
Justin M. Keyes 8f2557ad19 vim-patch:06fe74aef726
Runtime files update.
06fe74aef7
2019-09-06 18:44:52 -07:00
Justin M. Keyes 0430a1ba88 vim-patch:56c860c315c5
Update runtime files.
56c860c315
2019-09-06 18:35:06 -07:00
Justin M. Keyes c044ea0909 vim-patch:088e8e344352
Update runtime files.
088e8e3443
2019-09-06 18:30:35 -07:00
Justin M. Keyes 158b78062e
Merge #10932 'test: Eliminate expect_err' 2019-09-06 18:16:57 -07:00
Justin M. Keyes 7e1c959861 test: Eliminate expect_err
Eliminate `expect_err` in favor of `pcall_err` + `eq` or `matches`.
2019-09-06 17:19:07 -07:00
Justin M. Keyes af946046b9 test: Rename meth_pcall to pcall_err
- Rename `meth_pcall`.
- Make `pcall_err` raise an error if the function does not fail.
- Add `vim.pesc()` to treat a string as literal where a Lua pattern is
  expected.
2019-09-06 17:19:07 -07:00
Jean Mertz 638f2b6dee termdebug.vim: use style=minimal in popups #10904
- line numbers weren't hidden (which means the variable is cut off, as the number column isn't considered when calculating the width of the float).
- spurious duplicate line to disable signcolumn, and nonumber was indeed missed when porting the original implementation to Neovim.
2019-09-06 14:48:03 -07:00
Marvim the Paranoid Android 1f119d4153 version.c: update [ci skip] #10942
vim-patch:8.0.0396: 'balloonexpr' only works synchronously
vim-patch:8.0.0932: terminal may not use right characters for BS and Enter
vim-patch-8.0.0934: change to struts.h missing in patch
vim-patch:8.0.0956: scrolling in a terminal window has flicker
vim-patch:8.0.0976: cannot send lines to a terminal job
vim-patch:8.0.1002: unnecessarily updating screen after timer callback
vim-patch:8.0.1096: terminal window in Normal mode has wrong background
vim-patch:8.0.1097: background color wrong if job changes background color
vim-patch:8.0.1102: terminal window does not use Normal colors
vim-patch:8.0.1293: setting a breakpoint in the terminal debugger sometimes fails
vim-patch:8.0.1309: cannot use 'balloonexpr' in a terminal
vim-patch:8.0.1312: balloon_show() only works in terminal when compiled with GUI
vim-patch:8.0.1318: terminal balloon only shows one line
vim-patch:8.0.1320: popup test fails on GUI-only build
vim-patch:8.0.1321: can't build huge version with Athena
# VIM_SERVERNAME is NA because we will have NVIM env var:
vim-patch:8.0.1330: MS-Windows: job in terminal can't get back to Vim
vim-patch:8.0.1346: crash when passing 50 char string to balloon_split()
vim-patch:8.0.1810: buffer of a terminal only updated in Terminal-Normal mode
vim-patch:8.0.1815: crash with terminal window and with 'lazyredraw' set
vim-patch:8.0.1842: popup menu inside terminal window isn't cleared

vim-patch:8.1.1973: cannot build without the quickfix feature
vim-patch:8.1.1974: Coverity warns for using pointer as array
vim-patch:8.1.1975: MS-Windows GUI responds slowly to timer
vim-patch:8.1.1976: Travis log always shows test output
vim-patch:8.1.1990: cannot build with eval but without cscope
vim-patch:8.1.1991: still cannot build with eval but without cscope
2019-09-06 14:42:31 -07:00
Daniel Hahler 16b64c339e build: rename CMake find modules for LibFindMacros #10928
We are using "LIBFOO" prefixes for `LIBFOO_INCLUDE_DIRS` etc, and
therefore need to use this for the PREFIX with LibFindMacros also, so
that `"${${PREFIX}_FIND_VERSION}"` gets handled there properly.

The alternative would be to either manually handle/set the upper/mixed case
variants of those variable additionally, which is not as easy.

Keeping the existing names is useful for packagers.

Before this the version requirements with
`find_package(Unibilium 2.0 REQUIRED)` was not handled (a49cf5126), and
it prepares for using a required version with libvterm
(initially/wrongly ported in 1896c72a5).
2019-09-06 14:39:41 -07:00
Björn Linse 754ea8d27e runtime: :TOhtml workaround for missing 'vts' option #10960
Hot fix for 0.4
This commit should be reverted when &vts option is added.

close #10831
2019-09-06 12:10:46 -07:00
Daniel Hahler 8db62ac57d
build: cmake: GetCompileFlags: include CMAKE_C_FLAGS (#10957)
Calls `GetCompileFlags` from `src/nvim` directory, to include
`--coverage` (and any others).
2019-09-06 20:36:05 +02:00
Björn Linse fd4636f1b9
Merge pull request #10930 from bfredl/pagerthrottle
fixes for pager glitches and crashes
2019-09-06 20:28:26 +02:00
Björn Linse 837f31c0b4 test: properly test missing clears after scroll
NB: happened to be irrelevant to the present failure, which
only occured with the compositor and not exteral UI for some reason
2019-09-06 19:39:26 +02:00
Björn Linse 1fc6489f30 test: add tests for pager glitches and crashes 2019-09-06 19:38:27 +02:00
Björn Linse 5c8a57da81 messages: fix crashes with scrollback 2019-09-06 19:38:07 +02:00
Björn Linse 72d7099abd messages: fix missing MsgArea highlighting on/after "-- more --" message 2019-09-06 19:38:07 +02:00
Björn Linse d04a43fcaf messages: fix cut lines in scrollback upon overflow 2019-09-06 19:12:41 +02:00
Daniel Hahler fd8b00bacd tests: do_rmdir(): improve error handling #10955 2019-09-06 09:19:57 -07:00
Daniel Hahler 1dab52f878 vim-patch:8.0.1332: enhance quickfix highlighting #10259
Problem:    Highlighting in quickfix window could be better. (Axel Bender)
Solution:   Use the qfSeparator highlight item. (Yegappan Lakshmanan)
93a32e2ec4

This adds `syn_name2attr` already (from previous patch 8.0.1123,
vim/vim@1b9645de3).
2019-09-06 09:17:24 -07:00
Daniel Hahler 64caeb13e6 stdpaths_get_xdg_var: consider empty env vars #10953
Without this "sysinit uses VIM if XDG_CONFIG_DIRS unset" fails with an
existing `/etc/xdg/nvim/sysinit.vim` file, because `XDG_CONFIG_DIRS=` is
not considered, but the default ("/etc/xdg") used then.
2019-09-06 09:05:30 -07:00
Daniel Hahler fecbafb29e build: fail with CLANG_TSAN + USE_GCOV #10958
This is better than skipping it silently.
2019-09-06 08:41:04 -07:00
Björn Linse 1a783b5ad6 screen: redrawdebug=nothrottle 2019-09-06 09:48:57 +02:00