Subject: Emacs 29; RTL replacing display bug on 1st line
From: JD Smith <[email-masked]>
To: [email-masked]
Date: Thu, 25 Jul 2024 08:29:45 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

With bidi-paragraph-direction=right-to-left, replacing 'display properties are sometimes reversed on the 1st displayed line of text. 

(let* ((w (window-font-width))
       (h (window-font-height))
       (face )
       (str (cl-loop for col in '("red" "green" "blue" "cyan")
                     concat "  "
                     concat (propertize " " 'face `(:background ,col)))))
    (dotimes (i 10)
      (insert "\n" (propertize " " 'display str) (format ";;  line %d" i))))

Evaluate in *scratch* and scroll the color bars off the top of the screen.  Try again with bidi-paragraph-direction=right-to-left and the color order will invert and the bars shift by one char.   

Verified in Emacs 29 emacs-mac and NS builds.