From c03574b477f7af6919797fde3e9410901c7675e1 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 1 Dec 2018 09:32:57 -0500 Subject: [PATCH 1/3] * etc/NEWS-*: Fix capitalization of "Emacs" --- etc/NEWS.1-17 | 2 +- etc/NEWS.18 | 2 +- etc/NEWS.19 | 2 +- etc/NEWS.20 | 2 +- etc/NEWS.21 | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17 index 63ef9a38559..f978a474809 100644 --- a/etc/NEWS.1-17 +++ b/etc/NEWS.1-17 @@ -4,7 +4,7 @@ Copyright (C) 1985-1986, 2006-2018 Free Software Foundation, Inc. See the end of the file for license conditions. -This file is about changes in emacs versions 1 through 17. +This file is about changes in Emacs versions 1 through 17. diff --git a/etc/NEWS.18 b/etc/NEWS.18 index 153c2f7a0a7..437f7c7e04a 100644 --- a/etc/NEWS.18 +++ b/etc/NEWS.18 @@ -4,7 +4,7 @@ Copyright (C) 1988, 2006-2018 Free Software Foundation, Inc. See the end of the file for license conditions. -This file is about changes in emacs version 18. +This file is about changes in Emacs version 18. diff --git a/etc/NEWS.19 b/etc/NEWS.19 index 12432eacf79..f7f5a8ad225 100644 --- a/etc/NEWS.19 +++ b/etc/NEWS.19 @@ -4,7 +4,7 @@ Copyright (C) 1993-1995, 2001, 2006-2018 Free Software Foundation, Inc. See the end of the file for license conditions. -This file is about changes in emacs versions 19. +This file is about changes in Emacs versions 19. diff --git a/etc/NEWS.20 b/etc/NEWS.20 index 31e640fa94e..956e900c289 100644 --- a/etc/NEWS.20 +++ b/etc/NEWS.20 @@ -7,7 +7,7 @@ See the end of the file for license conditions. Please send Emacs bug reports to bug-gnu-emacs@gnu.org. If possible, use M-x report-emacs-bug. -This file is about changes in emacs version 20. +This file is about changes in Emacs version 20. diff --git a/etc/NEWS.21 b/etc/NEWS.21 index ea4f4212ee0..4a22109e0b5 100644 --- a/etc/NEWS.21 +++ b/etc/NEWS.21 @@ -4,7 +4,7 @@ Copyright (C) 2000-2018 Free Software Foundation, Inc. See the end of the file for license conditions. -This file is about changes in emacs version 21. +This file is about changes in Emacs version 21. From 4b176eb86361cff94a223225e8b852adb1accc50 Mon Sep 17 00:00:00 2001 From: Alan Third Date: Sat, 1 Dec 2018 13:37:37 +0000 Subject: [PATCH 2/3] Fix macOS run-time feature check * src/nsterm.m (x_set_parent_frame) [NS_IMPL_COCOA]: Fix run-time feature check. --- src/nsterm.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 948dd1da2e1..893bb1b4414 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1891,7 +1891,7 @@ so some key presses (TAB) are swallowed by the system. */ [[child parentWindow] removeChildWindow:child]; #if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101000 #if MAC_OS_X_VERSION_MIN_REQUIRED < 101000 - if ([child respondsToSelector:@selector(setAccessibilitySubrole:)] + if ([child respondsToSelector:@selector(setAccessibilitySubrole:)]) #endif [child setAccessibilitySubrole:NSAccessibilityStandardWindowSubrole]; #endif @@ -1905,7 +1905,7 @@ so some key presses (TAB) are swallowed by the system. */ ordered: NSWindowAbove]; #if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101000 #if MAC_OS_X_VERSION_MIN_REQUIRED < 101000 - if ([child respondsToSelector:@selector(setAccessibilitySubrole:)] + if ([child respondsToSelector:@selector(setAccessibilitySubrole:)]) #endif [child setAccessibilitySubrole:NSAccessibilityFloatingWindowSubrole]; #endif From 317b3547820bf2468c1c0e9b5bed1bde94aeb544 Mon Sep 17 00:00:00 2001 From: Alan Third Date: Sat, 1 Dec 2018 13:36:58 +0000 Subject: [PATCH 3/3] ; Add notes about cross-compiling macOS versions --- etc/NEWS | 5 +++++ nextstep/INSTALL | 29 +++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index 399508cacc5..043573e3fca 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -178,6 +178,11 @@ optional argument to do so. * Changes in Emacs 26.2 on Non-Free Operating Systems +** macOS features can now be detected at run-time as well as at +build-time. See nextstep/INSTALL for details. +(This change was actually made in Emacs 26.1, but was undocumented and +not called out in its NEWS.) + * Installation Changes in Emacs 26.1 diff --git a/nextstep/INSTALL b/nextstep/INSTALL index 64f8f8fcf70..726a897c371 100644 --- a/nextstep/INSTALL +++ b/nextstep/INSTALL @@ -45,6 +45,35 @@ files will be installed under whatever 'prefix' is set to (defaults to require 'sudo' for "make install"). +Targeting different macOS versions +---------------------------------- + +The Emacs build process automatically enables or disables macOS +features according to the version of macOS it is being built on. It +is possible to override this automatic configuration if you are +targeting a different version of macOS, or wish to build one +executable that is able to enable or disable features at run-time. + +To build a version compatible with an older version of macOS use this +flag: + + -DMAC_OS_X_VERSION_MIN_REQUIRED=x + +and to build for a newer version of macOS: + + -DMAC_OS_X_VERSION_MAX_ALLOWED=x + +For example, to enable run-time checks for features available between +macOS 10.6, and 10.12 inclusive: + + ./configure --with-ns CFLAGS="-DMAC_OS_X_VERSION_MIN_REQUIRED=1060 \ + -DMAC_OS_X_VERSION_MAX_ALLOWED=101200 -g3 -O2" + +The macOS version numbers are formatted as 10x0 for macOS up to 10.10, +and 10xx00 for macOS 10.10 and above. A full list is provided in +/usr/include/AvailabilityMacros.h. + + Installation ------------