BBEdit 11.0.3 Release Notes
BBEdit 11.0.3 is a focused maintenance update which includes fixes for reported issues.
For details on all the new features and enhancements available in BBEdit 11, please see its release notes.
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 11.0.3 requires Mac OS X 10.8.5 or later (10.9.5 or later recommended; 10.10 supported).
Made a change to the internal "Replace All" mechanics to improve performance by a factor of two (results may vary).
Any unprintable characters in the ASCII range are now drawn as inverted red question marks, whether or not "Show Invisibles" is turned on. This will help reduce confusion when working with files that contain many such.
Zero-width Unicode characters are now drawn as a gray vertical bar when "Show Invisibles" is turned on.
Typing in the search box in the "Go to Named Symbol" panel will now select the first matching item.
Fixed bug in which the HTML syntax checker would sometimes
report false positives for duplicate id
attribute values.
When saving an existing file to disk, if the file being written already has a correct HFS file type (whether it needs it or not), the file type is preserved, which prevents the OS from arbitrarily changing the document icon and/or refusing to show QuickLook previews.
Fixed bug in which text transform scripting verbs would not return their output to scripts run from the built-in Scripts menu.
Updated the built-in list of VectorScript predefined names.
The PHP language module will now stop scanning when it
encounters a __halt_compiler()
, to avoid potentially getting
confused by any subsequent binary data.
When mapping file names to languages, all extensions are
tested before attempting to use exact or wildcard file name
matches. This results cases such as the one in which a file named
Makefile.pl
is inappropriately mapped to the Makefile
language instead of Perl due to the order in which language
modules are queried for file name matches.
Fixed crash which would occur when cancelling "Create Bookmark", "Go to...", or "Create Directory" in the "Save to FTP/SFTP Server" dialog, or when cancelling "Create Bookmark" or "Go to..." in the FTP/SFTP browser. Shhhh!
Fixed bug in uncommenting of line comments on a single line containing the insertion point (or when the selection range did not include a trailing line break).
Fixed bug in which attempting to save a zero-length file with Windows line breaks would report a -50 error.
The path controls in the Find Differences dialog box now have tooltips when appropriate.
Adjusted the "is text file" content check to pre-emptively rule
out Photoshop files, which look enough like text files internally
to pass the test. Any file which has a nonzero HFS file type that
is not 'TEXT
' or a relative is now ruled out in the "is a
text file" test, in advance of any content checking. Together
these two changes will prevent multi-file searching from finding
text in files where it shouldn't.
Made some changes to make the default list of preview helpers more useful.
When examining a file to determine whether it is a Zip archive (for opening as well as when searching), BBEdit will first examine the file's UTI (Uniform Type Identifier) information; and if the UTI does not indicate that the file might be a Zip archive, filtering ends at that point. In some cases, this can lead to files being skipped that are in fact Zip archives, but which don't have conforming UTIs. To solve this problem, you can disable UTI checking:
defaults write com.barebones.bbedit InspectUTIWhenFilteringZipFiles -bool NO
Note: Disabling UTI inspection means that BBEdit will always have to open the potential Zip file to inspect its contents. This will slow down batch operations such as multi-file search/replace, text factory application, and file filtering for projects and disk browsers when the directory being processed contains a lot of files that are potentially Zip archives (and not previously determined to be text files).
Fixed a bug in the Ruby module which would cause incorrect generation of fold points if an iterator ended with a "trailing if" or "trailing unless", such as:
a = b.c.select { |d| foo(d) unless d == nil }
ctags
file discovery will now ignore "tags" files
found inside of git and Mercurial repository data directories.
Fixed a bug in which the C/etc function scanner would
get confused by #define
s with comments and character escapes in
them.
In order to add callouts to a PHP document, you had to use all-caps. For example:
#MARK these words appear in the function popup
That's been fixed so that all of the call-out markers can be UPPER CASE, lower case or MiXeD caSE.
The full set includes: fixme
, fix-me
, mark
, note
, nyi
,
review
, todo
, to-do
, xxx
, ???
and !!!
. Any of them may
have a single, optional colon at the end, before the space and the
text to appear in the function popup.
Fixed a bug in the PHP callout parser which resulted in the selection range being set one character short of the full callout. (When you choose a callout from the function popup, it selects the text of the callout but was missing the last character.)
The "Automatically refresh documents as they change on disk" setting in the Application preference was changing the wrong preference, so it had no effect.
Made a change to the improve the chances of the application reloading documents from disk which are being written to multiple times per second by an external process.
Put some code in bbedit
and bbdiff
(and edit
/twdiff
) to
fix a case in which the --wait
flag didn't work when the
application needed to be launched.
Fixed a bug in which double-clicking on an HTML/XML tag edge to
select the CDATA
contents would incorrectly contract the
selection if the BalanceIncludesDelimiters
expert preference
was turned off (as is the default).
Updated the keyword lists for C++ and Objective-C++ to include some previously missing C++11 keywords.
Fixed bug in which application state restoration would not properly restore the window grouping of untitled documents.
FTP/SFTP browser windows that get opened as part of state
restoration will no longer block with the connection sheet in
cases where a local SSH public key is found at
~/.ssh/user@host
.
Added readonly
and readwrite
to the keyword lists for
Objective-C/Objective-C++.
Fixed crash (radar 19971151) which would occur when pasting many (more than a few) lines of text into a field in the text factory Replace All options dialog and then dismissing it.
Multi-line text in the text factory Replace All options dialog
is now normalized so that the line breaks escape to "\r
" rather
than "\x{0A}
".
Fixed bug in which the runtime environment for #!
scripts run
from within the application get set up with an empty variable
(both name and value). This in turn broke numpy
, so that Python
scripts using it would fail when run from within the application.
When "Include row headers" and "Include table header" are both
turned on, Create Table Shell (Markup -> Tables) will now add an
extra <th>
container at the beginning of the table header, to
preserve alignment between the header columns and the rest of the
table.
fin