Subject: Re: bug#60692: 29.0.60; current-indentation wrong without outline ellipsis

From: Eli Zaretskii <[email-masked]>
Date: Mon, 09 Jan 2023 20:34:50 +0200

> From: Juri Linkov <[email-masked]>
> Date: Mon, 09 Jan 2023 19:34:07 +0200
> 
> When there is an outline ellipsis displayed at the end of outline headings,
> then the correct indentation 2 is returned in this test case:
> 
> (progn
>   (switch-to-buffer (get-buffer-create "test1"))
>   (insert "* h\n  .\n")
>   (outline-mode)
>   (outline-hide-sublevels 1)
>   (goto-char 8)
>   (current-indentation))

How is 2 correct in this case?  I'd expect 6.  2 is correct when point
is on 'h'.

> But when the ellipsis is disabled with invisibility-spec:
> 
> (progn
>   (switch-to-buffer (get-buffer-create "test2"))
>   (insert "* h\n  .\n")
>   (outline-mode)
>   (remove-from-invisibility-spec '(outline . t))
>   (add-to-invisibility-spec 'outline)
>   (outline-hide-sublevels 1)
>   (goto-char 8)
>   (current-indentation))
> 
> then the returned indentation is 0 that is incorrect.

I think they are both incorrect, because the algorithm in
current-indentation doesn't expect that the current line is entirely
made of invisible text.