BBEdit 8.6 Release Notes

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

For information on changes made in previous versions of BBEdit, 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 8.6 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

  • The Markdown language module now supports syntax coloring.
  • If you choose “Preview in BBEdit” when a Markdown source file is in front, BBEdit will run your Markdown source through the Markdown script, and so your preview reflects what the file will look like in a web browser. Like the previews of HTML source files, the Markdown preview will update as you edit the file.
  • If a file contains an Emacs variable block (or line) with a "mode: " variable in it, BBEdit will attempt to match the mode name against the installed languages, before attempting to match the file name suffix or guess based on the file’s contents.

By default, a language module’s mode name is based on the language’s display name, converted to lower case and with spaces changed to hyphens. Thus, “Grep Search Pattern” would become “grep-search-pattern”.

For additional flexibility, the language module developer can specify a list of Emacs modes that should match that language (above and beyond the mode derived from the language’s display name). This is done in the language module’s plist with the BBLMEmacsModeNames, which is an array of strings, thus:

<key>BBLMEmacsModeNames</key> <array> <string>object-pascal</string> <string>mpw-pascal</string> <string>lightspeed-pascal</string>

(This example provided for illustrative and entertainment purposes only.)

  • If the insertion point is within a pragma mark, the function menu now indicates that (just like functions)
  • Convert to ASCII now replaces the Euro sign with ‘[euro]’ instead of ‘O’.
  • BBEdit now features built-in support for Markdown, with the function popup used for navigating elements in the file, and folding support.
  • There are two new commands: “Save as Styled HTML”, on the File menu; and “Copy as Styled HTML”, on the Edit menu. Given a document with syntax coloring on, these commands will generate HTML code that duplicates the layout of the selected text (for copying) or the entire document (for saving).
  • The source list used for multi-file searching and Text Factory application now includes the directories being browsed in open Disk Browser windows.
  • BBEdit’s Perforce support now uses the ‘p4 login’ mechanism.

If for some unforeseen reason this causes problems, you can restore the old behavior through a new Secret Preference:

defaults write com.barebones.bbedit Perforce:PerforceDoNotUseP4Login -bool YES
  • By default, BBEdit will avoid writing extended attributes (HFS Type/Creator) to volumes which don’t natively support them (i.e. to avoid creating the ._FILE) when it is safe to do so (i.e. we’ll be able to re-open the document correctly later.)

This behavior can be controlled by

defaults write com.barebones.bbedit Filing:WriteExtendedAttributes <value>;

value should be one of Always, Never or Smart. Smart is the default.

  • The TeX language module has been significantly enhanced, with folding support, improved section/subsection detection for the function menu, much more robust math-mode detection, and greatly enhanced LaTeX support. These changes resolve various reported bugs, as well.

If you wish to place a “marker” in the function menu, you can write a comment of the following form:

%: this is a mark

This comment syntax matches that used by TeXShop.

The new TeX module also includes some support for ConTeXt, in the form of recognition and generation of fold ranges for \startXXX…\stopXXX environments, and special-case support for the “mode” environment (we ignore the contents of the mode environment, because it often contains out-of-order environment start/stop commands which can confuse the parser).

  • The Java language module has been rewritten, and gets all sorts of goodies: folding for functions, inner class support, recognition of interfaces, and listing of abstract method declarations in the function popup.
  • The Java language module generates fold ranges for any brace-delimited block that has at least N lines, where N is a preference settable from the command line. For example, to set the minimum number of lines at 4:
defaults write com.barebones.bbedit LanguageSpecific:MinimumLinesForBlockFold:Java 4
  • Baked in support for /usr/include and /usr/local/include as search locations (so they don’t need to be in the default search paths)
  • BBEdit can now read and write the “binary property list” format used by default in Mac OS X 10.4 for storing application preferences files. This makes it easy to use BBEdit as an editor for such files. For bonus points, BBEdit’s support for editing-in-place of Gzip-compressed (.gz) files extends to binary property list files. (And yeah, multi-file search reads them too.)

Changes

  • The FTP/SFTP browser no longer presents an alert to confirm bookmark selections that involve changing to a different server or account.

If you preferred the old behavior, there is a preference to restore it:

defaults write com.barebones.bbedit FTP:ConfirmServerChangesFromBookmark -bool YES
  • There’s a new BBLM property list key: BBLMKeywordFileName. It contains a string, which is interpreted as the name of a file in the LM bundle’s “Resources” directory which in turn contains the language’s keywords. The file is read as single-byte Mac Roman text, keywords separated by white space.

NB: Since only coded language modules are currently delivered as bundles, this key is not available to codeless language modules; for those you should continue to use the BBLMKeywordList key.

  • The “Include passwords in proxy URL drags” FTP preference has been removed.
  • The “Remember Password” check box in the modal “Save to FTP/SFTP” dialog is gone; the password you use will always be stored in the system keychain.
  • The “Remember bookmark passwords” FTP preference has been removed; BBEdit will always save bookmark passwords (in the Keychain as before).
  • Removed “Find All Matches” switch from File Search Preferences, and added it to the Open By Name dialog
  • Restored the “Skip (…) Folders” option to Find Differences, file groups, multi-file search/replace, Text Factories the site/folder commands in the HTML markup tools, and the bbdiff/twdiff tool.
  • BBEdit 8.6 now requires Mac OS X 10.4 or later. If you’re still using 10.3.9, BBEdit 8.5.2 is the most recent version you will be able to run on your machine.
  • “Save a Copy…” now drops a sheet.
  • “Make Backup Now…” now drops a sheet.
  • The default setting for honoring font settings in saved state (Text Files → Honor Saved State → Font Settings) is now OFF; as such the preferred font setting in the Editor Defaults preferences will override the font settings stored in the document’s saved state.
  • When honoring font settings in saved state is turned OFF (Text Files → Honor Saved State → Font Settings), changing the preferred font (Editor Defaults preferences) now takes effect immediately for all open documents and browser views.
  • When opening a file from an FTP browser, BBEdit now stores the “last session” information, which is shared with the “Save to FTP/SFTP Server” dialog. The last-session information is also used when opening a new FTP browser.
  • Disk browsers will no longer list invisible directories when using a setting in the “Show:” popup other than “All Files”.

Fixes

  • Fixed crash which would occur when deleting saved Grep patterns from the beginning or middle of the saved patterns list in the Text Search preferences.
  • Fixed bug which limited text entry in the comment fields (in the Language Options dialog) to numeric characters.
  • Fixed crash that would occur when running out of memory during a Replace All on a sufficiently large file.
  • Worked around OS crash which would occur when trying to auto-save a very large file. This change also significantly reduces the amount of memory required during the auto-save process, as well as the time and disk space required to create the auto-save file.
  • Fixed a bug where scrolling/editing in split view #1 could cause the background (page guide, tab stops) to get out of sync.
  • Fixed crash when clicking on the web-safe color palette with an empty document in front.
  • Fixed a bug in which 7.x-era FTP bookmarks weren’t imported.
  • The Grep Search Pattern and Grep Replace Pattern syntax coloring now uses the preferences “Keyword” color for coloring escaped character sequences.
  • Fixed a bug where the selection range was scrolled into view before folds were expanded. This caused “Find Again” to sometimes to leave the match scrolled offscreen.
  • Fixed a bug where under certain conditions the startup action didn’t fire when the application was “reopened”.
  • Fixed a regression where full paths could not be opened via Command-D
  • Fixed a pair of bugs which conspired to cause the bbedit tool to abort when trying to open a path with a trailing colon
  • Make sure the Find dialog titlebar appears on screen if the saved geometry doesn’t intersect nicely with the current screen(s)
  • Fixed bug in which a bookmark created in an FTP browser did not correctly retain the “SFTP” setting if a connection was not open at the time the bookmark was created.
  • Fixed a mis-named parameter in the language module docs.
  • After telling the spell checker to Learn or Ignore a word, we remove the squiggles from other instances of that word.
  • Fixed bug in which the function popup item didn’t resize correctly when switching to different files in a browser window.
  • Fixed the incorrect description for “show documents drawer” in the scripting terminology.
  • Fixed capitalization for “Default list font” in the preferences search results
  • Fixed a bug where apple events (e.g. and commands from the bbedit tool) where dropped while the confirm close alert for a source control form (SVN commit) window was up.
  • Command-D can be used for “Don’t Commit” in the source control form window confirm close dialog. (It doesn’t appear on the button.)
  • Disk browsers now open only one file descriptor per opened directory, rather than one file descriptor per listed directory; this reduces resource consumption and the risk of failure when viewing listings with lots of directories.
  • Fixed bug in which saving a document would cause it to become disconnected from the Text Printing preferences, such that changes to the prefs didn’t affect printing options for the document until the document got reopened.
  • Fixed a bug in which SFTP passwords were stored incorrectly in the system keychain, so depending on what other passwords were there, the ‘wrong’ password would be used when connecting to an FTP or SFTP server. This fix also improves intoperability with passwords stored by other Mac FTP/SFTP clients.
  • Fixed a bug where password fields in dialog manager modal dialogs (e.g. Save to FTP Server) could inadvertently leave secure input enabled. This in turn broke applications which polled the keyboard (e.g. SketchFighter) as long as BBEdit was running, once the condition was triggered.
  • When writing the temporary Perforce config file, only emit fields for which we have values
  • Fixed a bug in which a 22701 error would be reported when using the Bookmark popup in the FTP browser to change servers at a point after which the FTP connection was automatically closed.
  • Removed support for colon-based paths in Find File By Name
  • Added super-secret logic to Open Selection so the right thing happens more often than the wrong thing.
  • Fixed enabling of Open button in Open by Name dialog.
  • Fixed bug in which {disk, results} browser windows didn’t auto-guess the file’s language correctly.
  • Restored metadata missing from the default support folder items.
  • Selecting a javascript function, class name, or pragma (mark) from the function popup will now select the whole name, including the last character. (Off by one error.)
  • Fixed the proximate cause of a crash which could only occur when there was no Application Support/BBEdit folder and creating it failed.
  • Fixed a crash which resulted from opening a file with corrupt/invalid saved fold ranges.
  • Fixed a bug where in certain situations, clicking in the gutter of a split text view had the side effect of changing which view had keyboard focus.
  • Fixed a bug where clicks in the gutter were (sometimes) ignored in a split text view for the split that did not have keyboard focus. (This was masked by the bug above.)
  • Fixed a bug where “Save Default Window” was omitted from the menu key list.
  • Fixed bug in which script application packages in Application Support/BBEdit/Scripts were listed as folders, not as runnable scripts.
  • The Disk Browser folder list now hides packages unless the File Type menu is set to “All Files”.
  • Multi-file search/replace and Text Factories will skip packages unless “Search Invisible Folders” is turned on.
  • Fixed a bug where the Next/Previous Function command did not always work predictably.