From cb589990079a0e58bed3e1831f70baaba52f66fc Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Fri, 7 Oct 2016 13:18:24 +0200 Subject: os/shell: do_os_system(): Always show last chunk. This ameliorates use-cases like: :!cat foo.txt :make where the user is interested in the last few lines of output. Try these shell-based ex-commands before/after this commit: :grep -r '' * :make :!yes :!grep -r '' * :!git grep '' :!cat foo :!echo foo :!while true; do date; done :!for i in `seq 1 20000`; do echo XXXXXXXXXX $i; done In all cases the last few lines of the command should always be shown, regardless of where throttling was triggered. --- runtime/doc/various.txt | 8 ++++---- runtime/doc/vim_diff.txt | 7 +++---- 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'runtime/doc') diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 625416146e..3c1472446d 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -264,10 +264,10 @@ g8 Print the hex values of the bytes used in the After the command has been executed, the timestamp and size of the current file is checked |timestamp|. - If the command produces a lot of output the displayed - output will be "throttled" so the command can execute - quickly without waiting for the display. This only - affects the display, no data is lost. + If the command produces too much output some lines may + be skipped so the command can execute quickly. No + data is lost, this only affects the display. The last + few lines are always displayed (never skipped). Vim redraws the screen after the command is finished, because it may have printed any text. This requires a diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 1940bc55fa..7ccdfd2bdd 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -155,10 +155,9 @@ are always available and may be used simultaneously in separate plugins. The |system()| does not support writing/reading "backgrounded" commands. |E5677| -Nvim truncates ("throttles") shell-command messages echoed by |:!|, |:grep|, -and |:make|. No data is lost, this only affects display. This makes things -faster, but may seem weird for commands like ":!cat foo". Use ":te cat foo" -instead, |:terminal| output is never throttled. +Nvim may throttle (skip) messages from shell commands (|:!|, |:grep|, |:make|) +if there is too much output. No data is lost, this only affects display and +makes things faster. |:terminal| output is never throttled. |mkdir()| behaviour changed: 1. Assuming /tmp/foo does not exist and /tmp can be written to -- cgit