BBEdit 10.1.1 Release Notes
This page documents all feature enhancements and bug fixes included in the BBEdit 10.1.1 update.
For details on all the new features and enhancements offered in BBEdit 10.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 10 requires Mac OS X 10.6 or later (10.6.8, 10.7.4 or later recommended).
PowerPC-based Macs are not supported.
In project windows, "New Text Document" and "New Folder" now prompt you (using a standard save panel) for the location of the item you wish to create. After creating the item, BBEdit will figure out whether the item needs to be added to a collection (if one was selected when using the commands) or to the top level of the project, or adjacent to another item already in the project.
There's a new script attachment point for documents:
documentShouldFinalizeAuthenticatedSave. This gets called in cases
where an authenticated save is necessary (for text documents only).
An attachment script for this purpose might look like this (the
comments are important, so read them!):
on documentShouldFinalizeAuthenticatedSave(theDocument, tempFilePath, destinationPath)
-- on input: tempFilePath points to the contents of the document -- written to a temp file, ready to move to the destination; -- destinationPath is where the file should be copied. -- on exit: if the operation succeeded, delete the temp file (or -- else the application will assume the operation failed) and -- return YES for success -- this is pretty straightforward: "cp tmpFilePath destinationPath" do shell script "cp" & " " & quoted form of tempFilePath & " " & quoted form of destinationPath with administrator privileges -- now remove the temp file, this indicates to the application that we did the work do shell script "rm" & " " & quoted form of tempFilePath return true end documentShouldFinalizeAuthenticatedSave
More improvements to Open File by Name:
If there's no project open, and Xcode isn't running, OFBN will look in the root directory of the frontmost disk browser (if available). If there isn't one, then OFBN will look in the CWD of the frontmost shell worksheet (if available). And finally, if that isn't available, OFBN will use the directory containing the frontmost text document (if it has been saved to disk).
Choosing "Open Selection" (which is available when appropriate text is selected in the front editing view) will now bring up the Open File by Name window, and populate the search box with the selected text (and the search results, if any).
The contents of the search box are now accessible via the scripting
interface, as the
search string property:
get search string of open file by name window
set search string of open file by name window to "Hello World"
Changing the search string will update the results.
The site setup panel (for each site in the BBEdit -> Setup -> Sites list) now contains an "Addressing:" setting. This lets you control the default addressing used when generating links for anchor and image (and other tags with URI attributes). The settings are:
Automatic (pre-10.1.1 behavior): When the linked file is in the same folder or a descendant of the document, generate the link relative to the document. Otherwise, generate the link relative to the site root directory.
Relative to site root: Always generate the link relative to the site root directory.
Relative to document: Always generate the link relative to the document.
The "Strip trailing whitespace" and "Ensure file ends with line break" options can now be configured per-language, if desired.
BBEdit will no longer automatically reveal documents in the project
list when you select them.
View => Reveal in Project List still
works. If you want automatic revealing back:
defaults write com.barebones.bbedit AutoRevealSelectedDocumentInProjectList -bool YES
.bbeditSettings files is now off by default, gated
on an expert preference. The feature is deprecated, so don't get too
attached to it because it's going to go away for good in a future
version. Meanwhile, if you rely in it, please let us know how you
use it, and you can turn it back on using an expert preference:
defaults write com.barebones.bbedit EnableSettingsScan -bool YES
Added support for the emacs
BBEdit now makes a reasonable guess at a filename extension when using "Save As" for a new document.
Language modules can specify a "
with a string value. This will be used if necessary. If it is
absent, the first item in the
BBLMSuffixMap array is used.
You can also use an expert preference to set the preferred extension on a per-language basis:
defaults write com.barebones.bbedit PreferredFilenameExtension_<LanguageName> -string "abc"
<LanguageName> with the actual language name; for example:
defaults write com.barebones.bbedit PreferredFilenameExtension_C++ -string "cxx"
defaults write com.barebones.bbedit PreferredFilenameExtension_YAML -string "yaml"
Note that the extension you specify should not include the leading period.
The user manual is no longer included in the application package. When you choose "User Manual" from the help menu, the application will download the proper user manual PDF and store it in the Application Support folder. (Thus, it only needs to download the PDF once, unless you remove it or update to a new version.)
The "Open the User Manual" option has been removed from the first run dialog.
The file filter menu used in disk browsers and project windows has been reworked to make it a little more useful. The options are now:
All Available: When selected, an item is listed if BBEdit recognizes it as one of its own document types. This includes text files, images, text factories, and so on.
Text Files Only: Only text files will be listed.
Everything: Every item is listed, including invisible files and folders.
The default keyboard equivalent for "Un/Comment Selection" is now Command-/, for consistency with Xcode.
The Markup -> Utilities -> Comment and Uncomment commands have been removed, since they're redundant with Text -> Un/Comment.
When using Un/Comment, if nothing is selected, BBEdit will apply the line-comment delimiter to the entire line containing the insertion point. If you preferred the old behavior:
defaults write com.barebones.bbedit CommentWholeLineWithInsertionPoint -bool NO
PreferLineCommentsWhenCommenting expert preference
now defaults to
YES (and it is documented in the Expert
Preferences help now), so BBEdit will prefer to use the language's
line-comment delimiter whenever possible.
Fixed bug in which certain external file system changes would cause the project window to inappropriately activate (and de-minimize, if it had been minimized).
Fixed bug in which a project document closed with its file list hidden would be confused when reopened.
Fixed bug in horizontal scrollbar calibration in files with extremely long lines.
Fixed a TeX syntax coloring bug for math sections
Fixed bug in which an incorrect error was returned from attempts to save changes in a Zip archive.
Fixed crash in the Pascal function scanner which would occur in files that used "Object" as a data type.
Fixed bug in which dragging a window to a screen that was too small to contain it would fail to resize the window to fit on the screen.
Fixed bug in which the markup panel wouldn't open to the proper size when it was invoked at or below a certain point on screen.
Updated the Growl framework to 1.2.2.
Fixed bug in which CSS
url(...) values with nothing (or
only whitespace) in between the parentheses would crash the CSS
Restored site-installation-specific preferences (for large managed installations) to working order.
Fixed bug in which an "omnibus" attachment script
Application Support/BBEdit/Attachment Scripts/BBEdit.scpt) was
not consulted for attachment points when it should have been.
Fixed bug in which an inopportune click in the markup tools palette while the markup panel was coming up would result in an undismissable error alert behind the markup panel, and a hung application.
Fixed cosmetic bug in which stale action buttons were briefly visible in windows with the file list collapsed.
Fixed bug in which settings saved in document state were inappropriately applied when language-specific settings already existed.
.cxx as a factory default extension mapping for
Worked around bug in the old Flip video codec (which many folks still have installed) which would cause BBEdit to crash when opening or viewing images.
Fixed bug in which properties specified in an "open" event were not properly applied when the target of the event was already open. Among other things, this meant that saved workspace restoration didn't move any palettes that were already open.
Fixed bug in which projects would stop letting you interact with items stored on unmounted volumes, even after the volume had been remounted. (For example, an SMB or AFP server volume.)
Fixed a couple of bugs which made it difficult to relocate project documents, and which may interfere with a project's ability to find files contained in it.
Fixed a latent memory management bug in the Open File by Name text ranking.
Made a change to improve performance of "Open File by Name" in situations where a long file name (often complete) was entered or pasted in to the search box.
Clicking on a project list item that is already selected will now cause it to be opened, in the case where it had previously been closed by clicking on the "X" widget and nothing else had been selected in the meantime.
Fixed bug in which revealing a file in the project list would sometimes twist open the wrong ancestor, in cases where the ancestor's name was a prefix of the file's actual ancestor directory name.
Fixed bug in which clicking on a project list item would cause it to open in a new window when the project window's editor view was collapsed.
Quieted a console warning about an autoreleased
NSCFLocale, which occurred when doing a single-file Replace All.
Fixed crash which would occur when attempting to use a font with defective metrics, such that it reported a zero line height.
Fixed bug in which manually selecting a tag name from the markup panel's combo box did not correctly autofill the panel's attribute list.
When using the short-form "
echo" construction in PHP, the
= is now colored as a directive, along with the opening
Made some changes to improve the accuracy of the Objective-C guesser, so that when opening a header file, the chances of it being correctly treated as Objective-C are improved.
The "//" operator in Perl should now be interpreted correctly in context.
Fixed bug in which changes to the Preview Helpers browser list did not take effect until quitting and relaunching BBEdit.
Fixed bug in which an overpopulated "Preview In" browser menu would have most of its commands disabled when they shouldn't have been.
Fixed bug in which scripted operations returning a list of results would incorrectly return a null result rather than an empty list in the case of no results.
Fixed bug in which "contents of selection of text" would return the wrong text in cases of a rectangular selection.
Added some missing expert preference defaults for CSS generation:
CSSMarkup_NewLineBeforeBrace # use -bool NO to cuddle braces
CSSMarkup_SimpleRulesOnOneLine # use -bool NO to use multi-line blocks for all rules
CSSMarkup_PreferShortHexColors # use -bool NO to force #XXYYZZ instead of #XYZ
files list visible" in the scripting terminology,
as a property of the "
project window" class (which is used for both
multi-document windows and projects). Changing this property has the
same effect as using "Show Files" or "Hide Files" on the View menu.
Fixed cosmetic in multi-file replace "Save" dialog.
Fixed bug in which the "
move" scripting verb reported an
error when trying to move documents between editing windows.
Fixed bug in which the Editor Defaults tab width and a couple of other preferences settings didn't take effect when edited unless you remembered to hit Enter.
"Strip trailing whitespace", if selected, is now applied before "Ensure file ends with line break", to avoid an edge case in which the file grows an extra line if the last line consists solely of whitespace.
Fixed bug in which items on unavailable volumes would show no icon rather than the intended generic icon.
Fixed bug in which BBEdit would inappropriately attempt to resolve remote volume references in projects when drawing the list of files.
Fixed bug in which multiple selected files were not accepted from the "Open Files with BBEdit" service. (Only the first selected file was opened.)
Fixed bug in which files opened from collections in the project list would inappropriately expand their parent hierarchy in cases where the item's parent folder was also in the project list.
Fixed bug in which documents were inappropriately revealed in the project list when being reopened in the course of opening the project document.
Fixed bug in which menu scripts which were aliases to the
actual script file would not work correctly unless the alias name
ended with "
.scpt" or one of the other filename extensions known to
Fixed bug in which "Save Default Text Window" incorrectly read "Save Default Project Window" when the front window was a non-project window containing multiple documents.
Fixed bug in which project windows (backed by an actual project on disk) or instaprojects were inappropriately mixed in with non-project windows which contained multiple documents.
Fixed bug in which querying the "
open file by name window"
property from the scripting interface would result in undesired
opening of the Open File by Name window, along with its attendant
Fixed bug in which certain changes to language-specific preferences would not take effect when they should have.
Fixed bug in which save authentication was inappropriately attempted in a case where it was unnecessary; specifically: a document with only dirty state and no content changes.
Normalized the behavior of Un/Comment when applied to text enclosed in block comment delimiters; this also ensures that HTML/XML text is commented correctly when using this command.
Fixed crash which would occasionally occur when closing a window while the Multi-File Search window was also open.
Fixed bug in which certain PHP expert preference keys were misnamed, which led to them being ignored (including their factory defaults).
Fixed bug in which clicks in a floating window weren't correctly passed through to the window's content, unless the window was the floating window that had been most recently clicked.
Added the PHP expert preferences to the help.
Assorted memory management fixes.
Fixed bug in which the Setup window would appear on screen before moving to its saved position.
CSS Un/Comment now works like the other languages.
Fixed bug in which the "Save Default Window" entry for differences results showed the incorrect name.
Fixed bug in which some of the fields of the "New HTML Document" dialog were ignored.
Made a change to reduce the amount of workplace-inappropriate daydreaming done while the application is idle.
Fixed a bug in which too much filesystem work was done by
the internal document mechanics; it was most noticeable on slow
file systems like
Fixed crash which would occur when attempting to script a Find Differences operation and one (or both) of the items were not references to open documents or items on disk.
When using the Markup Builder, if there is only one option for tag creation (e.g. inside of a list), the panel will preconfigure itself for that option, rather than making you choose it from a one-item combo box first.
Corrected some omissions from the Tcl keyword list, and created a new list of predefined names.
In project lists, nodes representing aliases to folders can be tipped open to reveal their resolved contents.
Fixed bug in which certain file system changes would cause the active document to be undesirably switched to the one selected in the project or Currently Open Files lists.
Put in a defense against language modules with malformed suffix mapping lists (any or all of the mapping items are zero length).
preferences are in use, "Save Default Window" will no longer store
the file list visibility, so that those expert preferences aren't
Leading and trailing whitespace and line breaks
are now stripped from string values in codeless language modules, to
resolve situations in which a multi-line formatted pattern using
(?x:...) ended with one or more carriage returns after the closing
parenthesis, which would in turn cause the pattern to not function
Fixed bug in which certain malformations in codeless language modules were not detected early enough to prevent them from causing problems later on.
Codeless language modules undergo a more thorough check at load time,
to catch errors such as missing key values, incorrect pattern syntax,
and a couple of other things. The
DebugCodelessGrepPats expert preference
is no longer needed; any problems are logged to the console and problems
of sufficient severity will prevent the module from loading at all.
Fixed bug in which "Run in Terminal" and "Run in Debugger" were inappropriately sticky for scripts run from the Scripts or Apply Text Filter menus.
Fixed a bug in which typing at the end of a line would fail to scroll the insertion point into view as it should have. Merry Christmas, Jim.
Armorplated the site of a reported (but not reproduced) crash; and made a change to startup error reporting in order to prevent a future occurrence.