System information

the AppleEvent manager APIs should not see any functional difference, it is important to note that the new
implementation may differ in behavior for undefined use. In particular, while dereferencing the dataHandle of an
AEDesc has worked in the past, beginning with 10.2 the opacity of the handle is enforced and you must use
AEGetDescData/AEGetDescDataSize to extract the value from an AEDesc. AEGetDescData should not be used on a
complex AEDesc like a list, record, or AppleEvent, however. Since the data is opaque, you should use the field
accessors (AEGetNthDesc, AEGetParamDesc, etc) to extract data from complex descriptors. If you need to serialize
a complex AEDesc, use AEFlattenDesc and AEUnflattenDesc. .
Factored lists and records are deprecated and no longer supported in 10.2. The first parameters to AECreateList
should be NULL and 0, ie: AECreateList(NULL, 0, false, &myList); AECreateList(NULL, 0, true, &myRecord); .
AEGetArray and AEPutArray are unimplemented in 10.2 (r. 3025590) .
Sending an AppleEvent from a thread other than the main thread, and specifying kAEWaitReply, requires that the
outgoing event specify a reply mach port. For example: mach_port_t port; mach_port_allocate(mach_task_self(),
MACH_PORT_RIGHT_RECEIVE, &port); AEPutAttributePtr(&myEvent, keyReplyPortAttr, typeMachPort, &port,
sizeof(port)); AESendMessage(&event, &reply, kAEWaitReply, kAEDefaultTimeout); mach_port_destroy(port);
See AE/AEMach.h for more information. .
Back to top
AppleScript
AppleScript is a component of the operating system that provides a scripting interface for users to automate actions on
system and application data. Even more importantly, it allows users to access functionality of applications which would be
difficult or impossible to access by hand.
AppleScript was ignoring the text item delimiter when converting a list to a string if the text item delimiter was
Unicode text (or, more generally, anything but a string). This problem has been corrected. (r. 2891903).
A problem where coercing a list of items to Unicode text does not preserve the encoding of Unicode text items has
been corrected. (r. 2883592).
Coercions to 'short' such as 'set x to y as short' now work as expected - meaning coerce y to x as a short integer (a
16 bit integer). (r. 2863132).
Added plural form of the "item" class name to Cocoa Scripting. (r. 2862538).
A problem where disabling startup screen in stay-open applets was not working as expected has been corrected. (r.
2859959).
A problem where the 'list folder' command would not accept a string as its parameter has been corrected. Now, both
the commands 'list folder (path to scripting additions folder)' and 'list folder (path to scripting additions folder as
string)' work as expected. (r. 2856926).
A problem where coercing a folder object to a POSIX path then back to a folder object could produce unexpected
results has been corrected. (r. 2856778).
A problem where writing an empty string to a file was not being interpreted as a request to set the file position has
been corrected. (r. 2855993).
Cocoa scripting correctly converts booleans it receives from AppleScript to boolean NSNumbers. However, when
passing boolean NSNumbers back to AppleScript Cocoa was not converting them into AppleScript Boolean values.
Cocoa now provides the correct coercion to AppleScript Boolean values when converting boolean NSNumbers. (r.
2848562).
The Cocoa equivalent for the AppleScript type 'msng' (missing value) is now NSNull. (r. 2848555).
NSAppleEventDescriptor now has the designated initializer -initWithAEDescNoCopy method. (r. 2842470).
"do shell script" no longer translates LF and CRLF line endings in the command output to carriage returns. (r.
2841727).
A problem where files created by "open for access" did not have a type or creator has been corrected. Such files
now have their type set to "TEXT' and their creator set to "ttxt". (r. 2839361).
Fixed problem where Cocoa Scripting's copy command could copy objects in the wrong order. (r. 2838757).
Fixed problem in Cocoa scripting where records were not being passed to command handlers correctly. Rather than
being passed as a dictionary with keys and values corresponding to those in the record, records were being passed
as arrays with interlaced keys and values. Now, records are passed as dictionaries with key value pairs. (r.
2837938).
A problem where AppleScript's OSASetProperty call could become unstable following a call to OSAExecute has been
corrected (rr. 2830152, 2786611). (r. 2827990).
A problem where compiled scripts containing typeTargetID address descriptors could not be opened in Mac OS X has
been corrected. This problem affected compiled scripts containing statements of the form 'tell app "foo" of machine
"eppc://..."'. (r. 2811892).