AppleScript 1.9.1 (Jaguar)

AppleScript 1.9.1 is a bug-fix release that first appeared with Mac OS X Jaguar version 10.2.3. It requires Mac OS X 10.2 or later and is included in the 10.2.3 combo updater. A script written using AppleScript 1.9.1 will run fine on older versions of AppleScript back to version 1.1, assuming that the script does not use any added features that are specific to the 1.9.1 release. AppleScript 1.9.1 is backward compatible with scripting additions created for AppleScript 1.5 onward and applications that are scriptable from Mac OS 7.1 onward.

This release also updated AppleScript Studio to release 1.3. Applications created with AppleScript Studio 1.3 should work on systems with AppleScript Studio 1.1 or later assuming they do not use features not available in the target system’s version of AppleScript Studio.

As with any piece of software, if you need to run your script or AppleScript Studio application on an older version of AppleScript or Mac OS, testing is the only way to assure yourself of compatibility.

STRING OBJECT FIXES

String coercions
Strings with leading or trailing “white space” coerce to numbers without failure. In all previous versions of AppleScript, coercing a string that contained spaces, tabs, returns, or line feeds at the beginning or end of the string to a number would cause the coercion to fail.

Unicode paragraphing
AppleScript 1.7 introduced the ability of AppleScript to distinguish between Mac, Unix, and Window paragraph breaks when working with strings. As of 1.9.1 this ability has been extended to Unicode text objects.

Empty Unicode text
Getting a paragraph item from a Unicode text object that was to return an empty text result failed in AppleScript 1.6 through 1.9, causing an error to be reported and no longer fails or reports an error. Instead, the empty text result is returned.

Long string comparisons
A string that contained more than 32,767 characters (Hex 7FFF) would cause a failure during a string comparison in AppleScript 1.9 or earlier. This occurs even if the two strings were obviously different. Fixed in AppleScript 1.9.1.

Long literal string length
Versions of AppleScript prior to 1.9.1 mis-reported the length of literal strings whose length was greater than 32,767 as the actual length mod 32,768. Such strings now report the correct length.

Unicode text
A situation that caused crashes in AppleScript 1.6 onward when using Unicode has been fixed.

MISCELLANEOUS APPLESCRIPT FIXES

POSIX volume name
Converting a file or alias path to a POSIX path would return “//” for the startup disk. Such calls now return the correct POSIX volume path.

AppleScript Studio
In some instances AppleScript Studio applications would crash. Those circumstances have been repaired.

End of List crash
For all versions of AppleScript the expression “end of {}” caused crashing. This no longer is the case.

Parent name crash
Under AppleScript 1.9 and earlier, the “get name of parent” expression would cause crashes sometimes. This is repaired.

SCRIPT EDITOR FIXES

Opening an editor’s dictionary
Opening the dictionary of some script-editing applications was not possible in AppleScript 1.7 through AppleScript 1.9. In 1.9.1, this is now possible.

Out-of-memory on long scripts
Scripts whose length was around 3,000 lines (plus or minus, depending on the complexity of the script) would cause out of memory errors when being displayed in Script Editor under AppleScript 1.9. This no longer happens.

Compiler crashes
In addition, long scripts (32,767 or more characters) would sometimes cause crashes as they were being compiled (AppleScript 1.0 through 1.9). This has been repaired.

Error line highlighting
Long scripts that experienced execution errors near the end of the script could incorrectly highlight multiple lines in Script Editor as the offending code. The editor now highlights just the line that caused the error.

Application launch during compile
If you compiled a script in AppleScript 1.6 through 1.9 that referred to an application in a “tell” block, it might cause a launch of the application referred to. This no longer happens.

Remote computer login cancellation crashes compile
When running a script against a remote computer, canceling out of the authentication dialog could cause errors during the compile. This is fixed.

Script recording crashes
During a recording of script actions in the Script Editor the recording would sometimes cause a crash. This was true for AppleScript 1.6 through 1.9.

STANDARD ADDITIONS 1.9.1 FIXES

Multiple beeps
Multiple beeps have previously (AppleScript 1.6 through 1.9) come out sounding like a single long beep. This was due to changes in the OS X sound manager. Standard Additions 1.9.1 fixes this.

Mount volume crash
Mount volume commands would sometimes crash when given username/password. No longer a problem.

Three button + icon dialog
Dialog boxes that had 3 buttons and an icon failed to allow enough space to view both the icon and the leftmost button. Now fixed.

APPLESCRIPT STUDIO 1.3

Document file type
Previous versions of AppleScript Studio made using the document file type property impossible since it conflicted with the file type property for the system AppleScript classes. In AppleScript 1.3 (this release), use the file kind property. It has the same information without causing a conflict.

Table view sorting
Unpredictable results happened when sorting a table view column that had data of mixed types (text and numbers). Mixed text and numbers now sorts according to the designated column sorting type.

Bundle path error
Errors were generated when attempting to get the path for a bundle object. Now fixed.

User Default deletion crash
Deleting an entry that was previously added to the user defaults caused an AppleScript Studio app to crash. Fixed.

Window property errors
Attempting to get the listed properties for a window previously caused crashes. These now work correctly:

Launch times improved
AppleScript Studio apps and apps that support scripting have had the time they take to launch improved.

Should begin/end editing errors
In previous versions of AppleScript Studio, the handlers for “should begin editing” and “should end editing” caused an error when used for both combo box and text field objects. They now work properly. A new window property, “current field editor” has been added as a reference to the currently edited object.

Pasteboard support
AppleScript Studio apps can now use the pasteboard (or clipboard). You must set the preferred type for the pasteboard before adding data to it:


set preferred type of pasteboard "general" to "string" 
-- In case the default isn't "string"
set contents of pasteboard "general" to "Testing"

SYSTEM EVENTS FIXES (1.1.1)

Moving folder loses contents
In the previous version of System Events (1.1), moving a folder (using the move command) would cause the items in the folder to be lost. This works properly now.

Folder Action scripts
An error was caused if you attached a folder action script to the same folder twice. Adding an additional script to a folder action would sometimes fail. Previously, deleting all scripts from a folder action object would still leave the object with no scripts pointing at the folder. These items have been fixed.

NEW MODEFLAG FOR OSAX DEVELOPERS
A new modeFlag has been added to the OSA API:

enum { kOSAModeFullyQualifyDescriptors = 0x00080000 }

When this modeFlag is set on a call to OSACoerceToDesc, the resulting descriptor will be fully qualified, that is, it will have as its outermost container (innermost ‘from’ object) an application descriptor. Historically this function assumes all object specifiers are rooted at the current application, which is often incorrect.