all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juanma Barranquero <lekktu@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 14841@debbugs.gnu.org
Subject: bug#14841: Frames created invisible have their visibility parameter set to t
Date: Sat, 20 Jul 2013 16:54:05 +0200	[thread overview]
Message-ID: <CAAeL0SSW+7kQFfUMfVDPvcxgpNbmxWj+c84oWbioMNE-P1pJwA@mail.gmail.com> (raw)
In-Reply-To: <83siz9xsdq.fsf@gnu.org>

On Sat, Jul 20, 2013 at 3:39 PM, Eli Zaretskii <eliz@gnu.org> wrote:

>> emacs -Q
>> M-: (setq *f* (make-frame '((visibility . nil)))) <RET>
>> M-: (frame-visible-p *f*) <RET>
>>  => t
>
> In your example, it said "nil", not "t":
>
>   ELISP> (progn (setq *f* (make-frame '((visibility . icon))))
>   (frame-visible-p *f*))
>   nil
>
> And that's what I get after the change mentioned previously.

Allow me to recapitulate. Without your patch (that I haven't yet tested):

(1) M-: (progn (setq *f* (make-frame '((visibility . X))))
(frame-visible-p *f*)) <RET>
(2) M-: (frame-visible-p *f*) <RET>

 X      (1)   (2)
------ ----- ------
 t       t     t
 nil    nil    t
 icon   nil   icon

I think both the (1) and (2) columns show bugs.

In column (1), if t is the right value for visibility = t, because the
frame is already shown, and nil is the right value for visibility .
nil, because it is invisible, then the answer for visibility . icon
should be icon, because the frame is already iconified (and so,
"visible").

For column (2), the value t for visibility . nil is a bug, because the
frame is invisible.

> Because frame-visible-p makes no sense as long as the frame was not
> displayed.  (In what sense is an un-displayed frame "visible"?)

"Frame visibility" conflates two three things: whether and how the
user sees the frame, what does elisp think about the frame status, and
what the frame parameter of the frame says about its status. We use
frame-visible-p for the first two queries, or rather, for the second
one hoping that it matches the first one. If you disagree and think
that frame-visible-p should only answer the first query, then we need
a way to ask the second one, because sometimes you have to create a
frame and do things with it long before it is displayed ("long" in the
sense that many things happen between it being created and being
displayed). That's not a theoretical exercise, that's a bug that's
bitten me with desktop-restore-frames.

   J





  reply	other threads:[~2013-07-20 14:54 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-11 15:14 bug#14841: Frames created invisible have their visibility parameter set to t Juanma Barranquero
2013-07-11 15:33 ` Eli Zaretskii
2013-07-11 15:39   ` Juanma Barranquero
2013-07-11 16:29     ` Eli Zaretskii
2013-07-11 16:54       ` Juanma Barranquero
2013-07-14 16:52         ` Eli Zaretskii
2013-07-14 17:02           ` Juanma Barranquero
2013-07-19 13:04             ` Juanma Barranquero
2013-07-20 12:56               ` Eli Zaretskii
2013-07-20 13:01                 ` Juanma Barranquero
2013-07-20 13:39                   ` Eli Zaretskii
2013-07-20 14:54                     ` Juanma Barranquero [this message]
2013-07-20 15:48                       ` Eli Zaretskii
2013-07-20 16:09                         ` Eli Zaretskii
2013-07-20 16:57                           ` Juanma Barranquero
2013-07-20 17:37                             ` Eli Zaretskii
2013-07-23 23:36                               ` Juanma Barranquero
2013-07-20 16:35                         ` Juanma Barranquero
2013-07-20 12:53             ` Eli Zaretskii
2013-07-20 12:55               ` Juanma Barranquero
2013-07-24 16:50               ` Juanma Barranquero
2013-07-25 19:17                 ` Eli Zaretskii
2013-07-25 19:35                 ` Eli Zaretskii
2013-07-25 20:17                   ` Juanma Barranquero
2013-07-26  0:11                     ` Juanma Barranquero
2013-07-26  6:32                       ` Eli Zaretskii
2013-07-26  9:37                         ` Juanma Barranquero
2013-07-26 10:01                           ` Eli Zaretskii
2013-07-26 10:01                           ` Eli Zaretskii
2013-07-27 12:43                             ` martin rudalics
2013-07-27 13:03                               ` Eli Zaretskii
2013-07-27 13:30                                 ` martin rudalics
2013-07-27 15:31                                   ` Eli Zaretskii
2013-07-28  8:40                                     ` martin rudalics
2013-07-28 14:59                                       ` Eli Zaretskii
2013-07-29  7:54                                         ` martin rudalics
2013-07-29 15:26                                           ` Eli Zaretskii
2013-07-29 16:58                                             ` martin rudalics
2013-07-29 18:37                                               ` Eli Zaretskii
2013-07-30  9:12                                                 ` martin rudalics
2013-07-30 15:31                                                   ` Eli Zaretskii
2013-07-30 16:16                                                     ` martin rudalics
2013-07-30 14:11                                                 ` martin rudalics
2013-07-30 15:52                                                   ` Eli Zaretskii
2013-07-31  8:33                                                     ` martin rudalics
2013-08-06  8:56                                                       ` martin rudalics
2013-07-28 22:08                             ` Juanma Barranquero
2013-07-29 16:36                               ` Eli Zaretskii
2013-07-26  6:31                     ` Eli Zaretskii
2013-07-26  9:37                       ` Juanma Barranquero
2013-07-11 16:54 ` Glenn Morris
2013-07-11 16:55   ` Juanma Barranquero

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAeL0SSW+7kQFfUMfVDPvcxgpNbmxWj+c84oWbioMNE-P1pJwA@mail.gmail.com \
    --to=lekktu@gmail.com \
    --cc=14841@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.