Subject: Re: bug#11832: 24.1.50; enhancement request: line truncation not dependent on fringe

From: Eli Zaretskii <[email-masked]>
Date: Sun, 01 Jul 2012 19:09:00 +0300

> From: "Drew Adams" <[email-masked]>
> Date: Sun, 1 Jul 2012 07:13:47 -0700
> 
> Prior to Emacs 21, truncated lines are indicated by an overlay with a
> `$' symbol shown on each line at the right window edge, i.e., within the
> window & buffer - not in the fringe.

Just for the sake of accuracy: those are not overlays (in the Emacs
sense).  They are special glyphs inserted by the display engine as
indication of line truncation.

> In Emacs 21+, this representation was lost AFAIK, replaced by adding a
> symbol to the right fringe.

Only in GUI sessions.  If you invoke "emacs -nw", you will still see
those truncation glyphs.

> Please let users choose the representation to use.  One way to do this
> would be to let option `truncate-lines' respect different non-nil
> values, e.g. `right-fringe', `overlay'.
>  
> Since the fringe representation is not general (is useless unless fringe
> is shown), the default should be the pre-Emacs 21 behavior of using an
> overlay.  But I won't argue about the default.  Please provide users a
> way to get the pre-21 behavior - that's the main point.

Unfortunately, it is very hard (a.k.a. "impossible") to do that.  The
problem is that, depending on the font and the characters on a line, a
line can be truncated in the middle of a glyph, and in that situation
inserting a truncation glyph will not work, because for that you need
a character cell that can accommodate the truncation glyph "$".  There
are clear comments about that in the display code.

However, if someone finds a clever solution to this dilemma, patches
or ideas are welcome.