Subject: Re: bug#25228: 25.1; GNU emacs 25.1: custom-set-faces from init file ~/.emacs ignored

From: Eli Zaretskii <[email-masked]>
Date: Tue, 20 Dec 2016 19:55:23 +0200

> Date: Tue, 20 Dec 2016 18:34:19 +0100
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked]
> 
>  >> Before e65c307 the disjunct
>  >>
>  >>            (or (font-get (face-attribute 'default :font f 'default)
>  >>                      :user-spec)
>  >>
>  >> in ‘font-setting-change-default-font’ always evaluated to nil.  After
>  >> e65c307 it returns some non-nil value and ‘frame-font’ gets set to that.
>  >
>  > And the value "Monospace 11" you quoted back then -- any idea where
>  > does that come from?
> 
> No idea.  But when I run emacs -Q and evaluate
> 
> (font-get (face-attribute 'default :font (selected-frame) 'default) :user-spec)
> 
> I get "Monospace 11".

So all this disaster happens because 96.281588447653434 compares not
equal to 96, is that right?  Would the problem be solved, both for you
and for Werner, if we compare these values after rounding them to the
nearest integer?  It looks to me that xsettings.c reads the new value
as an integer to begin with, so it makes no sense to compare
fractional values.  And AFAIK about DPI (which is very little, and
nothing about Gsettings and Xft), the DPI values are always integers.

WDYT?