Files
emacs/src
Po Lu b18d4dbe0d Fix automatic DPI adjustment and add workarounds for some systems
* lisp/faces.el (x-create-frame-with-faces): New field
`delayed-font'.  Set the `font-parameter' property to `font' in
the given parameter list after face-set-after-frame-default is
called.
* src/fontset.c (Fset_fontset_font): Avoid changing
`font-parameter' with the call to Fmodify_frame_parameters.
* src/frame.c (gui_set_frame_parameters_1): New function.
Factor out gui_set_frame_parameters here, and add an argument
DEFAULT_PARAMETER.  If the `font' parameter is set, and
`default_parameter' is not, then set the `font-parameter' frame
parameter to the `font' parameter as well, to keep track of
which user-specified `font' frame parameter set the default
face's font on the frame.
(gui_set_frame_parameters): Call gui_set_frame_parameters_1 with
new arg set to false.
(gui_set_font): Remove broken implementation of
`font-parameter'.
(gui_default_parameter): If the default value was used, then
call gui_set_frame_parameters_1 with the new argument set to
false.  This is because no font was specified as a frame
parameter by the user, so Freconsider_frame_fonts is free to do
anything it wants.
(Freconsider_frame_fonts): If `font-parameter' is set, then use
it.
(syms_of_frame): New defsym Qfont_parameter.

* src/frame.h: Update prototypes.

* src/haikuterm.c (haiku_default_font_parameter):
* src/pgtkfns.c (pgtk_default_font_parameter):
* src/w32fns.c (w32_default_font_parameter): Stop setting
`font-parameter' here.  This code resulted in decades of
automatic font rescaling not working correctly.

* src/xfaces.c (set_font_frame_param): Clear the
`font-parameter' frame parameter.
(Finternal_merge_in_global_face):
* src/xfns.c (x_default_font_parameter): Avoid changing
`font-parameter' in response to changes to face attributes.
* src/xsettings.c (apply_xft_settings): Add workaround for
Cairo.  (bug#59371, bug#59347, bug#59283, bug#59271, bug#59285,
bug#59306.)
2022-11-19 13:59:53 +08:00
..
2022-11-17 09:34:24 +01:00
2022-11-18 16:02:19 +01:00
2022-11-11 15:52:37 +01:00
2022-11-18 16:02:19 +01:00
2022-11-17 09:34:24 +01:00
2022-11-18 16:02:19 +01:00
2022-11-18 16:02:19 +01:00
2022-11-18 16:02:19 +01:00
2022-11-18 16:02:19 +01:00
2022-09-19 11:38:49 +02:00
2022-11-18 13:06:55 +01:00
2022-09-28 15:35:06 +02:00
2022-09-21 10:25:06 +02:00
2022-11-15 19:48:39 +08:00
2022-11-15 19:48:39 +08:00
2022-11-18 16:02:19 +01:00
2022-11-18 13:06:55 +01:00
2022-10-16 06:19:12 +00:00
2022-09-25 16:15:16 -04:00
2022-11-19 11:13:15 +08:00
2022-09-25 16:15:16 -04:00
2022-09-09 11:27:30 +02:00
2022-09-07 09:52:35 +08:00
2022-11-13 17:30:49 +08:00
2022-11-01 10:14:07 +01:00
2022-11-01 23:04:00 -07:00
2022-10-15 13:06:45 +02:00
2022-09-18 07:44:23 +02:00
2022-11-18 16:02:19 +01:00
2022-10-19 06:31:16 +02:00
2022-09-25 16:15:16 -04:00
2022-09-09 09:54:45 +08:00
2022-11-18 16:02:19 +01:00

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Copyright (C) 2001-2022 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.