SUPPORT : BBEdit : Archived Release Notes : BBEdit 6.5.1 Release Notes
This page documents all feature enhancements and bug fixes included in the BBEdit 6.5.1 maintenance update.
See the 6.1.2 release notes for the fixes and improvements made in BBEdit 6.5.1.
blah blah blah
BBEdit now supports JSP (Java Server Pages, i.e. Java embedded in HTML). There is a new language in the language-selection popup (see the "Languages" preferences), "JSP". By default, the ".jsp" suffix binds to the JSP language; you may of course add your own suffix mappings (again, in the "Languages" preferences).
The behavior of Option-arrow keys in HTML documents has been modified for improved usability.
Word-left and word-right motion (usually Option-left-arrow or Option-right-arrow) will now behave differently if they are being used for the purposes of deleting. While deleting, they will only span a run of whitespace, a run of word chars, or a run of non-whitespace non-word chars.
The array of swiof switches for the Mac OS API reference in the "Tools" preferences has been replaced by a simpler scheme. The API reference application is now explicitly specified; it will be determined from your existing preferences if necessary, and may be changed using the "Set..." button or drag-and-drop.
If the "Use Mac OS X DeS X Developer Help" box is enabled and checked, -and- you are running on Mac OS X, then BBEdit will always hand off API lookups to the Mac OS X Developer Help Center, in preference to the specified application. Among other things, this makes life easier for anyone who spends time working in both Mac OS 9 and OS X.
Version 1.0.1 of the "bbedit" command-line tool now supports the "-w" argument: when used in conjunction with a single file, the tool will block until the file is closed within the BBEdit application. This allows version 1.0.1 of the "bbedit" tool to be used as an external editor for Unix tools that use the EDITOR global variable. To make this work, add the following line to your .tcshrc file:
setenv EDITOR "bbedit -w"When opening a file that contains no line-break characters (possibly because it's empty), BBEdit will use the preferred line-break setting (Text Files:Saving) instead of assuming the Mac line-break convention.
The #indent# cookie auto-indents to the indent level of the line that the insertion point is on, rather than to the insertion point itself.
The Preferences window has been rearranged and tweaked for better appearance when running on Mac OS X.
Twist lists use theme dinkers on 9 now.
All windows with push buttons in them now use the rounded-corner bevel button when running on Mac OS X.
The Preview as Text command is now scriptable. It isn't any smarter than the menu command itself - it previews the front document as text into a new untitled window.
Changed the wording in the Open dialog's type filter popup to be more consistent with Nav Services (they use the word "Documents" where we use "Files") and to be more clear about what will happen when you choose that item.
"All Available" is now called "All Readable Files".
"Any File" is now called "All Files".Better looking de-hierarchicalizer widget for the results list in both aqua and platinum.
Support for the Python command line debugger.
BBEdit no longer uses the .term files in the Unix Terminals folder. It will instead write out a .command file and open that with the Terminal. This causes the shell to use your default settings from the Terminal preferences when running/debugging the script. he shell closes when the process exits.
"CHDIR to script's folder" works for all script types on OS X.
Commands in the Palettes submenu now toggle the visibility of the selected palette. The check mark next to the menu item serves to indicate that the palette is currently visible, and serves as a visual cue to the user that choosing this item toggles its state.
The "Unix Tools" palette has been renamed to "Unix Scripting Tools" in the Palettes menu for clarity.
Modified the scripting dictionary to be less Perl-centric. The property names and verbs now have "unix" in their names but the explanatory text makes clear that they are dual purpose and will use MacPerl when running on 8.6 and 9.x.
The "CarbonLib too old" alert that the application presents now contains a "More Info" button which takes you to a technote describing the CarbonLib requirement and providing the means to download a CarbonLib installer.
If you have OSA Menu 1.2.2 or earlier installed, the application will warn you; the alert contains a "More Info" button which will point your Web browser to a technote describing the problem.
Bevel buttons now have rounded corners when running on Mac OS X. This prevents you from cutting your tongue when licking them.
When opening a large number of items at once, BBEdit will ask you to confirm the operation.
Fuzzy text in the clipboard status view. The string truncates when it is too wide for the window.
Floating palette lists now use a more legible font on Mac OS X.
When running on OS X, Python scripts can now be included and executed by the HTML includes processor. The calling convention is the same as that used for Perl includes. (NOTE: Such scripts get no special treatment when running on Mac OS 9, and will thus likely cause MacPerl to choke.)
Here is an example. There are probably better ways to write this in Python, but this should serve for purposes of illustration.
#!/usr/local/bin/python import os import string import sys print "Hello Python World!" print "===================" print print "File being updated: ", sys.argv[1] print userVariables = {} for i in range(2, len(sys.argv), 2): userVariables[sys.argv[i]] = sys.argv[i+1]; print print "Dumping the user variables passed to the script" print "===============================================" print keys = userVariables.keys(); keys.sort() for k in keys: print "%-30s %s" % (k, userVariables[k]) print print print print "Dumping the environment variables set by BBEdit" print "===============================================" print for k, v in os.environ.items(): if (string.find(k, 'BBEdit') == 0): print "%-30s %s" % (k, os.environ[k])"Get Revision" and "Cancel Checkout/MRO" will now send a "modified" event to CodeWarrior at the successful completion of the operation.
Fixes
Clicks in the web-safe color palette were generating short hex colors always. They should have only done this in CSS contexts.
Fixed bug in which doing a Replace All with Grep would sometimes cause an out-of-memory error (-108) to be reported if the replace operation made the text longer.
When opening a SimpleText file, the application will no longer attempt to soft-wrap it if the file exceeds the maximum file size that can be opened in SimpleText itself (32K). This resolves performance problems caused by attempting to soft-wrap very large files which got the SimpleText creator by default, e.g. server logs.
The edit fields in the Find dialog now use the foreground and background colors set in the "Text Colors" preferences. This yields more desirable results when using Grep syntax coloring with non-default foreground and background colors.
Disk Browsers get file icons correct in a lot more situations now (file packages, typeless files, folders without read privileges) at a small performance cost.
The application temporarily turns off the default button on OS X when simulating push buttons invoked from the keyboard to make it more obvious which button is being simulated. (The "stalled" throbber, depending on what point you are at in the throb cycle, looks very similar to the simulated button The system now does this for us automatically when tracking buttons).
Corrected the problem on 10.1 where switching focus away from a list view would leave 1 pixel of focus ring behind.
There were some 1 pixel hacks to deal with scroll bar metrics on 10.0.x. Of course, these metrics changed on 10.1. The scrollbars are all fixed now for 8.6/9.x and 10.1.x, though some cosmetic glitches may remain when running under 10.0.x.
Fixed a bug where Start/Stop recording didn't default the save location to the scripts folder.
Worked around Mac OS 9.2.2 misbehavior which imposed a delay when running scripts from the Script menu.
Twisters in hierarchical lists now highlight when they are the drop target on OS X.
Drag-and-drop boxes for applications now handle the case of bundled applications. (This fixes the problem where you could not drag bundled applications to the Script Editor file well in the Preferences, for example.)
Fixed a bug in sending unloaded floating tools Apple event messages.
Improved reverse Grep searching behavior.
Changed Emacs key handling to deal properly with dead keys like the French circumflex key.
Fixed crash which would occur when dragging an item in a hierarchical list over the disclosure dinker of its parent.
When using "Save to FTP Server" to make a copy of a local file, the FTP temp file was not being deleted after closing the saved document. Likewise, when using "Save to FTP Server" to save a copy of a file opened from an FTP server, neither the previous temp file nor the new temp file was being deleted. Both problems are now corrected.
The PHP function scanner now deals correctly with comments that fall immediately after a class or function declaration, but before the opening brace.
Fixed a bug where removing items from a search results list would leave the file count out of sync with reality.
We now use a more appropriate font on OS X in the Find dialog file well when viewing non-path data.
Fixed a bug in the rule set parser that was triggered by bogus CSS (which was really the case of a property with no associated value).
class { property; value; }Fixed a bug in the language guesser where it was doing a content-based guess even when there was a definitive clue available that the file was HTML/XHTML or CSS (in the form of an extension or explicit user-specified mapping). It now only does the content-based guess as a fallback. This fixes a bug where CSS contains a comment that otherwise looks like HTML.
The sort_lines.sh filter example didn't quote $1, which is necessary because the temp file has spaces in its path.
List Item now just wraps the selection with a single <li>selection</li>. List Items treats each none empty line in the selection as a list item and marks them up separately.
Status text below the color swatches in body properties dialog now drawn using theme text. Fuzzy-licious!
Same for the font markup dialog.
Same for the table/table row/table cell dialogs.
Fixed a regression in Interactive Shell Command where carriage returns were not being translated to line feeds as they were written to the pipe.
Corrected a bug in ShellCommand where exec failures were not reported at all. They are currently reported as Mac OS Error -600 procNotFound. This isn't strictly true, but better than no errors are all. We can review this in the future. The exec failure could happen for any reason. One that has come up in the field is you are executing shell commands you don't have (i.e. python).
Fixed a bug that caused running a filter to fail with an invalid shebang line error if you had the filter open in some window under the window to be filtered.
You can now command-drag windows around underneath a moveable dialog (this is convenient when you need to slide things around for drag and drop, etc.).
Made a change to the way key equivalents are handled in dialog boxes such that buttons don't lose their subtle font shadow the first time you show the key equivalent. If the button has to go into condensed mode to show the key equivalent you'll lose the font shadow for the life of the key equivalent, but it will return when the equivalent is hidden.
Fixed a bug in the window arranger which would cause sporadic behavior when doing a full arrange (the 4 quadrants icon).
Function key glyphs draw better on OS X (using the built-in glyphs rather than "by hand").
Corrected a double redraw flicker when creating dialogs.
Fixed behavior of text navigation keys in numeric dialog fields.
"Save a Copy to FTP Server" no longer twiddles the document state in order to do its work, and thus a number of cosmetic issues are resolved.
When extracting the file parameter for a Save operation, BBEdit will no longer fail when running on Mac OS X and handed an over-long file name:
tell application "BBEdit 6.5" save window 1 to ¬ "Mac OS X:Users:AdamSelene: ¬ this_is_a_very_long_file_name.txt" end tell
The code which runs startup and shutdown items is now smarter, and deals with invisible files, application bundles, and honors the preference for handling untyped files.
Corrected a bug in the Optimizer which could introduce syntax errors. The optimizer has the side effect of running several cleaners. The PageMill cleaner will turn <br><br> into <p> because that is the right thing to do for content that originated in PageMill; however, it is the wrong thing to do for arbitrary HTML, so that particular feature of the PageMill cleaner is now disabled during Optimize.
Invisible files were not being filtered out of the Toolserver menu or scripts list. Fixed.
Fixed drawing of long and Unicode file names in leaf nodes of results lists.
Set Menu Keys uses a more legible list font on OS X.
Hierarchical lists have their disclosure triangles follow the items on OS X, and they are left justified on Mac OS 9.
Changed the way emacs keybindings handle control keys. As a result, it now picks up C-_ instead of C--, and also now handles C-@ and C-^ to boot (even though nothing is currently assigned to them). Things that look like control keys aren't treated as such, even if the control key is being held down at the same time (e.g. C-DownArrow generates the same control code as DownArrow and both generate the same code as C-_, but only C-_ is treated as Emacs-Undo).
We previously suspected that Nav Services was broken for Choose Folder on OS X in that the default was to allow multiple files (which is different than 9) and it ignored the multi-files flag. Well, the default is broken but the multi-file flag is not, at least on 10.1.1, as I did wrong bit math. Fixed.
Fixed a bug on OS X in which our bit math was wrong when passing the multi-file flag to Nav Services for Choose Folder.
Fixed the incorrect window activation that resulted from the hide on suspend behavior of the clipboard window. We did this the old-fashioned way, which confused CarbonLib on Mac OS 9. Doing it the "modern" way works on CarbonLib 9 but results in different kinds of weird window activation on OS X. So (for today's oxymoron) we do it the modern way on Mac OS 9, the old-fashioned way on OS X.
Fixed a bug where option-click to "go here" was broken in the scrollbar in the entities list.
The perl/unix button palette is now the same width as the standard width of the HTML palettes.
Corrected support for the Win IE CSS booby trap.
Tweaked the URL encoder with respect to $.
Fixed incorrect CSS Tag Maker dispatch in style elements with no type.
Corrected the incorrect cascade collapse in the CSS markup tools and formatter:
h1 { color: green; color: blue !important; color: red; } h1 { color: green; color: blue !important; color: red !important; } h1 { color: white; color: green; }In the first example blue should remain. In the second, red. In the last, green.
The shebang extractor now allows whitespace between the #! and the path to the executable. Fixed a couple of latent bugs in path/executable extraction at the same time.
Worked around the problem where popups at the bottom of the screen were unusably small (after writing sample code and reporting it to apple).
I deleted an important line of code in menu.cp.
There was a bug where if you typed in an untitled window and had a specified window open and a search results browser open typing was very slow. This bug is no longer.
The Finder is now notified when creating or deleting files on Mac OS X (and on Mac OS 9, if appropriate).
Corrected the assertion that was generated when you chose a menu item with an attached script that didn't return a value from the menuselect handler. (In this situation the return value of false is implied.)
Corrected the root cause of the problem causing windows to go under the menubar when they were windowshaded and you did an Arrange. Changed the Arrange code to skip window shaded windows because it was determined to be the right thing for the UI to do.
Error dialogs now use the small system font on OS X for better readability.
The error dialogs now enable the copy menu item so you can copy the error message out of the dialog.
Fixed a bug in the honoring of line breaks in files with no line breaks for the case of Unicode line endings.
The situation could arise where if you turned on cursor position and current function and made your window really narrow you would lose the horizontal scrollbar. Fixed.
Removed the unnecessary code which was causing playing of QuickTime movies to take out the window server on OS X. This is a bug in the system and has been reported to Apple.
The default movie volume is too loud, so we cut it in half like we do for Super Get Info.
If you send lots of data at the shell worksheet in one whack BBEdit no longer hangs (but BBEdit is blocked from doing anything until it is able to finish writing the commands at the shell -- it will read the output and display it and scroll it into view as it is doing so but you are unable to use BBEdit for anything else during this time -- this may improve at some unspecified point in the future).
The minimum width of the differences window is now pinned such that all the information in the header can at least be drawn minimally.
Application-wide Apple Event and AE coercion handlers are set up as early in the application startup process as possible. This works around the crash caused by Entourage quitting and leaving a dangling system-wide TEXT->utxt handler which can then get fired by any prefs activity that takes place before our own handlers are in place.
In our LaunchApplication(), the result of the overloaded LaunchApplication() call was being discarded. If the application failed to launch for any reason, this would result in no error being returned. Among other things, this caused the Projector tools to hang with a non-cancelable indefinite progress dialog if the app happened to find a SourceServer that wouldn't launch.
The cursor position display is now a bit wider, and is now biased to make more space for the line number than for the column number. This makes it possible to view longer line numbers without truncation, particularly on Mac OS X.
The Un/Comment plug-in now has support for language (none)
The Un/Comment plug-in now does a better job of merging existing preferences and new app-defined languages.
Piping through the bbedit command-line tool when the GUI isn't up yet works again.
Theme-savvy image size reload button in the image dialog.
Fixed the bad grammar in the anchor frame syntax error message.
The CSS at rule parser and tool now allow for the optional whitespace and quotes as specified at http://www.w3.org/TR/REC-CSS1#url. The optional quotes aren't exposed to the user in the UI but are remembered and restored when the rule is rewritten.
Merged in a bunch of grammar and spelling tweaks to the HTML strings.
TextIsXML used to require a version string in the <?xml?> PI. It no longer is so strict (for parsed entity files the version string is optional) and the language guesser now recognizes these files as XML.
Scripts that are mapped to Python get no special treatment on Mac OS 9 and are run through the Perl code path. This is for historic consistency, where on Mac OS 9, any file was sent through MacPerl regardless of its language mapping.
Same thing for the scripts and filters menu.
Changed the wording of the HTML updater error for untyped files.
Clicking in the web safe color picker and dragging the color out are now consistent in the result they produce when the file was neither CSS nor HTML (HTML Rules are assumed in this case).
"Use Perl Debugger" and "Bring MacPerl to Front" should work reliably on Mac OS 9 and OS X when running unix/perl scripts.
Added Mozilla to the factory default browser list. (NOTE: This preference is not versioned. Anyone with pre-existing prefs files will still have to add a suitable entry to the list "by hand".
Added Mozilla to the internal preview dispatch table so it can be sent the most appropriate apple event based on creator.
Added Mozilla to the factory default file creator list.
Added support to the URL parser for usernames with a / in them.
Corrected the control background in the quick find window.
The Find Differences dialog now does the right thing with respect to the user's choice for mapping untyped files.
Fixed a bug in the CSS Text dialog where it wasn't writing changes to the selector back out on apply.
Fixed a bug where if BBEdit reported that the UI had truncated your URL, it would keep warning you until the application crashed.
Editing CSS rule sets with selectors longer than 255 characters failed. (The selector field would be empty and the apply button disabled.) This works correctly now on Mac OS X which doesn't have the same 255 character limitation for dialog edit fields. On Mac OS 9 the string is truncated for display, edit field locked, the user warned, and put back in its entirety when the user clicks the apply button. (If the warning dialog becomes problematic, or the fact that you can't replace the long string with a shorter one because the edit field is locked we can revisit this in the future.)
Index Document no longer generates invalid id attributes (it uses a synthetic number now).
Added the missing javascript keywords:
as debugger enum export is namespace use volatile.Balance Tags now follows the following rules:
- If the file has a recognizable doctype, use it.
- If the file has an declaration, use XML rules.
- If the file has no doctype and no XML declaration, use a doctype based on the value of the "Use XML Rules when ambiguous" pref.
This should make balance tags more flexible for people who work on document fragments.
The HTML formatter was changed similarly for like reasons.
Tag Maker wasn't honoring the "Use XML Rules when ambiguous" pref. Fixed.
The return inserted by command-return/enter in shell worksheets is now grouped undo-wise with the output.
When Find Lurkers/Check In Folder doesn't find any lurkers it says so instead of doing nothing/opening an empty results window.
Made the following changes to the HTML syntax coloring scanner when the language passed to it is XML (vice HTML):
- Names are handled case-sensitively, e.g., <A> is not the same as <a>.
- '_' and ':' are permitted as the first character of a name.
- '_' is allowed in tag names.
Also, if the language is XML and what appears to be a special tag name is found (e.g., <IMG... or <A...) but the next char later is found to be a '_', the whole tag is colored generically (e.g., instead of being IMAGE or ANCHOR colored).
Changed the syntax-coloring code to better handle the needs of TeX syntax coloring; one of the (desired) results of this is that TeX commands leading with backslashes are now properly colored.
Added a ton of new "keywords" for PHP.
Fixed a bug in the Objective C that would cause it to miss preprocessor directives immediately following an Objective-C '@end'.
Fixed a bug in the JavaScript function scanner that would cause the parser to hang if you had a '/' as the last character to be parsed.
Fixed crash which would occur if you hit Command-W while waiting for Dreamweaver to reload a file that you just saved in BBEdit. (This was generally very hard to reproduce, since you'd have to hit Cmd-S and Cmd-W in quick succession, and have an HTML file of sufficient size and/or complexity that it took Dreamweaver long enough to reload it.)
The Fortran function scanner handles double-quoted strings better than it used to.
When using "Save As..." to save a local copy of a file opened via FTP, the default file name is now the file's name as it is on the FTP server, not the name of the local temp file.
The FTP directory popup is now correctly constructed when a saved bookmark has a trailing slash.
Tweaked the HTML syntax coloring scanner so that the '?>' at the end of '<?xml?>' doesn't get missed.
Copy Path in the status bar now uses POSIX style paths on OS X.
Copy Path in the status bar, Window Info dialog, and copy file name in the status bar now do the right thing with long/unicode path names.
The path popup in the status bar how correctly displays long/unicode names.
Fixed the mojibake in the fonts list for non-roman font names.
#name# in the glossary now does something useful again on X (broken since 6.1.0 so I guess no one uses that cookie).
Fixed a bug in Clipboard copying where if you were doing a copy append (only allowable if the scripts match) and the text view you were copying from had a unicodiness different than the current clipboard, you would get the wrong data on the clipboard.
Python results browsers now bear the name "Python Errors" instead of "Perl Errors".
Corrected radio button spacing in the Startup prefs panel.
Corrected misaligned checkboxes in the Tools prefs panel.
Toggling the "Filter Images" checkbox in the current HTML Image dialog will cause the current folder popup to be rebuilt with the new filtering rules.
Choosing a new syntax coloring language of the Language popup is now recorded.
The HTML include engine now deals with typeless files correctly by honoring the text file opening preference for the application.
The HTML include engine now reports a better string when it can't include a file of 0 type, rather than saying the type is empty ('').
Made the entities floater the same width as the ascii floater (and the same minimum width as the others).
Fixed bug in the "Index" tool in which it would mis-index content when encountering a URL with an "id=" attribute.
The entity palette displayed garbage on Mac OS 9 (Japanese). Fixed.
Fixed flashing of hex color display at the bottom of the color MDEF.
When the CSS function parser encountered a parse error it would bail, not put any of the found elements in the function list, and cause the rest of the parsing process (for HTML if you were in an HTML document) to bail. Now when it encounters a parse error, it puts in the functions that it already found, and allows the parsing process to continue.
Fixed the incorrect processing of the #function# glossary cookie.
The code which installs the Apple event handlers for running Perl scripts and filters was placed into a conditional so that it only was executed on Mac OS 9. Fixed.
Tweaked the font used in the status bar popups on X. The line height isn't any bigger than it was before (so you still get as many functions displayed) but it is less fuzzy and overall more readable.
Fuzzy text in the web safe color picker floater on X.
Fuzzy text in the web safe color MDEF on OS X.
The path popup in the disk browser now supports long/unicode names.
Teal was missing from the CSS1 built-in colors list. This has been fixed, but we still think teal is ugly.
The Help Viewer in Mac OS X 10.1 works well enough that requests sent by "Find in Reference" can now find a symbol that exists in any developer help book, so now it does. :-)
When comparing one or more untitled windows, if you close one of them and then click on a difference, you will get a more useful error message than "no such volume".
Tweaked the Perl language guesser to allow "perl5" at the end of the command path.
Tweaked the shebang language guesser to allow whitespace between the shebang and the command path.
Various menus and commands are now suppressed when the application is started up with the Shift key down.
The ToolServer menu is again available on OS X (but will launch ToolServer in Classic).
The built-in language guessers limit the amount of text they examine, in order to limit the performance hit when opening a large file (such as a log file).
bbedit command-line tool now works with high-ASCII in the path name
bbedit command-line tool reports errors in a couple more failing cases than before.
bbedit command-line tool sends AppleEvents with kAECanInteract so the BBEdit GUI can report errors (like permissions) when it can't open a file passed off by the tool.
The floater snappiness threshold was wrong when moving vertically. Fixed.
Fixed a bug in the live view-resizer in which the view would get "stuck" away from the constraint, and not at the constraint itself.
The Prefix/Suffix Lines tool will now round the selection range to the nearest hard line boundary. This fixes a problem in which partial-line selections would cause the tool to eat text. Note that the new behavior will not work particularly well when the line in question is soft-wrapped; however, this tool isn't suitable for such files, use "Add Line Breaks" to make soft line breaks hard.
Fixed a couple of instances of the CSS markup tools where we used "inherited" but should have used "inherit".
Fixed a bug where changing the language from the langauge pop-up in a text view in a window that didn't have an associated document (browsers) didn't work.