aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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).
| * test/tui_spec: connect to child sessionJustin M. Keyes2019-08-27
| |
| * API: nvim_put: Avoid "N more lines" messageJustin M. Keyes2019-08-27
| |
| * paste: edge-case: handle EOL at end-of-bufferJustin M. Keyes2019-08-27
| | | | | | | | This is "readfile()-style", see also ":help channel-lines".
| * paste: testJustin M. Keyes2019-08-27
| |
| * paste: use nvim_put()Justin M. Keyes2019-08-27
| |
| * API: nvim_put #6819Justin M. Keyes2019-08-27
| |
| * API: nvim_put #6819: try to fix Insert, VisualBjörn Linse2019-08-27
| |
| * API: nvim_put #6819Björn Linse2019-08-27
| |
| * paste: use chansend() in Terminal-modeJustin M. Keyes2019-08-27
| |
| * paste: fixup testsJustin M. Keyes2019-08-27
| |
| * paste: abort paste if handler does not return trueJustin M. Keyes2019-08-27
| |
| * TUI/paste: always flush on paste mode-changeJustin M. Keyes2019-08-27
| | | | | | | | | | | | Flush input before entering, not only when leaving, paste mode. Else there could be pending input which will erroneously be sent to the paste handler.
| * TUI/paste: define paste function as Lua builtinJustin M. Keyes2019-08-27
| | | | | | | | | | | | | | - Define in Lua so that it is compiled-in (available with `-u NONE`). TODO: Eventually we will want a 'pastefunc' option or some other way to override the default paste handler.
| * lua/stdlib: cleanupJustin M. Keyes2019-08-27
| |
| * log: log_key()Justin M. Keyes2019-08-27
| |
| * TUI/paste: push bytes directly (avoid libtermkey)Justin M. Keyes2019-08-27
| |
| * TUI/paste: collect data, invoke user callback #4448ZyX2019-08-27
| |
| * paste: WIP #4448Justin M. Keyes2019-08-27
| |
* | doc: man.vim #10817Doron Behar2019-08-28
| | | | | | ref #10808
* | vim-patch:8.1.1932: ml_get errors after append() #10866Marco Hinz2019-08-27
| | | | | | | | | | | | | | | | Problem: Ml_get errors after using append(). (Alex Genco) Solution: Do not update the cursor twice. https://github.com/vim/vim/commit/d20070274c47668560e02db184e1f8e456c3c326 fix #10847
* | clang/"null pointer dereference" #10864Ihor Antonov2019-08-27
|/