Satimage Previous | Next
Release notes for Smile 2.5
Home page Information center Technical information Release notes for Smile 2.5  
New in 2.5.9

A better documentation

  • new short PDF document to get started right and quickly with Smile,
  • new short PDF document to present Smile's GUI editor,
  • new version of 'Scripting graphics with Smile', the guide for making pdf's by script with Smile,
  • new library summaries in the Help menu: documentation files regarding several AppleScript libraries of Smile,
  • new items in the contextual menu for a text selection: in addition to the search performed by 'Find definition', 'Find handler in open windows' searches a handler definition in any open window, 'Find in Context' searches Smile's context.
  • 'Find definition' now searches - in addition to the dictionaries - the library summaries,
  • new "Librarian" dialog, a browser for the library summaries available in the Help menu.
More power
  • Smile now opens correctly the movies,
  • Smile now opens all the bitmap images (.jpg, .tiff etc) in a movie window,
  • new 'add movieframe' and 'save movie of' commands, allow for saving successive displays of a graphic window into a QuickTime movie,
  • new 'display movies as gray scales' setting in the Advanced section of the Preferences,
  • new 'image' property of the 'movie window' (only when open as gray scale), returns the 2d array of the gray levels of the current movie's frame,
  • new 'add library' command, dynamically loads the handlers of an AppleScript library (a script or a text file) into Smile's global context,
  • Smile's graphical library (namely, DrawString) now supports a large set of LaTeX mathematical symbols,
  • new 'Property & class to raw code' command, translates a property or a class into its 4-characters code,
  • new mechanism for displaying several 'children' dialogs in one dialog, demonstrated in the 'Preferences' dialog and there only.
More comfort
  • new German, Spanish, and Chinese localizations (in addition to US English and French),
  • the default Scripts menu was re-organized into a short "Dialog" section, a short "Scripting" section, and a "More menu bar" section which is like a second menu bar with advanced features,
  • dragging a file into an AppleScript terminal now displays the alias reference at the insertion point, shift-drag displays the POSIX path, cmd-drag displays the contents of the file,
  • new items in the 'Scripts' menu, in the 'More menu bar' sub-menu: Revert File, Set type and creator, EZOpener (a web browser-like file input field), HexaDeciText, Zap LF's (turns UNIX's and Windows' ends of lines into CR's)
  • the Help menu, which displays the content of More stuff/Documentation, now supports folders,
  • new 'When opening .html: remove styles' setting in the Advanced section of the Preferences
  • new 'Alternate Find' setting in the Advanced section of the Preferences, lets you choose to use the regular 'Find' or the 'Enhanced Find' dialog
  • new 'Text color' item in the contextual menu of the editable and static text fields
  • new 'folder of file f' command, a shortcut to get the folder of a file
  • 'tid' now returns the previous text item delimiters, so you can use it with a local variable: set oldTid to tid("*") ... [use text items] ... tid(oldTid).
  • new 'group' dialog items (check box - white background)
  • new 'Import PDF full scale' item in the contextual menu of the pdf holder
  • new color conversion CMY2RGB and RGB2CMY functions in the Graphic Kernel context addition
  • 'close back pdf' now replaces the 'draw back pdf' command to compile a PDF created with Graphic Kernel
Improvements
  • the multi-user mechanism is now working and consistent, the ~/Library/Application Support/Smile folder is fully functional. Namely:
    • Smile always searches files in the order of the following list or (where mentioned) in the reverse order.
      1. /Users/[you]/Library/Application Support/Smile/
      2. /Library/Application Support/Smile/
      3. /Applications/Smile/ (or whatever directory contains the Smile application)
    • When Smile searches the Class script for a class, it considers the first file found.
      Thus you can override a given class's behavior with a file in the user domain.
    • When Smile opens, it compiles the files that in finds in the /Class scripts/Context additions/ folders, in the reverse order of the list above.
      Thus you can override a given handler of a library with a file in the user domain.
    • When Smile opens, it launches the scripts in the /More stuff/Initializations/ folder. Smile considers only the first folder found.
      Thus you can suppress the initialization scripts that are defined by default or in the local domain, and define your own, with a /More stuff/Initializations/ folder in your user domain.
    • When Smile opens, it populates its Help menu with the union of all the files it finds in any /More stuff/Documentation/ folder.
    • The Scripts menu displays the union of all the contents Smile finds in any 'User scripts' folder. The order in the menu is the reverse order of the list. 'Open Scripts folder' [creates and] opens the 'User scripts' folder located in the user domain.
      You can add you own scripts to the scripts provided by default, like with the standard Scripts menu of the OS.
    • A new routine FindInMoreStuff(file_name) returns the first file found in a /More stuff/ folder, following the order of the list above.
      Smile uses internally FindInMoreStuff, thus you can override a file of the standard distribution with a file in the user domain.
  • the shortcut for returning results to the Console is now cmd-L,
  • the name of a window is now a unicode string.
  • a window's script window now changes its name when you rename its owner,
  • 'Copy/Paste style' now handle color in the dialogs,
  • the shortcut for 'New text' is now cmd-N to stress the importance of text windows to new users,
  • the Recent menu works better,
  • like the graphic objects in SmileLab, the PDF holder now has a front pdf and a back pdf,
  • new 'Copy script' button in the 'All path to' dialog,
New SmileLab features
  • new default settings for the planar views, allow for larger and higher labels,
  • new implementation of "pick in", now handles separately "mouse button down", "mouse dragged" and "mouse button up",
  • new version of the QuickPlotLib context addition with new functions (see QuickPlotLib summary in the Help menu),
  • new HDFLib context addition to handle HDF Files (see HDFLib summary in the Help menu),
  • the graphical objects now have a read-only 'window' property, a reference to the graphical window where they belong,
  • the strings in SmileLab objects (labels etc.) now support a large set of LaTeX mathematical symbols,
  • new frame kind property of chart views to set secondary axes visible or invisible and various options.
Bugs fixed in 2.5.9
  • change x into y in "" was broken,
  • 'roots of' was bogus,
  • 'version' now works correctly: 'my version' returns the version of AppleScript as a string, while 'version of current application' returns the version of Smile as a 3-digits integer,
  • the 'list' dialog items would allow drag & drop from self to self in all circumstances. Now drag & drop is inactive if the «class flav» property is empty or not set,
  • Smile now opens the files with the ".applescript" extension,
  • the access by name to menus now works,
  • the 'modal' property of dialogs now works,
  • the Text Suite on text windows was not consistent regarding word breaks,
  • the 'contents' property is no longer included in the 'whole' record,
  • all known bugs and unexpected features were fixed.
  • Irrigated as it is by AppleScript, Smile is particularly vulnerable to faulty Scripting Additions. You may experience trouble with some versions of: Acme Script Widgets, QXPScriptingAddition,
  • FruitMenu relies on a rather chancy event passing mechanism, which does not work in Smile,
  • there are known conflicts with KinderShell Osax: 'list files' end 'execute'. Force Smile to receive the event with 'tell current application', or force the osax with 'tell AppleScript',
  • Apple liked so much our new "choose color" command that they made their own. To call Smile's now you must write "choose CGcolor",
  • due to two worlds colliding, the Regular Expressions and the AppleScript Text Suite do not agree about what a world is. Accented characters break words for the Regular Expressions, not for the Text Suite. Underscores break words for the Text Suite, not for the Regular Expressions.
  • SetTextTransformation (in Graphic Kernel) may not work as expected. Use SetTransformation instead. SetTransformation applies the transformation both to text and to graphics,
  • 'backup' no longer accepts a string instead of an alias,
  • 'change' now accepts lists, but only when applied to an AppleScript variable - not when applied to a reference in a text window,
  • the 'stid' command did not allow re-entrance, it was suppressed, now you use 'tid' and you store locally the saved tid,
  • in various occasions, Smile makes files of the kind that Finder names "packages" and that Smile names "bundles". Bundles are really folders, that you can open with the contextual menu in Finder. You may copy files into such bundles. Copy them only to the root of the bundle, into the same directory where the 'Contents' folder is located. Smile may dispose of anything inside the 'Contents' folder. Maybe Finder does not let you drag a file there: use Copy/Paste.
Bugs fixed in 2.5.6
  • The known bugs of the Regular Expressions were fixed.
  • Some size limits of the Regular Expressions were upped.
  • When you used the Color chooser or when you de-minimized a window the Text and Scripting menu would not always activate properly. This is a bug of the OS, we have installed a workaround for it.
  • "Cancel" in the Align items dialog now works.
  • Smile's name is now "Smile".
  • "path to me" now works flawlessly, and it works even in text windows. (For the path to the application itself do not use "path to me", use "path name of me")
  • The "Text counter" dialog would not accept to display more than 6 digits. This is fixed.
  • "Copy/Paste style" now understand colors in dialog items.
New in 2.5.6
  • Smile now supports long file names.
  • The "Recent" menu now displays all recently created and saved documents.
  • Smile now supports scroll-wheel mouses
  • The English online help (Help > Documentation) was reviewed very kindly by Charles Ross. We also updated it.
  • You can now set the text color of static and editable text fields with the contextual menu (in edit mode).
  • There is now a special Preferences dialog for screens with a smaller definition.
  • "change" now supports lists, in two circumstances:
    • change {"o","a"} into {"u","e"} in "foo bar" --> "fuu ber"
    • change "o" into "a" in {"hello", "world"} --> {"hella", "warld"}
  • In the spirit of "path to me", the dialogs now have a "folder" property which returns their directory.
  • Many new features regarding graphs (SmileLab 1.1.1 was released at the same time).
  • Many new features regarding maths (check the Satimage osax).
  • "statlist" now returns more fields in its record and does not return any chevron.
  • Graphic windows now have a scriptable graphical interface - that is currently documented only in the documentation that ships with SmileLab 1.1.1. You can script the contextual menu, the mouse clicks and the keystrokes.
  • Text windows now support contextual menus. Contextual menus in text windows follow the same rules as in dialog windows (see the documentation of Smile) or in graphic windows (see the documentation of SmileLab).
Known bugs and caveats for 2.5.6
  • The "name" property in Smile is now Unicode. This can break some of your scripts: in several circumstances you may have to force the coercion "as text".
  • "extractcolumn" has changed. It is now more intuitive but some of its features were dropped. This can break some of your scripts. Please check the documentation included in SmileLab 1.1.1 for the latest breaking information about "extractcolumn".
  • Making stand-alone applications is not recommended as you will be making code that might break when Panther comes.
Bugs fixed in 2.5.1
  • Smile would not wrap properly the lines of a document containing different text styles if it included LF characters (ASCII 10). This is fixed.
  • Attempting to select a word (by double-click or shift-option-arrow) which would contain the underscore character "_" inserted between non-alphanumeric characters would sometimes crash Smile. This is fixed.
  • The "idle" mechanism was broken in Smile 2.4.6. This is fixed. The "idle" mechanism is now more robust than it was under OS 9.
  • Smile 2.4.6 did not handle properly the xmlrpc and SOAP remote AppleScript calls. This is fixed.
  • The "do script" command would sometimes crash Smile, and maybe also "find text" and "set script of [an object] to [a string]". This is due to a bug of OSX which was introduced in Jaguar. We have installed a workaround, so this is fixed.
  • When you edited, then saved under Smile 2.4.6 a stay-open applet, the newly saved applet would still be an applet, but it would no longer be stay-open. This bug had promptly been addressed by a patch, and it is fixed now.
  • In some circumstances, using "Save as" to save a script created by another editor would not provide Smile as its creator to the new script document. This is fixed.
  • In some circumstances, as you ran a script, Smile would be unable to re-open the Console in order to print the result, and would display an irrelevant error message. This is fixed.
  • Setting a window's "visible" property would not change its front-to-back index, resulting in scripts possibly unwillingly targeting an invisible window. This is fixed: a window that you make invisible is now sent behind all other windows.
  • The "Mac->ISO-Latin-1" and "ISO-Latin-1->Mac" text re-encoding commands would not work on the text selected, only on the whole window. This is fixed.
  • Pasting text into an editable text box in a dialog would change momentarily the style of the text. This is fixed.
  • Using a keyboard shortcut (for instance, "Copy") on an editable text box which would belong to a group, or a tab, would result in opening the settings dialog of the text box instead of performing the desired action. This is fixed.
  • Attempting to set the format for the "references" AppleScript category in the Preferences panel would fail - and momentarily break the Preferences panel. This is fixed.
  • The "text font" property of dialogs was not handled properly. This is fixed.
  • The "menu items" are now standard objects, the elements of the "menu" objects.
  • The "container" property of an object script would return the reference of its owner ... as it was when the script was last saved - not dynamically. This is fixed.
  • Providing an empty record {} as the "with properties" parameter of "make new" would crash Smile. This is fixed.
  • The contextual menu of the dialog items in edit mode, which allows to change the item's specific settings, was not fully functional. This is fixed.
  • Other minor bugs were fixed.
The following fixes concern also the Satimage osax:
  • The "special concat" would not do as the dictionary says - it would return only tabulated strings. This is fixed.
  • The Regular Expressions were confused about \n and \r. Now \n is LF and \r is CR.
  • The "backup" command would crash if you provided a file as its parameter instead of a folder. This is fixed.
  • The "backup" command would not copy properly the packages of OSX (most applications are packages). This is fixed.
  • The "backup" command's "after" option would understand dates as GMT dates. This is fixed.
The following fixes concern the SmileLab features:
  • Smile would sometimes crash when attempting to plot illegal (NAN) values, particularly in a 3D plot. This is fixed.
  • In some cases, at high zoom magnification, the axis of plots would display numbers with not enough significant digits. This is fixed.
  • "evalformula" would not work as expected if the formula included spaces. This is fixed.
  • Rewriting over a pdf in a graphic window no longer crashes Smile.
New in 2.5.1
  • The "Find" dialog's "Replace all" command is now much faster on non-styled text.
  • The Text Windows now support the "Handlers" menu. A new item of the "Scripting" menu toggles the "Handlers" menu of the active window on and off.
  • The dialogs now support Apple-click in their title, which displays as a menu the document's file path.
  • New "System Events" entry in the list of the fast-open dictionaries and in the "tell ..." menu.
  • New "Balance" command (Scripts menu, "Scripting" section), a shortcut which checks and closes the parentheses and the AppleScript encapsulating structures, and which suggests the syntax of AppleScript commands. Also, if the front window's script includes a "on Balance()" handler, the "Balance" command will call that handler.
  • New "New UTF-16" and "Open in UTF-16" commands (Scripts menu, "Unicode" section). Make Unicode text editor windows, which support multi-lingual in-line input and get saved as Unicode (UTF-16) documents. The Unicode text editor support a fraction of the features and of the dictionary of the regular text windows. Because of a temporary bug, you may sometimes need to copy-paste from the Unicode text editor to a regular text window, then back from the text window to the Unicode text editor, in order to achieve correct display of non-Roman characters.
  • New "Open ISO-Latin1" command (Scripts menu, "Text" section), opens the ISO-Latin1 text files. You could already save a file encoded as ISO-Latin1 using the "Format" menu of the standard "Save" command.
  • New "Sort paragraphs" command (Scripts menu, "Text" section), sorts in lexicographic order the lines of the active window.
  • New "Toggle window" command (Scripts menu), available via a keyboard shortcut, to switch between the two frontmost windows. May prove handy, for instance when you synchronize two windows.
  • New "Get error information" command (Scripts menu, "Scripting" section). Retrieves information about an error from its error number.
  • New "Favorite" menu.
  • The "Open data fork" command, which displays any file as text, now uses the default settings for text windows that can be set with the Preferences panel - as described below.
  • A better Preferences panel brings more options and more comfort:
    • new preference to map the "Apple-N" shortcut either on "New text" or on "New script".
    • new preference to have AppleScript terminals redirect their output to the Console, or to themselves.
    • new preference to remember open files when quitting, including optionally the dialogs. To skip reopening the windows when you launch Smile, hold the shift key depressed while Smile is starting up.
    • new preference to remember the position of the insertion point when opening files.
    • new preference to have Smile scan the file that you are opening and display an alert if a "prepare" handler is detected. The scan can restrict to the files which belong to a particular folder (your attachments or download folder, typically). This to disable any possible unwanted adverse effect of opening an unknown Smile document. Note that, in principle, any adverse effect may have been implemented to occur when you use normally the dialog or at the moment when you close it.
    • you can now choose your AppleScript formats from a list of preset formats.
    • two check boxes in the Preferences panel for disabling the lists of the scriptable applications which are displayed in the menus ("Open dictionary" and "tell ..."). Use these options if your menu is slow to display - some applications make it slower.
    • using the Preferences panel, you can now choose the size of the active window as the new default size for new windows.
  • Smile now supports multiple users:
    • You install only one copy of Smile in the Applications folder of the root domain.
    • Smile creates a "Smile" folder (named the "user Smile folder") in the Library/Application support/ user's directory.
    • Smile stores the user's preferences, current settings and persistent variables (the "my" variables) as a "Globals" file that gets created in the user Smile folder. Trashing that file is allowed and resets the user's preferences.
    • Smile stores the user's "Worksheet", if they use one, in the user Smile folder. The first time, Smile opens a blank Worksheet, so you must once copy "manually" the contents of your current Worksheet, if you are maintaining one.
    • If you copy or create a "User scripts" folder in the user Smile folder, Smile will use that "user User scripts folder" - instead of the shared User scripts folder which is located in Smile's folder - to build the User Scripts menu (). Thus, each user can have their own User Scripts menu.
    • If you create a "Initialization" folder in the user Smile folder, the scripts that it contains (as script documents or as text files) will be run when Smile launches, after those located in the shared More stuff:Initialization: folder.
  • New experimental formula editor, uses LaTeX to generate interactively mathematical formulae as small PDF files. The editor uses two ".tex" files - that you should thus not move nor rename - located in the More stuff folder. The editor generates a "latexinput.pdf" file - that you can move - in that same folder. Requires TeX to be installed.
  • "navnew file" was renamed "navchoose file name", in an effort of consistency with the renaming of the Standard Additions's "new file" command into "choose file name".
  • New RS232 Serial read/write commands, intended for the Keyspan USB Twin Serial Adapter.
  • New commands to drive digital I/O from/to the Delcom DIO/USB device.
  • Smile now opens the PDF files as a background for a graphic window.
  • Various cosmetic and functional improvements of the dialogs:
    • New "Localize ..." item in the "Dialogs" section of the Scripts menu, for localizing easily a dialog (or Smile itself) into any language. The "More about localization" help file provides all instructions and information needed.
    • New "Justify ..." item in the contextual menu of static text fields to set the justification of the text (left, center, right).
    • New "pdf holder" dialog item available in the Palette of the controls, able of displaying a PDF graphic, either from a PDF file or as generated dynamically by script. The contextual menu of the "pdf holder" offers the "Insert pdf ..." command to display a PDF file.
    • New "password" editable text field in the Palette of the controls: displays bullets when you type.
    • New "small arrows" item.
    • New "bevel button" item: accepts the mouse click, displays an icon, and accepts dropped files, folders, texts, and Smile objects.
    • New contextual menu for choosing an icon for those items which can display an icon, and for setting what kinds of objects can be dropped onto them.
    • New "´class VaOEª ("Validate On Enter") property of the dialogs, default: false. When true, the script of any editable text field of the dialog will receive the "click in" event, not after each keystroke, but only after the user hits the Enter key while entering text, or when the focus leaves the editable text field (usually when the user presses ⇥, or clicks on another item).
    • New experimental "Make stand-alone application ..." command (distributed in the "Smile Extras" folder). Makes a custom Smile dialog into a double-clickable stand-alone application. Use with caution. The stand-alone application keeps Smile's as its signature (VIZF).
  • The "shortcut" property of menu items is no longer read-only: you can change the shortcut of a menu by script.
  • New help files (particularly about the new features) and improved existing help files (particularly about custom dialogs).
  • The "About Smile ..." dialog now displays Satimage-software's URL.
  • The Japanese help is now bundled: it is available automatically if you choose Japanese as your prefered language, or if you disable the other languages in the "Get information" Finder's window for Smile.
  • Smile is now partially localized in Spanish (menus).
  • More dialogs get localized in French.
The following new features concern also the Satimage osax:
  • You can now use "extract string" to coerce Unicode text into regular text.
  • New "all occurrences" option for "find text". When set, "find text" returns the list of all the hits instead of the first one only.
  • New "string result" option for "find text". When set, "find text" returns only the strings found as a list, instead of the record which includes the location and length of the hit.
  • The "backup" command now returns the list of the POSIX paths of the files to update or to create, allowing long (over 31 characters) file names.
The following new features concern also SmileLab:
  • New "choose color" command, opens the color chooser and returns the selected color as RGB.
  • New «class DrFr» (for "draw frame") property for plots: setting «class DrFr» to false and the "fill color" property to some transparent color {r, g, b, 0} allows to draw superposing plots.
Known bugs and caveats for 2.5.1
  • If you use the Enhanced Find dialog, please note that Smile 2.5.1 requires version 1.2.0 or higher of Enhanced Find.
  • Smile's script documents no longer store the settings of their window. They open in new windows which have the standard size, location, and settings.
  • It has been observed on machines where several copies of Smile are installed a bug of the Finder under Jaguar where the Finder gets confused, with the following effects:
    • double-clicking the icon of Smile would launch another copy of Smile, resulting possibly in an error message such as "Error while looking for More Stuff folder", or in several copies of Smile running simultaneously
    • double-clicking the icon of a Smile document, while Smile is running, would launch another copy of Smile, with the consequences like above
    • further trouble can occur, for instance double-clicking the icon of a Smile document would attempt to open it in a totally different application.
    What happens is that, 1. Smile is a scriptable application, 2. Smile opens scriptable applications. Finder "thinks" that Smile is a Smile document, and it asks another copy of Smile to open it - instead of launching it.

    As a temporary workaround, using a fresh icon of Smile in the Dock or dropping a document on the icon of Smile seems to always launch the correct copy.

    The only known fix is to Log out (select the last item in the Apple menu), then in again.

  • In some circumstances (particularly when you use the Dock) the "Text" and/or the "Scripting" menu go gray ed when they should be enabled. When this happens, clicking any other window fixes the menus.
  • The "Handlers" menu of AppleScript terminals and script windows can display bizarre strings if some handler does not (yet) include its "end" line.
  • Because of a memory leak of Jaguar (as of 10.2.1), each time you create a PDF record (either a "%PDF ..." string in memory, or a PDF document), a small amount of memory gets wasted (806 bytes on our machines). Thus, you cannot yet run animated PDF's at high rates for days.
The following caveat concerns SmileLab:
  • "get properties" for a plot now includes its frame rectangles. Because of a minor flaw in the "Curve tutorial" script, its last slide does not display properly, following that change. If this a problem for you, you can fix the bug yourself, or download the latest version of SmileLabSet.
Copyright ©2007 Paris, Satimage