aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* shada/context: fully remove jumplist duplicates #10898Abdelhakeem Osama2019-09-03
| | | | | | | | | | | | | | | | - 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.
* Merge #10915 'jobwait(): fix race if job exits quickly'Justin M. Keyes2019-09-03
|\
| * f_jobwait: cleanupJustin M. Keyes2019-09-03
| |
| * jobwait(): fix race if job exits before waiting on itJustin M. Keyes2019-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * test/wildmode_spec: fix flaky testJustin M. Keyes2019-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ 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>
| * test/job_spec: improve visibility of flaky testJustin M. Keyes2019-09-03
|/ | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge #10921 from janlazo/vim-8.0.1768Justin M. Keyes2019-09-03
|\ | | | | vim-patch:8.0.{1768,1806},8.1.{46,1063}
| * vim-patch:8.1.1063: insufficient testing for wildmenu completionJan Edmund Lazo2019-09-03
| | | | | | | | | | | | Problem: Insufficient testing for wildmenu completion. Solution: Extend the test case. (Dominique Pelle, closes vim/vim#4182) https://github.com/vim/vim/commit/37db642083398da7d04ed45767cc46daf40bf72b
| * vim-patch:8.1.0046: loading a session file fails if 'winheight' is bigJan Edmund Lazo2019-09-02
| | | | | | | | | | | | | | | | | | 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) https://github.com/vim/vim/commit/1c3c10492a291270fa89b3c8df11828792f927d3
| * vim-patch:8.0.1806: InsertCharPre causes problems for autocompleteJan Edmund Lazo2019-09-02
| | | | | | | | | | | | | | Problem: InsertCharPre causes problems for autocomplete. (Lifepillar) Solution: Check for InsertCharPre before calling vpeekc(). (Christian Brabandt, closes vim/vim#2876) https://github.com/vim/vim/commit/39de95257714b76ccd845d081cff57830a79b488
| * vim-patch:8.0.1768: SET_NO_HLSEARCH() used in a wrong wayJan Edmund Lazo2019-09-02
| | | | | | | | | | | | | | Problem: SET_NO_HLSEARCH() used in a wrong way. Solution: Make it a function. (suggested by Dominique Pelle, closes vim/vim#2850) https://github.com/vim/vim/commit/451fc7b954906069f1830a8092ad85616049a828
* | tests: assert:set_parameter('TableFormatLevel', 100) #10925Daniel Hahler2019-09-03
| | | | | | | | | | | | 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.
* | vim-patch.sh: fix "unbound variable" error with Bash < 4.4 [ci skip] (#10917)Daniel Hahler2019-09-03
|/ | | Ref: https://github.com/neovim/neovim/pull/10888#issuecomment-526774032
* Merge pull request #10920 from bfredl/asyncfailBjörn Linse2019-09-02
|\ | | | | api: make try_end clean-up after an exception properly.
| * api: make try_end clean-up after an exception properly. Fixes #10809Björn Linse2019-09-02
| | | | | | | | | | | | 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.
* | Merge #10918 from janlazo/vim-8.0.1697Justin M. Keyes2019-09-02
|\ \ | | | | | | vim-patch:8.0.{1697,1729}
| * | vim-patch:8.0.1729: no comma after last enum itemJan Edmund Lazo2019-09-02
| | | | | | | | | | | | | | | | | | | | | 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. https://github.com/vim/vim/commit/ea3ece405ab55f44018257bd2f5021231af8e87f
| * | vim-patch:8.0.1697: various tests are still a bit flakyJan Edmund Lazo2019-09-02
|/ / | | | | | | | | | | Problem: Various tests are still a bit flaky. Solution: Increase the default wait time to five seconds. https://github.com/vim/vim/commit/769e9d21ac3e8dff43b9ef5e46cdc4523833b51e
* | Merge pull request #10913 from bfredl/nomsgsepBjörn Linse2019-09-02
|\ \ | |/ |/| screen: fixes for `set display-=msgsep`, fixes #10912
| * screen: initialize screen properly with early `set display-=msgsep`Björn Linse2019-09-02
|/ | | | | | | | | | | | | Currently `nvim -u NORC --cmd "set display-=msgsep"` will still allocate the message grid and remove it just afterwards. While inefficient, we must make sure update_screen() re-validates the default_grid completely when this happens. Fix some invalid logic: don't reallocate msg_grid on resize when the grid is not used. Elide a too early ui_flush() on startup, which caused an invalid cursor position to be used.
* Merge #10804 'CI/OpenBSD: functional tests'Justin M. Keyes2019-09-01
|\
| * test/uname(): always lowercaseJustin M. Keyes2019-09-01
| |
| * test/OpenBSD: skip some testsJustin M. Keyes2019-09-01
| | | | | | | | Temporary workaround to unblock CI for OpenBSD.
| * test: shell-test.c: flush all streamsJustin M. Keyes2019-09-01
| |
| * screen.lua: dump payload on handler failureJustin M. Keyes2019-09-01
| | | | | | | | | | | | | | | | | | | | | | | | For debugging failures like: test/functional/helpers.lua:240: test/functional/ui/screen.lua:898: bad argument #1 to 'unpack' (table expected, got number) test/functional/helpers.lua:240: test/functional/ui/screen.lua:708: attempt to index local 'item' (a number value) ref #10804
| * test: "can have two timers": retry()Justin M. Keyes2019-09-01
| | | | | | | | ref #10768
| * CI/OpenBSD: run functional testsEdd Barrett2019-09-01
| | | | | | | | | | | | | | | | | | | | | | Adapt some tests for OpenBSD: - scrollback_spec: - seq(1) is not available on OpenBSD: we'd use jot(1). - Instead use a (hopefully) portable awk(1) snippet. - channels_spec - job_spec - tui_spec
* | vim-patch:8.0.0858: check if job terminal is running #10908Jan Edmund Lazo2019-09-01
| | | | | | | | | | Problem: Can exit while a terminal is still running a job. Solution: Consider a buffer with a running job like a changed file. https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
* | API: nvim_buf_set_lines: handle 'nomodifiable' #10910Justin M. Keyes2019-09-01
| |
* | vim-patch:8.0.1653: screen dump is made too soon (#10911)Jan Edmund Lazo2019-09-02
|/ | | | | Problem: Screen dump is made too soon. Solution: Wait until the ruler is displayed. (Ozaki Kiichi, closes vim/vim#2755) https://github.com/vim/vim/commit/1834d37396e046ccbc4aa2678ba16a38197da6b4
* PVS/V547: Expression is always falseJustin M. Keyes2019-09-02
| | | | ll_get_or_alloc_list() never fails because OOM is an abort condition.
* API: make nvim_win_set_option() set window-global, not buffer-local #9110Björn Linse2019-09-01
| | | | | | NB: the `!(flags & SOPT_GLOBAL)` exception is for 'statusline'. Because `:set statusline=...` sets the global value for _all_ windows, `:setlocal` is the best we can do there. This is a one-of-a-kind option that doesn't work like any other option.
* Merge #10896 'paste: one undo-block'Justin M. Keyes2019-09-01
|\
| * paste: redraw at endJustin M. Keyes2019-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attempt to fix test failure since 976c6667e140 removed per-chunk redraw: ERROR test/functional/terminal/tui_spec.lua: TUI paste: cmdline-mode inserts 1 line test/functional/terminal/tui_spec.lua:367: in function <test/functional/terminal/tui_spec.lua:360 Expected: |*foo | |* | |{4:~ }| |{4:~ }| |{5:[No Name] [+] }| |:"line 1{1:"} | |{3:-- TERMINAL --} | Actual: |* | |*{4:~ }| |{4:~ }| |{4:~ }| |{5:[No Name] [+] }| |:"line 1{1:"} | |{3:-- TERMINAL --} |
| * paste: one undo-block per streamJustin M. Keyes2019-09-02
| | | | | | | | | | | | - All "chunks" in a paste-stream should form a single undo-block. Side effect of 7a8579288424 was to create an undo-block for each chunk. - Also: remove old :redraw force logic, irrelevant after 7a8579288424.
* | vim-patch:8.0.1534: C syntax test fails in gvim #10909Jan Edmund Lazo2019-09-01
|/ | | | | | Problem: C syntax test fails when using gvim Solution: Force running in a terminal. Check that 'background' is correct even when $COLORFGBG is set. https://github.com/vim/vim/commit/b7ea7cb8e430ea096b4c452cdc9c3299819e6d6b
* Merge pull request #10382 from abdelhakeem/waituntilBjörn Linse2019-09-01
|\ | | | | eval: add wait()
| * fixup! eval: add wait() testAbdelhakeem2019-09-01
| |
| * eval: add wait() testAbdelhakeem2019-09-01
| |
| * eval: add wait()Abdelhakeem2019-09-01
|/ | | | closes #10362
* Merge pull request #10400 from bfredl/msg_gridBjörn Linse2019-09-01
|\ | | | | Dedicated message grid.
| * screen: add some documentation of internals of msg_grid implementationBjörn Linse2019-09-01
| |
| * test/ui: update tests for new msg_grid implementationBjörn Linse2019-09-01
| |
| * screen: use dedicated message gridBjörn Linse2019-09-01
| | | | | | | | | | | | | | | | add proper msg_set_pos event, delet win_scroll_over_* make compositor click through unfocusable grids add MsgArea attribute for the message/cmdline area, and add docs and tests
| * batch draw :lsBjörn Linse2019-09-01
| |
| * test/ui: make screen:expect() print full state when height does not matchBjörn Linse2019-09-01
| |
* | Merge #10733 from justinmk/test-fixesJustin M. Keyes2019-09-01
|\ \ | | | | | | test: use shell-test (avoid system shell)
| * | test: assert_alive()Justin M. Keyes2019-09-01
| | |
| * | test: use shell-test (avoid system shell)Justin M. Keyes2019-09-01
| | |
| * | test/inccommand_spec: avoid indeterminismJustin M. Keyes2019-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use shell-test.c to avoid the squishiness of system shells. - Use screen:expect_unchanged() to avoid hardcoded (brittle) test. Fails correctly if 5020daa6e5ce is reverted (remove terminal_check(), restore redraw() in refresh_timer_cb()): [ ERROR ] test/functional/ui/inccommand_spec.lua @ 2550: :substitute with inccommand during :terminal activity test/functional/helpers.lua:402: retry() attempts: 2 test/functional/ui/screen.lua:579: Row 8 did not match. Expected: |foo bar baz | |bar baz fox | |bar foo baz | |{15:~ }| |{15:~ }| |{15:~ }| |{11:[No Name] [+] }| |*26: xxx | |27: xxx | |28: xxx | |29: xxx | |30: xxx | | | |{10:term }| |:%s/foo/ZZZ^ | Actual: |foo bar baz | |bar baz fox | |bar foo baz | |{15:~ }| |{15:~ }| |{15:~ }| |{11:[No Name] [+] }| |*107: xxx | |108: xxx | |109: xxx | |110: xxx | |111: xxx | | | |{10:term }| |:%s/foo/ZZZ^ |