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).
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.
* 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.
- 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
- 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
- Improved parsing of class names for the function popup in Ruby
files, and “
.class” on the end of an identifier is now handled
- The Edit menu (e.g. Paste) once again works correctly in
get/put file dialogs or sheets when running 10.4.×.
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
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
- 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.
- Fixed a regression where the “Change clipping set to match
document’s language” setting in the Language preferences was
- 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
- 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.
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
- 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
- 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
- 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
- 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
- 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
- Fixed a bug where the action buttons in the spelling panel did
nothing if a tooltip was visible for any spelling panel GUI
- 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
- 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
- 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.
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 220.127.116.11, line
- 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
- 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. (
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.
ActionScript documents. They are listed in the function popup
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).
- 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
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
- Fixed bug in JSP support which could cause the loss of all
syntax coloring in Java blocks as the result of an edit.