Subject: Re: bug#22891: 25.0.92; set-fringe-mode with left fringe 0 breaks window width calculations on Mac OS (again)

From: Eli Zaretskii <[email-masked]>
Date: Fri, 15 Apr 2016 10:42:48 +0300

> Date: Fri, 15 Apr 2016 09:11:12 +0200
> From: Anders Lindgren <[email-masked]>
> Cc: [email-masked], martin rudalics <[email-masked]>
> 
>  R2L lines display the continuation glyph on the left.
> 
>  > In fact, I just tried this with the left fringe set to 0 with a bidirectional text stretching multiple lines, and
>  the last
>  > text column didn't appear to be used at all.
> 
>  Sorry, I don't understand what you tried. Please show a screenshot.
> 
> I've attached a screenshot where I've:

You did that in *scratch*, which forces all lines to be L2R (because
its major mode is Emacs Lisp, a programming language mode).  See the
value of bidi-paragraph-direction in that buffer.  So all of your
lines are L2R, they just display text in R2L script.

To see what I meant, create a new buffer with "C-x b", then paste the
same text there, after setting the left fringe width to zero.

> Also, I noticed that `window-max-chars-per-line' does not take into account the variable `left-frame-width' (and
> presumably `right-frame-width').

You mean left-fringe-width, I presume?  Yes, that's probably a bug.

> In the short term, I would like to see a function like `(continuation-glyph-visible-p WIN)' which could be used by
> functions like `window-max-chars-per-line' to get the logic correct without having to resort to replicate the
> details of the display engine (which, apparently, is non-trivial).
> 
> In the long term, it would be great to have a `continuation-glyph-visible' frame property and corresponding
> buffer-local variable. That way a user could decide the layout for themselves.

Why is this useful, when we already have window-max-chars-per-line?
IOW, when would you like to know about the continuation glyph, and not
about how many characters can be displayed on a line?