Digging deeper into bug 43587, it seems to be related to move-to-column behaving slightly different when the text in a line has the invisible property set.

Here is how to recreate. According to the documentation for move-to-column, I would not expect any difference between the two lines:

> Optional second argument FORCE non-nil means if COLUMN is in the middle of a tab character, change it to spaces.

For the first line, the tab has not been changed to spaces...

Am I overlooking something?

Kind Regards,
Christoph

(progn
  (switch-to-buffer "indent-test.txt")
  (erase-buffer)
  (insert "\tLine starting with INVISIBLE text after TAB\n")
  (insert "\tLine starting with visible text after TAB\n")
  (insert "\nUsing move-to-column to move 'into' TAB, using the FORCE parameter on both lines\n")
  (whitespace-mode 1)
  (add-text-properties 2 21 '(invisible t))
  (beginning-of-buffer)
  (move-to-column 7 t)
  (forward-line)
  (move-to-column 7 t))