TextWrangler 4.5 Release Notes

TextWrangler 4.5 is a significant feature update which includes support for Macs with the high-resolution "Retina" displays, assorted new features, and fixes for reported issues.

For details on all the feature enhancements and changes in TextWrangler 4, please see its release notes.

For information on changes made in previous versions, please see the release notes archive.

For detailed information on using any of TextWrangler's features, please refer to the user manual (choose "User Manual" from TextWrangler's Help menu).

Requirements

TextWrangler 4 requires Mac OS X 10.6 or later (10.6.8 or later recommended).

PowerPC-based Macs are not supported.

Additions

  • There's a new command on the Search menu: "Compare Against Previous Version". If you're running on Mac OS X 10.7 or later, this command gives you access to previous versions of the document you're working on; you can compare and integrate changes from those versions, as desired. A new version is created each time you save a file. The version history is arbitrarily limited by the system; if you wish you may disable version creation entirely with an expert preference:

    defaults write com.barebones.textwrangler AllowVersionedSaves -bool NO

  • There's a new menu in the menu bar: "Go". This menu contains some navigation commands that were previously on the Search menu (thus shortening the latter).

  • The "ASCII Table" palette has been replaced by the Character Inspector, which gives you live inspection of your selected text. Although it's a static display, you can select any of the representations of your selection and copy (or drag) them as desired.

  • "Compare Two Front Documents" has been changed to "Compare Two Front Windows". This more accurately reflects its behavior, and provides for a more predictable set of rules, specifically: this command is enabled only if there are two or more editing windows open, and a text document is active in each of the frontmost two windows, and if neither window is blocked by a modal dialog box).

    With this change, the command is no longer available to compare two documents in the same window; however, you can select those documents in the file list and use the "Compare" command on the contextual menu.

  • Added a new command to the Edit menu: "Paste & Select". This is dynamic, and becomes visible when holding down the Option key. The factory default keyboard equivalent is Command-Option-V. (It's also visible in the contextual menu in text views, again by holding down the Option key.)

  • There's a new grouping in the sources list for multi-file search/replace and text factory application: "Open Editing Windows". This collection includes any window which has one or more editing documents in it. If you want to constrain the operation to the documents that are already open in a particular window, this is the place to do it.

  • There's a new color setting for syntax coloring: "Variables". Some languages support this (PHP and Perl); most do not but the color information may be generated by language modules at their discretion.

  • Text windows get a scripting property: "display magnification". This is a float; 1.0 is normal display.

    set display magnification of window 1 to 2.0 -- displays text at 2x
    

    Note that the display magnification is independent of the font size setting.

  • There's a new switch for the edit tool: -m (long form --language). This allows you to specify a language name on the command line when piping data in to edit from a Unix tool. For example:

    some-process | edit --language Ruby
    some-process | edit -m JSON

    You may also use an Emacs mode name that maps to your designated language (this can easily be generated by converting the language name to lower case and replacing spaces with dashes):

    some-process | edit --language object-pascal
    some-process | edit -m json

    (Historical note: -l was already taken, which is why we didn't use it here. If it helps, you can use the mnemonic "-m is for *mode*".)

  • When you use the right-arrow key to navigate over a closing delimiter (right paren/brace/bracket/curly quote), the opening delimiter will be briefly highlighted. If you wish to turn this off, there's an expert pref:

    defaults write com.barebones.textwrangler FlashBalancePointsWhenNavigating -bool NO

Changes

  • Unix script output logs now live in ~/Library/Logs/TextWrangler/, either in "Unix Script Output.log", or, in the case of script-file-specific log files, in ~/Library/Logs/TextWrangler/Unix Script Output/{script name}.log.

  • "Hard Wrap" now does, essentially, what "Rewrap Quoted Text" used to (in fact, the two were virtually identical). So, the latter command is gone, and "Hard Wrap" brings up a sheet for performing a quoting-character-aware wrap. (If there are no quote-prefixed lines, then this behaves identically to the old Hard Wrap.) Note, also, that there is now only an option for wrapping to a specific character width.

  • The text view toolbar has been slimmed down and further simplified. The pencil has been consigned to the dustbin of history. The toolbar itself is now only one row of text, and displays the document's path (with the associated popup menu), as before. The "Last Saved" indicator has been moved into the status area at the bottom of the text view, and may be switched on and off globally, using the "Document save date" preference in the Appearance preferences.

  • "\n" is now a synonym for "\r" when searching and replacing, with or without Grep; use either when you wish to find or replace with a line break. Note that you should avoid considerations of what the actual bit pattern is; TextWrangler uses a particular internal representation which is an implementation detail. If you want to search for or replace with a line break, use \r or \n and allow line break translation to do its thing; do not second-guess the system and assume a particular bit pattern.

    If for some reason you need the previous behavior, you may return to it with an expert preference:

    defaults write com.barebones.textwrangler LegacySearchStringEscapeMapping -bool YES

  • "Convert to ASCII" is gone as a discrete menu command; its ability has been rolled into "Zap Gremlins". ("Replace with Code" will replace with the nearest ASCII equivalent.)

  • Added a new setting to the Keyboard preferences: "Allow Page Up and Page Down keys to move the insertion point". It's off by default, which is the standard Mac behavior. Refugees from other platforms may feel more comfortable if it's turned on; doing so allows the insertion point to remain in the same position relative to the top and bottom of the window (which entails changing its position in the text) when scrolling via Page Up or Page Down.

  • There's new iconography for the toolbar and navigation bar.

  • Added a padlock next to the document save date, to indicate the document lock state. This takes the place of the old pencil. (Side note: "If you don't, I'll poison your dinner" is a compelling argument for a feature request, but can typically only be used once.)

  • There's a new preference in the Appearance preferences: "Document Lock State". This controls whether the padlock indicator is visible in the status area (next to the save date). When the padlock is visible, you can click on it to unlock (or lock) the document.

  • In the Multi-File Search window, you can now choose Zip archives (or any file that looks like a Zip, including things like EPUB) as the source for a multi-file search (or replace).

  • There are three new commands on the Edit menu: "Move Line Up", "Move Line Down", and "Delete Line". These are single-command (and thus single-keystroke) equivalents for editing operations that might otherwise require multiple gestures. The keyboard equivalents can be modified in the "Menus & Shortcuts" preferences as usual. NB: Control-up-arrow and Control-down-arrow previously were used for scrolling the document using they keyboard. If you wish to restore that behavior, clear the keyboard equivalents for Move Line Up and Move Line Down, or set them to something else.

  • Enhanced the detection used by "Open Counterpart" and the Counterparts navigation bar item to include all files whose file names begin with the base name of the active document's file. The Counterparts navigation bar item now drops a menu with all of the available counterparts. There's a new keyboard equivalent in the "Navigation Bar" section of the Menus & Shortcuts prefs, so that you can use the keyboard to open the Counterparts menu, if desired.

  • The Find Differences results windows no longer display the pencil next to the new and old file names.

  • In addition to toggling Soft Wrap, the Text Display menu lets you change the wrap mode. Those options are now also in the toolbar's Text Options menu.

  • The legacy AutoAssignCommandKeysToWindows expert preference (which was deprecated in TextWrangler 4.0 and actually never documented) has been removed, along with all of the machinery that used it.

  • The search logic in "Open Counterpart" has been improved to cover cases that weren't previously served by strict project-searching logic. Consider this arrangement of files and folders:

    project/
        src/
            foo.m
        inc/
            foo.h
    

    When in either file, "Open Counterpart" will now search the siblings of the file's parent for eligible counterparts. By default, the folders will only be searched if they match one of the following names (including wildcards): inc*, source, src, *priv*. If you wish to add additional qualifying names, you may do so by setting the CounterpartSiblingSearchNames expert preference with a comma-delimited list of folder name patterns:

    defaults write com.barebones.textwrangler CounterpartSiblingSearchNames -string "foo*, bar, *mumble*, wumpus"

    Any whitespace surrounding names is stripped.

  • The items listed in the "Menus & Shortcuts" preference pane get a subtle placeholder when no keyboard equivalent is assigned.

  • In addition to showing counterparts, the "Counterparts" navigation bar item now shows files that are in the same directory as the active document (as long as it exists on disk).

  • More improvements to Open File by Name:

    • if you type in an unqualified partial path, e.g. sys/errno.h, TextWrangler will check the path components and only display files whose immediate ancestry matches what you entered. In this example, it would list /usr/include/sys/errno.h but not /usr/include/errno.h.

    • If you type in an absolute path, or a home-directory-relative path, e.g. /usr/include/errno.h or ~/.bash_profile, TextWrangler will now show the file if it exists at that location.

  • TextWrangler no longer promises or supplies Mac Roman text to the clipboard, nor looks for it. Since most Mac OS X applications now supply Unicode or UTF-8, this should have no visible effect.

  • There has been extensive internal rework, to remove cruft and pave the way for future improvements.

  • When considering dropped files for insertion or linking, the application will now inspect their contents in cases in which the file metadata doesn't indicate that it's a text file.

  • The Unix Script Output log file is now stored as UTF-8 with no BOM. (The on-disk encoding of this file is an implementation detail that you should not rely on.)

  • There's now a kill switch for default filename extensions:

    defaults write com.barebones.textwrangler EnableDefaultFilenameExtensions -bool NO

    This will prevent the application from adding the default name extension when saving a new file (including .txt for files with no language).

  • Results exported as text now include the full path to the file(s) in question, relative to the home directory if possible.

  • When using "Open Selection" or choosing an include file from the Includes menu in the navigation bar, TextWrangler will use the same logic as Open File by Name to locate the desired file. Open Selection will no longer open the "Open File by Name" window (which used to require an extra step to open the desired file), unless there's more than one match found for the specified file name.

  • Changed the factory default setting for FixedWidthFontSmoothingThreshold to 8pt, so that Monaco 9 looks reasonable when antialiased (especially on retina displays).

  • The appearance of the file lists in disk browsers and editing windows has been updated.

  • Made two behavior changes to Unix tool discovery: first, if the tool's override path is set to /dev/null, TextWrangler will pretend that the tool doesn't exist at all, effectively disabling any features that depend on the tool. Second, if the override preference exists and is an invalid path, TextWrangler will give up immediately rather than attempting to locate the tool in your PATH or elsewhere.

  • When doing an "Open Selection" on a full path ("/path/to/something"), home-relative path ("~/path/to/something") or URL, the indicated item is now opened immediately if found, rather than requiring a trip through the Open File by Name window.

  • The "modified" property of a document is now mutable while the document is being created. This allows constructions such as:

    make text document with properties {contents:t, modified:false}

  • When running on 10.8 and later, TextWrangler now uses the system-provided Notification Center for completion of certain operations, unless Growl is installed and running, in which case it will use Growl as before.

  • When entering full screen mode, the application figures out whether the window width should be increased to take up the full screen width, or not, based on the width of the window relative to the width of the screen that it's on. The threshold at which the window is made to take up the entire screen width can be set thus:

    defaults write com.barebones.textwrangler FullScreenWidthThreshold -float 0.65

    The threshold is a percentage, so (in the example above), if the window is 65% or more of the width of the screen that it's on, it will take up the full width of the screen when entering full screen mode.

    Note that when setting the threshold, you must set it as a decimal number, using -float <some number between 0 and 1>.

  • The expert preference which reports single-file Replace All results (using a sheet in the editor window) is now off by default. If you miss it, the following expert invocation will turn it on:

    defaults write com.barebones.textwrangler ReportReplaceAllResults -bool YES

  • If the xcrun tool is available, TextWrangler now consults with it when looking for Unix helper tools in the absence of an explicit expert override.

  • Control-n and Control-p are synonyms for previous/next when navigating the list of results in Open File by Name windows. OFBN lists.

  • Control-k is a synonym for Command-Delete (a.k.a. clear field) in Live Search.

  • In the Open File By Name window, holding down Option while clicking "Open" (or pressing "Return") will ask LaunchServices to open the selected items.

  • App state restoration has an indeterminate progress dialog, hopefully hinting that "No, we're not hung; we're busy".

  • When running a shell script from the shebang menu, additional arguments are passed along to the command, so things like:

    #!/usr/bin/env python --version

    will return

    Python 2.7.3

Fixes

  • Leading and trailing whitespace and line breaks are now stripped from string values in codeless language modules, to resolve situations in which a multi-line formatted pattern using (?x:...) ended with one or more carriage returns after the closing parenthesis, which would in turn cause the pattern to not function as intended.

  • Fixed bug in which certain malformations in codeless language modules were not detected early enough to prevent them from causing problems later on.

  • Fixed bug in which "Run in Terminal" and "Run in Debugger" were inappropriately sticky for scripts run from the Scripts or Apply Text Filter menus.

  • Made a change to reduce the amount of time spent loading names from tags files for syntax coloring.

  • Fixed a bug in which the Multi-File Search window did too much work in situations where documents were being opened (or closed) at high frequency.

  • Fixed bug in which changing the Soft Wrap Text settings (Page Guide/Window Width/Character Width) in per-language preferences would set them to the wrong value.

  • Fixed a bug in which Replace All operations consumed far more memory than was appropriate, which in turn would contribute to prematurely running out of memory while processing a large quantity of files.

  • Fixed missing Command-key modifier on the keyboard equivalent for Un/Comment.

  • Added a few more types to the list of things that TextWrangler recognizes as text documents.

  • Fixed crash which would occur when cancelling a download of the user manual.

  • Fixed a bug in which opening (by pulling down) the Open Recent menu would mount remote volumes or disk images when it was really not necessary. That work is now deferred until you actually choose an item from the menu.

  • Fixed internal exception and subsequent crash which would occur when trying to save a Grep pattern (via the Setup window) with an empty field.

  • Fixed bug in which a now-unused preference from an old version would cause the toolbar to remain visible, even when all of the gating preferences were turned off in the Appearance prefs.

  • Fixed bug in which "Replace All" or "Replace to End" would fail in cases where the most recent direct search from the Find window was a "Find Previous", and there were no matches between the start of the selection range and the beginning of the document.

  • Resolved an incorrect icon reference in the application properties which caused blank icons to be displayed for TextWrangler documents; and removed some inappropriate UTI exports.

  • Fixed bug in which New (with Clipboard) incorrectly forced the document's language to "(none)" and thus interfered with automatic language guessing.

  • Fixed bug in which the esq-q Emacs keybinding brought up the Hard Wrap options sheet, instead of just doing it.

  • Fixed a pair of bugs that conspired to mangle windows located on a display which got disconnected; typically they would end up back on the main display, but at an unusably tiny size.

  • Armorplated the suspected site of a nonreproducible crash.

  • Fixed crash which would occur when decoding AppleDouble files from within Zip archives, and the file was missing an entry for the resource fork.

  • Fixed bug in which using the "Close" contextual menu to save and close multiple documents would result in the documents being neither saved nor closed.

  • Added some missing search keywords for items in the Application preferences.

  • Added comment strings to the Verilog and VHDL language modules.

  • Fixed a crash when starting up with items in our Startup Items folder and DragThing running.

  • Fixed crash which would occur when using a service to open items while DragThing was running (and in a couple of other situations).

  • If the front editing window is in full screen mode, then Unix script output will be opened into the front window, rather than into a separate window (and separate space). (In cases where the Unix Script Output window is already open, there will be no change to document grouping or ordering.)

  • Fixed bug in which windows created while TextWrangler was in full screen mode would end up with their title bars under the menu bar after exiting full screen mode.

  • Completion is now allowed in "content" runs of TeX documents.

  • Fixed bug in which C++ typedefs containing namespace declarations would confuse the function scanner.

  • Attempted workaround of an OS bug in which keyboard events registered during or close to the end of a three-finger trackpad drag (to select text) were lost. So, if you did a three-finger drag and hit Cmd-X too quickly after releasing the trackpad, the desired Cut operation would not take place.

  • Fixed bug in which using "Save to FTP Server" on an open document would not correctly update the information in the Currently Open Documents list.

  • Added "rgba" to the CSS keywords list.

  • Fixed crash which would occur when trying to manipulate certain properties of a browser window when no document was being viewed.

  • The inline collapsed-text "pill" indicator is now scaled appropriately for a larger range of font sizes (and looks more attractive at all sizes).

  • Fixed a bug in which certain fonts could not be used for printing.

  • Fixed bug in which the sources list in the Multi-File Search window wasn't highlighted with the proper colors when the window (or the application) was not active.

  • Check for certain (very short) but canonical strings at the beginning of a possible text file. This corrects some cases in which a UTF8 check of the partial file can end up falsely reporting the file as non text, in case the file contains a lot of valid multi-byte UTF-8 characters, and the check ends on a character boundary.

  • Fixed bug in which soft-wrap indentation preferences were not correctly applied when printing.

  • Improved guessing of Objective-C/C++ files.

  • Fixed bug in which the last line of the selection would be skipped entirely when doing a "Print Selection", if the selection did not end with a line break.

  • Fixed bug in which ridiculously long strings were not selectable in the search history menu.

  • "Select Line" and "Select Paragraph" are now disabled in the Find and Multi-File Search windows.

  • Fixed bug which allowed disk browser windows to be collapsed to zero width.

  • You can now use "Replace to End" when the Find window is in front (assuming that the window immediately behind is also an eligible target for a Replace All operation).

  • Truncate the file name in the "Run..." sheet (on the #! menu) to avoid wrapping in the control.

  • Fixed impedance mismatch in the scripting system internals, in which testing for uniqueness of an item's name was case sensitive, but resolving references to items by name was case insensitive, leading to errors when trying to do things like compare two open documents with names differing only in case. (Note that as a side effect of this fix, TextWrangler will be strict about resolving references to objects by name; the case that you supply must match the case of the desired object.)

  • Fixed bug in which the "Apply Text Filter" head menu couldn't be hidden, and corrected the name in the Menus & Shortcuts preferences.

  • Added "!" to the list of characters which is considered when deciding whether a string needs to be shell-escaped before sending it to the Terminal.

  • Fixed bug in which the "Run selection only" option in the Run... command on the #! menu had no effect. Note that along with this fix there's a behavior change: if you have an eligible selection, the "Run" (no ellipsis) command will run the selection; otherwise it will run the whole document. This is different from the previous behavior, in which the "Run selection only" switch was sticky (and since it was invisible, you never knew what would happen).

  • When doing "Find in Reference" URL lookups, only the symbol name (and, if used, the language name) are encoded with percent escapes, rather than applying them to the whole URL string. This way, you can use URL metacharacters in the template string (such as "#") and they'll work.

  • The UseNumericKeypadForCursorMovement preference still works, but since there's no GUI for it, changes to it can only take place outside of the application. Such changes are now correctly detected. Also, there's now notification feedback for toggling the setting on the fly (which can be done using Option-Num-Lock [the upper left key on the numeric keypad]).

  • Canonicalize filter names for the "Apply [Last] Text Filter" command.

  • Corrected bug which caused the Text Encodings preference pane to display stale values after Restore Defaults, unless the app was quit and restarted.

  • Corrected the scripting dictionary to clarify that the search string and replacement string properties are returned as Unicode text; and the search string script and replace string script properties have been removed, since they haven't been used for a long time (and access to them didn't work).

  • Fixed bug in which the line number bar didn't always refresh correctly when adjusting the line spacing preference.

  • Fixed bug in which list views with keyboard focus wouldn't allow keystrokes that didn't belong to them to propagate to the rest of the system.

  • A bug in the python module caused folds to start in the wrong place when a foldable, non-comment block began with a comment.

  • A Java file's fold points and function popup would become confused if, under certain circumstances, a class instance was created and properties were accessed all in the same statement, such as with new Foo(new Bar(bat).baz()).

  • Attempts to change the soft wrap mode to an invalid value using the scripting interface will now report an error.

  • Fixed bug in which the "Edit" button for editing the known_hosts file in case of an SSH host verification failure didn't work on newer versions of the OS.

  • "Save As" is now disabled when the active document is "synthetic" (derived from the contents of a Zip archive or tarball, or downloaded directly from a URL). Use "Save a Copy", which behaves correctly in ways that "Save As" did not when it was inappropriately enabled.

  • The font panel accessory view (with the tab width setting) no longer comes and goes whenever the font panel's event target changes; this in turn eliminates the tendency of the font panel to "shimmy" when closing or opening a bunch of documents.

  • Fixed bug in which the per-language tab width setting wasn't properly applied when changing a document's language setting.

  • Added large and high-resolution icons for the application.

  • When importing the clipboard from another application, we now rotate the clipboard ring (in a fashion similar to what happens when you Copy; so no rotation occurs if the current slot is empty). This way, "Paste Previous" can be used with text copied from other applications.

  • When running a shell process (for #! scripts and other purposes), we take a moment to grab the login environment and use that to set up the shell environment for the script being run. This should (among other things) ensure that $PATH and other important environment variables are set correctly when running Unix scripts and commands from within the application.

  • Fixed bug in which window split options were inappropriately mirrored into other windows (e.g. results or disk browsers).

  • Fixed bug in which windows containing editing views were allowed to be made narrower than was healthy.

  • Corrected a bug which caused the Menus & Shortcuts pane to display stale keystroke data until the window had been recycled.

  • Made it possible to use the Menus and Shortcuts pref pane to assign key equivalents to scripts nested in folders.

  • Fixed a bug which made clearing or assigning key equivalents which contained glyphs unreliable.

  • The Patterns setup editor and find menus menus are kept in sync. Items may be rearranged in the Setup window, and the menu will immediately reflect those changes.

  • Removed some obsolete floaters from the AppleScript dictionary.

  • Disk Browsers expose a r/w "root path" property in the scripting dictionary. It does what it sounds like it does.

  • Fixed a bug which caused Live Search to mis-report the hit count if a match abuts its own doppelgänger.

  • replacing all the text in a view via the scripting interface (or certain other mechanics) no longer scrolls to the end.

  • Fixed crash which would occur after copying diffs to the clipboard, or exporting them to a text file.

  • When exporting results from a Find Differences window or results browser, the application now provides a default file name.

  • Results exported from a Find Differences window are now written with Unix line breaks, instead of legacy Mac OS.

  • When exporting results from a Find Differences window or results browser, the resulting file will only have its file type and creator assigned if the application determines that the file name indicates that it's not a text file.

  • Fixed a hang which could occur if a codeless language module had a grep pattern that returned a 0-length match.

  • Disable the Replace All command if "Selected text only" is checked, and the target view has a rectangular selection.

  • Disable all the Find buttons if the search string is empty.

  • Zip browsers' nodes are sorted alphabetically, not by pack date.

  • Shift Right only adds whitespace to lines that contain non-whitespace characters. The new behavior is keyed to an expert preference. It is still the default; but if you prefer the previous behavior, you may enable it:

    defaults write com.barebones.textwrangler AllowShiftRightToIndentWhitespaceOnlyLines -bool YES

    This preference can also be set per-language in the usual fashion, by adding the language's name to the preference key:

    defaults write com.barebones.textwrangler AllowShiftRightToIndentWhitespaceOnlyLines_C++ -bool YES

    (The Expert Preferences help has been updated to include this information.)

  • Fixed a bug which caused the functions popup (and floater) to display callouts regardless of the preference setting.

  • "Use Selection for Replace" with an empty selection clears the replace string.

  • Fixed case in which using "Replace" or "Replace & Find" in the Find window would replace the entire contents of the document with the replacement string, in specific cases involving a zero-length Grep match and the document not having a selection range.

  • If a remembered window was full screen when quitting, it is restored to that state when starting up.

  • When restoring application state which includes a zip browser, we open a zip browser instead of a disk browser to the parent folder.

  • When saving a new untitled document, we now make an attempt to pick a reasonable default directory for the save panel, when a disk browser is immediately behind the document's window.

  • Auto-folds can be collapsed from either start or end indicators.

  • When saving a file with "Save a Copy" we attempt to create the copy with same permissions as the original file.

  • Fixed a problem where block commented code ended up with an incorrect selection.

  • Corrected a bug which would cause the Preferences window's panel selector and panel content to get out of sync.

  • If you enable Typographer's quotes, TextWrangler will only insert them in stuff that looks like prose. This allows you to have fancy quotes in the comments and strings in your C files, but still use the real deal in the code parts. (also works in HTML, etc.)

  • New documents created as output from text transformations (e.g. Process Lines Containing) will follow the same rules as all other created or opened documents, when deciding whether to make a new window or not.

  • Fixed a bug which could cause the scrollbar size/position to become stale when cutting text.

  • Command-backspace is now an alternative to Command-D in the "Save changes before closing" dialog.

  • Fixed a bug which would cause the vertical scrollbar to get out of whack if TextWrangler was tracking changes to a file on disk, and the file got substantially shorter (like less than one screenful).

  • Corrected horizontal scrollbar calibration when dealing with long lines containing characters which required glyph substitution in the current display font.

  • Assigning or removing a shortcut to a submenu no longer collapses the parent node. While I was at it, selecting a new top menu resets the scroll position and selection in the right pane, so things look much neater.

  • Call -deselectAll: when loading each pane of the Setup editors. This looks nicer, IMO.

  • Holding-down the Option key when double-clicking, pressing the Return or Enter keys, clicking the Open button, or closing your eyes and thinking of ponies, will open an additional FTP/SFTP browser window if the selected item is a directory. (Just like it says in the manual.)

  • Fixed bug in function generation for Fortran (yes, really) which caused Go -> Functions -> End to fail on the last function in the file.

  • Made some changes to guard against the suspected cause of a crash while attempting to arrange windows under some conditions.

  • Fixed bug in which the function menu would navigate in the wrong window in situations where a document was opened from a Search Results window into an existing multiple-document window.

fin