Subject: bug#12723: 24.2; Improvement: changing text rectangle kill/past and its integration with the kill-ring

From: Eli Zaretskii <[email-masked]>
Date: Wed, 24 Oct 2012 23:35:48 +0200

> From: Stefan Monnier <[email-masked]>
> Date: Wed, 24 Oct 2012 14:59:22 -0400
> Cc: [email-masked]
> 
> Also, I'd expect the rectangular highlighting to be done by moving the
> region-highlighting code to Elisp (using the previously-mentioned
> but vaporware before-redisplay-hook).

How would such a rectangular highlighting behave when some of the text
in the region is R2L and some L2R?  Will it select text in visual
order or in logical (buffer) order?

Anyway, doing this kind of stuff in Lisp is not trivial even if we
disregard the bidirectional text issue, because variable-size fonts,
double-width characters, composed characters, display strings, and
other display atrocities complicate the 1:1 relation between buffer
text and what's on the glass.  In fact, I had hard time doing that in
C with bidi-aware mouse highlight.  And AFAICT, we have no facilities
to access display-related structures from Lisp.

So I'd suggest that if someone wants to work on this, he or she
presents a detailed design first regarding the above complications.