Subject: Re: bug#28771: 26.0.60; A couple space display property feature requests

From: Eli Zaretskii <[email-masked]>
Date: Tue, 10 Oct 2017 09:47:48 +0300

> From: Alex <[email-masked]>
> Date: Mon, 09 Oct 2017 18:20:42 -0600
> 
> I've branched this out from the following thread instead of posting it
> there:
> https://lists.gnu.org/archive/html/help-gnu-emacs/2017-10/msg00037.html

Sorry, I've somehow missed that.  I answered there now.

> Here's a few features that would be nice for the pixel-specified space
> properties.
> 
> 1. Specifying the pixel width to the left/center/right of the text area.
>    This is helpful (I believe it's necessary if I want it to be robust)
>    when one wants to pad either side of a string with the same number of
>    pixels and the left side uses (:align-to 0).
> 
>    I could use (:width (+ left-fringe left-margin)) for the right
>    padding, but this doesn't take into account line-number display, as
>    well as the scroll-bar width (if it's on the left).
> 
> 2. Specifying the pixel position relative to the left or right edge of
>    the window. The right edge of the window currently may be the right
>    edge of the right fringe or the scroll bar, depending on what side it
>    is on. Also, just in the case that in the future the
>    fringe/scroll-bar may not be the outermost elements, there should be
>    a way to explicitly specify one of the edges.

These two requests are no in the original message, and I admit I don't
really understand the situations they describe.  Can you elaborate
about them, preferably with an example that shows what is currently
possible and an explanation why the current capabilities are
insufficient?  (Yes, I've seen the patches you propose, but I still
would like to understand the problems better.)

> 3. Following from "1." and the help-gnu-emacs thread, it would be nice
>    if there was a display property that allowed you to pad a string on
>    both sides with a pixel-specified space instead of surrounding it
>    with 2 pixel-specified spaces.

I replied on help-gnu-emacs.  In a nutshell, the 'space' display spec
is a replacing spec, so it cannot be easily used on non-space text.
You could probably have a before-string whose value is a space with
the 'space' display spec, if that makes any difference.  Or you could
use the space-width spec, as described on help-gnu-emacs.

Thanks.