neovim/test/functional/eval
Björn Linse e598811e76 ui: disable clearing almost everywhere
Avoid clearing the screen in most situations. NOT_VALID should be
equivalent to CLEAR unless some external force messed up the terminal,
for these situations <c-l> and :mode will still clear the screen.

Also eliminate some obsolete code in screen.c, that dealt with that in
vim drawing window 1 can mess up window 2, but this never happens in
nvim.

But what about slow terminals? There is two common meanings in which
a terminal is said to be "slow":

Most commonly (and in the sense of vim:s nottyfast) it means low
bandwidth for sending bytes from nvim to the terminal. If the screen is
very similar before and after the update_screen(CLEAR) this change
should reduce bandwidth. If the screen is quite different, but there is
no new regions of contiguous whitespace, clearing doesn't reduce
bandwidth significantly. If the new screen contains a lot of whitespace,
it will depend of if vsplits are used or not: as long as there is no
vsplits, ce is used to cheaply clear the rest of the line, so
full-screen clear is not needed to reduce bandwith. However a left
vsplit currently needs to be padded with whitespace all the way to the
separator. It is possible ec (clear N chars) can be used to reduce
bandwidth here if this is a problem. (All of this assumes that one
doesn't set Normal guibg=... on a non-BCE terminal, if you do you are
doomed regardless of this change).

Slow can also mean that drawing pixels on the screen is slow. E-ink
screens is a recent example. Avoiding clearing and redrawing the
unchanged part of the screen will always improve performance in these
cases.
2018-10-22 11:59:02 +02:00
..
api_functions_spec.lua ui: refactor ui options 2018-02-13 20:48:51 +01:00
backtick_expansion_spec.lua win: enable backtick_expansion and shell output tests 2018-02-10 22:28:12 +01:00
buf_functions_spec.lua test: API: fix tests after improved error capture 2018-05-10 04:01:25 +02:00
changedtick_spec.lua *: Fix linter errors 2017-02-23 19:48:41 +03:00
container_functions_spec.lua eval/typval,tests: Fix extending list with itself, add tests 2017-03-29 10:08:06 +03:00
executable_spec.lua test: executable(): AppVeyor: Ignore "sibling" failure 2017-02-04 11:07:50 +01:00
execute_spec.lua tests: improve robustness of immediate successes in screen tests 2018-10-15 20:13:11 +02:00
fnamemodify_spec.lua test: use helpers.pathroot() to avoid a syscall 2018-01-29 00:05:35 -05:00
function_spec.lua functests: Move function_spec to eval 2017-06-20 18:17:47 +03:00
getline_spec.lua Merge #7860 'fix get_buffer_lines' 2018-01-16 08:21:25 +01:00
glob_spec.lua functests: Replace execute with either command or feed_command 2017-04-09 03:24:08 +03:00
has_spec.lua win: has("wsl") on Windows Subsystem for Linux #7330 2018-01-30 21:12:49 +01:00
hostname_spec.lua test/win: fix some environment assumptions #7912 2018-01-28 19:10:18 +01:00
input_spec.lua ui: disable clearing almost everywhere 2018-10-22 11:59:02 +02:00
interrupt_spec.lua *: Fix some problems found during review 2017-12-15 02:39:46 +03:00
json_functions_spec.lua eval/decode.c: Avoid NULL arg to memchr() #7332 2017-11-06 05:00:58 +01:00
let_spec.lua test/let_spec: self-referencing List. (#6228) 2017-03-08 03:23:40 +01:00
map_functions_spec.lua mbyte: Fix crash when using multibyte chars in maparg() return (#6986) 2017-07-09 10:40:46 +02:00
match_functions_spec.lua API: return non-generic VimL errors 2018-05-09 23:18:38 +02:00
minmax_functions_spec.lua eval: Fix max_min functions 2017-03-29 10:08:06 +03:00
modeline_spec.lua functests: Replace execute with either command or feed_command 2017-04-09 03:24:08 +03:00
msgpack_functions_spec.lua ui: refactor ui options 2018-02-13 20:48:51 +01:00
null_spec.lua eval: Fix add() 2017-12-11 10:34:58 +03:00
operators_spec.lua functests: Check logs in lua code 2016-06-10 21:50:49 +03:00
printf_spec.lua eval: Add id() function and make printf("%p") return something useful (#6095) 2017-02-11 19:47:02 +01:00
reltime_spec.lua functests: Replace execute with either command or feed_command 2017-04-09 03:24:08 +03:00
server_spec.lua test: API: fix tests after improved error capture 2018-05-10 04:01:25 +02:00
setpos_spec.lua vim-patch:8.0.0256: missing changes to one file breaks test 2018-06-07 12:02:57 -04:00
sort_spec.lua eval: Silence PVS/V547: E882 may be triggered 2018-04-15 18:45:12 +03:00
special_vars_spec.lua Make "v:errmsg", "v:shell_error" and "v:this_session" distinct 2018-07-23 08:47:51 +09:00
string_spec.lua *: Move some dictionary functions to typval.h and use char* 2017-03-29 10:07:42 +03:00
system_spec.lua shell/logging: Fix E730 with verbose system({List}) #9009 2018-09-21 09:20:04 +02:00
timer_spec.lua tests: improve robustness of immediate successes in screen tests 2018-10-15 20:13:11 +02:00
uniq_spec.lua functests: Fix testlint errors 2018-04-22 20:32:25 +03:00
vvar_event_spec.lua functests: Check logs in lua code 2016-06-10 21:50:49 +03:00
writefile_spec.lua test: update writefile test for invalid list items 2018-06-24 16:22:16 -04:00