unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#66023: outline-minor-mode-use-buttons depends on whitespace-space face for some reason
@ 2023-09-16  7:45 Yilkal Argaw
  2023-09-18  6:42 ` Juri Linkov
  0 siblings, 1 reply; 3+ messages in thread
From: Yilkal Argaw @ 2023-09-16  7:45 UTC (permalink / raw)
  To: 66023

Hi,

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.

Emacs Version
GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version
1.16.0, Xaw3d scroll bars)

The minimal config to create the issue is
(with-eval-after-load 'whitespace
  (setq whitespace-style (quote (face spaces tabs space-mark tab-mark)))
  (setq whitespace-display-mappings '((space-mark 32 [183] [46])
(tab-mark 9 [9655 9] [92 9]))))

(add-hook 'after-init-hook (global-whitespace-mode t))

(add-hook 'prog-mode-hook 'outline-minor-mode t)

(add-hook 'outline-minor-mode-hook
            (setq outline-minor-mode-use-buttons 't
                     outline-minor-mode-cycle 't
                     outline-minor-mode-cycle-filter 'bolp))

(custom-fset-faces `(whitespace-space ((t (:foreground
,(face-background 'default) :background nil))))
                               `(whitespace-tabs ((t (:foreground
,(face-background 'default) :background nil)))))


After that try and open code a python or ruby class that has method
inside it. It can be clearly seen that the outline-buttons for the
methods exist but are hidden because they are somehow affected by
whitespace-space face. (Marking the code shows that the buttons exist
but are hidden). I hope this helps in recreating the issue it was hard
to explain because it was very specific.

With Regards
Yilkal Argaw





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#66023: outline-minor-mode-use-buttons depends on whitespace-space face for some reason
  2023-09-16  7:45 bug#66023: outline-minor-mode-use-buttons depends on whitespace-space face for some reason Yilkal Argaw
@ 2023-09-18  6:42 ` Juri Linkov
  2023-09-18  8:31   ` Yilkal Argaw
  0 siblings, 1 reply; 3+ messages in thread
From: Juri Linkov @ 2023-09-18  6:42 UTC (permalink / raw)
  To: Yilkal Argaw; +Cc: 66023

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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#66023: outline-minor-mode-use-buttons depends on whitespace-space face for some reason
  2023-09-18  6:42 ` Juri Linkov
@ 2023-09-18  8:31   ` Yilkal Argaw
  0 siblings, 0 replies; 3+ messages in thread
From: Yilkal Argaw @ 2023-09-18  8:31 UTC (permalink / raw)
  To: Juri Linkov; +Cc: 66023

[-- Attachment #1: Type: text/plain, Size: 1860 bytes --]

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

I think that might be the way to handle it. It might even be worth having
that as the default because there might be other faces that inherit from
the buffer.

On Mon, Sep 18, 2023 at 6:59 AM Juri Linkov <juri@linkov.net> wrote:

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

[-- Attachment #2: Type: text/html, Size: 2279 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-18  8:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-16  7:45 bug#66023: outline-minor-mode-use-buttons depends on whitespace-space face for some reason Yilkal Argaw
2023-09-18  6:42 ` Juri Linkov
2023-09-18  8:31   ` Yilkal Argaw

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).