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

From: Ihor Radchenko <[email-masked]>
Date: Tue, 18 Jul 2023 07:58:11 +0000

Hi,

This is a follow-up of Org mode bug report
https://orgmode.org/list/[email-masked]

Consider the following MWE:

(progn
  (switch-to-buffer (get-buffer-create "*Test*"))
  (erase-buffer)
  (insert "Test case with char before point hidden<point>     :more text:")
  (search-backward ">")
  (forward-char)
  (with-silent-modifications (put-text-property (1- (point)) (point) 'invisible t))
  (let ((indent-tabs-mode nil)) (indent-to 100)))

The text is inserted and then indented as expected when 'invisible
property is not applied:

-------------
Test case with char before point hidden<point>                                                      <point>     :more text:
-------------

However, after un-commenting `put-text-property' line, no indentation is
done "visually" because Finsert_char is called with INHERIT argument Qt.

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.17.8) of 2023-07-17 built on localhost
Repository revision: 603ac9505d5d0eebf27798620d1826788739fad8
Repository branch: feature/named-lambdas
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Gentoo Linux

-- 
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>