[Python-checkins] bpo-40477: macOS Python Launcher app fixes for recent macOS releases (GH-30348) (GH-30349)

ned-deily webhook-mailer at python.org
Mon Jan 3 01:44:43 EST 2022


https://github.com/python/cpython/commit/b312794de0f78da15593d059f09b4071d95c0d0e
commit: b312794de0f78da15593d059f09b4071d95c0d0e
branch: 3.10
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: ned-deily <nad at python.org>
date: 2022-01-03T01:44:35-05:00
summary:

bpo-40477: macOS Python Launcher app fixes for recent macOS releases (GH-30348) (GH-30349)

This change solves two problems encountered by users of the macOS Python Launcher app on recent macOS releases (10.14+):

- The launcher app was no longer able to launch the macOS Terminal.app to run a script.

- Even if Terminal.app was already launched, the launcher app was unable to send an Apple Event to Terminal.app to open and run Python with the desired .py file.
(cherry picked from commit 549e62827262264cda30455e10e315602129da72)

Co-authored-by: Ned Deily <nad at python.org>

files:
A Misc/NEWS.d/next/macOS/2022-01-02-21-56-53.bpo-40477.W3nnM6.rst
M Mac/PythonLauncher/Info.plist.in
M Mac/PythonLauncher/doscript.m

diff --git a/Mac/PythonLauncher/Info.plist.in b/Mac/PythonLauncher/Info.plist.in
index 70f215d07249b..dec0a2eaf5c56 100644
--- a/Mac/PythonLauncher/Info.plist.in
+++ b/Mac/PythonLauncher/Info.plist.in
@@ -3,7 +3,7 @@
 <plist version="1.0">
 <dict>
 	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
+	<string>en</string>
 	<key>CFBundleDocumentTypes</key>
 	<array>
 		<dict>
@@ -39,6 +39,8 @@
 	</array>
 	<key>CFBundleExecutable</key>
 	<string>Python Launcher</string>
+	<key>NSHumanReadableCopyright</key>
+	<string>Copyright © 2001-2022 Python Software Foundation</string>
 	<key>CFBundleGetInfoString</key>
 	<string>%VERSION%, © 2001-2022 Python Software Foundation</string>
 	<key>CFBundleIconFile</key>
@@ -61,5 +63,7 @@
 	<string>MainMenu</string>
 	<key>NSPrincipalClass</key>
 	<string>NSApplication</string>
+	<key>NSAppleEventsUsageDescription</key>
+	<string>Python Launcher uses Apple events to launch your Python script in a Terminal window.</string>
 </dict>
 </plist>
diff --git a/Mac/PythonLauncher/doscript.m b/Mac/PythonLauncher/doscript.m
index cbb783ba3e893..f07326bce46fb 100644
--- a/Mac/PythonLauncher/doscript.m
+++ b/Mac/PythonLauncher/doscript.m
@@ -19,7 +19,7 @@
     AEDesc desc;
     OSStatus err;
 
-    [[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Utilities/Terminal.app/"];
+    [[NSWorkspace sharedWorkspace] launchApplication:@"Terminal.app"];
 
     // Build event
     err = AEBuildAppleEvent(kAECoreSuite, kAEDoScript,
diff --git a/Misc/NEWS.d/next/macOS/2022-01-02-21-56-53.bpo-40477.W3nnM6.rst b/Misc/NEWS.d/next/macOS/2022-01-02-21-56-53.bpo-40477.W3nnM6.rst
new file mode 100644
index 0000000000000..fc953b85dcc2a
--- /dev/null
+++ b/Misc/NEWS.d/next/macOS/2022-01-02-21-56-53.bpo-40477.W3nnM6.rst
@@ -0,0 +1,2 @@
+The Python Launcher app for macOS now properly launches scripts and, if
+necessary, the Terminal app when running on recent macOS releases.



More information about the Python-checkins mailing list