unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: martin rudalics <rudalics@gmx.at>
Cc: 16923@debbugs.gnu.org
Subject: bug#16923: 24.3.50; reression: `set-frame-size' loses mode line
Date: Sun, 9 Mar 2014 12:14:40 -0700 (PDT)	[thread overview]
Message-ID: <f4b69b4f-74ad-424e-94f9-b86f84f73f1b@default> (raw)
In-Reply-To: <531CAF45.4090307@gmx.at>

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

>  > I cannot be sure that something, somewhere else did not issue another
>  > call of `set-frame-size', no.  My debugging is limited to `fit-frame'
>  > calls.
> 
> But you can make sure that that something, somewhere is not part of your
> code?

My code also calls `set-frame-size' on `minibuffer-exit-hook', to reset
the minibuffer frame size.  That's it.

However, my code also calls `modify-frame-parameters' in many contexts
and locations.  I tested again, after removing two of those from
functions on `post-command-hook', including resizing the minibuffer frame
- see attached (*-04.txt), which shows the same problem as before.
I believe that I have eliminated all other uses of
`modify-frame-parameters' from the test.

But if, for example, you have a suggested `defadvice' or something for
`set-frame-size' and `modify-frame-parameters' or whatever, I can try
that too.

>  > I made another test.  I removed the form feed from `window-dump-frame'
>  > and I have `fit-frame' call `window-dump-frame' only once before and once
>  > after `set-frame-size'.  And I have `fit-frame' print the requested new
>  > width and height, before calling `set-frame-size'.
> 
> Very good.
> 
>  > I tested it using `C-x C-_', which is bound to `fit-frame'.  See
>  > attached.
> 
> Fine.  But I need a couple of tests in sequence.  Seven as the last time
> might be good - I want to know whether the w32-rect problem shows up as
> well.  In your first test it did - but not immediately.  In the present
> tests it did not.

Unclear.  Please be clear about just what sequence of just which tests
you need.

>  > It shows that the height, as reported by `window--dump-frame', changed
>  > from 69 to 62 after the dump that reported the result of the first
>  > `set-frame-size'.  Why that would be is a mystery to me.
>  >
>  > It shows that the resulting height of the second `set-frame-size', which
>  > caused the mode line to disappear, is correct: 69.  (But the starting
>  > height, according to `window--dump-frame', was unexpected - see above.)
> 
> I think both problems

What are "both problems"?  I have seen only one problem, AFAIK: loss of
the mode line.

> disappear when you set `w32-enable-frame-resize-hack' to nil.
> Please do that and repeat the simple C-x C-_ test two times (I only need
> to see one ------------ between two dumps).

Attached, as *-05.txt.  As mentioned before, that stops the mode line
from disappearing, and it breaks thumbifying.

> For the moment, this is the most important test.
> 
>  > The two attachments show the same test, repeated.  But here is some
>  > more info that may help:
>  >
>  > If I just repeat calls to `fit-frame' when the frame is already the
>  > right size then the mode line does not disappear.  To manifest the
>  > problem, I must first manually resize the frame (e.g. with the mouse)
>  > so that `fit-frame' will actually resize it (change its size).  Then,
>  > after that first `fit-frame' resizes it correctly, a second `fit-frame'
>  > leads to the debug output attached: the mode line is lost, and the
>  > dump output from `fit-frame' BEFORE the `set-frame-size' shows an
>  > incorrect height value.
> 
> This would be fine but I don't see that anywhere in the dumps.  That is,
> I see that you request 101 columns and get 104 but that might be another
> issue.

No, I already stated that that corresponds to the (correct) frame fitting.
By correct I mean that the frame size changed and the mode line was not
lost.

And as you have now requested multiple dump files, you had better
cite just which file you are referring to from now on, when you make such
comments.  I assume that you meant throw-emacs-bug-16923-ter.txt here.
That file shows a correct resizing with no mode-line loss, followed by
no size change but with mode-line loss.

>  > IOW, it seems that what is needed is first (a) an actual change in
>  > frame size by `set-frame-size' and then (b) a `set-frame-size' that
>  > does not actually change the size.  Both (a) and (b) seem necessary
>  > to lose the mode line.  If I start with a frame that already has the
>  > target size (i.e., it has already been fit), then repeating `fit-frame'
>  > has no visible effect, including no loss of the mode line.
> 
> Can you provide a dump of that sequence supported by a good explanation
> of what you did?

What sequence?  I provided a good explanation of what I did.
Please be specific about just what recipe you want followed.

>  > Note too that even though the dump shows an incorrect height value,
>  > there is nothing visual that corresponds to this: The frame height
>  > after the frame is fit (correctly) does not visibly change when the
>  > second `fit-frame' is called.  The only visible effect of the second
>  > `fit-frame' is that the mode line disappears.
>  >
>  > IOW, `fit-frame', and thus `set-frame-size', seem to be doing their
>  > job correctly.  As you point out, and as these dumps show once again,
>  > something internal in Emacs seems to think that the height is less
>  > than it actually is (by 6 units, in this case).  The new, requested
>  > frame height is applied correctly.
> 
> Obviously, if Emacs (1) stores inside a bad value you do not see and you
> (2) ask it to change the frame size to itself, then (3) Emacs might
> surprise you with a frame with the bad value stored in (1).  That's what
> we have to find out.

Emacs has so far never surprised me with the wrong frame size.  So far,
it has resized the frame as I expectd each time.  The only problem is the
loss of the mode line - not the size of the frame.

[-- Attachment #2: throw-emacs-bug-16923-04.txt --]
[-- Type: text/plain, Size: 2484 bytes --]

------------

frame pixel: 728 x 804   cols/lines: 104 x 67   units: 7 x 12
frame text pixel: 707 x 804   cols/lines: 101 x 67
tool: 0  scroll: 21  fringe: 0  border: 0  right: 2  bottom: 2
w32-rect: (0 0 736 884), (0 0 728 804)
#<window 14 on throw-fit-frm.el>   parent: nil
pixel left: 0   top: 0   size: 728 x 804   new: 0
char left: 0   top: 0   size: 104 x 67   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 707 x 790   char: 101 x 65
width left fringe: 0  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 21  divider: 0
height header-line: 0  mode-line: 14  divider: 0

::: Requested WIDTH: 101, HEIGHT: 69

frame pixel: 728 x 828   cols/lines: 104 x 69   units: 7 x 12
frame text pixel: 707 x 828   cols/lines: 101 x 69
tool: 0  scroll: 21  fringe: 0  border: 0  right: 2  bottom: 2
w32-rect: (0 0 736 884), (0 0 728 804)
#<window 14 on throw-fit-frm.el>   parent: nil
pixel left: 0   top: 0   size: 728 x 828   new: 0
char left: 0   top: 0   size: 104 x 69   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 707 x 814   char: 101 x 67
width left fringe: 0  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 21  divider: 0
height header-line: 0  mode-line: 14  divider: 0

------------

frame pixel: 728 x 684   cols/lines: 104 x 57   units: 7 x 12
frame text pixel: 707 x 684   cols/lines: 101 x 57
tool: 0  scroll: 21  fringe: 0  border: 0  right: 2  bottom: 2
w32-rect: (0 0 736 764), (0 0 728 684)
#<window 14 on throw-fit-frm.el>   parent: nil
pixel left: 0   top: 0   size: 728 x 684   new: 0
char left: 0   top: 0   size: 104 x 57   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 707 x 670   char: 101 x 55
width left fringe: 0  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 21  divider: 0
height header-line: 0  mode-line: 14  divider: 0

::: Requested WIDTH: 101, HEIGHT: 69

frame pixel: 728 x 828   cols/lines: 104 x 69   units: 7 x 12
frame text pixel: 707 x 828   cols/lines: 101 x 69
tool: 0  scroll: 21  fringe: 0  border: 0  right: 2  bottom: 2
w32-rect: (0 0 736 884), (0 0 728 804)
#<window 14 on throw-fit-frm.el>   parent: nil
pixel left: 0   top: 0   size: 728 x 828   new: 0
char left: 0   top: 0   size: 104 x 69   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 707 x 814   char: 101 x 67
width left fringe: 0  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 21  divider: 0
height header-line: 0  mode-line: 14  divider: 0


[-- Attachment #3: throw-emacs-bug-16923-05.txt --]
[-- Type: text/plain, Size: 2478 bytes --]

------------

frame pixel: 728 x 804   cols/lines: 104 x 67   units: 7 x 12
frame text pixel: 707 x 804   cols/lines: 101 x 67
tool: 0  scroll: 21  fringe: 0  border: 0  right: 2  bottom: 2
w32-rect: (0 0 736 884), (0 0 728 804)
#<window 14 on throw-fit-frm.el>   parent: nil
pixel left: 0   top: 0   size: 728 x 804   new: 0
char left: 0   top: 0   size: 104 x 67   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 707 x 790   char: 101 x 65
width left fringe: 0  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 21  divider: 0
height header-line: 0  mode-line: 14  divider: 0

::: Requested WIDTH: 101, HEIGHT: 69

frame pixel: 728 x 804   cols/lines: 104 x 67   units: 7 x 12
frame text pixel: 707 x 804   cols/lines: 101 x 67
tool: 0  scroll: 21  fringe: 0  border: 0  right: 2  bottom: 2
w32-rect: (0 0 736 884), (0 0 728 804)
#<window 14 on throw-fit-frm.el>   parent: nil
pixel left: 0   top: 0   size: 728 x 804   new: 0
char left: 0   top: 0   size: 104 x 67   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 707 x 790   char: 101 x 65
width left fringe: 0  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 21  divider: 0
height header-line: 0  mode-line: 14  divider: 0

------------

frame pixel: 679 x 708   cols/lines: 97 x 59   units: 7 x 12
frame text pixel: 658 x 708   cols/lines: 94 x 59
tool: 0  scroll: 21  fringe: 0  border: 0  right: 2  bottom: 2
w32-rect: (0 0 687 788), (0 0 679 708)
#<window 14 on throw-fit-frm.el>   parent: nil
pixel left: 0   top: 0   size: 679 x 708   new: 0
char left: 0   top: 0   size: 97 x 59   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 658 x 694   char: 94 x 57
width left fringe: 0  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 21  divider: 0
height header-line: 0  mode-line: 14  divider: 0

::: Requested WIDTH: 101, HEIGHT: 69

frame pixel: 679 x 708   cols/lines: 97 x 59   units: 7 x 12
frame text pixel: 658 x 708   cols/lines: 94 x 59
tool: 0  scroll: 21  fringe: 0  border: 0  right: 2  bottom: 2
w32-rect: (0 0 736 884), (0 0 728 804)
#<window 14 on throw-fit-frm.el>   parent: nil
pixel left: 0   top: 0   size: 679 x 708   new: 0
char left: 0   top: 0   size: 97 x 59   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 658 x 694   char: 94 x 57
width left fringe: 0  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 21  divider: 0
height header-line: 0  mode-line: 14  divider: 0



  reply	other threads:[~2014-03-09 19:14 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-02 20:05 bug#16923: 24.3.50; reression: `set-frame-size' loses mode line Drew Adams
2014-03-02 20:51 ` Eli Zaretskii
2014-03-03  8:29 ` martin rudalics
2014-03-03 14:43   ` Drew Adams
2014-03-03 18:37     ` martin rudalics
2014-03-03 19:17       ` Drew Adams
2014-03-03 19:43         ` martin rudalics
2014-03-03 21:07           ` Drew Adams
2014-03-04  8:08             ` martin rudalics
2014-03-04 18:45               ` Drew Adams
2014-03-05  7:26                 ` martin rudalics
2014-03-05 15:43                   ` Drew Adams
2014-03-05 16:02                     ` Juanma Barranquero
2014-03-05 18:20                     ` martin rudalics
2014-03-05 18:32                       ` Drew Adams
2014-03-05 19:28                         ` martin rudalics
2014-03-05 19:42                           ` Drew Adams
2014-03-05 19:53                             ` martin rudalics
2014-03-05 21:23                               ` Drew Adams
2014-03-06 17:26                                 ` martin rudalics
2014-03-06 18:25                                   ` Drew Adams
2014-03-06 18:54                                     ` martin rudalics
2014-03-06 20:51                                       ` Drew Adams
2014-03-06 21:26                                         ` martin rudalics
2014-03-06 21:51                                           ` Drew Adams
2014-03-07  7:39                                             ` martin rudalics
2014-03-07 16:48                                               ` Drew Adams
2014-03-07 17:48                                                 ` martin rudalics
2014-03-07 18:09                                                   ` Drew Adams
2014-03-07 18:36                                                     ` martin rudalics
2014-03-07 19:13                                                       ` Drew Adams
2014-03-08  9:11                                                         ` martin rudalics
2014-03-08 15:34                                                           ` Drew Adams
2014-03-08 15:48                                                             ` Eli Zaretskii
2014-03-08 18:59                                                               ` martin rudalics
2014-03-08 18:59                                                             ` martin rudalics
2014-03-08 19:12                                                               ` Drew Adams
2014-03-08 19:54                                                                 ` martin rudalics
2014-03-08 22:51                                                                   ` Drew Adams
2014-03-09 13:56                                                                     ` martin rudalics
2014-03-09 16:35                                                                       ` Drew Adams
2014-03-09 18:13                                                                         ` martin rudalics
2014-03-09 19:14                                                                           ` Drew Adams [this message]
2014-03-10  9:04                                                                             ` martin rudalics
2014-03-28 15:29                                                                               ` Drew Adams
2014-03-28 19:28                                                                                 ` martin rudalics
2019-08-15  1:08                                                                                   ` Lars Ingebrigtsen
2019-08-15  1:32                                                                                     ` Drew Adams
2014-03-05 20:05                           ` Eli Zaretskii
2014-03-03 15:54   ` Eli Zaretskii
     [not found] <<b3d29ce8-c0cb-442e-9e6d-fda3d349c778@default>
     [not found] ` <<834n3gtjco.fsf@gnu.org>
2014-03-02 21:53   ` Drew Adams
     [not found] ` <<53143D5C.7020000@gmx.at>
     [not found]   ` <<a2349e72-8172-4652-a980-890f813bc623@default>
     [not found]     ` <<5314CBE1.6050905@gmx.at>
     [not found]       ` <<04dda5ae-8b70-42f5-ae09-c1d05ebc9297@default>
     [not found]         ` <<5314DB5D.50709@gmx.at>
     [not found]           ` <<29b76228-778a-4aea-8fe4-5abedb5b6795@default>
     [not found]             ` <<531589F3.1050300@gmx.at>
     [not found]               ` <<70615a8e-3923-40c3-bfbc-af0a305cd6df@default>
     [not found]                 ` <<5316D1B5.8040801@gmx.at>
     [not found]                   ` <<a2e7f767-2129-4d48-97f4-18b8fbfd6af7@default>
     [not found]                     ` <<53176AF2.9010800@gmx.at>
     [not found]                       ` <<edc5b3cb-8cbd-47fa-aa9e-be9372c43863@default>
     [not found]                         ` <<53177AEF.9050106@gmx.at>
     [not found]                           ` <<83d2i0qulk.fsf@gnu.org>
2014-03-05 21:02                             ` Drew Adams
2014-03-06  3:41                               ` Eli Zaretskii
     [not found]                           ` <<3f31643f-2638-4ada-8dc4-b3069f3a82fc@default>
     [not found]                             ` <<531780D7.6070109@gmx.at>
     [not found]                               ` <<291bd9d5-923f-440a-821a-06f585557e67@default>
     [not found]                                 ` <<5318AFD9.4000208@gmx.at>
     [not found]                                   ` <<8be91728-fcea-4e74-afff-db6a55b52985@default>
     [not found]                                     ` <<5318C478.1090007@gmx.at>
     [not found]                                       ` <<0f1c6cae-f9cd-4a2b-a662-bcc4116daafc@default>
     [not found]                                         ` <<5318E810.7000705@gmx.at>
     [not found]                                           ` <<dbc69634-37da-4dcf-a7c6-6c43184b4b6c@default>
     [not found]                                             ` <<531977B2.8030109@gmx.at>
     [not found]                                               ` <<f46ec99a-8a39-44f2-bf49-7845e1461a3e@default>
     [not found]                                                 ` <<531A0655.5040400@gmx.at>
     [not found]                                                   ` <<5e0232ee-58e3-42a3-8102-e12e8e605b2b@default>
     [not found]                                                     ` <<531A11BE.5070300@gmx.at>
     [not found]                                                       ` <<738285f8-0119-49cd-b5b5-7e9607fadff3@default>
     [not found]                                                         ` <<531ADEBC.9030200@gmx.at>
     [not found]                                                           ` <<1cb471a0-5db3-4c77-90ff-ed8aa2c9bd0b@default>
     [not found]                                                             ` <<83lhwkpu87.fsf@gnu.org>
2014-03-08 15:56                                                               ` Drew Adams

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=f4b69b4f-74ad-424e-94f9-b86f84f73f1b@default \
    --to=drew.adams@oracle.com \
    --cc=16923@debbugs.gnu.org \
    --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).