[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#42307: Feature request: Visual block attribute for overlays
From: |
Gregory Heytings |
Subject: |
bug#42307: Feature request: Visual block attribute for overlays |
Date: |
Fri, 10 Jul 2020 08:24:12 +0000 |
User-agent: |
Alpine 2.21 (NEB 202 2017-01-01) |
In Emacs 21 to 26, overlays between two points in the buffer on two
different lines extend to the right border of the window. This has
changed in Emacs 27, and now the default is that overlays extend only one
character position after the last character of the line. The previous
behavior can be obtained with the ":extend t" face attribute. I agree that
the earlier behavior was not optimal, but I think the current behavior
with its staircase aspect is (at least for some cases) not optimal either.
I think a third way to display overlays would make sense, and would be
better than the earlier and current defaults. Let's name this attribute
":visualblock". It would produce the following result:
1. calculate the overlay as it would have been displayed by Emacs 21-26.
2. remove all pixel columns on the right *and on the left* of the overlay
which have no "content" (that is, no characters on the right, and
whitespace characters on the left).
With this, on overlay on, for example, a block of code between () or {}
would be displayed on the screen as a block. The above "algorithm" works
with fixed and variable-width fonts, but could be made more efficient for
fixed-width fonts.
To give an example of what I mean, I attach three pictures, taken with
(show-paren-mode) and (setq show-paren-style 'expression), showing
respectively the earlier default, the current default, and the proposed
"visualblock" feature.
Gregory
earlier-default.png
Description: PNG image
current-default.png
Description: PNG image
visualblock.png
Description: PNG image
- bug#42307: Feature request: Visual block attribute for overlays,
Gregory Heytings <=
- bug#42307: Feature request: Visual block attribute for overlays, Drew Adams, 2020/07/10
- bug#42307: Feature request: Visual block attribute for overlays, Drew Adams, 2020/07/10
- bug#42307: Feature request: Visual block attribute for overlays, Gregory Heytings, 2020/07/10
- bug#42307: Feature request: Visual block attribute for overlays, Gregory Heytings, 2020/07/10
- bug#42307: Feature request: Visual block attribute for overlays, Juri Linkov, 2020/07/11
- bug#42307: Feature request: Visual block attribute for overlays, Drew Adams, 2020/07/11
- bug#42307: Feature request: Visual block attribute for overlays, Gregory Heytings, 2020/07/12
- bug#42307: Feature request: Visual block attribute for overlays, Juri Linkov, 2020/07/12