BBEdit 10.5.4 Release Notes

BBEdit 10.5.4 is a focused maintenance update which includes fixes for reported issues.

For details on all the new features and enhancements that were offered in BBEdit 10.5, 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 10 requires Mac OS X 10.6.8 or later.

PowerPC-based Macs are not supported.


  • This release consists entirely of fixes for reported issues, and contains no new features, nor changes to existing features.


  • Fixed internal exception which would occur when doing a "Check {Document, Folder} Links" and a link with no file name was encountered; this would lead to a stuck progress dialog which would crash when clicking the "Cancel" button, and other misbehaviors.

  • Fixed bug in which certain operations which involved placing text on the Clipboard would fail with a -102 error if done immediately after rebooting.

  • When scanning HTML documents for folds, empty XML tags will no longer throw off the calculation (even if the document is not using XML/XHTML).

  • Fixed crash which could happen when preparing data for export to the Services interface.

  • Re-enabled garbage collection for the Automator actions, because although GC is deprecated and we're all supposed to be using ARC instead, Automator (a) requires that actions still allow GC (GCC_ENABLE_OBJC_GC = supported), and (2) throws a hissy fit when they don't.

  • Fixed bug in which the horizontal scrollbar calibration would be incorrect in situations where multiple lines had the maximum number of characters (measured over the document) but different numbers of tabs.

  • Fixed cosmetics of the toolbar in { results, disk } browser windows when the navigation bar was turned off.

  • Fixed bug in which changes to the "Text Status Bar" preferences would affect only the active text view.

  • Fixed bug in which dragged rectangular selections would include text from outside the selected ranges in cases where the selection did not begin at the start of the selected line(s).

  • Fixed bug in which the wrong menu item was selected when doing a Save As and the document's encoding was "Western (Mac OS Roman)".

  • The "Open Text Documents" section of the popup menus in the Find Differences dialog is now sorted by name, rather than by Z order. This makes it easier to cope with large numbers of open documents.

  • Fixed bug in which page-guide-colored turds would appear in the scrollbar when changing the selection in windows that were narrower than the page guide width by less than the width of the sidebar.

  • Fixed incorrect default name in the save panel when using "Save As" on a document whose name begins with a period.

  • Added support for using the scroll wheel while making or dragging text selections.

  • Fixed bug in which the FTP browser would get confused and/or crash in situations where changing directories or refreshing the listing would result in the number of items shrinking.

  • Fixed crash which would occur in some situations as the result of a file name change or other external file system changes.

  • Fixed bug in which the Save panel wasn't made to point at the directory most suitable for saving a document. This might also manifest as the Open panel not opening on the directory that one might expect.

  • Fixed crash which could occur when using "Move to Trash" in a project list with multiple selected items.

  • Fixed bug in which PHP coloring would go wrong in cases where a variable was followed immediately by a quote character.

  • .DS_Store files and other Finder administrivia are now hidden from file listings in projects and disk browsers, even when "[Show] Everything" is turned on.

  • Made a change to maybe prevent jumbo previews from appearing in the Counterparts menu.

  • Made a change to the low-level SGML parser, so that double quotes inside of processing instructions <?...?> are expected to be balanced, and from that, prevent ?> inside of double quotes from prematurely ending the PI. This will ensure that (for example) PHP code is correctly scanned for functions and syntax coloring when it uses double-quoted strings that contain ?>.

  • Fixed bug in which spell-checking ranges would creep while editing in certain situations.

  • Fixed bug which would lead to multiple synthetic mouse events being lost (e.g. multi-click button programming using USB Overdrive or other mouse software), as well as some other unpredictable input event behaviors.

  • Fixed bug in which the Live Search box was initially unresponsive when the Editor_AlwaysOpenQuickFind expert preference was turned on.

  • Made a change to prevent the annoying system alert when trying to save a text document that doesn't use one of the state-approved filename extensions.

  • Fixed crash which would occur when insufficient memory was available to compare two very large files.

  • Fixed bug in which the Setup window bookmark editor would allow you to enter a bookmark without a server name, and then crash when trying to save it.

  • shell path and working directory are actually properties of the shell document AppleScript object class, not the shell window class. The scripting dictionary has been updated to reflect this.

  • Fixed bug in which the Counterparts menu would show gigantic previews from Photoshop documents instead of scaling them down to 16px for appropriate menu display.

  • Fixed bug in which the "Decimal" column in the Entities floater was not sorted correctly, and fixed layout goofs in the window. (Also, restored missing Hex column.)

  • When no other settings are present (having been carried over from old versions), Find Differences results will be presented on the largest display by default, rather than the "main" display (the one containing the menu bar).

    To revert to the prior behavior, issue this Terminal command:

    defaults write com.barebones.bbedit DifferencesResults_WhichScreen "WZMn"

  • All of the screen-geometry internals have been rewritten to use NSScreen instead of the legacy HIToolbox/Quickdraw APIs. Although there's no way of knowing whether this will fix any reported symptoms (such as window titles under the menu bar), it'll be easier to say "[NSScreen visibleFrame] is returning the wrong answer sometimes" and get help with a current API.

  • Fixed crash which would occur when using a #bbinclude script which returned text with no line breaks.

  • Fixed a collection of bugs which conspired to cause the application to consume more CPU when in the background than it should have.

  • Fixed spelling error in the Text Factory action popup.

  • Fixed a bug in shell worksheets in which they would cause event loop rollover in certain circumstances.

  • Fixed crash which could occur when closing text documents while the Live Search box was visible.

  • Updated the Wrap Around indicator for retina displays.

  • Updated the Clippings menu title art for retina displays.

  • When making the sidebar visible in non-project windows, limit its width for the sake of appearance and usability.

  • Fixed bug in which $CWD of the frontmost shell worksheet was used to seed the Open File by Name cache, which would cause long stalls when bringing the Open File by Name window up, even if the worksheet was not active. Now, $CWD is only used if the worksheet is in front, and the working directory is not the current user's home directory or a direct ancestor of it.

  • Changed the counterpart discovery logic ("Open Counterpart" and the Counterparts navigation bar menu) so that it looks in the document's directory (and suitable ancestral peers) before consulting Xcode or the Open File by Name cache.

  • Made a change to significantly improve the performance of counterpart matching for C-family sources.

  • The YAML parser wasn't handling EOF correctly in certain circumstances, resulting in incorrect fold points throughout the document.

  • BBEdit will now ingest your login environment in order to determine the P4CONFIG environment variable, if configured. If P4CONFIG is not set, BBEdit will look for .p4config files starting in the same directory as your source file, and searching up the directory tree.

    If your Perforce working copy resides on a remote or MacFUSE volume, this search is disabled by default, and BBEdit will simply check your home directory for a .p4config file. If desired, you can enable searching for .p4config on remote volumes with:

    defaults write com.barebones.bbedit DisableP4ConfigScanOnRemoteVolumes -bool NO

  • Fixed bug in which AppleScript comparison operators were potentially being unnecessarily executed multiple times for each comparison test. (There's no evidence that this caused any incorrect behavior, only that it was wrong.)

  • Fixed bug in which the Undo state for "Remove Line Breaks" was incorrect, leading to lost content when undoing a Remove Line Breaks operation.

  • Use NSUserName/NSFullUserName instead of CSCopyUserName.

  • Completed the list of ARC storage qualifiers and added some missing property attributes for Objective-C/C++, and added clang-specific __has_XXX keywords to the built-in keywords for C/C++/Objective-C/C++

  • Fixed bug in which the Objective-C/C++ function scanner would get confused by @interface and @protocol forward declarations.

  • Added a "Unix man page" language module, which is useful for live-previewing mandoc files as you edit them. (There's no "function" navigation or syntax coloring, only live-preview support.)

  • Added expert prefs help for the ExtraSpaceInTextViews setting.

  • Fixed bug in which the insertion point was not drawn correctly in inactive text views (it should have been drawn as a dashed line, but was drawn solid).