SUPPORT : BBEdit : Archived Release Notes : BBEdit 5.1 Release Notes
This page documents all feature enhancements and bug fixes included in the BBEdit 5.1.0 maintenance update.
Enhancements
General Enhancements
-
BBEdit now functions as a Perl development environment, though integration with MacPerl. (See the BBEdit 5.1 Delta Manual, part of the BBEdit 5.1 update package, for more details.)
-
BBEdit now provides support for many common Projector operations, through the use of the SourceServer application. (See the BBEdit 5.1 Delta Manual, part of the BBEdit 5.1 update package, for more details.)
-
Search Results windows now show a representation of the search string in the window's title.
-
Several new character escapes have been added to BBEdit's Grep syntax:
-
\s matches any whitespace character (space, tab, carriage return, form feed)
-
\S matches any non-whitespace character (anything other than space, tab, CR, form feed)
-
\w matches any word character (generally alphanumerics)
-
\W matches any non-word character.
-
\d matches any digit (same as "#", which is still supported)
-
\D matches any non-digit character.
Note that the "non" variants \W and \D will match carriage returns. Also, the definition of a "word character" is somewhat existential: a word is any run of non-word-break characters bounded by word breaks. Word characters in the ASCII range are generally alphanumeric, and characters whose value is greater than 127 are also considered word characters. Any character matched by "\s" is by definition not a word character; thus, anything matched by "\s" will also be matched by "\W" (but not the reverse!).
-
-
BBEdit's "Hard Wrap" command has been enhanced:
-
The "None" option has been renamed to "Flush Left".
-
The "Indent All Lines" option has been renamed to "All Lines".
-
There is a new indentation setting, called "Same As First Line". When selected, BBEdit will indent all lines to the same indentation as the first line of the selection (or document, if wrapping the entire document). Consider the following text ("|" indicates the left margin, '-' indicates an indentation):
|----hello world, this is a test. |this is some more text.
When wrapping with "Same As First Line" to a suitably short width, the results will now look like:
|----hello world, this |----is a test. This is |----some more text.
-
Indentation may now be modified by using the "Relative To First Line" switch. If this switch is turned on, filled paragraphs are indented by the same amount as the first line of the selection (or document, if wrapping the entire document).
So, for example, if the above text is wrapped with Reverse Indent and Relative To First Line, then the results will look like
|----hello world, this |--------is a test. This |--------is some more text.
If wrapping with First Line Only and Relative To First line, you'll get
|--------hello world, |----is a test. This |----is some more text.
If wrapping with Indent All Lines and Relative To First Line, the results will be
|--------hello world, |--------this is a |--------test. This is |--------some more text.
(Note that if you wrap with Indent All Lines and Relative to First Line, the net result is to shift the paragraph right by one tab stop and then reflow it.)
The Relative To First Line switch is disabled if you select the "Same as First Line" indentation.
-
-
The "Arrange..." dialog now remembers the last-used setting across runs of the application.
-
When in BBEdit's Find dialog, you can elect to use a Sherlock index as the basis for a multi-file search. BBEdit will pass the entered search string to the Sherlock find-by-content mechanism; it will then search the list of files that Sherlock returns, subject to the file filtering criteria specified in the BBEdit Find dialog. Any matches will be presented in the usual BBEdit fashion.
HTML Tools Enhancements
-
The forms dialog will now remember the method across invocations.
-
The HTML syntax checker will now warn of elements that are implicitly closed; this behavior can be controlled via a new switch in the "HTML Tools" preferences: "Syntax Checker Warnings:/Implicitly Closed Elements".
-
Added the new BBEdit Prerelease placeholder. It will insert the current version of BBEdit.
-
When doing a check or an update you can now choose whether to process nested folders.
-
If you hold down the Option key, the "Preview" button in the HTML tools palette will change to "Preview New". Clicking it will preview the HTML document in your desired Web browser, but will open it up into a new window in the browser (for browsers that support the requisite Apple Events).
-
a new menu item, "Normalize Tag Case", has been added to the Utilities submenu of the Markup menu. When invoked, Normalize Tag Case will make the case of tags and attributes conform to the setting in the HTML Markup preferences.
-
BBEdit now supports the use of Dreamweaver source profiles to control the generation and formatting of HTML code. This entails the following changes to the application:
-
there is a new preference panel: "HTML Markup". The Tag Case and Attribute Quoting settings have been moved here from the HTML Tools preferences, and there's a new Tag Case option: Use Profile. If you select this option, BBEdit will honor the tag case specified in the DreamWeaver source profile when generating new code. (Use the "Source Profile" setting to choose the source profile.)
-
A new option has been added to the "Format..." dialog (Markup menu, Utilities sub-menu): "Source Format Profile". If selected, BBEdit will use the following information from the profile when reformatting your code:
-
line break and indentation settings (from the "?elements" section)
-
whether to use tabs or spaces to indent
-
number of columns per indent level
-
number of columns per tab character
-
If you select "Normalize Tag Case", BBEdit will use the profile's tag and attribute case settings, assuming that you have chosen "Use Profile" as the Tag Case option in the HTML Markup preferences.
For details on how to construct and edit source profiles, consult the DreamWeaver documentation.
-
-
When inserting empty tags, Tag Maker no longer selects them but rather places the insertion point at a place convenient for typing. This is more fluid and consistent with the behavior for container tags.
-
A new preference panel has been added: "HTML Colors". This panel allows you to configure the display of the Web Safe Colors palette and of the color popup menus.
-
Previously, clicking the file button or the current folder popup in the Image tool dialog would filter files based on content for images. For better performance, this could be overridden by holding down the Option key. Since different users wanted different default behaviors, a "Filter Images" checkbox has been added to the Image dialog to control this behavior, and holding down the Option key will reverse the sense of this setting on the fly.
-
The color popup menu now displays the hex value of the color as you navigate the menu.
-
All dialogs which incorporate a web safe colors popup now also display the hex value in proximity to the color swatch for easy identification.
-
The document, site, and image updaters are now Projector-aware.
-
The Convert to Table tool now allows empty cells to be generated if your data set contains them:
1,2,3,4 1,2,,4 1,,,4 1,2,3,4 1,2,3,4
-
The CyberStudio cleaner has been beefed up, and now cleans all proprietary CyberStudio tags.
-
the Label Cells setting in the Table dialog is now sticky.
-
The labels generated by the table tool no longer include white space between the <td> and </td> tags.
-
Added " to the entities table and modified the entity converter to ignore it (which is reasonable default behavior).
-
Empty ALT attributes are no longer inserted by the image tool and are now user controllable.
-
a URL scheme popup has been added to the Anchor dialog.
-
the Anchor, Frames, and Base tools now have a popup near the "Target" field in their respective dialogs, which provides for quick selection of a predefined target.
-
added the Home Page cleaner, which removes Claris-proprietary tags and attributes from HTML code. (Specifically, tags and attributes beginning with "X-Claris" are removed.) The Home Page cleaner is scriptable, and is also invoked by the Optimize command.
-
the HTML tools palette now opens significantly faster than before.
-
When using Tag Maker, you can now hold down the Option key while clicking the Insert button (it will change to "Insert..."). Doing so will cause BBEdit to bring up the appropriate tag editing dialog dialog for the tag you have selected; upon confirming the dialog, the fully qualified markup will be generated. If you cancel the dialog, no markup is inserted.
-
When processing files through BBEdit's HTML include processor (the "Update" commands), you can now include a Perl script. Consider the following Perl script:
#!perl -w my $file = shift @ARGV; my %args = @ARGV; my $key; print "We are updating $file\n\n"; print "Here are the variables that were passed ¬ to us\n---\n\n"; foreach (keys %args) { printf("%-20s %s\n", $_, $args{$_}); $key = $_; } print "\n\n"; print "Here are the environment variables\n---\n\n"; foreach (keys %ENV) { printf("%-20s %s\n", $_, $ENV{$_}); } print "\n\n"; if ( defined($key) ) { print "here is a little var substitution ¬ for \"$key\": #$key#\n\n"; } print "here is some placeholder subsitution ¬ 3:41 PM\n\n";Save it to a file called "example.pl". In an HTML document, write:
<!-- #bbinclude "example.pl" #x#="0987654321" --> <!-- end bbinclude -->
When you update the document, BBEdit will run the Perl script, passing to it the variable "x" with the value "0987654321". In addition, BBEdit sets up the following Perl environment variables, so that they're accessible from within the Perl script:
BBEditServerURL BBEditServerPath BBEditDefaultFileName BBEditTemplateDirectory BBEditRootDirectory BBEditLowercaseTags BBEditAlwaysQuoteAttributes
Fixes
General Fixes
-
fixed bug which prevented BBEdit from pointing the Open and Save dialogs to the right directory when necessary.
-
fixed bug in which hitting the Backspace key at the beginning of a document would erroneously mark the document dirty and put junk on the Undo stack.
-
Fixed a bug which would cause moveable modal dialogs to have active title bars when BBEdit was in the background.
-
Fixed a bug where after doing a multi-file search the second window would sometimes be drawn in an activated state.
-
the "Make Backup Now" and "Backup Options" commands are now disabled for files opened via FTP.
-
put in some machinery to properly reshape the cursor in various situations, mostly relating to Dreamweaver and FTP.
-
The "Add..." command on the Bookmarks popup in the FTP dialogs will now work while connected to a server.
-
offsets in error browser windows are now tracked when editing operations occur in corresponding editing windows.
-
browsing windows will now clear the text view area when nothing is selected in the list.
-
the "Selection Only" switch for searching now behaves in a fashion similar to "Start at Top": if a match is found, "Selection Only" gets turned off so that subsequent "Find Again" operations don't get 'stuck' on the matched string.
-
Fixed a bug where on resume BBEdit would enable the IC menu even though it wasn't in a position to process its commands (such as when a modal dialog was up).
-
fixed Search Results browser display of search strings containing "@".
-
The Edit and Tools menus will now be disabled when a modal progress dialog box is up.
-
Fixed a small glitch in the Perl syntax coloring scanner. BBEdit treats the case of a reserved identifier followed by '/' a little less aggressively -- now only the keyword 'split' is treated specially.
-
The Open Internet Config menu item is now enabled on systems which don't have the IC App but do have the IC control panel.
-
BBEdit now properly autoscrolls when using the Shift-right-arrow combination to select text.
-
BBEdit will no longer auto-scroll to the right when soft-wrapping to the window width.
-
fixed bug which would cause Apple and Edit menu selects to not be processed correctly when chosen while a modal dialog is up.
-
fixed bug in the Find dialog which would cause strange things (or nothing) to happen when choosing an item from the Apple menu.
-
Shift Left and Shift Right now behave better with soft-wrapped text.
-
Windows zoomed to full screen were being zoomed too wide. Fixed.
-
Fixed a bug where changing the status bar prefs didn't inval all the status bars in the open windows.
-
BBEdit will no longer issue an out-of-memory warning at the conclusion of a multi-file search if CodeWarrior IDE 2.x (Pro 1 and later) projects are encountered during the search.
-
tweaked the math used when tiling windows to make better use of the vertical screen area.
-
fixed old bug in which searching from the root level of a volume would ignore the "Skip (...) Folders" option and always search shielded folders.
-
fixed bug in the floating window subsystem which, when triggered, would cause floating palette windows to not reappear when bringing BBEdit to the front.
-
fixed bug in which BBEdit would crash the first time you tried to edit in a new untitled window, when the default language for new untitled windows (in the Languages prefs) was set to "(none)".
-
the Fortran syntax scanner now recognizes a "*" in column 1 as a comment character.
-
fixed bug in which unmodified usages of F1-F4 on the extended keyboard, which should bind to Undo, Cut, Copy, and Paste (respectively) would invoke any menu command that had a modified binding of Z, X, C, or V.
-
fixed bug introduced in 5.0.2 in which invisible characters were drawn in black instead of gray.
-
fixed bug in which combining a triple-click on a word with a drag gesture would erroneously drag the word, rather than select multiple lines.
-
fixed bug in which spell-checking an HTML document which contained a number immediately before a closing tag would cause the closing tag to be reported as a spelling error.
-
BBEdit doesn't create so many folders anymore; the installer and distribution will ensure the existence of any necessary folders. This makes it easier to use a free-standing copy of BBEdit.
-
fixed bug in the FTP tool which would cause it to crash when cancelling connections at certain points in the process.
HTML Tools Fixes
-
Fixed a bug where the table tool wasn't inserting the summary attribute.
-
THEAD, TFOOT, TBODY now operate correctly.
-
Fixed the treatment of CHAR and CHAROFF in the Col/Colgroup dialog.
-
The caption tag is now dispatchable from "Edit Tag".
-
Fixed a bug in which caption attributes would be applied to the enclosing table.
-
Changed "Caption" to "Caption..." in the Table menu.
-
Fixed a bug in the table cell editor in which it wouldn't zero some attributes that should have been.
-
Fixed a bug in the TR editor in which ALIGN, CHAR, and CHAROFF weren't set properly.
-
Fixed a bug in the list item tool where it was transposing the settings for "Ignore Blank Lines" and "Indent Items".
-
Fixed a bug in the link checker which manifested itself during a single file ae invocation in which it would become confused about which file was being checked and thus report spurious errors and report errors in the wrong file.
-
Fixed a bug in URLAttrDialog (all tags with a url attribute use this) in which fully qualified urls into the local site weren't resolved properly.
-
Fixed a bug in Update Images in which fully qualified urls into the local site weren't resolved properly.
-
Fixed a bug where Update Site Images would fail with a -35 error.
-
Fixed a bug which made the link checker not check named anchors in external files properly if the host and target documents had the same name.
-
Fixed a glitch in the Apple Event dictionary where the return type for "check syntax" and "check links" was wrong.
-
You can now put https:// server roots in your HTML prefs.
-
The link checker will now check https:// style urls in the same way as it checks http:// urls.
-
Removed Frames from the 4.0 Transitional language table - you must use the "Frameset" DTD if you wish to use frames.
-
Pushed some code around to remove a bottleneck when checking links in a file with many many internal anchors.
-
when editing a table cl tag with no existing ROWSPAN or COLSPAN attributes, BBEdit would enter the previously specified values in the dialog.
-
All variants of the HTML 4.0 Language tables had COLGROUP marked as requiring a close element. This would cause an error cascade that lasted until the end of the table if you omitted the optional close element.
-
Fixed some logic in the syntax checker so that control character entities are reported in SCRIPT and STYLE but entities errors are not.
-
BBEdit now sends Preview apple events with no reply in order to avoid browser stupidity. This means if there was an error in the browser, it won't get reported by BBEdit.
-
error information for the HTML syntax checker, link checker, image updater, and document size tool are now generated using character offsets rather than line numbers, so that the text selected in error browsers is correct for soft-wrapped documents.
-
fixed a bug in the syntax checker that would cause multiple "attribute needs to be quoted" errors to be generated for a single erroneous attribute.
-
when the HTML updater tool reports an error, it will now be reported in the file in which the error occurred, not in the file at the top of the include chain.
-
effected an optimization, such that the "../../" placeholder is computed only once per file; this should yield better performance of the updater in situations involving files containing many "../../" placeholders.
-
the Index Document tool now strips markup out of the heading content before using it as the name for the named anchor; this prevents it from generating invalid HTML.
-
placeholders may now generate more than 255 characters of replacement text.
-
generated URLs may now exceed 255 characters.
-
fixed a bug in the HTML syntax checker in which it would report entity errors in the text contained inside of SCRIPT and STYLE tags.
-
fixed a bug in the text previewer in which it would sometimes leave part of a list tag in the resulting text.
-
fixed a hang in the text previewer that would occur when previewing HTML containing a list that wasn't properly closed.
-
fixed an activation bug in the Entities floater.
-
fixed a bug in the SGML parser which would cause it to get confused if it encountered something that looked like an SGML comment in the middle of an attribute value.
-
Fixed a bug in the table tool in which Label Cells was initially disabled in some instances where it should have been enabled.
-
fixed a bug in the Anchor dialog which caused the dynamic label for the Recent Items popup to not display correctly.
-
the "creationdate" and "creationtime" placeholders now generate the current date and time when used within untitled windows.
-
the "root" placeholder now inserts the path to the root directory, rather than the (previous and incorrect) template directory.
-
the "filename" and "localpath" placeholders now behave predictably in untitled documents.
-
fixed a bug in the list tool in which it would incorrectly handle blank lines mixed in with content.
-
made a change to improve the performance of the image tool by rebuilding the "current folder" popup menu only when necessary.
-
When creating a new APPLET tag the insertion point is left in between the opener and the closer.
-
Fixed a bug in which the final "/" in a folder path would be encoded when it shouldn't have been.
-
BBEdit no longer brings up the Image dialog when dropping a URL clipping (or any other kind of clipping, for that matter).
-
fixed a bug in the New Document tool in which it wasn't honoring the tag case preference when generating the BASE tag.
-
BBEdit now deletes preview temp files when it quits.
-
fixed bug in the New Document tool which would cause it to generate garbage and/or corrupt the Process Manager heap when applying a template to an existing document.