aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | Merge #10906 from janlazo/vim-8.0.1241Justin M. Keyes2019-09-01
|\ \ \ | |/ / |/| | vim-patch:8.0.{1241,1246,1260}
| * | vim-patch:8.0.1260: using global variables for WaitFor()Jan Edmund Lazo2019-09-01
| | | | | | | | | | | | | | | | | | | | | Problem: Using global variables for WaitFor(). Solution: Use a lambda function instead. Don't check a condition if WaitFor() already checked it. https://github.com/vim/vim/commit/ab8b1c14a31e36ae87cc7e13c4a75318d513fc7b
| * | vim-patch:8.0.1246: popup test has an arbitrary delayJan Edmund Lazo2019-09-01
| | | | | | | | | | | | | | | | | | Problem: Popup test has an arbitrary delay. Solution: Wait for the ruler to show. (James McCoy) https://github.com/vim/vim/commit/b315876efa7865486b9cc160d43f0ead47e58d6c
| * | vim-patch:8.0.1241: popup test is flakyJan Edmund Lazo2019-09-01
| |/ | | | | | | | | | | Problem: Popup test is flaky. (James McCoy) Solution: Increase the wait time. (Dominique Pelle) https://github.com/vim/vim/commit/89c394faca40d2f5d57705432a433173b295bf73
* | vim-patch:8.1.0141: :cexpr no longer jumps to the first error #10901Marco Hinz2019-09-01
| | | | | | | | | | | | Problem: :cepxr no longer jumps to the first error. Solution: Use the quickfix list identifier. (Yegappan Lakshmanan) Fixes https://github.com/neovim/neovim/issues/10895
* | vim-patch:8.0.1217: remote eval to inspect vars in :debug #10903Jan Edmund Lazo2019-09-01
|/ | | | | Problem: Can't use remote eval to inspect vars in debug mode. Solution: Don't discard the call stack in debug mode. (closes vim/vim#2237, vim/vim#2247) https://github.com/vim/vim/commit/d99388ba8535a6fecf7d0bf7b982832c0b816062
* vim-patch:8.1.1950: using NULL pointer after an out-of-memory (#10902)Jan Edmund Lazo2019-08-31
| | | | | Problem: Using NULL pointer after an out-of-memory. Solution: Check for NULL pointer. (Dominique Pelle, closes vim/vim#4881) https://github.com/vim/vim/commit/4bbfb0f3cc67c00c8cee4e47283e8d760025219d
* Merge pull request #10878 from bfredl/pastedeferBjörn Linse2019-08-31
|\ | | | | TUI: defer nvim_paste event properly
| * tui/input: remove "cancel paste" logic which should be redundantBjörn Linse2019-08-31
| |
| * api: make nvim_put support "\022{NUM}" regtype as returned by getregtype()Björn Linse2019-08-31
| |
| * events: loop_schedule() is unclear, rename it loop_schedule_fast()Björn Linse2019-08-31
| |
| * tui/input: defer nvim_paste properly.Björn Linse2019-08-31
|/ | | | | | | | | Otherwise cursor and redraw code for normal and insert mode will not run. The "tickle" workaround was used for this instead, and can now be removed. The builtin vim.lua got the name [string "-- Nvim-Lua stdlib: thevimmodule (:help l..."] in error messages. Fix it to something reasonable.
* vim-patch:8.1.1947: when executing one test the report doesn't show it #10893Daniel Hahler2019-08-30
| | | | | Problem: When executing one test the report doesn't show it. Solution: Adjust the regexp. (Daniel Hahler, closes vim/vim#4879) https://github.com/vim/vim/commit/60b1bcfe92da1d7b8f894c91192f3a76e8aec391
* vim-patch:8.1.1941: getftype() test fails on Mac #10894Daniel Hahler2019-08-30
| | | | | Problem: getftype() test fails on Mac. Solution: Skip /dev/fd/. https://github.com/vim/vim/commit/ad5db44c0165b6254199e7af5962b42caf8b857c
* vim-patch:cb00f0393 (#10892)Daniel Hahler2019-08-30
| | | | Add missing test file. https://github.com/vim/vim/commit/cb00f039332d3188931035e9d07144546fdea78a
* vim-patch:8.0.0930: terminal buffers are stored in the viminfo file (#10889)Jaskaran Singh2019-08-30
| | | | | | Problem: Terminal buffers are stored in the viminfo file while they can't be useful. Solution: Skip terminal buffers for file marks and buffer list https://github.com/vim/vim/commit/e62780543f403186b27b210dd087dd8ba74159fc
* scripts/vim-patch.sh: massage args for git-log [ci skip] (#10888)Daniel Hahler2019-08-30
| | | | | | | | | | Replace "src/nvim/" => "src/". Replace ".*/.vim-src/" => "". This allows to use tab completion based on existing files in Neovim's source, or via .vim-src. Previously you would have to typically remove the "nvim/" part manually yourself.
* vim-patch:8.1.0950: using :python sets 'pyxversion' even when not executed ↵Daniel Hahler2019-08-30
| | | | | | | (#10891) Problem: Using :python sets 'pyxversion' even when not executed. Solution: Check the "skip" flag. (Shane Harper, closes vim/vim#3995) https://github.com/vim/vim/commit/14816ad6e58336773443f5ee2e4aa9e384af65d2
* vim-patch:8.1.0212: preferred cursor column not set in interfaces (#10890)Daniel Hahler2019-08-30
| | | | | | Problem: Preferred cursor column not set in interfaces. Solution: Set w_set_curswant when setting the cursor. (David Hotham, closes vim/vim#3060) https://github.com/vim/vim/commit/53901442f37a59e5495165f91db5574c0b43ab04
* Merge #10884 'API: nvim_paste: add `crlf` parameter'Justin M. Keyes2019-08-30
|\
| * test: vim.paste() cancelJustin M. Keyes2019-08-30
| |
| * API: nvim_paste: add `crlf` parameterJustin M. Keyes2019-08-30
|/
* tests: check_logs: improve error message (#10887)Daniel Hahler2019-08-30
| | | | | | | | | Before: [ ERROR ] test/functional/helpers.lua @ 812: after_each test/helpers.lua:156: assertion failed! stack traceback: test/helpers.lua:156: in function 'check_logs' test/functional/helpers.lua:816: in function <test/functional/helpers.lua:812>
* Merge pull request #10855 from blueyed/out_data_decide_throttleDaniel Hahler2019-08-30
|\ | | | | Revisit out_data_decide_throttle
| * shell-test: remove REP_NODELAY, less delay with REPDaniel Hahler2019-08-30
| | | | | | | | | | | | | | | | | | REP_NODELAY was added because REP delayed too much. This changes REP to only add a delay on every 100th line instead. This helps to cover the additional pulse steps with out_data_decide_throttle, which would have required to change REP_NODELAY anyway.
| * Revisit out_data_decide_throttleDaniel Hahler2019-08-30
| | | | | | | | | | | | Pulse every 0.1s only. This makes `!yes` look much better (less busy).
* | Merge #10886 from janlazo/vim-8.1.1938Justin M. Keyes2019-08-30
|\ \ | |/ |/| vim-patch:8.1.{233,1938}
| * vim-patch:8.1.0233: "safe" argument of call_vim_function() is always FALSEJan Edmund Lazo2019-08-30
| | | | | | | | | | | | Problem: "safe" argument of call_vim_function() is always FALSE. Solution: Remove the argument. https://github.com/vim/vim/commit/ded27a1febda3db7447958b60a7d791af514d124
| * vim-patch:8.1.1938: may crash when out of memoryJan Edmund Lazo2019-08-29
| | | | | | | | | | | | Problem: May crash when out of memory. Solution: Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes vim/vim#4871) https://github.com/vim/vim/commit/c507a2d164cfa3dcf31a7ba9dad6663a17243bb4
* | tests: fix Test_tagfiles: use Vim's 'tags' (#10883)Daniel Hahler2019-08-30
| | | | | | | | | | | | | | When run via `test_alot.vim` `Test_tagfiles` gets run after `set tags&`, and might therefore pick up "tags" from Neovim's source directory. This patch makes it use Vim's default always (which is different from Neovim's).
* | vim-patch:8.1.1937: errors when using javascriptreact #10885Jan Edmund Lazo2019-08-30
|/ | | | | Problem: Errors when using javascriptreact. Solution: Use ":runtime" instead of ":source". (closes vim/vim#4875) https://github.com/vim/vim/commit/4fb15c647658b15230c61857c644230a03881904
* paste: break lines at CR, CRLF #10877Justin M. Keyes2019-08-29
| | | | | | Some terminals helpfully translate \n to \r. fix #10872 ref #10223
* Fix test/busted/outputHandlers/TAP.lua (#10881)Daniel Hahler2019-08-29
| | | | | | Extending the original TAP handler was not working as expected. This adds a new function for displaying the log. Ref: https://github.com/neovim/neovim/pull/10876
* vim-patch:8.1.0193: terminal debugger buttons don't always work (#10874)Jan Edmund Lazo2019-08-29
| | | | | Problem: Terminal debugger buttons don't always work. (Dominique Pelle) Solution: Set 'cpo' to its default value. https://github.com/vim/vim/commit/ca4cc018addbeb3ac5d0e05f18847015f91ff814
* third-party: remove msvc-compat/unistd.h (#10465)Daniel Hahler2019-08-29
| | | This was upstreamed into unibilium.
* tests: use runtime from build for doc/tags with :help (#10479)Daniel Hahler2019-08-28
| | | | | | | | | | | | This is better practice in general, and allows to remove the "helptags ALL" hacks. Ref: https://github.com/neovim/neovim/issues/8824 Ref: https://github.com/neovim/neovim/commit/f1b67c3453c * Makefile: fix dependencies with regard to helptags - use the file as the main target to avoid unnecessary triggering - use "make oldtest" on Travis to ensure it gets built
* vim-patch:8.0.0303: shift_delete_registers() #10868Jan Edmund Lazo2019-08-28
| | | | | Problem: Bracketed paste does not work in Visual mode. Solution: Delete the text before pasting https://github.com/vim/vim/commit/a1891848d970452cd775d35a4bccfdd9758a690a
* Merge #4448 'paste: redesign'Justin M. Keyes2019-08-28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix #3447 fix #3566 fix #7066 fix #7212 fix #7273 fix #7455 fix #10415 NA vim-patches: vim-patch:8.1.1198 vim-patch:8.1.0224 vim-patch:8.0.1299 vim-patch:8.0.0569 vim-patch:8.0.0303 vim-patch:8.0.0296 vim-patch:8.0.0244 vim-patch:8.0.0238 vim-patch:8.0.0232 vim-patch:8.0.0231 vim-patch:8.0.0230 vim-patch:8.0.0210
| * API: TRY_WRAP() for "abort-causing non-exception errors"Justin M. Keyes2019-08-28
| | | | | | | | | | | | | | | | - Introduce TRY_WRAP() until we have an *architectural* solution. - TODO: bfredl idea: prepare error-handling at "top level" (nv_event). - nvim_paste(): Revert luaeval() hack (see parent commit). - With TRY_WRAP() in nvim_put(), 'nomodifiable' error now correctly "bubbles up".
| * paste: handle 'nomodifiable'Justin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | - nvim_paste(): Marshal through luaeval() instead of nvim_execute_lua() because the latter seems to hide some errors. - Handle 'nomodifiable' in `nvim_put()` explicitly. - Require explicit `false` from `vim.paste()` in order to "cancel", otherwise assume true ("continue").
| * paste: make vim.paste() "public"Justin M. Keyes2019-08-27
| |
| * paste: handle vim.paste() failureJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | - Show error only once per "paste stream". - Drain remaining chunks until phase=3. - Lay groundwork for "cancel". - Constrain semantics of "cancel" to mean "client must stop"; it is unrelated to presence of error(s).
| * paste: tickle cursorJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | | | | | HACK: The cursor does not get repositioned after the paste completes. Scheduling a dummy event seems to fix it. Test case: 0. Revert this commit. 1. Paste some text in Normal-mode. 2. Notice the cursor is still in the cmdline area.
| * paste: implement redo (AKA dot-repeat)Justin M. Keyes2019-08-27
| | | | | | | | | | | | - Normal-mode redo idiom(?): prepend "i" and append ESC. - Insert-mode only needs AppendToRedobuffLit(). - Cmdline-mode: only paste the first line.
| * paste: insert text "before" cursor in Insert-modeJustin M. Keyes2019-08-27
| |
| * API: nvim_pasteJustin M. Keyes2019-08-27
| |
| * paste: workaround typeahead raceJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workaround this failure: [ ERROR ] test/functional/terminal/tui_spec.lua @ 192: TUI paste: exactly 64 bytes test/functional/helpers.lua:403: retry() attempts: 478 test/functional/terminal/tui_spec.lua:201: Expected objects to be the same. Passed in: (table: 0x47cd77e8) { *[1] = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz endz' } Expected: (table: 0x47cd7830) { *[1] = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz end' } This happens because `curwin->w_cursor.col` is sometimes decremented at the end of `do_put`... because the editor is in Normal-mode instead of the expected Insert-mode. Caused by "typeahead race" (#10826): there may be queued input in the main thread not yet processed, thus the editor mode (`State` global) will be "wrong" during paste. Example: input "i" followed immediately by a paste sequence: i<start-paste>...<stop-paste> ^ "i" does not get processed in time, so the editor is in Normal-mode instead of Insert-mode while handling the paste. Attempted workarounds: - vim.api.nvim_feedkeys('','x',false) in vim._paste() - exec_normal() in tinput_wait_enqueue() - LOOP_PROCESS_EVENTS(&main_loop,…,0) in tinput_wait_enqueue() ref #10826
| * paste: phases, dotsJustin M. Keyes2019-08-27
| | | | | | | | | | | | - Send `phase` parameter to the paste handler. - Redraw at intervals and when paste terminates. - Show "..." throbber during paste to indicate activity.
| * API: nvim_put: "follow" parameterJustin M. Keyes2019-08-27
| |
| * API: nvim_put: always PUT_CURSENDJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | | | | | Fixes strange behavior where sometimes the buffer contents of a series of paste chunks (vim._paste) would be out-of-order. Now the tui_spec.lua screen-tests are much more reliable. But they still sometimes fail because of off-by-one cursor (caused by "typeahead race" resulting in wrong mode; fixed later in this patch-series).