patch 9.1.1296: completion: incorrect truncation logic

Problem:  completion: incorrect truncation logic (after: v9.1.1284)
Solution: replace string allocation with direct screen rendering and
          fixe RTL/LTR truncation calculations (glepnir)

closes: #17081

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim
index d282f91..b2952fd 100644
--- a/src/testdir/test_popup.vim
+++ b/src/testdir/test_popup.vim
@@ -2126,7 +2126,7 @@
     call VerifyScreenDump(buf, 'Test_pum_maxwidth_16', {'rows': 8})
     call term_sendkeys(buf, "\<ESC>")
 
-    call term_sendkeys(buf, ":set fcs+=trunc:…\<CR>")
+    call term_sendkeys(buf, ":set fcs+=truncrl:…\<CR>")
     call term_sendkeys(buf, "S\<C-X>\<C-O>")
     call VerifyScreenDump(buf, 'Test_pum_maxwidth_17', {'rows': 8})
     call term_sendkeys(buf, "\<ESC>")