Subject: bug#64696: 30.0.50; indent-to inherits preceding text properties, including 'invisible

From: Ihor Radchenko <[email-masked]>
Date: Fri, 28 Jul 2023 13:02:14 +0000

Eli Zaretskii <[email-masked]> writes:

>> Width of spaces in particular can vary depending on the text properties.
>> (:width and :relative-width in 41.16.2 Specified Spaces section of Elisp manual)
>> Width of tabs can be controlled by tabs stops (AFAIU, I am not familiar
>> with this feature).
>
> So you are saying that indent-to should take care of not inheriting
> text properties from preceding text?  Or are there any other problems?

AFAIU, we concluded previously that non-inheriting text properties is a
no-go because it will likely break things.
So, I think that `indent-to' should take care calculating space width
accurately in the presence of :width and similar specs.

Not sure what to do with :align-to.

> As for tabs, the width is controlled by tab-width, but indent-to
> already takes that into consideration.  Am I missing something?  (If
> you are thinking about tab-stop-list, that is only used by commands
> that move or indent to tab stops, AFAIK.)

I was thinking about tab-stop-list, but, as I said, I am not familiar
with it. If you say that tab-width is the only single thing influencing
the display, then I do not see any problem.

... well, except the generic problem that `indent-to' may inherit
'display or 'invisible property that completely modifies how the
inserted spaces/tabs are displayed. But I do not see any useful way to
account for 'display/'invisible other than by ignoring it. Changing
number of spaces/tabs will not affect the resulting display in such
scenarios.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>