Commit Graph

14683 Commits

Author SHA1 Message Date
Justin M. Keyes
096212d52c
test/wildmode_spec: fix flaky test (#10947)
* test/wildmode_spec: fix flaky test

a00eb23c27 fixed one race, but not this one:

    [  ERROR   ] test/functional/ui/wildmode_spec.lua @ 84: 'wildmenu' is preserved during :terminal activity
    test/functional/ui/screen.lua:587: Row 1 did not match.
    Expected:
      |*                         |
      |                         |
      |                         |
      |define  jump  list  >    |
      |:sign define^             |
    Actual:
      |*0: !terminal_output!     |
      |                         |
      |                         |
      |define  jump  list  >    |
      |:sign define^             |
    To print the expect() call that would assert the current screen state, use
    screen:snapshot_util(). In case of non-deterministic failures, use
    screen:redraw_debug() to show all intermediate screen states.
    stack traceback:
            test/functional/ui/screen.lua:587: in function '_wait'
            test/functional/ui/screen.lua:370: in function 'expect'
            test/functional/ui/wildmode_spec.lua:22: in function 'expect_stay_unchanged'
            test/functional/ui/wildmode_spec.lua:92: in function <test/functional/ui/wildmode_spec.lua:84>

* fixup! test/wildmode_spec: fix flaky test
2019-09-05 10:22:27 -07:00
Justin M. Keyes
81eb0d3644
vim-patch:8.1.0561: MSCV error format has changed #10952
This was marked as NA, but maybe we want the Windows-specific
default 'errorformat'?

9719568533
2019-09-05 10:20:46 -07:00
Justin M. Keyes
607d610d06
test/shada_spec: avoid exit_event race #10951
Doing clear() multiple times in quick succession provokes the
`exit_event` race described in #8813.

- Avoid it by removing unnecessary reset() call.
- Replace unnecessary nested describe() blocks with it() blocks.

ref d4a0b6c4e1
2019-09-05 09:48:34 -07:00
Björn Linse
79ea47d478
Merge pull request #10451 from bfredl/floatbuf
anchor float to buffer position
2019-09-05 12:50:38 +02:00
Justin M. Keyes
dd18cc4b40 fixup! test/wildmode_spec: fix flaky test 2019-09-04 19:03:01 -07:00
Justin M. Keyes
93deb1a062 test/wildmode_spec: fix flaky test
a00eb23c27 fixed one race, but not this one:

    [  ERROR   ] test/functional/ui/wildmode_spec.lua @ 84: 'wildmenu' is preserved during :terminal activity
    test/functional/ui/screen.lua:587: Row 1 did not match.
    Expected:
      |*                         |
      |                         |
      |                         |
      |define  jump  list  >    |
      |:sign define^             |
    Actual:
      |*0: !terminal_output!     |
      |                         |
      |                         |
      |define  jump  list  >    |
      |:sign define^             |
    To print the expect() call that would assert the current screen state, use
    screen:snapshot_util(). In case of non-deterministic failures, use
    screen:redraw_debug() to show all intermediate screen states.
    stack traceback:
            test/functional/ui/screen.lua:587: in function '_wait'
            test/functional/ui/screen.lua:370: in function 'expect'
            test/functional/ui/wildmode_spec.lua:22: in function 'expect_stay_unchanged'
            test/functional/ui/wildmode_spec.lua:92: in function <test/functional/ui/wildmode_spec.lua:84>
2019-09-04 17:26:40 -07:00
Justin M. Keyes
632ee8d2ed
Merge #10946 from justinmk/vim-patchhhh
vim-patch:8.1.1498,8.1.1501: b:changedtick
2019-09-04 17:03:57 -07:00
Björn Linse
d5162afa2a anchor float to buffer position
vim-patch:8.1.1645: cannot use a popup window for a balloon
2019-09-04 23:57:02 +02:00
Justin M. Keyes
d401539012 vim-patch:8.1.1501: new behavior of b:changedtick not tested
Problem:    New behavior of b:changedtick not tested.
Solution:   Add a few test cases. (Daniel Hahler)
260addf795
2019-09-04 21:21:28 +02:00
Justin M. Keyes
83c5701fe6 vim-patch:8.1.1498: ":write" increments b:changedtick even though nothing changed
Problem:    ":write" increments b:changedtick even though nothing changed.
            (Daniel Hahler)
Solution:   Only increment b:changedtick if the modified flag is reset.
c024b46678
2019-09-04 21:21:28 +02:00
Daniel Hahler
d7aea13fee
tests: scrollback_spec: use shell-test instead of awk (#10914)
Ref: #10804
Ref: b64af88
2019-09-04 20:01:38 +02:00
Marvim the Paranoid Android
bd1158f3ab version.c: update [ci skip] #10308
vim-patch:8.0.1671: crash when passing non-dict argument as env to job_start()
vim-patch 8.1.1669: Travis: test results section is closed even when failed
vim-patch:8.1.0424: test output is very verbose, loading CI log is slow (vim/vim@e76d7a6)
N/A: only for sign icons (gvim, ref: #10834)
vim-patch:8.1.1587: redraw problem when sign icons in the number column
vim-patch:8.1.1910: redrawing too much when toggling 'relativenumber'
vim-patch:8.0.0910: cannot create a terminal in the current window
vim-patch:8.0.0912: cannot run a job in a hidden terminal
vim-patch:8.0.0916: cannot specify properties of window for terminal open
vim-patch:8.0.0917: MS-Windows:CTRL-C handling in terminal window is wrong
vim-patch:8.0.0918: cannot get terminal window cursor shape or attributes
vim-patch:8.0.0960: job in terminal does not get CTRL-C
vim-patch:8.0.1000: cannot open a terminal without running a job in it
vim-patch:8.0.1035: sending buffer lines to terminal doesn't work on MS-Windows
vim-patch:8.0.1051: cannot run terminal with spaces in argument
vim-patch:8.0.1060: when imstyle is one, mapping <Left> breaks preediting
vim-patch:8.0.1074: ":term NONE" does not work on MS-Windows
vim-patch:8.0.1113: can go to Insert mode from Terminal-Normal mode
vim-patch:8.0.1170: using termdebug results in 100% CPU time
vim-patch:8.0.1174: Mac Terminal.app has wrong color for white
vim-patch:8.0.1194: actual fg and bg colors of terminal are unknown
vim-patch:8.0.1203: terminal window mistreats composing characters
vim-patch:8.0.1240: MS-Windows: term_start() does not support environment
vim-patch:8.0.1244: search test does not work correctly on MS-Windows
vim-patch:8.0.1264: terminal debugger gets stuck in small window
vim-patch:8.0.1276: key lost when window closed in exit callback
vim-patch:8.0.1295: cannot automatically get a server name in a terminal
vim-patch:8.0.1297: +autoservername does not show enabled on MS-Windows
vim-patch:8.0.1319: can't build GUI on MS-Windows
vim-patch:8.0.1341: 'imactivatefunc' test fails on MS-Windows
vim-patch:8.0.1344: using 'imactivatefunc' in the GUI does not work
vim-patch:8.0.1349: options test fails when using Motif or GTK GUI
vim-patch:8.0.1436: not enough information about what Python version may work
vim-patch:8.0.1440: terminal window: some vterm responses are delayed
vim-patch:8.0.1452: terminal test fails on some systems
vim-patch:8.0.1453: terminal test fails on some slow terminals
vim-patch:8.0.1527: screen dump test fails on MS-Windows
vim-patch:8.0.1551: on Mac 'maxmemtot' is set to a weird value
vim-patch:8.0.1568: can't build on older Mac, header file is missing
vim-patch:8.0.1572: Mac: getting memory size doesn't work everywhere
vim-patch:8.0.1596: no autocommand specifically for opening a terminal window
vim-patch:8.0.1599: no error message when gdb does not support debugger
vim-patch:8.0.1604: paste test may fail if $DISPLAY is not set
vim-patch:8.0.1612: need to close terminal after shell stopped
vim-patch:8.0.1641: job in terminal can't communicate with Vim
vim-patch:8.0.1647: terminal API may call any user function
vim-patch:8.0.1655: outdated gdb message in terminal debugger unclear
vim-patch:8.0.1671: crash when passing non-dict argument as env to job_start()
vim-patch:8.0.1713: terminal debugger doesn't handle arguments
vim-patch:8.0.1759: memory leak from duplicate options
vim-patch:8.0.1797: terminal window is redrawn too often
vim-patch:8.0.1850: todo items in source code not visible for users

vim-patch:8.1.0055: complete test has wrong order of arguments
vim-patch:8.1.0081: the terminal debugger doesn't adjust to changed 'background'
vim-patch:8.1.0100: terminal debugger: error when setting a watch point
vim-patch:8.1.0195: terminal debugger commands don't always work
vim-patch:8.1.0196: terminal debugger error with .gdbinit file
vim-patch:8.1.0359: no clue what test failed when using a screendump twice
vim-patch:8.1.0371: argument types for select() may be wrong
vim-patch:8.1.0382: some make programs can't handle "xdiff/../"
vim-patch:8.1.0423: MS-Windows: using dup-close for flushing a file
vim-patch:8.1.0445: setting 'term' does not store location for termcap options
vim-patch:8.1.0451: Win32 console: keypad keys don't work
vim-patch:8.1.0457: win32 console: key mappings don't work
vim-patch:8.1.0462: when using ConPTY Vim can be a child process
vim-patch:8.1.0465: client-server test fails
vim-patch:8.1.0481: when "Terminal" highlight is reverted cursor doesn't show
vim-patch:8.1.0486: can't build in MS-Windows
vim-patch:8.1.0491: if a terminal dump has CR it is considered corrupt
vim-patch:8.1.0525: terminal test skips part on Windows
vim-patch:8.1.0526: running out of signal stack in RealWaitForChar
vim-patch:8.1.0561: MSCV error format has changed
vim-patch:8.1.0580: invalid memory access when using text properties
vim-patch:8.1.0590: when a job ends the closed channels are not handled
vim-patch:8.1.0591: channel sort test is flaky
vim-patch:8.1.0603: the :stop command is not tested
vim-patch:8.1.0611: crash when using terminal with long composing characters
vim-patch:8.1.0618: term_getjob() does not return v:null as documented
vim-patch:8.1.0625: MS-Windows: terminal test fails in white console
vim-patch:8.1.0631: test for :stop fails on Arch
vim-patch:8.1.0647: MS-Windows: balloon_show() does not handle wide characters
vim-patch:8.1.0657: get error for using regexp recursively
vim-patch:8.1.0659: build failure without the sign feature
vim-patch:8.1.0666: text property test fails
vim-patch:8.1.0692: if a buffer was deleted a channel can't write to it
vim-patch:8.1.0693: channel test fails sometimes
vim-patch:8.1.0705: :colorscheme isn't tested enough
vim-patch:8.1.0708: third argument for redrawWinline() is always FALSE
vim-patch:8.1.0724: build for MinGW fails
vim-patch:8.1.0731: JS encoding does not handle negative infinity
vim-patch:8.1.0760: no proper test for using 'termencoding'
vim-patch:8.1.0774: VMS build is missing the blob file
vim-patch:8.1.0778: terminal test fails on MS-Windows
vim-patch:8.1.0780: terminal test fails on Mac
vim-patch:8.1.0781: build error when using if_xcmdsrv.c
vim-patch:8.1.0782: Win32: cursor blinks when Vim is not active
vim-patch:8.1.0795: cannot build without popup menu
vim-patch:8.1.0796: MS-Windows 7: problem with named pipe on channel
vim-patch:8.1.0799: calling deleted function; test doesn't work on Mac
vim-patch:8.1.0812: Unicode 16 feature is not useful
vim-patch:8.1.0823: not sufficient testing of xxd
vim-patch:8.1.0827: missing dependency in Makefile
vim-patch:8.1.0831: xxd test fails if man page has dos fileformat
vim-patch:8.1.0835: GUI build fails on MS-Windows
vim-patch:8.1.0847: may use terminal after it was cleaned up
vim-patch:8.1.0848: cannot build with Ruby 1.8
vim-patch:8.1.0860: debug lines left in the code
vim-patch:8.1.0861: building with MinGW and static libc doesn't work
vim-patch:8.1.0866: build file dependencies are outdated
vim-patch:8.1.0867: cannot build Python interface with Python 2.4
vim-patch:8.1.0871: build error when building with Ruby 2.6.0
vim-patch:8.1.0872: confusing condition
vim-patch:8.1.0889: MS-Windows: a channel write may hang
vim-patch:8.1.0898: a messed up rgb.txt can crash Vim
vim-patch:8.1.0900: ConPTY many crash with 32-bit build
vim-patch:8.1.0904: USE_LONG_FNAME never defined
vim-patch:8.1.0915: fsync() may not work properly on Mac
vim-patch:8.1.0919: compiler warnings
vim-patch:8.1.0920: in Terminal-Normal mode job output messes up the window
vim-patch:8.1.0921: terminal test sometimes fails; using memory after free
vim-patch:8.1.0922: terminal scrollback test is flaky
vim-patch:8.1.0923: terminal dump diff swap does not update file names
vim-patch:8.1.0924: terminal scrollback test still flaky
vim-patch:8.1.0925: terminal scrollback test still still flaky
vim-patch:8.1.0931: vtp_working included in GUI build but unused
vim-patch:8.1.0960: when using ConPTY garbage collection has undefined behavior
vim-patch:8.1.0961: Mac: fsync may fail sometimes
vim-patch:8.1.0964: cannot see in CI why a screenshot test failed
vim-patch:8.1.0981: pasting in terminal insufficiently tested
vim-patch:8.1.0982: update_cursor() called twice in :shell
vim-patch:8.1.0993: ch_read() may return garbage if terminating NL is missing
vim-patch:8.1.1018: window cleared when entering Terminal-Normal twice
vim-patch:8.1.1024: stray log calls in terminal code
vim-patch:8.1.1051: not all ways to switch terminal mode are tested
vim-patch:8.1.1080: when a screendump test fails, moving the file is a hassle
vim-patch:8.1.1102: Win32 exe file contains unused code
vim-patch:8.1.1121: test for term_gettitle() was disabled
vim-patch:8.1.1128: getwinpos() test does not work on MS-Windows
vim-patch:8.1.1129: when making a new screendump test have to create the file
vim-patch:8.1.1132: getwinpos() test fails on MS-Windows
vim-patch:8.1.1141: terminal winpos test fails with very large terminal
vim-patch:8.1.1162: incorrect coverage information; typo in color name
vim-patch:8.1.1168: not all screen update code of terminal is executed in tests
vim-patch:8.1.1170: terminal ANSI color test does not cover all colors
vim-patch:8.1.1172: cursor properties were not fully tested
vim-patch:8.1.1330: using bold attribute in terminal changes the color
vim-patch:8.1.1505: running "make clean" twice gives errors
vim-patch:8.1.1572: compiler warnings with tiny build
vim-patch:8.1.1576: compiler warning for unused argument
vim-patch:8.1.1592: may start file dialog while exiting
vim-patch:8.1.1594: may still start file dialog while exiting
vim-patch:8.1.1595: MS-Windows with VIMDLL: colors wrong in console
vim-patch:8.1.1605: Vim may delay processing messages on a json channel
vim-patch:8.1.1616: build failure with gcc on Amiga
vim-patch:8.1.1618: Amiga-like systems quickly run out of stack
vim-patch:8.1.1621: Amiga: time.h included twice
vim-patch:8.1.1627: header file contains mixed comment style
vim-patch:8.1.1633: cannot generate prototypes with X11 but without GUI
vim-patch:8.1.1635: warnings for unused variables in small version
vim-patch:8.1.1643: sign placement is wrong when 'foldcolumn' is set
vim-patch:8.1.1644: sound test does not work on Travis
vim-patch:8.1.1647: build error with GTK and hangulinput feature
vim-patch:8.1.1653: ubsan warns for possibly passing NULL pointer
vim-patch:8.1.1658: debug statements included in patch
vim-patch:8.1.1661: cannot build with +textprop but without +balloon_eval
vim-patch:8.1.1662: cannot build uninstal.exe with some version of MinGW
vim-patch:8.1.1664: GUI resize may cause changing Rows at a bad time
vim-patch:8.1.1669: Travis: test results section is closed even when failed
vim-patch:8.1.1670: sign column not always properly aligned
vim-patch:8.1.1685: missing file in distributed file list
vim-patch:8.1.1688: old makefiles are no longer useful
vim-patch:8.1.1691: diff test fails on some systems
vim-patch:8.1.1696: MSVC: link command line is too long
vim-patch:8.1.1697: cannot build with MSVC
vim-patch:8.1.1698: Appveyor build with MSVC fails
vim-patch:8.1.1701: Appveyor build with MSVC fails puts progress bar in log
vim-patch:8.1.1702: compiler warning for uninitialized variable
vim-patch:8.1.1706: typo in #ifdef
vim-patch:8.1.1721: build failure with normal features without netbeans interface
vim-patch:8.1.1735: can't build with tiny features
vim-patch:8.1.1744: build error without the conceal feature
vim-patch:8.1.1777: useless checks for job feature in channel test
vim-patch:8.1.1781: Amiga: no builtin OS readable version info
vim-patch:8.1.1788: missing changes in proto file
vim-patch:8.1.1792: the vgetorpeek() function is too long
vim-patch:8.1.1794: tests are flaky
vim-patch:8.1.1815: duplicating info for internal functions
vim-patch:8.1.1817: github contribution text is incomplete
vim-patch:8.1.1825: allocating more memory than needed for extended structs
vim-patch:8.1.1830: Travis does not report error when tests fail
vim-patch:8.1.1836: inaccurate memory estimate for Amiga-like OS
vim-patch:8.1.1847: suspend test is failing
vim-patch:8.1.1848: 'langmap' is not used for CTRL-W command in terminal
vim-patch:8.1.1873: cannot build tiny version
vim-patch:8.1.1876: proto file missing from distribution
vim-patch:8.1.1885: comments in libvterm are inconsistent
vim-patch:8.1.1889: Coverity warns for using a NULL pointer
vim-patch:8.1.1894: not checking for out-of-memory of autoload_name()
vim-patch:8.1.1896: compiler warning for unused variable
vim-patch:8.1.1898: crash when out of memory during startup
vim-patch:8.1.1916: trying to allocate negative amount of memory closing popup
vim-patch:8.1.1942: shadow directory gets outdated when files are added
vim-patch:8.1.1948: mouse doesn't work in Linux console

The following is N/A because of https://github.com/neovim/neovim/pull/10565:
vim-patch:8.1.0537: ui_breakcheck() may be called recursively

vim-patch:8.1.1833
This was merged in Neovim before Vim.

vim-patch:8.1.1479: change included for debugging only
This is N/A iff vim-patch:8.1.0424 is N/A. https://github.com/neovim/neovim/pull/10308#issuecomment-504716053

82d52b229d makes `src/testdir/test_paste.vim` patches N/A.
vim-patch:8.0.0233: paste test fails in the GUI
vim-patch:8.1.1307: cannot reconnect to the X server after it restarted

`bufIsChangedNotTerm` is N/A because of neovim/neovim@2929dbf223
vim-patch:8.0.1382: get "no write since last change" message if terminal is open

vim-patch:8.1.1483 was merged without merging the older patches first so I assume that the following patches are N/A:
vim-patch:8.0.1578: no test for :popup in terminal
2019-09-04 08:37:24 -07:00
Daniel Hahler
7023131223
Log signals handled in deadly_signal (#10939) 2019-09-04 16:44:06 +02:00
Justin M. Keyes
3468a466ed
Merge #10934 from janlazo/vim-8.0.1752
vim-patch:8.0.{1752,1844},8.1.0145
2019-09-04 07:19:17 -07:00
Justin M. Keyes
fe60013fb9 test/mode_spec: increase 'matchtime' to fix flaky
fix #10941
regressed by 7ed2122622
2019-09-04 07:06:12 -07:00
Justin M. Keyes
540360a775
test: is_os() #10933
- Move os_name() up to "global helpers".
- Rename it to is_os().
- Make it depend on uname() instead of a running Nvim instance.
2019-09-04 06:58:04 -07:00
Matěj Cepl
9cc8064864 netrw.vim: workaround gx bug #10938
ref vim/vim#4738
2019-09-04 06:51:01 -07:00
Björn Linse
e7e2c8d7ff
Merge pull request #10926 from blueyed/fix-echon-q
Check got_int in msg_multiline_attr with ex_echo
2019-09-04 15:31:56 +02:00
Daniel Hahler
ac6fd11fa1 only check got_int with ex_echo
Ref: https://github.com/neovim/neovim/pull/10926#discussion_r320706446
2019-09-04 13:30:11 +02:00
Daniel Hahler
4556bb90fa move test 2019-09-04 13:13:39 +02:00
Daniel Hahler
e867ac3e52 Check got_int in msg_multiline_attr
Fixes quitting the pager using `q`.

Fixes https://github.com/neovim/neovim/issues/10923.
2019-09-04 10:50:26 +02:00
Jan Edmund Lazo
1838f6ba76
vim-patch:8.1.0145: test with grep is failing on MS-Windows
Problem:    Test with grep is failing on MS-Windows.
Solution:   Skip the test.
851332ea9c
2019-09-04 02:45:57 -04:00
Jan Edmund Lazo
9d50d033bc
vim-patch:8.0.1844: superfluous quickfix code, missing examples
Problem:    Superfluous quickfix code, missing examples.
Solution:   Remove unneeded code.  Add a few examples.  Add a bit more
            testing. (Yegappan Lakshmanan, closes vim/vim#2916)
78ddc06bdd
2019-09-04 02:05:25 -04:00
erw7
d3f1eb3024 vim-patch:8.1.1946: memory error when profiling a function without a script ID
Problem:    Memory error when profiling a function without a script ID.
Solution:   Check for missing script ID.  (closes vim/vim#4877)
163588005d
2019-09-04 14:48:21 +09:00
Jan Edmund Lazo
7876f4f218
vim-patch:8.0.1752: qf_set_properties() is to long
Problem:    qf_set_properties() is to long.
Solution:   Refactor the function.  Define INVALID_QFIDX. (Yegappan
            Lakshmanan, closes vim/vim#2812)
a2aa8a2b22
2019-09-04 01:34:18 -04:00
erw7
9db60b06a1 vim-patch:8.1.0515: reloading a script gives errors for existing functions
Problem:    Reloading a script gives errors for existing functions.
Solution:   Allow redefining a function once when reloading a script.
ded5f1bed7
2019-09-04 13:40:05 +09:00
erw7
e4a4786241 vim-patch:8.1.0365: function profile doesn't specify where it was defined
Problem:    Function profile doesn't specify where it was defined.
Solution:   Show the script name and line number.
4c7b08f640
2019-09-04 13:40:05 +09:00
erw7
0e11a106c5 vim-patch:8.1.0309: profiling does not show a count for condition lines
Problem:    Profiling does not show a count for condition lines.  (Daniel
            Hahler)
Solution:   Count lines when not skipping. (Ozaki Kiichi, closes #2499)
7feb35e778
2019-09-04 13:40:05 +09:00
erw7
2926a36d91 [squash] Fix errors when porting 2019-09-04 13:40:05 +09:00
erw7
4f6df65f02 Change test because maparg was changed to also return lnum 2019-09-04 13:40:04 +09:00
erw7
a2e48b556b vim-patch:8.1.0362: cannot get the script line number when executing a function
Problem:    Cannot get the script line number when executing a function.
Solution:   Store the line number besides the script ID. (Ozaki Kiichi,
            closes vim/vim#3362)  Also display the line number with ":verbose set".
f29c1c6aa3
2019-09-04 13:40:04 +09:00
Justin M. Keyes
38806f23ed
test: enable "exit event follows stdout, stderr" [ci skip] #10929
- Update the test to work with changes since it was originally written.
- Keep the test pending() because it still fails:

      Expected objects to be the same.
      Passed in:
      (table: 0x50ce9e38) {
        [1] = {
          [1] = 'notification'
          [2] = 'stderr'
          [3] = {
            [1] = 0
            [2] = {
              [1] = '' } } }
       *[2] = {
          [1] = 'notification'
          [2] = 'stdout'
         *[3] = {
            [1] = 0
           *[2] = {
             *[1] = '' } } }
        [3] = {
          [1] = 'notification'
          [2] = 'exit'
          [3] = {
            [1] = 0
            [2] = 143 } } }
      Expected:
      (table: 0x50ce9870) {
        [1] = {
          [1] = 'notification'
          [2] = 'stderr'
          [3] = {
            [1] = 0
            [2] = {
              [1] = '' } } }
       *[2] = {
          [1] = 'notification'
          [2] = 'stdout'
         *[3] = {
            [1] = 0
           *[2] = {
             *[1] = 'abcdef' } } }
        [3] = {
          [1] = 'notification'
          [2] = 'stdout'
          [3] = {
            [1] = 0
            [2] = {
              [1] = '' } } } }
2019-09-03 10:25:27 -07:00
Abdelhakeem Osama
8b8ecf44f2 shada/context: fully remove jumplist duplicates #10898
- Always load files when cleaning up jumplist.
  - For Shada: avoids writing duplicate entries, which happens when you read
    from a shada file with duplicate entries (merging the jumplist while
    writing sometimes produces duplicate entries, bug?) and then write right
    away (i.e.: without any `:jumps`, `getjumplist()`, or any jump movement,
    that is: nothing that calls `cleanup_jumplist` with `loadfiles == true`).
  - For Context: avoids non-idempotent behavior for the same reason (i.e.:
    first call to `shada_encode_jumps` does not remove duplicate entries).

- Do not set pcmark when dumping jumplist for Context.
  - Retrieving current Context shouldn't add an entry to the jumplist
    (which will be removed by a subsequent `cleanup_jumplist` anyway, i.e.:
    tail entry matching current position), just act like `getjumplist` for
    instance.
2019-09-03 10:18:24 -07:00
Justin M. Keyes
b8f2436feb
Merge #10915 'jobwait(): fix race if job exits quickly' 2019-09-03 08:40:54 -07:00
Justin M. Keyes
6242bac904 f_jobwait: cleanup 2019-09-03 16:14:29 +02:00
Justin M. Keyes
58318af718 jobwait(): fix race if job exits before waiting on it
Problem:  If a job exits while waiting on another job, the on_exit
          handler is queued but f_jobwait() skips it.
Solution: Always do process_wait(), so that handlers are run during
          f_jobwait().

fix #8302

Test case:
    $ BUSTED_ARGS="--repeat=2000 --no-keep-going" TEST_FILE=test/functional/core/job_spec.lua TEST_FILTER=waiting make functionaltest

Failure example (macOS CI):
    FAILED  test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting
    test/functional/core/job_spec.lua:606: Expected objects to be the same.
    Passed in:
    (table: 0x1be77c80) {
      [1] = 'notification'
      [2] = 'wait'
     *[3] = {
       *[1] = 3 } }
    Expected:
    (table: 0x1be77d10) {
      [1] = 'notification'
      [2] = 'wait'
     *[3] = {
       *[1] = 4 } }
    stack traceback:
      test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583
2019-09-03 16:14:29 +02:00
Justin M. Keyes
a00eb23c27 test/wildmode_spec: fix flaky test
[  ERROR   ] test/functional\ui\wildmode_spec.lua @ 84: 'wildmenu' is preserved during :terminal activity
    test\functional\ui\screen.lua:587: Row 1 did not match.
    Expected:
      |*:sign                    |
      |*define    place          |
      |*jump      undefine       |
      |*list      unplace        |
      |*:sign ^                   |
    Actual:
      |*0: !terminal             |
      |*                         |
      |*^                         |
      |*~                        |
      |*                         |
    stack traceback:
        test\functional\ui\screen.lua:587: in function '_wait'
        test\functional\ui\screen.lua:370: in function 'expect'
        test/functional\ui\wildmode_spec.lua:22: in function 'expect_stay_unchanged'
        test/functional\ui\wildmode_spec.lua:103: in function <test/functional\ui\wildmode_spec.lua:84>
2019-09-03 16:14:29 +02:00
Justin M. Keyes
7233433f65 test/job_spec: improve visibility of flaky test
Test sometimes fails on macOS CI:

    FAILED  test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting
    test/functional/core/job_spec.lua:606: Expected objects to be the same.
    Passed in:
    (table: 0x1be77c80) {
      [1] = 'notification'
      [2] = 'wait'
     *[3] = {
       *[1] = 3 } }
    Expected:
    (table: 0x1be77d10) {
      [1] = 'notification'
      [2] = 'wait'
     *[3] = {
       *[1] = 4 } }
    stack traceback:
      test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583

Change the test to check if all jobs are starting, not only exiting.
2019-09-03 16:14:29 +02:00
Justin M. Keyes
03be64ce2a
Merge #10921 from janlazo/vim-8.0.1768
vim-patch:8.0.{1768,1806},8.1.{46,1063}
2019-09-03 04:49:30 -07:00
Daniel Hahler
dcc8fcf0b9 tests: assert:set_parameter('TableFormatLevel', 100) #10925
luassert uses 3 by default, which is often not enough.

Instead of documenting how to increase it, let's use a more fitting
(sane) default of 100 levels.
2019-09-03 04:29:49 -07:00
Daniel Hahler
d000f02bc0
vim-patch.sh: fix "unbound variable" error with Bash < 4.4 [ci skip] (#10917)
Ref: https://github.com/neovim/neovim/pull/10888#issuecomment-526774032
2019-09-03 10:12:02 +02:00
Jan Edmund Lazo
7199f0b3b3
vim-patch:8.1.1063: insufficient testing for wildmenu completion
Problem:    Insufficient testing for wildmenu completion.
Solution:   Extend the test case. (Dominique Pelle, closes vim/vim#4182)
37db642083
2019-09-03 00:07:23 -04:00
Jan Edmund Lazo
c0cb7585cc
vim-patch:8.1.0046: loading a session file fails if 'winheight' is big
Problem:    Loading a session file fails if 'winheight' is a big number.
Solution:   Set 'minwinheight' to zero at first.  Don't give an error when
            setting 'minwinheight' while 'winheight' is a big number.
            Fix using vertical splits. Fix setting 'minwinwidth'.
            (closes vim/vim#2970)
1c3c10492a
2019-09-02 19:54:06 -04:00
Jan Edmund Lazo
02f126a275
vim-patch:8.0.1806: InsertCharPre causes problems for autocomplete
Problem:    InsertCharPre causes problems for autocomplete. (Lifepillar)
Solution:   Check for InsertCharPre before calling vpeekc(). (Christian
            Brabandt, closes vim/vim#2876)
39de952577
2019-09-02 18:40:56 -04:00
Jan Edmund Lazo
07b209b1fe
vim-patch:8.0.1768: SET_NO_HLSEARCH() used in a wrong way
Problem:    SET_NO_HLSEARCH() used in a wrong way.
Solution:   Make it a function. (suggested by Dominique Pelle,
            closes vim/vim#2850)
451fc7b954
2019-09-02 18:40:56 -04:00
Björn Linse
6434a0bf99
Merge pull request #10920 from bfredl/asyncfail
api: make try_end clean-up after an exception properly.
2019-09-02 23:02:58 +02:00
Björn Linse
7e07efaff4 api: make try_end clean-up after an exception properly. Fixes #10809
Otherwise `force_abort` will cause an emsg() higher on the stack
to be converted to an exception, even though it is outside any
try/catch.
2019-09-02 23:01:16 +02:00
Justin M. Keyes
d3c17d50d8
Merge #10918 from janlazo/vim-8.0.1697
vim-patch:8.0.{1697,1729}
2019-09-02 11:28:12 -07:00
Jan Edmund Lazo
4a60818071
vim-patch:8.0.1729: no comma after last enum item
Problem:    No comma after last enum item.
Solution:   Add a few commas to check if this works for all compilers.  Also
            add a few // comments.
ea3ece405a
2019-09-02 12:19:10 -04:00
Jan Edmund Lazo
55c66d6c19
vim-patch:8.0.1697: various tests are still a bit flaky
Problem:    Various tests are still a bit flaky.
Solution:   Increase the default wait time to five seconds.
769e9d21ac
2019-09-02 12:00:33 -04:00