SUPPORT : BBEdit : Archived Release Notes : BBEdit 8 Release Notes
BBEdit 8.1 Release Notes
This page documents all feature enhancements and bug fixes included in the BBEdit 8.1 feature update.
For information on changes made in previous versions of BBEdit, please see the release notes archive.
Requirements
BBEdit 8 requires Mac OS X 10.3.5 or later. This is necessary because 10.3.5 contains fixes for bugs which adversely affected the operation of BBEdit.
The folder previously known as "BBEdit Support" is now named "BBEdit" in the file system. To be clear:
~/Library/Application Support/BBEdit /Library/Application Support/BBEdit
If ~/Library/Application Support/BBEdit doesn't exist when the application starts up, this folder will be created for you and filled with the factory default examples.
NOTE: We specifically recommend that you do not simply rename "BBEdit Support" to "BBEdit", but that you instead copy over any additions that you have made to the factory "BBEdit Support" folder.
Additions
-
BBEdit now integrates with Subversion (http://Subversion.tigris.org/).
Prerequisites:
-
Subversion 1.1 or later installed in your PATH. (N.B. This is your GUI PATH, which is different than your shell PATH, and controlled via ~/.MacOSX/environment.plist)
Expert Note: If you need to install the svn tool outside of your PATH for some reason you can tell BBEdit where to find it by issuing the following in a terminal session:
defaults write com.barebones.bbedit Subversion:SubversionToolPathOverride /path/to/Subversion
-
A Subversion working copy which you checked out from the command line.
If your repository access method is file:// then no additional steps are necessary, but we recommend that you set up a Subversion configuration in the source control prefs for convenience (see description of Show Working Copy Status, Commit Working Copy, or Update Working Copy.)
If your access method is http://, https://, or svn://, and access to the repository requires authentication, you'll either need to
- let Subversion cache your credentials. As of this writing, this will happen automatically unless you specifically prohibit it by passing --no-auth-cache on the command line, or setting that as the default behavior in your Subversion configuration files.
- create a Subversion source control configuration in the preferences, and supply a username and password. (The password will be stored in the keychain.) NOTE that this will pass the username and password on the command line to the Subversion tool. This is visible to other users logged in to your machine. If you allow other users to log into your machine, this presents a security problem, and you should allow Subversion to cache the credentials as outlined in (a).
If your access method is svn+ssh://, then create a Subversion source control configuration in the preferences, and supply a username and password.
Expert Notes: If you already have an ssh-agent setup to work with GUI processes, it should also work here.
Command Line Integration:
The bbdiff tool can be used as an external diff tool with Subversion:
svn diff --diff-cmd bbdiff --extensions "--resume --wait" -rPREV <FILE>
or set diff-cmd in ~/.Subversion/config as appropriate.Commands:
For a detailed description of the available commands, please refer to Chapter 14 of the user manual (choose "BBEdit User Manual" from the Help menu).
-
-
There are two new menus that contain text factories.
"Apply Text Factory" in the text menu will apply the text factory to the current document.
The "Text Factory" menu in the menubar will run the text factory against its configured sources.
There is a "Text Factories" palette which lets you apply a text factory to the current document.
There is now a "Show Revision History" command on the P4 menu. (This is equivalent to p4 filelog.)
The scripting interfaces for Convert to ASCII, Educate/Straighten Quotes, Normalize Line Endings, Change Case, Zap Gremlins, and Entab/Detab, Sort Lines, Process Lines Containing, Process Duplicates, Add/Remove Line Numbers, and Prefix/Suffix Lines now accept strings as the direct parameter.
'#' is now allowed as a quoted line delimiter, which facilitates the use of "Rewrap Quoted Text" for comments in Perl and other Unix-y languages which use '#' as a comment delimiter.
-
"Find in Reference" now performs a search for the selected symbol on the Apple Developer Connection web site. Its behavior has also been tweaked to match that of Find Definition: if possible, the symbol name is determined by inspection around the insertion point, rather than requiring you to type the name in if there's no selection.
-
Commands on the CVS menu have been reorganized:
"Get CVS Status" has been renamed to "Show CVS Status"
"GetRevision History" has been renamed to "Show Revision History"
These commands are now in their own group (separated by dividers).
There is a new command on the CVS menu: "Show Annotation". It does a 'cvs annotate' on the target file.
The HTML tools, function scanner, and syntax coloring engine now treat "VB" as a synonym for "vbscript" for the benefit of those writing VB .Net pages.
When looking at a live HTML preview window (created by the "Preview in BBEdit" command), you can now get back to the document being previewed by clicking on the document icon button (second from the left) in the preview window, or by choosing the "Show Document" command on the Markup menu. (If you want to do this from the keyboard, use the "Set Menu Keys" command on the BBEdit menu to assign an equivalent.)
Command-Option-Double-Click for Find Selection makes its triumphant return.
The Open dialog contains a popup menu that lets you override your document opening preference for this operation. The choices are (default), Front Window, New Window, and Separate Windows. Front Window is disabled if the front window doesn't exist, or is blocked by a sheet.
Added --ignore-spaces as a shortcut to setting all three whitespace switches.
Restored the function scanner and syntax coloring for 68K Assembler. Apparently people use it for similar languages.
The "recent strings" popups now display a little more text, and the action of choosing one to insert the string into the appropriate field is now undoable (so if the popup isn't enough, you can examine the whole string).
-
The syntax for the open event has been enhanced to give scripters more control over where opened documents go (overriding the preferences on a case by case basis):
open aFileList opening in <value>
As in previous releases, <value> may be a reference to an existing text window. New for this release, value may be one of front_window, new_window or separate_windows, which overrides whatever your document opening behavior is and does the following:
front_window
Files in aFileList are opened in the front text window (if it does not exist, a new one will be created).
new_window
A new text window will be created and all files in aFileList will be opened into it.
separate_windows
Each file in aFileList is opened into its own text window.
-
The bbedit tool has three new flags which allow you to override, per invocation, your preferences for opening documents into multi-document or standalone document windows.
--front-window
opens the documents in the frontmost text window, creating one if necessary
--new-window
opens the documents in a new text window (1 for all arguments)
--separate-windows
opens each document in its own window
These flags are mutually exclusive - you should only specify one. The flags work when creating files and when piping to the tool, but are ignored for URL arguments.
-
The move scripting command is now supported for moving text documents between text windows. For example:
tell application "BBEdit" if (count of text windows) > 0 then select text window 1 repeat while (count of text windows) > 1 set ct to count documents of ¬ text window 2 repeat with i from 1 to ct move document 1 ¬ of text window 2 ¬ to text window 1 end repeat end repeat else beep end if end tell
(A copy of this sample script will be put in the default support folder for new installs.)
-
There is an expert preference to control the cvs tool used if you have special needs or "cvs" is outside of your GUI path:
defaults write com.barebones.bbedit CVS:CVSToolPathOverride /path/to/cvs/binary
-
There is an expert preference to control the p4 tool used if you have special needs or p4 is outside of your GUI path:
defaults write com.barebones.bbedit Perforce:PerforceToolPathOverride /path/to/p4/binary
There is an "Open in Separate Window" command in the view menu. It does the same thing for the active document that the same command does from the action menu in the drawer. (It should now be possible to reasonably use the multi-document feature with the drawer closed if you so desire.)
-
The preference in "Editing: General" for "Use Hard Line Numbering in Soft-Wrapped Views" controls whether BBEdit uses hard lines in:
- the line display
- for triple-click, select line, and line select in the linebar
The Documents Drawer's width is now scriptable.
P4 Compare Revisions now lets you compare back across integrations/branches.
Changes
When an operation requires your password, the prompt in the authentication dialog now includes a description of why the password is being requested.
The "search script" and "replace script" parameters to the "find" and "replace" events are no longer used, and so have been removed from the scripting terminology and internal implementation.
The "Text Options..." dialog has been modernized (and now runs as a sheet attached to the document's window).
The "Printing Options..." dialog has been modernized (and now runs as a sheet attached to the document's window).
The "Function Popup" preferences pane has been removed, and the three settings that were there have been moved into the "Text Status Display" preferences.
If 'Use "Hard" Lines in Soft-Wrapped Views' is turned on (Editing: General prefs), the cursor position display will now display the character position from the start of the hard line, rather than the start of the display line.
If you make a selection while holding down the Option key in a soft-wrapped document, the software will warn you afterwards that you need to turn off the "Soft Wrap Text" option in order to make a rectangular selection.
Deleted the placeholder items from the Recent Search Strings and Recent Replace Strings popups in the Find dialog.
The factory default for "Allow Documents Drawer to Acquire Keyboard Focus" has been changed to false.
The "Other..." item on the disk browser's directory popup now drops a sheet rather than using an application-modal file dialog.
The "Software Update" preferences pane now displays the URL that will be used when querying our software update server for version information.
The printing dialogs have been modernized, and are now document-modal ("sheets"). The application-specific printing settings can now be found under "Text Printing" in the Print dialog's popup menu.
Modernized the Recent Search Strings and Recent Replace Strings popups in the Find dialog.
When the selection range is empty, #! filters will process the entire document rather than an empty string. (This is consistent with how most transforms on the text menu work.)
-
Previously, Paste Previous Clipboard was only enabled if the previous operation was a paste. Beginning with this release, Paste Previous Clipboard will be enabled if any other clipboard in the ring is non-empty.
If the previous operation was a paste, Paste Previous Clipboard will replace that paste with the contents of the previous clipboard. If the last operation was not a paste, it will be an ordinary paste of the previous clipboard.
File Group windows' position and size are now left alone when using the "Arrange" command.
Refined the feedback presented when no (more) errors are found when using the spelling checker.
-
The Next/Previous document commands now work in MRU (most recently used) order. When closing a document, you will be taken to the most recently used document (previously you were taken to the next document in the list in the Documents Drawer).
This provides a user experience identical to that with documents in separate windows (where window z-order provided the MRU-like behavior).
-
Scripting change: document references
Previously, documents were indexed inside of multi-document windows by their display order in the Documents Drawer. This mean that document 1 of the application might not be the document that was being edited. This in turn required scripts to be revved for multi-document window awareness, and the introduction of the "active document of text window 1" construct.
The active document property is still supported, but it is no longer necessary. If a text window is frontmost,
document 1 of application "BBEdit" document 1 of text window 1 of application "BBEdit" active document of text window 1 of application "BBEdit"
now all refer to the same document. The side effect of this is that when accessing documents by index inside of a text window, a documents index is
- not its visual index in the Documents Drawer
- the index may change over time
This is no different than documents in standalone windows. Their index will drift over time as the document's window is selected or shuffled in the z-order of windows. (The one exception here is that if the windows are sufficiently spread out, you can determine the index by looking at the window z-order.) If you need a perma-reference to a document, us an id reference, not an index based reference.
-
The order of documents in the
- Documents Drawer
- navigation bar menu
- documents submenu of the window menu
is now either name order or creation order. It is controlled by the same preference which controls whether windows in the window menu/list are sorted by name or creation order.
The "Super Get Info" command has been renamed to "Open in Super Get Info" and has moved to the "View" menu.
The "Get Info" and "Reveal in Finder" commands have been relocated to the "View" menu.
The Next/Previous Document commands now wrap around (instead of stopping at the end of the list). The same is true of the next/previous buttons in the navigation bar.
The script menu once again does lightweight filesystem polling to pick up additions for the benefit of Script Debugger and Smile users (whose current versions don't do FNNotify when creating new files).
"Open in New Window" is disabled on the gear menu and removed from the contextual menu if there is only 1 document selected in the drawer (to avoid confusion about why the two commands do the same thing - they only do the same thing if the selection is a single item).
The factory modifier for P4 "Revert & Sync to Head" and "Revert & Delete" has changed from option to shift.
Prepositional changes to the P4 and CVS menus. "Compare To ..." has been changed to "Compare with ...".
Organizational changes to the P4 menu. A couple of commands have moved with respect to the previous release.
The "Narrow" width option in the HTML Palette preferences panel has been consigned to the dustbin of history.
The custom comment delimiters for HTML are honored when Un/Comment is called from the Text menu. (The HTML/XML specific hardwired comment strings and additional processing happens when using the HTML specific tool.)
When working with a CVS working copy from a repository that is accessed over SSH, BBEdit now works out of the box. To make it "work out of the box" create a Source Control configuration for your CVS working copy, check the "Use SSH" checkbox, and supply your password (which will be stored in the keychain).
"View Annotation" becomes "Show Annotation" in the P4 menu.
CVS Show Revision History now outputs to a new document (like the p4 and Subversion menus) rather than dumping to the log file.
The commands at the top of the CVS menu have been re-organized based on target (rather than action) similar to the Perforce and Subversion menus.
-
The following commands have been renamed for consistency with the Subversion menu and the CVS documentation:
"Update Folder" -> "Update Working Copy"
"Commit Folder" -> "Commmit Working Copy"
"Find Lurkers" -> "Show Working Copy Status" CVS "Get Revision" has been renamed to "Update to Revision" and now indeed does do an update. To preserve the previous functionality if your file has local modifications you are prompted whether you want to merge those modes (what 'cvs update' would normally do) or discard them and fetch the revision as is (what BBEdit previously did).
Emacs keybinding support is now on by default, the status display is now off by default.
Folders in the "Recent Folders" section of the sources list (used in the Find dialog and other places) are now sorted by name.
Fixes
Added a fallback handler for old-style styled-text clippings and clipboard elements that use font numbers internally. If a style range has a bogus font number that can't be resolved to a Unicode Mapping, the range will be converted to Unicode as though it were MacRoman (which may not be correct, but will at least preserve a one-to-one correspondence between the original bytes and the Unicode characters they are converted to).
Fixed a bug where kASAppleScriptSuite/kGetAETE would inappropriately show up in recorded scripts if BBEdit parsed its own terminology while script recording was in progress.
Fixed a bug where it was possible (but shouldn't have been) in some situations to close a window that was blocked by a sheet.
Fixed a bug in the Codeless Language Module function scanner that would allow it to go off into the weeds on occasion.
Fixed a bug where a stale beachball cursor was sometimes left behind after a compare revisions.
Fixed a bug which resulted in a stale hover state for the close widgets in the Documents Drawer and window list under certain conditions.
The emacs keybindings for scroll-up and scroll-down now move the insertion point as they do in emacs itself.
Fixed a bug where emacs kill line sometimes inappropriately appended to the clipboard in situations where it should have rotated the clipboard ring and started a new kill sequence.
Fixed a bug in the Emacs universal argument parser where, for example, Control-U 15 Control-N moved the cursor 6 lines instead of 15.
The behavior of dragging dock items from versions of DragThing later than 5.5.1 is once again equivalent to that of dragging them from the Finder.
Tweaked the UTF-8 to/from Unicode converters to more properly deal with "surrogate pairs".
Fixed a bug where the "This file has been moved or deleted" error text in the lower pane of browser windows wasn't scrolled into view if certain edge conditions were present. - The URL encoder properly handles Unicode surrogate pairs.
Fixed a bug which prevented Reveal Selection from working correctly in file group windows.
-
Fixed a bug in glossary expansion where #indent# was mishandled. If the glossary item had
#inline#xxx
and xxx was a valid token string it was incorrectly expanded, and the indent token ignored.
Tweaked the C++ function scanner so that qualified names of the form 'foo::bar' are recognized as such even if there are spaces on either side of the '::'.
Fixed a bug where glossary expansion didn't work correctly when presented with multiple #selstart# and #selend# placeholders. The first pair represents the selection range after inserting the glossary entries. Subsequent pairs are turned into placeholders which you can jump to with the commands on the Go To Next/Previous Placeholder commands on the Search menu.
Reinstated a previous fix for detecting leading whitespace before preprocessor directives in the C/C++ syntax coloring scanner and for similar situations in VBScript, only this time the fix was modified slightly so that it actually works.
The appropriate character escape sequences are substituted when displaying the annotation for a Search Results browser in the Window menu.
Changed the HTML syntax coloring scanner to treat '<?php' and 'type' and 'language' attribute values case-insensitively, even if the document language is XML.
Fixed a bug in which some commands on the Edit menu were inappropriately enabled when the search sources drawer had keyboard focus, and in which attempting to paste at that point would cause the application to crash.
Fixed a bug where changing focus between two split views didn't update the line highlight correctly.
Fixed a bug where scrolling a non-focused split view would cause the line highlight to be drawn inappropriately.
Fixed a bug where if the end of a selection were on a line boundary and you "shift-line-clicked" on a line preceding that boundary (including the line that the boundary ends), the end of the selection would erroneously be extended down one more line.
Fixed a bug where the "Open User Manual" command was enabled when a modal dialog was up, but selecting it didn't work.
Check for Update is disabled while modal dialogs are up.
Corrected a drawing glitch where clicking in the 2nd split pane when the drawer previously had focus would sometimes cause the clicked line to temporarily disappear.
Fixed a drawing glitch that would occur when clicking in the lower pane of a split-pane view with line-highlighting in a multi-document window and when the Documents Drawer has keyboard focus just prior to the click.
Fixed a bug which would result in an -8738 error when trying to save files using certain default editor fonts.
The single-file "Replace All" results reporting sheet now limits the amount of text it displays, so as to avoid situations in which the "OK" button would go off the bottom of the screen if either the search string, the replace string, or both were extremely long.
Fixed a bug in which the Disk Browser didn't work correctly with the Desktop folder in a FileVault-protected home directory.
When swapping documents in multi-document windows, the previously active split view is restored.
Fixed incorrect sorting of suffixes in the Languages prefs panel.
Fixed cosmetic bug in multi-file Find Differences results in which items in the "In Both" list were always underlined.
Fixed cosmetic bug in multi-file results lists in which turning off the "Show File Icons" option (in the Differences prefs) would set the wrong line height and cause descenders to get clipped off.
Fixed incorrect display of search results listings for a file that got deleted while the browser was still open.
Fixed a bug in display of non-Roman search string in the summary line of Search Results browsers.
Non-printing characters in the recent search and replace strings are now escaped before placing them on the menus in the Find dialog.
Non-printing characters in the search string are now escaped before display in the summary area of a search results browser.
Fixed a situation where -1708 would be returned when toggling edit options if the default character wrap width had been set to 0 in the preferences. (The factory default is used in this situation.)
The Clipboard window now honors the application settings for foreground and background color.
When running a Text Factory or doing a multi-file Replace All with the "Leave Open" option set, the application no longer activates each document that is modified.
Corrected the content model for <pre> in XHTML documents. (Specifically, span was incorrectly excluded.)
Fixed a bug in which the "Print Full Pathname" print setting wasn't honored.
-
Fixed a bug in which incorrect scripts of the form
tell application "BBEdit" tell container of selection delete startLine end tell end tell
would cause the application to crash.
Corrected the scripting terminology for
apply text factoryto allow specification of an "options" parameter for controlling whether results are shown and/or returned.Fixed a bug in which Open File by Name was inconsistently enabled when the list view of a { disk, results } browser window had keyboard focus.
Fixed a bug in the scripting interface in which escape sequences in search and replace strings (for the "find" and "replace" events) weren't handled properly, leading to failed searches.
Fixed a bug in which errors occurring during regular-expression searches weren't properly handled (or reported) during searching.
Fixed a highlighting glitch where if you inserted or deleted something to the left of a tab and then used shift-right-arrow to extend the selection to the tab and beyond, characters following the tab would sometimes mysteriously disappear.
The "Find Selection" command now records the selection in the Find dialog's history of recently used search strings.
Double-clicking on a single space (or tab) will now select it.
Fixed a scripting terminology problem where copying to new document wasn't handled correctly for
process lines containing.Fixed a bug in which leaving a required field blank in the HTML Web Site options dialog made it impossible to move the keyboard focus to another item in the dialog.
The CVS commands use the new revision picker dialog.
The p4 commands now use the new revision pickers.
More PHP keyword updates
Fixed a bug in which "Open Selection" would loop endlessly in certain conditions.
Fixed a bug where Un/Comment didn't correctly set the undo menu item name.
Fixed a bug where using the Tag Maker contextual menus for HTML or CSS didn't set the undo menu item name correctly.
Fixed a bug where setting the HTML preview mode from AppleScript didn't work correctly.
The presence of NULs in a document no longer interfere with Codeless Language Module operation. NULs in the Codeless Language Module Property List file are still not allowed.
Fixed option-shift-arrow behavior to properly respect the selection anchor when changing directions from up to down or vice versa.
The PHP syntax coloring scanner now ignores '?>' in PHP strings (including HEREDOC) and comments, even when the PHP in embedded in HTML.
PEToScrap now puts out a plain TEXT alternative to the Unicode it puts out using the system script rather than always using smRoman.
Fixed a bug in pref file creation where new preferences (not migrated) would get the application bundle as the default search path instead of the user's home directory.
Changed the substitution for per mille to conditionally include a space.
Home/End now correctly set the horizontal scroll position along with the vertical.
Added 'enum' to Java keyword list.
Fixed a bug where in certain situations if deleting the selection caused the linebar to shrink the text wasn't completely redrawn after scrolling.
Fixed numbering wraparound to a negative when adding line numbers with extremely large values. (Note that it's now possible to wrap around to small positive numbers instead, though either case is extremely unlikely to happen in nature.)
Fixed crash when adding line numbers with Keep Text Justified and starting with a number that was very close to 2^31.
The maximum number of recent items is now pinned to 0x80.
Adjusted the default suffix mappings for Object Pascal to remove ".ppu" and add ".pp".
Fixed a bug where the Paragraph tool's "Place Tags on Separate Lines" option wasn't honored when the selection range was empty.
Fixed a bug where after doing a multi-file diff, the original windows bounds of open documents wasn't restored.
A substantial reworking of the commenting code to address bugs.
Reworked the storage of recently used search & replace strings to avoid display glitches in the menu with non-Roman text.
Leading/trailing whitespace are trimmed off the query string before passing it to perldoc or pydoc.
Fixed a bug in the Emacs keybinding layer where M-< and M-> didn't work correctly if the editor preference for Home and End keys was set to "Move Cursor to Beginning and End of Current Line".
Fixed a bug in which BBEdit would crash if you tried to apply a Text Factory to an unsaved file group.
Fixed an ancient bug which would cause a crash when doing a Replace All using Grep which involved a generated replacement pattern of significant size.
Fixed a bug where saving (or otherwise rebuilding the list of documents in the Documents Drawer) had the side effect of scrolling the document list to the top, losing your visible range.
Tag Maker now lists the correct top level elements when editing a document fragment with a valid #bbpragma that provides a doctype and a root_element.
The name and id value in the input element editor are now separate.
Fixed a regression in which running #! scripts from disk browsers didn't work correctly.
Fixed a bug which would cause p4 edit to intermittently fail.
Fixed right-arrow stickiness that sometimes occurs after using command-up-arrow.
Made the button titles dynamic in the LineNumbers sheet.
Fixed a regression where applying softwrap state to a window on open would sometimes result in the vertical scrollbar becoming out of sync.
-
Fixed a bug in source control form windows and perl/python references windows where:
- inapplicable options were enabled in the text options dialog
- confirming the dialog resulted in a -1728 error
Fixed a bug where the "Open in Super Get Info" command failed for files on non-HFS volumes.
-
Fixed bugs in the system speller support which prevented BBEdit from working correctly with cocoAspell.
These were a result of incorrect/ambiguous system documentation on NSSpellChecker. Thanks to Anton Leuski for helping to sort this out.
N.B. Basic checking/suggestions now work with cocoAspell. Because of how BBEdit interacts with the spell checker, cocoAspell's filtering (TeX, for example) presently does not work.
When reloading a "Preview in BBEdit" window, the delta in vertical content size is now accounted for when picking the reload scroll position so that your "visible window" on the page is preserved.
Fixed a bug where P4->Show Opened would fail if a filename had special grep characters in it (like prefix.pch++).
-
The argument parser for the command line tool interpreted any argument starting with a + as a line number specifier. This has been relaxed such that only arguments of the form +[decimal digits] are treated as line number specifiers. This makes it possible to open files with names of the for +example without workarounds.
If you must open a file in the current directory whose name contains the string "+[decimal digits]", you must give its local or full path, e.g.
bbedit ./+1234
or
bbedit /full/path/to/+1234
Changed the wording for several Hex Dump items to Document (instead of Window)
Fixed a crash which would occur when executing a P4->Opened when a results browser with no selected items was frontmost.
The p4 commands which work on results browsers now work on all results browsers, not just those generated from
p4 openedFixed a bug where changing the name of an untitled inactive document via script didn't cause the Documents Drawer to update immediately.
Text scripting is now line feed agnostic. (Script Editor 2 puts \n in multi-line string literals. \r is the native in-memory format for BBEdit. The translation now happens automatically so the scripter doesn't have to do it.)
-
Fixed a bug where the following didn't work:
tell application "BBEdit" set l to line 1 of text window 2 tell text window 1 make new line at end with data l end tell end tell
Use
p4 fstatinstead ofp4 filelogto determine whether a file is under p4 control or not in the non-best guess case.-
Fixed a potential data loss bug where if you
- had multi-document window(s) open
- had dirty documents which weren't the active document in their window
- issued "Close All Windows", option-clicked the close box, or quit the application, choosing to save modified documents
the application would quit and discard unsaved changes in inactive documents in multi-document windows.
Fixed the bug reponsible for palettes not hiding around a diff when the diff was kicked off from bbdiff in the terminal.
If a Perforce operation fails because the server cannot be found, a dialog is presented in addition to dumping the error to the log file.
Emacs "move to end/beginning of line" now work on hard-wrapped lines, not on screen (soft-wrapped) lines, consistent with Emacs' behavior.
Emacs "kill line" works on hard-wrapped lines, consistent with Emacs' behavior.
Emacs "delete to beginning of line" works on hard-wrapped lines now, even when viewing as soft-wrapped.
Emacs "delete to end of line" works on hard-wrapped lines now, even when viewing as soft-wrapped.
Worked around an OS bug where if the temp directory was cleared (by a cron task or a helpful utility) while BBEdit was running, #! filters would cease to operate.
Fixed a bug where Exchange Characters would scramble the text display if certain pre-conditions were met.
Fixed a bug where the Documents Drawer would stop listing new documents.
Fixed a bug where "New with selection" was incorrectly enabled when the Documents Drawer had focus.
Scaled PICT files once again display properly in the built in pict viewer.
Fixed a pathological performance problem flushing the state file in certain situations.
Failure to invoke a subprocess because of too many arguments now results in a more user-friendly error message.
Typing in the alt field of the multi image drop dialog will automatically select the associated radio button.
The command line tools are now installed with explicit permissions (rather than copied and subject to the user's umask).
Worked around an OS bug which would cause a window to remain hidden after showing BBEdit if a certain sequence of steps had occurred before BBEdit was hidden. (N.B. Selecting the window from the Window menu or Windows Palette always caused it to re-appear.)
BBEdit no longer attempts to do authenticated reads of files on network volumes. A reasonable error code is once again returned when a read fails due to not having read permission of a file on a network volume.
Fixed a bug where closing a window or cycling through open windows would sometimes leave a stale/incorrect cursor.
-
Fixed a bug which caused the following sequence to not result with the document re-opened.
tell application "BBEdit" set f to file of document 1 close document 1 open f end tell
Fixed a bug where if Exchange Characters affected the syntax coloring runs, the range of affected text wasn't redrawn.
Return a coerced record from the Unicode to styled text coercion handler to avoid subsequent string concatenation failures in the script.
Reduced a substantial part of the overhead for large clipboard imports.
Fixed a bug where issuing the Copy command had the side effect of importing the clipboard (which introduced unnecessary overhead).
Fixed an obscure wrapping problem that sometimes occurred when printing using a font with embedded bitmaps (e.g. ProFont) and a font size that matched one of those bitmaps.
Smoothed out some issues for using non-roman text (via typing or the clipboard) in the HTML Markup tools dialogs.
-
Fixed a bug in ShellCommand which caused changes to our environment to get lost on the child side of a fork().
In real-life, this caused some Perforce menu items to malfunction when using $P4CONFIG files, and multiple repositories.
Renamed "Update" to "Update Document" in the main HTML palette to distinguish it from the "Update" popup below it for the non-discerning eye.
Fixed a problem where P4 submits would fail if the front window when the command was executed was not covered by a BBEdit Perforce configuration.
Fixed a bug where the code which made room for the Documents Drawer before opening (by sliding or resizing the window) would incorrectly move it to the main screen in 2-screen configurations.
P4 annotate documents start off initially clean (since you can regenerate the data) and get a reasonable title.
-
Fixed a regression where creating a document from script caused the initial name property to be ignored/overwritten:
tell application "BBEdit" activate set fname to "newdoc" make new text document in window 1¬ with properties {name:fname} end tell In HTML files with no meta charset declaration but which were saved as Unicode with a BOM, non-ascii characters are no longer flagged as needed entity encoding since the file is unambiguously Unicode.
Fixed a bug which caused the CVS Revision History not to be logged if the operation took long enough to show the progress dialog.
BBEdit doesn't try to read the Perforce password from the keychain unless it knows it to be non-empty.
Fixed a bug where "List Item" was acting like "List Items" instead of generating a single list entry.
Fixed a regression where if you canceled the dialog for "Do you want to unlock this file owned by someone else?", the document was still marked locked, but the underlying text view was set modifiable.
-
Fixed a bug in the XHTML 1.0 Strict language table which prevented you from using
<!-- #bbpragma doctype="-//W3C//DTD XHTML 1.0 Strict//EN" root_element="body" -->
Fixed a bug that would cause extraneous closing comment delimiters to be inserted at the end of a selection by Un/Comment Selection.
Fixed a bug where having a divider item in your glossary folder triggered a crash at quit.
Fixed a cosmetic bug in the glossary floater where the divider for the Universal Items set was drawn one slot too low.
Removed the deprecated #IC_EMAIL# updater placeholder from the example HTML files.
Fixed a bug in the results browser where after clicking on an entry representing a deleted file, the status bar would refuse to draw the path when subsequent entries were selected.
Remove the "More Info" button from the autoconfigure dialog rather than disable it when there isn't any more information.
Fixed a bug which caused the "File•Close Window" menu script not to fire.
The "wrap in comment" checkboxes are suppressed when editing an existing script or style element since they aren't applicable.
Cleaned up the message presented when dropping a language module file onto BBEdit or TextWrangler.
"Set Marker..." on the contextual menu works again
Fixed a bug in which the "file" property of the "recent file" class was not returned properly (it always pointed to the application executable's parent folder in the application package).
"Find Selection" is now enabled when there is no selection, and will do the right thing w.r.t. ctags lookup when chosen with the insertion point in a reasonable location (as when contextual-menu clicking).
When asking for the disk file of a document whose file has vanished underneath it, it will return an error instead of an alias to the non-existent file.
When doing a Replace All where the search and replace strings are the same length, there's no reason for the selection range to change, so it no longer does.
Option-left/right-arrow no longer eats stuff following a run of whitespace characters, with the exception of a run which is a single space char.
Corrected a performance regression where typing lagged in files with lots of functions if "Show Current Function" was turned on.
Fixed a bug in which Print All would print multiple copies of the active document in each multi-document window, rather than one copy of each document as it should have.
Fixed a bug in which the "grep substitution" scripting event wasn't correctly handled if it was inside of a tell block targeting something other than the application.
Fixed a bug where "Use Two Screens" was ignored by the difference window arranger if windows were being arranged on the smallest screen.
Fixed a bug where there was no stable secondary sort for windows or documents in a multi-document window. If an event triggered the list to be resorted, like-named objects may have swapped position relative to each other. This is no longer the case.
Fixed a bug in shell worksheets where if the subprocess generated lots of output very quickly (such as a program with a runaway loop), BBEdit would "hang" processing the output, making it impossible to kill the subprocess from within BBEdit.