Changeset 391 for python/trunk/Mac/PythonLauncher/doscript.m
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Mac/PythonLauncher/doscript.m
r2 r391 12 12 #import "doscript.h" 13 13 14 extern int 14 extern int 15 15 doscript(const char *command) 16 16 { 17 18 19 20 17 char *bundleID = "com.apple.Terminal"; 18 AppleEvent evt, res; 19 AEDesc desc; 20 OSStatus err; 21 21 22 22 [[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Utilities/Terminal.app/"]; 23 23 24 25 26 27 28 29 30 31 32 33 34 NSLog(@"AEBuildAppleEvent failed: %d\n",err);35 36 24 // Build event 25 err = AEBuildAppleEvent(kAECoreSuite, kAEDoScript, 26 typeApplicationBundleID, 27 bundleID, strlen(bundleID), 28 kAutoGenerateReturnID, 29 kAnyTransactionID, 30 &evt, NULL, 31 "'----':utf8(@)", strlen(command), 32 command); 33 if (err) { 34 NSLog(@"AEBuildAppleEvent failed: %ld\n", (long)err); 35 return err; 36 } 37 37 38 39 40 41 42 NSLog(@"AESendMessage failed: %d\n",err);43 44 45 46 47 48 49 50 NSLog(@"Terminal returned an error: %d",err);51 52 53 54 55 NSLog(@"AEGetPArmDesc returned an error: %d",err);56 38 // Send event and check for any Apple Event Manager errors 39 err = AESendMessage(&evt, &res, kAEWaitReply, kAEDefaultTimeout); 40 AEDisposeDesc(&evt); 41 if (err) { 42 NSLog(@"AESendMessage failed: %ld\n", (long)err); 43 return err; 44 } 45 // Check for any application errors 46 err = AEGetParamDesc(&res, keyErrorNumber, typeSInt32, &desc); 47 AEDisposeDesc(&res); 48 if (!err) { 49 AEGetDescData(&desc, &err, sizeof(err)); 50 NSLog(@"Terminal returned an error: %ld", (long)err); 51 AEDisposeDesc(&desc); 52 } else if (err == errAEDescNotFound) { 53 err = noErr; 54 } else { 55 NSLog(@"AEGetPArmDesc returned an error: %ld", (long)err); 56 } 57 57 58 58 return err; 59 59 }
Note:
See TracChangeset
for help on using the changeset viewer.