GNU bug report logs -
#16923
24.3.50; reression: `set-frame-size' loses mode line
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Sun, 2 Mar 2014 20:06:02 UTC
Severity: normal
Tags: moreinfo
Found in version 24.3.50
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Trying to pick up this bug thread again. I'm afraid your last mail
is confusing to me at this point.
This is what I've done for this test:
1. Ensure, I think, that the only calls to `set-frame-size' are from
my calling `fit-frame' interactively (via C-x C-_). Nothing on
`post-command-hook' that invokes `set-frame-size', for instance.
2. Resized a frame manually (with the mouse), so that the next call
to `fit-frame' would actually change the size (to fit the buffer text).
3. C-x C-_ (`fit-frame'), which fit the frame, with no loss of the
mode line.
4. C-x C-_ again, which fit the frame (as a no-op, no size change
needed), this time with loss of the mode line (the bug).
Attached is the log, *window-frame-dump*. After #3, I added a
line of zeros to the buffer, to make clear where the second call to
`fit-frame' (hence `set-frame-size') occurred.
The relevant lines from `fit-frame' are these:
(with-current-buffer (get-buffer-create "*window-frame-dump*")
(insert (format "::: Requested WIDTH: %S, HEIGHT: %S\n" wid hgt)))
(set-frame-size frame wid hgt))))))
And this is the `window-dump-frame' code I used:
(defun window--dump-frame (&optional window-or-frame)
"..."
(interactive)
(let* ((window
(cond
((or (not window-or-frame)
(frame-live-p window-or-frame))
(frame-root-window window-or-frame))
((or (window-live-p window-or-frame)
(window-child window-or-frame))
window-or-frame)
(t
(frame-root-window))))
(frame (window-frame window)))
(with-current-buffer (get-buffer-create "*window-frame-dump*")
;;(erase-buffer)
(insert
(format "\nframe pixel: %s x %s cols/lines: %s x %s \
units: %s x %s\n"
(frame-pixel-width frame) (frame-pixel-height frame)
(frame-total-cols frame) (frame-text-lines frame)
(frame-char-width frame) (frame-char-height frame))
(format "frame text pixel: %s x %s cols/lines: %s x %s\n"
(frame-text-width frame) (frame-text-height frame)
(frame-text-cols frame) (frame-text-lines frame))
(format "tool: %s scroll: %s fringe: %s border: %s \
right: %s bottom: %s\n"
(tool-bar-height frame t)
(frame-scroll-bar-width frame)
(frame-fringe-width frame)
(frame-border-width frame)
(frame-right-divider-width frame)
(frame-bottom-divider-width frame))
(format "w32-rect: %S, %S\n"
(w32-frame-rect frame)
(w32-frame-rect frame t)))
(walk-window-tree 'window--dump-window frame t t))))
HTH.
[throw-bug-16923-2014-03-27a.txt (text/plain, attachment)]
This bug report was last modified 5 years and 341 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.