BBEdit 9.3 Release Notes

This page documents all feature enhancements and bug fixes included in the BBEdit 9.3 update.

For details on all the new features and enhancements offered since BBEdit 9.0, 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 BBEdit's features, please refer to the user manual (choose "User Manual" from BBEdit's Help menu).

Requirements

BBEdit 9.3 requires Mac OS X 10.4 or later (10.4.11 or later recommended).

This version is a Universal application: it runs natively on both Intel-based and PowerPC-based Macs.

Additions

  • You can now add Finder 'smart folders' to projects under Mac OS X 10.6. Each smart folder will appear as a folder node in the project's file list and its contents will be updated live. (To add a smart folder, just select and drag the desired ".savedSearch" file from ~/Library/Saved Searches/ into the project's file list.)

  • You can now add tags files to specific locations to make symbols available as completion data sources when editing in desired languages. In particular:

    • When building a language module, place a file named "tags" in the language module's "Resources" directory, and those tags are used as completion sources.

    • You can generate a tags file (using exuberant ctags or "bbedit --maketags") and place the resulting file in Application Support/BBEdit/Completion Data/<language name>/, where "<language name>" is the name of the language as it appears in the list of installed languages (or on the Languages popup menu).

      So, for example, if you were to generate a tags file for the 10.6 SDK so that you could add completion data when editing Objective-C files, the file would go in Application Support/BBEdit/Completion Data/Objective-C/.

      Tags files can be given any appropriate name, so you can have multiple tags files for a single language, and they will all be examined when generating completions.

  • When scanning folders for various purposes (multi-file search, Find differences, and others), SCM administrative directories are specifically ignored, even if "Search Invisible Folders" is turned on: CVS, .svn, .git, .hg, .bzr. This avoids potential disasters that can result from indiscriminate search and replace in such directories. If, however, you choose to live dangerously, you can allow BBEdit to see inside of these directories:

    defaults write com.barebones.bbedit Misc:SkipSCMAdminDirsWhenScanningFolders -bool NO

    Note that this behavior represents a change from previous versions, in which you could search inside of such directories by using "Search Invisible Folders".

  • The Enter key can optionally generate a line break (controlled in Editing:Keyboard).

  • When pasting into an editing view, BBEdit will convert non-breaking spaces (Unicode 0x00A0) in the pasted text to ASCII spaces (Unicode 0x0020). To disable this conversion:

    defaults write com.barebones.bbedit Clipboard:ConvertNonBreakingSpacesWhenPasting -bool NO

  • The Clippings folder can now contain aliases to other folders, either at the top level or nested. This allows you to place clipping sets in other locations (for example, if you're updating clippings from source control systems that make it inconvenient to use the main Clippings folder), or to combine clippings sets by creating a new top-level folder and then placing aliases inside it to other clippings sets.

  • On Mac OS X 10.6 and later, you can now use QuickLook to examine the content of selected non-text files in project windows and disk browsers.

    In a project window, select the desired item and choose "QuickLook [item name]" from the contextual menu or action menu.

    In a disk browser, select the desired item and press Space, or choose "QuickLook [item name]" from the contextual menu or action menu.

  • When running on 10.5 and later, there's a new item in the Open dialog: "Show hidden items". This controls whether the dialog box shows invisible files and folders. The setting you choose will persist across runs of the application.

  • FTP browsers get a "New..." button, which when clicked allows you to create a new file or folder in the location to which you're currently connected. Creating a new file will open it; creating a new folder will navigate into it.

  • You can now use the extended hex notation in literal searches: \x{NNNN}, where N is any hexadecimal digit. You can use up to four hex digits; the following examples are equivalent:

    \x{d}
    \x{0d}
    \x{00d}
    \x{000d}

  • There is a new completion token which represents "optional" completions:

    <#?#>

    If a "Go to Next Placeholder" operation would select the optional token, BBEdit will remove the token text when performing the command.

  • "Open Selection" and "Open File by Name" now use the front document's default save location if one is available and the document isn't saved to disk. This makes it useful in the case of a file that will be implicitly created when saving but which doesn't exist yet, as in bbedit /path/to/some/new/file.

  • The about box now lists installed languages and versions.

  • When running a multi-file search, the results window appears immediately, and fills in with the search results as they are found. While the search is running, you can click the "Stop" button (the little "X") to stop the search in progress.

  • Search results now contain an additional property in the "Result Entry" scripting object type:

    match_string (text) : for Grep search results, contains the text matched by the pattern

  • There is an interface to simplify the creation and editing of Attached Menu Scripts.

  • Invisible character colors are settable from the Text Colors pref pane.

  • BBEdit will now honor the com.apple.TextEncoding extended file attribute, if present and appropriate. (The attribute will not override a BOM, explicit encoding specification, or Apple Event parameter, but is used if the file is not valid UTF-8, not pure ASCII, and no other hints are available.)

  • When saving a text document, BBEdit will now write the document's text encoding into a com.apple.TextEncoding extended file attribute, if the preferences allow it. (The factory default is to write extended attributes if the file system containing the file supports them, and not otherwise; see the Expert Preferences reference in BBEdit Help for the details.)

  • "Sleep BBEdit" now remembers and restores "Preview in BBEdit" live preview windows.

  • On 10.5 and later, the contextual menu will contain "Unlearn Spelling" when appropriate so that you can remove learned words from your user spelling dictionary as necessary.

  • There's a new built-in language, "Software Package Notes". This is a hook on which to hang internal mappings for the sorts of files that are typically included as additional documentation in Unix software package distributions. There is no syntax coloring or function navigation, but files mapped to this language are recognized as text and thus openable and searchable when text files are filtered for processing or display.

  • Language module for Make.

  • BBEdit offers a new behavior: when you ask it to open a folder, rather than creating a disk browser (which allows only one document open at a time), you can ask it to create a temporary project. This provides the multi-document behavior of projects, without requiring you to manage and save a project document anywhere.

    Note the limitation that the project is rooted at the folder you drop on the application; there's no "Go To..." for navigating outside of that folder, nor can you double-click on a folder to "drill down" into it. Nonetheless, for some purposes, the multi-document behavior may outweigh these considerations.

    There is no GUI for changing this behavior. If you want the old behavior back, use this command line:

    defaults write com.barebones.bbedit Misc:MakeTempProjectForFolderOpen -bool NO

  • There's a new command-line tool, bbfind. It provides a command-line interface for running multifile searches. Here is a quick summary of its usage and options:

    Usage: bbfind <options> <string> <path ...>

    -h, --help print this help and exit -v, --version print detailed version information and exit -V, --short-version print abbreviated version information and exit -n, --case-sensitive search case sensitive (default: case insensitive) -g, --grep interprets "<string>" as a regular expression -w, --match-words only return matches that fall on word boundaries -R, --no-nested-folders suppress searching of nested folders -I, --search-invisible-folders search invisible folders --all-file-types search all file types (default: text files only) --name-pattern only search files whose names match the given pattern (may be used multiple times) --gui open a results window instead of returning results -c, --count only print number of matches found -Z, --null separate results lines with NUL instead of newline -S, --suppress-context only print file path and line number of match -E, --editor-commands print results in the form of "bbedit"/"edit" commands -0 interpret input separated with NUL instead of newline

    You can combine single-character switches. Thus,

    bbfind -ngw some-string ...

    is equivalent to

    bbfind -n -g -w some-string ...

    You can also use "--" to end the parsing of switches, in cases where you need to specify a search string or file path that begins with two hyphens:

    bbfind some-string -- --name-of-some-file

    It is possible to search more than one folder at a time by specifying multiple "path" arguments. Apart from the special case of using "--", the first non-hyphenated argument is interpreted as the search string (or pattern, if -g is specified) and all others are file paths. So, you could write:

    bbfind error /var/log /Library/Logs/

    and this will cause bbfind to search for the string "error" in two different folders.

    If no search paths are specified on the command line, bbfind will attempt to read them from standard input. This makes it an attractive target for the output of other tools such as find. For example:

    find . -name "*.py" -print | bbfind blah

    takes the paths printed by find and searches those files.

    The input is expected to be separated by Unix newlines (\n). In cases where standard input is generated programmatically and the paths are separated with a NUL, you can pass a -0 on the command line. Again using find as an example input source:

    find . -name "*.py" -print0 | bbfind blah -0

    A --name-pattern option is available for filtering files by name in the directory(ies) being searched. The wildcard syntax is the same as that used by the "Matches Wildcard" file filter term:

    '?' matches any single character;
    '#' matches any digit;
    '*' matches any run of characters;
    '\' is used to escape the next character (for matching literal '?', '#', or '*')

    so, bbfind foo . --name-pattern "*.py" will search for the string foo in the current working directory, in every file whose name ends in .py.

    Ordinarily, bbfind returns results in this form:

    /path/to/file:NN <line>

    where "NN" is the line number containing the match, and "<line>" is the text of the line where the match occurred. You can modify the output in a few different was: -S will suppress the line, which is a prerequisite if you want to use the output of bbfind as input to another tool (like xargs). (The output generated by -S is also useful in BBEdit shell worksheets: select the line and use "Open Selection" to open the match.)

    If you like, you can have bbfind generate output in the form of bbedit commands, each of which can be executed to open the file and select the line. Use -E. (Note that that this implies -S and will suppress the context.)

    Whether or not you use -S, the -Z switch modifies the output by using a NUL (ASCII 0) character to separate the lines of output, rather than a newline (ASCII 10). This can be useful for programmatically parsing the output, or running it through xargs -0.

    Using -c will suppress all of the output, and simply return the total number of matches that were found.

    It's also possible to use bbfind as a front end for the GUI multi-file search. Add --gui to the command line, and the search will start and present a Search Results window, rather than returning any text results to the tool. (This option causes the tool to exit as soon as the search is started.)

    Note also that using -h, -V, or -v will cause the tool to exit immediately without performing a search, even if there are valid search string and options provided.

  • The Find and Multi-File Search windows now show tooltips when you hover over various option switches and buttons. Each tooltip shows the keyboard equivalent for the item; as before you can adjust the equivalents using the Menus preferences.

  • Prefix/Suffix lines remembers recent choices. Prefix and Suffix keep separate histories, currently capped at 10 unique items. There is an Expert Preference to override this limit.

  • The ancillary PHP support has been extensively revised. The old PHP clipping set is gone, replaced by a set of PHP ctags, which provides a much better completion experience. (Among other things, eligible symbols are colored, and argument lists with placeholders are emitted when you do a completion.) The new PHP clipping set is minimal, and primarily contains control structures and other items which couldn't be represented in the tags file. The reduced PHP clipping set substantially reduces BBEdit's on-disk footprint and startup time.

    NOTE: BBEdit will automatically update the contents of your Application Support/BBEdit/ folder accordingly, unless you have made modifications. If the automatic update does not occur after installing and starting 9.3, we recommend that you obtain the default support folder contents from the BBEdit support page and integrate the updated components as desired.

Changes

  • For the convenience of user scripts (run from the shebang menu) BBEdit sets some runtime environment variables to reflect the front-document state as it is when the script is about to be run:

    BB_DOC_LANGUAGE Name of the document's current language (not set if language is "none") BB_DOC_MODE Emacs mode of the document's current language BB_DOC_NAME name of the document BB_DOC_PATH path of the document (not set if doc is unsaved) BB_DOC_SELEND (zero-based) end of the selection range (not set if not text document) BB_DOC_SELEND_COLUMN (one-based) de-tabbed column number of BB_DOC_SELEND BB_DOC_SELEND_LINE (one-based) line number of BB_DOC_SELEND BB_DOC_SELSTART (zero-based) start of the selection range (not set if not text document) BB_DOC_SELSTART_COLUMN (one-based) de-tabbed column number of BB_DOC_SELSTARTÏ BB_DOC_SELSTART_LINE (one-based) line number of BB_DOC_SELSTART

    NB: selection ranges and other offsets are expressed in characters, not bytes.

  • The popup menus in the Find Differences dialog (for quick access to open and recent documents/folders) have been retooled. This also fixes a reported cosmetic glitch.

  • The preferences key to control whether BBEdit ignores RCS keyword variances when comparing is now "Diff:IgnoreRCSKeywords", as in:

    # pay attention to changes in RCS keywords when comparing files defaults write com.barebones.bbedit Diff:IgnoreRCSKeywords -bool NO

  • The "Smart Quotes" option has been renamed to "Use Typographer’s Quotes" where it appears in the preferences (Editor Defaults, Languages -> options), and editing controls (options menu in the toolbar, "Text Options" command).

  • When saving a text document, BBEdit will look for a mismatch between the text encoding setting in the status bar, and any explicit encoding specification in the document's contents (HTML/XML meta tag or PI, or an Emacs variable). If a mismatch is found, an alert is presented so that you can avoid saving the document in this condition.

    The warning includes an option to compare the open document against what's on disk, in cases where you are saving a text document.

  • Super Get Info is retired, and so is the preference to put its icon in the toolbar.

  • The "Color Grep patterns in Find dialog" setting has been removed from the Text Search preferences. The Expert Prefs help has been updated with the secret formula for changing this setting.

  • The "Show document icons" FTP/SFTP preference never got hooked up; so the switch has been removed from the "FTP" preferences. The remaining switch has been renamed to "Listings include files starting with “.”."

  • The BBEdit Automator actions are now compatible with Mac OS X 10.6. Note that this comes at the cost of compatibility with 10.4: because of the binary changes required, the Automator actions will only be available on Mac OS X 10.5 and later. If you need Automator actions for 10.4.x, please contact Tech Support for assistance.

  • When opening a file, BBEdit will check to see if it's represented in an open project document. If so, it will open the document in the project's window, if preferences and the window's configuration allow. Otherwise, the document will open into the front (Z-order) editing window or into a new window, as preferences allow.

  • Completion results derived from ctags data are now sorted into a more readable/usable order.

  • Completion data for PHP is now supplied by a ctags file, rendering the built-in PHP clippings unnecessary. The clippings are still supported by their original creator, Ted Stresen-Reuter, who also generated the PHP tags file.

  • Support for non-bundled plug-ins has been removed. If you have a plug-in which no longer appears in the Tools menu after updating to BBEdit 9.3, please contact the developer of that plug-in for assistance.

  • "MARK" callout for comments now generates the same function entry type as a "#pragma mark" or "bbmark" directive elsewhere.

  • Closing a multi-file Find Differences result window will now prompt you to confirm, if you have applied any differences.

  • Project documents now remember their list of open documents relative to the project's location on disk; so that if the project is moved, any documents which can be found relative to the project document will still be reopened.

Fixes

  • Works around an issue which prevented the 10.6 Script Editor from opening BBEdit's scripting dictionary.

  • Fixed a bug where the Find Multiple window did not honor color preferences for grep search/replace strings.

  • Fixed regression in which the End key didn't jump to the end of files with more than (32K-1) lines.

  • Resetting language specific preferences also resets the general settings.

  • "Recent Items" shows up in the preferences search drawer.

  • Fixed the formatting of the --maketags line in the output of bbedit --help.

  • Fixed a bug where we would install a new bbedit tool in /usr/bin, instead of upgrading one in an alternate location.

  • Fixed bug in which dragging text into one of the fields of the Find (or Multi-File Search) window would cause the other field to reset to the previous global state of the Find settings.

  • Only initialize ASL for debug builds (this eliminates the console logging of all BAS interactions).

  • man pages are installed in /usr/local/share/man/man1/ if the bbedit tool is located in a directory which contains the path segment "/local/".

  • Before performing any authenticated operations, BBEdit ensures that the auth helper tool is current.

  • Adjusted the authentication prompt string when installing the auth helper tool on 10.6 and later.

  • Using the font panel to change a document's font/size/tab width will now dirty the document's state.

  • Deleted a stray line from the CSS keyword list.

  • Fixed a bug in which expanding a project collection which contained expanded folders would duplicate the folders' contents.

  • Fixed regression in which "Move to Trash" for an item on a server volume would report a -120 error instead of asking you to delete the item immediately.

  • results windows created through the scripting interface no longer get created with a prefs key, to avoid filling the prefs with settings for arbitrarily named windows.

  • Fixed bug in which windows with custom names (as set by the scripting interface) didn't have those custom names restored when restarting after an application sleep.

  • Fixed bug in which an auto-saved document's line break setting was not restored correctly when reloading it.

  • Fixed disk browser bug in which safe-saving the file behind the displayed document from another application would cause the display to be cleared and reset to "No Editor".

  • Fixed #base_url# placeholder not expanded.

  • Fixed suspected cause of a crash while resolving script object accesses to the Find window.

  • Fixed terminology error that made it difficult to access the Find or Multi-File Search windows via the scripting interface.

  • "Replace" and "Replace & Find Next" now update the search history.

  • Some per-language overrides were not applied when a document was reopened. Fixed.

  • Some per-language overrides were not applied when a document's language was changed (when saving, or choosing the language from the menu).

  • Fixed crash which would occur when trying to use Check Links from the scripting interface.

  • http/https URL items in a project now use the generic Internet location icon instead of the Safari (or default browser) application icon.

  • Fixed regression in which you couldn't open an http/https URL from the project list.

  • Dragging host-only URLs to a project list no longer creates a project item with an empty name; the whole URL is used as the name.

  • Fixed bug in which trivial FTP/sftp URLs in a project list were allowed to open with a single click.

  • "Save a Copy" for the Scratchpad now honors the global line break preference, rather than always saving with CR line breaks.

  • Fixed a regression where the wrong template was restored when invoking the New HTML Document command.

  • Returned tooltips to the Open Recent menu.

  • If the remote server drops the SFTP connection (or it's broken for some other undetermined reason), the FTP browser or dialog will now alert you and invite you to reconnect.

  • Eliminated unnecessary computation, resulting in a 2x speedup when opening a large, soft-wrapped document.

  • Fixed crash which would occur when dragging items around in or into a project list.

  • Keyboard focus is now forced to the file listing when an FTP browser window gets created.

  • The warning shown when trying to close a results browser with items removed is no longer shown if you've deleted all the items.

  • Fixed bug in which printing a document without making any changes to its print settings would disconnect it from the preferences, so future preferences changes would have no effect on the document's print settings until the document had been closed and reopened.

  • Fixed bug in which changes to the default text printing font preference didn't stick.

  • Gruber's [REDACTED] "url-like" links are recognized and launched.

  • Fixed a hang in the YAML language module which would occur if you typed a '%' at the head of the file.

  • When opening a file located on a remote (file, NOT ftp/sftp) server, BBEdit will now listen to the document's parent folder for changes, rather than the document's file. This resolves a -61 error reported when attempting to save a file that had been opened from an AFP server by client on two different computers.

  • Fixed bug in which the listing in the FTP Browser/save dialog would not correctly scroll to the top of the list when displaying items not returned in something close to alphabetical order by the server.

  • Fixed bug in which "Save to FTP/SFTP Server" would report a -1728 error if the front FTP browser window was not connected to a server (and never had been).

  • It is now possible to scroll (horizontally) to the end of a line that's more than 65536 pixels long.

  • Fixed crash which would occur when reading certain gzip files.

  • Made changes to reduce the file system overhead involved in opening a document.

  • If a file is pure ASCII, it is now read using the default encoding for new documents, rather than allowing the fallback mechanics to take effect. In practice with factory default prefs, this means that pure ASCII documents will load as UTF-8 (no BOM), which is preferable to the previous behavior (reading them as Mac Roman).

  • Fixed bug in which hard wrapping a paragraph would cause the text view to scroll inappropriately.

  • Fixed crash which would occur if events ended up dispatched to a window which was in the process of being closed. (This tended to be irregular and hard to reproduce for some, not so much for others.)

  • When manually showing or hiding the Dock, BBEdit no longer resizes any windows, even if they would overlap the dock. (This is consistent with the standard application behavior.)

  • Fixed bug which prevented Disk Browser windows remembered by a Sleep from being reopened when starting back up.

  • Fixed bug in BBEdit wouldn't come to the front when opening files from an FTP browser by click-through.

  • Adjusted the file filtering for folder comparisons so that files which cannot be compared are still allowed to appear in the lists of results if "Text Files Only" is turned off.

  • Fixed a bug in which unmounting the volume containing one or more files that referred to by a project would cause an error to be reported when trying to close the project (and the project would become uncloseable).

  • Fixed a bug in which supplying UTF-8 data from a text view to a drag receiver would fail.

  • Worked around a crash in ClearDeadKeyInlineSession where AppKit inappropriately handled a TSM event destined for one of BBEdit's TSM documents.

  • Fixed a bug in the command line tool where open/print errors returned from BBEdit weren't reported to the user.

  • PHP here-doc opening tags are now allowed to contribute tokens for text completion.

  • When calculating completions in a case-insensitive language document, we no longer allow any built-in symbols (keywords or predefined names) to override tokens found by examining the document, unless the case is an exact match.

  • Application state saves (for sleep and autorecovery) now include the drawer state (open or closed) and the drawer width.

  • Fixed bug in which Hard Wrap using "Page Guide" as the limit would calculate line break points incorrectly.

  • Restored the ability of shell worksheets to ssh.

  • Fixed bug in which some commands in the disk browser's action menu were enabled inappropriately after the volume under the disk browser had been ejected.

  • Fixed bug in which application state (or sleep state) would fail to save if it included a disk browser whose backing disk had been ejected.

  • Long path names now extend to the width of the list in the Multi-File Search window, rather than being cut off at 64 characters.

  • Fixed bug in which deleting remembered items from the source list in the modal Find dialog or the Text Factory run window would fail to remove the item from the appropriate recent items list.

  • Fixed bug in generation of summary text in the modal Find dialog when "Exclude Matches" was turned on.

  • Fixed a bug in which opening a file from an FTP/SFTP browser didn't correctly use the browser's connection to the server. This would occasionally cause problems with servers running Pure-FTPd whose admins blindly followed the example in the server software's man page, and started the server with "-C 2" to limit client connections to two per IP address.

  • Fixed a bug where choosing "Learn Spelling" or "Ignore Spelling" left the spelling ranges in a state where they could not subsequently be updated.

  • Fixed bug in which invisibles placeholders drawn with "Show Invisibles" and "Show Spaces" active were drawn in the wrong font, which would in turn cause misaligned columns.

  • Fixed bug in which Shell Worksheet documents were not properly restored from saved application state (including a Sleep).

  • Fixed a problem where Preview didn't work correctly with Opera 10.

    (Opera changed their versioning system in such a way that broke the version check in the Preview code for whether to send a POSIX or HFS style file URL to the browser. BBEdit always sends POSIX style file URLs to Opera now. Opera versions prior to 7.0 are no longer supported by the Preview tool.)

  • Fixed bug in which "Change Text Factory" and "Change Line Endings" actions in a factory applied by using "Apply Text Factory" on the front document did not have any effect.

  • Fixed bug in which language-specific text wrap preferences were not applied when opening an existing document.

  • Update the recent menu on inspection events so that it isn't blank when accessed by spotlight for menus.

  • When doing a "Use Selection for Find" (with grep turned off), we now escape literal CR, LF, TAB, and FF in the selected text.

  • BBEdit prefers public.utf8-plain-text to the UTF-16 based variants when reading data from the pasteboard or placing text via drag-and-drop.

    This is the native type provided by Cocoa applications. By using it in preference to the UTF-16 variants we avoid getting a translated version of the rich text data which is also on the pasteboard. In certain situations, this can result in data which differs by more than just the encoding. (For example, when copying from Safari, WebKit places non-breaking space translated plain-text on the pasteboard, and tab-delimited data for any selected tables. But the translation of the rich text data results in something quite different.)

  • Fixed bug in which un-splitting an editing view would cause non-US text entry to fail, if the bottom pane had focus before the view was un-split.

  • Removed the hard-wired limit on the number of items representable in a menu that is backed by a folder (Scripts, Stationery, Text Factories, Unix scripts/filters).

  • Fixed bug in which <style> tags in XML (vs. HTML) were incorrectly treated as CSS.

  • Fixed a bug which caused the Xcode projects Search Source node to be empty on 10.6.

  • Fixed broken wording for tool installer authorization when running on OS versions prior to 10.6.

  • bbedit --maketags now validates that the paths you passed exist and are directories and reports an error if they are not (rather than building a tags file for a filesystem tree you didn't intend to process.)

  • Fixed bug in which the "Text Files Only" setting in the Open dialog incorrectly disabled folders.

  • Fixed crash which would occur when dropping folder items in a project list on to themselves, i.e. selecting one or more items, dragging just enough to generate a highlight but not far enough to actually move anywhere, and then dropping.

  • Fixed bug in which tarball files weren't correctly handled by "Open with Finder" (and friends) from the contextual menu in disk browsers.

  • Corrected passive FTP expert prefs in help.

  • Fixed crash which would occur when trying to do a scripted format operation with no HTML source profile specified in the preferences.

  • Fixed bug in which opening files with non-ASCII names from the disk browser would fail.

  • Fixed crash which would occur randomly at some point after bringing up the Multi-File Search window.

  • Fixed bug in the C/C++ scanner in which it would crash instead of bailing when encountering excessively nested parens and/or braces. This typically happened when setting the default language to C++ or similar and then opening files which were most assuredly not.

  • Marked additional columns in the source control dialogs as sortable.

  • Fixed bug in which the shell worksheet padlock (to authenticate and perform privileged operations) didn't work in 10.6 (it always reported "Sorry, you entered an invalid password").

  • Fixed bug in which packaged script applications (as created by the Script Editor on 10.6) were not recognized as AppleScripts; this caused invocation from the clippings system (and other contexts, like the HTML document/site updater) to fail when they should not have.

  • Fixed bug in which changes to a tags file in a given source file's hierarchy did not correctly trigger recoloring of the source file when they should have.

  • Fixed a bug which caused split windows to draw the top pane as if it were scrolled to the top if a replace all was performed in the bottom pane (the scrollbar was actually left in the correct position, but the content was incorrect).

  • Fixed bug in which the "Input is XML" option to the Tidy Reflow text factory operation was not passed to the operation, resulting in incorrect output.

  • Added fix for the documents drawer not updating after a Save All.

  • Added SUHelpAnchor keys to BBEdit/TextWrangler's plist, and created help pages for the software update checker dialog.

  • Fixed bug in which closing a document and requesting a save to an explicit location would ignore the save location and prompt. This construction now works correctly:

    tell application "BBEdit" to close text document 1 saving yes saving in file "Boom Box:Users:siegel:Desktop:text.txt"

  • Fixed bug in which using Save As to change the encoding or line break type of an unmodified document (by saving over itself) wouldn't work.

  • Made changes so that automatic saving of application state only takes place when something has changed.

  • Fixed a bug which caused updates to man pages to succeed, but new installs of man pages to fail.

  • Fixed bug in which identifier names containing language keywords would confuse the Pascal parser and cause it to generate wacky fold points for procedures and functions.

  • Fixed bug in which "New Text Document" and "New Folder" were incorrectly enabled when a collection item was selected; and choosing either command would report an error.

  • Corrected capitalization of control titles in the Text Printing section of the print dialog.

  • When doing an Open Counterpart, BBEdit first checks to see if the document in which you're working is in the active Xcode project, before asking Xcode for the counterparts. In this way, we avoid opening inappropriate counterparts when the file happens to have the same name as one in the project.

  • Adjusted the behavior of Open Selection/Open File by Name to match that of Open Counterpart: if the front document exists on disk and is not in the active Xcode project, we don't ask Xcode for anything, to avoid possibly opening the wrong file with the same name.

  • Fixed bug in which changing a document's language would not cause the associated preview window to refresh when it should have.

  • Fixed bug in which some commands were inappropriately enabled for the editing fields in the Find and Multi-File Search windows.

  • Fixed bug in which closing a multi-document window in which at least one of the documents had been opened from an FTP/SFTP server would cause an attempt to save those documents back to the server, even if they hadn't been modified.

  • Changed wording of the alert which appears when you try "Move to Trash" on an item and no trash folder is available.

  • Fixed a crash in the Java function scanner which would occur when encountering a package class.

  • Fixed a bug which prevented the installation of an updated Application Support folder.

  • updated bbdiff/twdiff man pages to reflect the positional significance of the file arguments.

  • Fixed bug in the scripting object model for project documents which made it impossible to address items nested more than one level deep.

  • Fixed hang in the YAML tokenizer which would occur when encountering a block string start character in some contexts.

  • Fixed bug in which executable files with a shebang line were not correctly recognized as text files when working in project lists.

  • Fixed authorization dialog wording.

  • Fixed bug in which "Save Default Window" was not enabled for FTP browsers as it should have been.

  • Fixed crash which would occur when closing the Multi-File Search window with certain search sources selected.