diff options
| author | Paul Eggert | 2017-01-01 01:02:47 -0800 |
|---|---|---|
| committer | Paul Eggert | 2017-01-01 01:02:47 -0800 |
| commit | 61848d2da32bb889d714fcddcb7dfd6dfa1b502d (patch) | |
| tree | bec14e4a5ad9051ad310273db7fcc1d2164488b7 /src | |
| parent | bbb683f04aa0960422b12af5ef79679344fac19c (diff) | |
| parent | 697167b5432a89db009238cf5cbddc61e69ad339 (diff) | |
| download | emacs-61848d2da32bb889d714fcddcb7dfd6dfa1b502d.tar.gz emacs-61848d2da32bb889d714fcddcb7dfd6dfa1b502d.zip | |
Merge from origin/emacs-25
697167b ; Improve wording of previous change in variables.texi
d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
8b71826 Don't modify minibuffer variables globally
5b5e036 Revert to pre-25.1 behavior in ffap
19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
3ace730 Attempt to fix 64-bit AIX build
f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
c04ac8a Document that variable binding order is unspecified
272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
08de101 Fix M-x hints on Mac port
86a297a Work around reporting a dpi change in apply_xft_settings
cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99. Don't m...
88cdf14 Improve skeleton docstrings
Diffstat (limited to 'src')
| -rw-r--r-- | src/unexaix.c | 10 | ||||
| -rw-r--r-- | src/xsettings.c | 19 |
2 files changed, 22 insertions, 7 deletions
diff --git a/src/unexaix.c b/src/unexaix.c index c2012f77cac..5685aee5480 100644 --- a/src/unexaix.c +++ b/src/unexaix.c | |||
| @@ -245,15 +245,15 @@ make_hdr (int new, int a_out, | |||
| 245 | 245 | ||
| 246 | if (f_thdr == 0) | 246 | if (f_thdr == 0) |
| 247 | { | 247 | { |
| 248 | ERROR1 ("unexec: couldn't find \"%s\" section", (int) _TEXT); | 248 | ERROR1 ("unexec: couldn't find \"%s\" section", _TEXT); |
| 249 | } | 249 | } |
| 250 | if (f_dhdr == 0) | 250 | if (f_dhdr == 0) |
| 251 | { | 251 | { |
| 252 | ERROR1 ("unexec: couldn't find \"%s\" section", (int) _DATA); | 252 | ERROR1 ("unexec: couldn't find \"%s\" section", _DATA); |
| 253 | } | 253 | } |
| 254 | if (f_bhdr == 0) | 254 | if (f_bhdr == 0) |
| 255 | { | 255 | { |
| 256 | ERROR1 ("unexec: couldn't find \"%s\" section", (int) _BSS); | 256 | ERROR1 ("unexec: couldn't find \"%s\" section", _BSS); |
| 257 | } | 257 | } |
| 258 | } | 258 | } |
| 259 | else | 259 | else |
| @@ -382,7 +382,7 @@ copy_text_and_data (int new) | |||
| 382 | write_segment (new, ptr, end); | 382 | write_segment (new, ptr, end); |
| 383 | 383 | ||
| 384 | lseek (new, data_scnptr, SEEK_SET); | 384 | lseek (new, data_scnptr, SEEK_SET); |
| 385 | ptr = (char *) f_ohdr.data_start; | 385 | ptr = (char *) (ptrdiff_t) f_ohdr.data_start; |
| 386 | end = ptr + f_ohdr.dsize; | 386 | end = ptr + f_ohdr.dsize; |
| 387 | write_segment (new, ptr, end); | 387 | write_segment (new, ptr, end); |
| 388 | 388 | ||
| @@ -399,7 +399,7 @@ write_segment (int new, char *ptr, char *end) | |||
| 399 | for (i = 0; ptr < end;) | 399 | for (i = 0; ptr < end;) |
| 400 | { | 400 | { |
| 401 | /* distance to next block. */ | 401 | /* distance to next block. */ |
| 402 | nwrite = (((int) ptr + UnexBlockSz) & -UnexBlockSz) - (int) ptr; | 402 | nwrite = (((ptrdiff_t) ptr + UnexBlockSz) & -UnexBlockSz) - (ptrdiff_t) ptr; |
| 403 | /* But not beyond specified end. */ | 403 | /* But not beyond specified end. */ |
| 404 | if (nwrite > end - ptr) nwrite = end - ptr; | 404 | if (nwrite > end - ptr) nwrite = end - ptr; |
| 405 | ret = write (new, ptr, nwrite); | 405 | ret = write (new, ptr, nwrite); |
diff --git a/src/xsettings.c b/src/xsettings.c index d7af68f1c5f..10afd7d15c8 100644 --- a/src/xsettings.c +++ b/src/xsettings.c | |||
| @@ -667,8 +667,23 @@ apply_xft_settings (struct x_display_info *dpyinfo, | |||
| 667 | } | 667 | } |
| 668 | #endif | 668 | #endif |
| 669 | 669 | ||
| 670 | if ((settings->seen & SEEN_DPI) != 0 && oldsettings.dpi != settings->dpi | 670 | if ((settings->seen & SEEN_DPI) != 0 |
| 671 | && settings->dpi > 0) | 671 | && settings->dpi > 0 |
| 672 | /* The following conjunct avoids setting `changed' to true when | ||
| 673 | old and new dpi settings do not differ "substantially". | ||
| 674 | Otherwise, the dynamic-setting Elisp code may process all sorts | ||
| 675 | of unrelated settings that override users' font customizations, | ||
| 676 | among others. Compare: | ||
| 677 | |||
| 678 | http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00557.html | ||
| 679 | http://lists.gnu.org/archive/html/bug-gnu-emacs/2016-12/msg00820.html | ||
| 680 | |||
| 681 | As soon as the dynamic-settings code has been tested and | ||
| 682 | verified, this Emacs 25.2 workaround should be removed. */ | ||
| 683 | && ((oldsettings.dpi >= settings->dpi | ||
| 684 | && (oldsettings.dpi - settings->dpi) > 2) | ||
| 685 | || ((settings->dpi > oldsettings.dpi) | ||
| 686 | && (settings->dpi - oldsettings.dpi) > 2))) | ||
| 672 | { | 687 | { |
| 673 | FcPatternDel (pat, FC_DPI); | 688 | FcPatternDel (pat, FC_DPI); |
| 674 | FcPatternAddDouble (pat, FC_DPI, settings->dpi); | 689 | FcPatternAddDouble (pat, FC_DPI, settings->dpi); |