From: Eli Zaretskii <eliz@gnu.org>
To: martin rudalics <rudalics@gmx.at>
Cc: jonas@bernoul.li, 38181@debbugs.gnu.org
Subject: bug#38181: Actual height of mode-line not taken into account
Date: Mon, 04 May 2020 16:46:27 +0300 [thread overview]
Message-ID: <83wo5rolsc.fsf@gnu.org> (raw)
In-Reply-To: <01cee2f7-aeb5-4eb1-b2d5-e056c91eab8b@gmx.at> (message from martin rudalics on Sat, 2 May 2020 20:06:38 +0200)
> Cc: jonas@bernoul.li, 38181@debbugs.gnu.org
> From: martin rudalics <rudalics@gmx.at>
> Date: Sat, 2 May 2020 20:06:38 +0200
>
> > Suppose we had a Lisp-callable function which would return the height
> > of the mode line of a window as per the current mode-line-format for
> > that window -- would that make the solution possible/easier?
>
> Suppose I wanted to write such a function. Then the problem is with
> scenarios like your earlier
Sorry for the belated response, there's a tsunami out there...
> (defun test-popup ()
> (interactive)
> (set-face-attribute 'mode-line nil :height 350)
> (set-face-attribute 'mode-line-inactive nil :height 350)
> (with-current-buffer (generate-new-buffer "*test*")
> (save-excursion
> (insert "one\ntwo\nthree\nfour\nfive"))
> (let ((win (display-buffer (current-buffer)
> '(display-buffer-in-side-window
> (side . bottom)))))
> (fit-window-to-buffer win))))
>
> If I wanted to take into account the changes of the face attributes in
> 'fit-window-to-buffer', I'd have to set 'inhibit-free-realized-faces'
> there to nil in order to apply the necessary face changes. Wouldn't
> that possibly harm our window matrices? Can you somehow summarize how
> that variable is supposed to be treated in general? I already gave up
> fighting with it in Bug#40639.
I don't think I follow. Are you saying that
inhibit-free-realized-faces is non-nil when you run Lisp
interactively, or in general in a Lisp program that was not called,
directly or indirectly, from redisplay_internal? That should never
happen, as the code arranges for inhibit-free-realized-faces to be
reset to its original value when redisplay_internal returns. If this
doesn't work, then we have a serious bug on our hands, and should fix
it ASAP.
This variable is supposed to be non-nil only when we are done
preparing the desired matrices and are about to call update_frame,
because that function cannot cope with faces referenced in the desired
matrices that were meanwhile freed. This could happen if some hook
called from redisplay_internal manages to run code that decides to
free the faces.
But once update_frame is done, we don't need this variable set
anymore, and it should revert to nil soon enough, because
redisplay_internal returns soon after that.
What am I missing?
next prev parent reply other threads:[~2020-05-04 13:46 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-12 16:52 bug#38181: Actual height of mode-line not taken into account Jonas Bernoulli
2019-11-13 8:03 ` martin rudalics
2019-11-15 13:50 ` Eli Zaretskii
2019-11-15 13:48 ` Eli Zaretskii
2019-11-15 14:24 ` Jonas Bernoulli
2019-11-15 15:11 ` Eli Zaretskii
2019-11-15 23:51 ` Jonas Bernoulli
2019-11-16 8:38 ` Eli Zaretskii
2019-11-16 14:54 ` Jonas Bernoulli
2019-11-16 15:59 ` Eli Zaretskii
2019-11-17 16:17 ` Jonas Bernoulli
2019-11-15 19:38 ` Eli Zaretskii
2019-11-16 8:20 ` martin rudalics
2019-11-16 8:35 ` Eli Zaretskii
2019-11-16 8:57 ` martin rudalics
2019-11-16 10:57 ` Eli Zaretskii
2019-11-16 19:28 ` martin rudalics
2019-11-16 19:44 ` Eli Zaretskii
2019-11-17 8:55 ` martin rudalics
2019-11-17 17:26 ` Eli Zaretskii
2019-11-17 18:15 ` martin rudalics
2019-11-17 18:35 ` Eli Zaretskii
2019-11-18 9:44 ` martin rudalics
2019-11-18 15:42 ` Eli Zaretskii
2019-11-18 18:45 ` martin rudalics
2020-05-02 18:06 ` martin rudalics
2020-05-04 13:46 ` Eli Zaretskii [this message]
2020-05-04 15:04 ` martin rudalics
2020-05-04 17:05 ` martin rudalics
2020-05-05 8:32 ` martin rudalics
2020-05-05 14:58 ` Eli Zaretskii
2020-05-05 16:57 ` martin rudalics
2020-05-05 17:11 ` Eli Zaretskii
2020-05-06 6:50 ` martin rudalics
2020-05-06 9:27 ` Eli Zaretskii
2020-05-06 9:44 ` martin rudalics
2020-05-06 14:16 ` Eli Zaretskii
2020-05-07 8:34 ` martin rudalics
2020-05-07 12:41 ` Eli Zaretskii
2020-05-06 14:44 ` Eli Zaretskii
2020-05-07 8:34 ` martin rudalics
2020-05-10 14:33 ` Eli Zaretskii
2020-05-11 8:30 ` martin rudalics
2020-05-15 15:00 ` Eli Zaretskii
2020-05-16 8:44 ` martin rudalics
2020-05-16 10:46 ` Eli Zaretskii
2019-11-16 15:27 ` Jonas Bernoulli
2019-11-16 16:19 ` Eli Zaretskii
2019-11-16 19:30 ` martin rudalics
2019-11-16 19:45 ` Eli Zaretskii
2019-11-17 9:01 ` martin rudalics
2019-11-17 17:22 ` Eli Zaretskii
2019-11-17 18:16 ` martin rudalics
2019-11-17 18:39 ` Eli Zaretskii
2019-11-18 9:45 ` martin rudalics
2019-11-18 15:46 ` Eli Zaretskii
2019-11-18 18:46 ` martin rudalics
2019-11-17 16:21 ` Jonas Bernoulli
2019-11-16 19:30 ` martin rudalics
2021-10-15 5:13 ` Carlos Pita
2021-10-15 7:05 ` martin rudalics
2021-10-15 7:26 ` Carlos Pita
2021-10-15 7:54 ` Eli Zaretskii
2021-10-15 8:18 ` Carlos Pita
2021-10-15 8:35 ` martin rudalics
2021-10-15 8:45 ` Carlos Pita
[not found] ` <CAEOO5TdaV=tdj23afEcqJGZf4JM3VVQ6TFt4F3q6k6d=f4_36w@mail.gmail.com>
[not found] ` <776a35b7-1920-2987-88ae-6dcab958a8e4@gmx.at>
2021-10-15 9:07 ` Carlos Pita
2021-10-16 7:55 ` martin rudalics
2021-10-16 11:23 ` Carlos Pita
2021-10-16 16:48 ` martin rudalics
2021-10-16 18:00 ` Carlos Pita
2021-10-16 19:41 ` martin rudalics
2021-10-16 19:57 ` Carlos Pita
2021-10-16 21:27 ` Carlos Pita
2021-10-17 6:06 ` Eli Zaretskii
2021-10-17 6:45 ` Carlos Pita
2021-10-17 8:34 ` martin rudalics
2021-10-17 8:34 ` martin rudalics
2021-10-17 8:33 ` martin rudalics
2021-10-18 9:34 ` martin rudalics
2021-10-18 15:56 ` Carlos Pita
2021-10-18 17:44 ` martin rudalics
2021-10-18 18:27 ` Eli Zaretskii
2021-10-18 23:35 ` Carlos Pita
2021-10-19 0:11 ` Carlos Pita
2021-10-19 9:25 ` martin rudalics
2021-10-19 12:22 ` Eli Zaretskii
2021-10-22 9:04 ` martin rudalics
2021-10-22 14:55 ` Carlos Pita
2021-11-07 18:48 ` Carlos Pita
[not found] ` <CAEOO5TemeSrLkudEBRbMaLrCXq7A0y5uv+SdcfZwMo77onMMoA@mail.gmail.com>
2021-10-19 10:09 ` martin rudalics
2021-10-15 7:51 ` Eli Zaretskii
2021-10-15 8:00 ` Carlos Pita
2021-10-15 10:40 ` Eli Zaretskii
2021-10-15 18:33 ` Carlos Pita
2021-10-15 19:08 ` Eli Zaretskii
2021-10-15 20:09 ` Carlos Pita
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=83wo5rolsc.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=38181@debbugs.gnu.org \
--cc=jonas@bernoul.li \
--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 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.