unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: carlosjosepita@gmail.com, monnier@iro.umontreal.ca,
	18793@debbugs.gnu.org
Subject: bug#18793: 24.4; zero width rectangular selection displaces text
Date: Fri, 06 May 2022 16:50:23 +0300	[thread overview]
Message-ID: <8335hm22jk.fsf@gnu.org> (raw)
In-Reply-To: <878rrelt6e.fsf@gnus.org> (message from Lars Ingebrigtsen on Fri,  06 May 2022 14:52:25 +0200)

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: monnier@iro.umontreal.ca,  carlosjosepita@gmail.com,  18793@debbugs.gnu.org
> Date: Fri, 06 May 2022 14:52:25 +0200
> 
> > Adding capabilities to the Emacs display that operate on
> > sub-character-cell resolution will mean serious complications.  For
> > example, what would we do when displaying color Emoji at that place?
> > Or what about images?  Or what if the character in question is
> > currently highlighted by mouse-face?
> >
> > IOW, I'm asking whether these marginal features are worth a serious
> > surgery and complications in the display engine, which currently has
> > the canvas-based design?
> 
> display-fill-column-indicator-mode was the only one that sprang
> immediately to mind, but I think it could be useful when displaying
> tabular data, and you want to mark boundaries without taking up extra
> space, for instance.

I think trying to display text in tables without taking space for the
borders will introduce significant complications into our display
code.  Text in a table and its borders need to be aligned separately.

> And speaking off the fill indicator -- bug#54598 talks a bit about the
> problems with the current implementation.

Sure, there are limitations to how we can stretch our current display
code.  But the solution is not to stretch it more, IMNSHO, it's to
replace it with a completely new and different design, which could
allow that much more easily.

> But that mode does show how a box cursor and a region could behave
> with these vertical lines.

It does?  AFAIK, we don't show the vertical line when there's a
character at that column, and consequently displaying the cursor
doesn't need to cope with any issues caused by that.

> And I don't think colour emojis or images would represent that much of a
> problem -- I think we'd draw the line on top of the glyph?

The line itself is not the problem; the problem is the color of that
line.  How do you draw a vertical line of a given color over images
and Emoji that have their inherent colors?  Do we just overwrite those
colors?  Won't that be ugly?

There will also be complications with characters whose glyphs "invade"
cells of neighboring characters: Emacs draws characters one by one, so
adding such vertical lines will need to come back after text was drawn
and draw the line, as opposed to doing that as part of drawing
individual glyphs that we do now.

Bottom line: it sounds like a lot of complications for a minor issue
with a minor feature.





  reply	other threads:[~2022-05-06 13:50 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-22 14:32 bug#18793: 24.4; zero width rectangular selection displaces text Carlos Pita
2014-10-22 17:29 ` Stefan Monnier
2014-10-22 17:42   ` Eli Zaretskii
2014-10-23  0:55     ` Stefan Monnier
2022-05-05 13:16 ` Lars Ingebrigtsen
2022-05-05 16:34   ` Eli Zaretskii
2022-05-05 17:51     ` Drew Adams
2022-05-06 10:26     ` Lars Ingebrigtsen
2022-05-06 10:47       ` Eli Zaretskii
2022-05-06 11:05         ` Lars Ingebrigtsen
2022-05-06 11:06           ` Lars Ingebrigtsen
2022-05-06 11:19           ` Eli Zaretskii
2022-05-06 11:33             ` Lars Ingebrigtsen
2022-05-06 11:44               ` Eli Zaretskii
2022-05-06 12:52                 ` Lars Ingebrigtsen
2022-05-06 13:50                   ` Eli Zaretskii [this message]
2022-05-07 10:11                     ` Lars Ingebrigtsen
2022-05-07 10:18                       ` Lars Ingebrigtsen
2022-05-07 10:28                         ` Eli Zaretskii
2022-05-07 10:27                       ` Eli Zaretskii
2022-05-06 14:50                 ` Drew Adams
2022-06-02 19:19                   ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-03  0:30                     ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8335hm22jk.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=18793@debbugs.gnu.org \
    --cc=carlosjosepita@gmail.com \
    --cc=larsi@gnus.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).