Boxer features a powerful macro language that provides access to all its editing commands, as well as functions for string manipulation, math, date and time, and much, much more … over 350 functions in all! Boxer's macro language supports variables, loops, conditionals, boolean logic and an extensive set of arithmetic operators.
Macros can be created 'by example' by typing command key assignments within Boxer's macro environment, or by writing the macro in Boxer's macro editor. Once defined, a macro can be assigned to any available key sequence or run from the Macro sub-menu. Several useful macros are supplied as examples, and users will no doubt share new macros via the Boxer support group.
The macro environment includes a debugger with automatic variable watch, breakpoints, single step, step to cursor, and more. It would be hard to overstate the additional power that macros bring to Boxer.
The macro facility is exhaustively documented in Boxer's help file, in the topics entitled “Macros,” “Macro Language Reference,” “Macro Function Reference” and “Macro Examples.”
The maximum file size that can be opened has been raised from 16 MB to 2 GB. The maximum size for opening a file in Hex Mode has been increased to approximately 480 MB.
Active Spelling: misspelled words can be optionally underlined as you type. Right-click on a misspelled word to see a list of possible corrections, or to Add the offending word to the user dictionary.
A new parameter has been added to Syntax Highlighting to determine whether or not (and how) the Active Spell Check feature should be used when editing program files:
Syntax Spell = 0 indicates that there will be no Active Spell Check when editing source files.
Syntax Spell = 1 indicates that comments and quoted strings will be checked.
Syntax Spell = 2 indicates that comments, quoted strings and normal text will be checked.
Syntax Spell = 3 indicates that normal text will be checked.
Project file support: create a project file for the set of currently opened files, applying command line option flags if desired to designate read-only status, hex viewing, cursor position, word wrap mode, etc. There are eight new editor commands related to project management: New, Open, Close, Edit, Delete, Add One, Add All and Remove.
Added the Paste As command, which enables other clipboard formats to be pasted into Boxer, such as HTML format, Rich Text Format (RTF), etc. The Paste As command also contains a clipboard viewer that allows clipboard data of various formats to be viewed before pasting.
The Find dialog has a new option to highlight all matches that result from a search. The matches will remain highlighted until a new search is performed. The color used to highlight the matches is configurable on the Configure|Colors dialog; the screen element is called 'Text Highlighting.' Highlighted matches can be quickly toggled on/off by using the View|Text Highlighting command. (Search terms that user regular expressions are not eligible for highlighting in this way.)
The Text Highlighting command has been added to the Configure menu. This features enables the user to designate any number of text strings for on-screen highlighting. This feature might be used to make table headings stand out, or to add emphasis to any class of words or phrases that might be desired. The highlighting strings are saved and restored from session to session. The color used to highlight the designated strings is configurable on the Configure|Colors dialog. Text Highlighting can be applied to normal text files, or to program files which are already being syntax highlighted. The highlighting of strings can be quickly toggled on/off by using the View|Text Highlighting command.
Add the Select without Shift command, which enables text to be selected without the need to hold down the Shift key. The selection is released with the Escape key.
The Align Left, Align Center, Align Right and Align Smooth commands will operate on a column selection so as to align the selected text as directed within the width of the columnar selection.
Important New Features
When loading a file containing Nulls, options are now provided to convert Nulls to a specified decimal character value, or to a specified character.
A -K option flag has been added to allow a keyboard layout file to be named from the command line.
A -R option flag has been added to allow files to be opened in read-only mode from the command line. -R causes the next-named file to be opened in read-only mode. -R might be useful in contexts where Boxer is being defined as an external file viewer.
A -M option flag has been added to allow macro files to be run at startup
Add a button to the File Open dialog that allows the current working directory to be set to the displayed directory.
Add a new sort option that allows lines to be sorted based on the occurrence of a user- specified string within them. For example: sorting on the string “@” could be used to isolate lines containing email addresses within tabular data.
Add an option to allow a file to be automatically reloaded when changed by another program, without the need to confirm before reloading. The option appears on the Configure|Preferences|Messages dialog page.
Add the Check Word command to quickly check the spelling of the word at the text cursor. Check Word is also available from the right-click context menu.
Add the following commands: Page Left, Page Right, Select Page Left and Select Page Right.
Add the Toggle Read-Only command to the File menu. This command duplicates the function available by double-clicking in the read-only panel of the status bar, but also provides a means to attach a keystroke to the function.
Add two new commands: Set Clipboard|Previous and Set Clipboard|Next. These commands make it possible to cycle through the clipboards sequentially with a single command.
Added the Left Window Edge and Right Window Edge commands to provide a means to move the cursor to either the left or right edge of the current window. These commands do not appear in the main menu, but key assignments can be made for these commands via Configure|Keyboard, is desired.
The number of places of precision in the calculator can now be set by the user.
The value in the calculator's memory will be remembered from session to session.
Command line option flags can now appear within Boxer's project files. This makes it possible to designate that a file be opened in read-only mode, to position the text cursor within a given file, etc. An outgrowth of this change is that filenames which contain embedded spaces must now be double-quoted within project files.
Display a panel showing the Command Line Option Flags when B -? is entered from a command line.
In Hex Mode, use the line number display region to display the hex offset values, rather than embedding these values in the file itself. This permits the limit for loading a file in hex mode to be raised by about 18%.
Recognize mailto extensions (email@example.com?subject=Boxer%20Order, eg) when double-clicking on an email address within a text file.
Three new parameters are available when defining User Tools: $CurDir current working directory $TmpDir Windows temporary directory $WinDir Windows directory
When defining a User Tool, the $Path macro can now be placed within the Working Dir field in order to specify a working directory.
When entering the custom File Open dialog, the directory of the current file will be added automatically to the Favorite Directories list in that dialog.
Added two new commands: Cascade Vertical and Cascade Horizontal
The maximum number of recent files which can be displayed in the File Menu has been increased from 8 to 16. (Use the option on the Configure|Preferences|File I/O dialog page to configure your personal setting.)
Boxer's clipboard commands will sense the type of text data being placed on the Windows clipboard and, when appropriate, use a more descriptive clipboard format to tag that data. For example, when Boxer senses that HTML code is being copied to the clipboard, the text will also be placed in the HTML clipboard format. This enables a conforming program to paste the data more intelligently. Boxer will also tag Rich Text data (RTF) and Comma-Separated Value (CSV).
A new menu-level command called View|Syntax Highlighting has been added. This command duplicates an option in Configure|Preferences to disable syntax highlighting, but makes the command more visible and assignable to a keystroke for easy on/off use.
Added support for more than 15 new languages in the latest Syntax.ini file
Add a 'More Options' button on the Spell Checker dialog to make it easier to check additional spell checking option on the Preferences dialog.
The Select Stream and Select Columnar commands have been added to the context menu.
A change has been made to the behavior of the Open Filename at Cursor command: if the file at the cursor does not exist in the current working directory, but does exist in the directory of the currently edited file, it will be opened from that directory instead.
Add a progress bar to show progress when loading/saving large files.
Large Delete Block operations have been made much faster.
Allow special characters within templates (^, ~, and |) to be inserted by using ^^, ~~ and ||.
Increase the maximum length of the Block|Fill with String input string from 20 to 512 characters.
Add a Save command to the context menu in the Window List dialog
Add extra descriptive text to the error message that occurs when the backup file cannot be created.
Add support for the new Czech spelling dictionary that has become available.
Allow single apostrophes to appear within email addresses.
Allow the Calendar's year to be set from an edit box on the Calendar dialog.
Allow the Delete key in the Window List dialog to Close files
Changes have been made to the Find command to permit proper matching of accented international characters in conjunction with the ignore case option.
Display a progress dialog when pasting large text blocks from the clipboard.
Don't indent empty lines when performing Indent-with-Space or Indent-with-Tab on a range of selected lines.
Fine tune some of the default Find Mate pairs for HTML
Guard against an FTP file listing with misaligned columns, as can occur on some remote systems when the file size exceeds the expected number of digits.
In the Configure|Templates dialog, the edit box will suggest the current template name when the Rename operation is selected.
Make sure that all occurrences of a duplicated tools macro are expanded when they appear in the Parameters field of a User Tool. (In the past, only the first two occurrences of the same macro were expanded.)
Optimize the display of filenames in the File Open dialog to make it a little faster.
Present a warning message when a Replace operation uses a search string that matches an empty string
Preserve sentence-ending double spaces that appear when a sentence ender precedes any of the following characters: "']}>)*_
Release resources from various dialogs when they are closed, and not when the application closes.
Remove the keys Ctrl+F4, Shift+Ctrl+F4, Ctrl+F6, Shift+Ctrl+F6 from the reserved keys list. Under Windows XP, these sequences are not assigned by the system as they were in other versions of Windows (to Close MDI Window and Next MDI Window).
The Block|Convert Case|Words command will capitalize words that appear within parentheses, single quotes, double quotes, etc.
The calculator will display leading zeroes on binary, octal and hexadecimal values, as may be appropriate, when switching among these bases. For example, when converting the hex value '3F' to binary, '00111111' will be displayed.
The Find Text in Disk Files dialog will suggest the word at the cursor — or the current selection — as the text to search.
The Increment and Decrement commands will preserve leading zeroes when asked to increment a value such as '001'.
The maximum lengths of the FTP username and password, and the proxy username and password, have been increased from 24 characters to 40 characters.
The Reformat command will not break a line in the middle of an ellipsis: . . .
Various drive combobox controls will now refresh their drive lists at drop-down-time to ensure that the most current volume label for any removable disks are displayed, and to make sure that any newly mapped network drives will appear in the list.
When a wildcard file specification is processed in the custom File Open dialog box, the entry will be fully selected to prepare for its possible deletion.
When an entry in the Favorite Directories list of the File Open dialog is found to no longer exist, it will be automatically deleted from the favorites list.
When displaying hexadecimal and binary values, the calculator will display small tick marks to help visually group the value into four-place groups.
When sorting by Type in the File Open dialog, the file entries will be sorted by Type and then by extension within the Type.
When spell checking the word at the cursor: if the word is all-caps, and the spell checker is configured to ignore such words in normal operation, override this configuration so that the word can be checked.
A 'Reset Ignored' button has been added to the Spell Check dialog so that the list of ignored words can be cleared.
Ensure that user is notified immediately (w/o waiting for focus change) if syntax.ini is being edited and is changed by Boxer itself via the Configure|Syntax Highlighting dialog.
The Find options for Incremental Search and Match Whole Words are logically incompatible, and are now not allowed to be simultaneously selected.
Size grip icons have been added to all dialogs and forms which can be resized
A checkmark will be displayed next to the current file when it appears within recent files list on the File Menu.
Boxer's supporting dialogs — as well as the standard Windows dialogs it uses — have been changed to use a smaller, more pleasing title bar.
Increase the maximum width of a filename that will be displayed in the File Menu's recent files list to 60 characters.
Add an option to Configure|Preferences|Display that dictates whether or not long filenames in the File/Project/Window menus will be shortened.
Add an option to warn on exit if the clipboard size exceeds a user-defined threshold.
The various Clipboard menu commands will display “<non-text data>” rather than “<empty>” when the clipboard contains data which is not in a text format.
The Edit|Edit Clipboard|Windows command will be disabled when the Windows clipboard contains non-text data.
The Edit|Clear Clipboard|Windows command is now enabled when non-text data is on the clipboard, providing a simple method to clear the clipboard.
If a command line such as “B -? file.txt&rdquuo; is used, allow the named file to be edited after the usage display is dismissed.
The Goto Line, Column and Offset commands will recognize a leading '+' or '-' for relative movement, and a trailing '%' for percentage movement.
Allow Escape to close the Configure | Keyboard dialog.
Add a hot letter for the File|FTP Open command.
Bugs and Quirks
'Cannot focus a disabled or invisible window' error could occur when returning to the Sort dialog after last using the Sort on Other Column option.
a Find Mate pair which contained an embedded underscore (such as: while=end_while) would not function properly.
An error would occur when OK was pressed after deleting a language from the Configure | Syntax Highlighting dialog.
an unassigned key sequence of the form Shift+Alt+Key would execute the command assigned to Shift+Key.
avoid unnecessary horizontal text shift when performing various block operations or indenting on columnar text selections.
when a PC was left on continuously for several weeks or months, the ability to select text was lost in certain environments.
when spell checking the word at the cursor, if other occurrences of the same word appeared earlier on the same line, the first occurrence would be mistakenly highlighted.
Calculator: Input to the factorial function was being restricted to values <= 13 when it should have permitted values up to 20.
Calculator: Precision/rounding errors have been fixed.
Calculator: Raising a number to the zero power reported the result incorrectly.
Clean up some minor issues with backward searches for regular expressions that were anchored to either the start or end of the line.
Configure|Keyboard would mistakenly report Alt+Up as a key that was in use by the main menu bar.
Email addresses that contained an underscore just before the at-sign were not properly recognized.
File Open dialog: an error would occur if Shift+Tab was pressed before pressing Tab on the 2nd, 3rd … visit to the dialog.
If an ampersand (&) appeared in a filename, it was not displayed in the file tab for that file.
if any of the Find, Replace, Find-and-Count or Find-Text-in-Disk-Files dialogs were used after changing the screen font, the edit boxes within these dialogs would use the foreground color of text in the editor proper for their font color. If that color was not black, poor contrast could result.
if Ctrl+L was assigned to certain commands, the result would be that the command would be executed along with a formfeed being inserted.
In Hex Mode, Visible Spaces were displayed with normal text coloration instead of visible spaces coloration.
In the Find/Replace/Find-Text-in-Disk-Files dialogs: ensure that when the combobox drop-down list is displayed, and the Escape key is pressed, that the drop-down list closes.
In the Page Setup Dialog, the last four entries in the Header/Footer Sequences dialog were inserted into the header or footer string without their closing '>' symbol.
Make a change that should reduce the chance of the underscore being invisible with certain font faces and sizes.
Reformat would not process a range of selected lines when the selection started with two or more blank lines.
The Favorite Dirs combobox in the File Open dialog could not be navigated from the keyboard.
Under certain circumstances, an error could occur when importing a Syntax Highlighting language definition.
Under some circumstances, the File Open file list would not update when the Files of Type combobox was changed.
When closing the application with Alt+F4, with files modified, the Yes-to-All option would only save the current file.
When pasting text from the clipboard which had been placed there in 'full lines' mode, the existing selection was not deleted before the text was inserted.
When the option 'Tab key inserts spaces, with tab stops determined from line above' was used, the Indent One Tabstop command mistakenly used Tabs instead of spaces.
When using Save As to save a read-only file, the Status Bar was momentarily out-of-date in showing the new file as read/write.
Window List: Pressing Tab or Delete while the Window List had focus would act on the current file, instead of within the Window List dialog.
adding a mixed case word to the Spell Checker's user dictionary would not prevent future occurrences of the word from being reported as suspect.
checking the File Properties for an open file that did not yet exist on disk could result in stray characters appearing in the Short Name field of the File|Properties dialog.
An access violation could occur if the Spell Checker was asked to check the spelling of a word longer than 50 characters.
ensure that the possessive form of a word is properly handled when it is added to the spell checker's user dictionary.
the Indent One Tabstop command, when accessed from the context menu, would act like the Indent One Space command.
Correct a bug in the ANSI Chart that could result in the Ctrl+Char column not being displayed on the second and future visits.
a line that began with an ellipsis (...) was being ignored during Paragraph Reformat.
under some circumstances, maximized windows would not be retained from session to session when the current window was an untitled file.
when Save As was used to save a file which was being edited in read-only hex mode, the new file retained its column-specific hex mode coloration, which conflicted with was incompatible with the new file being editable.
if a command line of the form “B -H hexfile.bin” was issued in an attempt to add a hex mode file to an existing editing session, the -H option flag was not properly processed.
The File|Close All command did not show the key assignment assigned to the Close All command using Configure|Keyboard. The assignment was being shown only in the (duplicate) Window|Close All menu entry.