bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#62275: 28.2; Changing major mode changes the current text scaling


From: Drew Adams
Subject: bug#62275: 28.2; Changing major mode changes the current text scaling
Date: Sun, 19 Mar 2023 21:50:29 +0000

> Text-scaling works via face-remapping.

Yes, I know.  Again, it's not about _setting_
the scale once and for all.  It's not about a
user preference/option.  It's about interactive
change (such as what `text-scale-mode' does via
`face-remap-add-relative').

> > > Sounds like creeping featurism to me.  If you want the text size
> > > larger, then why not customize the default face, and have that done
> > > once and for all?  Text-scale is by definition a temporary measure.
> >
> > I don't want the text size larger in general or by default - of any
> face, let alone face `default'.
> 
> But that's what text-scaling does: it enlarges
> the default face's font.

You seem to be dancing around this.  Text-scaling
does NOT "customize the default face".

What's more, actually changing the font of face
`default' is the same as changing frame property
`font'.

And doing that changes the text size for ALL
windows in the frame - whatever buffers they
show, not just a single buffer.  And it does NOT,
as does text-scaling, change the text size for
all windows, on all frames, that display a given
buffer.

These are different things: (1) zooming a buffer
(everywhere) and (2) zooming a frame (all its
windows, whatever the buffers) and zooming
nothing in any other frame.

> > It's about interactive use of `text-scale-adjust`.  Seems to me its
> behavior should be only buffer-specific and not affected by a major-mode
> change.  Is that not a reasonable behavior to want, if not even generally
> _expect_?
> 
> No, not IMO.

OK.  Too bad.

AFAICT, what you said here repeats what I said:

  changing the major mode kills all local variables

and:

  the text-scale ... is a buffer-local behavior,
  and modes have no memory of what that scaling was.

I pointed out those things at the outset.

I was thinking that making those 3 buffer-local
variables permanently buffer-local would provide
that missing memory.  But it seems that making
`face-remapping-alist' permanently local does
just what I want.

I've added that possibility to my little library
`face-remap+.el', as a (global) minor mode.  The
library also provides another optional behavior
for text-scaling (also rejected for Emacs).

Might as well close this request as "won't fix",
I guess.  Thx.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]