BBEdit 9.0.2 Release Notes

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

For details on all the new features and enhancements offered by 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.0.2 requires Mac OS X 10.4 or later.

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

Additions

* Added a language selector to the Scratchpad, to enable syntax
coloring for the selected language. (As with other documents, auto-guess
on pasting into an empty scratchpad will work as expected.)

* The “Use Selection for Find” command and friends now work when the
Find or Multi-File Search windows are in front; they apply to the first
(in Z-order) window that’s not the Find, Multi-File Search, or Quick
Find window, as long as that window has a text view.

Changes

  • Removed the anachronistic “option click to open in
    Finder” gesture from disk browser lists (for consistency with
    project list views).
  • The search commands in the Find window will now target
    the first (in Z-order) window that’s not the Find, Multi-File
    Search, or Quick Find window, as long as that window has a text
    view.

Fixes

  • Small performance tweaks to the Ruby function scanner (for the
    function popup and fold markers).
  • Improved the parsing (for fold markers) of Ruby while loops and
    defineMethod statements.
  • Improved parsing of class names for the function popup in Ruby
    files, and “.class” on the end of an identifier is now handled
    properly.
  • The Edit menu (e.g. Paste) once again works correctly in
    get/put file dialogs or sheets when running 10.4.×.
  • JavaScript Array declarations written with square brackets, as
    well as matched pairs of parentheses, will now have
    automatically generated fold markers as long as the range
    contains enough lines to fold (per the pref).
  • Fixed a bug in the HTML paragraph tool (and paragraph guessing
    logic in the HTML Translate tool) where the last paragraph in a
    file would be skipped if the paragraph ended with a space or
    tab, but not a carriage return.
  • Fixed a bug where a 13214 error was reported when creating a
    new project document when running in certain configurations.
  • Fixed a regression in HTML syntax coloring related to style
    tags without type attributes. style tags are now assumed to
    have a type of text/css unless they specify otherwise.
  • Fixed bug in Markdown module which would cause BBEdit to freeze
    when it encountered what it thought was a blockquote indicator
    in the middle of a list item (where it ought not to be).
  • Fixed several user interaction bugs in the non-modal find
    dialogs, including a bug which prevented pasting into the
    replace field via iClip from working.
  • If “Reopen documents that were open at last quit” is enabled,
    BBEdit will reopen those documents whether the application was
    launched normally, or by opening a document. (Previously they
    were not reopened in the latter case.)
  • Fixed a regression where Control-C didn’t kill child processes of a shell
    worksheet.
  • Restored the previous behavior where deleting all the text in
    an untitled document marked it as unmodified.
  • Fixed an off-by-1 alignment bug in the disk browser when the
    toolbar was hidden.
  • Fixed a regression which would cause shell worksheets to crash
    on creation when certain shells were used. (e.g. ksh)
  • Fixed a regression where the “Change clipping set to match
    document’s language” setting in the Language preferences was
    inoperative.
  • Fixed crash which would occur when trying to use the close box
    in the first-run window.
  • Fixed bug in which files inserted with the “Insert -> File
    Contents” menu command weren’t inserted in the correct order.
  • The “Page Setup” and “Print” commands are now disabled for the
    Find and Multi-File Search windows.
  • Fixed crash which would occur when attempting to auto-save, but
    no application support folder was available (typically because
    of messed-up permissions which prevented its creation).
  • Fixed bug in which Cmd-left-arrow didn’t obey the @ldquo;Exchange
    Command and Option key behavior: Horizontal” preference.
  • Fixed bug in which “Find Definition” for a selected ctags
    symbol did nothing when the symbol was in an Objective-C source
    file.
  • Fixed crash which would occur if a certain sequence of events
    triggered the appearance of an app-modal Save panel after having
    just used the window-modal Save panel on the same document.
  • script tags in HTML files are now assumed to be JavaScript if
    not otherwise indicated.
  • Fixed HTML syntax coloring bug wherein editing a closing
    /script tag would cause the entire tag to be miscolored.
  • Fixed bug which would cause the modal Save panel to be
    presented when saving a changed document whose path on disk had
    changed (usually because a folder name in the file’s ancestry
    had been changed).
  • Fixed a bug where the “Clippings are language sensitive”
    setting was ignored.
  • Expanded the list of recognized RCS keywords (for Find
    Differences) to include the synonym keywords defined by
    Subversion.
  • Corrected a build system bug which prevented the Ruby language
    module from working correctly on a case sensitive filesystem.
  • Fixed bug in which the sheet for adjusting suffix mappings
    didn’t correctly indicate the counterpart-y-ness of the mapping.
  • BBEdit now caches unified tag sets, so if you open more than
    one file that relies on the same set of tags, we only generate
    and maintain a single set of tags, rather than duplicating (and
    recomputing) each time.
  • Made a change to significantly reduce the memory and CPU
    requirements when opening a source file which relied on a single
    giant ctags file for symbols.
  • The “Reload from Disk” command is now correctly disabled for
    documents opened via the built-in FTP/SFTP support.
  • “Open File by Name” from the dialog box will avoid searching
    for impossible matches: absolute paths with “Find All Matches”
    turned on (either explicitly or because of a wildcard pattern).
    Related: the “Match Wildcards” option will only affect the
    search if the name you entered contains unescaped wildcard
    characters.
  • The “Open” contextual menu item in disk browsers and project
    lists will now open any selected folders in BBEdit as disk
    browsers, rather than opening them in the Finder.
  • Fixed bug in which the Multi-File Search window’s source list
    inappropriately tracked the selected document in a search
    results window; if you subsequently selected a different file
    (or nothing at all), BBEdit would crash when trying to refresh
    the sources list.
  • Fixed bug in which saving an untitled document in response to
    the modal alert presented when quitting would fail with an error
    13213.
  • Fixed bug in which the Page Guide wasn’t recalculated correctly
    when changing the display font or size in a text view.
  • Reconnected the global pref for Status bar items.
  • Fixed reversed soft wrap preference keys
  • Fixed a regression which caused the Entities palette popup menu
    to draw uglified.
  • Fixed a bug preventing a stored source profile from being used,
    or new source profiles from being written.
  • The Open dialog remembers its visible files setting between
    invocations.
  • We no longer change the language module when pasting into an
    empty document whose language had been previously set manually.
  • Fixed a bug where the days remaining thermometer did not get
    set to 0 when the demo period has expired.
  • Added the control title to the keyword list for pref searching,
    to make it consistent with BBEdit 8.7.
  • Fixed a bug where if your preferences did not have a Rubber
    Stamp font setting, they never would.
  • Fixed bug in tooltip generation for the modal Find dialog’s
    summary well, and restored the feature to the Multi-File Search
    window. (Clicking in the summary well displays a tooltip
    enumerating the selected search sources.)
  • Fixed bug which caused the “Default line breaks” group in the
    Text Files prefs to appear with nothing selected in the case of
    factory default preferences.
  • Fixed crash which would occur when trying to Hard Wrap or
    Rewrap Quoted Text on the contents of a Find or Multi-File
    Search window text field.
  • The “Quick Search” window now uses the appropriate “Not found”
    annunciator when sound is muted.
  • The “Run” command and friends on the #! menu are now disabled
    for the Scratchpad, resolving a -1409 error that would occur
    when choosing one of these commands. (The Scratchpad isn’t an
    appropriate target to be run via the command-line.)
  • Fixed bug in which dragging items between projects, or within a
    single project, would reverse their order.
  • Reworked BBEdit’s contextual menu handling to avoid command ID
    conflicts with contextual menu plug-ins.
  • Corrected the terminology so that the type of `found matches`
    in a `Search Match` is now `(list of Result Entry)` instead of
    `(list of list)`.
  • Fixed a bug in the modal find dialog where the view drew
    incorrectly after a click if custom highlight colors were
    enabled.
  • Restored the previous behavior where “Use Selection for Search
    String” preserved the current Grep setting, and escaped the
    input string as necessary.
  • Fixed a bug which would cause the path popup at the top of the
    file list to appear on the wrong screen in certain situations.
  • Fixed a bug which would cause the function popup to appear on
    the wrong screen in certain situations.
  • Fixed a bug where in certain situations, Insert Clipping would
    not use an appropriate clipping set.
  • Fixed a user interaction problem with Spaces enabled where
    selecting an item from the window menu would not result in a
    Space switch in situations where it was necessary to make the
    window visible.
  • Fixed a bug where the action buttons in the spelling panel did
    nothing if a tooltip was visible for any spelling panel GUI
    element.
  • When importing the find pasteboard, BBEdit will leave the grep
    setting enabled if it was previously enabled, and escape the
    imported find string as necessary.
  • Fixed a layout bug in the Run Unix Filter sheet for text
    factories which caused the Choose button to be clipped when the
    window was deactivated.
  • Fixed cases where multiple selection was allowed in choose
    file/folder dialogs where only a single selection should have
    been allowed:
  • Diff dialog
  • Hex dump dialog
  • Choose applescript from text factory
  • Added support for class definitions, interfaces and packages to
    the ActionScript function scanner, so they’ll now have auto-fold
    marks and will be listed in the function popup.
  • Fixed bug which would miss an open brace occurring immediately
    after a dotted.name, which would throw off folding and function
    menu generation.
  • Fixed bug where ActionScript functions which specified a return
    type (as in, “:type”) would result in an incomplete function
    popup and missing fold markers.
  • Function prototypes within ActionScript interface declarations
    are now listed in the function popup.
  • In JavaScript and ActionScript files, no longer add fold points
    for pairs of parentheses which only contain functions, as that
    tends to conflict with the fold point for the function’s opening
    curly brace, and the fold then hides the entire function. (For
    an example of this, see Prototype.js version 1.6.0.2, line
    1603.)
  • Fixed a regression which caused BBEdit to stop refreshing
    document contents if the backing file were removed and replaced
    with an identically named file, but the new file was created
    more than 0.25 seconds after the removal.
  • Worked around bug in the SMB client on 10.4 which would cause
    erroneous “this file was modified on disk but has unsaved
    changes” alerts to occur.
  • Command-period now works to close the modeless Find and
    Multi-File Search windows.
  • The “All” search operations (Find All, Replace All) no longer
    turn off “Wrap Around” when performed.
  • Fixed a bug in which creating a new collection in a project
    didn’t put the new collection in the right place (it should have
    used the same rules as for adding files/folders), and added the
    new collection to the selected range of items, rather than
    selecting only the new collection.
  • “Save to FTP/SFTP Server” and “Save a Copy to FTP/SFTP Server“
    are enabled for any text view backed by a document, when that
    view has focus, irrespective of what kind of window it’s
    contained in.
  • Fixed a bug in the Java language module which resulted in items
    being omitted from the function popup.
  • Fixed a bug in the ActionScript module wherein functions
    declared to have a return type of void would result in an
    incomplete function popup and missing fold markers. (void
    would seem to be the only operator which ActionScript also
    allows as a type specification. Go figure.)
  • Fixed crash which would occur when opening a disk browser with
    the Multi-File Search window open while DragThing was running.
    On an alternate Tuesday.
  • “Find Selected Text” uses the same rules as “Use Selection for
    Find” with respect to preserving the Grep setting.
  • Getter and setter functions are now supported in JavaScript and
    ActionScript documents. They are listed in the function popup
    with a get or set prefix, as appropriate. (Yes, JavaScript
    supports getters/setters, though the syntax is slightly
    different than ActionScript’s.)
  • Function prototypes are now found in ActionScript class
    definitions (they were previously only found in Interfaces).
  • Added get and set to the JavaScript module’s keywords.
  • Updated the list of keywords in the ActionScript module. The
    list comes directly from the ActionScript documentation, and
    includes the actual keywords, top-level class names (like Array
    and Boolean), and constants (like Infinity).
  • Added a long list of “predefined names” (for text completion)
    to the ActionScript module, which includes the names of all of
    the public packages, namespaces, classes, interfaces,
    functions, class variables (fields) and constants that were
    found in Adobe’s Flash and Air.
  • Fixed crash which would occur when trying to load
    extension-to-language mappings in the Preferences window with
    certain corrupted forms of extension mapping.
  • If a language module’s language code is longer than four
    characters, or contains a suffix mapping for a suffix longer
    than 31 characters, the module is not loaded. This guards
    against problems arising from incomplete copies of the canonical
    CLM template left in the Language Modules folder.
  • Fixed a bug where the run record passed to language modules for
    the kBBLMAdjustRangeForTextCompletion message was zeroed for an
    empty proposed range.
  • Fixed bug in which windows weren’t correctly arranged (either
    at creation, or using any of the stacking options in the
    “Arrange” command) unless you had previously used “Save Default
    Window”.
  • Fixed a bug in ActionScript and JavaScript support which caused
    empty (no name) items to appear in the function popup when an
    object literal was assigned to a variable (or property) but that
    variable was preceded by what looked like illegal syntax. (For
    example: foo bar={...}).
  • Fixed bug in JSP support which could cause the loss of all
    syntax coloring in Java blocks as the result of an edit.