Subject: bug#19972: 24.4; Font size change doesn't update (window-total-width)

From: Joost Kremers <[email-masked]>
Date: Sun, 01 Mar 2015 18:06:11 +0100

On Sun, Mar 01 2015, martin rudalics <[email-masked]> wrote:
>  > The second call to `window-total-width` returns 240, but it should have
>  > returned 192.
>
> I must admit that I don't have the faintest idea what `face-spec-recalc'
> is supposed to do.

I must admit, neither do I. The report results from an issue reported
for a package of mine:

https://github.com/joostkremers/visual-fill-column/issues/2

I took the calls to `custom-push-theme' and `face-spec-recalc' from the
code of the `default-text-scale' package.

> Anyway.  Why do you think that `window-total-width' should return 192 in
> the first call?  In principle, face/font changes are supposed to keep
> the number of columns/lines unchanged so returning 240 seems reasonable
> to me.

Well, the fact is that after the font size change, the number of
characters that fit in the window changes as well. AFAIU the return
value of `window-total-width' depends on that, at least in part. Unless
I'm wrong in that assumption...

> In any case, please evaluate (window--dump-frame) in IELM once
> immediately before you invoke `face-spec-recalc', once immediately after
> you invoked it, and once after you did C-x 1.  You have to copy the
> results from a buffer called *window-frame-dump* (three times, because
> each dump overwrites the previous one).  Please post the results here.
> 
>  > In GNU Emacs 24.4.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.4.2)
>  >   of 2014-10-22 on IdeaPad
>
> Could you try with current master/trunk?  Lots of things changed in this
> area recently.

I'll try with the latest Emacs and provide the output of
window--dump-frame ASAP.

-- 
Joost Kremers
Life has its moments