From: Dmitry Gutov <dgutov@yandex.ru>
To: martin rudalics <rudalics@gmx.at>, Eli Zaretskii <eliz@gnu.org>
Cc: rpluim@gmail.com, 52493@debbugs.gnu.org
Subject: bug#52493: 29.0.50; Setting Inconsolata up in init.el makes default face rendered wrong
Date: Wed, 21 Dec 2022 03:08:16 +0200 [thread overview]
Message-ID: <eb51efcc-517b-79bd-6fb9-0984057efd2e@yandex.ru> (raw)
In-Reply-To: <8faaa5db-7099-b4d5-fae2-97b1eb28b90c@gmx.at>
Hi Martin,
Sorry I only got around to doing this now.
This seems to still be a problem in emacs-29, however.
On 17/12/2021 21:17, martin rudalics wrote:
> > When I evaluate
> >
> > (set-face-attribute 'default nil :height 110 :family
> "InconsolataLGC")
> >
> > (this variation of the font doesn't have the original problem), the
> height of the window shrinks, unless the window is maximized.
>
> When a frame is maximized, no implied resizing is done. With
>
> (push 'font frame-inhibit-implied-resize)
>
> a non-maximized frame should also keep its size in your case.
>
> > If I evaluate it multiple times, the height shrinks every time I do
> > that
>
> This might be a rounding error or some misunderstanding wrt what the WM
> (mutter in your case?) thinks our frame size is and what Emacs thinks.
> In x_new_font (in xterm.c) we do
Not sure if it's Mutter these days, but it's definitely GNOME Shell.
GNOME 43.1 now (I filed this issue with a much older GNOME).
> FRAME_COLUMN_WIDTH (f) = font->average_width;
> ...
> FRAME_LINE_HEIGHT (f) = font_ascent + font_descent;
> ...
> adjust_frame_size
> (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
> FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, false, Qfont);
>
> which should have the effect that (frame-height) and (frame-width)
> remain unaltered when changing the default font. Apparently, this fails
> in your case.
>
> > (stopping at height 5, when even the minibuffer becomes
> > inaccessible
>
> This is a separate issue I fixed here some time ago. But I don't
> remember whether I pushed it and/or whether it requires additional
> customizations to make it DTRT (it might depend on the ability to drop
> window decorations one by one when a frame is shrunk).
I've tried stepping through the function, and the height does shrink
when I evaluate the previously mentioned form. Not sure which of the
values are useful to you, which ones I should have printed along the
way. But see the debug log at the bottom.
All this with 'emacs -Q'. It might be because of a rounding error, but
maybe not. The bug happens with most window heights, but not with all.
E.g., it stayed stable at (frame-height) = 36. Set it to a larger value
- and it goes on shrinking until 36. Set it to a lower value (35 or
less), and it does on to shrink until 10 in small steps.
Here's the debugging log. This is just one iteration.
Thread 1 "emacs" hit Breakpoint 3, x_new_font (f=0x55555628e5e0,
font_object=XIL(0x555556287395), fontset=28) at xterm.c:26174
26174 FRAME_COLUMN_WIDTH (f) = font->average_width;
(gdb) p font->text_height
There is no member named text_height.
(gdb) p f->text_height
$7 = 1116
(gdb) xint
$8 = 279
(gdb) n
26175 get_font_ascent_descent (font, &font_ascent, &font_descent);
(gdb) n
26176 FRAME_LINE_HEIGHT (f) = font_ascent + font_descent;
(gdb) n
26179 FRAME_MENU_BAR_HEIGHT (f) = FRAME_MENU_BAR_LINES (f) *
FRAME_LINE_HEIGHT (f);
(gdb) c
Continuing.
Thread 1 "emacs" hit Breakpoint 3, x_new_font (f=0x55555628e5e0,
font_object=XIL(0x5555562d9865), fontset=28) at xterm.c:26174
26174 FRAME_COLUMN_WIDTH (f) = font->average_width;
(gdb) c
Continuing.
Thread 1 "emacs" hit Breakpoint 3, x_new_font (f=0x55555628e5e0,
font_object=XIL(0x555556287395), fontset=28) at xterm.c:26174
26174 FRAME_COLUMN_WIDTH (f) = font->average_width;
(gdb) n
26175 get_font_ascent_descent (font, &font_ascent, &font_descent);
(gdb) n
26176 FRAME_LINE_HEIGHT (f) = font_ascent + font_descent;
(gdb) n
26179 FRAME_MENU_BAR_HEIGHT (f) = FRAME_MENU_BAR_LINES (f) *
FRAME_LINE_HEIGHT (f);
(gdb) n
26182 FRAME_TAB_BAR_HEIGHT (f) = FRAME_TAB_BAR_LINES (f) *
FRAME_LINE_HEIGHT (f);
(gdb) n
26188 unit = FRAME_COLUMN_WIDTH (f);
(gdb) n
26189 if (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0)
(gdb) n
26190 FRAME_CONFIG_SCROLL_BAR_COLS (f)
(gdb) n
26199 if (FRAME_X_WINDOW (f) != 0 && !FRAME_TOOLTIP_P (f))
(gdb) p f->text_height
$9 = 1044
(gdb) xint
$10 = 261
(gdb) n
26200 adjust_frame_size
(gdb) n
26205 if (FRAME_XIC (f)
(gdb) p f->text_height
$11 = 1008
(gdb) xint
$12 = 252
(gdb) c
Continuing.
next prev parent reply other threads:[~2022-12-21 1:08 UTC|newest]
Thread overview: 169+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-14 23:43 bug#52493: 29.0.50; Setting Inconsolata up in init.el makes default face rendered wrong Dmitry Gutov
2021-12-15 14:57 ` Eli Zaretskii
2021-12-15 22:43 ` Dmitry Gutov
2021-12-16 7:29 ` Eli Zaretskii
2021-12-16 13:01 ` Dmitry Gutov
2021-12-16 13:31 ` Eli Zaretskii
2021-12-16 13:42 ` Dmitry Gutov
2021-12-16 14:08 ` Eli Zaretskii
2021-12-16 14:57 ` Dmitry Gutov
2021-12-16 15:15 ` Eli Zaretskii
2021-12-16 15:34 ` Eli Zaretskii
2021-12-16 15:42 ` Dmitry Gutov
2021-12-16 16:56 ` Eli Zaretskii
2021-12-17 0:49 ` Dmitry Gutov
2021-12-17 7:37 ` Eli Zaretskii
2021-12-17 7:46 ` Lars Ingebrigtsen
2021-12-17 8:38 ` Eli Zaretskii
2022-12-21 1:14 ` Dmitry Gutov
2022-12-21 9:38 ` Gregory Heytings
2022-12-21 12:49 ` Eli Zaretskii
2022-12-21 23:39 ` Gregory Heytings
2022-12-22 7:18 ` Eli Zaretskii
2022-12-25 22:42 ` Gregory Heytings
2022-12-21 13:40 ` Dmitry Gutov
2022-12-21 23:39 ` Gregory Heytings
2022-12-22 7:20 ` Eli Zaretskii
2022-12-25 22:42 ` Gregory Heytings
2022-12-26 12:20 ` Eli Zaretskii
2022-12-26 14:05 ` Gregory Heytings
2022-12-22 20:32 ` Dmitry Gutov
2022-12-25 22:42 ` Gregory Heytings
2022-12-26 0:46 ` Gregory Heytings
2022-12-26 12:25 ` Eli Zaretskii
2022-12-29 22:45 ` Gregory Heytings
2022-12-30 14:47 ` Eli Zaretskii
2022-12-30 15:40 ` Gregory Heytings
2022-12-30 16:14 ` Eli Zaretskii
2022-12-30 16:27 ` Gregory Heytings
2022-12-30 17:01 ` Eli Zaretskii
2022-12-30 17:28 ` Gregory Heytings
2022-12-26 15:48 ` Dmitry Gutov
2022-12-26 16:19 ` Gregory Heytings
2022-12-27 2:04 ` Dmitry Gutov
2022-12-28 15:20 ` Gregory Heytings
2022-12-28 17:01 ` Eli Zaretskii
2022-12-27 1:58 ` Dmitry Gutov
2022-12-28 15:19 ` Gregory Heytings
2022-12-21 12:11 ` Eli Zaretskii
2021-12-17 12:30 ` Dmitry Gutov
2021-12-17 13:01 ` Eli Zaretskii
2021-12-17 13:21 ` Dmitry Gutov
2021-12-17 13:46 ` Eli Zaretskii
2021-12-17 14:06 ` Dmitry Gutov
2021-12-17 14:42 ` Eli Zaretskii
2021-12-17 19:17 ` martin rudalics
2022-12-21 1:08 ` Dmitry Gutov [this message]
2022-12-21 9:22 ` martin rudalics
2022-12-21 12:56 ` Dmitry Gutov
2022-12-21 17:05 ` martin rudalics
2022-12-21 23:00 ` Dmitry Gutov
2022-12-22 10:15 ` martin rudalics
2022-12-22 20:39 ` Dmitry Gutov
2022-12-23 9:14 ` martin rudalics
2022-12-23 9:19 ` martin rudalics
2022-12-23 18:48 ` Dmitry Gutov
2022-12-24 9:27 ` martin rudalics
2022-12-24 13:38 ` Dmitry Gutov
2022-12-25 10:21 ` martin rudalics
2022-12-25 13:01 ` Dmitry Gutov
2022-12-25 16:07 ` martin rudalics
2022-12-25 16:52 ` Dmitry Gutov
2022-12-26 9:10 ` martin rudalics
2022-12-27 23:15 ` Dmitry Gutov
2022-12-28 10:08 ` martin rudalics
2022-12-28 12:31 ` Dmitry Gutov
2022-12-28 17:35 ` martin rudalics
2022-12-28 22:35 ` Dmitry Gutov
2022-12-29 9:05 ` martin rudalics
2022-12-29 22:29 ` Dmitry Gutov
2022-12-30 9:51 ` martin rudalics
2022-12-31 19:01 ` martin rudalics
2023-01-05 1:50 ` Dmitry Gutov
2023-01-05 9:47 ` martin rudalics
2023-01-05 14:14 ` Dmitry Gutov
2023-01-05 16:59 ` martin rudalics
2023-01-05 19:08 ` Dmitry Gutov
2023-01-06 17:47 ` martin rudalics
2023-01-06 18:14 ` Dmitry Gutov
2023-01-06 22:40 ` Gregory Heytings
2023-01-06 23:45 ` Dmitry Gutov
2023-01-06 23:49 ` Gregory Heytings
2023-01-07 0:48 ` Dmitry Gutov
2023-01-07 0:50 ` Gregory Heytings
2023-01-07 9:48 ` martin rudalics
2023-01-08 9:45 ` martin rudalics
2023-01-08 22:38 ` Gregory Heytings
2023-01-08 23:23 ` Gregory Heytings
2023-01-09 10:09 ` martin rudalics
2023-01-09 17:28 ` Eric Abrahamsen
2023-01-07 9:15 ` martin rudalics
2023-01-09 0:12 ` Dmitry Gutov
2023-01-09 10:07 ` martin rudalics
2023-01-09 20:50 ` Dmitry Gutov
2023-01-10 12:05 ` martin rudalics
2023-01-12 0:34 ` Dmitry Gutov
2023-01-12 9:31 ` martin rudalics
2023-01-12 9:46 ` Robert Pluim
2023-01-12 10:23 ` martin rudalics
2023-01-12 23:53 ` Dmitry Gutov
2023-01-13 0:36 ` Dmitry Gutov
2023-01-13 8:38 ` martin rudalics
2023-01-16 1:27 ` bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was not before), was: " Dmitry Gutov
2023-01-16 10:03 ` martin rudalics
2023-01-16 12:44 ` Dmitry Gutov
2023-01-16 16:10 ` martin rudalics
2023-01-17 1:54 ` Dmitry Gutov
2023-01-17 10:04 ` martin rudalics
2023-01-17 17:35 ` Dmitry Gutov
2023-01-18 17:13 ` martin rudalics
2023-01-21 3:12 ` Dmitry Gutov
2023-01-21 10:08 ` martin rudalics
2023-01-22 1:56 ` Dmitry Gutov
2023-01-22 9:54 ` martin rudalics
2023-01-22 22:25 ` Dmitry Gutov
2023-01-24 10:50 ` martin rudalics
2023-01-25 4:20 ` Dmitry Gutov
2023-01-26 15:44 ` martin rudalics
2023-01-27 3:07 ` Dmitry Gutov
2023-01-27 9:35 ` martin rudalics
2023-01-28 0:22 ` Dmitry Gutov
2023-01-28 15:36 ` martin rudalics
2023-01-29 1:25 ` Dmitry Gutov
2023-01-30 9:28 ` martin rudalics
2023-02-09 19:40 ` Dmitry Gutov
2023-02-11 1:36 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-11 8:17 ` Eli Zaretskii
2023-02-11 9:30 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-11 10:39 ` Eli Zaretskii
2023-02-11 10:15 ` Dmitry Gutov
2023-02-11 10:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-11 22:08 ` Dmitry Gutov
2023-02-12 1:45 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-12 2:06 ` Dmitry Gutov
2023-02-12 3:26 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-12 12:41 ` Dmitry Gutov
2023-02-13 2:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-16 2:09 ` Dmitry Gutov
2023-02-16 3:00 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-16 22:18 ` Dmitry Gutov
2023-02-17 2:43 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-17 11:54 ` Dmitry Gutov
2023-02-12 12:55 ` Dmitry Gutov
2023-02-13 10:09 ` martin rudalics
2023-02-17 2:05 ` Dmitry Gutov
2023-02-20 9:05 ` martin rudalics
2023-02-22 1:42 ` Dmitry Gutov
2023-02-24 17:54 ` martin rudalics
2023-02-27 1:29 ` Dmitry Gutov
2022-12-21 13:43 ` Dmitry Gutov
2022-12-24 1:03 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-24 8:52 ` martin rudalics
2022-12-24 9:39 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-24 10:45 ` martin rudalics
2022-12-24 11:24 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-24 13:02 ` Dmitry Gutov
2022-12-25 22:52 ` Gregory Heytings
2021-12-16 15:36 ` Dmitry Gutov
2021-12-16 16:54 ` Eli Zaretskii
2021-12-17 0:13 ` Dmitry Gutov
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=eb51efcc-517b-79bd-6fb9-0984057efd2e@yandex.ru \
--to=dgutov@yandex.ru \
--cc=52493@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=rpluim@gmail.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).