From: "Drew Adams" <drew.adams@oracle.com>
To: "'martin rudalics'" <rudalics@gmx.at>
Cc: 1754@emacsbugs.donarmstrong.com
Subject: bug#1754: 23.0.60; tool-bar is shown with tool-bar-mode off
Date: Thu, 1 Jan 2009 13:28:17 -0800 [thread overview]
Message-ID: <008801c96c57$dcbd5540$0200a8c0@us.oracle.com> (raw)
In-Reply-To: <495CE033.70808@gmx.at>
> > (tool-bar-mode -1)
> [...]
> > (setq default-frame-alist
> > (append (list (cons 'tool-bar-lines 1))
> > default-frame-alist))
>
> Inherently, you're painting yourself into a corner by simultaneously
> demanding and rejecting toolbars. Moreover, that last assignment gets
> you a second entry for `tool-bar-lines' in
> `default-frame-alist' (and we have received _lots_ of mails
> from you complaining about such duplicate entries before).
No, as a result of those "_lots_ of mails" I sent, that bug was finally fixed.
No duplicate entries are created by Emacs since 2008-12-31.
However, you are correct that the code above creates a second entry for
`tool-bar-lines'. That should not be a problem - the first entry is used (it is
an alist, after all). That is, there is no corner. The latest change to the
parameter `tool-bar-lines' should _always_ prevail - regardless of whether you
use `modify-frame-parameters' or (setq default-frame-alist...) or you call
`tool-bar-mode'.
The problem is, I'm thinking now, that the entry (tool-bar-lines . 1) in
`pop-up-frames-alist' is being used for the creation of new frames when
`pop-up-frames' is non-nil. If that is happening, it is incorrect behavior, on
two counts:
1. `tool-bar-mode' should be modal and affect all existing and subsequent
frames, regardless of their default alist (`special-display-frame-alist',
`pop-up-frame-alist', or `default-frame-alist').
2. `pop-up-frame-alist' should not be used for creating normal new frames.
The "pop-up" in each of the names `pop-up-frames' and `pop-up-frames-alist'
means very different things. `pop-up-frames-alist' is not about creating normal
new frames - `default-frame-alist' should be used for that. And `pop-up-frames'
simply changes things like `C-x 4 f' to act like `C-x 5 f' - it has nothing to
do with popup frames.
`pop-up-frames-alist' is about special, "popup" frames (which is why it is a
separate alist, like `special-display-frame-alist'):
"Alist of frame parameters used when creating pop-up frames.
Pop-up frames are used for completions, help, and the like.
This variable can be set in your init file, like this:
(setq pop-up-frame-alist '((width . 80) (height . 20)))
These supersede the values given in `default-frame-alist',
for pop-up frames."
> However, you do _not_ set `initial-frame-alist' simultaneously,
> so you won't get a toolbar for the first frame which is the
> correct behavior since you have toggled tool-bar-mode off
> before and only that counts for the initial frame (unless you
> explicitly override it). Since `default-frame-alist' contains
> a tool-bar-lines entry you will get a toolbar for future frames
> which is correct as well.
Sorry, all of that text is irrelevant to my bug report. I am not concerned about
the initial frame.
> That said, the behavior of Emacs _is_ wrong because it should not say
> that `tool-bar-mode' is on when there are no toolbars.
More importantly, if you turn the mode off, new frames should also not have tool
bars. That is the point here.
> The reason is that `tool-bar-mode' does
>
> (if tool-bar-mode
> (progn
> (dolist (frame (frame-list))
> (if (display-graphic-p frame)
> (set-frame-parameter frame 'tool-bar-lines 1)))
> (if (= 1 (length (default-value 'tool-bar-map))) ; not yet setup
> (tool-bar-setup)))
> (modify-all-frames-parameters (list (cons 'tool-bar-lines 0)))))
>
> so you can easily see that for turning `tool-bar-mode' off,
> default and initial frame parameters are set. For turning it on, only the
> parameters of the existing frames are set and _no_ default or initial
> parameters.
That might be at least partly responsible for the bug.
Again, the current bugged behavior:
1. is a regression - the behavior was correct in Emacs 22
2. does not correspond to the behavior of `menu-bar-mode', which is correct in
Emacs 23, like 22
> Since the `display-graphic-p' test is not useful
> anyway, I propose the attached patch.
I think the logic of your patch is needed, but it is not sufficient.
I tried your patch (by just redefining tool-bar-mode after running my test
case), but it unfortunately does not seem to fix the problem. I suspect the
remaining problem is as I indicated above: `pop-up-frame-alist' is being used
when it shouldn't be used - to open normal frames (not popup frames).
The Emacs 22.3 code works fine in all regards.
next prev parent reply other threads:[~2009-01-01 21:28 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <496873E5.9080601@gmx.at>
2008-12-31 22:15 ` bug#1754: 23.0.60; tool-bar is shown with tool-bar-mode off Drew Adams
2009-01-01 15:24 ` martin rudalics
2009-01-01 15:53 ` Jason Rumney
2009-01-01 16:09 ` martin rudalics
2009-01-01 21:28 ` Drew Adams [this message]
2009-01-01 21:51 ` Drew Adams
2009-01-02 7:52 ` martin rudalics
2009-01-02 7:52 ` martin rudalics
2009-01-03 3:12 ` Stefan Monnier
2009-01-03 10:13 ` martin rudalics
2009-01-05 4:10 ` Stefan Monnier
2009-01-05 7:57 ` martin rudalics
2009-01-05 22:20 ` Stefan Monnier
2009-01-06 13:37 ` martin rudalics
2009-01-09 19:37 ` martin rudalics
2009-01-10 2:29 ` Stefan Monnier
2009-01-10 10:04 ` martin rudalics
2009-01-10 22:38 ` Stefan Monnier
2009-01-11 11:22 ` martin rudalics
2009-01-11 14:56 ` Stefan Monnier
2009-01-11 17:14 ` martin rudalics
2009-01-11 23:12 ` Stefan Monnier
2009-01-12 9:58 ` martin rudalics
2009-01-12 15:23 ` Stefan Monnier
2009-01-12 16:00 ` martin rudalics
2009-01-12 18:29 ` Stefan Monnier
2009-01-12 19:33 ` Lennart Borgman
2009-01-12 20:57 ` Stefan Monnier
2009-01-12 21:59 ` Drew Adams
2009-01-14 14:20 ` martin rudalics
2009-01-17 18:33 ` Drew Adams
2009-01-09 19:37 ` martin rudalics
2009-01-09 20:21 ` Chong Yidong
2009-01-10 10:20 ` bug#1754: marked as done (23.0.60; tool-bar is shown with tool-bar-mode off) Emacs bug Tracking System
2009-01-01 3:05 bug#1754: 23.0.60; tool-bar is shown with tool-bar-mode off Chong Yidong
2009-01-01 5:17 ` Drew Adams
2009-01-01 7:03 ` Chong Yidong
2009-01-01 21:28 ` Drew Adams
2009-01-01 21:51 ` Drew Adams
2009-01-02 0:01 ` Jason Rumney
2009-01-02 1:14 ` Drew Adams
2009-01-02 2:27 ` Drew Adams
2009-01-02 2:47 ` Drew Adams
2009-01-02 11:57 ` Jason Rumney
2009-01-02 14:50 ` martin rudalics
2009-01-01 7:36 ` Jason Rumney
2009-01-01 21:28 ` Drew Adams
2009-01-01 23:53 ` Jason Rumney
2009-01-02 1:14 ` Drew Adams
-- strict thread matches above, loose matches on Subject: below --
2009-01-01 13:47 grischka
2009-01-01 13:51 ` Jason Rumney
2009-01-01 14:30 ` grischka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='008801c96c57$dcbd5540$0200a8c0@us.oracle.com' \
--to=drew.adams@oracle.com \
--cc=1754@emacsbugs.donarmstrong.com \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).