[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p
From: |
Eli Zaretskii |
Subject: |
bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p |
Date: |
Sun, 12 Nov 2017 06:10:58 +0200 |
> Date: Sat, 11 Nov 2017 14:33:22 -0800
> From: Keith David Bershatsky <esq@lawlist.com>
> Cc: Alan Third <alan@idiocy.org>,Anders Lindgren <andlind@gmail.com>,David
> Reitter <david.reitter@gmail.com>,Martin Rudalics
> <rudalics@gmx.at>,29233@debbugs.gnu.org
>
> The crux of the issue raised with #29233 is whether users might wish to see a
> fringe bitmap instead of a partial width cursor when point is slightly less
> than the exact window width. Whereas the patches relating to #16856 reduce
> the width of the cursor so that it does not overflow into the fringe
> (creating unwanted artifacts), there was nothing done to permit a fringe
> bitmap to be placed there instead.
>
> I had not given any consideration to the possibility that a partial width
> cursor is "a feature". I.e., I erroneously assumed that a partial width
> cursor was merely an attempt to avoid unwanted artifacts being drawn on the
> fringe.
>
> I personally like to see fringe bitmaps when points is slightly less than the
> exact widow width; however, I am uncertain how to reconcile that proposed
> feature with the desire by others to see a partial width cursor without a
> fringe bitmap.
The part of the display code that deals with the cursor on the fringes
is insanely complicated. It's part of the code which deals with the
following features:
. "normal" display of the cursor at the end of a line
. showing the cursor on the right (or left, for RTL lines) fringe
when a line fits in the window exactly
. showing the continuation/truncation bitmaps on the fringes
. showing the continuation/truncation glyphs in the text area when
the fringes are disabled
. displaying a TAB or any other stretch of white space that extends
beyond the window edge
. all of the above, when lines are wrapped (word-wrap is non-nil)
. most of the above on TTY frames
(I could be forgetting some use cases.) Each one of these needs
special considerations in the move_it_* functions, because those
functions need to support all of those correctly.
Adding any more complexity to what we already have on our hands is IMO
only justified for some significant features. The proposed one seems
to be only of aesthetic value, so I don't think we should complicate
the display code more than it already is on this behalf.
> If the consensus is that a user who has a window-width that is not an
> integral multiple of frame's character width must give up the ability to see
> a fringe bitmap, then that resolves #29233.
It's not just the window being the integral multiple, it's _any_
situation where some space is available between the right edge of the
last glyph and the window edge. Don't forget that Emacs supports
variable-pitch fonts and can display glyphs from different fonts on
the same line, which will almost always leave some fractional space at
the end of the line.
I don't know if this is the consensus, but I just don't think we
should go there.
- bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p, (continued)
- bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p, Keith David Bershatsky, 2017/11/09
- bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p, Alan Third, 2017/11/09
- bug#16856: Enable fringe cursor when *almost* exact_window_width_line_p, Eli Zaretskii, 2017/11/10
- bug#16856: Enable fringe cursor when *almost* exact_window_width_line_p, Anders Lindgren, 2017/11/11
- bug#16856: Enable fringe cursor when *almost* exact_window_width_line_p, Eli Zaretskii, 2017/11/11
- bug#16856: Enable fringe cursor when *almost* exact_window_width_line_p, Anders Lindgren, 2017/11/11
- bug#16856: Enable fringe cursor when *almost* exact_window_width_line_p, Alan Third, 2017/11/11
- bug#16856: Enable fringe cursor when *almost* exact_window_width_line_p, Anders Lindgren, 2017/11/11
bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p, Keith David Bershatsky, 2017/11/09
bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p, Keith David Bershatsky, 2017/11/11
- bug#29233: Enable fringe cursor when *almost* exact_window_width_line_p,
Eli Zaretskii <=