GNU bug report logs - #60585
30.0.50; global-text-scale-adjust shrinks window (was not before)

Previous Next

Package: emacs;

Reported by: Jean Louis <bugs <at> gnu.support>

Date: Thu, 5 Jan 2023 22:30:02 UTC

Severity: normal

Found in version 30.0.50

To reply to this bug, email your comments to 60585 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Thu, 05 Jan 2023 22:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jean Louis <bugs <at> gnu.support>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 05 Jan 2023 22:30:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; global-text-scale-adjust shrinks window (was not before)
Date: Fri, 06 Jan 2023 01:28:04 +0300
I have just pulled latest Emacs and used with -Q option:
`global-text-scale-adjust' which I have used last days upon first
startup.

Before I have not observed that windows shrink by using `+' or `-'
within that command.

See the video of ridiculous effect:
https://gnu.support/files/tmp/2023-01-06/2023-01-06-01:22:50.ogv



In GNU Emacs 30.0.50 (build 2, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.17.6, Xaw3d scroll bars) of 2023-01-06 built on
 protected.rcdrun.com
Repository revision: 15fc7b3cde92e420f48dfe188251e6af4d832af5
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Parabola GNU/Linux-libre

Configured using:
 'configure --with-x-toolkit=lucid --with-mailutils'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY
PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: @im=exwm-xim
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils format-spec face-remap rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo x-toolkit
xinput2 x multi-tty make-network-process emacs)

Memory information:
((conses 16 39390 11577)
 (symbols 48 5280 0)
 (strings 32 14647 1256)
 (string-bytes 1 429637)
 (vectors 16 10873)
 (vector-slots 8 210337 15677)
 (floats 8 37 22)
 (intervals 56 262 0)
 (buffers 984 12))

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 06:50:01 GMT) Full text and rfc822 format available.

Message #8 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50;
 global-text-scale-adjust shrinks window (was not before)
Date: Fri, 06 Jan 2023 08:50:00 +0200
> From: Jean Louis <bugs <at> gnu.support>
> Date: Fri, 06 Jan 2023 01:28:04 +0300
> 
> I have just pulled latest Emacs and used with -Q option:
> `global-text-scale-adjust' which I have used last days upon first
> startup.

I cannot reproduce this with the current master branch, FWIW.  Maybe
it's X-specific or something.

Do you know which repository version did you use for the previous
build?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 08:18:01 GMT) Full text and rfc822 format available.

Message #11 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, Jean Louis <bugs <at> gnu.support>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 08:17:03 +0000
>> I have just pulled latest Emacs and used with -Q option: 
>> `global-text-scale-adjust' which I have used last days upon first 
>> startup.
>
> I cannot reproduce this with the current master branch, FWIW.  Maybe 
> it's X-specific or something.
>

It looks strangely similar to the problem that Dmitry described in 
bug#52493.  It seems to be specific to some version of some specific 
window managers.  I tried both recipes (the one of Dmitry and this one) 
with five different window managers and could not reproduce these problem.

Jean, can you please tell us which window manager you use, which exact 
version it is, and with which exact revision of the Emacs repository you 
see that problem?





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 08:42:02 GMT) Full text and rfc822 format available.

Message #14 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, Jean Louis <bugs <at> gnu.support>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 08:41:52 +0000
>>> I have just pulled latest Emacs and used with -Q option: 
>>> `global-text-scale-adjust' which I have used last days upon first 
>>> startup.
>> 
>> I cannot reproduce this with the current master branch, FWIW.  Maybe 
>> it's X-specific or something.
>
> It looks strangely similar to the problem that Dmitry described in 
> bug#52493. It seems to be specific to some version of some specific 
> window managers.  I tried both recipes (the one of Dmitry and this one) 
> with five different window managers and could not reproduce these 
> problem.
>
> Jean, can you please tell us which window manager you use, which exact 
> version it is, and with which exact revision of the Emacs repository you 
> see that problem?
>

And also: which font do you use for the default face?  You can see it with 
C-u C-x = in the *scratch* buffer, for example.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 13:03:02 GMT) Full text and rfc822 format available.

Message #17 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 6 Jan 2023 15:55:49 +0300
* Eli Zaretskii <eliz <at> gnu.org> [2023-01-06 09:50]:
> > From: Jean Louis <bugs <at> gnu.support>
> > Date: Fri, 06 Jan 2023 01:28:04 +0300
> > 
> > I have just pulled latest Emacs and used with -Q option:
> > `global-text-scale-adjust' which I have used last days upon first
> > startup.
> 
> I cannot reproduce this with the current master branch, FWIW.  Maybe
> it's X-specific or something.

Is it maybe in Lucid?

> Do you know which repository version did you use for the previous
> build?

[remote "origin"]
	url = git://git.sv.gnu.org/emacs.git
	fetch = +refs/heads/feature/integration-of-dictionary-el


--
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 13:03:03 GMT) Full text and rfc822 format available.

Message #20 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 6 Jan 2023 15:57:47 +0300
* Gregory Heytings <gregory <at> heytings.org> [2023-01-06 11:17]:
> It looks strangely similar to the problem that Dmitry described in
> bug#52493.  It seems to be specific to some version of some specific window
> managers.  I tried both recipes (the one of Dmitry and this one) with five
> different window managers and could not reproduce these problem.
> 
> Jean, can you please tell us which window manager you use, which exact
> version it is, and with which exact revision of the Emacs repository you see
> that problem?

I use

IceWM 3.2.3, Copyright 1997-2012 Marko Macek, 2001 Mathias Hasselmann.

and I have no problem whatsoever with any other window, so it is very
much Emacs specific.

This is Emacs repository I use.

[remote "origin"]
	url = git://git.sv.gnu.org/emacs.git
	fetch = +refs/heads/feature/integration-of-dictionary-el

And before the pull yesterday, I did not have that problem, I know it
because for few weeks I was using manually that function to enlarge
and minimize global face. So problem came recently.

And I always use Lucid toolkit.


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 13:03:03 GMT) Full text and rfc822 format available.

Message #23 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 6 Jan 2023 16:01:25 +0300
* Gregory Heytings <gregory <at> heytings.org> [2023-01-06 11:41]:
> And also: which font do you use for the default face?  You can see it with
> C-u C-x = in the *scratch* buffer, for example.

             position: 82 of 145 (56%), column: 10
            character: t (displayed as t) (codepoint 116, #o164, #x74)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x74
               script: latin
               syntax: w 	which means: word
             category: .:Base, L:Strong L2R, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 74" or "C-x 8 RET LATIN SMALL LETTER T"
          buffer code: #x74
            file code: #x74 (encoded by coding system utf-8-unix)
              display: by this font (glyph code):
    ftcrhb:-ADBO-Source Code Pro-regular-normal-normal-*-17-*-*-*-m-0-iso10646-1 (#x2F)

I can't observe problem by using C-x + or -

I can see same problem with DejaVu Sans Mono


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 13:19:01 GMT) Full text and rfc822 format available.

Message #26 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 15:18:53 +0200
> Date: Fri, 6 Jan 2023 15:55:49 +0300
> From: Jean Louis <bugs <at> gnu.support>
> Cc: 60585 <at> debbugs.gnu.org
> 
> > Do you know which repository version did you use for the previous
> > build?
> 
> [remote "origin"]
> 	url = git://git.sv.gnu.org/emacs.git
> 	fetch = +refs/heads/feature/integration-of-dictionary-el

That doesn't answer my question.  I need to know the commit which was
the HEAD when you built your previous build.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 13:27:02 GMT) Full text and rfc822 format available.

Message #29 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 13:26:11 +0000
>> Jean, can you please tell us which window manager you use, which exact 
>> version it is, and with which exact revision of the Emacs repository 
>> you see that problem?
>
> I use
>
> IceWM 3.2.3, Copyright 1997-2012 Marko Macek, 2001 Mathias Hasselmann.
>
> and I have no problem whatsoever with any other window, so it is very 
> much Emacs specific.
>
> [...]
>
> ftcrhb:-ADBO-Source Code Pro-regular-normal-normal-*-17-*-*-*-m-0-iso10646-1 (#x2F)
>
> I can see same problem with DejaVu Sans Mono
>

Great, thanks for that information.  I installed IceWM 3.2.3, and now I 
can reproduce the problem (both on the release branch and on master). 
It's indeed related to the window manager, because with several other 
window managers there is no such problem.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 14:04:01 GMT) Full text and rfc822 format available.

Message #32 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 14:03:03 +0000
>
> I installed IceWM 3.2.3, and now I can reproduce the problem (both on 
> the release branch and on master). It's indeed related to the window 
> manager, because with several other window managers there is no such 
> problem.
>

It is also related to the toolkit, with a default build (GTK toolkit) 
there is no such problem.

Are you really sure you did not see that problem with earlier builds? 
Here I can reproduce it with e0488f89d1, in which global-text-scale-adjust 
was introduced.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 14:06:02 GMT) Full text and rfc822 format available.

Message #35 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, bugs <at> gnu.support
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 16:05:06 +0200
> Date: Fri, 06 Jan 2023 13:26:11 +0000
> From: Gregory Heytings <gregory <at> heytings.org>
> cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
> 
> 
> > IceWM 3.2.3, Copyright 1997-2012 Marko Macek, 2001 Mathias Hasselmann.
> >
> > and I have no problem whatsoever with any other window, so it is very 
> > much Emacs specific.
> >
> > [...]
> >
> > ftcrhb:-ADBO-Source Code Pro-regular-normal-normal-*-17-*-*-*-m-0-iso10646-1 (#x2F)
> >
> > I can see same problem with DejaVu Sans Mono
> >
> 
> Great, thanks for that information.  I installed IceWM 3.2.3, and now I 
> can reproduce the problem (both on the release branch and on master). 
> It's indeed related to the window manager, because with several other 
> window managers there is no such problem.

Thanks.  But since Jean says this is a recent regression, I wonder
which recent change could have caused it?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 15:17:02 GMT) Full text and rfc822 format available.

Message #38 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 15:16:07 +0000
>> I installed IceWM 3.2.3, and now I can reproduce the problem (both on 
>> the release branch and on master). It's indeed related to the window 
>> manager, because with several other window managers there is no such 
>> problem.
>
> It is also related to the toolkit, with a default build (GTK toolkit) 
> there is no such problem.
>
> Are you really sure you did not see that problem with earlier builds? 
> Here I can reproduce it with e0488f89d1, in which 
> global-text-scale-adjust was introduced.
>

I'm puzzled.  The exact same problem can be reproduced here with Emacs at 
3ac94b992c (Dec 4 2016).  I also tried earlier versions of the IceWM (up 
to 1.6.4 (Feb 2020)), and the same problem is still present, so the 
problem is not related to an upgrade of the window manager either. 
Hmmm...





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 16:37:02 GMT) Full text and rfc822 format available.

Message #41 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 6 Jan 2023 19:27:40 +0300
* Eli Zaretskii <eliz <at> gnu.org> [2023-01-06 16:19]:
> > Date: Fri, 6 Jan 2023 15:55:49 +0300
> > From: Jean Louis <bugs <at> gnu.support>
> > Cc: 60585 <at> debbugs.gnu.org
> > 
> > > Do you know which repository version did you use for the previous
> > > build?
> > 
> > [remote "origin"]
> > 	url = git://git.sv.gnu.org/emacs.git
> > 	fetch = +refs/heads/feature/integration-of-dictionary-el
> 
> That doesn't answer my question.  I need to know the commit which was
> the HEAD when you built your previous build.

This one: e1b2446b2e

*   e1b2446b2e..: Stefan Kangas 2023-01-05 Merge from origin/emacs-29
|\  
| * 6b5831c696..: Juri Linkov 2023-01-04 Tree-sitter doc fixes (bug#60524)
* | c209802f7b..: Stefan Kangas 2023-01-02 Merge from origin/emacs-29
|\| 
| * 4520f09dd8..: Gregory Heytings 2023-01-02 ; * admin/git-bisect-start: Update failing commits
* | 3c55fbd4ad..: Eli Zaretskii 2023-01-01 Merge from origin/emacs-29




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 16:37:02 GMT) Full text and rfc822 format available.

Message #44 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 6 Jan 2023 19:32:27 +0300
* Gregory Heytings <gregory <at> heytings.org> [2023-01-06 17:03]:
> 
> > 
> > I installed IceWM 3.2.3, and now I can reproduce the problem (both on
> > the release branch and on master). It's indeed related to the window
> > manager, because with several other window managers there is no such
> > problem.
> > 
> 
> It is also related to the toolkit, with a default build (GTK toolkit) there
> is no such problem.
> 
> Are you really sure you did not see that problem with earlier builds? Here I
> can reproduce it with e0488f89d1, in which global-text-scale-adjust was
> introduced.

I used that commands in launching around 5 sessions over span of 10
days. I have not observed that windows shrink before, until yesterday.

My observation may be limited or wrong, as I did not expect those issues.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 16:51:02 GMT) Full text and rfc822 format available.

Message #47 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 18:50:51 +0200
> Date: Fri, 6 Jan 2023 19:27:40 +0300
> From: Jean Louis <bugs <at> gnu.support>
> Cc: 60585 <at> debbugs.gnu.org
> 
> * Eli Zaretskii <eliz <at> gnu.org> [2023-01-06 16:19]:
> > > Date: Fri, 6 Jan 2023 15:55:49 +0300
> > > From: Jean Louis <bugs <at> gnu.support>
> > > Cc: 60585 <at> debbugs.gnu.org
> > > 
> > > > Do you know which repository version did you use for the previous
> > > > build?
> > > 
> > > [remote "origin"]
> > > 	url = git://git.sv.gnu.org/emacs.git
> > > 	fetch = +refs/heads/feature/integration-of-dictionary-el
> > 
> > That doesn't answer my question.  I need to know the commit which was
> > the HEAD when you built your previous build.
> 
> This one: e1b2446b2e

Is this the build that has the problem, or is this the build which
does NOT have the problem?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 17:58:01 GMT) Full text and rfc822 format available.

Message #50 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 6 Jan 2023 19:35:27 +0300
* Gregory Heytings <gregory <at> heytings.org> [2023-01-06 16:28]:
> Great, thanks for that information.  I installed IceWM 3.2.3, and now I can
> reproduce the problem (both on the release branch and on master). It's
> indeed related to the window manager, because with several other window
> managers there is no such problem.

Thanks. I have filed bug for IceWM managers to try to find if that is
issue on their side. 

Capriciously in my opinion it is Emacs issue, as I never had any
similar problem with IceWM for more than last 2 decades, and I had too
many problems with Emacs.

Shrinking of windows problem · Issue #115 · ice-wm/icewm:
https://github.com/ice-wm/icewm/issues/115

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 22:06:01 GMT) Full text and rfc822 format available.

Message #53 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 22:05:40 +0000
[Message part 1 (text/plain, inline)]
>
> I used that commands in launching around 5 sessions over span of 10 
> days. I have not observed that windows shrink before, until yesterday.
>

But are your sure you launched these sessions with emacs -Q?  I see on 
your video another Emacs running in the background, which is configured.

>
> Shrinking of windows problem · Issue #115 · ice-wm/icewm: 
> https://github.com/ice-wm/icewm/issues/115
>

I'm not sure how to interpret these comments.  You should tell them that 
you use the Lucid build, not the GTK one.

I looked at this problem again, and found that, here at least, it 
disappears when you turn scroll-bars off.  Is that also the case on your 
system?

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 22:26:01 GMT) Full text and rfc822 format available.

Message #56 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, Gregory Heytings <gregory <at> heytings.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sat, 7 Jan 2023 01:21:35 +0300
* Eli Zaretskii <eliz <at> gnu.org> [2023-01-06 17:05]:
> > Great, thanks for that information.  I installed IceWM 3.2.3, and now I 
> > can reproduce the problem (both on the release branch and on master). 
> > It's indeed related to the window manager, because with several other 
> > window managers there is no such problem.
> 
> Thanks.  But since Jean says this is a recent regression, I wonder
> which recent change could have caused it?

It is recent only for me, as before less than 2 weeks, I did not use
`global-text-scale-adjust' command ever.

Please see:

https://github.com/ice-wm/icewm/issues/115#issuecomment-1374106546

> IceWM historically has ignored the USSize field in the
> WM_NORMAL_HINTS property. To enforce a size an app must set both the
> PMinSize and the PMaxSize to the same value. Because there is no
> PMaxSize, icewm is free to adjust the size to a value which is in
> accordance to the emacs provided PBaseSize and PResizeInc. See the
> ICCCM for details. IceWM is still standards conformant. It just has
> a different interpretation than other WMs.

There are some variables that could be set in Emacs to make this right.

--
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 22:26:02 GMT) Full text and rfc822 format available.

Message #59 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sat, 7 Jan 2023 01:24:04 +0300
* Gregory Heytings <gregory <at> heytings.org> [2023-01-07 01:05]:
> I looked at this problem again, and found that, here at least, it
> disappears when you turn scroll-bars off.  Is that also the case on
> your system?

Yes, when I turn off scroll bars, I can't see that problem.

Hints are here:
https://github.com/ice-wm/icewm/issues/115

so there is something to be set up in Emacs.


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 22:26:02 GMT) Full text and rfc822 format available.

Message #62 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sat, 7 Jan 2023 01:25:16 +0300
* Gregory Heytings <gregory <at> heytings.org> [2023-01-07 01:07]:
> But are your sure you launched these sessions with emacs -Q?  I see on your
> video another Emacs running in the background, which is configured.

Very sure. 


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 06 Jan 2023 22:36:02 GMT) Full text and rfc822 format available.

Message #65 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 06 Jan 2023 22:35:40 +0000
>> But are your sure you launched these sessions with emacs -Q?  I see on 
>> your video another Emacs running in the background, which is 
>> configured.
>
> Very sure.
>

Then I fear I'm lost.  I can apparently reproduce that problem, it can 
apparently be fixed in the same way on your system and on mine by turning 
scroll-bars off... but as I said I can reproduce the exact same problem 
with older versions of Emacs (2017 and later) and with older versions of 
IceWM (2020 and later).





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 07 Jan 2023 02:06:01 GMT) Full text and rfc822 format available.

Message #68 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org, Gregory Heytings <gregory <at> heytings.org>,
 Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before)
Date: Sat, 07 Jan 2023 10:05:21 +0800
Jean Louis <bugs <at> gnu.support> writes:

> * Gregory Heytings <gregory <at> heytings.org> [2023-01-07 01:05]:
>> I looked at this problem again, and found that, here at least, it
>> disappears when you turn scroll-bars off.  Is that also the case on
>> your system?
>
> Yes, when I turn off scroll bars, I can't see that problem.
>
> Hints are here:
> https://github.com/ice-wm/icewm/issues/115
>
> so there is something to be set up in Emacs.

I'm sure your window manager is just enforcing a strict increment policy
on to clients.  It is ok for window managers to do this.  And the scroll
bars just happen to be the right size to break the increments with your
specific font, on your specific system.

Normally, window managers only perform increment processing when
configuring a window.  But some listen to the window property and apply
the increment the moment Emacs sets the hints on a frame.  There is
nothing wrong with this behavior, not in the window manager, and not in
Emacs.

On the GTK builds, emacsgtkfixed.c overrides several Xlib functions to
essentially fit the increment to the frame, because otherwise GTK will
set some outrageous increment that will cause Emacs to constantly shrink
on some window managers (not just when the frame font is changed.)

This is not needed in the Xt and no toolkit builds.

If you turn on frame-resize-pixelwise and create a new frame, does the
problem go away?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 07 Jan 2023 09:37:02 GMT) Full text and rfc822 format available.

Message #71 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sat, 07 Jan 2023 09:36:03 +0000
>>> But are your sure you launched these sessions with emacs -Q?  I see on 
>>> your video another Emacs running in the background, which is 
>>> configured.
>> 
>> Very sure.
>
> Then I fear I'm lost.  I can apparently reproduce that problem, it can 
> apparently be fixed in the same way on your system and on mine by 
> turning scroll-bars off... but as I said I can reproduce the exact same 
> problem with older versions of Emacs (2017 and later) and with older 
> versions of IceWM (2020 and later).
>

Jean, can you please try to build Emacs on an earlier version of the 
repository, say at revision e0488f89d1 when the global-text-scale-adjust 
was introduced six months ago, and check if the same problem still exists?

(In case you don't know how to do that: type "git clone 
git://git.sv.gnu.org/emacs.git", "cd emacs", "git checkout e0488f89d1", 
"make".  Then type "./src/emacs -Q".)





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 07 Jan 2023 19:14:01 GMT) Full text and rfc822 format available.

Message #74 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 60585 <at> debbugs.gnu.org, Gregory Heytings <gregory <at> heytings.org>,
 Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sat, 7 Jan 2023 20:24:33 +0300
* Po Lu <luangruo <at> yahoo.com> [2023-01-07 05:06]:
> Normally, window managers only perform increment processing when
> configuring a window.  But some listen to the window property and apply
> the increment the moment Emacs sets the hints on a frame.  There is
> nothing wrong with this behavior, not in the window manager, and not in
> Emacs.
> 
> On the GTK builds, emacsgtkfixed.c overrides several Xlib functions to
> essentially fit the increment to the frame, because otherwise GTK will
> set some outrageous increment that will cause Emacs to constantly shrink
> on some window managers (not just when the frame font is changed.)
> 
> This is not needed in the Xt and no toolkit builds.
> 
> If you turn on frame-resize-pixelwise and create a new frame, does the
> problem go away?

Yes, if I just turn on `frame-resize-pixelwise' the problem goes away.

I will set this in init.el


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 08 Jan 2023 06:20:02 GMT) Full text and rfc822 format available.

Message #77 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sun, 8 Jan 2023 03:38:31 +0300
* Gregory Heytings <gregory <at> heytings.org> [2023-01-07 12:38]:
> Jean, can you please try to build Emacs on an earlier version of the
> repository, say at revision e0488f89d1 when the global-text-scale-adjust was
> introduced six months ago, and check if the same problem still exists?
> 
> (In case you don't know how to do that: type "git clone
> git://git.sv.gnu.org/emacs.git", "cd emacs", "git checkout e0488f89d1",
> "make".  Then type "./src/emacs -Q".)

I have tried with make clean and all, but did not make it:

In toplevel form:
emacs-lisp/macroexp.el:46:2: Error: Symbol’s function definition is void: get-advertised-calling-convention
make[2]: *** [Makefile:336: emacs-lisp/macroexp.elc] Error 1
make[2]: Leaving directory '/home/data1/protected/Programming/Software/emacs/lisp'
make[1]: *** [Makefile:927: bootstrap-emacs.pdmp] Error 2
make[1]: Leaving directory '/home/data1/protected/Programming/Software/emacs/src'
make: *** [Makefile:469: src] Error 2
~/Programming/Software/emacs
$ 

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 08 Jan 2023 17:44:02 GMT) Full text and rfc822 format available.

Message #80 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Jean Louis <bugs <at> gnu.support>, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sun, 8 Jan 2023 18:42:18 +0100
[Message part 1 (text/plain, inline)]
> I have just pulled latest Emacs and used with -Q option:
> `global-text-scale-adjust' which I have used last days upon first
> startup.
>
> Before I have not observed that windows shrink by using `+' or `-'
> within that command.

I asked in another thread before and repeat the question here: Per se,
'global-text-scale-adjust' should never resize frames.  You have to
customize 'global-text-scale-adjust-resizes-frames' to achieve that
effect.  Please tell me what precisely you did.  If you did not
customize that option, something must be wrong within face-remap.el of
which I'm not aware.

> Configured using:
>   'configure --with-x-toolkit=lucid --with-mailutils'

I faintly recall that setting size hints with lucid here was completely
broken a couple of years ago.  In the attached patch I tried to excise
some of the changes I made to fix that then.  I also added some tracing
information that should be dumped to a buffer called *foo*.  So please
try the patch and if it does not work (or things even get worse) post
the contents of *foo* here.

Thanks, martin
[x_scale_font.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 08 Jan 2023 21:42:01 GMT) Full text and rfc822 format available.

Message #83 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sun, 08 Jan 2023 21:41:20 +0000
>
> I have tried with make clean and all, but did not make it:
>

I don't know what you tried and why it failed.  I just did the following 
and it worked:

git clone git://git.sv.gnu.org/emacs.git
cd emacs
git checkout e0488f89d1
make configure=--with-x-toolkit=lucid
./src/emacs -Q

If you already have a copy of the Emacs repository and want to avoid the 
"git clone" step, you can do the following instead ("/path/to/emacs" is 
the full path to your copy of the Emacs repository):

cp -a /path/to/emacs /tmp/emacs
cd /tmp/emacs
git reset --hard origin/master
git clean -xfd
git checkout e0488f89d1
make configure=--with-x-toolkit=lucid
./src/emacs -Q





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 08 Jan 2023 22:15:02 GMT) Full text and rfc822 format available.

Message #86 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 60585 <at> debbugs.gnu.org, Jean Louis <bugs <at> gnu.support>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sun, 08 Jan 2023 22:14:02 +0000
[Message part 1 (text/plain, inline)]
>
> I asked in another thread before and repeat the question here: Per se, 
> 'global-text-scale-adjust' should never resize frames.  You have to 
> customize 'global-text-scale-adjust-resizes-frames' to achieve that 
> effect.  Please tell me what precisely you did.  If you did not 
> customize that option, something must be wrong within face-remap.el of 
> which I'm not aware.
>

I did not reply in the other thread, but it's not global-text-scale-adjust 
that resizes the frames, it's the window manager (IceWM).  I tried a few 
other window managers, and they do not resize the frame in such 
circumstances.

This resizing can be avoided in at least two ways: disabling the scroll 
bar, and setting frame-resize-pixelwise to t.

>
> I faintly recall that setting size hints with lucid here was completely 
> broken a couple of years ago.  In the attached patch I tried to excise 
> some of the changes I made to fix that then.  I also added some tracing 
> information that should be dumped to a buffer called *foo*.  So please 
> try the patch and if it does not work (or things even get worse) post 
> the contents of *foo* here.
>

I'm not 100% sure that the bug I see here is exactly the same as the one 
Jean sees (he said it's a recent bug, and I can reproduce it even with an 
Emacs from 2017), but here is the output of a patched Emacs running under 
IceWM on my system.
[foo.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 09 Jan 2023 05:46:02 GMT) Full text and rfc822 format available.

Message #89 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Mon, 9 Jan 2023 00:37:51 +0300
* martin rudalics <rudalics <at> gmx.at> [2023-01-08 20:43]:
> > I have just pulled latest Emacs and used with -Q option:
> > `global-text-scale-adjust' which I have used last days upon first
> > startup.
> >
> > Before I have not observed that windows shrink by using `+' or `-'
> > within that command.
> 
> I asked in another thread before and repeat the question here: Per se,
> 'global-text-scale-adjust' should never resize frames.  You have to
> customize 'global-text-scale-adjust-resizes-frames' to achieve that
> effect.  Please tell me what precisely you did.  If you did not
> customize that option, something must be wrong within face-remap.el of
> which I'm not aware.

In emacs -Q it was tested and of course there is nothing customized.

I can't see it happening in Gtk build.

> > Configured using:
> >   'configure --with-x-toolkit=lucid --with-mailutils'
> 
> I faintly recall that setting size hints with lucid here was completely
> broken a couple of years ago.  In the attached patch I tried to excise
> some of the changes I made to fix that then.  I also added some tracing
> information that should be dumped to a buffer called *foo*.  So please
> try the patch and if it does not work (or things even get worse) post
> the contents of *foo* here.

I will try.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 09 Jan 2023 10:09:01 GMT) Full text and rfc822 format available.

Message #92 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Mon, 9 Jan 2023 11:07:43 +0100
> In emacs -Q it was tested and of course there is nothing customized.

Thanks.  Gregory has already posted a trace of how things go awry here.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 09 Jan 2023 10:10:02 GMT) Full text and rfc822 format available.

Message #95 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Jean Louis <bugs <at> gnu.support>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Mon, 9 Jan 2023 11:09:02 +0100
> I did not reply in the other thread, but it's not
> global-text-scale-adjust that resizes the frames, it's the window
> manager (IceWM).  I tried a few other window managers, and they do not
> resize the frame in such circumstances.

It must be 'global-text-scale-adjust' that (maybe implicitly) asks to
resize the frame.  A WM cannot deliberately resize a frame unless we ask
it to do so.

> This resizing can be avoided in at least two ways: disabling the
> scroll bar, and setting frame-resize-pixelwise to t.

Both clearly hint at a problem with our settings of size hints.

> I'm not 100% sure that the bug I see here is exactly the same as the
> one Jean sees (he said it's a recent bug, and I can reproduce it even
> with an Emacs from 2017), but here is the output of a patched Emacs
> running under IceWM on my system.

Thanks.  These show the problem.  For example, here

x_new_font old char size 13x25 new char size 12x24 text chars 93x27 old text pixels 1209x675 new text pixels 1116x648
adjust_frame_size old native pixels 1243x730 new native pixels 1243x730 old text pixels 1209x675 new text pixels 1209x675 old text chars 93x27 new text chars 100x28

we have

(= (* 93 13) 1209)
(= (* 27 25) 675)

but obviously not

(= (* 100 12) 1209)
(= (* 28 24) 675)

So while we do not explicitly ask for resizing the frame, we apparently
do set the size hints (strictly spoken correctly so, since future mouse
operations should know about them) but do not want to resize the frame.
The first question now is how we arrive here

EmacsFrameResize old native pixels 1243x730 new native pixels 1243x730
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 46 min width 46
    char height 24 menubar 38 hscroll 0 borders 2 base height 117 min height 117

so please try to find out why x_new_font triggers a setting of the size
hints despite the fact that we do not want to resize the frame (the two
entry points are update_wm_hints in widget.c and x_wm_set_size_hint in
xterm.c).  Maybe we can avoid them - with GTK we apparently do.

But ultimately this is a dilemma for which I have no solution.  I think
that setting the size of the default font is simply the wrong thing to
do here.  We should use some other font hat does not get passed through
to the size hints.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 09 Jan 2023 12:49:01 GMT) Full text and rfc822 format available.

Message #98 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: martin rudalics <rudalics <at> gmx.at>, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Mon, 9 Jan 2023 15:44:12 +0300
Let me just remind you that it is considered application (Emacs) error
by IceWm developer.

See:
https://github.com/ice-wm/icewm/issues/115

Where gijsbers said, that:

> IceWM historically has ignored the USSize field in the
> WM_NORMAL_HINTS property. To enforce a size an app must set both the
> PMinSize and the PMaxSize to the same value. Because there is no
> PMaxSize, icewm is free to adjust the size to a value which is in
> accordance to the emacs provided PBaseSize and PResizeInc. See the
> ICCCM for details. IceWM is still standards conformant. It just has
> a different interpretation than other WMs.

And then here is the reference:
https://x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html

Search for: "PMaxSize" and review if there is something that Emacs
could or should do.

While in meantime IceWM developer provided tolerance patch:
https://github.com/bbidulock/icewm/commit/cb144a07ce0b948177030a2f56b83fc07d2b2a44

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 09 Jan 2023 18:02:02 GMT) Full text and rfc822 format available.

Message #101 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Gregory Heytings <gregory <at> heytings.org>
Cc: 60585 <at> debbugs.gnu.org, Jean Louis <bugs <at> gnu.support>
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Mon, 9 Jan 2023 19:00:27 +0100
[Message part 1 (text/plain, inline)]
> But ultimately this is a dilemma for which I have no solution.

There might be one way out.  We could palm off the residues of the text
by character size divisions on the base sizes (which are of no use to us
anyway).  Very preliminary patch attached.

martin
[x_rest.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 13 Jan 2023 06:44:02 GMT) Full text and rfc822 format available.

Message #104 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 13 Jan 2023 09:35:17 +0300
* martin rudalics <rudalics <at> gmx.at> [2023-01-08 20:45]:
> I faintly recall that setting size hints with lucid here was completely
> broken a couple of years ago.  In the attached patch I tried to excise
> some of the changes I made to fix that then.  I also added some tracing
> information that should be dumped to a buffer called *foo*.  So please
> try the patch and if it does not work (or things even get worse) post
> the contents of *foo* here.

I would try, but I don't know how to apply that patch. Where is
procedure explained?

I know how to use patch on command line, but not specifically how you
apply patches as sent here.

Send me please how do you apply such patches. I will give pay in kudos
currency.

And if you could please explain me how do you provide those patches.

And I meat in Emacs context. Or do you need to do it ouside of Emacs?

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 13 Jan 2023 06:45:01 GMT) Full text and rfc822 format available.

Message #107 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 13 Jan 2023 09:43:29 +0300
* martin rudalics <rudalics <at> gmx.at> [2023-01-08 20:45]:
> I faintly recall that setting size hints with lucid here was completely
> broken a couple of years ago.  In the attached patch I tried to excise
> some of the changes I made to fix that then.  I also added some tracing
> information that should be dumped to a buffer called *foo*.  So please
> try the patch and if it does not work (or things even get worse) post
> the contents of *foo* here.

By following this procedure, I could apply your patch:
https://www.emacswiki.org/emacs/ApplyingPatches

I have applied the patch, and then re-compiled.

I see nothing changed, it is shrinking while using
`global-text-scale-adjust'


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 13 Jan 2023 08:40:02 GMT) Full text and rfc822 format available.

Message #110 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 13 Jan 2023 09:38:46 +0100
> I have applied the patch, and then re-compiled.
>
> I see nothing changed, it is shrinking while using
> `global-text-scale-adjust'

Thanks.  You should now have a buffer called *foo*.  Please post the
contents of *foo* here.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 14 Jan 2023 04:21:02 GMT) Full text and rfc822 format available.

Message #113 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Jean Louis <bugs <at> gnu.support>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Fri, 13 Jan 2023 20:38:05 +0300
* martin rudalics <rudalics <at> gmx.at> [2023-01-13 11:39]:
> > I have applied the patch, and then re-compiled.
> >
> > I see nothing changed, it is shrinking while using
> > `global-text-scale-adjust'
> 
> Thanks.  You should now have a buffer called *foo*.  Please post the
> contents of *foo* here.

I missed your instructions, then I pulled new Emacs, did the patch,
and now I can't see shrinking of window in Lucid build.

Did anything change in meantime?

adjust_frame_size old native pixels 80x25 new native pixels 80x25 old text pixels 80x25 new text pixels 80x24 old text chars 80x25 new text chars 80x24
adjust_frame_size old native pixels 80x25 new native pixels 818x552 old text pixels 80x25 new text pixels 800x550 old text chars 80x25 new text chars 80x25
adjust_frame_size old native pixels 818x552 new native pixels 818x574 old text pixels 800x550 new text pixels 800x550 old text chars 80x25 new text chars 80x25
adjust_frame_size old native pixels 818x574 new native pixels 818x828 old text pixels 800x550 new text pixels 800x792 old text chars 80x25 new text chars 80x36
update_from_various_frame_slots native pixels 818x828
set_frame_size native pixels 818x828
update_wm_hints char width 10 vscroll 0 fringes 16 borders 2 base width 28 min width 28
    char height 22 menubar 0 hscroll 0 borders 2 base height 58 min height 58
EmacsFrameResize old native pixels 818x828 new native pixels 818x828
update_wm_hints char width 10 vscroll 0 fringes 16 borders 2 base width 28 min width 28
    char height 22 menubar 0 hscroll 0 borders 2 base height 58 min height 58
adjust_frame_size old native pixels 818x828 new native pixels 834x828 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 80x36
EmacsFrameResize old native pixels 834x828 new native pixels 818x795
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 48 min width 48
    char height 22 menubar 33 hscroll 0 borders 2 base height 102 min height 102
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 91 min height 91
EmacsFrameResize old native pixels 834x828 new native pixels 818x795
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 48 min width 48
    char height 22 menubar 33 hscroll 0 borders 2 base height 102 min height 102
EmacsFrameResize old native pixels 834x828 new native pixels 818x795
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 48 min width 48
    char height 22 menubar 33 hscroll 0 borders 2 base height 102 min height 102
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 91 min height 91
EmacsFrameResize old native pixels 834x828 new native pixels 834x828
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 91 min height 91
EmacsFrameResize old native pixels 834x828 new native pixels 834x828
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 91 min height 91
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 91 min height 91
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 91 min height 91
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x808
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x828 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
adjust_frame_size old native pixels 834x828 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 80x36
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93

x_new_font old char size 10x22 new char size 11x23 text chars 80x36 old text pixels 800x792 new text pixels 880x828
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 72x34
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104

x_new_font old char size 11x23 new char size 10x22 text chars 72x34 old text pixels 800x792 new text pixels 720x748
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 72x34 new text chars 80x36
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93

x_new_font old char size 10x22 new char size 10x21 text chars 80x36 old text pixels 800x792 new text pixels 800x756
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 80x37
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 10x21 new char size 9x20 text chars 80x37 old text pixels 800x792 new text pixels 720x740
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x37 new text chars 88x39
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103

x_new_font old char size 9x20 new char size 8x18 text chars 88x39 old text pixels 800x792 new text pixels 704x702
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 88x39 new text chars 100x44
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89

x_new_font old char size 8x18 new char size 9x20 text chars 100x44 old text pixels 800x792 new text pixels 900x880
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 100x44 new text chars 88x39
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103

x_new_font old char size 9x20 new char size 10x21 text chars 88x39 old text pixels 800x792 new text pixels 880x819
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 88x39 new text chars 80x37
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 10x21 new char size 10x22 text chars 80x37 old text pixels 800x792 new text pixels 800x814
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x37 new text chars 80x36
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93

x_new_font old char size 10x22 new char size 11x23 text chars 80x36 old text pixels 800x792 new text pixels 880x828
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 72x34
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104

x_new_font old char size 11x23 new char size 11x25 text chars 72x34 old text pixels 800x792 new text pixels 792x850
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 72x34 new text chars 72x31
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113

x_new_font old char size 11x25 new char size 12x26 text chars 72x31 old text pixels 800x792 new text pixels 864x806
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 72x31 new text chars 66x30
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 26 menubar 33 hscroll 0 borders 2 base height 109 min height 109
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 26 menubar 33 hscroll 0 borders 2 base height 109 min height 109
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 26 menubar 33 hscroll 0 borders 2 base height 109 min height 109
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 26 menubar 33 hscroll 0 borders 2 base height 109 min height 109
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 26 menubar 33 hscroll 0 borders 2 base height 109 min height 109

x_new_font old char size 12x26 new char size 13x27 text chars 66x30 old text pixels 800x792 new text pixels 858x810
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 66x30 new text chars 61x29
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 13x27 new char size 13x28 text chars 61x29 old text pixels 800x792 new text pixels 793x812
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 61x29 new text chars 61x28
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 28 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 28 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 28 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 28 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 28 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 13x28 new char size 14x30 text chars 61x28 old text pixels 800x792 new text pixels 854x840
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 61x28 new text chars 57x26
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113

x_new_font old char size 14x30 new char size 14x31 text chars 57x26 old text pixels 800x792 new text pixels 798x806
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 57x26 new text chars 57x25
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119

x_new_font old char size 14x31 new char size 15x32 text chars 57x25 old text pixels 800x792 new text pixels 855x800
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 57x25 new text chars 53x24
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127

x_new_font old char size 15x32 new char size 16x34 text chars 53x24 old text pixels 800x792 new text pixels 848x816
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 53x24 new text chars 50x23
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 34 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 34 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 34 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 34 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 34 menubar 33 hscroll 0 borders 2 base height 115 min height 115

x_new_font old char size 16x34 new char size 16x35 text chars 50x23 old text pixels 800x792 new text pixels 800x805
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 50x23 new text chars 50x22
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128

x_new_font old char size 16x35 new char size 17x36 text chars 50x22 old text pixels 800x792 new text pixels 850x792
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 50x22 new text chars 47x22
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 17x36 new char size 17x37 text chars 47x22 old text pixels 800x792 new text pixels 799x814
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 47x22 new text chars 47x21
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123

x_new_font old char size 17x37 new char size 18x39 text chars 47x21 old text pixels 800x792 new text pixels 846x819
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 47x21 new text chars 44x20
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122

x_new_font old char size 18x39 new char size 19x40 text chars 44x20 old text pixels 800x792 new text pixels 836x800
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 44x20 new text chars 42x19
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 19x40 new char size 19x41 text chars 42x19 old text pixels 800x792 new text pixels 798x779
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125

x_new_font old char size 19x41 new char size 20x43 text chars 42x19 old text pixels 800x792 new text pixels 840x817
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 42x19 new text chars 40x18
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132

x_new_font old char size 20x43 new char size 20x44 text chars 40x18 old text pixels 800x792 new text pixels 800x792
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115

x_new_font old char size 20x44 new char size 21x45 text chars 40x18 old text pixels 800x792 new text pixels 840x810
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 40x18 new text chars 38x17
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 21x45 new char size 22x46 text chars 38x17 old text pixels 800x792 new text pixels 836x782
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 38x17 new text chars 36x17
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127

x_new_font old char size 22x46 new char size 22x48 text chars 36x17 old text pixels 800x792 new text pixels 792x816
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 36x17 new text chars 36x16
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 22x48 new char size 23x49 text chars 36x16 old text pixels 800x792 new text pixels 828x784
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 36x16 new text chars 34x16
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128

x_new_font old char size 23x49 new char size 23x50 text chars 34x16 old text pixels 800x792 new text pixels 782x800
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 34x16 new text chars 34x15
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 50 menubar 33 hscroll 0 borders 2 base height 163 min height 163
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 50 menubar 33 hscroll 0 borders 2 base height 163 min height 163
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 50 menubar 33 hscroll 0 borders 2 base height 163 min height 163
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 50 menubar 33 hscroll 0 borders 2 base height 163 min height 163
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 50 menubar 33 hscroll 0 borders 2 base height 163 min height 163

x_new_font old char size 23x50 new char size 24x51 text chars 34x15 old text pixels 800x792 new text pixels 816x765
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 34x15 new text chars 33x15
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149

x_new_font old char size 24x51 new char size 25x53 text chars 33x15 old text pixels 800x792 new text pixels 825x795
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 33x15 new text chars 32x14
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174

x_new_font old char size 25x53 new char size 25x54 text chars 32x14 old text pixels 800x792 new text pixels 800x756
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 54 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 54 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 54 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 54 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 54 menubar 33 hscroll 0 borders 2 base height 161 min height 161

x_new_font old char size 25x54 new char size 26x55 text chars 32x14 old text pixels 800x792 new text pixels 832x770
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 32x14 new text chars 30x14
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148

x_new_font old char size 26x55 new char size 26x57 text chars 30x14 old text pixels 800x792 new text pixels 780x798
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 30x14 new text chars 30x13
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 57 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 57 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 57 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 57 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 57 menubar 33 hscroll 0 borders 2 base height 179 min height 179

x_new_font old char size 26x57 new char size 27x58 text chars 30x13 old text pixels 800x792 new text pixels 810x754
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 30x13 new text chars 29x13
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167

x_new_font old char size 27x58 new char size 28x59 text chars 29x13 old text pixels 800x792 new text pixels 812x767
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 29x13 new text chars 28x13
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155

x_new_font old char size 28x59 new char size 28x60 text chars 28x13 old text pixels 800x792 new text pixels 784x780
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 28x60 new char size 29x62 text chars 28x13 old text pixels 800x792 new text pixels 812x806
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 28x13 new text chars 27x12
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181

x_new_font old char size 29x62 new char size 29x63 text chars 27x12 old text pixels 800x792 new text pixels 783x756
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 63 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 63 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 63 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 63 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 63 menubar 33 hscroll 0 borders 2 base height 170 min height 170

x_new_font old char size 29x63 new char size 30x64 text chars 27x12 old text pixels 800x792 new text pixels 810x768
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 27x12 new text chars 26x12
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159

x_new_font old char size 30x64 new char size 31x65 text chars 26x12 old text pixels 800x792 new text pixels 806x780
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 26x12 new text chars 25x12
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148

x_new_font old char size 31x65 new char size 31x67 text chars 25x12 old text pixels 800x792 new text pixels 775x804
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 25x12 new text chars 25x11
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 67 menubar 33 hscroll 0 borders 2 base height 193 min height 193
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 67 menubar 33 hscroll 0 borders 2 base height 193 min height 193
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 67 menubar 33 hscroll 0 borders 2 base height 193 min height 193
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 67 menubar 33 hscroll 0 borders 2 base height 193 min height 193
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 67 menubar 33 hscroll 0 borders 2 base height 193 min height 193

x_new_font old char size 31x67 new char size 32x68 text chars 25x11 old text pixels 800x792 new text pixels 800x748
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183

x_new_font old char size 32x68 new char size 32x69 text chars 25x11 old text pixels 800x792 new text pixels 800x759
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173

x_new_font old char size 32x69 new char size 33x71 text chars 25x11 old text pixels 800x792 new text pixels 825x781
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 25x11 new text chars 24x11
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 33 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 71 menubar 33 hscroll 0 borders 2 base height 153 min height 153
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 33 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 71 menubar 33 hscroll 0 borders 2 base height 153 min height 153
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 33 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 71 menubar 33 hscroll 0 borders 2 base height 153 min height 153
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 33 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 71 menubar 33 hscroll 0 borders 2 base height 153 min height 153
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 33 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 71 menubar 33 hscroll 0 borders 2 base height 153 min height 153

x_new_font old char size 33x71 new char size 34x72 text chars 24x11 old text pixels 800x792 new text pixels 816x792
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 24x11 new text chars 23x11
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 34x72 new char size 34x73 text chars 23x11 old text pixels 800x792 new text pixels 782x803
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 23x11 new text chars 23x10
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206

x_new_font old char size 34x73 new char size 35x74 text chars 23x10 old text pixels 800x792 new text pixels 805x740
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 23x10 new text chars 22x10
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197

x_new_font old char size 35x74 new char size 35x76 text chars 22x10 old text pixels 800x792 new text pixels 770x760
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 76 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 76 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 76 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 76 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 76 menubar 33 hscroll 0 borders 2 base height 179 min height 179

x_new_font old char size 35x76 new char size 36x77 text chars 22x10 old text pixels 800x792 new text pixels 792x770
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170

x_new_font old char size 36x77 new char size 37x78 text chars 22x10 old text pixels 800x792 new text pixels 814x780
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 22x10 new text chars 21x10
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161

x_new_font old char size 37x78 new char size 37x79 text chars 21x10 old text pixels 800x792 new text pixels 777x790
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152

x_new_font old char size 37x79 new char size 38x80 text chars 21x10 old text pixels 800x792 new text pixels 798x800
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 21x10 new text chars 21x9
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223

x_new_font old char size 38x80 new char size 38x81 text chars 21x9 old text pixels 800x792 new text pixels 798x729
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 81 menubar 33 hscroll 0 borders 2 base height 215 min height 215
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 81 menubar 33 hscroll 0 borders 2 base height 215 min height 215
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 81 menubar 33 hscroll 0 borders 2 base height 215 min height 215
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 81 menubar 33 hscroll 0 borders 2 base height 215 min height 215
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 81 menubar 33 hscroll 0 borders 2 base height 215 min height 215

x_new_font old char size 38x81 new char size 39x82 text chars 21x9 old text pixels 800x792 new text pixels 819x738
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 21x9 new text chars 20x9
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207

x_new_font old char size 39x82 new char size 40x84 text chars 20x9 old text pixels 800x792 new text pixels 800x756
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191

x_new_font old char size 40x84 new char size 40x85 text chars 20x9 old text pixels 800x792 new text pixels 800x765
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183

x_new_font old char size 40x85 new char size 41x86 text chars 20x9 old text pixels 800x792 new text pixels 820x774
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 20x9 new text chars 19x9
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175

x_new_font old char size 41x86 new char size 41x87 text chars 19x9 old text pixels 800x792 new text pixels 779x783
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167

x_new_font old char size 41x87 new char size 42x89 text chars 19x9 old text pixels 800x792 new text pixels 798x801
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 19x9 new text chars 19x8
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240

x_new_font old char size 42x89 new char size 43x90 text chars 19x8 old text pixels 800x792 new text pixels 817x720
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 19x8 new text chars 18x8
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233

x_new_font old char size 43x90 new char size 43x91 text chars 18x8 old text pixels 800x792 new text pixels 774x728
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 91 menubar 33 hscroll 0 borders 2 base height 226 min height 226
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 91 menubar 33 hscroll 0 borders 2 base height 226 min height 226
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 91 menubar 33 hscroll 0 borders 2 base height 226 min height 226
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 91 menubar 33 hscroll 0 borders 2 base height 226 min height 226
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 91 menubar 33 hscroll 0 borders 2 base height 226 min height 226

x_new_font old char size 43x91 new char size 44x92 text chars 18x8 old text pixels 800x792 new text pixels 792x736
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219

x_new_font old char size 44x92 new char size 44x94 text chars 18x8 old text pixels 800x792 new text pixels 792x752
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205

x_new_font old char size 44x94 new char size 45x95 text chars 18x8 old text pixels 800x792 new text pixels 810x760
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 18x8 new text chars 17x8
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198

x_new_font old char size 45x95 new char size 46x96 text chars 17x8 old text pixels 800x792 new text pixels 782x768
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191

x_new_font old char size 46x96 new char size 46x98 text chars 17x8 old text pixels 800x792 new text pixels 782x784
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 98 menubar 33 hscroll 0 borders 2 base height 177 min height 177
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 98 menubar 33 hscroll 0 borders 2 base height 177 min height 177
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 98 menubar 33 hscroll 0 borders 2 base height 177 min height 177

x_new_font old char size 46x98 new char size 46x96 text chars 17x8 old text pixels 800x792 new text pixels 782x768
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 46 vscroll 16 fringes 16 borders 2 base width 98 min width 98
    char height 96 menubar 33 hscroll 0 borders 2 base height 191 min height 191

x_new_font old char size 46x96 new char size 45x95 text chars 17x8 old text pixels 800x792 new text pixels 765x760
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 45 vscroll 16 fringes 16 borders 2 base width 114 min width 114
    char height 95 menubar 33 hscroll 0 borders 2 base height 198 min height 198

x_new_font old char size 45x95 new char size 44x94 text chars 17x8 old text pixels 800x792 new text pixels 748x752
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 17x8 new text chars 18x8
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 94 menubar 33 hscroll 0 borders 2 base height 205 min height 205

x_new_font old char size 44x94 new char size 44x92 text chars 18x8 old text pixels 800x792 new text pixels 792x736
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 44 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 92 menubar 33 hscroll 0 borders 2 base height 219 min height 219

x_new_font old char size 44x92 new char size 43x91 text chars 18x8 old text pixels 800x792 new text pixels 774x728
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 91 menubar 33 hscroll 0 borders 2 base height 226 min height 226
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 91 menubar 33 hscroll 0 borders 2 base height 226 min height 226
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 91 menubar 33 hscroll 0 borders 2 base height 226 min height 226

x_new_font old char size 43x91 new char size 43x90 text chars 18x8 old text pixels 800x792 new text pixels 774x720
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 43 vscroll 16 fringes 16 borders 2 base width 103 min width 103
    char height 90 menubar 33 hscroll 0 borders 2 base height 233 min height 233

x_new_font old char size 43x90 new char size 42x89 text chars 18x8 old text pixels 800x792 new text pixels 756x712
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 18x8 new text chars 19x8
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 42 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 89 menubar 33 hscroll 0 borders 2 base height 240 min height 240

x_new_font old char size 42x89 new char size 41x87 text chars 19x8 old text pixels 800x792 new text pixels 779x696
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 19x8 new text chars 19x9
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 87 menubar 33 hscroll 0 borders 2 base height 167 min height 167

x_new_font old char size 41x87 new char size 41x86 text chars 19x9 old text pixels 800x792 new text pixels 779x774
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 41 vscroll 16 fringes 16 borders 2 base width 96 min width 96
    char height 86 menubar 33 hscroll 0 borders 2 base height 175 min height 175

x_new_font old char size 41x86 new char size 40x85 text chars 19x9 old text pixels 800x792 new text pixels 760x765
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 19x9 new text chars 20x9
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 85 menubar 33 hscroll 0 borders 2 base height 183 min height 183

x_new_font old char size 40x85 new char size 40x84 text chars 20x9 old text pixels 800x792 new text pixels 800x756
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 40 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 84 menubar 33 hscroll 0 borders 2 base height 191 min height 191

x_new_font old char size 40x84 new char size 39x82 text chars 20x9 old text pixels 800x792 new text pixels 780x738
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 39 vscroll 16 fringes 16 borders 2 base width 93 min width 93
    char height 82 menubar 33 hscroll 0 borders 2 base height 207 min height 207

x_new_font old char size 39x82 new char size 38x81 text chars 20x9 old text pixels 800x792 new text pixels 760x729
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 20x9 new text chars 21x9
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 81 menubar 33 hscroll 0 borders 2 base height 215 min height 215
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 81 menubar 33 hscroll 0 borders 2 base height 215 min height 215
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 81 menubar 33 hscroll 0 borders 2 base height 215 min height 215

x_new_font old char size 38x81 new char size 38x80 text chars 21x9 old text pixels 800x792 new text pixels 798x720
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 38 vscroll 16 fringes 16 borders 2 base width 74 min width 74
    char height 80 menubar 33 hscroll 0 borders 2 base height 223 min height 223

x_new_font old char size 38x80 new char size 37x79 text chars 21x9 old text pixels 800x792 new text pixels 777x711
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 21x9 new text chars 21x10
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 79 menubar 33 hscroll 0 borders 2 base height 152 min height 152

x_new_font old char size 37x79 new char size 37x78 text chars 21x10 old text pixels 800x792 new text pixels 777x780
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 37 vscroll 16 fringes 16 borders 2 base width 94 min width 94
    char height 78 menubar 33 hscroll 0 borders 2 base height 161 min height 161

x_new_font old char size 37x78 new char size 36x77 text chars 21x10 old text pixels 800x792 new text pixels 756x770
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 21x10 new text chars 22x10
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 36 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 77 menubar 33 hscroll 0 borders 2 base height 170 min height 170

x_new_font old char size 36x77 new char size 35x76 text chars 22x10 old text pixels 800x792 new text pixels 770x760
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 76 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 76 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 76 menubar 33 hscroll 0 borders 2 base height 179 min height 179

x_new_font old char size 35x76 new char size 35x74 text chars 22x10 old text pixels 800x792 new text pixels 770x740
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 35 vscroll 16 fringes 16 borders 2 base width 99 min width 99
    char height 74 menubar 33 hscroll 0 borders 2 base height 197 min height 197

x_new_font old char size 35x74 new char size 34x73 text chars 22x10 old text pixels 800x792 new text pixels 748x730
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 22x10 new text chars 23x10
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 73 menubar 33 hscroll 0 borders 2 base height 206 min height 206

x_new_font old char size 34x73 new char size 34x72 text chars 23x10 old text pixels 800x792 new text pixels 782x720
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 23x10 new text chars 23x11
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 34 vscroll 16 fringes 16 borders 2 base width 86 min width 86
    char height 72 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 34x72 new char size 33x71 text chars 23x11 old text pixels 800x792 new text pixels 759x781
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 23x11 new text chars 24x11
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 33 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 71 menubar 33 hscroll 0 borders 2 base height 153 min height 153
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 33 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 71 menubar 33 hscroll 0 borders 2 base height 153 min height 153
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 33 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 71 menubar 33 hscroll 0 borders 2 base height 153 min height 153

x_new_font old char size 33x71 new char size 32x69 text chars 24x11 old text pixels 800x792 new text pixels 768x759
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 24x11 new text chars 25x11
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 69 menubar 33 hscroll 0 borders 2 base height 173 min height 173

x_new_font old char size 32x69 new char size 32x68 text chars 25x11 old text pixels 800x792 new text pixels 800x748
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 32 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 68 menubar 33 hscroll 0 borders 2 base height 183 min height 183

x_new_font old char size 32x68 new char size 31x67 text chars 25x11 old text pixels 800x792 new text pixels 775x737
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 67 menubar 33 hscroll 0 borders 2 base height 193 min height 193
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 67 menubar 33 hscroll 0 borders 2 base height 193 min height 193
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 67 menubar 33 hscroll 0 borders 2 base height 193 min height 193

x_new_font old char size 31x67 new char sizeEmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148
 31x84865 text chars 25x11 old text pixels 800x792 new text pixels 775x715
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 25x11 new text chars 25x12
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 31 vscroll 16 fringes 16 borders 2 base width 90 min width 90
    char height 65 menubar 33 hscroll 0 borders 2 base height 148 min height 148

x_new_font old char size 31x65 new char size 30x64 text chars 25x12 old text pixels 800x792 new text pixels 750x768
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 25x12 new text chars 26x12
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 30 vscroll 16 fringes 16 borders 2 base width 84 min width 84
    char height 64 menubar 33 hscroll 0 borders 2 base height 159 min height 159

x_new_font old char size 30x64 new char size 29x63 text chars 26x12 old text pixels 800x792 new text pixels 754x756
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 26x12 new text chars 27x12
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 63 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 63 menubar 33 hscroll 0 borders 2 base height 170 min height 170
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 63 menubar 33 hscroll 0 borders 2 base height 170 min height 170

x_new_font old char size 29x63 new char size 29x62 text chars 27x12 old text pixels 800x792 new text pixels 783x744
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 29 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 62 menubar 33 hscroll 0 borders 2 base height 181 min height 181

x_new_font old char size 29x62 new char size 28x60 text chars 27x12 old text pixels 800x792 new text pixels 756x720
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 27x12 new text chars 28x13
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 60 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 28x60 new char size 28x59 text chars 28x13 old text pixels 800x792 new text pixels 784x767
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 28 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 59 menubar 33 hscroll 0 borders 2 base height 155 min height 155

x_new_font old char size 28x59 new char size 27x58 text chars 28x13 old text pixels 800x792 new text pixels 756x754
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 28x13 new text chars 29x13
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 27 vscroll 16 fringes 16 borders 2 base width 78 min width 78
    char height 58 menubar 33 hscroll 0 borders 2 base height 167 min height 167

x_new_font old char size 27x58 new char size 26x57 text chars 29x13 old text pixels 800x792 new text pixels 754x741
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 29x13 new text chars 30x13
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 57 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 57 menubar 33 hscroll 0 borders 2 base height 179 min height 179
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 57 menubar 33 hscroll 0 borders 2 base height 179 min height 179

x_new_font old char size 26x57 new char size 26x55 text chars 30x13 old text pixels 800x792 new text pixels 780x715
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixelsEmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
 800x792 new text pixels 800x792 old text chars 30x13 new text chars 30x14
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 26 vscroll 16 fringes 16 borders 2 base width 80 min width 80
    char height 55 menubar 33 hscroll 0 borders 2 base height 148 min height 148

x_new_font old char size 26x55 new char size 25x54 text chars 30x14 old text pixels 800x792 new text pixels 750x756
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 30x14 new text chars 32x14
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 54 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 54 menubar 33 hscroll 0 borders 2 base height 161 min height 161
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 54 menubar 33 hscroll 0 borders 2 base height 161 min height 161

x_new_font old char size 25x54 new char size 25x53 text chars 32x14 old text pixels 800x792 new text pixels 800x742
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 25 vscroll 16 fringes 16 borders 2 base width 59 min width 59
    char height 53 menubar 33 hscroll 0 borders 2 base height 174 min height 174

x_new_font old char size 25x53 new char size 24x51 text chars 32x14 old text pixels 800x792 new text pixels 768x714
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
 new text pixels 800x792 old text chars 32x14 new text chars 33x15
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 24 vscroll 16 fringes 16 borders 2 base width 66 min width 66
    char height 51 menubar 33 hscroll 0 borders 2 base height 149 min height 149

x_new_font old char size 24x51 new char size 23x50 text chars 33x15 old text pixels 800x792 new text pixels 759x750
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 33x15 new text chars 34x15
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 50 menubar 33 hscroll 0 borders 2 base height 163 min height 163
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 50 menubar 33 hscroll 0 borders 2 base height 163 min height 163
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 50 menubar 33 hscroll 0 borders 2 base height 163 min height 163

x_new_font old char size 23x50 new char size 23x49 text chars 34x15 old text pixels 800x792 new text pixels 782x735
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 34x15 new text chars 34x16
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 23 vscroll 16 fringes 16 borders 2 base width 75 min width 75
    char height 49 menubar 33 hscroll 0 borders 2 base height 128 min height 128

x_new_font old char size 23x49 new char size 22x48 text chars 34x16 old text pixels 800x792 new text pixels 748x768
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 34x16 new text chars 36x16
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 48 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 22x48 new char size 22x46 text chars 36x16 old text pixels 800x792 new text pixels 792x736
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 36x16 new text chars 36x17
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 22 vscroll 16 fringes 16 borders 2 base width 64 min width 64
    char height 46 menubar 33 hscroll 0 borders 2 base height 127 min height 127

x_new_font old char size 22x46 new char size 21x45 text chars 36x17 old text pixels 800x792 new text pixels 756x765
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 36x17 new text chars 38x17
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 21 vscroll 16 fringes 16 borders 2 base width 57 min width 57
    char height 45 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 21x45 new char size 20x44 text chars 38x17 old text pixels 800x792 new text pixels 760x748
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 38x17 new text chars 40x18
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 44 menubar 33 hscroll 0 borders 2 base height 115 min height 115

x_new_font old char size 20x44 new char size 20x43 text chars 40x18 old text pixels 800x792 new text pixels 800x774
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 20 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 43 menubar 33 hscroll 0 borders 2 base height 132 min height 132

x_new_font old char size 20x43 new char size 19x41 text chars 40x18 old text pixels 800x792 new text pixels 760x738
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 40x18 new text chars 42x19
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 41 menubar 33 hscroll 0 borders 2 base height 125 min height 125

x_new_font old char size 19x41 new char size 19x40 text chars 42x19 old text pixels 800x792 new text pixels 798x760
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 19 vscroll 16 fringes 16 borders 2 base width 55 min width 55
    char height 40 menubar 33 hscroll 0 borders 2 base height 143 min height 143

x_new_font old char size 19x40 new char size 18x39 text chars 42x19 old text pixels 800x792 new text pixels 756x741
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 42x19 new text chars 44x20
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 18 vscroll 16 fringes 16 borders 2 base width 60 min width 60
    char height 39 menubar 33 hscroll 0 borders 2 base height 122 min height 122

x_new_font old char size 18x39 new char size 17x37 text chars 44x20 old text pixels 800x792 new text pixels 748x740
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 44x20 new text chars 47x21
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 37 menubar 33 hscroll 0 borders 2 base height 123 min height 123

x_new_font old char size 17x37 new char size 17x36 text chars 47x21 old text pixels 800x792 new text pixels 799x756
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 47x21 new text chars 47x22
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 17 vscroll 16 fringes 16 borders 2 base width 52 min width 52
    char height 36 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 17x36 new char size 16x35 text chars 47x22 old text pixels 800x792 new text pixels 752x770
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 47x22 new text chars 50x22
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 35 menubar 33 hscroll 0 borders 2 base height 128 min height 128

x_new_font old char size 16x35 new char size 16x34 text chars 50x22 old text pixels 800x792 new text pixels 800x748
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 50x22 new text chars 50x23
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 34 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 34 menubar 33 hscroll 0 borders 2 base height 115 min height 115
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 16 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 34 menubar 33 hscroll 0 borders 2 base height 115 min height 115

x_new_font old char size 16x34 new char size 15x32 text chars 50x23 old text pixels 800x792 new text pixels 750x736
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 50x23 new text chars 53x24
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 15 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 32 menubar 33 hscroll 0 borders 2 base height 127 min height 127

x_new_font old char size 15x32 new char size 14x31 text chars 53x24 old text pixels 800x792 new text pixels 742x744
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 53x24 new text chars 57x25
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 31 menubar 33 hscroll 0 borders 2 base height 119 min height 119

x_new_font old char size 14x31 new char size 14x30 text chars 57x25 old text pixels 800x792 new text pixels 798x750
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 57x25 new text chars 57x26
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 14 vscroll 16 fringes 16 borders 2 base width 50 min width 50
    char height 30 menubar 33 hscroll 0 borders 2 base height 113 min height 113

x_new_font old char size 14x30 new char size 13x28 text chars 57x26 old text pixels 800x792 new text pixels 741x728
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 57x26 new text chars 61x28
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 28 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 28 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 28 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 13x28 new char size 13x27 text chars 61x28 old text pixels 800x792 new text pixels 793x756
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 61x28 new text chars 61x29
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 13 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 27 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 13x27 new char size 12x26 text chars 61x29 old text pixels 800x792 new text pixels 732x754
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 61x29 new text chars 66x30
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 26 menubar 33 hscroll 0 borders 2 base height 109 min height 109
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 26 menubar 33 hscroll 0 borders 2 base height 109 min height 109
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 12 vscroll 16 fringes 16 borders 2 base width 54 min width 54
    char height 26 menubar 33 hscroll 0 borders 2 base height 109 min height 109

x_new_font old char size 12x26 new char size 11x25 text chars 66x30 old text pixels 800x792 new text pixels 726x750
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 66x30 new text chars 72x31
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 25 menubar 33 hscroll 0 borders 2 base height 113 min height 113

x_new_font old char size 11x25 new char size 11x23 text chars 72x31 old text pixels 800x792 new text pixels 792x713
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 72x31 new text chars 72x34
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
    char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104

x_new_font old char size 11x23 new char size 10x22 text chars 72x34 old text pixels 800x792 new text pixels 720x748
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 72x34 new text chars 80x36
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93

x_new_font old char size 10x22 new char size 10x21 text chars 80x36 old text pixels 800x792 new text pixels 800x756
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 80x37
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
    char height 21 menubar 33 hscroll 0 borders 2 base height 107 min height 107

x_new_font old char size 10x21 new char size 9x20 text chars 80x37 old text pixels 800x792 new text pixels 720x740
adjust_frame_size old native pixelsEmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x37 new text chars 88x39
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 9 vscroll 16 fringes 16 borders 2 base width 51 min width 51
    char height 20 menubar 33 hscroll 0 borders 2 base height 103 min height 103

x_new_font old char size 9x20 new char size 8x18 text chars 88x39 old text pixels 800x792 new text pixels 704x702
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 88x39 new text chars 100x44
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89

x_new_font old char size 8x18 new char size 8x17 text chars 100x44 old text pixels 800x792 new text pixels 800x748
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 100x44 new text chars 100x46
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 17 menubar 33 hscroll 0 borders 2 base height 98 min height 98
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 17 menubar 33 hscroll 0 borders 2 base height 98 min height 98
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 17 menubar 33 hscroll 0 borders 2 base height 98 min height 98

x_new_font old char size 8x17 new char size 7x16 text chars 100x46 old text pixels 800x792 new text pixels 700x736
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 100x46 new text chars 114x49
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 16 menubar 33 hscroll 0 borders 2 base height 95 min height 95
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 16 menubar 33 hscroll 0 borders 2 base height 95 min height 95
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 16 menubar 33 hscroll 0 borders 2 base height 95 min height 95

x_new_font old char size 7x16 new char size 7x14 text chars 114x49 old text pixels 800x792 new text pixels 798x686
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 114x49 new text chars 114x56
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 14 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 14 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 14 menubar 33 hscroll 0 borders 2 base height 93 min height 93

x_new_font old char size 7x14 new char size 6x13 text chars 114x56 old text pixels 800x792 new text pixels 684x728
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 114x56 new text chars 133x60
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 6 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 13 menubar 33 hscroll 0 borders 2 base height 96 min height 96
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 6 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 13 menubar 33 hscroll 0 borders 2 base height 96 min height 96
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 6 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 13 menubar 33 hscroll 0 borders 2 base height 96 min height 96

x_new_font old char size 6x13 new char size 5x12 text chars 133x60 old text pixels 800x792 new text pixels 665x720
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 133x60 new text chars 160x66
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 12 menubar 33 hscroll 0 borders 2 base height 83 min height 83
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 12 menubar 33 hscroll 0 borders 2 base height 83 min height 83
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 12 menubar 33 hscroll 0 borders 2 base height 83 min height 83

x_new_font old char size 5x12 new char size 5x11 text chars 160x66 old text pixels 800x792 new text pixels 800x726
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 160x66 new text chars 160x72
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 11 menubar 33 hscroll 0 borders 2 base height 82 min height 82
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 11 menubar 33 hscroll 0 borders 2 base height 82 min height 82
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 11 menubar 33 hscroll 0 borders 2 base height 82 min height 82

x_new_font old char size 5x11 new char size 4x9 text chars 160x72 old text pixels 800x792 new text pixels 640x648
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 160x72 new text chars 200x88
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 9 menubar 33 hscroll 0 borders 2 base height 80 min height 80
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 9 menubar 33 hscroll 0 borders 2 base height 80 min height 80
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 9 menubar 33 hscroll 0 borders 2 base height 80 min height 80

x_new_font old char size 4x9 new char size 4x8 text chars 200x88 old text pixels 800x792 new text pixels 800x704
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 200x88 new text chars 200x99
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 8 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 8 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 8 menubar 33 hscroll 0 borders 2 base height 79 min height 79

x_new_font old char size 4x8 new char size 3x7 text chars 200x99 old text pixels 800x792 new text pixels 600x693
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 200x99 new text chars 266x113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 3 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 7 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 3 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 7 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 3 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 7 menubar 33 hscroll 0 borders 2 base height 79 min height 79

x_new_font old char size 3x7 new char size 2x6 text chars 266x113 old text pixels 800x792 new text pixels 532x678
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 266x113 new text chars 400x132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 6 menubar 33 hscroll 0 borders 2 base height 77 min height 77
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 6 menubar 33 hscroll 0 borders 2 base height 77 min height 77
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 6 menubar 33 hscroll 0 borders 2 base height 77 min height 77

x_new_font old char size 2x6 new char size 2x4 text chars 400x132 old text pixels 800x792 new text pixels 800x528
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 400x132 new text chars 400x198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75

x_new_font old char size 2x4 new char size 1x3 text chars 400x198 old text pixels 800x792 new text pixels 400x594
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 400x198 new text chars 800x264
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 1 vscroll 16 fringes 16 borders 2 base width 35 min width 35
    char height 3 menubar 33 hscroll 0 borders 2 base height 74 min height 74

x_new_font old char size 1x3 new char size 2x4 text chars 800x264 old text pixels 800x792 new text pixels 1600x1056
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 800x264 new text chars 400x198
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 4 menubar 33 hscroll 0 borders 2 base height 75 min height 75

x_new_font old char size 2x4 new char size 2x6 text chars 400x198 old text pixels 800x792 new text pixels 800x1188
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 400x198 new text chars 400x132
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 6 menubar 33 hscroll 0 borders 2 base height 77 min height 77
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 6 menubar 33 hscroll 0 borders 2 base height 77 min height 77
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 6 menubar 33 hscroll 0 borders 2 base height 77 min height 77
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 6 menubar 33 hscroll 0 borders 2 base height 77 min height 77
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 2 vscroll 16 fringes 16 borders 2 base width 36 min width 36
    char height 6 menubar 33 hscroll 0 borders 2 base height 77 min height 77

x_new_font old char size 2x6 new char size 3x7 text chars 400x132 old text pixels 800x792 new text pixels 1200x924
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 400x132 new text chars 266x113
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 3 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 7 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 3 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 7 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 3 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 7 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 3 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 7 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 3 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 7 menubar 33 hscroll 0 borders 2 base height 79 min height 79

x_new_font old char size 3x7 new char size 4x8 text chars 266x113 old text pixels 800x792 new text pixels 1064x904
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 266x113 new text chars 200x99
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 8 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 8 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 8 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 8 menubar 33 hscroll 0 borders 2 base height 79 min height 79
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 8 menubar 33 hscroll 0 borders 2 base height 79 min height 79

x_new_font old char size 4x8 new char size 4x9 text chars 200x99 old text pixels 800x792 new text pixels 800x891
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 200x99 new text chars 200x88
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 9 menubar 33 hscroll 0 borders 2 base height 80 min height 80
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 9 menubar 33 hscroll 0 borders 2 base height 80 min height 80
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 9 menubar 33 hscroll 0 borders 2 base height 80 min height 80
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 9 menubar 33 hscroll 0 borders 2 base height 80 min height 80
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 4 vscroll 16 fringes 16 borders 2 base width 38 min width 38
    char height 9 menubar 33 hscroll 0 borders 2 base height 80 min height 80

x_new_font old char size 4x9 new char size 5x11 text chars 200x88 old text pixels 800x792 new text pixels 1000x968
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 200x88 new text chars 160x72
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 11 menubar 33 hscroll 0 borders 2 base height 82 min height 82
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 11 menubar 33 hscroll 0 borders 2 base height 82 min height 82
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 11 menubar 33 hscroll 0 borders 2 base height 82 min height 82
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 11 menubar 33 hscroll 0 borders 2 base height 82 min height 82
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 11 menubar 33 hscroll 0 borders 2 base height 82 min height 82

x_new_font old char size 5x11 new char size 5x12 text chars 160x72 old text pixels 800x792 new text pixels 800x864
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 160x72 new text chars 160x66
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 12 menubar 33 hscroll 0 borders 2 base height 83 min height 83
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 12 menubar 33 hscroll 0 borders 2 base height 83 min height 83
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 12 menubar 33 hscroll 0 borders 2 base height 83 min height 83
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 12 menubar 33 hscroll 0 borders 2 base height 83 min height 83
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 5 vscroll 16 fringes 16 borders 2 base width 39 min width 39
    char height 12 menubar 33 hscroll 0 borders 2 base height 83 min height 83

x_new_font old char size 5x12 new char size 6x13 text chars 160x66 old text pixels 800x792 new text pixels 960x858
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 160x66 new text chars 133x60
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 6 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 13 menubar 33 hscroll 0 borders 2 base height 96 min height 96
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 6 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 13 menubar 33 hscroll 0 borders 2 base height 96 min height 96
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 6 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 13 menubar 33 hscroll 0 borders 2 base height 96 min height 96
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 6 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 13 menubar 33 hscroll 0 borders 2 base height 96 min height 96
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 6 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 13 menubar 33 hscroll 0 borders 2 base height 96 min height 96

x_new_font old char size 6x13 new char size 7x14 text chars 133x60 old text pixels 800x792 new text pixels 931x840
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 133x60 new text chars 114x56
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 14 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 14 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 14 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 14 menubar 33 hscroll 0 borders 2 base height 93 min height 93
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 14 menubar 33 hscroll 0 borders 2 base height 93 min height 93

x_new_font old char size 7x14 new char size 7x16 text chars 114x56 old text pixels 800x792 new text pixels 798x896
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 114x56 new text chars 114x49
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 16 menubar 33 hscroll 0 borders 2 base height 95 min height 95
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 16 menubar 33 hscroll 0 borders 2 base height 95 min height 95
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 16 menubar 33 hscroll 0 borders 2 base height 95 min height 95
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 16 menubar 33 hscroll 0 borders 2 base height 95 min height 95
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 7 vscroll 16 fringes 16 borders 2 base width 43 min width 43
    char height 16 menubar 33 hscroll 0 borders 2 base height 95 min height 95

x_new_font old char size 7x16 new char size 8x17 text chars 114x49 old text pixels 800x792 new text pixels 912x833
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 114x49 new text chars 100x46
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 17 menubar 33 hscroll 0 borders 2 base height 98 min height 98
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 17 menubar 33 hscroll 0 borders 2 base height 98 min height 98
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 17 menubar 33 hscroll 0 borders 2 base height 98 min height 98
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 17 menubar 33 hscroll 0 borders 2 base height 98 min height 98
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 17 menubar 33 hscroll 0 borders 2 base height 98 min height 98

x_new_font old char size 8x17 new char size 8x18 text chars 100x46 old text pixels 800x792 new text pixels 800x828
adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 100x46 new text chars 100x44
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89
EmacsFrameResize old native pixels 834x830 new native pixels 834x830
update_wm_hints char width 8 vscroll 16 fringes 16 borders 2 base width 42 min width 42
    char height 18 menubar 33 hscroll 0 borders 2 base height 89 min height 89



-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 14 Jan 2023 10:26:01 GMT) Full text and rfc822 format available.

Message #116 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Jean Louis <bugs <at> gnu.support>
Cc: 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before)
Date: Sat, 14 Jan 2023 11:24:35 +0100
> I missed your instructions, then I pulled new Emacs, did the patch,
> and now I can't see shrinking of window in Lucid build.

Thank you.  This looks better than I expected.

> Did anything change in meantime?

No.  If this was the first time you applied a patch, something might
have easily gone wrong.  Don't worry.

> adjust_frame_size old native pixels 80x25 new native pixels 80x25 old text pixels 80x25 new text pixels 80x24 old text chars 80x25 new text chars 80x24
> adjust_frame_size old native pixels 80x25 new native pixels 818x552 old text pixels 80x25 new text pixels 800x550 old text chars 80x25 new text chars 80x25
> adjust_frame_size old native pixels 818x552 new native pixels 818x574 old text pixels 800x550 new text pixels 800x550 old text chars 80x25 new text chars 80x25
> adjust_frame_size old native pixels 818x574 new native pixels 818x828 old text pixels 800x550 new text pixels 800x792 old text chars 80x25 new text chars 80x36
> update_from_various_frame_slots native pixels 818x828
> set_frame_size native pixels 818x828
> update_wm_hints char width 10 vscroll 0 fringes 16 borders 2 base width 28 min width 28
>      char height 22 menubar 0 hscroll 0 borders 2 base height 58 min height 58
> EmacsFrameResize old native pixels 818x828 new native pixels 818x828
> update_wm_hints char width 10 vscroll 0 fringes 16 borders 2 base width 28 min width 28
>      char height 22 menubar 0 hscroll 0 borders 2 base height 58 min height 58
> adjust_frame_size old native pixels 818x828 new native pixels 834x828 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 80x36

Note the "new text chars 80x36" at the end of the last line.  This
should appear in any run on a graphic display.  It means that we were
able to set up the initial frame size as we intended.  Earlier on this
line you will notice that the native width of the frame increased from
818 to 834 pixels.  The 16 pixels stem from the fringes, the vertical
scroll bar has not been counted yet.

> EmacsFrameResize old native pixels 834x828 new native pixels 818x795

Here we apparently try to account for the scroll bar width (the 16
pixels from 834 to 828) and the tool bar (33 pixels from 828 to 795).
The widget builds apparently have to detract these values from the
native rectangle to keep the number of lines and columns constant.  I
never understood the widget code.

> update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 48 min width 48
>      char height 22 menubar 33 hscroll 0 borders 2 base height 102 min height 102

I elided many identical update_wm_hints lines here.  Something's wrong,
presumably with that memcmp call in update_wm_hints.

> adjust_frame_size old native pixels 834x828 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 80x36

Whatever the code did, we have the expected (* 80 10) 800 and (* 22 36)
792 integral text pixels here.  Now things get interesting.

> x_new_font old char size 10x22 new char size 11x23 text chars 80x36 old text pixels 800x792 new text pixels 880x828

Here you ask (presumably via 'global-text-scale-adjust') to increase the
character size of the default font from 10x22 to 11x23 pixels.  This
means that if we want to keep the frame's pixel size constant, we have
to shrink its text character width (apparently from 80 to 72) and its
text character height (from 36 to 34).

> adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 72x34

Here you can see that both, native and text size in pixels remain
unaltered which is what we wanted to achieve.  And note that here
neither (* 72 11) equals 800 nor does (* 34 23) equal 792.  So the text
sizes in pixels are no more integral multiples of the sizes in terms of
characters.

I still think that 'global-text-scale-adjust' should not modify the
default font but maybe this ship has sailed.  And I suppose that with
WMs like yours this problem might bite us in other occasions as well.

> EmacsFrameResize old native pixels 834x830 new native pixels 834x830
> update_wm_hints char width 11 vscroll 16 fringes 16 borders 2 base width 53 min width 53
>      char height 23 menubar 33 hscroll 0 borders 2 base height 104 min height 104

And here you can see that both the base width and the base height
changed - something our code never did before.

> x_new_font old char size 11x23 new char size 10x22 text chars 72x34 old text pixels 800x792 new text pixels 720x748

Here, IIUC you size back to the initial size ...

> adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 72x34 new text chars 80x36

... and while Emacs restores to our initial 80x36 text chars sizes and
keeps the pixel sizes constant ...

> EmacsFrameResize old native pixels 834x830 new native pixels 834x830
> update_wm_hints char width 10 vscroll 16 fringes 16 borders 2 base width 44 min width 44
>      char height 22 menubar 33 hscroll 0 borders 2 base height 93 min height 93

... the base size hints go somewhere else (from 48x102 to 44x93) which
apparently doesn't harm.

For the rest of the experiment note that if things don't go wrong, in
each line headed by adjust_frame_size like

> adjust_frame_size old native pixels 834x830 new native pixels 834x830 old text pixels 800x792 new text pixels 800x792 old text chars 80x36 new text chars 80x37

both old and next text and native pixels should have the same value
after each 'global-text-scale-adjust' call which means that the frame
size did not change visually.

I invite you to conduct this experiment further and also intersperse
manual frame resizes (using the mouse) in between.  The idea is that no
unexpected or strange resizing should happen any more.

Good luck, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 16 Jan 2023 01:28:02 GMT) Full text and rfc822 format available.

Message #119 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was not
 before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 16 Jan 2023 03:27:34 +0200
[Message part 1 (text/plain, inline)]
On 13/01/2023 10:38, martin rudalics wrote:
>  > I cannot reproduce the problem reported in bug#60585, with or without 
> that patch (with GNOME).
> 
> That one is a real treat, however.  With our current bug we are occupied
> with things going awry when we want to explicitly change the size of a
> frame.  In Bug#60585 we do not want to change the size of a frame.
> Rather we want to keep its size fixed when changing the default font's
> size.

Indeed.

> The problem is not reproducible with GTK because there we set the size
> hints only when we want to resize a frame.  With the Lucid build we set
> size hints more often.

OK, I have recompiled to Lucid, reproduced the problem and indeed your 
patch seems to fix it. With seemingly no adverse effects.

I did get a segfault once when testing this, but wasn't able to 
replicate it so far. Could be unrelated. Attaching both it and the 
"decoded" version, which was produced with this command (note that the 
regexp is different from what the manual advises):

sed -n 's/[a-z0-9_/-]\+(\([a-z0-9+]\+\))/\1/p' segfault.txt | addr2line 
-C -f -i -p -e src/emacs

Not sure if you need the contents of *foo* from me, but attaching it 
anyway (from a different session), because it might show something 
different with 2x scaled display.
[foo.txt (text/plain, attachment)]
[segfault.txt (text/plain, attachment)]
[segfault_decoded.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 16 Jan 2023 10:04:01 GMT) Full text and rfc822 format available.

Message #122 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 16 Jan 2023 11:03:38 +0100
> OK, I have recompiled to Lucid, reproduced the problem

Thanks.  This shows that we have to deal with an increasing number of
window managers that pay more attention to size hints than we have
bargained for.  If Emacs doesn't keep pace with that development,
leaving 'frame-resize-pixelwise' at nil will become an obsolete option
soon.

> I did get a segfault once when testing this, but wasn't able to
> replicate it so far. Could be unrelated.

Did this happen with emacs -Q?  An optimized build probably?  Also the
line numbers do not really correspond to neither emacs-29 nor master as
I can check from here via savannah.  In either case, dumping traces to a
buffer can produce all sorts of problems, although I try hard to do that
in "safe" places only.  So it might be related.

> Not sure if you need the contents of *foo* from me, but attaching it
> anyway (from a different session), because it might show something
> different with 2x scaled display.

Now I'm confused.  How on earth do we scale with Lucid?  If we do, then
please show me how Lucid handles the Inconsolata scenario.  And please
try also the Inconsolata scenario with a GTK build and the new code.  I
doubt that the code can handle it out of the box but maybe we can tweak
it sufficiently.

Thanks, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 16 Jan 2023 12:46:01 GMT) Full text and rfc822 format available.

Message #125 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 16 Jan 2023 14:44:51 +0200
[Message part 1 (text/plain, inline)]
On 16/01/2023 12:03, martin rudalics wrote:
>  > OK, I have recompiled to Lucid, reproduced the problem
> 
> Thanks.  This shows that we have to deal with an increasing number of
> window managers that pay more attention to size hints than we have
> bargained for.  If Emacs doesn't keep pace with that development,
> leaving 'frame-resize-pixelwise' at nil will become an obsolete option
> soon.
> 
>  > I did get a segfault once when testing this, but wasn't able to
>  > replicate it so far. Could be unrelated.
> 
> Did this happen with emacs -Q?  An optimized build probably?  Also the
> line numbers do not really correspond to neither emacs-29 nor master as
> I can check from here via savannah.  In either case, dumping traces to a
> buffer can produce all sorts of problems, although I try hard to do that
> in "safe" places only.  So it might be related.

'emacs -Q', a build from master with your patch applied.

>  > Not sure if you need the contents of *foo* from me, but attaching it
>  > anyway (from a different session), because it might show something
>  > different with 2x scaled display.
> 
> Now I'm confused.  How on earth do we scale with Lucid?

Apparently, we do scale with Lucid. Even the scroll bar probably 
(although that one is harder to tell).

> If we do, then
> please show me how Lucid handles the Inconsolata scenario.

The InconsolataLGC problem doesn't reproduce on current master with 
Lucid, without any extra patches.

> And please
> try also the Inconsolata scenario with a GTK build and the new code.  I
> doubt that the code can handle it out of the box but maybe we can tweak
> it sufficiently.

x_rest.diff?

It doesn't seem to make any effect on the problem behavior.

Attaching *foo* after 2 evaluation, then resizing the frame with a 
mouse, then 2 evaluations again.
[foo.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 16 Jan 2023 16:11:02 GMT) Full text and rfc822 format available.

Message #128 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 16 Jan 2023 17:10:30 +0100
[Message part 1 (text/plain, inline)]
>> Now I'm confused.  How on earth do we scale with Lucid?
>
> Apparently, we do scale with Lucid. Even the scroll bar probably (although that one is harder to tell).

Interesting.

> x_rest.diff?

Yes.

> It doesn't seem to make any effect on the problem behavior.
>
> Attaching *foo* after 2 evaluation, then resizing the frame with a mouse, then 2 evaluations again.

My bad.  I didn't scale the text sizes when calculating the residue.
Please try again.

Thanks, martin
[x_rest.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Tue, 17 Jan 2023 01:55:01 GMT) Full text and rfc822 format available.

Message #131 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Tue, 17 Jan 2023 03:54:19 +0200
[Message part 1 (text/plain, inline)]
On 16/01/2023 18:10, martin rudalics wrote:
>  >> Now I'm confused.  How on earth do we scale with Lucid?
>  >
>  > Apparently, we do scale with Lucid. Even the scroll bar probably 
> (although that one is harder to tell).
> 
> Interesting.
> 
>  > x_rest.diff?
> 
> Yes.
> 
>  > It doesn't seem to make any effect on the problem behavior.
>  >
>  > Attaching *foo* after 2 evaluation, then resizing the frame with a 
> mouse, then 2 evaluations again.
> 
> My bad.  I didn't scale the text sizes when calculating the residue.
> Please try again.

Thanks, this one reminds me of some previous patch in the respective bug 
report: repeated set-frace-attribute are stable WRT the frame size, but 
resizing the frame with the mouse and then evaling the 
set-frame-attribute form resizes the frame (in the smaller direction).

foo attached.
[foo.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Tue, 17 Jan 2023 10:05:02 GMT) Full text and rfc822 format available.

Message #134 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Tue, 17 Jan 2023 11:04:39 +0100
[Message part 1 (text/plain, inline)]
> Thanks, this one reminds me of some previous patch in the respective
> bug report: repeated set-frace-attribute are stable WRT the frame
> size, but resizing the frame with the mouse and then evaling the
> set-frame-attribute form resizes the frame (in the smaller direction).

That's the one where we then tried to make the frame larger by an entire
size increment minus the scaling residue.  Which means that here we
should make the frame larger by an entire size increment in the hope
that we size it back when we get notified.  Please try again.

martin
[x_rest.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Tue, 17 Jan 2023 17:36:02 GMT) Full text and rfc822 format available.

Message #137 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Tue, 17 Jan 2023 19:35:37 +0200
[Message part 1 (text/plain, inline)]
On 17/01/2023 12:04, martin rudalics wrote:
>  > Thanks, this one reminds me of some previous patch in the respective
>  > bug report: repeated set-frace-attribute are stable WRT the frame
>  > size, but resizing the frame with the mouse and then evaling the
>  > set-frame-attribute form resizes the frame (in the smaller direction).
> 
> That's the one where we then tried to make the frame larger by an entire
> size increment minus the scaling residue.  Which means that here we
> should make the frame larger by an entire size increment in the hope
> that we size it back when we get notified.  Please try again.

This time around, the frame jumps in size a little bit, even time after 
I first resize with a mouse and then evaluate the set-face-attribute form.
[foo.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Wed, 18 Jan 2023 17:14:01 GMT) Full text and rfc822 format available.

Message #140 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Wed, 18 Jan 2023 18:13:12 +0100
[Message part 1 (text/plain, inline)]
> This time around, the frame jumps in size a little bit, even time
                                                          _every_ right?

> after I first resize with a mouse and then evaluate the
> set-face-attribute form.

I'm not sure what to do here.  As we previously discussed, you contract
an off-by-one pixel error every time you resize the frame with the mouse
and the default font has impair size.  That pixel is lost in the frame
size the WM allots us.  So after N mouse operations we are usually off
by N pixels unless N equals the size of the font in which case the
deviation should be compensated by our calculation of the text size in
chars.

So the size adjustments you see in the latest two patches are inherently
correct - they restore the text pixel size of the frame as the product
of the character and font sizes.

We could try to make 'set-face-attribute' adjust the pixel size of a
frame iff this would also change the size in text characters.  Hiding
the rest in the base sizes would allow such behavior now.  But how would
we explain such behavior to the user?  Also such a beast is non-trivial
to implement - I have no idea what else it could break.  Try the
attached and let's hope that it won't blow up your frame.

martin
[x_rest.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 21 Jan 2023 03:13:02 GMT) Full text and rfc822 format available.

Message #143 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sat, 21 Jan 2023 05:12:10 +0200
On 18/01/2023 19:13, martin rudalics wrote:
>  > This time around, the frame jumps in size a little bit, even time
>                                                            _every_ right?
> 
>  > after I first resize with a mouse and then evaluate the
>  > set-face-attribute form.
> 
> I'm not sure what to do here.  As we previously discussed, you contract
> an off-by-one pixel error every time you resize the frame with the mouse
> and the default font has impair size.  That pixel is lost in the frame
> size the WM allots us.  So after N mouse operations we are usually off
> by N pixels unless N equals the size of the font in which case the
> deviation should be compensated by our calculation of the text size in
> chars.

The previous scenarios (with one of the patches from the other bug 
thread) had frame at "impair" size only after some resizings with the 
mouse. For most sizes the frame ended up at "correct" sizes, but there 
were relatively rare sizes where this was not the case.

With your last patch here, however, the frame seemingly ended up at an 
"impair" size every time I resized it with the mouse.

> So the size adjustments you see in the latest two patches are inherently
> correct - they restore the text pixel size of the frame as the product
> of the character and font sizes.
> 
> We could try to make 'set-face-attribute' adjust the pixel size of a
> frame iff this would also change the size in text characters.  Hiding
> the rest in the base sizes would allow such behavior now.  But how would
> we explain such behavior to the user?  Also such a beast is non-trivial
> to implement - I have no idea what else it could break.  Try the
> attached and let's hope that it won't blow up your frame.

With this patch 'emacs -Q' starts up at 32x6 columns/lines. :-)

Very small window, that.

Otherwise, the behavior seems pretty stable:

- Repeated invocations of set-face-attribute don't change frame size,
- After resizing with the mouse, at some frame sizes set-face-attribute 
does cause one resize (e.g. at 80x30, according to GNOME), but most do 
not -- just like the older patch I referred to in the first paragraph.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 21 Jan 2023 10:09:02 GMT) Full text and rfc822 format available.

Message #146 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sat, 21 Jan 2023 11:08:09 +0100
> The previous scenarios (with one of the patches from the other bug
> thread) had frame at "impair" size only after some resizings with the
> mouse. For most sizes the frame ended up at "correct" sizes, but there
> were relatively rare sizes where this was not the case.

For reference let's try to stick to the last x_scale_font.diff patch I
sent you.  What was the "impair" size there?  Note in all theses cases:
The real size of a frame as it is displayed (or better cut off) by the
WM is only reflected in our pixel sizes.  The character sizes (including
those displayed by GNOME) are just approximations which reflect the
displayed sizes faithfully iff when multiplied by the character sizes
they result in the corresponding pixel size.

> With your last patch here, however, the frame seemingly ended up at an "impair" size every time I resized it with the mouse.

The present one or the one I sent you before?

> With this patch 'emacs -Q' starts up at 32x6 columns/lines. :-)
>
> Very small window, that.

"The Incredible Shrinking Frame"

> Otherwise, the behavior seems pretty stable:
>
> - Repeated invocations of set-face-attribute don't change frame size,
> - After resizing with the mouse, at some frame sizes set-face-attribute does cause one resize (e.g. at 80x30, according to GNOME), but most do not -- just like the older patch I referred to in the first paragraph.

Please send me the *foo* transcript.

Thanks, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 22 Jan 2023 01:57:02 GMT) Full text and rfc822 format available.

Message #149 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sun, 22 Jan 2023 03:56:10 +0200
[Message part 1 (text/plain, inline)]
On 21/01/2023 12:08, martin rudalics wrote:
>  > The previous scenarios (with one of the patches from the other bug
>  > thread) had frame at "impair" size only after some resizings with the
>  > mouse. For most sizes the frame ended up at "correct" sizes, but there
>  > were relatively rare sizes where this was not the case.
> 
> For reference let's try to stick to the last x_scale_font.diff patch I
> sent you.  What was the "impair" size there?

According to https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52493#332, 
some impair sizes were 80x36 minus 1 in any dimension using the mouse.

> Note in all theses cases:
> The real size of a frame as it is displayed (or better cut off) by the
> WM is only reflected in our pixel sizes.  The character sizes (including
> those displayed by GNOME) are just approximations which reflect the
> displayed sizes faithfully iff when multiplied by the character sizes
> they result in the corresponding pixel size.

Sure.

>  > With your last patch here, however, the frame seemingly ended up at 
> an "impair" size every time I resized it with the mouse.
> 
> The present one or the one I sent you before?

The one from the message in this thread which I was responding to. File 
called x_rest.diff.

>  > With this patch 'emacs -Q' starts up at 32x6 columns/lines. :-)
>  >
>  > Very small window, that.
> 
> "The Incredible Shrinking Frame"
> 
>  > Otherwise, the behavior seems pretty stable:
>  >
>  > - Repeated invocations of set-face-attribute don't change frame size,
>  > - After resizing with the mouse, at some frame sizes 
> set-face-attribute does cause one resize (e.g. at 80x30, according to 
> GNOME), but most do not -- just like the older patch I referred to in 
> the first paragraph.
> 
> Please send me the *foo* transcript.

Sorry, forgot about it last time. So, with x_rest.diff, the attached 
transcript is of:

1. Resizing the frame to 80x36 (according to GNOME).
2. Evaluating the set-face-attribute form twice.
3. Resizing the frame to 80x20 (per GNOME), which is 76x20 according to 
our internal measurements.
4. Evaluating the set-face-attribute form twice again.
5. Resizing to 80x32.
6. Evaluating s-f-a twice again.

In this scenario, step 4 doesn't change the frame size. But if I skip 
step 1, step 4 (evaluating s-f-a after resizing to 80x20) does change 
the frame size. And step 6 (s-f-a at size 80x32) does not.

So it seems the history of size changes now (?) affects which sizes are 
"impair".

Also, only height is important now: if height 20 is "impair", then I can 
resize the frame to any width with this height, and evaling s-f-a will 
shrink the frame in both dimensions by one char. Same for height 34 in 
the alternative scenario.
[foo.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 22 Jan 2023 09:55:02 GMT) Full text and rfc822 format available.

Message #152 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sun, 22 Jan 2023 10:54:05 +0100
[Message part 1 (text/plain, inline)]
>> For reference let's try to stick to the last x_scale_font.diff patch I
>> sent you.  What was the "impair" size there?
>
> According to https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52493#332, some impair sizes were 80x36 minus 1 in any dimension using the mouse.

You mean the ones where you resized a frame with the mouse by 16 or 36
pixels with a character size of 17x37?

> So, with x_rest.diff, the attached transcript is of:
>
> 1. Resizing the frame to 80x36 (according to GNOME).
> 2. Evaluating the set-face-attribute form twice.
> 3. Resizing the frame to 80x20 (per GNOME), which is 76x20 according to our internal measurements.

Do you mean that 80x36 according to GNOME is 80x36 according to our
internal measurements while 80x20 to GNOME is 76x20 according to our
internal measurements?

> 4. Evaluating the set-face-attribute form twice again.
> 5. Resizing to 80x32.
> 6. Evaluating s-f-a twice again.
>
> In this scenario, step 4 doesn't change the frame size. But if I skip
> step 1, step 4 (evaluating s-f-a after resizing to 80x20) does change
> the frame size. And step 6 (s-f-a at size 80x32) does not.
>
> So it seems the history of size changes now (?) affects which sizes are "impair".

Didn't we always have that?  The present code simply tries to reduce
some noise when setting the font would otherwise cause a resize of a few
pixels.

> Also, only height is important now: if height 20 is "impair", then I
> can resize the frame to any width with this height, and evaling s-f-a
> will shrink the frame in both dimensions by one char. Same for height
> 34 in the alternative scenario.

Please try the next patch so at least the initial size becomes
reasonable again.

martin
[x_rest.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 22 Jan 2023 22:26:02 GMT) Full text and rfc822 format available.

Message #155 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 23 Jan 2023 00:25:19 +0200
[Message part 1 (text/plain, inline)]
On 22/01/2023 11:54, martin rudalics wrote:
>  >> For reference let's try to stick to the last x_scale_font.diff patch I
>  >> sent you.  What was the "impair" size there?
>  >
>  > According to https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52493#332, 
> some impair sizes were 80x36 minus 1 in any dimension using the mouse.
> 
> You mean the ones where you resized a frame with the mouse by 16 or 36
> pixels with a character size of 17x37?

I guess so.

>  > So, with x_rest.diff, the attached transcript is of:
>  >
>  > 1. Resizing the frame to 80x36 (according to GNOME).
>  > 2. Evaluating the set-face-attribute form twice.
>  > 3. Resizing the frame to 80x20 (per GNOME), which is 76x20 according 
> to our internal measurements.
> 
> Do you mean that 80x36 according to GNOME is 80x36 according to our
> internal measurements> while 80x20 to GNOME is 76x20 according to our
> internal measurements?

Not at all, I just got a little tired looking up our internal 
measurements every time. GNOME's measurements, OTOH, are listed under 
the mouse while I'm resizing the window.

I wasn't sure you really needed the internal ones here, so at some steps 
I only mentioned GNOME's ones.

>  > 4. Evaluating the set-face-attribute form twice again.
>  > 5. Resizing to 80x32.
>  > 6. Evaluating s-f-a twice again.
>  >
>  > In this scenario, step 4 doesn't change the frame size. But if I skip
>  > step 1, step 4 (evaluating s-f-a after resizing to 80x20) does change
>  > the frame size. And step 6 (s-f-a at size 80x32) does not.
>  >
>  > So it seems the history of size changes now (?) affects which sizes 
> are "impair".
> 
> Didn't we always have that?

Not to my recollection. If the current pixel dimensions of the frame are 
FONT_HEIGHT*LINES-1, wouldn't that be a stable condition?

I could be wrong, though.

> The present code simply tries to reduce
> some noise when setting the font would otherwise cause a resize of a few
> pixels.

Cool.

>  > Also, only height is important now: if height 20 is "impair", then I
>  > can resize the frame to any width with this height, and evaling s-f-a
>  > will shrink the frame in both dimensions by one char. Same for height
>  > 34 in the alternative scenario.
> 
> Please try the next patch so at least the initial size becomes
> reasonable again.

It does, thank you.

Here's a new scenario (very much similar to the old one):

1. Evaluate s-f-a twice.
2. Resize to 80x18 (internally it's 76x18).
3. Evaluate s-f-a twice.

The transcript attached, in case it's useful. But I guess, as per the 
previous discussion, this is the point where we could stop, with no 
further improvement feasible.
[foo.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Tue, 24 Jan 2023 10:52:02 GMT) Full text and rfc822 format available.

Message #158 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Tue, 24 Jan 2023 11:50:54 +0100
[Message part 1 (text/plain, inline)]
> The transcript attached, in case it's useful. But I guess, as per the
> previous discussion, this is the point where we could stop, with no
> further improvement feasible.

I'm afraid I don't know whether the filter worked at all.  Please try
with the next patch two or three times to

(1) resize the frame with the mouse by two or three lines or columns or
    both, and do

(2) 'set-face-attribute'

The idea is that (2) should not try to change the frame size by a very
few pixels (less than the font size) only and that in the *foo*
transcript lines starting with "xg_frame_set_char_size_return" appear
confirming that the filter was effective.

martin
[x_rest.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Wed, 25 Jan 2023 04:22:02 GMT) Full text and rfc822 format available.

Message #161 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Wed, 25 Jan 2023 06:20:54 +0200
[Message part 1 (text/plain, inline)]
On 24/01/2023 12:50, martin rudalics wrote:
>  > The transcript attached, in case it's useful. But I guess, as per the
>  > previous discussion, this is the point where we could stop, with no
>  > further improvement feasible.
> 
> I'm afraid I don't know whether the filter worked at all.  Please try
> with the next patch two or three times to
> 
> (1) resize the frame with the mouse by two or three lines or columns or
>      both, and do
> 
> (2) 'set-face-attribute'
> 
> The idea is that (2) should not try to change the frame size by a very
> few pixels (less than the font size) only and that in the *foo*
> transcript lines starting with "xg_frame_set_char_size_return" appear
> confirming that the filter was effective.

It seems to have a different effect: the last version at least has one 
size where s-f-a changes the height by 2 line heights.

See this transcript where at the end (and multiple times before that) 
change the frame to 118x35 (per GNOME) which is 112x35 internally, and 
s-f-a changes the height to 33 (per GNOME) which is 34 internally.

The lines xg_frame_set_char_size_return do appear in the transcript.
[foo.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Thu, 26 Jan 2023 15:45:01 GMT) Full text and rfc822 format available.

Message #164 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Thu, 26 Jan 2023 16:44:03 +0100
[Message part 1 (text/plain, inline)]
> It seems to have a different effect: the last version at least has one size where s-f-a changes the height by 2 line heights.
>
> See this transcript where at the end (and multiple times before that) change the frame to 118x35 (per GNOME) which is 112x35 internally, and s-f-a changes the height to 33 (per GNOME) which is 34 internally.

I suppose you're talking about this part:

x_new_font old char size 17x37 new char size 17x37 text chars 112x35 old text pixels 1904x1330 new text pixels 1904x1295
xg_frame_set_char_size old native pixels 1952x1330 new native pixels 1952x1295 outer pixels 976x713 outer rest 0x0
xg_frame_resized old native pixels 1952x1330 new native pixels 1952x1294
adjust_frame_size old native pixels 1952x1330 new native pixels 1952x1294 old text pixels 1904x1330 new text pixels 1904x1294 old text chars 112x35 new text chars 112x34

And what you probably mean here is that you've seen the GNOME window
show 118x35, then you did 'set-face-attribute' and after that the GNOME
window showed 118x33.  The explanation is probably that GNOME shows the
N from the

  frame_height = base_height + N * height_inc

calculation and after 'set-face-attribute' already removed one line,
increasing base_height to make the equation hold removed another one.

I attach a patch where I try to mimic in *foo*, after a text "WM hint",
what a WM would typically show there.  Please switch to *foo* right away
and, while you drag a border, check whether the numbers are the same
GNOME displays.  If so, please show me again the transcript of the
above.  (118 vs 112 looks slightly preposterous BTW - it would mean that
scroll bar and fringes are six characters wide.  Here both width and
height differ by 1 only.)

martin
[x_rest.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 27 Jan 2023 03:08:01 GMT) Full text and rfc822 format available.

Message #167 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Fri, 27 Jan 2023 05:07:27 +0200
[Message part 1 (text/plain, inline)]
On 26/01/2023 17:44, martin rudalics wrote:
> I attach a patch where I try to mimic in *foo*, after a text "WM hint",
> what a WM would typically show there.  Please switch to *foo* right away
> and, while you drag a border, check whether the numbers are the same
> GNOME displays.

They always do, as far as I checked. Multiple times, with different fonts.

> If so, please show me again the transcript of the
> above.

Please see attached.

> (118 vs 112 looks slightly preposterous BTW - it would mean that
> scroll bar and fringes are six characters wide.  Here both width and
> height differ by 1 only.)

They're definitely not that. I would roughly estimate that the scroll 
bar plus the right fringe are about 2-3 characters wide. And the left 
fringe is about 1/2 a character.
[foo.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 27 Jan 2023 09:37:02 GMT) Full text and rfc822 format available.

Message #170 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Fri, 27 Jan 2023 10:35:43 +0100
>> (118 vs 112 looks slightly preposterous BTW - it would mean that
>> scroll bar and fringes are six characters wide.  Here both width and
>> height differ by 1 only.)
>
> They're definitely not that. I would roughly estimate that the scroll
> bar plus the right fringe are about 2-3 characters wide. And the left
> fringe is about 1/2 a character.

I underestimated the scaling effect.  With a character width scaled from
17 to 8 a base_width of 32 and a native width of 1952 pixels we get

(/ (- (/ 1952 2) 32) 8) ~> 118

On the other hand with 1904 text pixels (scroll bar + fringes are the
remaining 48 pixels) and the unscaled character width we get

(/ 1904 17) ~> 112

This shows how scaling strongly affects whatever GNOME displays here and
what Emacs uses internally.  It might be illustrative to put two equally
sized frames above each other - one from a GTK and one from a Lucid
build - and look at what size hints GNOME displays for each of them.

For the rest, the transcript nowhere shows that the GNOME hints jump by
two or more after 'set-face-attribute'.  Can you spot such behavior?

There are jumps like these

xg_frame_resized old native pixels 1472x1368 new native pixels 1568x1404
adjust_frame_size old native pixels 1472x1368 new native pixels 1568x1404 old text pixels 1424x1368 new text pixels 1520x1404 old text chars 83x36 new text chars 89x37
    base_size 32x84 size increments 8x18 WM hint 94x38
xg_frame_resized old native pixels 1568x1404 new native pixels 1712x1440
adjust_frame_size old native pixels 1568x1404 new native pixels 1712x1440 old text pixels 1520x1404 new text pixels 1664x1440 old text chars 89x37 new text chars 97x38
    base_size 32x84 size increments 8x18 WM hint 103x39
xg_frame_resized old native pixels 1712x1440 new native pixels 1984x1548
adjust_frame_size old native pixels 1712x1440 new native pixels 1984x1548 old text pixels 1664x1440 new text pixels 1936x1548 old text chars 97x38 new text chars 113x41
    base_size 32x84 size increments 8x18 WM hint 120x42

during mouse dragging.  But these result from redisplay lagging behind
your drag speed.  Hence subsequent drags are collapsed into larger ones
and Emacs "adjusts" the frame size only after redisplay has decided in
good faith that it now can present the frame to your eyes.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 28 Jan 2023 00:24:01 GMT) Full text and rfc822 format available.

Message #173 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sat, 28 Jan 2023 02:22:51 +0200
On 27/01/2023 11:35, martin rudalics wrote:
> This shows how scaling strongly affects whatever GNOME displays here and
> what Emacs uses internally.  It might be illustrative to put two equally
> sized frames above each other - one from a GTK and one from a Lucid
> build - and look at what size hints GNOME displays for each of them.

Let me know if you really need that -- I'd have to compile Emacs in two 
separate directories.

> For the rest, the transcript nowhere shows that the GNOME hints jump by
> two or more after 'set-face-attribute'.  Can you spot such behavior?

The jumps in the log look smooth, but one set-face-attribute evaluation 
creates several log entries. After I resize the frame to 118x35 and 
evaluate the s-f-a form, all of this is printed in the log:

x_new_font old char size 17x37 new char size 17x37 text chars 112x35 old 
text pixels 1904x1296 new text pixels 1904x1295
xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 fringes 
16 borders 0 text width 952 base width 32 width inc 8
    char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text 
height 647 base height 101 height inc 18
xg_frame_set_char_size old native pixels 1952x1296 new native pixels 
1952x1295 outer pixels 976x713 outer rest 0x0
    base_size 32x101 size increments 8x18 WM hint 118x34
xg_frame_resized old native pixels 1952x1296 new native pixels 1952x1294
adjust_frame_size old native pixels 1952x1296 new native pixels 
1952x1294 old text pixels 1904x1296 new text pixels 1904x1294 old text 
chars 112x35 new text chars 112x34
    base_size 32x101 size increments 8x18 WM hint 118x34

x_new_font old char size 17x37 new char size 17x37 text chars 112x34 old 
text pixels 1904x1294 new text pixels 1904x1258
xg_frame_set_char_size old native pixels 1952x1294 new native pixels 
1952x1258 outer pixels 976x695 outer rest 0x0
    base_size 32x101 size increments 8x18 WM hint 118x33
xg_frame_resized old native pixels 1952x1294 new native pixels 1952x1258
adjust_frame_size old native pixels 1952x1294 new native pixels 
1952x1258 old text pixels 1904x1294 new text pixels 1904x1258 old text 
chars 112x34 new text chars 112x34
    base_size 32x101 size increments 8x18 WM hint 118x33

...and the frame is 118x33 at the end, naturally.

Then I can resize the frame again, this is printed:

xg_frame_resized old native pixels 1952x1258 new native pixels 1952x1294
adjust_frame_size old native pixels 1952x1258 new native pixels 
1952x1294 old text pixels 1904x1258 new text pixels 1904x1294 old text 
chars 112x34 new text chars 112x34
    base_size 32x101 size increments 8x18 WM hint 118x34
xg_frame_resized old native pixels 1952x1294 new native pixels 1952x1330
adjust_frame_size old native pixels 1952x1294 new native pixels 
1952x1330 old text pixels 1904x1294 new text pixels 1904x1330 old text 
chars 112x34 new text chars 112x35
    base_size 32x101 size increments 8x18 WM hint 118x35

Then I call s-a-f again, and a lot of stuff (slightly different: it 
seems the xg_wm_set_size_hint calls is missing) is printed again:

x_new_font old char size 17x37 new char size 17x37 text chars 112x35 old 
text pixels 1904x1330 new text pixels 1904x1295
xg_frame_set_char_size old native pixels 1952x1330 new native pixels 
1952x1295 outer pixels 976x713 outer rest 0x0
    base_size 32x101 size increments 8x18 WM hint 118x34
xg_frame_resized old native pixels 1952x1330 new native pixels 1952x1294
adjust_frame_size old native pixels 1952x1330 new native pixels 
1952x1294 old text pixels 1904x1330 new text pixels 1904x1294 old text 
chars 112x35 new text chars 112x34
    base_size 32x101 size increments 8x18 WM hint 118x34

x_new_font old char size 17x37 new char size 17x37 text chars 112x34 old 
text pixels 1904x1294 new text pixels 1904x1258
xg_frame_set_char_size old native pixels 1952x1294 new native pixels 
1952x1258 outer pixels 976x695 outer rest 0x0
    base_size 32x101 size increments 8x18 WM hint 118x33
xg_frame_resized old native pixels 1952x1294 new native pixels 1952x1258
adjust_frame_size old native pixels 1952x1294 new native pixels 
1952x1258 old text pixels 1904x1294 new text pixels 1904x1258 old text 
chars 112x34 new text chars 112x34
    base_size 32x101 size increments 8x18 WM hint 118x33





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 28 Jan 2023 15:37:02 GMT) Full text and rfc822 format available.

Message #176 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sat, 28 Jan 2023 16:36:27 +0100
>> This shows how scaling strongly affects whatever GNOME displays here and
>> what Emacs uses internally.  It might be illustrative to put two equally
>> sized frames above each other - one from a GTK and one from a Lucid
>> build - and look at what size hints GNOME displays for each of them.
>
> Let me know if you really need that -- I'd have to compile Emacs in two separate directories.

One of these days please do.  Eventually we need someone to tell us how
Lucid builds scale and whether the results look different from the GTK
builds.  If nobody knows, we could try to guess from what Lucid and GTK
frames look like on your display.

>> For the rest, the transcript nowhere shows that the GNOME hints jump by
>> two or more after 'set-face-attribute'.  Can you spot such behavior?
>
> The jumps in the log look smooth, but one set-face-attribute
> evaluation creates several log entries. After I resize the frame to
> 118x35 and evaluate the s-f-a form, all of this is printed in the log:
>
> x_new_font old char size 17x37 new char size 17x37 text chars 112x35 old text pixels 1904x1296 new text pixels 1904x1295
> xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 fringes 16 borders 0 text width 952 base width 32 width inc 8
>      char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text height 647 base height 101 height inc 18
> xg_frame_set_char_size old native pixels 1952x1296 new native pixels 1952x1295 outer pixels 976x713 outer rest 0x0
>      base_size 32x101 size increments 8x18 WM hint 118x34
> xg_frame_resized old native pixels 1952x1296 new native pixels 1952x1294
> adjust_frame_size old native pixels 1952x1296 new native pixels 1952x1294 old text pixels 1904x1296 new text pixels 1904x1294 old text chars 112x35 new text chars 112x34
>      base_size 32x101 size increments 8x18 WM hint 118x34
>
> x_new_font old char size 17x37 new char size 17x37 text chars 112x34 old text pixels 1904x1294 new text pixels 1904x1258
> xg_frame_set_char_size old native pixels 1952x1294 new native pixels 1952x1258 outer pixels 976x695 outer rest 0x0
>      base_size 32x101 size increments 8x18 WM hint 118x33
> xg_frame_resized old native pixels 1952x1294 new native pixels 1952x1258
> adjust_frame_size old native pixels 1952x1294 new native pixels 1952x1258 old text pixels 1904x1294 new text pixels 1904x1258 old text chars 112x34 new text chars 112x34
>      base_size 32x101 size increments 8x18 WM hint 118x33
>
> ...and the frame is 118x33 at the end, naturally.

This means that if you are sure that you have called it once only,
'set-face-attribute' manages to run set_new_font_hook twice.  Which
would be a real pain.  Maybe someone has an idea.  Otherwise I have to
invent a counter, increment it in 'set-face-attribute', print it in
x_new_font, have you test it again ...

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 29 Jan 2023 01:26:01 GMT) Full text and rfc822 format available.

Message #179 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sun, 29 Jan 2023 03:25:00 +0200
On 28/01/2023 17:36, martin rudalics wrote:
>  >> This shows how scaling strongly affects whatever GNOME displays here 
> and
>  >> what Emacs uses internally.  It might be illustrative to put two 
> equally
>  >> sized frames above each other - one from a GTK and one from a Lucid
>  >> build - and look at what size hints GNOME displays for each of them.
>  >
>  > Let me know if you really need that -- I'd have to compile Emacs in 
> two separate directories.
> 
> One of these days please do.  Eventually we need someone to tell us how
> Lucid builds scale and whether the results look different from the GTK
> builds.  If nobody knows, we could try to guess from what Lucid and GTK
> frames look like on your display.

OK, I have done so now.

First of all, they start up with different dimensions: Lucid's is a bit 
shorter and narrower. GNOME says Lucid is 78x34 and GTK3 is 79x35.

Internally, both think they are 80x36.

The end of *foo* for GTK3 contains:

xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1346
xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1296
xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 fringes 
16 borders 0 text width 720 base width 33 width inc 9
    char height 36 menubar 50 toolbar 0 hscroll 0 borders 0 text height 
648 base height 43 height inc 18
xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 fringes 
16 borders 0 text width 720 base width 33 width inc 9
    char height 36 menubar 50 toolbar 82 hscroll 0 borders 0 text 
height 648 base height 84 height inc 18
xg_frame_set_char_size old native pixels 1488x1296 new native pixels 
1488x1296 outer pixels 744x714 outer rest 0x0
    base_size 33x84 size increments 9x18 WM hint 79x35

And for Lucid, it contains:

EmacsFrameResize old native pixels 1474x1332 new native pixels 1474x1354
EmacsFrameResize old native pixels 1474x1332 new native pixels 1474x1354
adjust_frame_size old native pixels 1474x1332 new native pixels 
1474x1354 old text pixels 1440x1296 new text pixels 1440x1296 old text 
chars 80x36 new text chars 80x36

(I avoid inserting the full contents for brevity, they are several times 
longer in both cases.)

Lucid's menu bar and tool bar look shorter in height, with less padding. 
The font size seems to be equal, however. And the tool bar icons are 
scaled on Lucid too.

I tried to resize them, but (as long as pixelwise resizing is disabled), 
they don't match exactly. But if I line them up very close, GNOME says 
Lucid (which is slightly larger) is 81x37 and GTK3 is 80x36. Here are 
respective logs:

GTK3:

xg_frame_resized old native pixels 1506x1296 new native pixels 1488x1296
adjust_frame_size old native pixels 1506x1296 new native pixels 
1488x1296 old text pixels 1458x1296 new text pixels 1440x1296 old text 
chars 81x36 new text chars 80x36
    base_size 33x84 size increments 9x18 WM hint 79x35
xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1332
adjust_frame_size old native pixels 1488x1296 new native pixels 
1488x1332 old text pixels 1440x1296 new text pixels 1440x1332 old text 
chars 80x36 new text chars 80x37
    base_size 33x84 size increments 9x18 WM hint 79x36
xg_frame_resized old native pixels 1488x1332 new native pixels 1506x1332
adjust_frame_size old native pixels 1488x1332 new native pixels 
1506x1332 old text pixels 1440x1332 new text pixels 1458x1332 old text 
chars 80x37 new text chars 81x37
    base_size 33x84 size increments 9x18 WM hint 80x36

Lucid:

EmacsFrameResize old native pixels 1492x1354 new native pixels 1492x1390
adjust_frame_size old native pixels 1492x1354 new native pixels 
1492x1390 old text pixels 1458x1296 new text pixels 1458x1332 old text 
chars 81x36 new text chars 81x37
EmacsFrameResize old native pixels 1492x1390 new native pixels 1510x1390
adjust_frame_size old native pixels 1492x1390 new native pixels 
1510x1390 old text pixels 1458x1332 new text pixels 1476x1332 old text 
chars 81x37 new text chars 82x37
EmacsFrameResize old native pixels 1510x1390 new native pixels 1510x1426
adjust_frame_size old native pixels 1510x1390 new native pixels 
1510x1426 old text pixels 1476x1332 new text pixels 1476x1368 old text 
chars 82x37 new text chars 82x38

Which is to say Lucid's log is slightly inaccurate here because, again, 
GNOME reports that window to be 81x37.

>  >> For the rest, the transcript nowhere shows that the GNOME hints jump by
>  >> two or more after 'set-face-attribute'.  Can you spot such behavior?
>  >
>  > The jumps in the log look smooth, but one set-face-attribute
>  > evaluation creates several log entries. After I resize the frame to
>  > 118x35 and evaluate the s-f-a form, all of this is printed in the log:
>  >
>  > x_new_font old char size 17x37 new char size 17x37 text chars 112x35 
> old text pixels 1904x1296 new text pixels 1904x1295
>  > xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 
> fringes 16 borders 0 text width 952 base width 32 width inc 8
>  >      char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text 
> height 647 base height 101 height inc 18
>  > xg_frame_set_char_size old native pixels 1952x1296 new native pixels 
> 1952x1295 outer pixels 976x713 outer rest 0x0
>  >      base_size 32x101 size increments 8x18 WM hint 118x34
>  > xg_frame_resized old native pixels 1952x1296 new native pixels 1952x1294
>  > adjust_frame_size old native pixels 1952x1296 new native pixels 
> 1952x1294 old text pixels 1904x1296 new text pixels 1904x1294 old text 
> chars 112x35 new text chars 112x34
>  >      base_size 32x101 size increments 8x18 WM hint 118x34
>  >
>  > x_new_font old char size 17x37 new char size 17x37 text chars 112x34 
> old text pixels 1904x1294 new text pixels 1904x1258
>  > xg_frame_set_char_size old native pixels 1952x1294 new native pixels 
> 1952x1258 outer pixels 976x695 outer rest 0x0
>  >      base_size 32x101 size increments 8x18 WM hint 118x33
>  > xg_frame_resized old native pixels 1952x1294 new native pixels 1952x1258
>  > adjust_frame_size old native pixels 1952x1294 new native pixels 
> 1952x1258 old text pixels 1904x1294 new text pixels 1904x1258 old text 
> chars 112x34 new text chars 112x34
>  >      base_size 32x101 size increments 8x18 WM hint 118x33
>  >
>  > ...and the frame is 118x33 at the end, naturally.
> 
> This means that if you are sure that you have called it once only,
> 'set-face-attribute' manages to run set_new_font_hook twice.  Which
> would be a real pain.  Maybe someone has an idea.  Otherwise I have to
> invent a counter, increment it in 'set-face-attribute', print it in
> x_new_font, have you test it again ...

I'm pretty sure, yes. I performed that experiment and observed the log 
several times.

Would a counter really help? I guess you'll be able to confirm what I'm 
saying, but then what? Would that bring any new information?

Should we try to circle back to finding the difference between 
"InconsolataLGC" and "Inconsolata LGC"? The latter doesn't exhibit most 
of the problematic behaviors we have been discussing here.

And when s-f-a is evaluated at dimensions 118x35 with the latter family 
name, it first corrects the dimensions slightly to 118x34 (with like a 
few pixel difference in height, 2 or 3), and then no subsequent 
evaluations of s-f-a change frame dimensions, no matter how I resize it 
with a mouse first.

Visually, the resulting text seems identical between these two fonts. 
Maybe the former font name is somehow "autocorrected" into the latter? 
And that triggers some kind of callback internally that can additionally 
resize the frame?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 30 Jan 2023 09:29:02 GMT) Full text and rfc822 format available.

Message #182 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 30 Jan 2023 10:28:07 +0100
[Message part 1 (text/plain, inline)]
> OK, I have done so now.

Great.  If possible please keep the Lucid build around for a couple of
days - there are yet a lot of mysteries to solve.

> First of all, they start up with different dimensions: Lucid's is a
> bit shorter and narrower. GNOME says Lucid is 78x34 and GTK3 is 79x35.

Can you try both with unpatched builds?  My unpatched Emacsen start here
(according to xfce/xfwm4, no scaling) as 80x36 the patched ones as 79x35.

> Internally, both think they are 80x36.

Same here.

> The end of *foo* for GTK3 contains:
>
> xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1346
> xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1296
> xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 fringes 16 borders 0 text width 720 base width 33 width inc 9
>      char height 36 menubar 50 toolbar 0 hscroll 0 borders 0 text height 648 base height 43 height inc 18
> xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 fringes 16 borders 0 text width 720 base width 33 width inc 9
>      char height 36 menubar 50 toolbar 82 hscroll 0 borders 0 text height 648 base height 84 height inc 18
> xg_frame_set_char_size old native pixels 1488x1296 new native pixels 1488x1296 outer pixels 744x714 outer rest 0x0
>      base_size 33x84 size increments 9x18 WM hint 79x35

Can you show me the text pixels values?  These are the ones we should
compare.  The native values differ because for Lucid the height includes
the toolbar which we draw ourselves into the rectangle the WM allots to
us.  GTK draws the toolbar into its own area which is outside the native
rectangle.

> And for Lucid, it contains:
>
> EmacsFrameResize old native pixels 1474x1332 new native pixels 1474x1354
> EmacsFrameResize old native pixels 1474x1332 new native pixels 1474x1354
> adjust_frame_size old native pixels 1474x1332 new native pixels 1474x1354 old text pixels 1440x1296 new text pixels 1440x1296 old text chars 80x36 new text chars 80x36

Here I would have liked to see the value for the scroll bar - vscroll.
I suppose these differ on Lucid and GTK.

> Lucid's menu bar and tool bar look shorter in height, with less padding. The font size seems to be equal, however.

When you put the two frames side by side, does the text area start lower
with GTK?  Here they start at exactly the same pixel position.  I attach
a screenshot so you can see.

> And the tool bar icons are scaled on Lucid too.

Is that the reason for the height difference?

> I tried to resize them, but (as long as pixelwise resizing is
> disabled), they don't match exactly. But if I line them up very close,
> GNOME says Lucid (which is slightly larger) is 81x37 and GTK3 is
> 80x36. Here are respective logs:
>
> GTK3:
>
> xg_frame_resized old native pixels 1506x1296 new native pixels 1488x1296
> adjust_frame_size old native pixels 1506x1296 new native pixels 1488x1296 old text pixels 1458x1296 new text pixels 1440x1296 old text chars 81x36 new text chars 80x36
>      base_size 33x84 size increments 9x18 WM hint 79x35
> xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1332
> adjust_frame_size old native pixels 1488x1296 new native pixels 1488x1332 old text pixels 1440x1296 new text pixels 1440x1332 old text chars 80x36 new text chars 80x37
>      base_size 33x84 size increments 9x18 WM hint 79x36
> xg_frame_resized old native pixels 1488x1332 new native pixels 1506x1332
> adjust_frame_size old native pixels 1488x1332 new native pixels 1506x1332 old text pixels 1440x1332 new text pixels 1458x1332 old text chars 80x37 new text chars 81x37
>      base_size 33x84 size increments 9x18 WM hint 80x36
>
> Lucid:
>
> EmacsFrameResize old native pixels 1492x1354 new native pixels 1492x1390
> adjust_frame_size old native pixels 1492x1354 new native pixels 1492x1390 old text pixels 1458x1296 new text pixels 1458x1332 old text chars 81x36 new text chars 81x37
> EmacsFrameResize old native pixels 1492x1390 new native pixels 1510x1390
> adjust_frame_size old native pixels 1492x1390 new native pixels 1510x1390 old text pixels 1458x1332 new text pixels 1476x1332 old text chars 81x37 new text chars 82x37
> EmacsFrameResize old native pixels 1510x1390 new native pixels 1510x1426
> adjust_frame_size old native pixels 1510x1390 new native pixels 1510x1426 old text pixels 1476x1332 new text pixels 1476x1368 old text chars 82x37 new text chars 82x38
>
> Which is to say Lucid's log is slightly inaccurate here because, again, GNOME reports that window to be 81x37.

Lucid builds do not report the "WM hint" values (yet).  What stupefies
me most here is one thing: The Lucid build apparently also resizes in
18x36 increments although your font should ask for 17x37 pixels and we
nowhere do any scaling.  Please show me what the Lucid build outputs
after x_new_font.

> I'm pretty sure, yes. I performed that experiment and observed the log several times.
>
> Would a counter really help? I guess you'll be able to confirm what I'm saying, but then what? Would that bring any new information?

Maybe.  You could try putting a breakpoint at x_new_font and, whenever
it has triggered a second time in a row after you've done
'set-face-attribute', show me the backtrace for that second time.  Then
we could find out what strange force is triggering that.  If you manage
to do that, we don't need the counter.

> Should we try to circle back to finding the difference between
> "InconsolataLGC" and "Inconsolata LGC"? The latter doesn't exhibit
> most of the problematic behaviors we have been discussing here.

The first thing to try would be obvious: Does the latter trigger the
"two x_new_font entries in *foo* in a row behavior"?

> And when s-f-a is evaluated at dimensions 118x35 with the latter
> family name, it first corrects the dimensions slightly to 118x34 (with
> like a few pixel difference in height, 2 or 3), and then no subsequent
> evaluations of s-f-a change frame dimensions, no matter how I resize
> it with a mouse first.

Please send me the *foo* transcript for that.

> Visually, the resulting text seems identical between these two
> fonts. Maybe the former font name is somehow "autocorrected" into the
> latter? And that triggers some kind of callback internally that can
> additionally resize the frame?

Maybe fontset_from_font does such a thing.  We'd have to find out first
whether the values x_new_font finds for font->average_width and
font_ascent + font_descent differ for the two Inconsolatas.

martin
[Lucid vs GTK3.png (image/png, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Thu, 09 Feb 2023 19:41:01 GMT) Full text and rfc822 format available.

Message #185 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Thu, 9 Feb 2023 21:40:46 +0200
[Message part 1 (text/plain, inline)]
Hi Martin,

Sorry for the pause.

On 30/01/2023 11:28, martin rudalics wrote:
>  > OK, I have done so now.
> 
> Great.  If possible please keep the Lucid build around for a couple of
> days - there are yet a lot of mysteries to solve.

Sure, it's a separate worktree, it can stay around a while.

>  > First of all, they start up with different dimensions: Lucid's is a
>  > bit shorter and narrower. GNOME says Lucid is 78x34 and GTK3 is 79x35.
> 
> Can you try both with unpatched builds?  My unpatched Emacsen start here
> (according to xfce/xfwm4, no scaling) as 80x36 the patched ones as 79x35.

Unpatched Lucid agrees with GNOME (both say 80x36).

GTK3 is 79x36 still, again according to GNOME.

>  > Internally, both think they are 80x36.
> 
> Same here.

Yep.

>  > The end of *foo* for GTK3 contains:
>  >
>  > xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1346
>  > xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1296
>  > xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 
> fringes 16 borders 0 text width 720 base width 33 width inc 9
>  >      char height 36 menubar 50 toolbar 0 hscroll 0 borders 0 text 
> height 648 base height 43 height inc 18
>  > xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 
> fringes 16 borders 0 text width 720 base width 33 width inc 9
>  >      char height 36 menubar 50 toolbar 82 hscroll 0 borders 0 text 
> height 648 base height 84 height inc 18
>  > xg_frame_set_char_size old native pixels 1488x1296 new native pixels 
> 1488x1296 outer pixels 744x714 outer rest 0x0
>  >      base_size 33x84 size increments 9x18 WM hint 79x35
> 
> Can you show me the text pixels values?  These are the ones we should
> compare.  The native values differ because for Lucid the height includes
> the toolbar which we draw ourselves into the rectangle the WM allots to
> us.  GTK draws the toolbar into its own area which is outside the native
> rectangle.

How do I get that numbers?

In case that's relevant, (buffer-text-pixel-size) evaluated in *scratch* 
with its default message returns (1296 . 72).

>  > And for Lucid, it contains:
>  >
>  > EmacsFrameResize old native pixels 1474x1332 new native pixels 1474x1354
>  > EmacsFrameResize old native pixels 1474x1332 new native pixels 1474x1354
>  > adjust_frame_size old native pixels 1474x1332 new native pixels 
> 1474x1354 old text pixels 1440x1296 new text pixels 1440x1296 old text 
> chars 80x36 new text chars 80x36
> 
> Here I would have liked to see the value for the scroll bar - vscroll.
> I suppose these differ on Lucid and GTK.

  window-vscroll is a built-in function in ‘C source code’.

  Return the amount by which WINDOW is scrolled vertically.

Is that the value you were looking for? If not, please tell me how to 
find it.

>  > Lucid's menu bar and tool bar look shorter in height, with less 
> padding. The font size seems to be equal, however.
> 
> When you put the two frames side by side, does the text area start lower
> with GTK?  Here they start at exactly the same pixel position.  I attach
> a screenshot so you can see.

It does. See the attached screenshots with unpatched builds.

>  > And the tool bar icons are scaled on Lucid too.
> 
> Is that the reason for the height difference?

More likely, the reason is smaller padding in the Lucid build -- both in 
the menu and in the toolbar.

>  > I tried to resize them, but (as long as pixelwise resizing is
>  > disabled), they don't match exactly. But if I line them up very close,
>  > GNOME says Lucid (which is slightly larger) is 81x37 and GTK3 is
>  > 80x36. Here are respective logs:
>  >
>  > GTK3:
>  >
>  > xg_frame_resized old native pixels 1506x1296 new native pixels 1488x1296
>  > adjust_frame_size old native pixels 1506x1296 new native pixels 
> 1488x1296 old text pixels 1458x1296 new text pixels 1440x1296 old text 
> chars 81x36 new text chars 80x36
>  >      base_size 33x84 size increments 9x18 WM hint 79x35
>  > xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1332
>  > adjust_frame_size old native pixels 1488x1296 new native pixels 
> 1488x1332 old text pixels 1440x1296 new text pixels 1440x1332 old text 
> chars 80x36 new text chars 80x37
>  >      base_size 33x84 size increments 9x18 WM hint 79x36
>  > xg_frame_resized old native pixels 1488x1332 new native pixels 1506x1332
>  > adjust_frame_size old native pixels 1488x1332 new native pixels 
> 1506x1332 old text pixels 1440x1332 new text pixels 1458x1332 old text 
> chars 80x37 new text chars 81x37
>  >      base_size 33x84 size increments 9x18 WM hint 80x36
>  >
>  > Lucid:
>  >
>  > EmacsFrameResize old native pixels 1492x1354 new native pixels 1492x1390
>  > adjust_frame_size old native pixels 1492x1354 new native pixels 
> 1492x1390 old text pixels 1458x1296 new text pixels 1458x1332 old text 
> chars 81x36 new text chars 81x37
>  > EmacsFrameResize old native pixels 1492x1390 new native pixels 1510x1390
>  > adjust_frame_size old native pixels 1492x1390 new native pixels 
> 1510x1390 old text pixels 1458x1332 new text pixels 1476x1332 old text 
> chars 81x37 new text chars 82x37
>  > EmacsFrameResize old native pixels 1510x1390 new native pixels 1510x1426
>  > adjust_frame_size old native pixels 1510x1390 new native pixels 
> 1510x1426 old text pixels 1476x1332 new text pixels 1476x1368 old text 
> chars 82x37 new text chars 82x38
>  >
>  > Which is to say Lucid's log is slightly inaccurate here because, 
> again, GNOME reports that window to be 81x37.
> 
> Lucid builds do not report the "WM hint" values (yet).  What stupefies
> me most here is one thing: The Lucid build apparently also resizes in
> 18x36 increments although your font should ask for 17x37 pixels and we
> nowhere do any scaling.  Please show me what the Lucid build outputs
> after x_new_font.

If I understood your request correctly:

Here's the output after I evaluate s-f-a for the first time:

x_new_font old char size 18x36 new char size 21x45 text chars 80x36 old 
text pixels 1440x1296 new text pixels 1680x1620
update_wm_hints char width 21 old char width 18 vscroll 16 fringes 16 
borders 2 base width 55 old_base width 52 min width 55 old min width 52
    char height 45 old char height 36 menubar 45 hscroll 0 borders 2 
base height 148 old base height 139 min height 148 old min height 139
EmacsFrameResize old native pixels 1474x1354 new native pixels 1714x1678
EmacsFrameResize old native pixels 1474x1354 new native pixels 1714x1678
adjust_frame_size old native pixels 1474x1354 new native pixels 
1714x1678 old text pixels 1440x1296 new text pixels 1680x1620 old text 
chars 80x36 new text chars 80x36

x_new_font old char size 21x45 new char size 17x37 text chars 80x36 old 
text pixels 1680x1620 new text pixels 1360x1332
update_wm_hints char width 17 old char width 21 vscroll 16 fringes 16 
borders 2 base width 51 old_base width 55 min width 51 old min width 55
    char height 37 old char height 45 menubar 45 hscroll 0 borders 2 
base height 140 old base height 148 min height 140 old min height 148
EmacsFrameResize old native pixels 1714x1678 new native pixels 1394x1390
EmacsFrameResize old native pixels 1714x1678 new native pixels 1394x1390
adjust_frame_size old native pixels 1714x1678 new native pixels 
1394x1390 old text pixels 1680x1620 new text pixels 1360x1332 old text 
chars 80x36 new text chars 80x36

And here's its output when I call s-f-a for the second time:

x_new_font old char size 17x37 new char size 17x37 text chars 80x36 old 
text pixels 1360x1332 new text pixels 1360x1332

x_new_font old char size 17x37 new char size 17x37 text chars 80x36 old 
text pixels 1360x1332 new text pixels 1360x1332

>  > I'm pretty sure, yes. I performed that experiment and observed the 
> log several times.
>  >
>  > Would a counter really help? I guess you'll be able to confirm what 
> I'm saying, but then what? Would that bring any new information?
> 
> Maybe.  You could try putting a breakpoint at x_new_font and, whenever
> it has triggered a second time in a row after you've done
> 'set-face-attribute', show me the backtrace for that second time.  Then
> we could find out what strange force is triggering that.  If you manage
> to do that, we don't need the counter.

I think the above means that x_new_font is called for the second time 
even in the Lucid build. Anyway, with GNOME and the patch:

It is hit twice, and both calls seems to have the same backtrace.

(gdb) xbacktrace
"internal-set-lisp-face-attribute" (0xf09ff218)
"set-face-attribute" (0xffffd8c0)
"progn" (0xffffda70)
"eval" (0xf09ff180)
"elisp--eval-last-sexp" (0xf09ff100)
"eval-last-sexp" (0xffffdc50)
"funcall-interactively" (0xffffdc48)
"call-interactively" (0xf09ff070)
"command-execute" (0xffffdef8)

and

(gdb) backtrace
#0  x_new_font (f=0x5555562f8430, font_object=0x5555569e1a45, 
fontset=-1) at xterm.c:26517
#1  0x00005555555c4656 in gui_set_font (f=0x5555562f8430, 
arg=0x5555568fe364, oldval=0x55555622d224) at frame.c:4733
#2  0x00005555555c1ff9 in gui_set_frame_parameters_1 
(f=f <at> entry=0x5555562f8430, alist=<optimized out>, 
alist <at> entry=0x7fffffffd6f3, 
default_parameter=default_parameter <at> entry=true) at frame.c:4325
#3  0x000055555567fea1 in set_font_frame_param (lface=0x5555562f6e45, 
frame=0x5555562f8435) at xfaces.c:3816
#4  Finternal_set_lisp_face_attribute (face=0x5940, attr=<optimized 
out>, value=<optimized out>, frame=<optimized out>) at xfaces.c:3629
#5  0x000055555567eb38 in Finternal_set_lisp_face_attribute 
(face=0x5940, attr=0xdb0, value=0x5555568fe544, frame=<optimized out>) 
at xfaces.c:3092
...

vs

(gdb) backtrace
#0  x_new_font (f=0x5555562f8430, font_object=0x555556945b6d, 
fontset=-1) at xterm.c:26517
#1  0x00005555555c4656 in gui_set_font (f=0x5555562f8430, 
arg=0x5555563e1e74, oldval=0x5555568fe364) at frame.c:4733
#2  0x00005555555c1ff9 in gui_set_frame_parameters_1 
(f=f <at> entry=0x5555562f8430, alist=<optimized out>, 
alist <at> entry=0x7fffffffd6f3, 
default_parameter=default_parameter <at> entry=true) at frame.c:4325
#3  0x000055555567fea1 in set_font_frame_param (lface=0x5555562f6e45, 
frame=0x5555562f8435) at xfaces.c:3816
#4  Finternal_set_lisp_face_attribute (face=0x5940, attr=<optimized 
out>, value=<optimized out>, frame=<optimized out>) at xfaces.c:3629
#5  0x000055555567eb38 in Finternal_set_lisp_face_attribute 
(face=0x5940, attr=0x1020, value=0x1ba, frame=<optimized out>) at 
xfaces.c:3092
...

What seems to be different between the two are the font_object argument 
to x_new_font and the arguments to Finternal_set_lisp_face_attribute at 
the end of the backtrace.

It seems like they are called twice because my original example sets two 
attributes: :height and :family.

>  > Should we try to circle back to finding the difference between
>  > "InconsolataLGC" and "Inconsolata LGC"? The latter doesn't exhibit
>  > most of the problematic behaviors we have been discussing here.
> 
> The first thing to try would be obvious: Does the latter trigger the
> "two x_new_font entries in *foo* in a row behavior"?

When called for the first time -- yes:

x_new_font old char size 18x36 new char size 21x45 text chars 80x36 old 
text pixels 1440x1296 new text pixels 1680x1620
xg_wm_set_size_hint scale 2 char width 21 toolbar 0 vscroll 32 fringes 
16 borders 0 text width 840 base width 34 width inc 10
    char height 45 menubar 50 toolbar 82 hscroll 0 borders 0 text 
height 810 base height 106 height inc 22
xg_frame_set_char_size old native pixels 1488x1296 new native pixels 
1728x1620 outer pixels 864x876 outer rest 0x0
    base_size 34x106 size increments 10x22 WM hint 83x35
xg_frame_resized old native pixels 1488x1296 new native pixels 1728x1620
adjust_frame_size old native pixels 1488x1296 new native pixels 
1728x1620 old text pixels 1440x1296 new text pixels 1680x1620 old text 
chars 80x36 new text chars 80x36
    base_size 34x106 size increments 10x22 WM hint 83x35

x_new_font old char size 21x45 new char size 17x37 text chars 80x36 old 
text pixels 1680x1620 new text pixels 1360x1332
xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 fringes 
16 borders 0 text width 680 base width 32 width inc 8
    char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text 
height 666 base height 84 height inc 18
xg_frame_set_char_size old native pixels 1728x1620 new native pixels 
1408x1332 outer pixels 704x732 outer rest 0x0
    base_size 32x84 size increments 8x18 WM hint 84x36
xg_frame_resized old native pixels 1728x1620 new native pixels 1408x1332
adjust_frame_size old native pixels 1728x1620 new native pixels 
1408x1332 old text pixels 1680x1620 new text pixels 1360x1332 old text 
chars 80x36 new text chars 80x36
    base_size 32x84 size increments 8x18 WM hint 84x36

When called the second time -- no:

x_new_font old char size 17x37 new char size 17x37 text chars 80x36 old 
text pixels 1360x1332 new text pixels 1360x1332

When called the third time and further -- no entries are added to *foo* 
at all.

I can resize the frame -- and xg_frame_resized stuff is printed -- but 
when I evaluate the s-f-a form again, still nothing gets added to the 
output. Nor does the frame get resized, naturally.

>  > And when s-f-a is evaluated at dimensions 118x35 with the latter
>  > family name, it first corrects the dimensions slightly to 118x34 (with
>  > like a few pixel difference in height, 2 or 3), and then no subsequent
>  > evaluations of s-f-a change frame dimensions, no matter how I resize
>  > it with a mouse first.
> 
> Please send me the *foo* transcript for that.

...
    base_size 32x84 size increments 8x18 WM hint 118x41
xg_frame_resized old native pixels 1952x1512 new native pixels 1952x1476
adjust_frame_size old native pixels 1952x1512 new native pixels 
1952x1476 old text pixels 1904x1512 new text pixels 1904x1476 old text 
chars 112x40 new text chars 112x39
    base_size 32x84 size increments 8x18 WM hint 118x40
xg_frame_resized old native pixels 1952x1476 new native pixels 1952x1440
adjust_frame_size old native pixels 1952x1476 new native pixels 
1952x1440 old text pixels 1904x1476 new text pixels 1904x1440 old text 
chars 112x39 new text chars 112x38
    base_size 32x84 size increments 8x18 WM hint 118x39
xg_frame_resized old native pixels 1952x1440 new native pixels 1952x1404
adjust_frame_size old native pixels 1952x1440 new native pixels 
1952x1404 old text pixels 1904x1440 new text pixels 1904x1404 old text 
chars 112x38 new text chars 112x37
    base_size 32x84 size increments 8x18 WM hint 118x38
xg_frame_resized old native pixels 1952x1404 new native pixels 1952x1368
adjust_frame_size old native pixels 1952x1404 new native pixels 
1952x1368 old text pixels 1904x1404 new text pixels 1904x1368 old text 
chars 112x37 new text chars 112x36
    base_size 32x84 size increments 8x18 WM hint 118x37
xg_frame_resized old native pixels 1952x1368 new native pixels 1952x1332
adjust_frame_size old native pixels 1952x1368 new native pixels 
1952x1332 old text pixels 1904x1368 new text pixels 1904x1332 old text 
chars 112x36 new text chars 112x36
    base_size 32x84 size increments 8x18 WM hint 118x36
xg_frame_resized old native pixels 1952x1332 new native pixels 1952x1296
adjust_frame_size old native pixels 1952x1332 new native pixels 
1952x1296 old text pixels 1904x1332 new text pixels 1904x1296 old text 
chars 112x36 new text chars 112x35
    base_size 32x84 size increments 8x18 WM hint 118x35

x_new_font old char size 17x37 new char size 17x37 text chars 112x35 old 
text pixels 1904x1296 new text pixels 1904x1295
xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 fringes 
16 borders 0 text width 952 base width 32 width inc 8
    char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text 
height 647 base height 101 height inc 18
xg_frame_set_char_size old native pixels 1952x1296 new native pixels 
1952x1295 outer pixels 976x713 outer rest 0x0
    base_size 32x101 size increments 8x18 WM hint 118x34
xg_frame_resized old native pixels 1952x1296 new native pixels 1952x1294
adjust_frame_size old native pixels 1952x1296 new native pixels 
1952x1294 old text pixels 1904x1296 new text pixels 1904x1294 old text 
chars 112x35 new text chars 112x34
    base_size 32x101 size increments 8x18 WM hint 118x34

Like mentioned above, the additional s-f-a evaluations don't get 
reflected in the log. I evaluated it about 10 times at the end.

>  > Visually, the resulting text seems identical between these two
>  > fonts. Maybe the former font name is somehow "autocorrected" into the
>  > latter? And that triggers some kind of callback internally that can
>  > additionally resize the frame?
> 
> Maybe fontset_from_font does such a thing.  We'd have to find out first
> whether the values x_new_font finds for font->average_width and
> font_ascent + font_descent differ for the two Inconsolatas.

Anything I can evaluate to find that out?
[Screenshot from 2023-02-09 20-46-24.png (image/png, attachment)]
[Screenshot from 2023-02-09 20-46-30.png (image/png, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 11 Feb 2023 01:40:02 GMT) Full text and rfc822 format available.

Message #188 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Sat, 11 Feb 2023 09:36:41 +0800
Whenever you see an inconsistency between what Emacs thinks its WM hints
are, and what you think the window manager sees, try to actually read
the window manager hints property with `xprop'.

It should print several lines describing the window manager hints.

WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified minimum size: 34 by 55
		program specified resize increment: 8 by 17 <------
		program specified base size: 34 by 55
		window gravity: NorthWest

Check there to see if the increment is really 17x37.
Xt sometimes refuses to set hints, which can be very confusing.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 11 Feb 2023 08:19:02 GMT) Full text and rfc822 format available.

Message #191 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Po Lu <luangruo <at> yahoo.com>
Cc: rudalics <at> gmx.at, rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org, dgutov <at> yandex.ru
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Sat, 11 Feb 2023 10:17:33 +0200
> From: Po Lu <luangruo <at> yahoo.com>
> Cc: martin rudalics <rudalics <at> gmx.at>,  Eli Zaretskii <eliz <at> gnu.org>,
>   60585 <at> debbugs.gnu.org,  rpluim <at> gmail.com
> Date: Sat, 11 Feb 2023 09:36:41 +0800
> 
> 
> Whenever you see an inconsistency between what Emacs thinks its WM hints
> are, and what you think the window manager sees, try to actually read
> the window manager hints property with `xprop'.
> 
> It should print several lines describing the window manager hints.
> 
> WM_NORMAL_HINTS(WM_SIZE_HINTS):
> 		program specified minimum size: 34 by 55
> 		program specified resize increment: 8 by 17 <------
> 		program specified base size: 34 by 55
> 		window gravity: NorthWest
> 
> Check there to see if the increment is really 17x37.
> Xt sometimes refuses to set hints, which can be very confusing.

Thanks.

Should this perhaps be in etc/DEBUG?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 11 Feb 2023 09:33:01 GMT) Full text and rfc822 format available.

Message #194 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: rudalics <at> gmx.at, rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org, dgutov <at> yandex.ru
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Sat, 11 Feb 2023 17:30:14 +0800
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Po Lu <luangruo <at> yahoo.com>
>> Cc: martin rudalics <rudalics <at> gmx.at>,  Eli Zaretskii <eliz <at> gnu.org>,
>>   60585 <at> debbugs.gnu.org,  rpluim <at> gmail.com
>> Date: Sat, 11 Feb 2023 09:36:41 +0800
>> 
>> 
>> Whenever you see an inconsistency between what Emacs thinks its WM hints
>> are, and what you think the window manager sees, try to actually read
>> the window manager hints property with `xprop'.
>> 
>> It should print several lines describing the window manager hints.
>> 
>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>> 		program specified minimum size: 34 by 55
>> 		program specified resize increment: 8 by 17 <------
>> 		program specified base size: 34 by 55
>> 		window gravity: NorthWest
>> 
>> Check there to see if the increment is really 17x37.
>> Xt sometimes refuses to set hints, which can be very confusing.
>
> Thanks.
>
> Should this perhaps be in etc/DEBUG?

I think so.  As xprop is also useful when debugging any kind of problem
involving X window properties, so I guess the other uses should be
written down as well.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 11 Feb 2023 10:17:02 GMT) Full text and rfc822 format available.

Message #197 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Po Lu <luangruo <at> yahoo.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sat, 11 Feb 2023 12:15:59 +0200
On 11/02/2023 03:36, Po Lu via Bug reports for GNU Emacs, the Swiss army 
knife of text editors wrote:
> Whenever you see an inconsistency between what Emacs thinks its WM hints
> are, and what you think the window manager sees, try to actually read
> the window manager hints property with `xprop'.
> 
> It should print several lines describing the window manager hints.
> 
> WM_NORMAL_HINTS(WM_SIZE_HINTS):
> 		program specified minimum size: 34 by 55
> 		program specified resize increment: 8 by 17 <------
> 		program specified base size: 34 by 55
> 		window gravity: NorthWest
> 
> Check there to see if the increment is really 17x37.
> Xt sometimes refuses to set hints, which can be very confusing.

Thanks!

Lucid's hints with InconsolataLGC:

WM_NORMAL_HINTS(WM_SIZE_HINTS):
		user specified size: 1714 by 1723
		program specified minimum size: 51 by 140
		program specified resize increment: 17 by 37
		program specified base size: 51 by 140
		window gravity: NorthWest

GTK's hints with InconsolataLGC:

WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified minimum size: 64 by 324
		program specified resize increment: 16 by 36
		program specified base size: 64 by 168
		window gravity: NorthWest

GTK's hints with "Inconsolata LGC" are the same, though:

WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified minimum size: 64 by 324
		program specified resize increment: 16 by 36
		program specified base size: 64 by 168
		window gravity: NorthWest




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 11 Feb 2023 10:25:02 GMT) Full text and rfc822 format available.

Message #200 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Sat, 11 Feb 2023 18:22:36 +0800
Dmitry Gutov <dgutov <at> yandex.ru> writes:

> On 11/02/2023 03:36, Po Lu via Bug reports for GNU Emacs, the Swiss
> army knife of text editors wrote:
>> Whenever you see an inconsistency between what Emacs thinks its WM hints
>> are, and what you think the window manager sees, try to actually read
>> the window manager hints property with `xprop'.
>> It should print several lines describing the window manager hints.
>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>> 		program specified minimum size: 34 by 55
>> 		program specified resize increment: 8 by 17 <------
>> 		program specified base size: 34 by 55
>> 		window gravity: NorthWest
>> Check there to see if the increment is really 17x37.
>> Xt sometimes refuses to set hints, which can be very confusing.
>
> Thanks!
>
> Lucid's hints with InconsolataLGC:
>
> WM_NORMAL_HINTS(WM_SIZE_HINTS):
> 		user specified size: 1714 by 1723
> 		program specified minimum size: 51 by 140
> 		program specified resize increment: 17 by 37
> 		program specified base size: 51 by 140
> 		window gravity: NorthWest

I guess the Lucid build is working correctly.

> GTK's hints with InconsolataLGC:
>
> WM_NORMAL_HINTS(WM_SIZE_HINTS):
> 		program specified minimum size: 64 by 324
> 		program specified resize increment: 16 by 36
> 		program specified base size: 64 by 168
> 		window gravity: NorthWest
>
> GTK's hints with "Inconsolata LGC" are the same, though:
>
> WM_NORMAL_HINTS(WM_SIZE_HINTS):
> 		program specified minimum size: 64 by 324
> 		program specified resize increment: 16 by 36
> 		program specified base size: 64 by 168
> 		window gravity: NorthWest

Thanks.  

Would you please instrument emacsgtkfixed.c like such:

diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
index 2b6ebee65fd..24aaf134dd2 100644
--- a/src/emacsgtkfixed.c
+++ b/src/emacsgtkfixed.c
@@ -178,6 +178,9 @@ XSetWMSizeHints (Display *d,
 	 data[5] = w;
 	 data[6] = h; */
 
+      fprintf (stderr, "XSetWMSizeHints: %d, %d\n", hints->width_inc,
+	       hints->height_inc);
+
       /* Make sure min_width and min_height are multiples of width_inc
 	 and height_inc.  */
 
and tell me what is printed when Emacs begins to shrink?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 11 Feb 2023 10:41:02 GMT) Full text and rfc822 format available.

Message #203 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Po Lu <luangruo <at> yahoo.com>
Cc: rudalics <at> gmx.at, rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org, dgutov <at> yandex.ru
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Sat, 11 Feb 2023 12:39:51 +0200
> From: Po Lu <luangruo <at> yahoo.com>
> Cc: dgutov <at> yandex.ru,  rudalics <at> gmx.at,  60585 <at> debbugs.gnu.org,
>   rpluim <at> gmail.com
> Date: Sat, 11 Feb 2023 17:30:14 +0800
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> From: Po Lu <luangruo <at> yahoo.com>
> >> Cc: martin rudalics <rudalics <at> gmx.at>,  Eli Zaretskii <eliz <at> gnu.org>,
> >>   60585 <at> debbugs.gnu.org,  rpluim <at> gmail.com
> >> Date: Sat, 11 Feb 2023 09:36:41 +0800
> >> 
> >> 
> >> Whenever you see an inconsistency between what Emacs thinks its WM hints
> >> are, and what you think the window manager sees, try to actually read
> >> the window manager hints property with `xprop'.
> >> 
> >> It should print several lines describing the window manager hints.
> >> 
> >> WM_NORMAL_HINTS(WM_SIZE_HINTS):
> >> 		program specified minimum size: 34 by 55
> >> 		program specified resize increment: 8 by 17 <------
> >> 		program specified base size: 34 by 55
> >> 		window gravity: NorthWest
> >> 
> >> Check there to see if the increment is really 17x37.
> >> Xt sometimes refuses to set hints, which can be very confusing.
> >
> > Thanks.
> >
> > Should this perhaps be in etc/DEBUG?
> 
> I think so.  As xprop is also useful when debugging any kind of problem
> involving X window properties, so I guess the other uses should be
> written down as well.

Then please add this there, and thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sat, 11 Feb 2023 22:10:02 GMT) Full text and rfc822 format available.

Message #206 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Po Lu <luangruo <at> yahoo.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sun, 12 Feb 2023 00:08:52 +0200
On 11/02/2023 12:22, Po Lu via Bug reports for GNU Emacs, the Swiss army 
knife of text editors wrote:
> Dmitry Gutov <dgutov <at> yandex.ru> writes:
> 
>> On 11/02/2023 03:36, Po Lu via Bug reports for GNU Emacs, the Swiss
>> army knife of text editors wrote:
>>> Whenever you see an inconsistency between what Emacs thinks its WM hints
>>> are, and what you think the window manager sees, try to actually read
>>> the window manager hints property with `xprop'.
>>> It should print several lines describing the window manager hints.
>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>> 		program specified minimum size: 34 by 55
>>> 		program specified resize increment: 8 by 17 <------
>>> 		program specified base size: 34 by 55
>>> 		window gravity: NorthWest
>>> Check there to see if the increment is really 17x37.
>>> Xt sometimes refuses to set hints, which can be very confusing.
>>
>> Thanks!
>>
>> Lucid's hints with InconsolataLGC:
>>
>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>> 		user specified size: 1714 by 1723
>> 		program specified minimum size: 51 by 140
>> 		program specified resize increment: 17 by 37
>> 		program specified base size: 51 by 140
>> 		window gravity: NorthWest
> 
> I guess the Lucid build is working correctly.
> 
>> GTK's hints with InconsolataLGC:
>>
>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>> 		program specified minimum size: 64 by 324
>> 		program specified resize increment: 16 by 36
>> 		program specified base size: 64 by 168
>> 		window gravity: NorthWest
>>
>> GTK's hints with "Inconsolata LGC" are the same, though:
>>
>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>> 		program specified minimum size: 64 by 324
>> 		program specified resize increment: 16 by 36
>> 		program specified base size: 64 by 168
>> 		window gravity: NorthWest
> 
> Thanks.
> 
> Would you please instrument emacsgtkfixed.c like such:
> 
> diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
> index 2b6ebee65fd..24aaf134dd2 100644
> --- a/src/emacsgtkfixed.c
> +++ b/src/emacsgtkfixed.c
> @@ -178,6 +178,9 @@ XSetWMSizeHints (Display *d,
>   	 data[5] = w;
>   	 data[6] = h; */
>   
> +      fprintf (stderr, "XSetWMSizeHints: %d, %d\n", hints->width_inc,
> +	       hints->height_inc);
> +
>         /* Make sure min_width and min_height are multiples of width_inc
>   	 and height_inc.  */
>   
> and tell me what is printed when Emacs begins to shrink?

Apply it on top of the already patched Emacs, correct? The one I've been 
running most of the tests lately.

During startup, it prints:

XSetWMSizeHints: 2, 2
XSetWMSizeHints: 18, 36
XSetWMSizeHints: 18, 36
XSetWMSizeHints: 18, 36

After I evaluate (set-face-attribute ...), it adds:

XSetWMSizeHints: 20, 44
XSetWMSizeHints: 16, 36
XSetWMSizeHints: 16, 36

After that, whenever the same evaluation results in frame shrinking 
(after I resized it with a mouse), it also prints

XSetWMSizeHints: 16, 36

That's it.

But if I repeat the same experiment using the value of :family 
"Inconsolata LGC" (with a space), it prints exactly the same values.

Except, since no s-f-a evaluations with that :family cause frame 
shrinking, it doesn't print any additional XSetWMSizeHints logs.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 12 Feb 2023 01:48:02 GMT) Full text and rfc822 format available.

Message #209 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Sun, 12 Feb 2023 09:45:03 +0800
Dmitry Gutov <dgutov <at> yandex.ru> writes:

> On 11/02/2023 12:22, Po Lu via Bug reports for GNU Emacs, the Swiss
> army knife of text editors wrote:
>> Dmitry Gutov <dgutov <at> yandex.ru> writes:
>> 
>>> On 11/02/2023 03:36, Po Lu via Bug reports for GNU Emacs, the Swiss
>>> army knife of text editors wrote:
>>>> Whenever you see an inconsistency between what Emacs thinks its WM hints
>>>> are, and what you think the window manager sees, try to actually read
>>>> the window manager hints property with `xprop'.
>>>> It should print several lines describing the window manager hints.
>>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>>> 		program specified minimum size: 34 by 55
>>>> 		program specified resize increment: 8 by 17 <------
>>>> 		program specified base size: 34 by 55
>>>> 		window gravity: NorthWest
>>>> Check there to see if the increment is really 17x37.
>>>> Xt sometimes refuses to set hints, which can be very confusing.
>>>
>>> Thanks!
>>>
>>> Lucid's hints with InconsolataLGC:
>>>
>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>> 		user specified size: 1714 by 1723
>>> 		program specified minimum size: 51 by 140
>>> 		program specified resize increment: 17 by 37
>>> 		program specified base size: 51 by 140
>>> 		window gravity: NorthWest
>> I guess the Lucid build is working correctly.
>> 
>>> GTK's hints with InconsolataLGC:
>>>
>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>> 		program specified minimum size: 64 by 324
>>> 		program specified resize increment: 16 by 36
>>> 		program specified base size: 64 by 168
>>> 		window gravity: NorthWest
>>>
>>> GTK's hints with "Inconsolata LGC" are the same, though:
>>>
>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>> 		program specified minimum size: 64 by 324
>>> 		program specified resize increment: 16 by 36
>>> 		program specified base size: 64 by 168
>>> 		window gravity: NorthWest
>> Thanks.
>> Would you please instrument emacsgtkfixed.c like such:
>> diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
>> index 2b6ebee65fd..24aaf134dd2 100644
>> --- a/src/emacsgtkfixed.c
>> +++ b/src/emacsgtkfixed.c
>> @@ -178,6 +178,9 @@ XSetWMSizeHints (Display *d,
>>   	 data[5] = w;
>>   	 data[6] = h; */
>>   +      fprintf (stderr, "XSetWMSizeHints: %d, %d\n",
>> hints->width_inc,
>> +	       hints->height_inc);
>> +
>>         /* Make sure min_width and min_height are multiples of width_inc
>>   	 and height_inc.  */
>>   and tell me what is printed when Emacs begins to shrink?
>
> Apply it on top of the already patched Emacs, correct? The one I've
> been running most of the tests lately.
>
> During startup, it prints:
>
> XSetWMSizeHints: 2, 2
> XSetWMSizeHints: 18, 36
> XSetWMSizeHints: 18, 36
> XSetWMSizeHints: 18, 36
>
> After I evaluate (set-face-attribute ...), it adds:
>
> XSetWMSizeHints: 20, 44
> XSetWMSizeHints: 16, 36
> XSetWMSizeHints: 16, 36
>
> After that, whenever the same evaluation results in frame shrinking
> (after I resized it with a mouse), it also prints
>
> XSetWMSizeHints: 16, 36
>
> That's it.

Right... thanks.

I'm interested in why XSetWMSizeHints might be called with 20, 44.
Would you please put a breakpoint there and make it conditional on
those values of hints->width_inc and hints->height_inc?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 12 Feb 2023 02:07:01 GMT) Full text and rfc822 format available.

Message #212 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Po Lu <luangruo <at> yahoo.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sun, 12 Feb 2023 04:06:02 +0200
On 12/02/2023 03:45, Po Lu via Bug reports for GNU Emacs, the Swiss army 
knife of text editors wrote:
> Dmitry Gutov<dgutov <at> yandex.ru>  writes:
> 
>> On 11/02/2023 12:22, Po Lu via Bug reports for GNU Emacs, the Swiss
>> army knife of text editors wrote:
>>> Dmitry Gutov<dgutov <at> yandex.ru>  writes:
>>>
>>>> On 11/02/2023 03:36, Po Lu via Bug reports for GNU Emacs, the Swiss
>>>> army knife of text editors wrote:
>>>>> Whenever you see an inconsistency between what Emacs thinks its WM hints
>>>>> are, and what you think the window manager sees, try to actually read
>>>>> the window manager hints property with `xprop'.
>>>>> It should print several lines describing the window manager hints.
>>>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>>>> 		program specified minimum size: 34 by 55
>>>>> 		program specified resize increment: 8 by 17 <------
>>>>> 		program specified base size: 34 by 55
>>>>> 		window gravity: NorthWest
>>>>> Check there to see if the increment is really 17x37.
>>>>> Xt sometimes refuses to set hints, which can be very confusing.
>>>> Thanks!
>>>>
>>>> Lucid's hints with InconsolataLGC:
>>>>
>>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>>> 		user specified size: 1714 by 1723
>>>> 		program specified minimum size: 51 by 140
>>>> 		program specified resize increment: 17 by 37
>>>> 		program specified base size: 51 by 140
>>>> 		window gravity: NorthWest
>>> I guess the Lucid build is working correctly.
>>>
>>>> GTK's hints with InconsolataLGC:
>>>>
>>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>>> 		program specified minimum size: 64 by 324
>>>> 		program specified resize increment: 16 by 36
>>>> 		program specified base size: 64 by 168
>>>> 		window gravity: NorthWest
>>>>
>>>> GTK's hints with "Inconsolata LGC" are the same, though:
>>>>
>>>> WM_NORMAL_HINTS(WM_SIZE_HINTS):
>>>> 		program specified minimum size: 64 by 324
>>>> 		program specified resize increment: 16 by 36
>>>> 		program specified base size: 64 by 168
>>>> 		window gravity: NorthWest
>>> Thanks.
>>> Would you please instrument emacsgtkfixed.c like such:
>>> diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
>>> index 2b6ebee65fd..24aaf134dd2 100644
>>> --- a/src/emacsgtkfixed.c
>>> +++ b/src/emacsgtkfixed.c
>>> @@ -178,6 +178,9 @@ XSetWMSizeHints (Display *d,
>>>    	 data[5] = w;
>>>    	 data[6] = h; */
>>>    +      fprintf (stderr, "XSetWMSizeHints: %d, %d\n",
>>> hints->width_inc,
>>> +	       hints->height_inc);
>>> +
>>>          /* Make sure min_width and min_height are multiples of width_inc
>>>    	 and height_inc.  */
>>>    and tell me what is printed when Emacs begins to shrink?
>> Apply it on top of the already patched Emacs, correct? The one I've
>> been running most of the tests lately.
>>
>> During startup, it prints:
>>
>> XSetWMSizeHints: 2, 2
>> XSetWMSizeHints: 18, 36
>> XSetWMSizeHints: 18, 36
>> XSetWMSizeHints: 18, 36
>>
>> After I evaluate (set-face-attribute ...), it adds:
>>
>> XSetWMSizeHints: 20, 44
>> XSetWMSizeHints: 16, 36
>> XSetWMSizeHints: 16, 36
>>
>> After that, whenever the same evaluation results in frame shrinking
>> (after I resized it with a mouse), it also prints
>>
>> XSetWMSizeHints: 16, 36
>>
>> That's it.
> Right... thanks.
> 
> I'm interested in why XSetWMSizeHints might be called with 20, 44.
> Would you please put a breakpoint there and make it conditional on
> those values of hints->width_inc and hints->height_inc?

Done.

You didn't specify what information you wanted from that breakpoint, so 
here's everything that came to mind:

Thread 1 "emacs" hit Breakpoint 3, XSetWMSizeHints (d=0x555555eb5e20, 
w=58720469, hints=0x7fffffffc870, prop=40) at emacsgtkfixed.c:187
187	      if (hints->flags & PResizeInc)
(gdb) xbacktrace
"internal-set-lisp-face-attribute" (0xf09ff218)
"set-face-attribute" (0xffffd8c0)
"progn" (0xffffda70)
"eval" (0xf09ff180)
"elisp--eval-last-sexp" (0xf09ff100)
"eval-last-sexp" (0xffffdc50)
"funcall-interactively" (0xffffdc48)
"call-interactively" (0xf09ff070)
"command-execute" (0xffffdef8)
(gdb) p hints->width_inc
$1 = 20
(gdb) p hints->height_inc
$2 = 44
(gdb) backtrace
#0  XSetWMSizeHints (d=0x555555eb5e20, w=58720469, hints=0x7fffffffc870, 
prop=40) at emacsgtkfixed.c:187
#1  0x00007ffff7575fa5 in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#2  0x00007ffff79bd37b in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#3  0x00007ffff706231c in g_signal_emit_valist () at 
/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff7062403 in g_signal_emit () at 
/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff7774980 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#6  0x00007ffff706231c in g_signal_emit_valist () at 
/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007ffff7062403 in g_signal_emit () at 
/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007ffff753ec3b in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#9  0x00007ffff752b2ab in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#10 0x00007ffff6f4bb02 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff6f4b43f in g_main_context_dispatch () at 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff6fa03c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff6f48d20 in g_main_context_iteration () at 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff7847609 in gtk_main_iteration () at 
/lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x000055555569ad52 in XTread_socket (terminal=<optimized out>, 
hold_quit=0x7fffffffd0a0) at xterm.c:25148
#16 0x00005555556e8491 in gobble_input () at keyboard.c:7416
#17 0x00005555556eb66d in handle_async_input () at keyboard.c:7647
#18 process_pending_signals () at keyboard.c:7661
#19 unblock_input_to (level=0) at keyboard.c:7676
#20 unblock_input_to (level=0) at keyboard.c:7670
#21 totally_unblock_input () at keyboard.c:7704
#22 0x00005555556a2a0c in x_wait_for_event (f=f <at> entry=0x5555563131e0, 
eventtype=eventtype <at> entry=22) at xterm.c:27809
#23 0x00005555556d097f in xg_frame_set_char_size 
(f=f <at> entry=0x5555563131e0, width=width <at> entry=1728, 
height=height <at> entry=1620) at gtkutil.c:1425
#24 0x00005555556a2d71 in x_set_window_size (f=0x5555563131e0, 
change_gravity=<optimized out>, width=1728, height=1620) at xterm.c:27916
#25 0x00005555555bd8b4 in adjust_frame_size
    (f=f <at> entry=0x5555563131e0, new_text_width=1680, 
new_text_height=<optimized out>, inhibit=inhibit <at> entry=3, 
pretend=pretend <at> entry=false, parameter=parameter <at> entry=XIL(0x7860)) at 
frame.c:779
#26 0x000055555568f0e6 in x_new_font (f=0x5555563131e0, 
font_object=XIL(0x55555695e80d), fontset=28) at xterm.c:26576
#27 0x00005555555c49a6 in gui_set_font (f=0x5555563131e0, 
arg=XIL(0x5555569060a4), oldval=XIL(0x55555627fa54)) at frame.c:4791
#28 0x00005555555c2349 in gui_set_frame_parameters_1 
(f=f <at> entry=0x5555563131e0, alist=<optimized out>, 
alist <at> entry=XIL(0x7fffffffd6f3), 
default_parameter=default_parameter <at> entry=true) at frame.c:4383
#29 0x0000555555680221 in set_font_frame_param 
(lface=XIL(0x5555563650d5), frame=XIL(0x5555563131e5)) at xfaces.c:3816
#30 Finternal_set_lisp_face_attribute (face=XIL(0x5940), attr=<optimized 
out>, value=<optimized out>, frame=<optimized out>) at xfaces.c:3629
#31 0x000055555567eeb8 in Finternal_set_lisp_face_attribute 
(face=XIL(0x5940), attr=XIL(0xdb0), value=XIL(0x555556905a94), 
frame=<optimized out>) at xfaces.c:3092
...




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 12 Feb 2023 03:30:02 GMT) Full text and rfc822 format available.

Message #215 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Sun, 12 Feb 2023 11:26:49 +0800
Dmitry Gutov <dgutov <at> yandex.ru> writes:

> Thread 1 "emacs" hit Breakpoint 3, XSetWMSizeHints (d=0x555555eb5e20,
> w=58720469, hints=0x7fffffffc870, prop=40) at emacsgtkfixed.c:187
> 187	      if (hints->flags & PResizeInc)
> (gdb) xbacktrace
> "internal-set-lisp-face-attribute" (0xf09ff218)
> "set-face-attribute" (0xffffd8c0)
> "progn" (0xffffda70)
> "eval" (0xf09ff180)
> "elisp--eval-last-sexp" (0xf09ff100)
> "eval-last-sexp" (0xffffdc50)
> "funcall-interactively" (0xffffdc48)
> "call-interactively" (0xf09ff070)
> "command-execute" (0xffffdef8)
> (gdb) p hints->width_inc
> $1 = 20
> (gdb) p hints->height_inc
> $2 = 44
> (gdb) backtrace
> #0  XSetWMSizeHints (d=0x555555eb5e20, w=58720469,
>  hints=0x7fffffffc870, prop=40) at emacsgtkfixed.c:187
> #1  0x00007ffff7575fa5 in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
> #2  0x00007ffff79bd37b in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
> #3  0x00007ffff706231c in g_signal_emit_valist () at
>  /lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #4  0x00007ffff7062403 in g_signal_emit () at
>  /lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #5  0x00007ffff7774980 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
> #6  0x00007ffff706231c in g_signal_emit_valist () at
>  /lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #7  0x00007ffff7062403 in g_signal_emit () at
>  /lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #8  0x00007ffff753ec3b in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
> #9  0x00007ffff752b2ab in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
> #10 0x00007ffff6f4bb02 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #11 0x00007ffff6f4b43f in g_main_context_dispatch () at
>  /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #12 0x00007ffff6fa03c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #13 0x00007ffff6f48d20 in g_main_context_iteration () at
>  /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #14 0x00007ffff7847609 in gtk_main_iteration () at
>  /lib/x86_64-linux-gnu/libgtk-3.so.0
> #15 0x000055555569ad52 in XTread_socket (terminal=<optimized out>,
>  hold_quit=0x7fffffffd0a0) at xterm.c:25148
> #16 0x00005555556e8491 in gobble_input () at keyboard.c:7416
> #17 0x00005555556eb66d in handle_async_input () at keyboard.c:7647
> #18 process_pending_signals () at keyboard.c:7661
> #19 unblock_input_to (level=0) at keyboard.c:7676
> #20 unblock_input_to (level=0) at keyboard.c:7670
> #21 totally_unblock_input () at keyboard.c:7704
> #22 0x00005555556a2a0c in x_wait_for_event (f=f <at> entry=0x5555563131e0,
>  eventtype=eventtype <at> entry=22) at xterm.c:27809
> #23 0x00005555556d097f in xg_frame_set_char_size
>  (f=f <at> entry=0x5555563131e0, width=width <at> entry=1728,
>  height=height <at> entry=1620) at gtkutil.c:1425
> #24 0x00005555556a2d71 in x_set_window_size (f=0x5555563131e0,
>  change_gravity=<optimized out>, width=1728, height=1620) at
> xterm.c:27916
> #25 0x00005555555bd8b4 in adjust_frame_size
>     (f=f <at> entry=0x5555563131e0, new_text_width=1680,
>     new_text_height=<optimized out>, inhibit=inhibit <at> entry=3,
>     pretend=pretend <at> entry=false,
>     parameter=parameter <at> entry=XIL(0x7860)) at frame.c:779
> #26 0x000055555568f0e6 in x_new_font (f=0x5555563131e0,
>  font_object=XIL(0x55555695e80d), fontset=28) at xterm.c:26576
> #27 0x00005555555c49a6 in gui_set_font (f=0x5555563131e0,
>  arg=XIL(0x5555569060a4), oldval=XIL(0x55555627fa54)) at frame.c:4791
> #28 0x00005555555c2349 in gui_set_frame_parameters_1
>  (f=f <at> entry=0x5555563131e0, alist=<optimized out>,
>  alist <at> entry=XIL(0x7fffffffd6f3),
>  default_parameter=default_parameter <at> entry=true) at frame.c:4383
> #29 0x0000555555680221 in set_font_frame_param
>  (lface=XIL(0x5555563650d5), frame=XIL(0x5555563131e5)) at
> xfaces.c:3816
> #30 Finternal_set_lisp_face_attribute (face=XIL(0x5940),
>  attr=<optimized out>, value=<optimized out>, frame=<optimized out>)
> at xfaces.c:3629
> #31 0x000055555567eeb8 in Finternal_set_lisp_face_attribute
>  (face=XIL(0x5940), attr=XIL(0xdb0), value=XIL(0x555556905a94),
>  frame=<optimized out>) at xfaces.c:3092
> ...

Right, thank you.  If you go up to frame 23, and then:

  (gdb) p f->size_hints
  (gdb) p f->hint_flags

What is displayed?
Also, what is:

  (gdb) p xg_get_scale (f)

?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 12 Feb 2023 12:42:02 GMT) Full text and rfc822 format available.

Message #218 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Po Lu <luangruo <at> yahoo.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sun, 12 Feb 2023 14:41:14 +0200
On 12/02/2023 05:26, Po Lu wrote:
> Right, thank you.  If you go up to frame 23, and then:
> 
>    (gdb) p f->size_hints
>    (gdb) p f->hint_flags
> 
> What is displayed?
> Also, what is:
> 
>    (gdb) p xg_get_scale (f)

(gdb) p f->size_hints
There is no member named size_hints.
(gdb) p f->hint_flags
There is no member named hint_flags.
(gdb) p f
$5 = (struct frame *) 0x5555562c3060
(gdb) xpr
Lisp_Symbol
$6 = (struct Lisp_Symbol *) 0xaaaaac05fc40
Cannot access memory at address 0xaaaaac05fc48

(gdb) p f->output_data.x->size_hints
$8 = {
  min_width = 34,
  min_height = 106,
  max_width = 0,
  max_height = 0,
  base_width = 34,
  base_height = 106,
  width_inc = 10,
  height_inc = 22,
  min_aspect = 0,
  max_aspect = 0,
  win_gravity = GDK_GRAVITY_NORTH_WEST
}
(gdb) p f->output_data.x->hint_flags
$9 = 106
(gdb) xpr
Lisp_Int0
$10 = 26




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Sun, 12 Feb 2023 12:56:01 GMT) Full text and rfc822 format available.

Message #221 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Po Lu <luangruo <at> yahoo.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sun, 12 Feb 2023 14:55:37 +0200
On 12/02/2023 05:26, Po Lu wrote:
> Also, what is:
> 
>    (gdb) p xg_get_scale (f)

(gdb) p xg_get_scale (f)
$1 = 2




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 13 Feb 2023 03:00:02 GMT) Full text and rfc822 format available.

Message #224 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Mon, 13 Feb 2023 10:56:50 +0800
Dmitry Gutov <dgutov <at> yandex.ru> writes:

> On 12/02/2023 05:26, Po Lu wrote:
>> Right, thank you.  If you go up to frame 23, and then:
>>    (gdb) p f->size_hints
>>    (gdb) p f->hint_flags
>> What is displayed?
>> Also, what is:
>>    (gdb) p xg_get_scale (f)
>
> (gdb) p f->size_hints
> There is no member named size_hints.
> (gdb) p f->hint_flags
> There is no member named hint_flags.
> (gdb) p f
> $5 = (struct frame *) 0x5555562c3060
> (gdb) xpr
> Lisp_Symbol
> $6 = (struct Lisp_Symbol *) 0xaaaaac05fc40
> Cannot access memory at address 0xaaaaac05fc48
>
> (gdb) p f->output_data.x->size_hints
> $8 = {
>   min_width = 34,
>   min_height = 106,
>   max_width = 0,
>   max_height = 0,
>   base_width = 34,
>   base_height = 106,
>   width_inc = 10,
>   height_inc = 22,
>   min_aspect = 0,
>   max_aspect = 0,
>   win_gravity = GDK_GRAVITY_NORTH_WEST
> }
> (gdb) p f->output_data.x->hint_flags
> $9 = 106
> (gdb) xpr
> Lisp_Int0
> $10 = 26

Thanks.

What is f->column_width and f->line_height?  If you go up to x_new_font,
what is font->average_width, font_ascent and font_descent?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 13 Feb 2023 10:10:01 GMT) Full text and rfc822 format available.

Message #227 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 13 Feb 2023 11:09:05 +0100
>>  > The end of *foo* for GTK3 contains:
>>  >
>>  > xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1346
>>  > xg_frame_resized old native pixels 1488x1296 new native pixels 1488x1296
>>  > xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 fringes 16 borders 0 text width 720 base width 33 width inc 9
>>  >      char height 36 menubar 50 toolbar 0 hscroll 0 borders 0 text height 648 base height 43 height inc 18
>>  > xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 fringes 16 borders 0 text width 720 base width 33 width inc 9
>>  >      char height 36 menubar 50 toolbar 82 hscroll 0 borders 0 text height 648 base height 84 height inc 18
>>  > xg_frame_set_char_size old native pixels 1488x1296 new native pixels 1488x1296 outer pixels 744x714 outer rest 0x0
>>  >      base_size 33x84 size increments 9x18 WM hint 79x35
>>
>> Can you show me the text pixels values?  These are the ones we should
>> compare.  The native values differ because for Lucid the height includes
>> the toolbar which we draw ourselves into the rectangle the WM allots to
>> us.  GTK draws the toolbar into its own area which is outside the native
>> rectangle.
>
> How do I get that numbers?

It's what in *foo* should appear after "new text pixels".

>>  > And for Lucid, it contains:
>>  >
>>  > EmacsFrameResize old native pixels 1474x1332 new native pixels 1474x1354
>>  > EmacsFrameResize old native pixels 1474x1332 new native pixels 1474x1354
>>  > adjust_frame_size old native pixels 1474x1332 new native pixels 1474x1354 old text pixels 1440x1296 new text pixels 1440x1296 old text chars 80x36 new text chars 80x36
>>
>> Here I would have liked to see the value for the scroll bar - vscroll.
>> I suppose these differ on Lucid and GTK.

That's what in *foo* should appear after "vscroll".

>>  > Lucid's menu bar and tool bar look shorter in height, with less padding. The font size seems to be equal, however.
>>
>> When you put the two frames side by side, does the text area start lower
>> with GTK?  Here they start at exactly the same pixel position.  I attach
>> a screenshot so you can see.
>
> It does. See the attached screenshots with unpatched builds.

I see.  BTW, your Lucid scroll bar doesn't seem to have a ruler (or
thumb, or whatever you call it) nor the arrows at top and bottom.

> I think the above means that x_new_font is called for the second time even in the Lucid build. Anyway, with GNOME and the patch:
>
> It is hit twice, and both calls seems to have the same backtrace.
>
> (gdb) xbacktrace
> "internal-set-lisp-face-attribute" (0xf09ff218)
> "set-face-attribute" (0xffffd8c0)
> "progn" (0xffffda70)
> "eval" (0xf09ff180)
> "elisp--eval-last-sexp" (0xf09ff100)
> "eval-last-sexp" (0xffffdc50)
> "funcall-interactively" (0xffffdc48)
> "call-interactively" (0xf09ff070)
> "command-execute" (0xffffdef8)
>
> and
>
> (gdb) backtrace
> #0  x_new_font (f=0x5555562f8430, font_object=0x5555569e1a45, fontset=-1) at xterm.c:26517
> #1  0x00005555555c4656 in gui_set_font (f=0x5555562f8430, arg=0x5555568fe364, oldval=0x55555622d224) at frame.c:4733
> #2  0x00005555555c1ff9 in gui_set_frame_parameters_1 (f=f <at> entry=0x5555562f8430, alist=<optimized out>, alist <at> entry=0x7fffffffd6f3, default_parameter=default_parameter <at> entry=true) at frame.c:4325
> #3  0x000055555567fea1 in set_font_frame_param (lface=0x5555562f6e45, frame=0x5555562f8435) at xfaces.c:3816
> #4  Finternal_set_lisp_face_attribute (face=0x5940, attr=<optimized out>, value=<optimized out>, frame=<optimized out>) at xfaces.c:3629
> #5  0x000055555567eb38 in Finternal_set_lisp_face_attribute (face=0x5940, attr=0xdb0, value=0x5555568fe544, frame=<optimized out>) at xfaces.c:3092
> ...
>
> vs
>
> (gdb) backtrace
> #0  x_new_font (f=0x5555562f8430, font_object=0x555556945b6d, fontset=-1) at xterm.c:26517
> #1  0x00005555555c4656 in gui_set_font (f=0x5555562f8430, arg=0x5555563e1e74, oldval=0x5555568fe364) at frame.c:4733
> #2  0x00005555555c1ff9 in gui_set_frame_parameters_1 (f=f <at> entry=0x5555562f8430, alist=<optimized out>, alist <at> entry=0x7fffffffd6f3, default_parameter=default_parameter <at> entry=true) at frame.c:4325
> #3  0x000055555567fea1 in set_font_frame_param (lface=0x5555562f6e45, frame=0x5555562f8435) at xfaces.c:3816
> #4  Finternal_set_lisp_face_attribute (face=0x5940, attr=<optimized out>, value=<optimized out>, frame=<optimized out>) at xfaces.c:3629
> #5  0x000055555567eb38 in Finternal_set_lisp_face_attribute (face=0x5940, attr=0x1020, value=0x1ba, frame=<optimized out>) at xfaces.c:3092
> ...
>
> What seems to be different between the two are the font_object argument to x_new_font and the arguments to Finternal_set_lisp_face_attribute at the end of the backtrace.
>
> It seems like they are called twice because my original example sets two attributes: :height and :family.

So whenever we do 'set-face-attribute' to set both :height and :family,
we do the frame resizing twice, once for the family which apparently
assigns a new character size and once for the height.  This is bad: Why
ask the WM twice to set the frame size in one and the same call?  When
'frame-inhibit-implied-resize' is nil, these calls should be collapsed
into one and setting the size hint values should be always delayed.

>>  > Should we try to circle back to finding the difference between
>>  > "InconsolataLGC" and "Inconsolata LGC"? The latter doesn't exhibit
>>  > most of the problematic behaviors we have been discussing here.
>>
>> The first thing to try would be obvious: Does the latter trigger the
>> "two x_new_font entries in *foo* in a row behavior"?
>
> When called for the first time -- yes:
>
> x_new_font old char size 18x36 new char size 21x45 text chars 80x36 old text pixels 1440x1296 new text pixels 1680x1620
> xg_wm_set_size_hint scale 2 char width 21 toolbar 0 vscroll 32 fringes 16 borders 0 text width 840 base width 34 width inc 10
>      char height 45 menubar 50 toolbar 82 hscroll 0 borders 0 text height 810 base height 106 height inc 22
> xg_frame_set_char_size old native pixels 1488x1296 new native pixels 1728x1620 outer pixels 864x876 outer rest 0x0
>      base_size 34x106 size increments 10x22 WM hint 83x35
> xg_frame_resized old native pixels 1488x1296 new native pixels 1728x1620
> adjust_frame_size old native pixels 1488x1296 new native pixels 1728x1620 old text pixels 1440x1296 new text pixels 1680x1620 old text chars 80x36 new text chars 80x36
>      base_size 34x106 size increments 10x22 WM hint 83x35
>
> x_new_font old char size 21x45 new char size 17x37 text chars 80x36 old text pixels 1680x1620 new text pixels 1360x1332
> xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 fringes 16 borders 0 text width 680 base width 32 width inc 8
>      char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text height 666 base height 84 height inc 18
> xg_frame_set_char_size old native pixels 1728x1620 new native pixels 1408x1332 outer pixels 704x732 outer rest 0x0
>      base_size 32x84 size increments 8x18 WM hint 84x36
> xg_frame_resized old native pixels 1728x1620 new native pixels 1408x1332
> adjust_frame_size old native pixels 1728x1620 new native pixels 1408x1332 old text pixels 1680x1620 new text pixels 1360x1332 old text chars 80x36 new text chars 80x36
>      base_size 32x84 size increments 8x18 WM hint 84x36
>
> When called the second time -- no:
>
> x_new_font old char size 17x37 new char size 17x37 text chars 80x36 old text pixels 1360x1332 new text pixels 1360x1332
>
> When called the third time and further -- no entries are added to *foo* at all.

OK.  But what _is_ the difference between the "InconsolataLGC" and
"Inconsolata LGC" calls here?  IIUC the "called for the first time"
behavior for "InconsolataLGC" is that the second x_new_font call does
not happen.  Is that right?  Please post the respective section of *foo*
for that first call so we can compare how it differs from the
"Inconsolata LGC" one.

To elaborate: The trace you show above resizes the frame twice,
apparently once for the :height and once for the :family change.  So we
should find out why the call for "InconsolataLGC" does not try to resize
the frame twice.  It should be something like not finding a suitable
font with "InconsolataLGC" or at least one that does not ask for
changing the height

BTW - do we call x_new_font for the :height first here (which would be
bad IMO)?

>>  > Visually, the resulting text seems identical between these two
>>  > fonts. Maybe the former font name is somehow "autocorrected" into the
>>  > latter? And that triggers some kind of callback internally that can
>>  > additionally resize the frame?
>>
>> Maybe fontset_from_font does such a thing.  We'd have to find out first
>> whether the values x_new_font finds for font->average_width and
>> font_ascent + font_descent differ for the two Inconsolatas.
>
> Anything I can evaluate to find that out?

We had it in *foo* but I removed it because it didn't show anything
unexpected.  Putting a breakpoint after the line

  get_font_ascent_descent (font, &font_ascent, &font_descent);

in xterm.c should do (it's probably the second hit).  Then print the
values of font->average_width, font_ascent and font_descent but make
sure to do it for both - "InconsolataLGC" and "Inconsolata LGC" - so we
can compare them.

Thanks, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Thu, 16 Feb 2023 02:11:02 GMT) Full text and rfc822 format available.

Message #230 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Po Lu <luangruo <at> yahoo.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Thu, 16 Feb 2023 04:09:53 +0200
On 13/02/2023 04:56, Po Lu wrote:
> Dmitry Gutov<dgutov <at> yandex.ru>  writes:
> 
>> On 12/02/2023 05:26, Po Lu wrote:
>>> Right, thank you.  If you go up to frame 23, and then:
>>>     (gdb) p f->size_hints
>>>     (gdb) p f->hint_flags
>>> What is displayed?
>>> Also, what is:
>>>     (gdb) p xg_get_scale (f)
>> (gdb) p f->size_hints
>> There is no member named size_hints.
>> (gdb) p f->hint_flags
>> There is no member named hint_flags.
>> (gdb) p f
>> $5 = (struct frame *) 0x5555562c3060
>> (gdb) xpr
>> Lisp_Symbol
>> $6 = (struct Lisp_Symbol *) 0xaaaaac05fc40
>> Cannot access memory at address 0xaaaaac05fc48
>>
>> (gdb) p f->output_data.x->size_hints
>> $8 = {
>>    min_width = 34,
>>    min_height = 106,
>>    max_width = 0,
>>    max_height = 0,
>>    base_width = 34,
>>    base_height = 106,
>>    width_inc = 10,
>>    height_inc = 22,
>>    min_aspect = 0,
>>    max_aspect = 0,
>>    win_gravity = GDK_GRAVITY_NORTH_WEST
>> }
>> (gdb) p f->output_data.x->hint_flags
>> $9 = 106
>> (gdb) xpr
>> Lisp_Int0
>> $10 = 26
> Thanks.
> 
> What is f->column_width and f->line_height?  If you go up to x_new_font,
> what is font->average_width, font_ascent and font_descent?

Here you go:

(gdb) frame 23
#23 0x00005555556d097f in xg_frame_set_char_size 
(f=f <at> entry=0x55555630eb60, width=width <at> entry=1728, 
height=height <at> entry=1620) at gtkutil.c:1425
1425	      x_wait_for_event (f, ConfigureNotify);
(gdb) print f->column_width
$2 = 21
(gdb) print f->line_height
$3 = 45
(gdb) frame 26
#26 0x000055555568f0e6 in x_new_font (f=0x55555630eb60, 
font_object=XIL(0x5555560e3465), fontset=27) at xterm.c:26576
26576	      adjust_frame_size
(gdb) print font->average_width
$4 = 21
(gdb) print font_ascent
$5 = 37
(gdb) print font_descent
$6 = 8




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Thu, 16 Feb 2023 03:04:01 GMT) Full text and rfc822 format available.

Message #233 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Thu, 16 Feb 2023 11:00:34 +0800
Dmitry Gutov <dgutov <at> yandex.ru> writes:

> Here you go:
>
> (gdb) frame 23
> #23 0x00005555556d097f in xg_frame_set_char_size
>  (f=f <at> entry=0x55555630eb60, width=width <at> entry=1728,
>  height=height <at> entry=1620) at gtkutil.c:1425
> 1425	      x_wait_for_event (f, ConfigureNotify);
> (gdb) print f->column_width
> $2 = 21
> (gdb) print f->line_height
> $3 = 45
> (gdb) frame 26
> #26 0x000055555568f0e6 in x_new_font (f=0x55555630eb60,
>  font_object=XIL(0x5555560e3465), fontset=27) at xterm.c:26576
> 26576	      adjust_frame_size
> (gdb) print font->average_width
> $4 = 21
> (gdb) print font_ascent
> $5 = 37
> (gdb) print font_descent
> $6 = 8

These ascent and descent measurements are not correct for your font,
right?  What does:

  (gdb) p font_object
  (gdb) xfont

say?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Thu, 16 Feb 2023 22:19:02 GMT) Full text and rfc822 format available.

Message #236 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Po Lu <luangruo <at> yahoo.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Fri, 17 Feb 2023 00:18:47 +0200
On 16/02/2023 05:00, Po Lu wrote:
> Dmitry Gutov<dgutov <at> yandex.ru>  writes:
> 
>> Here you go:
>>
>> (gdb) frame 23
>> #23 0x00005555556d097f in xg_frame_set_char_size
>>   (f=f <at> entry=0x55555630eb60, width=width <at> entry=1728,
>>   height=height <at> entry=1620) at gtkutil.c:1425
>> 1425	      x_wait_for_event (f, ConfigureNotify);
>> (gdb) print f->column_width
>> $2 = 21
>> (gdb) print f->line_height
>> $3 = 45
>> (gdb) frame 26
>> #26 0x000055555568f0e6 in x_new_font (f=0x55555630eb60,
>>   font_object=XIL(0x5555560e3465), fontset=27) at xterm.c:26576
>> 26576	      adjust_frame_size
>> (gdb) print font->average_width
>> $4 = 21
>> (gdb) print font_ascent
>> $5 = 37
>> (gdb) print font_descent
>> $6 = 8
> These ascent and descent measurements are not correct for your font,
> right?  What does:
> 
>    (gdb) p font_object
>    (gdb) xfont
> 
> say?

The output doesn't seem very useful:

(gdb) p font_object
$6 = XIL(0x55555692631d)
(gdb) xfont
$7 = (struct font *) 0x555556926318




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 17 Feb 2023 02:07:01 GMT) Full text and rfc822 format available.

Message #239 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Fri, 17 Feb 2023 04:05:58 +0200
[Message part 1 (text/plain, inline)]
Hi Martin,

It becomes ever more difficult to remember the context. E.g. which 
operations I should do with each build before looking up this or that value.

On 13/02/2023 12:09, martin rudalics wrote:
>  >>  > The end of *foo* for GTK3 contains:
>  >>  >
>  >>  > xg_frame_resized old native pixels 1488x1296 new native pixels 
> 1488x1346
>  >>  > xg_frame_resized old native pixels 1488x1296 new native pixels 
> 1488x1296
>  >>  > xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 
> fringes 16 borders 0 text width 720 base width 33 width inc 9
>  >>  >      char height 36 menubar 50 toolbar 0 hscroll 0 borders 0 text 
> height 648 base height 43 height inc 18
>  >>  > xg_wm_set_size_hint scale 2 char width 18 toolbar 0 vscroll 32 
> fringes 16 borders 0 text width 720 base width 33 width inc 9
>  >>  >      char height 36 menubar 50 toolbar 82 hscroll 0 borders 0 
> text height 648 base height 84 height inc 18
>  >>  > xg_frame_set_char_size old native pixels 1488x1296 new native 
> pixels 1488x1296 outer pixels 744x714 outer rest 0x0
>  >>  >      base_size 33x84 size increments 9x18 WM hint 79x35
>  >>
>  >> Can you show me the text pixels values?  These are the ones we should
>  >> compare.  The native values differ because for Lucid the height 
> includes
>  >> the toolbar which we draw ourselves into the rectangle the WM allots to
>  >> us.  GTK draws the toolbar into its own area which is outside the 
> native
>  >> rectangle.
>  >
>  > How do I get that numbers?
> 
> It's what in *foo* should appear after "new text pixels".
> 
>  >>  > And for Lucid, it contains:
>  >>  >
>  >>  > EmacsFrameResize old native pixels 1474x1332 new native pixels 
> 1474x1354
>  >>  > EmacsFrameResize old native pixels 1474x1332 new native pixels 
> 1474x1354
>  >>  > adjust_frame_size old native pixels 1474x1332 new native pixels 
> 1474x1354 old text pixels 1440x1296 new text pixels 1440x1296 old text 
> chars 80x36 new text chars 80x36
>  >>
>  >> Here I would have liked to see the value for the scroll bar - vscroll.
>  >> I suppose these differ on Lucid and GTK.
> 
> That's what in *foo* should appear after "vscroll".

It seems like it would be better to just attach the foo logs for both. 
See foo-gtk3.txt and foo-lucid.txt attached.

These logs are of 'emacs -Q' followed by evaluating

  (set-face-attribute 'default nil :height 110 :family "InconsolataLGC")

>  >>  > Lucid's menu bar and tool bar look shorter in height, with less 
> padding. The font size seems to be equal, however.
>  >>
>  >> When you put the two frames side by side, does the text area start 
> lower
>  >> with GTK?  Here they start at exactly the same pixel position.  I 
> attach
>  >> a screenshot so you can see.
>  >
>  > It does. See the attached screenshots with unpatched builds.
> 
> I see.  BTW, your Lucid scroll bar doesn't seem to have a ruler (or
> thumb, or whatever you call it) nor the arrows at top and bottom.

Indeed. Not sure if it's supposed to.

The scrollbar itself is not very functional: it shows the scroll 
progress of the buffer, but to scroll back using the mouse clicks seems 
impossible (all scrolling proceeds in one direction).

>  > What seems to be different between the two are the font_object 
> argument to x_new_font and the arguments to 
> Finternal_set_lisp_face_attribute at the end of the backtrace.
>  >
>  > It seems like they are called twice because my original example sets 
> two attributes: :height and :family.
> 
> So whenever we do 'set-face-attribute' to set both :height and :family,
> we do the frame resizing twice, once for the family which apparently
> assigns a new character size and once for the height.  This is bad: Why
> ask the WM twice to set the frame size in one and the same call?  When
> 'frame-inhibit-implied-resize' is nil, these calls should be collapsed
> into one and setting the size hint values should be always delayed.

Makes sense. Though it's hard for me to tell at which step the variable 
should be appled.

>  >>  > Should we try to circle back to finding the difference between
>  >>  > "InconsolataLGC" and "Inconsolata LGC"? The latter doesn't exhibit
>  >>  > most of the problematic behaviors we have been discussing here.
>  >>
>  >> The first thing to try would be obvious: Does the latter trigger the
>  >> "two x_new_font entries in *foo* in a row behavior"?
>  >
>  > When called for the first time -- yes:
>  >
>  > x_new_font old char size 18x36 new char size 21x45 text chars 80x36 
> old text pixels 1440x1296 new text pixels 1680x1620
>  > xg_wm_set_size_hint scale 2 char width 21 toolbar 0 vscroll 32 
> fringes 16 borders 0 text width 840 base width 34 width inc 10
>  >      char height 45 menubar 50 toolbar 82 hscroll 0 borders 0 text 
> height 810 base height 106 height inc 22
>  > xg_frame_set_char_size old native pixels 1488x1296 new native pixels 
> 1728x1620 outer pixels 864x876 outer rest 0x0
>  >      base_size 34x106 size increments 10x22 WM hint 83x35
>  > xg_frame_resized old native pixels 1488x1296 new native pixels 1728x1620
>  > adjust_frame_size old native pixels 1488x1296 new native pixels 
> 1728x1620 old text pixels 1440x1296 new text pixels 1680x1620 old text 
> chars 80x36 new text chars 80x36
>  >      base_size 34x106 size increments 10x22 WM hint 83x35
>  >
>  > x_new_font old char size 21x45 new char size 17x37 text chars 80x36 
> old text pixels 1680x1620 new text pixels 1360x1332
>  > xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 
> fringes 16 borders 0 text width 680 base width 32 width inc 8
>  >      char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text 
> height 666 base height 84 height inc 18
>  > xg_frame_set_char_size old native pixels 1728x1620 new native pixels 
> 1408x1332 outer pixels 704x732 outer rest 0x0
>  >      base_size 32x84 size increments 8x18 WM hint 84x36
>  > xg_frame_resized old native pixels 1728x1620 new native pixels 1408x1332
>  > adjust_frame_size old native pixels 1728x1620 new native pixels 
> 1408x1332 old text pixels 1680x1620 new text pixels 1360x1332 old text 
> chars 80x36 new text chars 80x36
>  >      base_size 32x84 size increments 8x18 WM hint 84x36
>  >
>  > When called the second time -- no:
>  >
>  > x_new_font old char size 17x37 new char size 17x37 text chars 80x36 
> old text pixels 1360x1332 new text pixels 1360x1332
>  >
>  > When called the third time and further -- no entries are added to 
> *foo* at all.
> 
> OK.  But what _is_ the difference between the "InconsolataLGC" and
> "Inconsolata LGC" calls here?  IIUC the "called for the first time"
> behavior for "InconsolataLGC" is that the second x_new_font call does
> not happen.  Is that right?  Please post the respective section of *foo*
> for that first call so we can compare how it differs from the
> "Inconsolata LGC" one.

First call for "InconsolataLGC":

x_new_font old char size 18x36 new char size 21x45 text chars 80x36 old 
text pixels 1440x1296 new text pixels 1680x1620
xg_wm_set_size_hint scale 2 char width 21 toolbar 0 vscroll 32 fringes 
16 borders 0 text width 840 base width 34 width inc 10
    char height 45 menubar 50 toolbar 82 hscroll 0 borders 0 text 
height 810 base height 106 height inc 22
xg_frame_set_char_size old native pixels 1488x1296 new native pixels 
1728x1620 outer pixels 864x876 outer rest 0x0
    base_size 34x106 size increments 10x22 WM hint 83x35
xg_frame_resized old native pixels 1488x1296 new native pixels 1728x1620
adjust_frame_size old native pixels 1488x1296 new native pixels 
1728x1620 old text pixels 1440x1296 new text pixels 1680x1620 old text 
chars 80x36 new text chars 80x36
    base_size 34x106 size increments 10x22 WM hint 83x35

x_new_font old char size 21x45 new char size 17x37 text chars 80x36 old 
text pixels 1680x1620 new text pixels 1360x1332
xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 fringes 
16 borders 0 text width 680 base width 32 width inc 8
    char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text 
height 666 base height 84 height inc 18
xg_frame_set_char_size old native pixels 1728x1620 new native pixels 
1408x1332 outer pixels 704x732 outer rest 0x0
    base_size 32x84 size increments 8x18 WM hint 84x36
xg_frame_resized old native pixels 1728x1620 new native pixels 1408x1332
adjust_frame_size old native pixels 1728x1620 new native pixels 
1408x1332 old text pixels 1680x1620 new text pixels 1360x1332 old text 
chars 80x36 new text chars 80x36
    base_size 32x84 size increments 8x18 WM hint 84x36

The second and all subsequent ones look like this:

x_new_font old char size 17x37 new char size 17x37 text chars 80x36 old 
text pixels 1360x1332 new text pixels 1360x1332

x_new_font old char size 17x37 new char size 17x37 text chars 80x36 old 
text pixels 1360x1332 new text pixels 1360x1332

(This is while keeping the frame in its default size; no resizing with 
the mouse.)

> To elaborate: The trace you show above resizes the frame twice,
> apparently once for the :height and once for the :family change.  So we
> should find out why the call for "InconsolataLGC" does not try to resize
> the frame twice.

It looks like both trigger two x_new_fonts calls the first time. And 
maybe resize the frame twice, which could be hard to register with the 
human eye. But then one continues to do that (under certain conditions), 
and another stops.

> It should be something like not finding a suitable
> font with "InconsolataLGC" or at least one that does not ask for
> changing the height

That's what I was thinking: "InconsolataLGC" falls back to "Inconsolata 
LGC", but that's not registered in some internal data structure, so 
whenever a new set-face-attribute call arrives, the comparison fails, 
and the search is repeated.

> BTW - do we call x_new_font for the :height first here (which would be
> bad IMO)?

That seems difficult to answer with gdb: too many 
internal-set-lisp-face-attribute calls during Emacs's startup.

But set-face-attribute's definition (and stepping through it with edebug 
for good measure) shows that :family is processed first.

I think this was also brought up in a recent bug discussion with 
Gregory: :family and :foundary and processed before the other 
attributes. But he recommended people used :font instead, for other reasons.

>  >>  > Visually, the resulting text seems identical between these two
>  >>  > fonts. Maybe the former font name is somehow "autocorrected" into 
> the
>  >>  > latter? And that triggers some kind of callback internally that can
>  >>  > additionally resize the frame?
>  >>
>  >> Maybe fontset_from_font does such a thing.  We'd have to find out first
>  >> whether the values x_new_font finds for font->average_width and
>  >> font_ascent + font_descent differ for the two Inconsolatas.
>  >
>  > Anything I can evaluate to find that out?
> 
> We had it in *foo* but I removed it because it didn't show anything
> unexpected.  Putting a breakpoint after the line
> 
>    get_font_ascent_descent (font, &font_ascent, &font_descent);
> 
> in xterm.c should do (it's probably the second hit).  Then print the
> values of font->average_width, font_ascent and font_descent but make
> sure to do it for both - "InconsolataLGC" and "Inconsolata LGC" - so we
> can compare them.

InconsolataLGC:

first hit:

(gdb) p font->average_width
$1 = 21
(gdb) p font_ascent
$2 = 37
(gdb) p font_descent
$3 = 8

second hit:

(gdb) p font->average_width
$4 = 17
(gdb) p font_ascent
$5 = 31
(gdb) p font_descent
$6 = 6

Inconsolata LGC:

Exactly the same.
[foo-gtk3.txt (text/plain, attachment)]
[foo-lucid.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 17 Feb 2023 02:46:02 GMT) Full text and rfc822 format available.

Message #242 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window
 (was not before), was: Re: bug#52493: 29.0.50; Setting Inconsolata up in
 init.el makes default face rendered wrong
Date: Fri, 17 Feb 2023 10:43:04 +0800
Dmitry Gutov <dgutov <at> yandex.ru> writes:

> On 16/02/2023 05:00, Po Lu wrote:
>> Dmitry Gutov<dgutov <at> yandex.ru>  writes:
>> 
>>> Here you go:
>>>
>>> (gdb) frame 23
>>> #23 0x00005555556d097f in xg_frame_set_char_size
>>>   (f=f <at> entry=0x55555630eb60, width=width <at> entry=1728,
>>>   height=height <at> entry=1620) at gtkutil.c:1425
>>> 1425	      x_wait_for_event (f, ConfigureNotify);
>>> (gdb) print f->column_width
>>> $2 = 21
>>> (gdb) print f->line_height
>>> $3 = 45
>>> (gdb) frame 26
>>> #26 0x000055555568f0e6 in x_new_font (f=0x55555630eb60,
>>>   font_object=XIL(0x5555560e3465), fontset=27) at xterm.c:26576
>>> 26576	      adjust_frame_size
>>> (gdb) print font->average_width
>>> $4 = 21
>>> (gdb) print font_ascent
>>> $5 = 37
>>> (gdb) print font_descent
>>> $6 = 8
>> These ascent and descent measurements are not correct for your font,
>> right?  What does:
>>    (gdb) p font_object
>>    (gdb) xfont
>> say?
>
> The output doesn't seem very useful:
>
> (gdb) p font_object
> $6 = XIL(0x55555692631d)
> (gdb) xfont
> $7 = (struct font *) 0x555556926318

Ah, please type:

  (gdb) *$7

after this, thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 17 Feb 2023 11:55:02 GMT) Full text and rfc822 format available.

Message #245 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Po Lu <luangruo <at> yahoo.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>,
 rpluim <at> gmail.com, 60585 <at> debbugs.gnu.org
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Fri, 17 Feb 2023 13:54:06 +0200
On 17/02/2023 04:43, Po Lu via Bug reports for GNU Emacs, the Swiss army 
knife of text editors wrote:
> Dmitry Gutov<dgutov <at> yandex.ru>  writes:
> 
>> On 16/02/2023 05:00, Po Lu wrote:
>>> Dmitry Gutov<dgutov <at> yandex.ru>   writes:
>>>
>>>> Here you go:
>>>>
>>>> (gdb) frame 23
>>>> #23 0x00005555556d097f in xg_frame_set_char_size
>>>>    (f=f <at> entry=0x55555630eb60, width=width <at> entry=1728,
>>>>    height=height <at> entry=1620) at gtkutil.c:1425
>>>> 1425	      x_wait_for_event (f, ConfigureNotify);
>>>> (gdb) print f->column_width
>>>> $2 = 21
>>>> (gdb) print f->line_height
>>>> $3 = 45
>>>> (gdb) frame 26
>>>> #26 0x000055555568f0e6 in x_new_font (f=0x55555630eb60,
>>>>    font_object=XIL(0x5555560e3465), fontset=27) at xterm.c:26576
>>>> 26576	      adjust_frame_size
>>>> (gdb) print font->average_width
>>>> $4 = 21
>>>> (gdb) print font_ascent
>>>> $5 = 37
>>>> (gdb) print font_descent
>>>> $6 = 8
>>> These ascent and descent measurements are not correct for your font,
>>> right?  What does:
>>>     (gdb) p font_object
>>>     (gdb) xfont
>>> say?
>> The output doesn't seem very useful:
>>
>> (gdb) p font_object
>> $6 = XIL(0x55555692631d)
>> (gdb) xfont
>> $7 = (struct font *) 0x555556926318
> Ah, please type:
> 
>    (gdb) *$7
> 
> after this, thanks.

Thanks, looks like an exact match:

#26 0x000055555568f0e6 in x_new_font (f=0x55555633b5c0, 
font_object=XIL(0x555556222605),
    fontset=28) at xterm.c:26576
26576	      adjust_frame_size
(gdb) p font_object
$1 = XIL(0x555556222605)
(gdb) xfont
$2 = (struct font *) 0x555556222600
(gdb) *$2
Undefined command: "".  Try "help".
(gdb) print *$2
$3 = {
  header = {
    size = 4611686018997903377
  },
  props = {XIL(0x7f20), XIL(0x2ee260), XIL(0x746b20), XIL(0), 
XIL(0x9ed0), make_fixnum(20544),
    make_fixnum(25632), make_fixnum(25664), make_fixnum(35), XIL(0), 
make_fixnum(100),
    make_fixnum(0), XIL(0x555555e760f3), XIL(0), XIL(0x555556905ac4), 
XIL(0x555556905aa4),
    XIL(0x555556905b24)},
  min_width = 21,
  max_width = 21,
  pixel_size = 35,
  height = 45,
  space_width = 21,
  average_width = 21,
  ascent = 37,
  descent = 8,
  underline_thickness = 1,
  underline_position = 6,
  vertical_centering = false,
  baseline_offset = 0,
  relative_compose = 0,
  default_ascent = 0,
  encoding_charset = -1,
  repertory_charset = -1,
  driver = 0x555555dc4900 <ftcrhbfont_driver>
}





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 20 Feb 2023 09:06:01 GMT) Full text and rfc822 format available.

Message #248 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 20 Feb 2023 10:05:16 +0100
> It becomes ever more difficult to remember the context. E.g. which
> operations I should do with each build before looking up this or that
> value.

Same here.  In fact, I think we have investigated most of what can be
done here.  So unless someone has a better idea I'll try to come up with
a patch that comprises most of what I sent you so far and some further
fixes - size hints on xfwm have become off by one here and I don't yet
know what causes it.

So as a general guideline I plan to cook up something like:

- Make the base size hints handle any irregularities caused by increment
  hints not being integral multiples of our line/column sizes.

- Implement correct minimum size hints and make them independent from
  the base sizes.

- Do away with our attempts to override GTK which means to get rid of
  emacsgtkfixed.c/.h.

All this will take some time and testing.

> These logs are of 'emacs -Q' followed by evaluating
>
>    (set-face-attribute 'default nil :height 110 :family "InconsolataLGC")

FWIW, it would be nice to get the 80x36 and 84x36 below

adjust_frame_size old native pixels 1728x1620 new native pixels 1408x1332 old text pixels 1680x1620 new text pixels 1360x1332 old text chars 80x36 new text chars 80x36
    base_size 32x84 size increments 8x18 WM hint 84x36

in synch but I have no clear idea yet how to do that.  IIRC I added the last
line to that comment in gtkutil.c

  /* Use one row/col here so base_height/width does not become zero.
     Gtk+ and/or Unity on Ubuntu 12.04 can't handle it.
     Obviously this makes the row/col value displayed off by 1.  */

some time ago but am not sure whether it explains the problem in its
entirety or something else has to be done too.

>> I see.  BTW, your Lucid scroll bar doesn't seem to have a ruler (or
>> thumb, or whatever you call it) nor the arrows at top and bottom.
>
> Indeed. Not sure if it's supposed to.
>
> The scrollbar itself is not very functional: it shows the scroll
> progress of the buffer, but to scroll back using the mouse clicks
> seems impossible (all scrolling proceeds in one direction).

Are these toolkit scroll bars?  What are your build options for Lucid?
Whatever it is, this behavior deserves a separate bug report.

> First call for "InconsolataLGC":
>
> x_new_font old char size 18x36 new char size 21x45 text chars 80x36 old text pixels 1440x1296 new text pixels 1680x1620
> xg_wm_set_size_hint scale 2 char width 21 toolbar 0 vscroll 32 fringes 16 borders 0 text width 840 base width 34 width inc 10
>      char height 45 menubar 50 toolbar 82 hscroll 0 borders 0 text height 810 base height 106 height inc 22
> xg_frame_set_char_size old native pixels 1488x1296 new native pixels 1728x1620 outer pixels 864x876 outer rest 0x0
>      base_size 34x106 size increments 10x22 WM hint 83x35
> xg_frame_resized old native pixels 1488x1296 new native pixels 1728x1620
> adjust_frame_size old native pixels 1488x1296 new native pixels 1728x1620 old text pixels 1440x1296 new text pixels 1680x1620 old text chars 80x36 new text chars 80x36
>      base_size 34x106 size increments 10x22 WM hint 83x35
>
> x_new_font old char size 21x45 new char size 17x37 text chars 80x36 old text pixels 1680x1620 new text pixels 1360x1332
> xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 fringes 16 borders 0 text width 680 base width 32 width inc 8
>      char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 text height 666 base height 84 height inc 18
> xg_frame_set_char_size old native pixels 1728x1620 new native pixels 1408x1332 outer pixels 704x732 outer rest 0x0
>      base_size 32x84 size increments 8x18 WM hint 84x36
> xg_frame_resized old native pixels 1728x1620 new native pixels 1408x1332
> adjust_frame_size old native pixels 1728x1620 new native pixels 1408x1332 old text pixels 1680x1620 new text pixels 1360x1332 old text chars 80x36 new text chars 80x36
>      base_size 32x84 size increments 8x18 WM hint 84x36
>
> The second and all subsequent ones look like this:
>
> x_new_font old char size 17x37 new char size 17x37 text chars 80x36 old text pixels 1360x1332 new text pixels 1360x1332
>
> x_new_font old char size 17x37 new char size 17x37 text chars 80x36 old text pixels 1360x1332 new text pixels 1360x1332
>
> (This is while keeping the frame in its default size; no resizing with the mouse.)

All these show no differences between the two Inconsolatas.  So the
reason why one keeps your frame shrinking and the other doesn't still
remains a mystery.

> It looks like both trigger two x_new_fonts calls the first time. And maybe resize the frame twice, which could be hard to register with the human eye. But then one continues to do that (under certain conditions), and another stops.
>
>> It should be something like not finding a suitable
>> font with "InconsolataLGC" or at least one that does not ask for
>> changing the height
>
> That's what I was thinking: "InconsolataLGC" falls back to
> "Inconsolata LGC", but that's not registered in some internal data
> structure, so whenever a new set-face-attribute call arrives, the
> comparison fails, and the search is repeated.

You could try with two separate 'set-face-attribute' calls.  That is: Do
the below for both Inconsolata fonts

> InconsolataLGC:
>
> first hit:
>
> (gdb) p font->average_width
> $1 = 21
> (gdb) p font_ascent
> $2 = 37
> (gdb) p font_descent
> $3 = 8
>
> second hit:
>
> (gdb) p font->average_width
> $4 = 17
> (gdb) p font_ascent
> $5 = 31
> (gdb) p font_descent
> $6 = 6
>
> Inconsolata LGC:
>
> Exactly the same.

first with only :family set leaving :height alone and then with only
:height set leaving :family alone.  Then do the reverse - that is first
with only :height set leaving :family alone and then with only :family
set leaving :height alone.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Wed, 22 Feb 2023 01:43:02 GMT) Full text and rfc822 format available.

Message #251 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Wed, 22 Feb 2023 03:42:04 +0200
On 20/02/2023 11:05, martin rudalics wrote:
>  > It becomes ever more difficult to remember the context. E.g. which
>  > operations I should do with each build before looking up this or that
>  > value.
> 
> Same here.  In fact, I think we have investigated most of what can be
> done here.  So unless someone has a better idea I'll try to come up with
> a patch that comprises most of what I sent you so far and some further
> fixes - size hints on xfwm have become off by one here and I don't yet
> know what causes it.
> 
> So as a general guideline I plan to cook up something like:
> 
> - Make the base size hints handle any irregularities caused by increment
>    hints not being integral multiples of our line/column sizes.
> 
> - Implement correct minimum size hints and make them independent from
>    the base sizes.
> 
> - Do away with our attempts to override GTK which means to get rid of
>    emacsgtkfixed.c/.h.

Sounds promising! Especially the last part.

> All this will take some time and testing.
> 
>  > These logs are of 'emacs -Q' followed by evaluating
>  >
>  >    (set-face-attribute 'default nil :height 110 :family 
> "InconsolataLGC")
> 
> FWIW, it would be nice to get the 80x36 and 84x36 below
> 
> adjust_frame_size old native pixels 1728x1620 new native pixels 
> 1408x1332 old text pixels 1680x1620 new text pixels 1360x1332 old text 
> chars 80x36 new text chars 80x36
>      base_size 32x84 size increments 8x18 WM hint 84x36
> 
> in synch but I have no clear idea yet how to do that.  IIRC I added the 
> last
> line to that comment in gtkutil.c
> 
>    /* Use one row/col here so base_height/width does not become zero.
>       Gtk+ and/or Unity on Ubuntu 12.04 can't handle it.
>       Obviously this makes the row/col value displayed off by 1.  */
> 
> some time ago but am not sure whether it explains the problem in its
> entirety or something else has to be done too.
> 
>  >> I see.  BTW, your Lucid scroll bar doesn't seem to have a ruler (or
>  >> thumb, or whatever you call it) nor the arrows at top and bottom.
>  >
>  > Indeed. Not sure if it's supposed to.
>  >
>  > The scrollbar itself is not very functional: it shows the scroll
>  > progress of the buffer, but to scroll back using the mouse clicks
>  > seems impossible (all scrolling proceeds in one direction).
> 
> Are these toolkit scroll bars?  What are your build options for Lucid?

Configured using:
 'configure --with-x-toolkit=lucid'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG
SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11
XDBE XIM XINPUT2 XPM LUCID ZLIB

> Whatever it is, this behavior deserves a separate bug report.

Actually, it seems like I just didn't understand how to use it at first: 
when I hover the mouse over the scrollbar, a two-sided arrow appears.

With that, clicking the left mouse button scrolls the buffer in one 
direction, and clicking the right mouse button (anywhere) scrolls the 
buffer in another direction. I've very little experience with 
Lucid/Motif applications, so this took some experimentation.

And it does have a thumb when the buffer is taller than the window. 
Sometimes the thumb gets bigger and sometimes smaller, though. That's a 
little odd. Perhaps it works off the number of visible characters rather 
than lines.

>  > The second and all subsequent ones look like this:
>  >
>  > x_new_font old char size 17x37 new char size 17x37 text chars 80x36 
> old text pixels 1360x1332 new text pixels 1360x1332
>  >
>  > x_new_font old char size 17x37 new char size 17x37 text chars 80x36 
> old text pixels 1360x1332 new text pixels 1360x1332
>  >
>  > (This is while keeping the frame in its default size; no resizing 
> with the mouse.)
> 
> All these show no differences between the two Inconsolatas.  So the
> reason why one keeps your frame shrinking and the other doesn't still
> remains a mystery.
> 
>  > It looks like both trigger two x_new_fonts calls the first time. And 
> maybe resize the frame twice, which could be hard to register with the 
> human eye. But then one continues to do that (under certain conditions), 
> and another stops.
>  >
>  >> It should be something like not finding a suitable
>  >> font with "InconsolataLGC" or at least one that does not ask for
>  >> changing the height
>  >
>  > That's what I was thinking: "InconsolataLGC" falls back to
>  > "Inconsolata LGC", but that's not registered in some internal data
>  > structure, so whenever a new set-face-attribute call arrives, the
>  > comparison fails, and the search is repeated.
> 
> You could try with two separate 'set-face-attribute' calls.  That is: Do
> the below for both Inconsolata fonts
> 
>  > InconsolataLGC:
>  >
>  > first hit:
>  >
>  > (gdb) p font->average_width
>  > $1 = 21
>  > (gdb) p font_ascent
>  > $2 = 37
>  > (gdb) p font_descent
>  > $3 = 8
>  >
>  > second hit:
>  >
>  > (gdb) p font->average_width
>  > $4 = 17
>  > (gdb) p font_ascent
>  > $5 = 31
>  > (gdb) p font_descent
>  > $6 = 6
>  >
>  > Inconsolata LGC:
>  >
>  > Exactly the same.
> 
> first with only :family set leaving :height alone and then with only
> :height set leaving :family alone.  Then do the reverse - that is first
> with only :height set leaving :family alone and then with only :family
> set leaving :height alone.

Okay.

InconsolataLGC:

(set-face-attribute 'default nil :family "InconsolataLGC")

(gdb) p font->average_width
$1 = 21
(gdb) p font_ascent
$2 = 37
(gdb) p font_descent
$3 = 8

(set-face-attribute 'default nil :height 110)

(gdb) p font->average_width
$7 = 17
(gdb) p font_ascent
$8 = 31
(gdb) p font_descent
$9 = 6

Now the reverse:

(set-face-attribute 'default nil :height 110)

(gdb) p font->average_width
$10 = 15
(gdb) p font_ascent
$11 = 25
(gdb) p font_descent
$12 = 5

(set-face-attribute 'default nil :family "InconsolataLGC")

(gdb) p font->average_width
$13 = 17
(gdb) p font_ascent
$14 = 31
(gdb) p font_descent
$15 = 6

(I did restart Emacs between tries, just not GDB.)

Inconsolata LGC:

All exactly the same. Omitted to save space.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Fri, 24 Feb 2023 17:55:01 GMT) Full text and rfc822 format available.

Message #254 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Fri, 24 Feb 2023 18:54:42 +0100
> And it does have a thumb when the buffer is taller than the
> window. Sometimes the thumb gets bigger and sometimes smaller,
> though. That's a little odd. Perhaps it works off the number of
> visible characters rather than lines.

Interesting.  I've never seen such behavior.

> InconsolataLGC:
>
> (set-face-attribute 'default nil :family "InconsolataLGC")
>
> (gdb) p font->average_width
> $1 = 21
> (gdb) p font_ascent
> $2 = 37
> (gdb) p font_descent
> $3 = 8
>
> (set-face-attribute 'default nil :height 110)
>
> (gdb) p font->average_width
> $7 = 17
> (gdb) p font_ascent
> $8 = 31
> (gdb) p font_descent
> $9 = 6
>
> Now the reverse:
>
> (set-face-attribute 'default nil :height 110)
>
> (gdb) p font->average_width
> $10 = 15
> (gdb) p font_ascent
> $11 = 25
> (gdb) p font_descent
> $12 = 5
>
> (set-face-attribute 'default nil :family "InconsolataLGC")
>
> (gdb) p font->average_width
> $13 = 17
> (gdb) p font_ascent
> $14 = 31
> (gdb) p font_descent
> $15 = 6
>
> (I did restart Emacs between tries, just not GDB.)
>
> Inconsolata LGC:
>
> All exactly the same. Omitted to save space.

There's one thing that we haven't checked yet and I don't know how to do
that.  When you evaluate :height first you get a line height of 30 which
scaling should reduce to 15 without loss.  When you evaluate :family
first you scale twice with a loss.  I have no idea whether this has any
impact.  You can try whether either of the following

(progn
  (set-face-attribute 'default nil :family "Inconsolata LGC")
  (set-face-attribute 'default nil :height 110))

(progn
  (set-face-attribute 'default nil :height 110)
  (set-face-attribute 'default nil :family "Inconsolata LGC"))

causes a different shrinking behavior but I doubt that it will reveal
anything useful.  So I ran out of ideas ...

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60585; Package emacs. (Mon, 27 Feb 2023 01:30:01 GMT) Full text and rfc822 format available.

Message #257 received at 60585 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: martin rudalics <rudalics <at> gmx.at>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 60585 <at> debbugs.gnu.org, rpluim <at> gmail.com
Subject: Re: bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was
 not before), was: Re: bug#52493: 29.0.50;
 Setting Inconsolata up in init.el makes default face rendered wrong
Date: Mon, 27 Feb 2023 03:29:16 +0200
On 24/02/2023 19:54, martin rudalics wrote:
> There's one thing that we haven't checked yet and I don't know how to do
> that.  When you evaluate :height first you get a line height of 30 which
> scaling should reduce to 15 without loss.  When you evaluate :family
> first you scale twice with a loss.  I have no idea whether this has any
> impact.  You can try whether either of the following
> 
> (progn
>    (set-face-attribute 'default nil :family "Inconsolata LGC")
>    (set-face-attribute 'default nil :height 110))
> 
> (progn
>    (set-face-attribute 'default nil :height 110)
>    (set-face-attribute 'default nil :family "Inconsolata LGC"))
> 
> causes a different shrinking behavior but I doubt that it will reveal
> anything useful.  So I ran out of ideas ...

Alas, I'm not seeing much of a change.

"Inconsolata LGC" is "stable" with either.

"InconsolataLGC" reliably shrinks at e.g. 104x37 (GNOME size), again, 
with either.




This bug report was last modified 2 years and 204 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.