GNU bug report logs - #74725
31.0.50; image-scaling-factor is ignored by create-image

Previous Next

Package: emacs;

Reported by: David Ponce <da_vid <at> orange.fr>

Date: Sat, 7 Dec 2024 12:15:02 UTC

Severity: normal

Found in version 31.0.50

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 74725 <at> debbugs.gnu.org, da_vid <at> orange.fr, alan <at> idiocy.org
Subject: bug#74725: 31.0.50; image-scaling-factor is ignored by create-image
Date: Sun, 08 Dec 2024 08:03:47 +0200
> From: Po Lu <luangruo <at> yahoo.com>
> Cc: David Ponce <da_vid <at> orange.fr>,  alan <at> idiocy.org,  74725 <at> debbugs.gnu.org
> Date: Sun, 08 Dec 2024 08:01:39 +0800
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> author	Po Lu <luangruo <at> yahoo.com>	2024-06-03 16:34:51 +0800
> >> committer	Po Lu <luangruo <at> yahoo.com>	2024-06-03 16:36:29 +0800
> >> commit	56376585134d627f96c71b7b063ec51548d3ad3f (patch)
> >> 
> >> Which replaced
> >> 
> >> -                        (list :scale
> >> -                              (image-compute-scaling-factor
> >> -                               image-scaling-factor)))
> >> 
> >> By this
> >> 
> >> +                        (list :scale 'default))
> >> 
> >> In create-image.
> >> 
> >> With the side effect that the image spec don't change when the scaling
> >> factor changes, so the same cached image in always used.
> >
> > Po Lu, what were the reasons for that particular part of the commit?
> 
> The scale applied by image-scaling-factor is liable to differ by
> display

How so?  Please elaborate.

> and computing the default scale in Lisp would result in images
> being displayed with an incorrect scale in the presence of multiple
> displays.

How does the above changeset solve this problem, then?

> Image caches must be flushed when image-scaling-factor is modified,
> unless it is set to `auto' and a display's scale changes, because
> image.c has no means of detecting variable modifications and so only the
> latter event can be automatically detected.

Please describe the issue in more detail, as I don't think I follow
what you are saying here.  If we need to detect changes in variables,
we can use the add-variable-watcher technique, similar to what we do
in frame.el with variables that need to force redisplay (but maybe I
don't understand the problem you are describing).

In any case, I don't think changes in image-scaling-factor are
supposed to be immediately reflected on display, if that's what you
have in mind.  This is not the documented effect of this variable.




This bug report was last modified 147 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.