Subject: Re: bug#68765: 30.0.50; Adding window-tool-bar package.

From: Eli Zaretskii <[email-masked]>
Date: Sun, 02 Jun 2024 19:46:55 +0300

> Date: Sun, 02 Jun 2024 08:57:52 -0700
> From: Jared Finder <[email-masked]>
> Cc: [email-masked], [email-masked], [email-masked],
>  [email-masked]
> There's a misunderstanding here.  Can you please suggest how I can 
> change the documentation?  I'm not sure why the documentation I wrote 
> is confusing.

My problem for now is not with the documentation, it is with the
behavior.  When we agree on the behavior, we will be able to describe
it clearly.

> Let me explicitly describe the terms I am using:
> 
> When I write "the global (default) tool bar", that refers to the value 
> of (default-value 'tool-bar-map).  It's the tool bar with New File, 
> Open File, Open Directory, Kill Buffer, Save, Undo, Cut, Copy, Paste, 
> Isearch.  This doesn't change with major mode.  As far as I can tell, 
> it doesn't change during normal Emacs operations (unless a user chooses 
> to modify it, of course).
> 
> When I write "the frame tool bar", that refers to the tool bar 
> displayed at the top of a frame, as controlled by M-x tool-bar-mode.  
> There is no change of behavior here except for the new user option 
> tool-bar-always-show-default.
> 
> When I write "the window tool bar", that refers to the tool bar 
> displayed at the top of a window, as controlled by (newly added) M-x 
> window-tool-bar-mode or M-x global-window-tool-bar-mode.  The window 
> tool bar displays the value of tool-bar-map the window's displayed 
> buffer.  But it only displays that tool bar if it is not the same as 
> the global (default) tool bar.  It does not pay attention to the frame 
> tool bar.  Specifically, the test is:
> 
>  (eq tool-bar-map ;a buffer's tool bar
>      (default-value 'tool-bar-map) ;the global (default) tool bar
>   )

So a window under, say, Info mode will show the Info tool bar even
though the frame also shows that tool bar, just because that tool bar
is different from the default value of tool-bar-map?  Why is this
behavior useful?

How about if we make the behavior simpler and more predictable:

  If a window's buffer has a non-nil value of window-toolbar-mode,
  show the window-specific tool bar regardless of what it is and
  whether it is the same as the default.

Why is this not good enough?