Subject: bug#1255: 23.0.60; linum-mode: no update after text-scale-adjust

From: Eli Zaretskii <[email-masked]>
Date: Sun, 10 Jan 2016 17:40:22 +0200

> From: Alan J Third <[email-masked]>
> Date: Sat, 09 Jan 2016 21:55:51 +0000
> 
> (let ((ov (make-overlay (point) (point)))
>       (str "01234"))
>   (set-window-margins (selected-window) (length str))
>   (overlay-put ov 'before-string
>                (propertize " " 'display
>                            `((margin left-margin) ,str)))
>   nil)
> 
> (text-scale-increase 3)
> 
> Using the above code from Juanma shows this is still an issue in 25.

Thanks for re-testing.

However, my analysis of this bug is different: unlike with the
original report, typing "C-x -" when linum-mode is enabled does now
recompute and update the width of the margin (and not surprisingly so:
linum.el now uses pixel dimensions and converts them to character
cells using the current canonical character width, which does account
for rescaling).  Evaluating

  (text-scale-increase 3)

when linum-mode is enabled also does TRT.  The only thing that fails
to adjust the margin is the above snippet, but I submit that it's the
problem of the snippet, since window margins are never changed by the
display engine on its own, they were always controlled by Lisp
applications.

So I think we can safely close this bug as done.

Thanks.