Subject: bug#66023: outline-minor-mode-use-buttons depends on whitespace-space face for some reason

From: Juri Linkov <[email-masked]>
Date: Mon, 18 Sep 2023 09:42:25 +0300

> I kind of make use of the relatively new outline-minor-mode-buttons
> feature. I have specfic settings regarding whitespace mode and I
> observed that hides the outline buttons deeper than level 2. Trying to
> debug this I found that was related to the whitespace-space face and
> but looking at outline.el gave me no hit's as to why that was the
> reason. So I am filing this issue with the minimal configuration to
> recreate the issue.

Thanks for 100% reproducible case.  I don't know what whitespace-mode
does with whitespace where outline-minor-mode-buttons adds own text
properties for buttons, but it's clear there is a conflict between
these two packages each trying to do own stuff in the same shared part
of the buffer.  By default outline-minor-mode inherits text properties
at the beginning of the line together with whitespace properties that
make the buttons not visible.

So you can just override the face inherited from the buffer with
own customization:

1. M-x customize-icon RET outline-open RET and the same for outline-close
2. in the Plist section you can add own value for the face:

            Plist:
            [INS] [DEL]:
                        Key: :face
                        Value: outline-2

PS: Maybe we need to add a new boolean option that will define
whether to inherit the face attribute from the buffer or
to use the outline faces.