updated for version 7.3.1164
Problem: Can't test what is actually displayed on screen.
Solution: Add the screenchar() and screenattr() functions.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index f7cc93b..09eb22d 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1906,6 +1906,8 @@
resolve( {filename}) String get filename a shortcut points to
reverse( {list}) List reverse {list} in-place
round( {expr}) Float round off {expr}
+screenattr( {row}, {col}) Number attribute at screen position
+screenchar( {row}, {col}) Number character at screen position
screencol() Number current cursor column
screenrow() Number current cursor row
search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
@@ -4890,6 +4892,21 @@
< -5.0
{only available when compiled with the |+float| feature}
+screenattr(row, col) *screenattr()*
+ Like screenchar(), but return the attribute. This is a rather
+ arbitrary number that can only be used to compare to the
+ attribute at other positions.
+
+screenchar(row, col) *screenchar()*
+ The result is a Number, which is the character at position
+ [row, col] on the screen. This works for every possible
+ screen position, also status lines, window separators and the
+ command line. The top left position is row one, column one
+ The character excludes composing characters. For double-byte
+ encodings it may only be the first byte.
+ This is mainly to be used for testing.
+ Returns -1 when row or col is out of range.
+
screencol() *screencol()*
The result is a Number, which is the current screen column of
the cursor. The leftmost column has number 1.