Six months ago I installed vim 8.2 on Windows 10 and vim 8.1.2269 on Linux Ubuntu, both with +rightleft option.
When I use the "Hebrew mode" (gvim --clean -H or vim --clean -H) and run :set number, I get line numbers on the right side (as it should be - so far so good).
However, some line numbers appear reversed, i.e., 009 instead of 900 -- unlike in previous versions of vim, e.g. version 7.4.52 and or 8.1.1, which displayed the line numbers correctly.
More precisely:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.![]()
This is caused by patch: https://github.com/vim/vim/releases/tag/v8.1.1073
The problem is is part of the patch:
+ // like rl_mirror(), but keep the space at the end + p2 = skiptowhite(extra) - 1;
For lines where the whole numbercolumn is filled with numbers, this works as expected, but for the others, this will actually decrement the p2 and point to before the extra pointer.
I think this patch should fix it:
diff --git a/src/screen.c b/src/screen.c index 7706b6c58..7913de678 100644 --- a/src/screen.c +++ b/src/screen.c @@ -3901,8 +3901,9 @@ win_line( int t; // like rl_mirror(), but keep the space at the end - p2 = skiptowhite(extra) - 1; - for (p1 = extra; p1 < p2; ++p1, --p2) + p2 = skipwhite(extra); + p2 = skiptowhite(p2) - 1; + for (p1 = skipwhite(extra); p1 < p2; ++p1, --p2) { t = *p1; *p1 = *p2;