Portable Editing
Boxer's installer provides an option to install to removable media,
such as a USB memory stick or a Secure Digital memory card. When run
from removable media, Boxer leaves no traces on the host machine on
which it is run. Such operation is possible because Boxer now writes
its preferences to a disk-based file called BOXER.INI which resides in
its data folder. This makes Boxer the perfect tool for portable,
on-the-go editing. (If you prefer that Boxer write its settings to
the Windows Registry, as was done in earlier versions, an option to do
so is provided.)
Hex/Binary Editing
Boxer can now edit hex/binary files up to almost 500 MB in size. Use
the File | Open Hex command -- or the -H command line option -- to
open a file for hex mode editing. The file will be displayed in a
two-part hex display, and editing can be performed by typing hex
values in the hex area, or by typing directly in the ASCII area at the
right of the screen. The context menu includes options to insert and
delete bytes, if you judge this to be safe for the type of file you
are editing.
The Find and Replace dialogs have been made hex-aware, and can be
used to search and/or replace in hex mode. Search and replace strings
can be supplied either as hex codes or as ASCII text strings. The new
Hex Ruler option can display a hex-graduated column ruler at the top
of the editing window.
Unicode Editing
Boxer can open and edit the most common Unicode file formats: UTF-8,
UTF-16 little endian and UTF-16 big endian. Once a Unicode file has
been opened for editing, it will be treated like any other text file,
and all editing operations are available for use on the file. If you
would like to change the file encoding of a Unicode file -- or change
an ASCII format file to Unicode format -- you can do so by visiting
the File Properties dialog.
Due to its roots as an 8-bit ASCII text editor, Boxer's does not
store Unicode files internally in 16-bit format. Rather, it converts
Unicode files to ANSI format as they are opened by mapping characters
onto the active Code Page. This enables Boxer to edit all Unicode
files that contain text that is 7-bit in nature (such as .REG registry
files, some XML files, Microsoft SQL files, etc.), as well as those
UTF-8 and UTF-16 files with multi-byte content that resides within a
single Windows code page. Boxer cannot be used to reliably edit
Unicode files with content that is drawn from several code pages (for
example, a file which contains text from many languages), or with
content not present in the active Code Page.
File Picker Window
The new File Picker command opens a manually dockable tool window
alongside Boxer that can be used to open files for editing. The File
Picker can remain open while Boxer is in use, making it easy to open
new files for editing whenever the need arises. The treeview
interface can display files from either the local PC or from PCs on
attached networks. The File Picker also contains logical entries for
"Desktop," "My Documents," and other conceptual locations on the local
PC.
The right-click context menu contains options to open the selected
file in its default application, or with an application of your
choice. Commands to Cut, Copy, Rename and Delete files are also
provided. Options are also provided to close the File Picker
automatically when a file is opened, and/or when Boxer itself is
closed. A list of recent directories from which files have been
opened is maintained in the Favorites list at the top of the File
Picker window. The Mask control permits the display of files to be
filtered to show only a particular class of files.
Vista Compatibility
Changes have been made to make Boxer fully compatible with Windows
Vista. When installed on Vista, Boxer will maintain its configuration
files in a separate "AppData" folder, apart from its installation
location in "Program Files." This is in accordance with Vista's User
Account Control (UAC) feature. You can quickly locate and explore
Boxer's program folder and data folder areas using two new commands
located on the Configure menu.
Multiple Configurations
One outgrowth of the use of a disk-based BOXER.INI configuration file
is that it makes it easier to maintain multiple configuration
profiles. By creating multiple installation areas, or by using the
new -I option flag to designate a configuration file on the command
line, you can maintain countless different Boxer profiles, each
configured for a different type of editing. This ability can also be
useful if two people who use Boxer are sharing the same PC.
Enhanced Project Support
Bookmarks, window sizes and positions, cursor location, active file,
tab stops, word wrap setting, hex editing mode, and file tab
arrangements are now preserved within project files. Two new commands
have been added to the Project menu: Update One and Update All provide
a means to update the active project to reflect the latest editing
options for the current file, or for all open files. If you prefer
that your project's options be kept up-to-date automatically, use the
new Auto-Update command. Each project is permitted to have a
different Auto-Update setting, if desired.
Drag and Drop File Tabs
Boxer now supports drag-and-drop File Tabs. To reorder the file tabs,
use the mouse to drag a file tab to a new location and drop it. When
an edit session is resumed, the position of the file tabs will be
maintained. The position of file tabs is also maintained within
project files.
Edit Files with Fixed-Length Records
The File Open dialog has a new option to impose a fixed-length record
format on the file being opened. As the file is read, line breaks are
added at the specified record length. This option is useful for
viewing or editing files that contain fixed-length data records and no
newlines. When the proper record size is entered, Boxer will display
the file in a meaningful format, with one record per line.
When the file is saved, line enders will be added. The File |
Properties dialog has an option to request that line enders be removed
when the file is saved.
Next Function and Previous Function Commands
Boxer includes two new commands that make it possible to move through
a supported source file function-by-function: Next Function and
Previous Function. These commands rely on the function indexing
performed by the Ctags Function Index feature.
Declaration and Reference Commands
The Declaration command jumps to the declaration of the function or
identifier at the text cursor. The Reference command returns the
cursor to the reference from which the last jump was made. These
commands also rely on the function indexing performed by the Ctags
Function Index feature.
Next Paragraph and Previous Paragraph Commands
The new Next Paragraph and Previous Paragraph commands make it easy to
move through a text file by paragraphs.
Option to Automatically Close Parenthetical Characters
A new option has been added to automatically close parenthetical
characters as they are typed, leaving the text cursor positioned
between the mating characters. The characters for which this option
will apply is also user-configurable.
Enhanced Auto-Complete Selection
The Auto-Complete feature has been enhanced to include hot numbers
within the popup list of suggested completion words. Instead of
cursoring into the pop-up list and pressing Enter on the desired
entry, now the desired word can be selected by simply pressing its hot
number. The display and recognition of hot numbers is optional, and
can be configured on the Configure | Auto-Complete Popup List
dialog.
More Reserved Words Groups, Symbols
Boxer 13 adds two more Syntax Highlighting reserved word groups,
bringing the number of groups that can be given unique coloration to a
total of five (5). Also: a second distinct group has been added for
Symbols, so that two distinct sets of symbols can be given different
coloration.
Alphanumeric Sort Mode
The sort dialog now has an Alphanumeric sorting option. In an
Alphanumeric sort, alphabetic sorting is used, except that embedded
strings of digits are sorted numerically. Example: an Alphabetic sort
yields:
a1
a11
a2
a22
… but an Alphanumeric sort gives:
a1
a2
a11
a22
New Macro Functions
All the new Boxer 13 commands have corresponding macro functions that
provide access to the command via the macro language. In addition,
these new macro functions have been added:
- BrowseForFilename() - browse for a filename and return the full file path selected by the user
- DisplayColumn() - returns the display column of the text cursor, with consideration to tabs
- GetDataDirectory() - retrieve the full path of Boxer's data directory
- GetProgramDirectory() - retrieve the full path of Boxer's program directory
- GetShortName() - retrieve the DOS 8.3 short filename that corresponds to a Windows long filename
- IsBookmarked() - return '1' if the supplied line number is a bookmarked line
- ProjectName() - return the full path of the name of the active project file
- ValueExists() - return true if the supplied macro variable storage name exists
System Info Display
A System Info panel has been added to the About box. The
System Info panel displays Boxer's program and data folders, the command
line that was used to invoke Boxer, and the path to the active INI file
or registry key. Other system-specific configuration information
is also displayed.
New "Jump" Menu on Main Menu
A new main menu entitled "Jump" has been added. It has been
populated with commands from other menus which fit there more
logically, and several new commands have been added to it as well.
Apply Highlighting Command
A new Apply Highlighting command has been added to the View
menu and to the right-click context menu. This command can be used to
add the word at the cursor, or the current text selection, to the list
of phrases highlighted by the Text Highlighting feature.
The Total and Average command can now be used on ranges of
numbers that include thousands separators. The data is analyzed to
determine what convention for the thousands and decimal separator is
in use. The format of the report is adjusted to reflect the format in
use. Also: Total and Average can be used on values that contain a
leading currency symbol.
A new option has been added to the File Properties dialog.
Remove all line enders when saving will be useful when creating a
fixed length record file whose format requires that it be free of all
line enders.
A new command line option flag: -F<value> imposes a fixed
record length on a file as it is read. When a line meets or exceeds
"value" length, a line break is inserted.
A Favorite Directories drop-down box has been added to the Find
Text in Disk Files dialog. This drop-down shares the favorite
directory list with that of the same drop-down box on the File Open
dialog.
Added an option to automatically open files containing null
characters in hex editing mode, avoiding the null character handling
dialog.
Added an option to control the default file encoding format
(ASCII, UTF-8 or UTF-16) for new files.
When the Find or Replace command locates a match near
the edge of the window, the window will be scrolled to show more
context around the match.
Added/improved various syntax highlighting layouts: C Sharp, Python,
ActionScript, Inno Setup, CSS, HTML, Perl, ASPX, NSIS, Latex,
Postscript.
Ctags: Several new languages are supported via entries in the
CTAGS.CNF file.
The default color scheme will use the system's color
palette for determining the colors of selected text. This will
provide provide a better out-of-box experience for blind users using
screen reader software.
The Spaces-to-Tabs and Tabs-to-Spaces commands will report the
number of conversions made during their operation.
Added the ability to number in any base (2-36) to the
Auto-Number dialog.
The Auto-Number dialog has a new option to restart numbering
from the starting value each time a sequence of one or more blank
lines are encountered.
Added a new header/footer substitution string, <pc>,
which can be used to insert the total page count for a print job into
any of the header or footer elements.
When in hex viewing or hex editing modes, the status bar's "Line"
and "Col" displays will be used to display the hex offset, and hex
column, respectively.
New command line option flag: B myfile.bin -OxFFEE. The -O
option can be used to position the text cursor to a designated byte
offset when a file is first loaded. Decimal and hexadecimal formats
are supported.
Added details about $0, $1, $2, and (?P=foo) Replace string
substitution sequences to the RegExp helper panel.
In View|Hex Mode, the Tab key can be used to toggle the cursor
between the equivalent characters in the hex and ASCII display areas
of the screen.
A new Make Line Center command has been added to the Jump menu.
Use this command to move the current line to the center of the
screen.
The "Center 5" key can now be sensed when Numlock is off, and
is available for reassignment in the Configure|Keyboard dialog. It is
recognized in a variety of shift states.
A "Match case" checkbox has been added to each of the various
"Delete Lines that …" commands on the Edit|Delete submenu.
The Left Window Edge and Right Windows Edge commands have been
added to the new Jump menu. In the past, these commands were
accessible only by shortcut key, and did not reside in the main
menu.
The Scroll Left and Scroll Right commands have been added to
the View menu. In the past, these commands were accessible only by
shortcut key, and did not reside in the main menu.
The Delete Lines that Begin/End/Contain commands have all been
enhanced to report during the confirmation stage the number of lines
that would be deleted by the operation.
The utility edit window used by various dialogs to edit lists
and strings is now resizable.
The GotoLine(), GotoColumn() and GotoByteOffset() macro
functions have been extended to also accept a string parameter in
place of the current integer parameter. This permits a string value of
the form "+100" to be supplied, in order to affect a forward movement
of 100 lines/columns/bytes. The integer argument is still accepted as
well.
The Find Text in Disk Files dialog will respect the option that
tells the File Open dialog to start in the directory of the current
file.
If the desktop area within Boxer's main window is
double-clicked, an empty/new file will be opened.
Allow link entries within FTP directory listings to be seen
and properly processed.
Syntax highlighting enhancement: display visible spaces, tabs
and newlines with the background color of the text element to which
they belong.
Syntax highlighting enhancement: display spaces within a
block comment using the background color of the comment
element, when it differs from the normal background color.
An option has been added to the Configure|Preferences|File I/O
dialog page to allow the File Open dialog to start in the directory of
the current file.
When a file contains over-length lines, and those lines are wrapped
during file read, mark the file as modified.
Ensure that typing or pasting while a columnar selection of one
or more characters in width is present acts the same as if the Delete key
had been explicitly used to delete the selection.
Allow Escape to cancel Help On mode.
The Spaces-to-Tabs command will no longer detab the text it is
processing before it adds tabs. This approach had made it possible for
certain tabs in the input text to be removed.
After Project|New, the new project file is not opened for editing,
but is saved to disk automatically.
The ViewColumnRuler macro function has been renamed to ViewTextRuler.
The OpenHexMode macro function has been renamed to OpenHex.
Make sure Window Previous and Window Next can move from a skipped window to
the last (lone) non-skipped window.
The Left Window Edge and Right Window Edge commands will extend the
selection if issued while a text selection is active.
Refine the logic for auto-scrolling the directory listbox in the File
Open dialog … do so only when the depth of directory travel
exceeds the number of directories which can be displayed.
Allow the Edit as List button in the Configure|Text Highlighting
dialog to be used, even when the phrase list is empty.
When the option to strip trailing blanks when loading a file is active,
mark the file modified if blanks are removed while loading.
When the option to warn that an edited file has been changed by
another program or process is turned off, Boxer will not become aware
when a file's read-only state has been changed from afar.
Provide a chance to abort a file open operation when two or
more files are being loaded and the option to open in read-only hex
mode is aborted.
Work around a longstanding Windows bug that causes maximized MDI (Multiple
Document Interface) windows to flicker when switching from window to window.
When the Macro dialog is displayed, ensure that the last-selected macro is scrolled
into view in the list of macros.
It was discovered that some registry cleaning programs were clearing Boxer's
registry key that pointed to the CTAGS.TXT configuration file, believing the key
to be out-of-date if the CTAGS.TXT file was not found on disk. The result of
this over-agressive registry cleansing was that Boxer would not be able to
located the Ctags directory, and would place its filelist.txt file in the
current directory instead.
Position jumped-to line near mid-screen for -L command line option.
make sure that strings of the form file://c:\dir\file.exe are properly highlighted.
Ensure that a LaTex symbol such as $a$ is not highlighted as a
hex constant.
Added tilde (~) as a valid character for URLs.
Ensure that previous entry in File Open dialog's edit box is
restored on the next visit.
Allow '-' within identifiers for purposes of displaying CTags
hints when hovering with the mouse.
Due to an internal compiler bug, if the Collate option on the Print
dialog was checked, and the printer had been changed from the default,
the checkbox was not being recognized as checked. When appropriate,
Boxer will now ask the user whether collation is desired in a
subsequent dialog box.
Under some circumstances, the various tool windows could appear at the
extreme upper left of the screen and sized too small, rather than
being at screen center and sized appropriately.
Typing an insertable character when a non-Power-Columns columnar
selection was present resulted in improper text insertion.
An error occurred if the command line "B -" was used.
Strip HTML Tags could delete the last two characters on the last line
that preceded the final tag.
When operating on a columnar selection, the Print and Print Preview
commands would omit the rightmost character in the selection.
The Print and Preview commands would treat a partial stream selection
on a single line as though the whole line was selected.
The calculator did not properly compute a sequence of the form: 2 *
<constant key> * 2 = where <constant key> was either pi, e, 1k or 16k.
Find Fast did not respect the Highlight All matches option of the Find
dialog if it was run before the Find dialog had been opened.
Sometimes the trigger key would need to be pressed twice to get a
user-defined Auto-Complete phrase to be inserted.
Under rare circumstances, the default keyboard layout could be
overwritten with an incomplete set of key assignments.
High ASCII characters were not processed properly while in Power
Columns mode.
The Auto-Close feature for HTML and XML tags did not work properly
when used in a keystroke recording.
Save All would not save all files when FTP files were open from
multiple hosts.
Auto Tag Close would misbehave if used in a split window configuration
when the cursor position in the second window differed from that of
the active window.
Block|Convert Other|Spaces to Tabs could convert some single space
runs to Tabs if they fell just before a tab stop.
If the Value at Cursor dialog was left on screen, and no files were
open for editing, closing and then resuming the session would result in an exception
error.
The options to turn off the Ctags Function Index feature were not
being honored in all cases.
Macro function ChangeStringREi() had an error that prevented it from
running.
An invalid line error could occur when using Delete Line if the line
below contained tabs.
Switching into Hex Viewing mode while Line Drawing was active would
cause the cursor to move erratically thereafter.
The calculator would fail when called from Boxer with a word/value at
the text cursor, if that word happened to start with a control
character, such as hex value 18.
Edit|Insert|Character had trouble decoding values that were entered in
hexadecimal formats.
Ensure that the proper context menu (Hex/Misspelled/Normal) is displayed
when it is summoned by its Shift+F10 default shortcut key.
Trap condition when pasting from Windows Clipboard could result in a line
that exceeds the maximum line length.
Trap condition when replacing line enders could result in a line that exceeds
the maximum line length.
Bookmark Manager did not always reflect stay-on-top checkbox state.
Make sure the horizontal scroll bar scale is kept up-to-date when editing
causes the length of the longest line to change.
Under certain circumstances, the popup list for Auto-Complete could appear, even
though it was configured not to appear.
An error occurred when using Edit|Paste Clipboard to paste from the clipboard,
if no files were open.
Correct a problem on some dual monitor configurations that caused a popup tool tip
to appear on the left monitor, when Boxer was positioned on the right monitor.
The macro function FastFrame() did not reflect the processing of the command
until an idle loop was hit.
Correct problem with Skip Window when right-clicking on an inactive file
tab.
The Goto Line/Column/Offset commands, when accessed via a macro, did not
properly reflect the sense of the "Extend Selection" checkbox on their
respective dialogs.